/*

Based off glamor's StyleSheet, thanks Sunil ❤️

high performance StyleSheet for css-in-js systems

- uses multiple style tags behind the scenes for millions of rules
- uses `insertRule` for appending in production for *much* faster performance

// usage

import { StyleSheet } from '@emotion/sheet'

let styleSheet = new StyleSheet({ key: '', container: document.head })

styleSheet.insert('#box { border: 1px solid red; }')
- appends a css rule into the stylesheet

styleSheet.flush()
- empties the stylesheet of all its contents

*/

/*
     * Receive `sxInput` as object or callback
     * and then recursively check keys & values to create media query object styles.
     * (the result will be used in `styled`)
     */

/*
     Change the variables --radio-background-color, --radio-border-color,
     -radio-dot-color and -radio-dot-opacity according to user interactions.
     All other variables are constant
   */

/*
     The circle should be 14px * 14px centred in a 24px * 24px box.
     This is inclusive of a 2px border and inner circle with 2px radius.
     There is a Chrome bug that makes the circle become an oval and the
     inner circle not be centred at various zoom levels. This bug is fixed
     in all browsers if a scale of 14/24 is applied.
   */

/*
  This is just a junk drawer, containing anything used across multiple classes.
  Because Luxon is small(ish), this should stay small and we won't worry about splitting
  it up into, say, parsingUtil.js and basicUtil.js and so on. But they are divided up by feature area.
*/

/*
  options.target         - name of the target object
  options.global         - target is the global object
  options.stat           - export as static methods of target
  options.proto          - export as prototype methods of target
  options.real           - real prototype method for the `pure` version
  options.forced         - export even if the native feature is available
  options.bind           - bind methods to the target, required for the `pure` version
  options.wrap           - wrap constructors to preventing global pollution, required for the `pure` version
  options.unsafe         - use the simple assignment of property instead of delete + defineProperty
  options.sham           - add a flag to not completely full polyfills
  options.enumerable     - export as enumerable property
  options.dontCallGetSet - prevent calling a getter on target
  options.name           - the .name of the function if it does not match the key
*/

/*
 * @private
 */

/*
 * A utility for rendering a drag preview image
 */

/*
 * This file handles parsing for well-specified formats. Here's how it works:
 * Two things go into parsing: a regex to match with and an extractor to take apart the groups in the match.
 * An extractor is just a function that takes a regex match array and returns a { year: ..., month: ... } object
 * parse() does the work of executing the regex and applying the extractor. It takes multiple regex/extractor pairs to try in sequence.
 * Extractors can take a "cursor" representing the offset in the match to look at. This makes it easy to combine extractors.
 * combineExtractors() does the work of combining them, keeping track of the cursor through multiple extractions.
 * Some extractions are super dumb and simpleParse and fromStrings help DRY them.
 */

/*
 * |     | Unit                           |     | Unit                           |
 * |-----|--------------------------------|-----|--------------------------------|
 * |  a  | AM, PM                         |  A* |                                |
 * |  d  | Day of month                   |  D  |                                |
 * |  h  | Hour [1-12]                    |  H  | Hour [0-23]                    |
 * |  m  | Minute                         |  M  | Month                          |
 * |  s  | Second                         |  S  | Fraction of second             |
 * |  y  | Year (abs)                     |  Y  |                                |
 *
 * Letters marked by * are not implemented but reserved by Unicode standard.
 */

/*
 * |     | Unit                           |     | Unit                           |
 * |-----|--------------------------------|-----|--------------------------------|
 * |  a  | AM, PM                         |  A* | Milliseconds in day            |
 * |  b  | AM, PM, noon, midnight         |  B  | Flexible day period            |
 * |  c  | Stand-alone local day of week  |  C* | Localized hour w/ day period   |
 * |  d  | Day of month                   |  D  | Day of year                    |
 * |  e  | Local day of week              |  E  | Day of week                    |
 * |  f  |                                |  F* | Day of week in month           |
 * |  g* | Modified Julian day            |  G  | Era                            |
 * |  h  | Hour [1-12]                    |  H  | Hour [0-23]                    |
 * |  i! | ISO day of week                |  I! | ISO week of year               |
 * |  j* | Localized hour w/ day period   |  J* | Localized hour w/o day period  |
 * |  k  | Hour [1-24]                    |  K  | Hour [0-11]                    |
 * |  l* | (deprecated)                   |  L  | Stand-alone month              |
 * |  m  | Minute                         |  M  | Month                          |
 * |  n  |                                |  N  |                                |
 * |  o! | Ordinal number modifier        |  O  | Timezone (GMT)                 |
 * |  p! | Long localized time            |  P! | Long localized date            |
 * |  q  | Stand-alone quarter            |  Q  | Quarter                        |
 * |  r* | Related Gregorian year         |  R! | ISO week-numbering year        |
 * |  s  | Second                         |  S  | Fraction of second             |
 * |  t! | Seconds timestamp              |  T! | Milliseconds timestamp         |
 * |  u  | Extended year                  |  U* | Cyclic year                    |
 * |  v* | Timezone (generic non-locat.)  |  V* | Timezone (location)            |
 * |  w  | Local week of year             |  W* | Week of month                  |
 * |  x  | Timezone (ISO-8601 w/o Z)      |  X  | Timezone (ISO-8601)            |
 * |  y  | Year (abs)                     |  Y  | Local week-numbering year      |
 * |  z  | Timezone (specific non-locat.) |  Z* | Timezone (aliases)             |
 *
 * Letters marked by * are not implemented but reserved by Unicode standard.
 *
 * Letters marked by ! are non-standard, but implemented by date-fns:
 * - `o` modifies the previous token to turn it into an ordinal (see `format` docs)
 * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,
 *   i.e. 7 for Sunday, 1 for Monday, etc.
 * - `I` is ISO week of year, as opposed to `w` which is local week of year.
 * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.
 *   `R` is supposed to be used in conjunction with `I` and `i`
 *   for universal ISO week-numbering date, whereas
 *   `Y` is supposed to be used in conjunction with `w` and `e`
 *   for week-numbering date specific to the locale.
 * - `P` is long localized date format
 * - `p` is long localized time format
 */

/*
 Modernizr 3.0.0pre (Custom Build) | MIT
*/

/*
 TODO v6: remove
 Conditionally apply a workaround for the CSS transition bug in Safari 15.4 / WebKit browsers.
 */

/*
IE11 support
 */

/*
given a DOM element, return the list of all scroll parents, up the list of ancesors
until we get to the top window object. This list is what we attach scroll listeners
to, because if any of these parent elements scroll, we'll need to re-calculate the
reference element's position.
*/

/*
object-assign
(c) Sindre Sorhus
@license MIT
*/

/* #__PURE__ */

/* , ...args */

/* , ...arguments */

/* , ...items */

/* , base */

/* , fromIndex = 0 */

/* , init */

/* , initialValue */

/* , mapfn = undefined, thisArg = undefined */

/* , newTarget */

/* , position = 0 */

/* , that = undefined */

/* , thisArg */

/* , value */

/* .ASC */

/* .B100 */

/* .B50 */

/* .B75 */

/* .DndContext.Consumer */

/* .InputBaseComponent */

/* .InputBaseRoot */

/* .N10 */

/* .N300 */

/* .N40 */

/* .Retryer */

/* .Subscribable */

/* .alpha */

/* .cellStyles */

/* .checkDecoratorArguments */

/* .createEmptyBreakpointObject */

/* .createUnarySpacing */

/* .darken */

/* .fixedSizeTruncateStyles */

/* .focusManager.isFocused */

/* .getFormControlUtilityClasses */

/* .getIconButtonUtilityClass */

/* .getInputUtilityClass */

/* .getLogger */

/* .getPageRows */

/* .getPaperUtilityClass */

/* .getPath */

/* .getStyleValue */

/* .getTableCellUtilityClass */

/* .getToolbarUtilityClass */

/* .getTransitionProps */

/* .getTruncationStyleVars */

/* .getTypographyUtilityClass */

/* .handleBreakpoints */

/* .inputOverridesResolver */

/* .invariant */

/* .isAdornedStart */

/* .isFilled */

/* .isPlainObject */

/* .isRef */

/* .isRefable */

/* .isServer */

/* .lighten */

/* .noop */

/* .notifyManager.batch */

/* .onlineManager.isOnline */

/* .overflowTruncateStyles */

/* .reflow */

/* .removeUnusedBreakpoints */

/* .rootOverridesResolver */

/* .row.focusOutline */

/* .row.highlightedBackground */

/* .row.hoverBackground */

/* .row.hoverHighlightedBackground */

/* .scheduleMicrotask */

/* .shallowEqual */

/* .sleep */

/* .tableBorder.borderColor */

/* .tableRowCSSVars.CSS_VAR_HIGHLIGHTED_BACKGROUND */

/* .tableRowCSSVars.CSS_VAR_HOVER_BACKGROUND */

/* .tableRowCSSVars.CSS_VAR_HOVER_HIGHLIGHTED_BACKGROUND */

/* .truncationWidthStyles */

/* .useDefaultProps */

/* .useInsertionEffectAlwaysWithSyncFallback */

/* .useInsertionEffectWithLayoutFallback */

/* .validateSortKey */

/* .wrapConnectorHooks */

/* 24px * 7 / 12 === 14px height and width */

/* = width / sqrt(2) = (length of the hypotenuse) */

/* ASC */

/* B100 */

/* B200 */

/* B300 */

/* B400 */

/* B50 */

/* B500 */

/* B75 */

/* Border should multiply by 24/14 to offset scale, a scale of 12 / 7 is to fix a Chrome bug that makes the circle become an oval and the
     inner circle not be centred at various zoom levels */

/* Caption */

/* DESC */

/* DN0 */

/* DN100 */

/* DN30 */

/* DN300 */

/* DN400 */

/* DN60 */

/* DN600 */

/* DN70 */

/* DndContext */

/* DndContext.Consumer */

/* DndContext.Provider */

/* DragSourceMonitorImpl */

/* DropTargetMonitorImpl */

/* G100 */

/* G200 */

/* G300 */

/* G400 */

/* G50 */

/* G500 */

/* G75 */

/* Height and width should by 4px, multiply by 24/14 to offset scale */

/* InputBaseComponent */

/* InputBaseRoot */

/* LARGE */

/* LOADING_CONTENTS_OPACITY */

/* MSThemeColors.Background */

/* MSThemeColors.SelectedBackground */

/* MSThemeColors.Text */

/* Math.imul(h, m): */

/* Math.imul(k, m): */

/* Mutation */

/* N10 */

/* N100 */

/* N100A */

/* N20 */

/* N200 */

/* N20A */

/* N30 */

/* N300 */

/* N30A */

/* N40 */

/* N400 */

/* N50 */

/* N500 */

/* N60A */

/* N70 */

/* N700 */

/* N80 */

/* N800 */

/* N90 */

/* N900 */

/* Need to add overflow to the element with max-height, otherwise causes overflow issues in IE11 */

/* Need to remove default absolute positioning as that causes issues with position fixed */

/* Need to wrap layer in a fixed position div so that it will render its content as fixed
         * We need to set the intial top value to where the container is and zIndex so that it still
         * applies since we're creating a new stacking context. */

/* P100 */

/* P50 */

/* P500 */

/* P75 */

/* PaginationWrapper */

/* PopoverPaper */

/* R100 */

/* R300 */

/* R400 */

/* R50 */

/* R500 */

/* R75 */

/* React-Popper has already offset the menu so we need to reset the margin, otherwise the offset value is doubled */

/* Retryer */

/* SMALL */

/* SourceConnector */

/* Subscribable */

/* Sunday */

/* T100 */

/* T200 */

/* T75 */

/* Table */

/* TableBodyCell */

/* TableBodyRow */

/* TargetConnector */

/* This ensures the body fills the whole space between header and footer. */

/* This loop tries to diff using larger units first.
     If we overshoot, we backtrack and try the next smaller unit.
     "cursor" starts out at the earlier timestamp and moves closer and closer to "later"
     as we use smaller and smaller units.
     highWater keeps track of where we would be if we added one more of the smallest unit,
     this is used later to potentially convert any difference smaller than the smallest higher order unit
     into a fraction of that smallest higher order unit
  */

/* Timeout */

/* TouchRipple is only needed client-side, x2 boost on the server. */

/* TouchScrollable */

/* We only want to apply transform on modals shifting to the back of the stack. */

/* Y100 */

/* Y200 */

/* Y300 */

/* Y400 */

/* Y50 */

/* Y500 */

/* Y75 */

/* Z+1 */

/* ["default"] */

/* ["default"].Provider */

/* ["default"].disabled */

/* ["default"].error */

/* ["default"].focused */

/* ["default"].generate */

/* ["default"].paddingCheckbox */

/* alpha */

/* arrow.defaultColor */

/* arrow.selectedColor */

/* assertIsSortable */

/* bind */

/* bindAll */

/* binding */

/* cellStyles */

/* checkDecoratorArguments */

/* colon */

/* createDndContext */

/* createMuiTheme */

/* createPopper */

/* createStore */

/* createUnarySpacing */

/* createUnaryUnit */

/* darken */

/* decorateHandler */

/* default */

/* default.Provider */

/* default.configure */

/* default.disabled */

/* default.error */

/* default.focusVisible */

/* default.formControl */

/* default.inset */

/* default.multiple */

/* default.primary */

/* default.root */

/* default.secondary */

/* default.select */

/* default.selected */

/* dimensions */

/* dimensions.large */

/* dimensions.medium */

/* dimensions.small */

/* dimensions.xlarge */

/* duration */

/* easing */

/* empty */

/* ensureQueryKeyArray */

/* eslint-disable */

/* eslint-disable @atlaskit/design-system/ensure-design-token-usage */

/* eslint-disable @atlaskit/design-system/ensure-design-token-usage/preview,@repo/internal/styles/consistent-style-ordering */

/* eslint-disable @atlaskit/design-system/no-direct-use-of-web-platform-drag-and-drop */

/* eslint-disable @repo/internal/dom-events/no-unsafe-event-listeners */

/* eslint-disable @repo/internal/react/require-jsdoc */

/* eslint-disable @repo/internal/styles/no-exported-styles */

/* eslint-disable @typescript-eslint/ban-types */

/* eslint-disable @typescript-eslint/naming-convention */

/* eslint-disable @typescript-eslint/no-explicit-any */

/* eslint-disable consistent-return, jsx-a11y/no-noninteractive-tabindex */

/* eslint-disable es/no-array-prototype-indexof -- required for testing */

/* eslint-disable es/no-array-prototype-keys -- safe */

/* eslint-disable es/no-object-getownpropertynames -- safe */

/* eslint-disable es/no-symbol -- required for testing */

/* eslint-disable es/no-symbol -- safe */

/* eslint-disable no-bitwise */

/* eslint-disable no-fallthrough */

/* eslint-disable no-proto -- safe */

/* eslint-disable no-self-assign -- prototype methods protection */

/* eslint-disable no-underscore-dangle */

/* eslint-disable no-unused-vars */

/* eslint-disable prefer-template */

/* eslint-disable react-hooks/exhaustive-deps */

/* eslint-disable react-hooks/rules-of-hooks, react-hooks/exhaustive-deps */

/* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */

/* eslint-disable regexp/no-useless-quantifier -- testing */

/* eslint-disable-next-line @typescript-eslint/no-this-alias */

/* eslint-enable */

/* eslint-enable jsx-a11y/mouse-events-have-key-events */

/* eslint-enable no-self-assign -- prototype methods protection */

/* eslint-enable prefer-template */

/* fixedSizeTruncateStyles */

/* focusManager.isFocused */

/* focusManager.subscribe */

/* functionalUpdate */

/* getAbortController */

/* getContrastRatio */

/* getDecoratedComponent */

/* getDefaultState */

/* getInputBaseUtilityClass */

/* getInputLabelUtilityClasses */

/* getListItemTextUtilityClass */

/* getLogger */

/* getMenuItemUtilityClass */

/* getPageRows */

/* getPath */

/* getPopoverUtilityClass */

/* getSelectUtilityClasses */

/* getTextFieldUtilityClass */

/* getTransitionProps */

/* getTruncationStyleVars */

/* getValue */

/* global ActiveXObject -- old IE, WSH */

/* global Bun -- Bun case */

/* global Deno -- Deno case */

/* global Map:readonly, Set:readonly, ArrayBuffer:readonly */

/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */

/* global define */

/* globals self */

/* handleBreakpoints */

/* harmony default export */

/* harmony export */

/* harmony import */

/* harmony reexport (checked) */

/* harmony reexport (unknown) */

/* hashQueryKey */

/* hashQueryKeyByOptions */

/* head.textColor */

/* hslToRgb */

/* ignore */

/* import() | @atlaskit-internal_dynamic-table */

/* inlineStylesIfRanking */

/* inputOverridesResolver */

/* invariant */

/* isCancelable */

/* isCancelledError */

/* isFilled */

/* isFunction */

/* isPlainObject */

/* isRefable */

/* isServer */

/* isValidTimeout */

/* isValidType */

/* istanbul ignore else */

/* istanbul ignore if */

/* istanbul ignore next */

/* k >>> r: */

/* lighten */

/* margin */

/* matchMutation */

/* matchQuery */

/* mergeBreakpointsInOrder */

/* module decorator */

/* n */

/* noop */

/* notifyManager.batch */

/* notifyManager.batchCalls */

/* notifyManager.setBatchNotifyFunction */

/* notranslate needed while Google Translate will not fix zero-width space issue */

/* o */

/* onlineManager.isOnline */

/* onlineManager.subscribe */

/* overflowTruncateStyles */

/* padding */

/* parseFilterArgs */

/* parseMutationArgs */

/* parseQueryArgs */

/* partialMatchKey */

/* private_safeAlpha */

/* private_safeColorChannel */

/* private_safeDarken */

/* private_safeEmphasize */

/* private_safeLighten */

/* provided dependency */

/* reexport */

/* reexport safe */

/* reflow */

/* registerSource */

/* registerTarget */

/* reorderRows */

/* replaceEqualDeep */

/* resolveBreakpointValues */

/* rootOverridesResolver */

/* setLogger */

/* shallowEqual */

/* shallowEqualObjects */

/* sizes.small.slice */

/* tableBorder.borderColor */

/* that would be a BREAKING CHANGE!
// delaying sidecar execution till the first usage
const RequireSideCar = (props) => {
  // eslint-disable-next-line global-require
  const SideCar = require('./Trap').default;
  return <SideCar {...props} />;
};
*/

/* timeUntilStale */

/* truncationWidthStyles */

/* unused harmony default export */

/* unused harmony export CancelledError */

/* unused harmony export FocusManager */

/* unused harmony export NotifyManager */

/* unused harmony export OnlineManager */

/* unused harmony export TypographyRoot */

/* unused harmony export breakpointKeys */

/* unused harmony export clsx */

/* unused harmony export computeBreakpointsBase */

/* unused harmony export computeIndex */

/* unused harmony export hasValue */

/* unused harmony export sizeMap */

/* unused harmony export systemDefaultTheme */

/* unused harmony export useMemoOne */

/* unused harmony exports R200, P200, P300, P400, T50, T300, T400, T500, N60, N600, N10A, N40A, N70A, N80A, N90A, N200A, N300A, N400A, N500A, N600A, N700A, N800A, DN900, DN800, DN700, DN500, DN200, DN90, DN80, DN50, DN40, DN20, DN10, DN800A, DN700A, DN600A, DN500A, DN400A, DN300A, DN200A, DN100A, DN90A, DN80A, DN70A, DN60A, DN50A, DN40A, DN30A, DN20A, DN10A */

/* unused harmony exports __DO_NOT_USE__ActionTypes, combineReducers, legacy_createStore */

/* unused harmony exports difference, replaceAt, parseMutationFilterArgs, mapQueryStatusFilter, stableValueHash, partialDeepEqual, isPlainObject, isQueryKey, isError */

/* unused harmony exports globalStateClasses, isGlobalState */

/* unused harmony exports isClassComponent, isRefForwardingComponent */

/* useCallbackOne */

/* useDefaultProps */

/* useInsertionEffectAlwaysWithSyncFallback */

/* useRtl */

/* validateSortKey */

/* values */

/*!
  Copyright (c) 2015 Jed Watson.
  Based on code that is Copyright 2013-2015, Facebook, Inc.
  All rights reserved.
*/

/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */

/*#__PURE__*/

/**
             * Lazily initialized singleton
             * If doReset is set to true the memoized instance will be
             * discarded and a new one created.
             * */

/**
         *  **Goal**
         *  Pass information to other applications
         *
         * **Approach**
         *  Put data into the native data store
         *
         *  **What about the native adapter?**
         *  When the element adapter puts native data into the native data store
         *  the native adapter is not triggered in the current window,
         *  but a native adapter in an external window _can_ be triggered
         *
         *  **Why bake this into core?**
         *  This functionality could be pulled out and exposed inside of
         *  `onGenerateDragPreview`. But decided to make it a part of the
         *  base API as it felt like a common enough use case and ended
         *  up being a similar amount of code to include this function as
         *  it was to expose the hook for it
         */

/**
         *  📱 For Android devices, a drag operation will not start unless
         * "text/plain" or "text/uri-list" data exists in the native data store
         * https://twitter.com/alexandereardon/status/1732189803754713424
         *
         * Tested on:
         * Device: Google Pixel 5
         * Android version: 14 (November 5, 2023)
         * Chrome version: 120.0
         */

/**
         * 1. Must set any media type for `iOS15` to work
         * 2. We are also doing adding data so that the native adapter
         * can know that the element adapter has handled this drag
         *
         * We used to wrap this `setData()` in a `try/catch` for Firefox,
         * but it looks like that was not needed.
         *
         * Tested using: https://codesandbox.io/s/checking-firefox-throw-behaviour-on-dragstart-qt8h4f
         *
         * - ✅ Firefox@70.0 (Oct 2019) on macOS Sonoma
         * - ✅ Firefox@70.0 (Oct 2019) on macOS Big Sur
         * - ✅ Firefox@70.0 (Oct 2019) on Windows 10
         *
         * // just checking a few more combinations to be super safe
         *
         * - ✅ Chrome@78 (Oct 2019) on macOS Big Sur
         * - ✅ Chrome@78 (Oct 2019) on Windows 10
         * - ✅ Safari@14.1 on macOS Big Sur
         */

/**
         * @deprecated In most cases, this is no longer needed - unknown properties are now silently stripped.
         * If you want to pass through unknown properties, use `.passthrough()` instead.
         */

/**
         * @deprecated Use `.extend` instead
         *  */

/**
         * A text selection drag _can_ have the `draggable` element be
         * the `event.target` if the user is dragging the text selection
         * from the `draggable`.
         *
         * To know if the `draggable` is being dragged, we look at whether any
         * `"text/plain"` data is being dragged. If it is, then a text selection
         * drag is occurring.
         *
         * This behaviour has been validated on:
         *
         * - Chrome@128 on Android@14
         * - Chrome@128 on iOS@17.6.1
         * - Chrome@128 on Windows@11
         * - Chrome@128 on MacOS@14.6.1
         * - Firefox@129 on Windows@11 (not possible for user to select text in a draggable)
         * - Firefox@129 on MacOS@14.6.1 (not possible for user to select text in a draggable)
         *
         * Note: Could usually just use: `event.dataTransfer.types.includes(textMediaType)`
         * but unfortunately ProseMirror is always setting `""` as the dragged text
         *
         * Note: Unfortunately editor is (heavily) leaning on the current functionality today
         * and unwinding it will be a decent amount of effort. So for now, a text selection
         * where the `event.target` is a `draggable` element will still trigger the
         * element adapter.
         *
         * // Future state:
         * if(event.dataTransfer.getData(textMediaType)) {
         * 	return;
         * }
         *
         */

/**
         * Hiding any visible tooltips when a drag starts because otherwise it
         * looks janky (disappears and reappears), and is not required.
         */

/**
       * At this point we don't know if a drag is being cancelled,
       * or if a drag is leaving the `window`.
       *
       * Both have:
       *   1. "dragleave" (with `relatedTarget: null`)
       *   2. "dragend" (a "dragend" can occur when outside the `window`)
       *
       * **Clearing drop targets**
       *
       * For either case we are clearing the the drop targets
       *
       * - cancelling: we clear drop targets in `"dragend"` anyway
       * - leaving the `window`: we clear the drop targets (to clear stickiness)
       *
       * **Leaving the window and finishing the drag**
       *
       * _internal drags_
       *
       * - The drag continues when the user is outside the `window`
       *   and can resume if the user drags back over the `window`,
       *   or end when the user drops in an external `window`.
       * - We will get a `"dragend"`, or we can listen for other
       *   events to determine the drag is finished when the user re-enters the `window`).
       *
       * _external drags_
       *
       * - We conclude the drag operation.
       * - We have no idea if the user will drag back over the `window`,
       *   or if the drag ends elsewhere.
       * - We will create a new drag if the user re-enters the `window`.
       *
       * **Not updating `input`**
       *
       * 🐛 Bug[Chrome] the final `"dragleave"` has default input values (eg `clientX == 0`)
       * Workaround: intentionally not updating `input` in "dragleave"
       * rather than the users current input values
       * - [Conversation](https://twitter.com/alexandereardon/status/1642697633864241152)
       * - [Bug](https://bugs.chromium.org/p/chromium/issues/detail?id=1429937)
       **/

/**
       * Creates a disposable object that invokes the specified action when disposed.
       * @param {Function} dispose Action to run during the first call to dispose.
       * The action is guaranteed to be run at most once.
       * @return {Disposable} The disposable object that runs the given action upon disposal.
       */

/**
       * The minimal observable subscription method.
       * @param {Object} observer Any object that can be used as an observer.
       * The observer object should have a `next` method.
       * @returns {subscription} An object with an `unsubscribe` method that can
       * be used to unsubscribe the observable from the store, and prevent further
       * emission of values from the observable.
       */

/**
       * The pdnd `onDragStart()` fires in the frame after "dragstart"
       * So we are delaying our isDragging check to give a chance
       * for `onDragStart()` to set the value correctly.
       *
       * Note: could not use "pointercancel" as it is not
       * published in Safari → https://bugs.webkit.org/show_bug.cgi?id=222632
       */

/**
     *
     * @param {number[]|string|number} every
     * @param {{}} config
     */

/**
     *  Disposes all disposables in the group and removes them from the group but
     *  does not dispose the CompositeDisposable.
     */

/**
     *  Disposes all disposables in the group and removes them from the group.
     */

/**
     * @access private
     */

/**
     * @deprecated
     */

/**
     * @deprecated Use z.string().min(1) instead.
     * @see {@link ZodString.min}
     */

/**
     * @param {KeyboardEvent} nativeEvent
     */

/**
     * Applying max size CSS
     */

/**
     * Between Time Frames
     * @param {number} start - Start
     * @param {number} end - End
     */

/**
     * Checks if startDay and endDay follows calendar sequence.
     * else throws error.
     * @param startDay
     * @param endDay
     */

/**
     * Chrome has a bug that returns hour="00" when it's 12:00pm in certain languages
     * We fix it by detecting the real time with getHours method
     */

/**
     * Every Day
     */

/**
     * Every Day At
     * @param {number} hourOfTheDay - Hour of the day
     * @param {number} minuteOfTheHour - Minute of the Hour
     */

/**
     * Every Friday
     */

/**
     * Every Friday At
     * @param {number} hourOfTheDay - Hour Of the Day
     * @param {number} minuteOfTheHour - Minute of the hour.
     */

/**
     * Every Hour
     */

/**
     * Every Hour At
     * @param minuteOfTheHour - Minute of the hour.
     * @returns {string}
     */

/**
     * Every Minute
     */

/**
     * Every Monday
     */

/**
     * Every Monday At
     * @param {number} hourOfTheDay - Hour Of the Day
     * @param {number} minuteOfTheHour - Minute of the hour.
     */

/**
     * Every Month
     */

/**
     * Every Month on
     * @param {number} dayOfTheMonth - Day of the month
     * @param {number} hourOfTheDay - Hour of the day
     * @param {number} minuteOfTheHour - Minute of the hour
     */

/**
     * Every Saturday
     */

/**
     * Every Saturday At
     * @param {number} hourOfTheDay - Hour Of the Day
     * @param {number} minuteOfTheHour - Minute of the hour.
     */

/**
     * Every Sunday
     */

/**
     * Every Sunday At
     * @param {number} hourOfTheDay - Hour Of the Day
     * @param {number} minuteOfTheHour - Minute of the hour.
     */

/**
     * Every Thursday
     */

/**
     * Every Thursday At
     * @param {number} hourOfTheDay - Hour Of the Day
     * @param {number} minuteOfTheHour - Minute of the hour.
     */

/**
     * Every Tuesday
     */

/**
     * Every Tuesday At
     * @param {number} hourOfTheDay - Hour Of the Day
     * @param {number} minuteOfTheHour - Minute of the hour.
     */

/**
     * Every Wednesday
     */

/**
     * Every Wednesday At
     * @param {number} hourOfTheDay - Hour Of the Day
     * @param {number} minuteOfTheHour - Minute of the hour.
     */

/**
     * Every Week
     */

/**
     * Every Week At
     * @param {number} dayOfTheWeek - Day of the week
     * @param {number} hourOfTheDay - Hour of the day.
     * @param {number} minuteOfTheHour - Minute of the hour
     */

/**
     * Every WeekDay
     * @param {number|string} startDay - Starting day (Monday=1, Sunday=0)
     * @param {number|string} endDay - Starting day (Monday=1, Sunday=0)
     * @returns {string}
     *
     * @example
     * cronTime.everyWeekDay()
     *  // Monday to Friday
     * cronTime.everyWeekDay('sunday', 'thursday')
     *  // Sunday to Thursday
     */

/**
     * Every WeekDay At
     * @param {number} hourOfTheDay - Hour of the day
     * @param {number} minuteOfTheHour - Minute of the hour
     * @param {number|string} startDay - Starting day
     * @param {number|string} endDay - Ending day
     * @returns {string}
     */

/**
     * Every Weekend
     * @param {number|string} startDay - Starting day (Monday=1, Sunday=0)
     * @param {number|string} endDay - Starting day (Monday=1, Sunday=0)
     * @returns {string}
     *
     * @example
     * cronTime.everyWeekend()
     *  // Saturday and Sunday
     * cronTime.everyWeekend('friday', 'saturday')
     *  // Friday and Saturday
     */

/**
     * Every Weekend At
     * @param {number} hourOfTheDay - Hour of the day
     * @param {number} minuteOfTheHour - Minute of the hour
     * @param {number|string} startDay - Starting day
     * @param {number|string} endDay - Ending day
     * @returns {string}
     */

/**
     * Every Year
     */

/**
     * Every Year In
     * @param {number} monthOfTheYear  - Month of the year
     * @param dayOfTheMonth - Day of the month
     * @param hourOfTheDay - Hour of the day
     * @param minuteOfTheHour - Minute of the hour.
     */

/**
     * Every nth Days after
     * @param hoursOfDay
     * @param $minutesOfDay
     */

/**
     * Every nth Hour
     */

/**
     * Every nth Minute
     */

/**
     * Every nth Time
     * @return {EveryTime}
     * @param interval
     */

/**
     * Formats a number into a list of parts.
     * Uses `Intl.NumberFormat` when available.
     * @param  {number} number
     * @return {object[]}
     */

/**
     * Formats a number into a string.
     * Uses `Intl.NumberFormat` when available.
     * @param  {number} number
     * @return {string}
     */

/**
     * Formats time `number` in `units` (either in past or in future).
     * @param {number} number - Time interval value.
     * @param {string} unit - Time interval measurement unit.
     * @return {Object[]} The parts (`{ type, value, unit? }`).
     * @throws {RangeError} If unit is not one of "second", "minute", "hour", "day", "week", "month", "quarter".
     * @example
     * // Version 1 (deprecated).
     * // Returns [
     * //   { type: "literal", value: "in " },
     * //   { type: "day", value: "100" },
     * //   { type: "literal", value: " days" }
     * // ]
     * rtf.formatToParts(100, "day")
     * //
     * // Version 2.
     * // Returns [
     * //   { type: "literal", value: "in " },
     * //   { type: "integer", value: "100", unit: "day" },
     * //   { type: "literal", value: " days" }
     * // ]
     * rtf.formatToParts(100, "day")
     */

/**
     * Get Cron day string, with option of setting: `hourOfTheDay and minuteOfTheHour`
     * @param hourOfTheDay
     * @param minuteOfTheHour
     */

/**
     * Get cron hour String.
     */

/**
     * Get cron minute string.
     */

/**
     * Get the integer representation of day string.
     * @param {string|number} day
     * @return {number}
     * @example
     *  Helpers.dayToInt('sunday') // 0
     *  Helpers.dayToInt('monday') // 1
     */

/**
     * Get the integer representation of multiple day strings.
     * @param days
     */

/**
     * Gets localized labels for this type of labels.
     *
     * @param {(string|string[])} labelsType - Relative date/time labels type.
     *                                     If it's an array then all label types are tried
     *                                     until a suitable one is found.
     *
     * @returns {Object} Returns an object of shape { labelsType, labels }
     */

/**
     * If total number of rows / records have been passed down as prop
     * Then table is being fed paginated data from server or other sources
     * In this case, we want to respect information passed down by server or external source
     * Rather than relying on our computation based on number of rows
     */

/**
     * It is not normally acceptable to add click and key handlers to
     * non-interactive elements as this is an accessibility anti-pattern.
     * However, because this instance is to handle events on all children that
     * should be associated with the input, we can add role="presentation" so
     * that there are no negative impacts to assistive technologies.
     */

/**
     * It is not normally acceptable to add click and key handlers to non-interactive
     * elements as this is an accessibility anti-pattern. However, because this
     * instance is to enable light dismiss functionality instead of creating an
     * inaccessible custom element, we can add role="presentation" so that there
     * are no negative impacts to assistive technologies.
     */

/**
     * Mimicks what `Intl.RelativeTimeFormat` does for additional locale styles.
     * @param  {number} value
     * @param  {string} unit
     * @param  {object} options.labels — Relative time labels.
     * @param  {boolean} [options.future] — Tells how to format value `0`: as "future" (`true`) or "past" (`false`). Is `false` by default, but should have been `true` actually.
     * @return {string}
     */

/**
     * On Specific Days
     * @param {(string|number)[]} days
     */

/**
     * On Specific Days At
     * @param {(string|number)[]} days
     * @param {number} hourOfTheDay - Hour of the Day
     * @param {number} minuteOfTheHour - Minute of the hour
     */

/**
     * Parses out the # special character for the dayOfWeek field & adds it to options.
     *
     * @param {String} val
     * @return {String}
     * @private
     */

/**
     * Performing DOM measurements in the 'read' phase,
     * which is the convention for popper modifiers
     */

/**
     * Prevent tooltips from being shown during a drag. This can occur with
     * the native drag and drop API, where some pointer events can fire
     * when they should not and lead to jank with tooltips.
     */

/**
     * Prior to zod@1.0.12 there was a bug in the
     * inferred type of merged objects. Please
     * upgrade if you are experiencing issues.
     */

/**
     * Put a character in a string using position.
     * @param {number} position
     * @param {*} char
     * @param {string} str
     */

/**
     * Removes and disposes the first occurrence of a disposable from the CompositeDisposable.
     * @param {Any} item Disposable to remove.
     * @returns {Boolean} true if found; false otherwise.
     */

/**
     * Returns a new object with properties reflecting the locale and date and time formatting options computed during initialization of this DateTimeFormat object.
     * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat/resolvedOptions
     * @return {Object}
     */

/**
     * Returns an `Intl.PluralRules` instance.
     * @return {object} `Intl.PluralRules` instance
     */

/**
     * Returns an `Intl.RelativeTimeFormat` for a given `labelsType`.
     * @param {string} labelsType
     * @return {object} `Intl.RelativeTimeFormat` instance
     */

/**
     * Returns formatting rule for `value` in `units` (either in past or in future).
     * @param {number} value - Time interval value.
     * @param {string} unit - Time interval measurement unit.
     * @return {string}
     * @throws {RangeError} If unit is not one of "second", "minute", "hour", "day", "week", "month", "quarter".
     * @example
     * // Returns "{0} days ago"
     * getRule(-2, "day")
     */

/**
     * Returns formatting rule for `value` in `units` (either in past or in future).
     * @param {object} formattingRules — Relative time labels for different units.
     * @param {string} unit - Time interval measurement unit.
     * @param {number} value - Time interval value.
     * @param  {boolean} [options.future] — Tells how to format value `0`: as "future" (`true`) or "past" (`false`). Is `false` by default.
     * @return {string}
     * @example
     * // Returns "{0} days ago"
     * getFormattingRule(en.long, "day", -2, 'en')
     */

/**
     * The constructor of the discriminated union schema. Its behaviour is very similar to that of the normal z.union() constructor.
     * However, it only allows a union of objects, all of which need to share a discriminator property. This property must
     * have a different value for each object in the union.
     * @param discriminator the name of the discriminator property
     * @param types an array of object schemas
     * @param params
     */

/**
     * The following `useImperativeHandle` hook exists for the sake of backwards compatibility.
     * This component used to be a class component which set the value of the `ref` prop to object with the properties and value as below.
     * This has lead to slightly odd usage of refs with this component, e.g. `myRef.current.select.select.controlRef` instead of just `myRef.current.select.controlRef`
     * In the next major release, this should removed and the ref should be passed directly to the wrapped component (given users have updated usage)
     * More info https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/pull-requests/88021/overview
     */

/**
     * This `theme` object needs to follow a certain structure to
     * be used correctly by the finel `CssVarsProvider`. It should have a
     * `colorSchemes` key with the light and dark (and any other) palette.
     * It should also ideally have a vars object created using `prepareCssVars`.
     */

/**
     * This span exists to off-load animations from the circle element,
     * which were causing performance issues (style recalculations)
     * on Safari and older versions of Chrome.
     *
     * This can be removed and styles placed back on the circle element once
     * Safari fixes this bug and off-loads rendering to the GPU from the CPU.
     */

/**
     * Validates whether the given object is a disposable
     * @param {Object} Object to test whether it has a dispose method
     * @returns {Boolean} true if a disposable object, else false.
     */

/**
   *  🦊 In firefox we can get `"pointermove"` events after the drag
   * has started, which is a spec violation.
   * The final `"pointermove"` will reveal where the "depressed" position
   * is for our honey pot fix.
   */

/**
   * "Set" the DateTime's zone to UTC. Returns a newly-constructed DateTime.
   *
   * Equivalent to {@link DateTime#setZone}('utc')
   * @param {number} [offset=0] - optionally, an offset from UTC in minutes
   * @param {Object} [opts={}] - options to pass to `setZone()`
   * @return {DateTime}
   */

/**
   * "Set" the DateTime's zone to specified zone. Returns a newly-constructed DateTime.
   *
   * By default, the setter keeps the underlying time the same (as in, the same timestamp), but the new instance will report different local times and consider DSTs when making computations, as with {@link DateTime#plus}. You may wish to use {@link DateTime#toLocal} and {@link DateTime#toUTC} which provide simple convenience wrappers for commonly used zones.
   * @param {string|Zone} [zone='local'] - a zone identifier. As a string, that can be any IANA zone supported by the host environment, or a fixed-offset name of the form 'UTC+3', or the strings 'local' or 'utc'. You may also supply an instance of a {@link DateTime#Zone} class.
   * @param {Object} opts - options
   * @param {boolean} [opts.keepLocalTime=false] - If true, adjust the underlying time so that the local time stays the same, but in the target zone. You should rarely need this.
   * @return {DateTime}
   */

/**
   * "Set" the DateTime's zone to the host's local zone. Returns a newly-constructed DateTime.
   *
   * Equivalent to `setZone('local')`
   * @return {DateTime}
   */

/**
   * "Set" the locale and/or numberingSystem.  Returns a newly-constructed Duration.
   * @example dur.reconfigure({ locale: 'en-GB' })
   * @return {Duration}
   */

/**
   * "Set" the locale, numberingSystem, or outputCalendar. Returns a newly-constructed DateTime.
   * @param {Object} properties - the properties to set
   * @example DateTime.local(2017, 5, 25).reconfigure({ locale: 'en-GB' })
   * @return {DateTime}
   */

/**
   * "Set" the locale. Returns a newly-constructed DateTime.
   * Just a convenient alias for reconfigure({ locale })
   * @example DateTime.local(2017, 5, 25).setLocale('en-GB')
   * @return {DateTime}
   */

/**
   * "Set" the values of specified units. Return a newly-constructed Duration.
   * @param {Object} values - a mapping of units to numbers
   * @example dur.set({ years: 2017 })
   * @example dur.set({ hours: 8, minutes: 30 })
   * @return {Duration}
   */

/**
   * "Set" the values of specified units. Returns a newly-constructed DateTime.
   * You can only set units with this method; for "setting" metadata, see {@link DateTime#reconfigure} and {@link DateTime#setZone}.
   *
   * This method also supports setting locale-based week units, i.e. `localWeekday`, `localWeekNumber` and `localWeekYear`.
   * They cannot be mixed with ISO-week units like `weekday`.
   * @param {Object} values - a mapping of units to numbers
   * @example dt.set({ year: 2017 })
   * @example dt.set({ hour: 8, minute: 30 })
   * @example dt.set({ weekday: 5 })
   * @example dt.set({ year: 2005, ordinal: 234 })
   * @return {DateTime}
   */

/**
   * "Set" this DateTime to the beginning of a unit of time.
   * @param {string} unit - The unit to go to the beginning of. Can be 'year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', or 'millisecond'.
   * @param {Object} opts - options
   * @param {boolean} [opts.useLocaleWeeks=false] - If true, use weeks based on the locale, i.e. use the locale-dependent start of the week
   * @example DateTime.local(2014, 3, 3).startOf('month').toISODate(); //=> '2014-03-01'
   * @example DateTime.local(2014, 3, 3).startOf('year').toISODate(); //=> '2014-01-01'
   * @example DateTime.local(2014, 3, 3).startOf('week').toISODate(); //=> '2014-03-03', weeks always start on Mondays
   * @example DateTime.local(2014, 3, 3, 5, 30).startOf('day').toISOTime(); //=> '00:00.000-05:00'
   * @example DateTime.local(2014, 3, 3, 5, 30).startOf('hour').toISOTime(); //=> '05:00:00.000-05:00'
   * @return {DateTime}
   */

/**
   * "Set" this DateTime to the end (meaning the last millisecond) of a unit of time
   * @param {string} unit - The unit to go to the end of. Can be 'year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', or 'millisecond'.
   * @param {Object} opts - options
   * @param {boolean} [opts.useLocaleWeeks=false] - If true, use weeks based on the locale, i.e. use the locale-dependent start of the week
   * @example DateTime.local(2014, 3, 3).endOf('month').toISO(); //=> '2014-03-31T23:59:59.999-05:00'
   * @example DateTime.local(2014, 3, 3).endOf('year').toISO(); //=> '2014-12-31T23:59:59.999-05:00'
   * @example DateTime.local(2014, 3, 3).endOf('week').toISO(); // => '2014-03-09T23:59:59.999-05:00', weeks start on Mondays
   * @example DateTime.local(2014, 3, 3, 5, 30).endOf('day').toISO(); //=> '2014-03-03T23:59:59.999-05:00'
   * @example DateTime.local(2014, 3, 3, 5, 30).endOf('hour').toISO(); //=> '2014-03-03T05:59:59.999-05:00'
   * @return {DateTime}
   */

/**
   * "Sets" the start and/or end dates. Returns a newly-constructed Interval.
   * @param {Object} values - the values to set
   * @param {DateTime} values.start - the starting DateTime
   * @param {DateTime} values.end - the ending DateTime
   * @return {Interval}
   */

/**
   * @access private
   */

/**
   * @deprecated use fromFormat instead
   */

/**
   * @deprecated use fromFormatExplain instead
   */

/**
   * @param {(string|string[])} [locales] - Preferred locales (or locale).
   * @param {Object} [options] - Formatting options.
   * @param {string} [options.style="long"] - One of: "long", "short", "narrow".
   * @param {string} [options.numeric="always"] - (Version >= 2) One of: "always", "auto".
   * @param {string} [options.localeMatcher="lookup"] - One of: "lookup", "best fit". Currently only "lookup" is supported.
   */

/**
   * @param {(string|string[])} locales=[] - Preferred locales (or locale).
   * @param {boolean} [polyfill] — Pass `false` to use native `Intl.RelativeTimeFormat` and `Intl.PluralRules` instead of the polyfills.
   */

/**
   * @param {React.SyntheticEvent | Event} event
   */

/**
   * @param {string} name - Zone name
   * @return {IANAZone}
   */

/**
   * @private
   */

/**
   * @return {WeekSettings|null}
   */

/**
   * @typedef {Object} WeekSettings
   * @property {number} firstDay
   * @property {number} minimalDays
   * @property {number[]} weekend
   */

/**
   * A POP indicates a change to an arbitrary index in the history stack, such
   * as a back or forward navigation. It does not describe the direction of the
   * navigation, only that the current index changed.
   *
   * Note: This is the default action for newly created history objects.
   */

/**
   * A PUSH indicates a new entry being added to the history stack, such as when
   * a link is clicked and a new page loads. When this happens, all subsequent
   * entries in the stack are lost.
   */

/**
   * A REPLACE indicates the entry at the current index in the history stack
   * being replaced by a new one.
   */

/**
   * A timeout in milliseconds to abort a request. If set to 0 (default) a
   * timeout is not created.
   */

/**
   * According to the spec, `event.target` should be the `Text` node that
   * the drag started from when dragging a text selection.
   *
   * → https://html.spec.whatwg.org/multipage/dnd.html#drag-and-drop-processing-model
   *
   * However, in Safari the closest `HTMLElement` is returned.
   * So we need to figure out if text is dragging ourselves.
   *
   * → https://bugs.webkit.org/show_bug.cgi?id=268959
   */

/**
   * Add a new interceptor to the stack
   *
   * @param {Function} fulfilled The function to handle `then` for a `Promise`
   * @param {Function} rejected The function to handle `reject` for a `Promise`
   *
   * @return {Number} An ID used to remove interceptor later
   */

/**
   * Add a period of time to this DateTime and return the resulting DateTime
   *
   * Adding hours, minutes, seconds, or milliseconds increases the timestamp by the right number of milliseconds. Adding days, months, or years shifts the calendar, accounting for DSTs and leap years along the way. Thus, `dt.plus({ hours: 24 })` may result in a different time than `dt.plus({ days: 1 })` if there's a DST shift in between.
   * @param {Duration|Object|number} duration - The amount to add. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()
   * @example DateTime.now().plus(123) //~> in 123 milliseconds
   * @example DateTime.now().plus({ minutes: 15 }) //~> in 15 minutes
   * @example DateTime.now().plus({ days: 1 }) //~> this time tomorrow
   * @example DateTime.now().plus({ days: -1 }) //~> this time yesterday
   * @example DateTime.now().plus({ hours: 3, minutes: 13 }) //~> in 3 hr, 13 min
   * @example DateTime.now().plus(Duration.fromObject({ hours: 3, minutes: 13 })) //~> in 3 hr, 13 min
   * @return {DateTime}
   */

/**
   * Adds a change listener. It will be called any time an action is dispatched,
   * and some part of the state tree may potentially have changed. You may then
   * call `getState()` to read the current state tree inside the callback.
   *
   * You may call `dispatch()` from a change listener, with the following
   * caveats:
   *
   * 1. The subscriptions are snapshotted just before every `dispatch()` call.
   * If you subscribe or unsubscribe while the listeners are being invoked, this
   * will not have any effect on the `dispatch()` that is currently in progress.
   * However, the next `dispatch()` call, whether nested or not, will use a more
   * recent snapshot of the subscription list.
   *
   * 2. The listener should not expect to see all state changes, as the state
   * might have been updated multiple times during a nested `dispatch()` before
   * the listener is called. It is, however, guaranteed that all subscribers
   * registered before the `dispatch()` started will be called with the latest
   * state by the time it exits.
   *
   * @param {Function} listener A callback to be invoked on every dispatch.
   * @returns {Function} A function to remove this change listener.
   */

/**
   * Adds a disposable to the CompositeDisposable or disposes the disposable if the CompositeDisposable is disposed.
   * @param {Any} item Disposable to add.
   */

/**
   * Align better inline with text.
   */

/**
   * All calls to the wrapped function will be batched.
   */

/**
   * Allows overriding the default locale week settings, i.e. the start of the week, the weekend and
   * how many days are required in the first week of a year.
   * Does not affect existing instances.
   *
   * @param {WeekSettings|null} weekSettings
   */

/**
   * Check if an object is a Duration. Works across context boundaries
   * @param {object} o
   * @return {boolean}
   */

/**
   * Check if an object is an Interval. Works across context boundaries
   * @param {object} o
   * @return {boolean}
   */

/**
   * Check if an object is an instance of DateTime. Works across context boundaries
   * @param {object} o
   * @return {boolean}
   */

/**
   * Clear all interceptors from the stack
   *
   * @returns {void}
   */

/**
   * Convert this Duration into its representation in a different set of units.
   * @example Duration.fromObject({ hours: 1, seconds: 30 }).shiftTo('minutes', 'milliseconds').toObject() //=> { minutes: 60, milliseconds: 30000 }
   * @return {Duration}
   */

/**
   * Converts the input into a {@link Zone} instance.
   *
   * * If `input` is already a Zone instance, it is returned unchanged.
   * * If `input` is a string containing a valid time zone name, a Zone instance
   *   with that name is returned.
   * * If `input` is a string that doesn't refer to a known time zone, a Zone
   *   instance with {@link Zone#isValid} == false is returned.
   * * If `input is a number, a Zone instance with the specified fixed offset
   *   in minutes is returned.
   * * If `input` is `null` or `undefined`, the default zone is returned.
   * @param {string|Zone|number} [input] - the value to be converted
   * @return {Zone}
   */

/**
   * Create Duration from a number of milliseconds.
   * @param {number} count of milliseconds
   * @param {Object} opts - options for parsing
   * @param {string} [opts.locale='en-US'] - the locale to use
   * @param {string} opts.numberingSystem - the numbering system to use
   * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use
   * @return {Duration}
   */

/**
   * Create a DateTime for the current instant, in the system's time zone.
   *
   * Use Settings to override these default values if needed.
   * @example DateTime.now().toISO() //~> now in the ISO format
   * @return {DateTime}
   */

/**
   * Create a DateTime from a JavaScript Date object. Uses the default zone.
   * @param {Date} date - a JavaScript Date object
   * @param {Object} options - configuration options for the DateTime
   * @param {string|Zone} [options.zone='local'] - the zone to place the DateTime into
   * @return {DateTime}
   */

/**
   * Create a DateTime from a JavaScript object with keys like 'year' and 'hour' with reasonable defaults.
   * @param {Object} obj - the object to create the DateTime from
   * @param {number} obj.year - a year, such as 1987
   * @param {number} obj.month - a month, 1-12
   * @param {number} obj.day - a day of the month, 1-31, depending on the month
   * @param {number} obj.ordinal - day of the year, 1-365 or 366
   * @param {number} obj.weekYear - an ISO week year
   * @param {number} obj.weekNumber - an ISO week number, between 1 and 52 or 53, depending on the year
   * @param {number} obj.weekday - an ISO weekday, 1-7, where 1 is Monday and 7 is Sunday
   * @param {number} obj.localWeekYear - a week year, according to the locale
   * @param {number} obj.localWeekNumber - a week number, between 1 and 52 or 53, depending on the year, according to the locale
   * @param {number} obj.localWeekday - a weekday, 1-7, where 1 is the first and 7 is the last day of the week, according to the locale
   * @param {number} obj.hour - hour of the day, 0-23
   * @param {number} obj.minute - minute of the hour, 0-59
   * @param {number} obj.second - second of the minute, 0-59
   * @param {number} obj.millisecond - millisecond of the second, 0-999
   * @param {Object} opts - options for creating this DateTime
   * @param {string|Zone} [opts.zone='local'] - interpret the numbers in the context of a particular zone. Can take any value taken as the first argument to setZone()
   * @param {string} [opts.locale='system\'s locale'] - a locale to set on the resulting DateTime instance
   * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance
   * @param {string} opts.numberingSystem - the numbering system to set on the resulting DateTime instance
   * @example DateTime.fromObject({ year: 1982, month: 5, day: 25}).toISODate() //=> '1982-05-25'
   * @example DateTime.fromObject({ year: 1982 }).toISODate() //=> '1982-01-01'
   * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }) //~> today at 10:26:06
   * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }, { zone: 'utc' }),
   * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }, { zone: 'local' })
   * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }, { zone: 'America/New_York' })
   * @example DateTime.fromObject({ weekYear: 2016, weekNumber: 2, weekday: 3 }).toISODate() //=> '2016-01-13'
   * @example DateTime.fromObject({ localWeekYear: 2022, localWeekNumber: 1, localWeekday: 1 }, { locale: "en-US" }).toISODate() //=> '2021-12-26'
   * @return {DateTime}
   */

/**
   * Create a DateTime from a SQL date, time, or datetime
   * Defaults to en-US if no locale has been specified, regardless of the system's locale
   * @param {string} text - the string to parse
   * @param {Object} opts - options to affect the creation
   * @param {string|Zone} [opts.zone='local'] - use this zone if no offset is specified in the input string itself. Will also convert the DateTime to this zone
   * @param {boolean} [opts.setZone=false] - override the zone with a zone specified in the string itself, if it specifies one
   * @param {string} [opts.locale='en-US'] - a locale string to use when parsing. Will also set the DateTime to this locale
   * @param {string} opts.numberingSystem - the numbering system to use when parsing. Will also set the resulting DateTime to this numbering system
   * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance
   * @example DateTime.fromSQL('2017-05-15')
   * @example DateTime.fromSQL('2017-05-15 09:12:34')
   * @example DateTime.fromSQL('2017-05-15 09:12:34.342')
   * @example DateTime.fromSQL('2017-05-15 09:12:34.342+06:00')
   * @example DateTime.fromSQL('2017-05-15 09:12:34.342 America/Los_Angeles')
   * @example DateTime.fromSQL('2017-05-15 09:12:34.342 America/Los_Angeles', { setZone: true })
   * @example DateTime.fromSQL('2017-05-15 09:12:34.342', { zone: 'America/Los_Angeles' })
   * @example DateTime.fromSQL('09:12:34.342')
   * @return {DateTime}
   */

/**
   * Create a DateTime from a number of milliseconds since the epoch (meaning since 1 January 1970 00:00:00 UTC). Uses the default zone.
   * @param {number} milliseconds - a number of milliseconds since 1970 UTC
   * @param {Object} options - configuration options for the DateTime
   * @param {string|Zone} [options.zone='local'] - the zone to place the DateTime into
   * @param {string} [options.locale] - a locale to set on the resulting DateTime instance
   * @param {string} options.outputCalendar - the output calendar to set on the resulting DateTime instance
   * @param {string} options.numberingSystem - the numbering system to set on the resulting DateTime instance
   * @return {DateTime}
   */

/**
   * Create a DateTime from a number of seconds since the epoch (meaning since 1 January 1970 00:00:00 UTC). Uses the default zone.
   * @param {number} seconds - a number of seconds since 1970 UTC
   * @param {Object} options - configuration options for the DateTime
   * @param {string|Zone} [options.zone='local'] - the zone to place the DateTime into
   * @param {string} [options.locale] - a locale to set on the resulting DateTime instance
   * @param {string} options.outputCalendar - the output calendar to set on the resulting DateTime instance
   * @param {string} options.numberingSystem - the numbering system to set on the resulting DateTime instance
   * @return {DateTime}
   */

/**
   * Create a DateTime from an HTTP header date
   * @see https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3.1
   * @param {string} text - the HTTP header date
   * @param {Object} opts - options to affect the creation
   * @param {string|Zone} [opts.zone='local'] - convert the time to this zone. Since HTTP dates are always in UTC, this has no effect on the interpretation of string, merely the zone the resulting DateTime is expressed in.
   * @param {boolean} [opts.setZone=false] - override the zone with the fixed-offset zone specified in the string. For HTTP dates, this is always UTC, so this option is equivalent to setting the `zone` option to 'utc', but this option is included for consistency with similar methods.
   * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance
   * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance
   * @param {string} opts.numberingSystem - the numbering system to set on the resulting DateTime instance
   * @example DateTime.fromHTTP('Sun, 06 Nov 1994 08:49:37 GMT')
   * @example DateTime.fromHTTP('Sunday, 06-Nov-94 08:49:37 GMT')
   * @example DateTime.fromHTTP('Sun Nov  6 08:49:37 1994')
   * @return {DateTime}
   */

/**
   * Create a DateTime from an ISO 8601 string
   * @param {string} text - the ISO string
   * @param {Object} opts - options to affect the creation
   * @param {string|Zone} [opts.zone='local'] - use this zone if no offset is specified in the input string itself. Will also convert the time to this zone
   * @param {boolean} [opts.setZone=false] - override the zone with a fixed-offset zone specified in the string itself, if it specifies one
   * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance
   * @param {string} [opts.outputCalendar] - the output calendar to set on the resulting DateTime instance
   * @param {string} [opts.numberingSystem] - the numbering system to set on the resulting DateTime instance
   * @example DateTime.fromISO('2016-05-25T09:08:34.123')
   * @example DateTime.fromISO('2016-05-25T09:08:34.123+06:00')
   * @example DateTime.fromISO('2016-05-25T09:08:34.123+06:00', {setZone: true})
   * @example DateTime.fromISO('2016-05-25T09:08:34.123', {zone: 'utc'})
   * @example DateTime.fromISO('2016-W05-4')
   * @return {DateTime}
   */

/**
   * Create a DateTime from an RFC 2822 string
   * @param {string} text - the RFC 2822 string
   * @param {Object} opts - options to affect the creation
   * @param {string|Zone} [opts.zone='local'] - convert the time to this zone. Since the offset is always specified in the string itself, this has no effect on the interpretation of string, merely the zone the resulting DateTime is expressed in.
   * @param {boolean} [opts.setZone=false] - override the zone with a fixed-offset zone specified in the string itself, if it specifies one
   * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance
   * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance
   * @param {string} opts.numberingSystem - the numbering system to set on the resulting DateTime instance
   * @example DateTime.fromRFC2822('25 Nov 2016 13:23:12 GMT')
   * @example DateTime.fromRFC2822('Fri, 25 Nov 2016 13:23:12 +0600')
   * @example DateTime.fromRFC2822('25 Nov 2016 13:23 Z')
   * @return {DateTime}
   */

/**
   * Create a DateTime from an input string and format string.
   * Defaults to en-US if no locale has been specified, regardless of the system's locale. For a table of tokens and their interpretations, see [here](https://moment.github.io/luxon/#/parsing?id=table-of-tokens).
   * @param {string} text - the string to parse
   * @param {string} fmt - the format the string is expected to be in (see the link below for the formats)
   * @param {Object} opts - options to affect the creation
   * @param {string|Zone} [opts.zone='local'] - use this zone if no offset is specified in the input string itself. Will also convert the DateTime to this zone
   * @param {boolean} [opts.setZone=false] - override the zone with a zone specified in the string itself, if it specifies one
   * @param {string} [opts.locale='en-US'] - a locale string to use when parsing. Will also set the DateTime to this locale
   * @param {string} opts.numberingSystem - the numbering system to use when parsing. Will also set the resulting DateTime to this numbering system
   * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance
   * @return {DateTime}
   */

/**
   * Create a DateTime in UTC
   * @param {number} [year] - The calendar year. If omitted (as in, call `utc()` with no arguments), the current time will be used
   * @param {number} [month=1] - The month, 1-indexed
   * @param {number} [day=1] - The day of the month
   * @param {number} [hour=0] - The hour of the day, in 24-hour time
   * @param {number} [minute=0] - The minute of the hour, meaning a number between 0 and 59
   * @param {number} [second=0] - The second of the minute, meaning a number between 0 and 59
   * @param {number} [millisecond=0] - The millisecond of the second, meaning a number between 0 and 999
   * @param {Object} options - configuration options for the DateTime
   * @param {string} [options.locale] - a locale to set on the resulting DateTime instance
   * @param {string} [options.outputCalendar] - the output calendar to set on the resulting DateTime instance
   * @param {string} [options.numberingSystem] - the numbering system to set on the resulting DateTime instance
   * @example DateTime.utc()                                              //~> now
   * @example DateTime.utc(2017)                                          //~> 2017-01-01T00:00:00Z
   * @example DateTime.utc(2017, 3)                                       //~> 2017-03-01T00:00:00Z
   * @example DateTime.utc(2017, 3, 12)                                   //~> 2017-03-12T00:00:00Z
   * @example DateTime.utc(2017, 3, 12, 5)                                //~> 2017-03-12T05:00:00Z
   * @example DateTime.utc(2017, 3, 12, 5, 45)                            //~> 2017-03-12T05:45:00Z
   * @example DateTime.utc(2017, 3, 12, 5, 45, { locale: "fr" })          //~> 2017-03-12T05:45:00Z with a French locale
   * @example DateTime.utc(2017, 3, 12, 5, 45, 10)                        //~> 2017-03-12T05:45:10Z
   * @example DateTime.utc(2017, 3, 12, 5, 45, 10, 765, { locale: "fr" }) //~> 2017-03-12T05:45:10.765Z with a French locale
   * @return {DateTime}
   */

/**
   * Create a Duration from DurationLike.
   *
   * @param {Object | number | Duration} durationLike
   * One of:
   * - object with keys like 'years' and 'hours'.
   * - number representing milliseconds
   * - Duration instance
   * @return {Duration}
   */

/**
   * Create a Duration from a JavaScript object with keys like 'years' and 'hours'.
   * If this object is empty then a zero milliseconds duration is returned.
   * @param {Object} obj - the object to create the DateTime from
   * @param {number} obj.years
   * @param {number} obj.quarters
   * @param {number} obj.months
   * @param {number} obj.weeks
   * @param {number} obj.days
   * @param {number} obj.hours
   * @param {number} obj.minutes
   * @param {number} obj.seconds
   * @param {number} obj.milliseconds
   * @param {Object} [opts=[]] - options for creating this Duration
   * @param {string} [opts.locale='en-US'] - the locale to use
   * @param {string} opts.numberingSystem - the numbering system to use
   * @param {string} [opts.conversionAccuracy='casual'] - the preset conversion system to use
   * @param {string} [opts.matrix=Object] - the custom conversion system to use
   * @return {Duration}
   */

/**
   * Create a Duration from an ISO 8601 duration string.
   * @param {string} text - text to parse
   * @param {Object} opts - options for parsing
   * @param {string} [opts.locale='en-US'] - the locale to use
   * @param {string} opts.numberingSystem - the numbering system to use
   * @param {string} [opts.conversionAccuracy='casual'] - the preset conversion system to use
   * @param {string} [opts.matrix=Object] - the preset conversion system to use
   * @see https://en.wikipedia.org/wiki/ISO_8601#Durations
   * @example Duration.fromISO('P3Y6M1W4DT12H30M5S').toObject() //=> { years: 3, months: 6, weeks: 1, days: 4, hours: 12, minutes: 30, seconds: 5 }
   * @example Duration.fromISO('PT23H').toObject() //=> { hours: 23 }
   * @example Duration.fromISO('P5Y3M').toObject() //=> { years: 5, months: 3 }
   * @return {Duration}
   */

/**
   * Create a Duration from an ISO 8601 time string.
   * @param {string} text - text to parse
   * @param {Object} opts - options for parsing
   * @param {string} [opts.locale='en-US'] - the locale to use
   * @param {string} opts.numberingSystem - the numbering system to use
   * @param {string} [opts.conversionAccuracy='casual'] - the preset conversion system to use
   * @param {string} [opts.matrix=Object] - the conversion system to use
   * @see https://en.wikipedia.org/wiki/ISO_8601#Times
   * @example Duration.fromISOTime('11:22:33.444').toObject() //=> { hours: 11, minutes: 22, seconds: 33, milliseconds: 444 }
   * @example Duration.fromISOTime('11:00').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }
   * @example Duration.fromISOTime('T11:00').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }
   * @example Duration.fromISOTime('1100').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }
   * @example Duration.fromISOTime('T1100').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }
   * @return {Duration}
   */

/**
   * Create a local DateTime
   * @param {number} [year] - The calendar year. If omitted (as in, call `local()` with no arguments), the current time will be used
   * @param {number} [month=1] - The month, 1-indexed
   * @param {number} [day=1] - The day of the month, 1-indexed
   * @param {number} [hour=0] - The hour of the day, in 24-hour time
   * @param {number} [minute=0] - The minute of the hour, meaning a number between 0 and 59
   * @param {number} [second=0] - The second of the minute, meaning a number between 0 and 59
   * @param {number} [millisecond=0] - The millisecond of the second, meaning a number between 0 and 999
   * @example DateTime.local()                                  //~> now
   * @example DateTime.local({ zone: "America/New_York" })      //~> now, in US east coast time
   * @example DateTime.local(2017)                              //~> 2017-01-01T00:00:00
   * @example DateTime.local(2017, 3)                           //~> 2017-03-01T00:00:00
   * @example DateTime.local(2017, 3, 12, { locale: "fr" })     //~> 2017-03-12T00:00:00, with a French locale
   * @example DateTime.local(2017, 3, 12, 5)                    //~> 2017-03-12T05:00:00
   * @example DateTime.local(2017, 3, 12, 5, { zone: "utc" })   //~> 2017-03-12T05:00:00, in UTC
   * @example DateTime.local(2017, 3, 12, 5, 45)                //~> 2017-03-12T05:45:00
   * @example DateTime.local(2017, 3, 12, 5, 45, 10)            //~> 2017-03-12T05:45:10
   * @example DateTime.local(2017, 3, 12, 5, 45, 10, 765)       //~> 2017-03-12T05:45:10.765
   * @return {DateTime}
   */

/**
   * Create an Interval from a start DateTime and a Duration to extend to.
   * @param {DateTime|Date|Object} start
   * @param {Duration|Object|number} duration - the length of the Interval.
   * @return {Interval}
   */

/**
   * Create an Interval from a start DateTime and an end DateTime. Inclusive of the start but not the end.
   * @param {DateTime|Date|Object} start
   * @param {DateTime|Date|Object} end
   * @return {Interval}
   */

/**
   * Create an Interval from an ISO 8601 string.
   * Accepts `<start>/<end>`, `<start>/<duration>`, and `<duration>/<end>` formats.
   * @param {string} text - the ISO string to parse
   * @param {Object} [opts] - options to pass {@link DateTime#fromISO} and optionally {@link Duration#fromISO}
   * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals
   * @return {Interval}
   */

/**
   * Create an Interval from an end DateTime and a Duration to extend backwards to.
   * @param {DateTime|Date|Object} end
   * @param {Duration|Object|number} duration - the length of the Interval.
   * @return {Interval}
   */

/**
   * Create an invalid DateTime.
   * @param {string} reason - simple string of why this DateTime is invalid. Should not contain parameters or anything else data-dependent.
   * @param {string} [explanation=null] - longer explanation, may include parameters and other useful debugging information
   * @return {DateTime}
   */

/**
   * Create an invalid Duration.
   * @param {string} reason - simple string of why this datetime is invalid. Should not contain parameters or anything else data-dependent
   * @param {string} [explanation=null] - longer explanation, may include parameters and other useful debugging information
   * @return {Duration}
   */

/**
   * Create an invalid Interval.
   * @param {string} reason - simple string of why this Interval is invalid. Should not contain parameters or anything else data-dependent
   * @param {string} [explanation=null] - longer explanation, may include parameters and other useful debugging information
   * @return {Interval}
   */

/**
   * Default visitor.
   *
   * @param {*} value
   * @param {String|Number} key
   * @param {Array<String|Number>} path
   * @this {FormData}
   *
   * @returns {boolean} return true to visit the each prop of the value recursively
   */

/**
   * Dispatch a request
   *
   * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)
   * @param {?Object} config
   *
   * @returns {Promise} The Promise to be fulfilled
   */

/**
   * Dispatches an action. It is the only way to trigger a state change.
   *
   * The `reducer` function, used to create the store, will be called with the
   * current state tree and the given `action`. Its return value will
   * be considered the **next** state of the tree, and the change listeners
   * will be notified.
   *
   * The base implementation only supports plain object actions. If you want to
   * dispatch a Promise, an Observable, a thunk, or something else, you need to
   * wrap your store creating function into the corresponding middleware. For
   * example, see the documentation for the `redux-thunk` package. Even the
   * middleware will eventually dispatch plain object actions using this method.
   *
   * @param {Object} action A plain object representing “what changed”. It is
   * a good idea to keep actions serializable so you can record and replay user
   * sessions, or use the time travelling `redux-devtools`. An action must have
   * a `type` property which may not be `undefined`. It is a good idea to use
   * string constants for action types.
   *
   * @returns {Object} For convenience, the same action object you dispatched.
   *
   * Note that, if you use a custom middleware, it may wrap `dispatch()` to
   * return something else (for example, a Promise you can await).
   */

/**
   * Duplicated from @atlaskit/motion/accessibility
   * because @repo/internal/styles/consistent-style-ordering
   * doesn't work well with object spreading.
   */

/**
   * Equality check
   * Two DateTimes are equal if and only if they represent the same millisecond, have the same zone and location, and are both valid.
   * To compare just the millisecond values, use `+dt1 === +dt2`.
   * @param {DateTime} other - the other DateTime
   * @return {boolean}
   */

/**
   * Equality check
   * Two Durations are equal iff they have the same units and the same values for each unit.
   * @param {Duration} other
   * @return {boolean}
   */

/**
   * Executes `fn` after `delay`, clearing any previously scheduled call.
   */

/**
   * Explain how a string would be parsed by fromFormat()
   * @param {string} text - the string to parse
   * @param {string} fmt - the format the string is expected to be in (see description)
   * @param {Object} options - options taken by fromFormat()
   * @return {Object}
   */

/**
   * Formats relative date/time.
   *
   * @param {(number|Date)} input — A `Date` or a javascript timestamp.
   *
   * @param {(string|object)} style — Date/time formatting style. Either one of the built-in style names or a "custom" style definition object having `steps: object[]` and `labels: string[]`.
   *
   * @param {number} [options.now] - Sets the current date timestamp.
   *
   * @param  {boolean} [options.future] — Tells how to format value `0`:
   *         as "future" (`true`) or "past" (`false`).
   *         Is `false` by default, but should have been `true` actually,
   *         in order to correspond to `Intl.RelativeTimeFormat`
   *         that uses `future` formatting for `0` unless `-0` is passed.
   *
   * @param {string} [options.round] — Rounding method. Overrides the style's one.
   *
   * @param {boolean} [options.getTimeToNextUpdate] — Pass `true` to return `[formattedDate, timeToNextUpdate]` instead of just `formattedDate`.
   *
   * @return {string} The formatted relative date/time. If no eligible `step` is found, then an empty string is returned.
   */

/**
   * Formats time `number` in `units` (either in past or in future).
   * @param {number} number - Time interval value.
   * @param {string} unit - Time interval measurement unit.
   * @return {string}
   * @throws {RangeError} If unit is not one of "second", "minute", "hour", "day", "week", "month", "quarter".
   * @example
   * // Returns "2 days ago"
   * rtf.format(-2, "day")
   * // Returns "in 5 minutes"
   * rtf.format(5, "minute")
   */

/**
   * Generate profiling statistics for the HTML5Backend.
   */

/**
   * Get  the locale of a Duration, such 'en-GB'
   * @type {string}
   */

/**
   * Get a singleton instance of UTC
   * @return {FixedOffsetZone}
   */

/**
   * Get a singleton instance of the local zone
   * @return {SystemZone}
   */

/**
   * Get an instance of FixedOffsetZone from a UTC offset string, like "UTC+6"
   * @param {string} s - The offset string to parse
   * @example FixedOffsetZone.parseSpecifier("UTC+6")
   * @example FixedOffsetZone.parseSpecifier("UTC+06")
   * @example FixedOffsetZone.parseSpecifier("UTC-6:00")
   * @return {FixedOffsetZone}
   */

/**
   * Get an instance with a specified offset
   * @param {number} offset - The offset in minutes
   * @return {FixedOffsetZone}
   */

/**
   * Get the UTC offset of this DateTime in minutes
   * @example DateTime.now().offset //=> -240
   * @example DateTime.utc().offset //=> 0
   * @type {number}
   */

/**
   * Get the callback for returning the current timestamp.
   * @type {function}
   */

/**
   * Get the cutoff year after which a string encoding a year as two digits is interpreted to occur in the current century.
   * @type {number}
   */

/**
   * Get the day of the month (1-30ish).
   * @example DateTime.local(2017, 5, 25).day //=> 25
   * @type {number}
   */

/**
   * Get the day of the week according to the locale.
   * 1 is the first day of the week and 7 is the last day of the week.
   * If the locale assigns Sunday as the first day of the week, then a date which is a Sunday will return 1,
   * @returns {number}
   */

/**
   * Get the day of the week.
   * 1 is Monday and 7 is Sunday
   * @see https://en.wikipedia.org/wiki/ISO_week_date
   * @example DateTime.local(2014, 11, 31).weekday //=> 4
   * @type {number}
   */

/**
   * Get the days.
   * @type {number}
   */

/**
   * Get the default locale to create DateTimes with. Does not affect existing instances.
   * @type {string}
   */

/**
   * Get the default numbering system to create DateTimes with. Does not affect existing instances.
   * @type {string}
   */

/**
   * Get the default output calendar to create DateTimes with. Does not affect existing instances.
   * @type {string}
   */

/**
   * Get the default time zone object currently used to create DateTimes. Does not affect existing instances.
   * The default value is the system's time zone (the one set on the machine that runs this code).
   * @type {Zone}
   */

/**
   * Get the hour of the day (0-23).
   * @example DateTime.local(2017, 5, 25, 9).hour //=> 9
   * @type {number}
   */

/**
   * Get the hours.
   * @type {number}
   */

/**
   * Get the human readable long month name, such as 'October'.
   * Defaults to the system's locale if no locale has been specified
   * @example DateTime.local(2017, 10, 30).monthLong //=> October
   * @type {string}
   */

/**
   * Get the human readable long weekday, such as 'Monday'.
   * Defaults to the system's locale if no locale has been specified
   * @example DateTime.local(2017, 10, 30).weekdayLong //=> Monday
   * @type {string}
   */

/**
   * Get the human readable short month name, such as 'Oct'.
   * Defaults to the system's locale if no locale has been specified
   * @example DateTime.local(2017, 10, 30).monthShort //=> Oct
   * @type {string}
   */

/**
   * Get the human readable short weekday, such as 'Mon'.
   * Defaults to the system's locale if no locale has been specified
   * @example DateTime.local(2017, 10, 30).weekdayShort //=> Mon
   * @type {string}
   */

/**
   * Get the locale of a DateTime, such 'en-GB'. The locale is used when formatting the DateTime
   *
   * @type {string}
   */

/**
   * Get the long human name for the zone's current offset, for example "Eastern Standard Time" or "Eastern Daylight Time".
   * Defaults to the system's locale if no locale has been specified
   * @type {string}
   */

/**
   * Get the millisecond of the second (0-999).
   * @example DateTime.local(2017, 5, 25, 9, 30, 52, 654).millisecond //=> 654
   * @type {number}
   */

/**
   * Get the milliseconds.
   * @return {number}
   */

/**
   * Get the minimum number of days necessary in a week before it is considered part of the next year according
   * to the given locale.
   * @param {Object} opts - options
   * @param {string} [opts.locale] - the locale code
   * @param {string} [opts.locObj=null] - an existing locale object to use
   * @returns {number}
   */

/**
   * Get the minute of the hour (0-59).
   * @example DateTime.local(2017, 5, 25, 9, 30).minute //=> 30
   * @type {number}
   */

/**
   * Get the minutes.
   * @type {number}
   */

/**
   * Get the month (1-12).
   * @example DateTime.local(2017, 5, 25).month //=> 5
   * @type {number}
   */

/**
   * Get the months.
   * @type {number}
   */

/**
   * Get the name of the time zone.
   * @type {string}
   */

/**
   * Get the numbering system of a DateTime, such 'beng'. The numbering system is used when formatting the DateTime
   *
   * @type {string}
   */

/**
   * Get the numbering system of a Duration, such 'beng'. The numbering system is used when formatting the Duration
   *
   * @type {string}
   */

/**
   * Get the ordinal (meaning the day of the year)
   * @example DateTime.local(2017, 5, 25).ordinal //=> 145
   * @type {number|DateTime}
   */

/**
   * Get the output calendar of a DateTime, such 'islamic'. The output calendar is used when formatting the DateTime
   *
   * @type {string}
   */

/**
   * Get the quarter
   * @example DateTime.local(2017, 5, 25).quarter //=> 2
   * @type {number}
   */

/**
   * Get the quarters.
   * @type {number}
   */

/**
   * Get the second of the minute (0-59).
   * @example DateTime.local(2017, 5, 25, 9, 30, 52).second //=> 52
   * @type {number}
   */

/**
   * Get the seconds.
   * @return {number}
   */

/**
   * Get the short human name for the zone's current offset, for example "EST" or "EDT".
   * Defaults to the system's locale if no locale has been specified
   * @type {string}
   */

/**
   * Get the time zone associated with this DateTime.
   * @type {Zone}
   */

/**
   * Get the value of unit.
   * @param {string} unit - a unit such as 'minute' or 'day'
   * @example DateTime.local(2017, 7, 4).get('month'); //=> 7
   * @example DateTime.local(2017, 7, 4).get('day'); //=> 4
   * @return {number}
   */

/**
   * Get the value of unit.
   * @param {string} unit - a unit such as 'minute' or 'day'
   * @example Duration.fromObject({years: 2, days: 3}).get('years') //=> 2
   * @example Duration.fromObject({years: 2, days: 3}).get('months') //=> 0
   * @example Duration.fromObject({years: 2, days: 3}).get('days') //=> 3
   * @return {number}
   */

/**
   * Get the week number of the week year (1-52ish).
   * @see https://en.wikipedia.org/wiki/ISO_week_date
   * @example DateTime.local(2017, 5, 25).weekNumber //=> 21
   * @type {number}
   */

/**
   * Get the week number of the week year according to the locale. Different locales assign week numbers differently,
   * because the week can start on different days of the week (see localWeekday) and because a different number of days
   * is required for a week to count as the first week of a year.
   * @returns {number}
   */

/**
   * Get the week year
   * @see https://en.wikipedia.org/wiki/ISO_week_date
   * @example DateTime.local(2014, 12, 31).weekYear //=> 2015
   * @type {number}
   */

/**
   * Get the week year according to the locale. Different locales assign week numbers (and therefor week years)
   * differently, see localWeekNumber.
   * @returns {number}
   */

/**
   * Get the weekday on which the week starts according to the given locale.
   * @param {Object} opts - options
   * @param {string} [opts.locale] - the locale code
   * @param {string} [opts.locObj=null] - an existing locale object to use
   * @returns {number} the start of the week, 1 for Monday through 7 for Sunday
   */

/**
   * Get the weekdays, which are considered the weekend according to the given locale
   * @param {Object} opts - options
   * @param {string} [opts.locale] - the locale code
   * @param {string} [opts.locObj=null] - an existing locale object to use
   * @returns {number[]} an array of weekdays, 1 for Monday through 7 for Sunday
   */

/**
   * Get the weeks
   * @type {number}
   */

/**
   * Get the year
   * @example DateTime.local(2017, 5, 25).year //=> 2017
   * @type {number}
   */

/**
   * Get the years.
   * @type {number}
   */

/**
   * Get those DateTimes which have the same local time as this DateTime, but a different offset from UTC
   * in this DateTime's zone. During DST changes local time can be ambiguous, for example
   * `2023-10-29T02:30:00` in `Europe/Berlin` can have offset `+01:00` or `+02:00`.
   * This method will return both possible DateTimes if this DateTime's local time is ambiguous.
   * @returns {DateTime[]}
   */

/**
   * Get whether Luxon will throw when it encounters invalid DateTimes, Durations, or Intervals
   * @type {boolean}
   */

/**
   * Get whether the DateTime is in a DST.
   * @type {boolean}
   */

/**
   * Get whether this zone's offset ever changes, as in a DST.
   * @type {boolean}
   */

/**
   * Gets the disposable that does nothing when disposed.
   */

/**
   * Gets the underlying disposable.
   * @returns {Any} the underlying disposable.
   */

/**
   * Grab the first Text node and use that.
   * Only doing a single level search as that is all we need for this bug.
   */

/**
   * Helper function that checks if 'L' is in the array
   *
   * @param {Array} expressions
   */

/**
   * Helps determine if the provided date is the correct nth occurence of the
   * desired day of week.
   *
   * @param {CronDate} date
   * @param {Number} nthDayOfWeek
   * @return {Boolean}
   * @private
   */

/**
   * If the global context was used to store the DND context
   * then where theres no more references to it we should
   * clean it up to avoid memory leaks
   */

/**
   * Internally, Theme uses React Context, with internal providers and consumers.
   * The React Context passes only a function that gets props, and turns them into tokens. This
   * function gets mixed as more Providers with their own themes are added. This mixed function
   * is ultimately picked up by Consumers, which implement a context consumer internally to fetch
   * the theme.
   */

/**
   * Interoperability point for observable/reactive libraries.
   * @returns {observable} A minimal observable of state changes.
   * For more information, see the observable proposal:
   * https://github.com/tc39/proposal-observable
   */

/**
   * Iterate over all the registered interceptors
   *
   * This method is particularly useful for skipping over any
   * interceptors that may have become `null` calling `eject`.
   *
   * @param {Function} fn The function to call for each interceptor
   *
   * @returns {void}
   */

/**
   * Make this Duration longer by the specified amount. Return a newly-constructed Duration.
   * @param {Duration|Object|number} duration - The amount to add. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()
   * @return {Duration}
   */

/**
   * Make this Duration shorter by the specified amount. Return a newly-constructed Duration.
   * @param {Duration|Object|number} duration - The amount to subtract. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()
   * @return {Duration}
   */

/**
   * Match field value
   *
   * @param {String} value
   * @param {Array} sequence
   * @return {Boolean}
   * @private
   */

/**
   * Merge an array of Intervals into a equivalent minimal set of Intervals.
   * Combines overlapping and adjacent Intervals.
   * @param {Array} intervals
   * @return {Array}
   */

/**
   * NOTE: This is a workaround for the test case written in Jira where the stateChildren is a boolean value because
   * useState is mocked to return a boolean value.
   */

/**
   * Only allow custom times if timeIsEditable prop is true
   */

/**
   * Order here is important, we for now apply
   * 1. inferred a11y level (this only applies if context is present)
   * 2. default final fallback
   */

/**
   * Parse range
   *
   * @param {String} val
   * @param {Number} repeatInterval Repetition interval
   * @return {Array}
   * @private
   */

/**
   * Parse repetition interval
   *
   * @param {String} val
   * @return {Array}
   */

/**
   * Parse sequence
   *
   * @param {String} val
   * @return {Array}
   * @private
   */

/**
   * Produce the format string for a set of options
   * @param formatOpts
   * @param localeOpts
   * @returns {string}
   */

/**
   * Produce the the fully expanded format token for the locale
   * Does NOT quote characters, so quoted tokens will not round trip correctly
   * @param fmt
   * @param localeOpts
   * @returns {string}
   */

/**
   * Reads the state tree managed by the store.
   *
   * @returns {any} The current state tree of your application.
   */

/**
   * Reduce this Duration to its canonical representation in its current units.
   * Assuming the overall value of the Duration is positive, this means:
   * - excessive values for lower-order units are converted to higher-order units (if possible, see first and second example)
   * - negative lower-order units are converted to higher order units (there must be such a higher order unit, otherwise
   *   the overall value would be negative, see third example)
   * - fractional values for higher-order units are converted to lower-order units (if possible, see fourth example)
   *
   * If the overall value is negative, the result of this method is equivalent to `this.negate().normalize().negate()`.
   * @example Duration.fromObject({ years: 2, days: 5000 }).normalize().toObject() //=> { years: 15, days: 255 }
   * @example Duration.fromObject({ days: 5000 }).normalize().toObject() //=> { days: 5000 }
   * @example Duration.fromObject({ hours: 12, minutes: -45 }).normalize().toObject() //=> { hours: 11, minutes: 15 }
   * @example Duration.fromObject({ years: 2.5, days: 0, hours: 0 }).normalize().toObject() //=> { years: 2, days: 182, hours: 12 }
   * @return {Duration}
   */

/**
   * Regex match for `1234`, `12:34`, `12.34`, `123456`, `12:34:56`, `12.34.56`
   */

/**
   * Regex match for `12:34`, `12:34:56`, `1:23:56 p`, `1:23:56PM`, and a bit more…
   */

/**
   * Remove an interceptor from the stack
   *
   * @param {Number} id The ID that was returned by `use`
   *
   * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise
   */

/**
   * Replaces the reducer currently used by the store to calculate the state.
   *
   * You might need this if your app implements code splitting and you want to
   * load some of the reducers dynamically. You might also need this if you
   * implement a hot reloading mechanism for Redux.
   *
   * @param {Function} nextReducer The reducer for the store to use instead.
   * @returns {void}
   */

/**
   * Rescale units to its largest representation
   * @example Duration.fromObject({ milliseconds: 90000 }).rescale().toObject() //=> { minutes: 1, seconds: 30 }
   * @return {Duration}
   */

/**
   * Reset Luxon's global caches. Should only be necessary in testing scenarios.
   * @return {void}
   */

/**
   * Reset local caches. Should only be necessary in testing scenarios.
   * @return {void}
   */

/**
   * Return a Duration representing the time spanned by this interval.
   * @param {string|string[]} [unit=['milliseconds']] - the unit or units (such as 'hours' or 'days') to include in the duration.
   * @param {Object} opts - options that affect the creation of the Duration
   * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use
   * @example Interval.fromDateTimes(dt1, dt2).toDuration().toObject() //=> { milliseconds: 88489257 }
   * @example Interval.fromDateTimes(dt1, dt2).toDuration('days').toObject() //=> { days: 1.0241812152777778 }
   * @example Interval.fromDateTimes(dt1, dt2).toDuration(['hours', 'minutes']).toObject() //=> { hours: 24, minutes: 34.82095 }
   * @example Interval.fromDateTimes(dt1, dt2).toDuration(['hours', 'minutes', 'seconds']).toObject() //=> { hours: 24, minutes: 34, seconds: 49.257 }
   * @example Interval.fromDateTimes(dt1, dt2).toDuration('seconds').toObject() //=> { seconds: 88489.257 }
   * @return {Duration}
   */

/**
   * Return an Interval representing the intersection of this Interval and the specified Interval.
   * Specifically, the resulting Interval has the maximum start time and the minimum end time of the two Intervals.
   * Returns null if the intersection is empty, meaning, the intervals don't intersect.
   * @param {Interval} other
   * @return {Interval}
   */

/**
   * Return an Interval representing the span of time in this Interval that doesn't overlap with any of the specified Intervals.
   * @param {...Interval} intervals
   * @return {Array}
   */

/**
   * Return an Interval representing the union of this Interval and the specified Interval.
   * Specifically, the resulting Interval has the minimum start time and the maximum end time of the two Intervals.
   * @param {Interval} other
   * @return {Interval}
   */

/**
   * Return an Interval spanning between this DateTime and another DateTime
   * @param {DateTime} otherDateTime - the other end point of the Interval
   * @return {Interval}
   */

/**
   * Return an array of Intervals representing the spans of time that only appear in one of the specified Intervals.
   * @param {Array} intervals
   * @return {Array}
   */

/**
   * Return an array of eras, such as ['BC', 'AD']. The locale can be specified, but the calendar system is always Gregorian.
   * @param {string} [length='short'] - the length of the era representation, such as "short" or "long".
   * @param {Object} opts - options
   * @param {string} [opts.locale] - the locale code
   * @example Info.eras() //=> [ 'BC', 'AD' ]
   * @example Info.eras('long') //=> [ 'Before Christ', 'Anno Domini' ]
   * @example Info.eras('long', { locale: 'fr' }) //=> [ 'avant Jésus-Christ', 'après Jésus-Christ' ]
   * @return {Array}
   */

/**
   * Return an array of format month names.
   * Format months differ from standalone months in that they're meant to appear next to the day of the month. In some languages, that
   * changes the string.
   * See {@link Info#months}
   * @param {string} [length='long'] - the length of the month representation, such as "numeric", "2-digit", "narrow", "short", "long"
   * @param {Object} opts - options
   * @param {string} [opts.locale] - the locale code
   * @param {string} [opts.numberingSystem=null] - the numbering system
   * @param {string} [opts.locObj=null] - an existing locale object to use
   * @param {string} [opts.outputCalendar='gregory'] - the calendar
   * @return {Array}
   */

/**
   * Return an array of format week names.
   * Format weekdays differ from standalone weekdays in that they're meant to appear next to more date information. In some languages, that
   * changes the string.
   * See {@link Info#weekdays}
   * @param {string} [length='long'] - the length of the month representation, such as "narrow", "short", "long".
   * @param {Object} opts - options
   * @param {string} [opts.locale=null] - the locale code
   * @param {string} [opts.numberingSystem=null] - the numbering system
   * @param {string} [opts.locObj=null] - an existing locale object to use
   * @return {Array}
   */

/**
   * Return an array of meridiems.
   * @param {Object} opts - options
   * @param {string} [opts.locale] - the locale code
   * @example Info.meridiems() //=> [ 'AM', 'PM' ]
   * @example Info.meridiems({ locale: 'my' }) //=> [ 'နံနက်', 'ညနေ' ]
   * @return {Array}
   */

/**
   * Return an array of standalone month names.
   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat
   * @param {string} [length='long'] - the length of the month representation, such as "numeric", "2-digit", "narrow", "short", "long"
   * @param {Object} opts - options
   * @param {string} [opts.locale] - the locale code
   * @param {string} [opts.numberingSystem=null] - the numbering system
   * @param {string} [opts.locObj=null] - an existing locale object to use
   * @param {string} [opts.outputCalendar='gregory'] - the calendar
   * @example Info.months()[0] //=> 'January'
   * @example Info.months('short')[0] //=> 'Jan'
   * @example Info.months('numeric')[0] //=> '1'
   * @example Info.months('short', { locale: 'fr-CA' } )[0] //=> 'janv.'
   * @example Info.months('numeric', { locale: 'ar' })[0] //=> '١'
   * @example Info.months('long', { outputCalendar: 'islamic' })[0] //=> 'Rabiʻ I'
   * @return {Array}
   */

/**
   * Return an array of standalone week names.
   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat
   * @param {string} [length='long'] - the length of the weekday representation, such as "narrow", "short", "long".
   * @param {Object} opts - options
   * @param {string} [opts.locale] - the locale code
   * @param {string} [opts.numberingSystem=null] - the numbering system
   * @param {string} [opts.locObj=null] - an existing locale object to use
   * @example Info.weekdays()[0] //=> 'Monday'
   * @example Info.weekdays('short')[0] //=> 'Mon'
   * @example Info.weekdays('short', { locale: 'fr-CA' })[0] //=> 'lun.'
   * @example Info.weekdays('short', { locale: 'ar' })[0] //=> 'الاثنين'
   * @return {Array}
   */

/**
   * Return the difference between this DateTime and right now.
   * See {@link DateTime#diff}
   * @param {string|string[]} [unit=['milliseconds']] - the unit or units units (such as 'hours' or 'days') to include in the duration
   * @param {Object} opts - options that affect the creation of the Duration
   * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use
   * @return {Duration}
   */

/**
   * Return the difference between two DateTimes as a Duration.
   * @param {DateTime} otherDateTime - the DateTime to compare this one to
   * @param {string|string[]} [unit=['milliseconds']] - the unit or array of units (such as 'hours' or 'days') to include in the duration.
   * @param {Object} opts - options that affect the creation of the Duration
   * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use
   * @example
   * var i1 = DateTime.fromISO('1982-05-25T09:45'),
   *     i2 = DateTime.fromISO('1983-10-14T10:30');
   * i2.diff(i1).toObject() //=> { milliseconds: 43807500000 }
   * i2.diff(i1, 'hours').toObject() //=> { hours: 12168.75 }
   * i2.diff(i1, ['months', 'days']).toObject() //=> { months: 16, days: 19.03125 }
   * i2.diff(i1, ['months', 'days', 'hours']).toObject() //=> { months: 16, days: 19, hours: 0.75 }
   * @return {Duration}
   */

/**
   * Return the length of the duration in the specified unit.
   * @param {string} unit - a unit such as 'minutes' or 'days'
   * @example Duration.fromObject({years: 1}).as('days') //=> 365
   * @example Duration.fromObject({years: 1}).as('months') //=> 12
   * @example Duration.fromObject({hours: 60}).as('days') //=> 2.5
   * @return {number}
   */

/**
   * Return the max of several date times
   * @param {...DateTime} dateTimes - the DateTimes from which to choose the maximum
   * @return {DateTime} the max DateTime, or undefined if called with no argument
   */

/**
   * Return the min of several date times
   * @param {...DateTime} dateTimes - the DateTimes from which to choose the minimum
   * @return {DateTime} the min DateTime, or undefined if called with no argument
   */

/**
   * Return the negative of this Duration.
   * @example Duration.fromObject({ hours: 1, seconds: 30 }).negate().toObject() //=> { hours: -1, seconds: -30 }
   * @return {Duration}
   */

/**
   * Return the offset in minutes for this zone at the specified timestamp.
   * @abstract
   * @param {number} ts - Epoch milliseconds for which to compute the offset
   * @return {number}
   */

/**
   * Return the set of available features in this environment.
   * Some features of Luxon are not available in all environments. For example, on older browsers, relative time formatting support is not available. Use this function to figure out if that's the case.
   * Keys:
   * * `relative`: whether this environment supports relative time formatting
   * * `localeWeek`: whether this environment supports different weekdays for the start of the week based on the locale
   * @example Info.features() //=> { relative: false, localeWeek: true }
   * @return {Object}
   */

/**
   * Return whether the specified zone contains a DST.
   * @param {string|Zone} [zone='local'] - Zone to check. Defaults to the environment's local zone.
   * @return {boolean}
   */

/**
   * Return whether the specified zone is a valid IANA specifier.
   * @param {string} zone - Zone to check
   * @return {boolean}
   */

/**
   * Return whether this DateTime is in the same unit of time as another DateTime.
   * Higher-order units must also be identical for this function to return `true`.
   * Note that time zones are **ignored** in this comparison, which compares the **local** calendar time. Use {@link DateTime#setZone} to convert one of the dates if needed.
   * @param {DateTime} otherDateTime - the other DateTime
   * @param {string} unit - the unit of time to check sameness on
   * @param {Object} opts - options
   * @param {boolean} [opts.useLocaleWeeks=false] - If true, use weeks based on the locale, i.e. use the locale-dependent start of the week; only the locale of this DateTime is used
   * @example DateTime.now().hasSame(otherDT, 'day'); //~> true if otherDT is in the same current calendar day
   * @return {boolean}
   */

/**
   * Return whether this Interval contains the specified DateTime.
   * @param {DateTime} dateTime
   * @return {boolean}
   */

/**
   * Return whether this Interval engulfs the start and end of the specified Interval.
   * @param {Interval} other
   * @return {boolean}
   */

/**
   * Return whether this Interval has the same start and end DateTimes.
   * @return {boolean}
   */

/**
   * Return whether this Interval has the same start and end as the specified Interval.
   * @param {Interval} other
   * @return {boolean}
   */

/**
   * Return whether this Interval overlaps with the specified Interval
   * @param {Interval} other
   * @return {boolean}
   */

/**
   * Return whether this Interval's end is adjacent to the specified Interval's start.
   * @param {Interval} other
   * @return {boolean}
   */

/**
   * Return whether this Interval's end is before the specified DateTime.
   * @param {DateTime} dateTime
   * @return {boolean}
   */

/**
   * Return whether this Interval's start is adjacent to the specified Interval's end.
   * @param {Interval} other
   * @return {boolean}
   */

/**
   * Return whether this Interval's start is after the specified DateTime.
   * @param {DateTime} dateTime
   * @return {boolean}
   */

/**
   * Return whether this Zone is equal to another zone
   * @abstract
   * @param {Zone} otherZone - the zone to compare
   * @return {boolean}
   */

/**
   * Return whether this Zone is valid.
   * @abstract
   * @type {boolean}
   */

/**
   * Returns a BSON serializable equivalent to this DateTime.
   * @return {Date}
   */

/**
   * Returns a JavaScript Date equivalent to this DateTime.
   * @return {Date}
   */

/**
   * Returns a JavaScript object with this DateTime's year, month, day, and so on.
   * @param opts - options for generating the object
   * @param {boolean} [opts.includeConfig=false] - include configuration attributes in the output
   * @example DateTime.now().toObject() //=> { year: 2017, month: 4, day: 22, hour: 20, minute: 49, second: 42, millisecond: 268 }
   * @return {Object}
   */

/**
   * Returns a JavaScript object with this Duration's values.
   * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toObject() //=> { years: 1, days: 6, seconds: 2 }
   * @return {Object}
   */

/**
   * Returns a localized string representing this Interval. Accepts the same options as the
   * Intl.DateTimeFormat constructor and any presets defined by Luxon, such as
   * {@link DateTime.DATE_FULL} or {@link DateTime.TIME_SIMPLE}. The exact behavior of this method
   * is browser-specific, but in general it will return an appropriate representation of the
   * Interval in the assigned locale. Defaults to the system's locale if no locale has been
   * specified.
   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat
   * @param {Object} [formatOpts=DateTime.DATE_SHORT] - Either a DateTime preset or
   * Intl.DateTimeFormat constructor options.
   * @param {Object} opts - Options to override the configuration of the start DateTime.
   * @example Interval.fromISO('2022-11-07T09:00Z/2022-11-08T09:00Z').toLocaleString(); //=> 11/7/2022 – 11/8/2022
   * @example Interval.fromISO('2022-11-07T09:00Z/2022-11-08T09:00Z').toLocaleString(DateTime.DATE_FULL); //=> November 7 – 8, 2022
   * @example Interval.fromISO('2022-11-07T09:00Z/2022-11-08T09:00Z').toLocaleString(DateTime.DATE_FULL, { locale: 'fr-FR' }); //=> 7–8 novembre 2022
   * @example Interval.fromISO('2022-11-07T17:00Z/2022-11-07T19:00Z').toLocaleString(DateTime.TIME_SIMPLE); //=> 6:00 – 8:00 PM
   * @example Interval.fromISO('2022-11-07T17:00Z/2022-11-07T19:00Z').toLocaleString({ weekday: 'short', month: 'short', day: '2-digit', hour: '2-digit', minute: '2-digit' }); //=> Mon, Nov 07, 6:00 – 8:00 p
   * @return {string}
   */

/**
   * Returns a localized string representing this date. Accepts the same options as the Intl.DateTimeFormat constructor and any presets defined by Luxon, such as `DateTime.DATE_FULL` or `DateTime.TIME_SIMPLE`.
   * The exact behavior of this method is browser-specific, but in general it will return an appropriate representation
   * of the DateTime in the assigned locale.
   * Defaults to the system's locale if no locale has been specified
   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat
   * @param formatOpts {Object} - Intl.DateTimeFormat constructor options and configuration options
   * @param {Object} opts - opts to override the configuration options on this DateTime
   * @example DateTime.now().toLocaleString(); //=> 4/20/2017
   * @example DateTime.now().setLocale('en-gb').toLocaleString(); //=> '20/04/2017'
   * @example DateTime.now().toLocaleString(DateTime.DATE_FULL); //=> 'April 20, 2017'
   * @example DateTime.now().toLocaleString(DateTime.DATE_FULL, { locale: 'fr' }); //=> '28 août 2022'
   * @example DateTime.now().toLocaleString(DateTime.TIME_SIMPLE); //=> '11:32 AM'
   * @example DateTime.now().toLocaleString(DateTime.DATETIME_SHORT); //=> '4/20/2017, 11:32 AM'
   * @example DateTime.now().toLocaleString({ weekday: 'long', month: 'long', day: '2-digit' }); //=> 'Thursday, April 20'
   * @example DateTime.now().toLocaleString({ weekday: 'short', month: 'short', day: '2-digit', hour: '2-digit', minute: '2-digit' }); //=> 'Thu, Apr 20, 11:27 AM'
   * @example DateTime.now().toLocaleString({ hour: '2-digit', minute: '2-digit', hourCycle: 'h23' }); //=> '11:32'
   * @return {string}
   */

/**
   * Returns a string representation of a Duration with all units included.
   * To modify its behavior, use `listStyle` and any Intl.NumberFormat option, though `unitDisplay` is especially relevant.
   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat#options
   * @param {Object} opts - Formatting options. Accepts the same keys as the options parameter of the native `Intl.NumberFormat` constructor, as well as `listStyle`.
   * @param {string} [opts.listStyle='narrow'] - How to format the merged list. Corresponds to the `style` property of the options parameter of the native `Intl.ListFormat` constructor.
   * @example
   * ```js
   * var dur = Duration.fromObject({ days: 1, hours: 5, minutes: 6 })
   * dur.toHuman() //=> '1 day, 5 hours, 6 minutes'
   * dur.toHuman({ listStyle: "long" }) //=> '1 day, 5 hours, and 6 minutes'
   * dur.toHuman({ unitDisplay: "short" }) //=> '1 day, 5 hr, 6 min'
   * ```
   */

/**
   * Returns a string representation of a this time relative to now, such as "in two days". Can only internationalize if your
   * platform supports Intl.RelativeTimeFormat. Rounds down by default.
   * @param {Object} options - options that affect the output
   * @param {DateTime} [options.base=DateTime.now()] - the DateTime to use as the basis to which this time is compared. Defaults to now.
   * @param {string} [options.style="long"] - the style of units, must be "long", "short", or "narrow"
   * @param {string|string[]} options.unit - use a specific unit or array of units; if omitted, or an array, the method will pick the best unit. Use an array or one of "years", "quarters", "months", "weeks", "days", "hours", "minutes", or "seconds"
   * @param {boolean} [options.round=true] - whether to round the numbers in the output.
   * @param {number} [options.padding=0] - padding in milliseconds. This allows you to round up the result if it fits inside the threshold. Don't use in combination with {round: false} because the decimal output will include the padding.
   * @param {string} options.locale - override the locale of this DateTime
   * @param {string} options.numberingSystem - override the numberingSystem of this DateTime. The Intl system may choose not to honor this
   * @example DateTime.now().plus({ days: 1 }).toRelative() //=> "in 1 day"
   * @example DateTime.now().setLocale("es").toRelative({ days: 1 }) //=> "dentro de 1 día"
   * @example DateTime.now().plus({ days: 1 }).toRelative({ locale: "fr" }) //=> "dans 23 heures"
   * @example DateTime.now().minus({ days: 2 }).toRelative() //=> "2 days ago"
   * @example DateTime.now().minus({ days: 2 }).toRelative({ unit: "hours" }) //=> "48 hours ago"
   * @example DateTime.now().minus({ hours: 36 }).toRelative({ round: false }) //=> "1.5 days ago"
   */

/**
   * Returns a string representation of this DateTime appropriate for debugging
   * @return {string}
   */

/**
   * Returns a string representation of this DateTime appropriate for the REPL.
   * @return {string}
   */

/**
   * Returns a string representation of this DateTime appropriate for use in HTTP headers. The output is always expressed in GMT.
   * Specifically, the string conforms to RFC 1123.
   * @see https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3.1
   * @example DateTime.utc(2014, 7, 13).toHTTP() //=> 'Sun, 13 Jul 2014 00:00:00 GMT'
   * @example DateTime.utc(2014, 7, 13, 19).toHTTP() //=> 'Sun, 13 Jul 2014 19:00:00 GMT'
   * @return {string}
   */

/**
   * Returns a string representation of this DateTime appropriate for use in SQL Date
   * @example DateTime.utc(2014, 7, 13).toSQLDate() //=> '2014-07-13'
   * @return {string}
   */

/**
   * Returns a string representation of this DateTime appropriate for use in SQL DateTime
   * @param {Object} opts - options
   * @param {boolean} [opts.includeZone=false] - include the zone, such as 'America/New_York'. Overrides includeOffset.
   * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'
   * @param {boolean} [opts.includeOffsetSpace=true] - include the space between the time and the offset, such as '05:15:16.345 -04:00'
   * @example DateTime.utc(2014, 7, 13).toSQL() //=> '2014-07-13 00:00:00.000 Z'
   * @example DateTime.local(2014, 7, 13).toSQL() //=> '2014-07-13 00:00:00.000 -04:00'
   * @example DateTime.local(2014, 7, 13).toSQL({ includeOffset: false }) //=> '2014-07-13 00:00:00.000'
   * @example DateTime.local(2014, 7, 13).toSQL({ includeZone: true }) //=> '2014-07-13 00:00:00.000 America/New_York'
   * @return {string}
   */

/**
   * Returns a string representation of this DateTime appropriate for use in SQL Time
   * @param {Object} opts - options
   * @param {boolean} [opts.includeZone=false] - include the zone, such as 'America/New_York'. Overrides includeOffset.
   * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'
   * @param {boolean} [opts.includeOffsetSpace=true] - include the space between the time and the offset, such as '05:15:16.345 -04:00'
   * @example DateTime.utc().toSQL() //=> '05:15:16.345'
   * @example DateTime.now().toSQL() //=> '05:15:16.345 -04:00'
   * @example DateTime.now().toSQL({ includeOffset: false }) //=> '05:15:16.345'
   * @example DateTime.now().toSQL({ includeZone: false }) //=> '05:15:16.345 America/New_York'
   * @return {string}
   */

/**
   * Returns a string representation of this DateTime formatted according to the specified format string.
   * **You may not want this.** See {@link DateTime#toLocaleString} for a more flexible formatting tool. For a table of tokens and their interpretations, see [here](https://moment.github.io/luxon/#/formatting?id=table-of-tokens).
   * Defaults to en-US if no locale has been specified, regardless of the system's locale.
   * @param {string} fmt - the format string
   * @param {Object} opts - opts to override the configuration options on this DateTime
   * @example DateTime.now().toFormat('yyyy LLL dd') //=> '2017 Apr 22'
   * @example DateTime.now().setLocale('fr').toFormat('yyyy LLL dd') //=> '2017 avr. 22'
   * @example DateTime.now().toFormat('yyyy LLL dd', { locale: "fr" }) //=> '2017 avr. 22'
   * @example DateTime.now().toFormat("HH 'hours and' mm 'minutes'") //=> '20 hours and 55 minutes'
   * @return {string}
   */

/**
   * Returns a string representation of this Duration appropriate for the REPL.
   * @return {string}
   */

/**
   * Returns a string representation of this Duration formatted according to the specified format string. You may use these tokens:
   * * `S` for milliseconds
   * * `s` for seconds
   * * `m` for minutes
   * * `h` for hours
   * * `d` for days
   * * `w` for weeks
   * * `M` for months
   * * `y` for years
   * Notes:
   * * Add padding by repeating the token, e.g. "yy" pads the years to two digits, "hhhh" pads the hours out to four digits
   * * Tokens can be escaped by wrapping with single quotes.
   * * The duration will be converted to the set of units in the format string using {@link Duration#shiftTo} and the Durations's conversion accuracy setting.
   * @param {string} fmt - the format string
   * @param {Object} opts - options
   * @param {boolean} [opts.floor=true] - floor numerical values
   * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toFormat("y d s") //=> "1 6 2"
   * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toFormat("yy dd sss") //=> "01 06 002"
   * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toFormat("M S") //=> "12 518402000"
   * @return {string}
   */

/**
   * Returns a string representation of this Interval appropriate for debugging.
   * @return {string}
   */

/**
   * Returns a string representation of this Interval appropriate for the REPL.
   * @return {string}
   */

/**
   * Returns a string representation of this Interval formatted according to the specified format
   * string. **You may not want this.** See {@link Interval#toLocaleString} for a more flexible
   * formatting tool.
   * @param {string} dateFormat - The format string. This string formats the start and end time.
   * See {@link DateTime#toFormat} for details.
   * @param {Object} opts - Options.
   * @param {string} [opts.separator =  ' – '] - A separator to place between the start and end
   * representations.
   * @return {string}
   */

/**
   * Returns a string representation of this date relative to today, such as "yesterday" or "next month".
   * Only internationalizes on platforms that supports Intl.RelativeTimeFormat.
   * @param {Object} options - options that affect the output
   * @param {DateTime} [options.base=DateTime.now()] - the DateTime to use as the basis to which this time is compared. Defaults to now.
   * @param {string} options.locale - override the locale of this DateTime
   * @param {string} options.unit - use a specific unit; if omitted, the method will pick the unit. Use one of "years", "quarters", "months", "weeks", or "days"
   * @param {string} options.numberingSystem - override the numberingSystem of this DateTime. The Intl system may choose not to honor this
   * @example DateTime.now().plus({ days: 1 }).toRelativeCalendar() //=> "tomorrow"
   * @example DateTime.now().setLocale("es").plus({ days: 1 }).toRelative() //=> ""mañana"
   * @example DateTime.now().plus({ days: 1 }).toRelativeCalendar({ locale: "fr" }) //=> "demain"
   * @example DateTime.now().minus({ days: 2 }).toRelativeCalendar() //=> "2 days ago"
   */

/**
   * Returns an ISO 8601 representation of this DateTime appropriate for use in JSON.
   * @return {string}
   */

/**
   * Returns an ISO 8601 representation of this Duration appropriate for use in JSON.
   * @return {string}
   */

/**
   * Returns an ISO 8601 representation of this Duration appropriate for use in debugging.
   * @return {string}
   */

/**
   * Returns an ISO 8601-compliant string representation of date of this Interval.
   * The time components are ignored.
   * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals
   * @return {string}
   */

/**
   * Returns an ISO 8601-compliant string representation of this DateTime
   * @param {Object} opts - options
   * @param {boolean} [opts.suppressMilliseconds=false] - exclude milliseconds from the format if they're 0
   * @param {boolean} [opts.suppressSeconds=false] - exclude seconds from the format if they're 0
   * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'
   * @param {boolean} [opts.extendedZone=false] - add the time zone format extension
   * @param {string} [opts.format='extended'] - choose between the basic and extended format
   * @example DateTime.utc(1983, 5, 25).toISO() //=> '1982-05-25T00:00:00.000Z'
   * @example DateTime.now().toISO() //=> '2017-04-22T20:47:05.335-04:00'
   * @example DateTime.now().toISO({ includeOffset: false }) //=> '2017-04-22T20:47:05.335'
   * @example DateTime.now().toISO({ format: 'basic' }) //=> '20170422T204705.335-0400'
   * @return {string}
   */

/**
   * Returns an ISO 8601-compliant string representation of this DateTime's date component
   * @param {Object} opts - options
   * @param {string} [opts.format='extended'] - choose between the basic and extended format
   * @example DateTime.utc(1982, 5, 25).toISODate() //=> '1982-05-25'
   * @example DateTime.utc(1982, 5, 25).toISODate({ format: 'basic' }) //=> '19820525'
   * @return {string}
   */

/**
   * Returns an ISO 8601-compliant string representation of this DateTime's time component
   * @param {Object} opts - options
   * @param {boolean} [opts.suppressMilliseconds=false] - exclude milliseconds from the format if they're 0
   * @param {boolean} [opts.suppressSeconds=false] - exclude seconds from the format if they're 0
   * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'
   * @param {boolean} [opts.extendedZone=true] - add the time zone format extension
   * @param {boolean} [opts.includePrefix=false] - include the `T` prefix
   * @param {string} [opts.format='extended'] - choose between the basic and extended format
   * @example DateTime.utc().set({ hour: 7, minute: 34 }).toISOTime() //=> '07:34:19.361Z'
   * @example DateTime.utc().set({ hour: 7, minute: 34, seconds: 0, milliseconds: 0 }).toISOTime({ suppressSeconds: true }) //=> '07:34Z'
   * @example DateTime.utc().set({ hour: 7, minute: 34 }).toISOTime({ format: 'basic' }) //=> '073419.361Z'
   * @example DateTime.utc().set({ hour: 7, minute: 34 }).toISOTime({ includePrefix: true }) //=> 'T07:34:19.361Z'
   * @return {string}
   */

/**
   * Returns an ISO 8601-compliant string representation of this DateTime's week date
   * @example DateTime.utc(1982, 5, 25).toISOWeekDate() //=> '1982-W21-2'
   * @return {string}
   */

/**
   * Returns an ISO 8601-compliant string representation of this Duration, formatted as a time of day.
   * Note that this will return null if the duration is invalid, negative, or equal to or greater than 24 hours.
   * @see https://en.wikipedia.org/wiki/ISO_8601#Times
   * @param {Object} opts - options
   * @param {boolean} [opts.suppressMilliseconds=false] - exclude milliseconds from the format if they're 0
   * @param {boolean} [opts.suppressSeconds=false] - exclude seconds from the format if they're 0
   * @param {boolean} [opts.includePrefix=false] - include the `T` prefix
   * @param {string} [opts.format='extended'] - choose between the basic and extended format
   * @example Duration.fromObject({ hours: 11 }).toISOTime() //=> '11:00:00.000'
   * @example Duration.fromObject({ hours: 11 }).toISOTime({ suppressMilliseconds: true }) //=> '11:00:00'
   * @example Duration.fromObject({ hours: 11 }).toISOTime({ suppressSeconds: true }) //=> '11:00'
   * @example Duration.fromObject({ hours: 11 }).toISOTime({ includePrefix: true }) //=> 'T11:00:00.000'
   * @example Duration.fromObject({ hours: 11 }).toISOTime({ format: 'basic' }) //=> '110000.000'
   * @return {string}
   */

/**
   * Returns an ISO 8601-compliant string representation of this Duration.
   * @see https://en.wikipedia.org/wiki/ISO_8601#Durations
   * @example Duration.fromObject({ years: 3, seconds: 45 }).toISO() //=> 'P3YT45S'
   * @example Duration.fromObject({ months: 4, seconds: 45 }).toISO() //=> 'P4MT45S'
   * @example Duration.fromObject({ months: 5 }).toISO() //=> 'P5M'
   * @example Duration.fromObject({ minutes: 5 }).toISO() //=> 'PT5M'
   * @example Duration.fromObject({ milliseconds: 6 }).toISO() //=> 'PT0.006S'
   * @return {string}
   */

/**
   * Returns an ISO 8601-compliant string representation of this Interval.
   * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals
   * @param {Object} opts - The same options as {@link DateTime#toISO}
   * @return {string}
   */

/**
   * Returns an ISO 8601-compliant string representation of time of this Interval.
   * The date components are ignored.
   * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals
   * @param {Object} opts - The same options as {@link DateTime#toISO}
   * @return {string}
   */

/**
   * Returns an RFC 2822-compatible string representation of this DateTime
   * @example DateTime.utc(2014, 7, 13).toRFC2822() //=> 'Sun, 13 Jul 2014 00:00:00 +0000'
   * @example DateTime.local(2014, 7, 13).toRFC2822() //=> 'Sun, 13 Jul 2014 00:00:00 -0400'
   * @return {string}
   */

/**
   * Returns an array of format "parts", meaning individual tokens along with metadata. This is allows callers to post-process individual sections of the formatted output.
   * Defaults to the system's locale if no locale has been specified
   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat/formatToParts
   * @param opts {Object} - Intl.DateTimeFormat constructor options, same as `toLocaleString`.
   * @example DateTime.now().toLocaleParts(); //=> [
   *                                   //=>   { type: 'day', value: '25' },
   *                                   //=>   { type: 'literal', value: '/' },
   *                                   //=>   { type: 'month', value: '05' },
   *                                   //=>   { type: 'literal', value: '/' },
   *                                   //=>   { type: 'year', value: '1982' }
   *                                   //=> ]
   */

/**
   * Returns an error code if this DateTime is invalid, or null if the DateTime is valid
   * @type {string}
   */

/**
   * Returns an error code if this Duration became invalid, or null if the Duration is valid
   * @return {string}
   */

/**
   * Returns an error code if this Interval is invalid, or null if the Interval is valid
   * @type {string}
   */

/**
   * Returns an explanation of why this DateTime became invalid, or null if the DateTime is valid
   * @type {string}
   */

/**
   * Returns an explanation of why this Duration became invalid, or null if the Duration is valid
   * @type {string}
   */

/**
   * Returns an explanation of why this Interval became invalid, or null if the Interval is valid
   * @type {string}
   */

/**
   * Returns an milliseconds value of this Duration.
   * @return {number}
   */

/**
   * Returns an milliseconds value of this Duration. Alias of {@link toMillis}
   * @return {number}
   */

/**
   * Returns an object that contains a new `CancelToken` and a function that, when called,
   * cancels the `CancelToken`.
   */

/**
   * Returns the count of minutes, hours, days, months, or years included in the Interval, even in part.
   * Unlike {@link Interval#length} this counts sections of the calendar, not periods of time, e.g. specifying 'day'
   * asks 'what dates are included in this interval?', not 'how many days long is this interval?'
   * @param {string} [unit='milliseconds'] - the unit of time to count.
   * @param {Object} opts - options
   * @param {boolean} [opts.useLocaleWeeks=false] - If true, use weeks based on the locale, i.e. use the locale-dependent start of the week; this operation will always use the locale of the start DateTime
   * @return {number}
   */

/**
   * Returns the end of the Interval
   * @type {DateTime}
   */

/**
   * Returns the epoch milliseconds of this DateTime.
   * @return {number}
   */

/**
   * Returns the epoch milliseconds of this DateTime. Alias of {@link DateTime#toMillis}
   * @return {number}
   */

/**
   * Returns the epoch seconds (as a whole number) of this DateTime.
   * @return {number}
   */

/**
   * Returns the epoch seconds of this DateTime.
   * @return {number}
   */

/**
   * Returns the length of the Interval in the specified unit.
   * @param {string} unit - the unit (such as 'hours' or 'days') to return the length in.
   * @return {number}
   */

/**
   * Returns the number of days in this DateTime's month
   * @example DateTime.local(2016, 2).daysInMonth //=> 29
   * @example DateTime.local(2016, 3).daysInMonth //=> 31
   * @type {number}
   */

/**
   * Returns the number of days in this DateTime's year
   * @example DateTime.local(2016).daysInYear //=> 366
   * @example DateTime.local(2013).daysInYear //=> 365
   * @type {number}
   */

/**
   * Returns the number of weeks in this DateTime's local week year
   * @example DateTime.local(2020, 6, {locale: 'en-US'}).weeksInLocalWeekYear //=> 52
   * @example DateTime.local(2020, 6, {locale: 'de-DE'}).weeksInLocalWeekYear //=> 53
   * @type {number}
   */

/**
   * Returns the number of weeks in this DateTime's year
   * @see https://en.wikipedia.org/wiki/ISO_week_date
   * @example DateTime.local(2004).weeksInWeekYear //=> 53
   * @example DateTime.local(2013).weeksInWeekYear //=> 52
   * @type {number}
   */

/**
   * Returns the offset's common name (such as EST) at the specified timestamp
   * @abstract
   * @param {number} ts - Epoch milliseconds for which to get the name
   * @param {Object} opts - Options to affect the format
   * @param {string} opts.format - What style of offset to return. Accepts 'long' or 'short'.
   * @param {string} opts.locale - What locale to return the offset name in.
   * @return {string}
   */

/**
   * Returns the offset's value as a string
   * @abstract
   * @param {number} ts - Epoch milliseconds for which to get the offset
   * @param {string} format - What style of offset to return.
   *                          Accepts 'narrow', 'short', or 'techie'. Returning '+6', '+06:00', or '+0600' respectively
   * @return {string}
   */

/**
   * Returns the resolved Intl options for this DateTime.
   * This is useful in understanding the behavior of formatting methods
   * @param {Object} opts - the same options as toLocaleString
   * @return {Object}
   */

/**
   * Returns the start of the Interval
   * @type {DateTime}
   */

/**
   * Returns true if this DateTime is in a leap year, false otherwise
   * @example DateTime.local(2016).isInLeapYear //=> true
   * @example DateTime.local(2013).isInLeapYear //=> false
   * @type {boolean}
   */

/**
   * Returns true if this date is on a weekend according to the locale, false otherwise
   * @returns {boolean}
   */

/**
   * Returns whether the DateTime is valid. Invalid DateTimes occur when:
   * * The DateTime was created from invalid calendar information, such as the 13th month or February 30
   * * The DateTime was created by an operation on another invalid date
   * @type {boolean}
   */

/**
   * Returns whether the Duration is invalid. Invalid durations are returned by diff operations
   * on invalid DateTimes or Intervals.
   * @return {boolean}
   */

/**
   * Returns whether the offset is known to be fixed for the whole year.
   * @abstract
   * @type {boolean}
   */

/**
   * Returns whether the provided string identifies a real zone
   * @param {string} zone - The string to check
   * @example IANAZone.isValidZone("America/New_York") //=> true
   * @example IANAZone.isValidZone("Fantasia/Castle") //=> false
   * @example IANAZone.isValidZone("Sport~~blorp") //=> false
   * @return {boolean}
   */

/**
   * Returns whether the provided string is a valid specifier. This only checks the string's format, not that the specifier identifies a known zone; see isValidZone for that.
   * @param {string} s - The string to check validity on
   * @example IANAZone.isValidSpecifier("America/New_York") //=> true
   * @example IANAZone.isValidSpecifier("Sport~~blorp") //=> false
   * @deprecated This method returns false for some valid IANA names. Use isValidZone instead.
   * @return {boolean}
   */

/**
   * Returns whether this Interval's end is at least its start, meaning that the Interval isn't 'backwards'.
   * @type {boolean}
   */

/**
   * Returns whether this Interval's start and end are both in the same unit of time
   * @param {string} unit - the unit of time to check sameness on
   * @return {boolean}
   */

/**
   * Run mapFn on the interval start and end, returning a new Interval from the resulting DateTimes
   * @param {function} mapFn
   * @return {Interval}
   * @example Interval.fromDateTimes(dt1, dt2).mapEndpoints(endpoint => endpoint.toUTC())
   * @example Interval.fromDateTimes(dt1, dt2).mapEndpoints(endpoint => endpoint.plus({ hours: 2 }))
   */

/**
   * Scale this Duration by the specified amount. Return a newly-constructed Duration.
   * @param {function} fn - The function to apply to each unit. Arity is 1 or 2: the value of the unit and, optionally, the unit name. Must return a number.
   * @example Duration.fromObject({ hours: 1, minutes: 30 }).mapUnits(x => x * 2) //=> { hours: 2, minutes: 60 }
   * @example Duration.fromObject({ hours: 1, minutes: 30 }).mapUnits((x, u) => u === "hours" ? x * 2 : x) //=> { hours: 2, minutes: 30 }
   * @return {Duration}
   */

/**
   * Set the callback for returning the current timestamp.
   * The function should return a number, which will be interpreted as an Epoch millisecond count
   * @type {function}
   * @example Settings.now = () => Date.now() + 3000 // pretend it is 3 seconds in the future
   * @example Settings.now = () => 0 // always pretend it's Jan 1, 1970 at midnight in UTC time
   */

/**
   * Set the cutoff year after which a string encoding a year as two digits is interpreted to occur in the current century.
   * @type {number}
   * @example Settings.twoDigitCutoffYear = 0 // cut-off year is 0, so all 'yy' are interpreted as current century
   * @example Settings.twoDigitCutoffYear = 50 // '49' -> 1949; '50' -> 2050
   * @example Settings.twoDigitCutoffYear = 1950 // interpreted as 50
   * @example Settings.twoDigitCutoffYear = 2050 // ALSO interpreted as 50
   */

/**
   * Set the default locale to create DateTimes with. Does not affect existing instances.
   * @type {string}
   */

/**
   * Set the default numbering system to create DateTimes with. Does not affect existing instances.
   * @type {string}
   */

/**
   * Set the default output calendar to create DateTimes with. Does not affect existing instances.
   * @type {string}
   */

/**
   * Set the default time zone to create DateTimes in. Does not affect existing instances.
   * Use the value "system" to reset this value to the system's time zone.
   * @type {string}
   */

/**
   * Set whether Luxon will throw when it encounters invalid DateTimes, Durations, or Intervals
   * @type {boolean}
   */

/**
   * Shift this Duration to all available units.
   * Same as shiftTo("years", "months", "weeks", "days", "hours", "minutes", "seconds", "milliseconds")
   * @return {Duration}
   */

/**
   * Should be called if a blur event is fired
   */

/**
   * Split this Interval at each of the specified DateTimes
   * @param {...DateTime} dateTimes - the unit of time to count.
   * @return {Array}
   */

/**
   * Split this Interval into smaller Intervals, each of the specified length.
   * Left over time is grouped into a smaller interval
   * @param {Duration|Object|number} duration - The length of each resulting interval.
   * @return {Array}
   */

/**
   * Split this Interval into the specified number of smaller intervals.
   * @param {number} numberOfParts - The number of Intervals to divide the Interval into.
   * @return {Array}
   */

/**
   * Stop-color doesn't properly apply in chrome when the inherited/current color changes.
   * We have to initially set stop-color to inherit (either via DOM attribute or an initial CSS
   * rule) and then override it with currentColor for the color changes to be picked up.
   */

/**
   * Subscribe to the cancel signal
   */

/**
   * Subtract a period of time to this DateTime and return the resulting DateTime
   * See {@link DateTime#plus}
   * @param {Duration|Object|number} duration - The amount to subtract. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()
   @return {DateTime}
   */

/**
   * The Spinner animation uses a combination of two
   * css animations on two separate elements.
   */

/**
   * The Theme Provider takes regular nodes as its children, but also takes a *theme function*
   * - The theme function takes a set of props, as well as a function (getTokens) that can turn props into tokens.
   * - The getTokens function isn't called immediately - instead the props are passed
   *    through a mix of parent theming functions
   * Children of this provider will receive this mixed theme
   */

/**
   * The name of this zone.
   * @abstract
   * @type {string}
   */

/**
   * The reasoning for this behavior is so that if a tooltip mounts during
   * a drag it can still be suppressed.
   *
   * We use a separate callback instead of onDragStart to avoid infinite loops.
   */

/**
   * The type of zone
   * @abstract
   * @type {string}
   */

/**
   * The wrapping span is necessary to preserve spaces between children.
   * Otherwise the flex layout of the message will remove any whitespace
   * between children.
   *
   * If the child is just a string, this is not required and we can use one
   * less DOM element.
   */

/**
   * This ensures that the element fills the viewport on mobile
   * while also allowing it to overflow if its height is larger than
   * the viewport.
   */

/**
   * This makes a shallow copy of currentListeners so we can use
   * nextListeners as a temporary list while dispatching.
   *
   * This prevents any bugs around consumers calling
   * subscribe/unsubscribe in the middle of a dispatch.
   */

/**
   * This will create a new function if the refs passed to this hook change and are all defined.
   * This means react will call the old forkRef with `null` and the new forkRef
   * with the ref. Cleanup naturally emerges from this behavior.
   */

/**
   * Throws a `CanceledError` if cancellation has been requested.
   */

/**
   * Unsubscribe from the cancel signal
   */

/**
   * Use this method to set a custom function to batch notifications together into a single tick.
   * By default React Query will use the batch function provided by ReactDOM or React Native.
   */

/**
   * Use this method to set a custom notify function.
   * This can be used to for example wrap notifications with `React.act` while running tests.
   */

/**
   * We are going to animate this in.
   */

/**
   * When the animation completes, stay at the last frame of the animation.
   */

/**
   * Where the color of the surface is inverted we always override the color
   * as there is no valid choice that is not covered by the override.
   */

/**
   * iframe with contents defined inline. Runs on the current origin.
   * `<iframe src={`data:text/html;charset=utf-8,${encodeURI('<!doctype html><body>Hello</body>')}`} />`
   */

/**
   * iframe with contents defined inline. Runs on the current origin.
   * `<iframe srcdoc="<!doctype html><body>Hello</body>" />`
   */

/**
   * placement initialized from prop but can change during lifetime if modifiers.flip.
   * modifiers.flip is essentially a flip for controlled/uncontrolled behavior
   */

/**
   * the index of the item should receive focus
   * in a `variant="selectedMenu"` it's the first `selected` item
   * otherwise it's the very first item.
   */

/**
   * {@link DateTime#toLocaleString} format like '09:30 AM'. Only 12-hour if the locale is.
   * @type {Object}
   */

/**
   * {@link DateTime#toLocaleString} format like '09:30', always 24-hour.
   * @type {Object}
   */

/**
   * {@link DateTime#toLocaleString} format like '09:30:23 AM EDT'. Only 12-hour if the locale is.
   * @type {Object}
   */

/**
   * {@link DateTime#toLocaleString} format like '09:30:23 AM Eastern Daylight Time'. Only 12-hour if the locale is.
   * @type {Object}
   */

/**
   * {@link DateTime#toLocaleString} format like '09:30:23 AM'. Only 12-hour if the locale is.
   * @type {Object}
   */

/**
   * {@link DateTime#toLocaleString} format like '09:30:23 EDT', always 24-hour.
   * @type {Object}
   */

/**
   * {@link DateTime#toLocaleString} format like '09:30:23 Eastern Daylight Time', always 24-hour.
   * @type {Object}
   */

/**
   * {@link DateTime#toLocaleString} format like '09:30:23', always 24-hour.
   * @type {Object}
   */

/**
   * {@link DateTime#toLocaleString} format like '10/14/1983, 9:30 AM'. Only 12-hour if the locale is.
   * @type {Object}
   */

/**
   * {@link DateTime#toLocaleString} format like '10/14/1983, 9:30:33 AM'. Only 12-hour if the locale is.
   * @type {Object}
   */

/**
   * {@link DateTime#toLocaleString} format like 'Fri, 14 Oct 1983, 9:30 AM'. Only 12-hour if the locale is.
   * @type {Object}
   */

/**
   * {@link DateTime#toLocaleString} format like 'Fri, Oct 14, 1983'
   * @type {Object}
   */

/**
   * {@link DateTime#toLocaleString} format like 'Friday, October 14, 1983, 9:30 AM Eastern Daylight Time'. Only 12-hour if the locale is.
   * @type {Object}
   */

/**
   * {@link DateTime#toLocaleString} format like 'Friday, October 14, 1983, 9:30:33 AM Eastern Daylight Time'. Only 12-hour if the locale is.
   * @type {Object}
   */

/**
   * {@link DateTime#toLocaleString} format like 'Oct 14, 1983'
   * @type {Object}
   */

/**
   * {@link DateTime#toLocaleString} format like 'Oct 14, 1983, 9:30 AM'. Only 12-hour if the locale is.
   * @type {Object}
   */

/**
   * {@link DateTime#toLocaleString} format like 'Oct 14, 1983, 9:30:33 AM'. Only 12-hour if the locale is.
   * @type {Object}
   */

/**
   * {@link DateTime#toLocaleString} format like 'October 14, 1983'
   * @type {Object}
   */

/**
   * {@link DateTime#toLocaleString} format like 'October 14, 1983, 9:30 AM EDT'. Only 12-hour if the locale is.
   * @type {Object}
   */

/**
   * {@link DateTime#toLocaleString} format like 'October 14, 1983, 9:30:33 AM EDT'. Only 12-hour if the locale is.
   * @type {Object}
   */

/**
   * {@link DateTime#toLocaleString} format like 'Tuesday, October 14, 1983'
   * @type {Object}
   */

/**
   * {@link DateTime#toLocaleString} format like 10/14/1983
   * @type {Object}
   */

/**
   * 🦊 Exception: `iframe` in Firefox (`125.0`)
   *
   * Case 1: parent `window` → child `iframe`
   * `dragLeave.relatedTarget` is element _inside_ the child `iframe`
   * (foreign element)
   *
   * Case 2: child `iframe` → parent `window`
   * `dragLeave.relatedTarget` is the `iframe` in the parent `window`
   * (foreign element)
   */

/**
   * 🦊 Exception: `iframe` in Firefox (`125.0`)
   *
   * Case 1: parent `window` → child `iframe`
   * `relatedTarget` is the `iframe` element in the parent `window`
   * (foreign element)
   *
   * Case 2: child `iframe` → parent `window`
   * `relatedTarget` is an element inside the child `iframe`
   * (foreign element)
   */

/**
  @param t: time (elapsed)
  @param b: initial value
  @param c: amount of change
  @param d: duration
*/

/**
  Webpack + React 17 fails to compile on any of the following because webpack
  complains that `startTransition` doesn't exist in `React`:
  * import { startTransition } from "react"
  * import * as React from from "react";
    "startTransition" in React ? React.startTransition(() => setState()) : setState()
  * import * as React from from "react";
    "startTransition" in React ? React["startTransition"](() => setState()) : setState()

  Moving it to a constant such as the following solves the Webpack/React 17 issue:
  * import * as React from from "react";
    const START_TRANSITION = "startTransition";
    START_TRANSITION in React ? React[START_TRANSITION](() => setState()) : setState()

  However, that introduces webpack/terser minification issues in production builds
  in React 18 where minification/obfuscation ends up removing the call of
  React.startTransition entirely from the first half of the ternary.  Grabbing
  this exported reference once up front resolves that issue.

  See https://github.com/remix-run/react-router/issues/10579
*/

/**
 *
 *  @internal
 * LevelContext which maintains the current level of nested layers
 * Default is 0
 */

/**
 *
 *  @internal
 * TopLevelContext which maintains the top level ref and setTopLevel method of layers
 * Default ref value is null
 *
 */

/**
 *
 * @example <div id={useId()} />
 * @param idOverride
 * @returns {string}
 */

/**
 *
 * @experimental Still under development. Do not use.
 *
 * Layering hook to get layering info like the current level, the top level of
 * the given component
 *
 */

/**
 *
 * @param monitor The monitor to collect state from
 * @param collect The collecting function
 * @param onUpdate A method to invoke when updates occur
 */

/**
 *
 * @param {Object} obj : source object
 * @param {Function} callback : a function that will be called when
 *                   - the deepest key in source object is reached
 *                   - the value of the deepest key is NOT `undefined` | `null`
 *
 * @example
 * walkObjectDeep({ palette: { primary: { main: '#000000' } } }, console.log)
 * // ['palette', 'primary', 'main'] '#000000'
 */

/**
 *
 * Creates an array cache object to store unique values.
 *
 * @private
 * @constructor
 * @param {Array} [values] The values to cache.
 */

/**
 *
 * Demos:
 *
 * - [Modal](https://mui.com/base-ui/react-modal/#hook)
 *
 * API:
 *
 * - [useModal API](https://mui.com/base-ui/react-modal/hooks-api/#use-modal)
 */

/**
 *
 * Demos:
 *
 * - [Textarea Autosize](https://mui.com/material-ui/react-textarea-autosize/)
 *
 * API:
 *
 * - [TextareaAutosize API](https://mui.com/material-ui/api/textarea-autosize/)
 */

/**
 *  ________________________________________________
 * | MAJOR VERSIONS WILL NOT KNOW ABOUT EACH OTHER! |
 *  ------------------------------------------------
 *
 * An array which holds references to all currently open modal dialogs.
 * This will only work for modal dialogs of the same major version,
 * as the reference will be different between them.
 *
 * E.g. V11 won't know about any from V12.
 */

/**
 * ### xcss
 *
 * `xcss` is a safer, tokens-first approach to CSS-in-JS. It allows token-backed values for
 * CSS application.
 *
 * ```tsx
 * const styles = xcss({
 *   padding: 'space.100'
 * })
 * ```
 */

/**
 * (legacy alias)
 * Adds locale data for a specific locale.
 * @param {Object} localeData
 * @deprecated
 */

/**
 * @codegenEnd
 */

/**
 * @deprecated
 *
 * **We recommend using the `configureStore` method
 * of the `@reduxjs/toolkit` package**, which replaces `createStore`.
 *
 * Redux Toolkit is our recommended approach for writing Redux logic today,
 * including store setup, reducers, data fetching, and more.
 *
 * **For more details, please read this Redux docs page:**
 * **https://redux.js.org/introduction/why-rtk-is-redux-today**
 *
 * `configureStore` from Redux Toolkit is an improved version of `createStore` that
 * simplifies setup and helps avoid common bugs.
 *
 * You should not be using the `redux` core package by itself today, except for learning purposes.
 * The `createStore` method from the core `redux` package will not be removed, but we encourage
 * all users to migrate to using Redux Toolkit for all Redux code.
 *
 * If you want to use `createStore` without this visual deprecation warning, use
 * the `legacy_createStore` import instead:
 *
 * `import { legacy_createStore as createStore} from 'redux'`
 *
 */

/**
 * @deprecated
 *
 * Pass `fatal` into the params object instead:
 *
 * ```ts
 * z.string().custom((val) => val.length > 5, { fatal: false })
 * ```
 *
 */

/**
 * @deprecated Please use useCloseOnEscapePress from '@atlaskit/layering' instead.
 * Calls back when the escape key is pressed.
 * To be used exclusively for closing layered components.
 * Use the `isDisabled` argument to ignore closing events.
 *
 * ```js
 * useCloseOnEscapePress({
 *   onClose: () => {},
 *   isDisabled: false,
 * });
 * ```
 */

/**
 * @ignore - do not document.
 *
 * Proper state management for containers and the modals in those containers.
 * Simplified, but inspired by react-overlay's ModalManager class.
 * Used by the Modal to ensure proper styling of containers.
 */

/**
 * @ignore - do not document.
 * Builds the props to be passed into the slot of an unstyled component.
 * It merges the internal props of the component with the ones supplied by the user, allowing to customize the behavior.
 * If the slot component is not a host component, it also merges in the `ownerState`.
 *
 * @param parameters.getSlotProps - A function that returns the props to be passed to the slot component.
 */

/**
 * @ignore - internal component.
 */

/**
 * @interface
 */

/**
 * @internal These variables should not appear in the :root stylesheet when the `defaultMode="dark"`
 */

/**
 * @jsxRuntime classic
 * @jsx jsx
 */

/**
 * @license React
 * react-is.production.min.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

/**
 * @name addMilliseconds
 * @category Millisecond Helpers
 * @summary Add the specified number of milliseconds to the given date.
 *
 * @description
 * Add the specified number of milliseconds to the given date.
 *
 * @param {Date|Number} date - the date to be changed
 * @param {Number} amount - the amount of milliseconds to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.
 * @returns {Date} the new date with the milliseconds added
 * @throws {TypeError} 2 arguments required
 *
 * @example
 * // Add 750 milliseconds to 10 July 2014 12:45:30.000:
 * const result = addMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750)
 * //=> Thu Jul 10 2014 12:45:30.750
 */

/**
 * @name format
 * @category Common Helpers
 * @summary Format the date.
 *
 * @description
 * Return the formatted date string in the given format. The result may vary by locale.
 *
 * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.
 * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md
 *
 * The characters wrapped between two single quotes characters (') are escaped.
 * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.
 * (see the last example)
 *
 * Format of the string is based on Unicode Technical Standard #35:
 * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table
 * with a few additions (see note 7 below the table).
 *
 * Accepted patterns:
 * | Unit                            | Pattern | Result examples                   | Notes |
 * |---------------------------------|---------|-----------------------------------|-------|
 * | Era                             | G..GGG  | AD, BC                            |       |
 * |                                 | GGGG    | Anno Domini, Before Christ        | 2     |
 * |                                 | GGGGG   | A, B                              |       |
 * | Calendar year                   | y       | 44, 1, 1900, 2017                 | 5     |
 * |                                 | yo      | 44th, 1st, 0th, 17th              | 5,7   |
 * |                                 | yy      | 44, 01, 00, 17                    | 5     |
 * |                                 | yyy     | 044, 001, 1900, 2017              | 5     |
 * |                                 | yyyy    | 0044, 0001, 1900, 2017            | 5     |
 * |                                 | yyyyy   | ...                               | 3,5   |
 * | Local week-numbering year       | Y       | 44, 1, 1900, 2017                 | 5     |
 * |                                 | Yo      | 44th, 1st, 1900th, 2017th         | 5,7   |
 * |                                 | YY      | 44, 01, 00, 17                    | 5,8   |
 * |                                 | YYY     | 044, 001, 1900, 2017              | 5     |
 * |                                 | YYYY    | 0044, 0001, 1900, 2017            | 5,8   |
 * |                                 | YYYYY   | ...                               | 3,5   |
 * | ISO week-numbering year         | R       | -43, 0, 1, 1900, 2017             | 5,7   |
 * |                                 | RR      | -43, 00, 01, 1900, 2017           | 5,7   |
 * |                                 | RRR     | -043, 000, 001, 1900, 2017        | 5,7   |
 * |                                 | RRRR    | -0043, 0000, 0001, 1900, 2017     | 5,7   |
 * |                                 | RRRRR   | ...                               | 3,5,7 |
 * | Extended year                   | u       | -43, 0, 1, 1900, 2017             | 5     |
 * |                                 | uu      | -43, 01, 1900, 2017               | 5     |
 * |                                 | uuu     | -043, 001, 1900, 2017             | 5     |
 * |                                 | uuuu    | -0043, 0001, 1900, 2017           | 5     |
 * |                                 | uuuuu   | ...                               | 3,5   |
 * | Quarter (formatting)            | Q       | 1, 2, 3, 4                        |       |
 * |                                 | Qo      | 1st, 2nd, 3rd, 4th                | 7     |
 * |                                 | QQ      | 01, 02, 03, 04                    |       |
 * |                                 | QQQ     | Q1, Q2, Q3, Q4                    |       |
 * |                                 | QQQQ    | 1st quarter, 2nd quarter, ...     | 2     |
 * |                                 | QQQQQ   | 1, 2, 3, 4                        | 4     |
 * | Quarter (stand-alone)           | q       | 1, 2, 3, 4                        |       |
 * |                                 | qo      | 1st, 2nd, 3rd, 4th                | 7     |
 * |                                 | qq      | 01, 02, 03, 04                    |       |
 * |                                 | qqq     | Q1, Q2, Q3, Q4                    |       |
 * |                                 | qqqq    | 1st quarter, 2nd quarter, ...     | 2     |
 * |                                 | qqqqq   | 1, 2, 3, 4                        | 4     |
 * | Month (formatting)              | M       | 1, 2, ..., 12                     |       |
 * |                                 | Mo      | 1st, 2nd, ..., 12th               | 7     |
 * |                                 | MM      | 01, 02, ..., 12                   |       |
 * |                                 | MMM     | Jan, Feb, ..., Dec                |       |
 * |                                 | MMMM    | January, February, ..., December  | 2     |
 * |                                 | MMMMM   | J, F, ..., D                      |       |
 * | Month (stand-alone)             | L       | 1, 2, ..., 12                     |       |
 * |                                 | Lo      | 1st, 2nd, ..., 12th               | 7     |
 * |                                 | LL      | 01, 02, ..., 12                   |       |
 * |                                 | LLL     | Jan, Feb, ..., Dec                |       |
 * |                                 | LLLL    | January, February, ..., December  | 2     |
 * |                                 | LLLLL   | J, F, ..., D                      |       |
 * | Local week of year              | w       | 1, 2, ..., 53                     |       |
 * |                                 | wo      | 1st, 2nd, ..., 53th               | 7     |
 * |                                 | ww      | 01, 02, ..., 53                   |       |
 * | ISO week of year                | I       | 1, 2, ..., 53                     | 7     |
 * |                                 | Io      | 1st, 2nd, ..., 53th               | 7     |
 * |                                 | II      | 01, 02, ..., 53                   | 7     |
 * | Day of month                    | d       | 1, 2, ..., 31                     |       |
 * |                                 | do      | 1st, 2nd, ..., 31st               | 7     |
 * |                                 | dd      | 01, 02, ..., 31                   |       |
 * | Day of year                     | D       | 1, 2, ..., 365, 366               | 9     |
 * |                                 | Do      | 1st, 2nd, ..., 365th, 366th       | 7     |
 * |                                 | DD      | 01, 02, ..., 365, 366             | 9     |
 * |                                 | DDD     | 001, 002, ..., 365, 366           |       |
 * |                                 | DDDD    | ...                               | 3     |
 * | Day of week (formatting)        | E..EEE  | Mon, Tue, Wed, ..., Sun           |       |
 * |                                 | EEEE    | Monday, Tuesday, ..., Sunday      | 2     |
 * |                                 | EEEEE   | M, T, W, T, F, S, S               |       |
 * |                                 | EEEEEE  | Mo, Tu, We, Th, Fr, Sa, Su        |       |
 * | ISO day of week (formatting)    | i       | 1, 2, 3, ..., 7                   | 7     |
 * |                                 | io      | 1st, 2nd, ..., 7th                | 7     |
 * |                                 | ii      | 01, 02, ..., 07                   | 7     |
 * |                                 | iii     | Mon, Tue, Wed, ..., Sun           | 7     |
 * |                                 | iiii    | Monday, Tuesday, ..., Sunday      | 2,7   |
 * |                                 | iiiii   | M, T, W, T, F, S, S               | 7     |
 * |                                 | iiiiii  | Mo, Tu, We, Th, Fr, Sa, Su        | 7     |
 * | Local day of week (formatting)  | e       | 2, 3, 4, ..., 1                   |       |
 * |                                 | eo      | 2nd, 3rd, ..., 1st                | 7     |
 * |                                 | ee      | 02, 03, ..., 01                   |       |
 * |                                 | eee     | Mon, Tue, Wed, ..., Sun           |       |
 * |                                 | eeee    | Monday, Tuesday, ..., Sunday      | 2     |
 * |                                 | eeeee   | M, T, W, T, F, S, S               |       |
 * |                                 | eeeeee  | Mo, Tu, We, Th, Fr, Sa, Su        |       |
 * | Local day of week (stand-alone) | c       | 2, 3, 4, ..., 1                   |       |
 * |                                 | co      | 2nd, 3rd, ..., 1st                | 7     |
 * |                                 | cc      | 02, 03, ..., 01                   |       |
 * |                                 | ccc     | Mon, Tue, Wed, ..., Sun           |       |
 * |                                 | cccc    | Monday, Tuesday, ..., Sunday      | 2     |
 * |                                 | ccccc   | M, T, W, T, F, S, S               |       |
 * |                                 | cccccc  | Mo, Tu, We, Th, Fr, Sa, Su        |       |
 * | AM, PM                          | a..aa   | AM, PM                            |       |
 * |                                 | aaa     | am, pm                            |       |
 * |                                 | aaaa    | a.m., p.m.                        | 2     |
 * |                                 | aaaaa   | a, p                              |       |
 * | AM, PM, noon, midnight          | b..bb   | AM, PM, noon, midnight            |       |
 * |                                 | bbb     | am, pm, noon, midnight            |       |
 * |                                 | bbbb    | a.m., p.m., noon, midnight        | 2     |
 * |                                 | bbbbb   | a, p, n, mi                       |       |
 * | Flexible day period             | B..BBB  | at night, in the morning, ...     |       |
 * |                                 | BBBB    | at night, in the morning, ...     | 2     |
 * |                                 | BBBBB   | at night, in the morning, ...     |       |
 * | Hour [1-12]                     | h       | 1, 2, ..., 11, 12                 |       |
 * |                                 | ho      | 1st, 2nd, ..., 11th, 12th         | 7     |
 * |                                 | hh      | 01, 02, ..., 11, 12               |       |
 * | Hour [0-23]                     | H       | 0, 1, 2, ..., 23                  |       |
 * |                                 | Ho      | 0th, 1st, 2nd, ..., 23rd          | 7     |
 * |                                 | HH      | 00, 01, 02, ..., 23               |       |
 * | Hour [0-11]                     | K       | 1, 2, ..., 11, 0                  |       |
 * |                                 | Ko      | 1st, 2nd, ..., 11th, 0th          | 7     |
 * |                                 | KK      | 01, 02, ..., 11, 00               |       |
 * | Hour [1-24]                     | k       | 24, 1, 2, ..., 23                 |       |
 * |                                 | ko      | 24th, 1st, 2nd, ..., 23rd         | 7     |
 * |                                 | kk      | 24, 01, 02, ..., 23               |       |
 * | Minute                          | m       | 0, 1, ..., 59                     |       |
 * |                                 | mo      | 0th, 1st, ..., 59th               | 7     |
 * |                                 | mm      | 00, 01, ..., 59                   |       |
 * | Second                          | s       | 0, 1, ..., 59                     |       |
 * |                                 | so      | 0th, 1st, ..., 59th               | 7     |
 * |                                 | ss      | 00, 01, ..., 59                   |       |
 * | Fraction of second              | S       | 0, 1, ..., 9                      |       |
 * |                                 | SS      | 00, 01, ..., 99                   |       |
 * |                                 | SSS     | 000, 001, ..., 999                |       |
 * |                                 | SSSS    | ...                               | 3     |
 * | Timezone (ISO-8601 w/ Z)        | X       | -08, +0530, Z                     |       |
 * |                                 | XX      | -0800, +0530, Z                   |       |
 * |                                 | XXX     | -08:00, +05:30, Z                 |       |
 * |                                 | XXXX    | -0800, +0530, Z, +123456          | 2     |
 * |                                 | XXXXX   | -08:00, +05:30, Z, +12:34:56      |       |
 * | Timezone (ISO-8601 w/o Z)       | x       | -08, +0530, +00                   |       |
 * |                                 | xx      | -0800, +0530, +0000               |       |
 * |                                 | xxx     | -08:00, +05:30, +00:00            | 2     |
 * |                                 | xxxx    | -0800, +0530, +0000, +123456      |       |
 * |                                 | xxxxx   | -08:00, +05:30, +00:00, +12:34:56 |       |
 * | Timezone (GMT)                  | O...OOO | GMT-8, GMT+5:30, GMT+0            |       |
 * |                                 | OOOO    | GMT-08:00, GMT+05:30, GMT+00:00   | 2     |
 * | Timezone (specific non-locat.)  | z...zzz | GMT-8, GMT+5:30, GMT+0            | 6     |
 * |                                 | zzzz    | GMT-08:00, GMT+05:30, GMT+00:00   | 2,6   |
 * | Seconds timestamp               | t       | 512969520                         | 7     |
 * |                                 | tt      | ...                               | 3,7   |
 * | Milliseconds timestamp          | T       | 512969520900                      | 7     |
 * |                                 | TT      | ...                               | 3,7   |
 * | Long localized date             | P       | 04/29/1453                        | 7     |
 * |                                 | PP      | Apr 29, 1453                      | 7     |
 * |                                 | PPP     | April 29th, 1453                  | 7     |
 * |                                 | PPPP    | Friday, April 29th, 1453          | 2,7   |
 * | Long localized time             | p       | 12:00 AM                          | 7     |
 * |                                 | pp      | 12:00:00 AM                       | 7     |
 * |                                 | ppp     | 12:00:00 AM GMT+2                 | 7     |
 * |                                 | pppp    | 12:00:00 AM GMT+02:00             | 2,7   |
 * | Combination of date and time    | Pp      | 04/29/1453, 12:00 AM              | 7     |
 * |                                 | PPpp    | Apr 29, 1453, 12:00:00 AM         | 7     |
 * |                                 | PPPppp  | April 29th, 1453 at ...           | 7     |
 * |                                 | PPPPpppp| Friday, April 29th, 1453 at ...   | 2,7   |
 * Notes:
 * 1. "Formatting" units (e.g. formatting quarter) in the default en-US locale
 *    are the same as "stand-alone" units, but are different in some languages.
 *    "Formatting" units are declined according to the rules of the language
 *    in the context of a date. "Stand-alone" units are always nominative singular:
 *
 *    `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`
 *
 *    `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`
 *
 * 2. Any sequence of the identical letters is a pattern, unless it is escaped by
 *    the single quote characters (see below).
 *    If the sequence is longer than listed in table (e.g. `EEEEEEEEEEE`)
 *    the output will be the same as default pattern for this unit, usually
 *    the longest one (in case of ISO weekdays, `EEEE`). Default patterns for units
 *    are marked with "2" in the last column of the table.
 *
 *    `format(new Date(2017, 10, 6), 'MMM') //=> 'Nov'`
 *
 *    `format(new Date(2017, 10, 6), 'MMMM') //=> 'November'`
 *
 *    `format(new Date(2017, 10, 6), 'MMMMM') //=> 'N'`
 *
 *    `format(new Date(2017, 10, 6), 'MMMMMM') //=> 'November'`
 *
 *    `format(new Date(2017, 10, 6), 'MMMMMMM') //=> 'November'`
 *
 * 3. Some patterns could be unlimited length (such as `yyyyyyyy`).
 *    The output will be padded with zeros to match the length of the pattern.
 *
 *    `format(new Date(2017, 10, 6), 'yyyyyyyy') //=> '00002017'`
 *
 * 4. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.
 *    These tokens represent the shortest form of the quarter.
 *
 * 5. The main difference between `y` and `u` patterns are B.C. years:
 *
 *    | Year | `y` | `u` |
 *    |------|-----|-----|
 *    | AC 1 |   1 |   1 |
 *    | BC 1 |   1 |   0 |
 *    | BC 2 |   2 |  -1 |
 *
 *    Also `yy` always returns the last two digits of a year,
 *    while `uu` pads single digit years to 2 characters and returns other years unchanged:
 *
 *    | Year | `yy` | `uu` |
 *    |------|------|------|
 *    | 1    |   01 |   01 |
 *    | 14   |   14 |   14 |
 *    | 376  |   76 |  376 |
 *    | 1453 |   53 | 1453 |
 *
 *    The same difference is true for local and ISO week-numbering years (`Y` and `R`),
 *    except local week-numbering years are dependent on `options.weekStartsOn`
 *    and `options.firstWeekContainsDate` (compare [getISOWeekYear]{@link https://date-fns.org/docs/getISOWeekYear}
 *    and [getWeekYear]{@link https://date-fns.org/docs/getWeekYear}).
 *
 * 6. Specific non-location timezones are currently unavailable in `date-fns`,
 *    so right now these tokens fall back to GMT timezones.
 *
 * 7. These patterns are not in the Unicode Technical Standard #35:
 *    - `i`: ISO day of week
 *    - `I`: ISO week of year
 *    - `R`: ISO week-numbering year
 *    - `t`: seconds timestamp
 *    - `T`: milliseconds timestamp
 *    - `o`: ordinal number modifier
 *    - `P`: long localized date
 *    - `p`: long localized time
 *
 * 8. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.
 *    You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md
 *
 * 9. `D` and `DD` tokens represent days of the year but they are often confused with days of the month.
 *    You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md
 *
 * @param {Date|Number} date - the original date
 * @param {String} format - the string of tokens
 * @param {Object} [options] - an object with options.
 * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}
 * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)
 * @param {Number} [options.firstWeekContainsDate=1] - the day of January, which is
 * @param {Boolean} [options.useAdditionalWeekYearTokens=false] - if true, allows usage of the week-numbering year tokens `YY` and `YYYY`;
 *   see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md
 * @param {Boolean} [options.useAdditionalDayOfYearTokens=false] - if true, allows usage of the day of year tokens `D` and `DD`;
 *   see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md
 * @returns {String} the formatted date string
 * @throws {TypeError} 2 arguments required
 * @throws {RangeError} `date` must not be Invalid Date
 * @throws {RangeError} `options.locale` must contain `localize` property
 * @throws {RangeError} `options.locale` must contain `formatLong` property
 * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6
 * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7
 * @throws {RangeError} use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md
 * @throws {RangeError} use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md
 * @throws {RangeError} use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md
 * @throws {RangeError} use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md
 * @throws {RangeError} format string contains an unescaped latin alphabet character
 *
 * @example
 * // Represent 11 February 2014 in middle-endian format:
 * const result = format(new Date(2014, 1, 11), 'MM/dd/yyyy')
 * //=> '02/11/2014'
 *
 * @example
 * // Represent 2 July 2014 in Esperanto:
 * import { eoLocale } from 'date-fns/locale/eo'
 * const result = format(new Date(2014, 6, 2), "do 'de' MMMM yyyy", {
 *   locale: eoLocale
 * })
 * //=> '2-a de julio 2014'
 *
 * @example
 * // Escape string by single quote characters:
 * const result = format(new Date(2014, 6, 2, 15), "h 'o''clock'")
 * //=> "3 o'clock"
 */

/**
 * @name isDate
 * @category Common Helpers
 * @summary Is the given value a date?
 *
 * @description
 * Returns true if the given value is an instance of Date. The function works for dates transferred across iframes.
 *
 * @param {*} value - the value to check
 * @returns {boolean} true if the given value is a date
 * @throws {TypeError} 1 arguments required
 *
 * @example
 * // For a valid date:
 * const result = isDate(new Date())
 * //=> true
 *
 * @example
 * // For an invalid date:
 * const result = isDate(new Date(NaN))
 * //=> true
 *
 * @example
 * // For some value:
 * const result = isDate('2014-02-31')
 * //=> false
 *
 * @example
 * // For an object:
 * const result = isDate({})
 * //=> false
 */

/**
 * @name isValid
 * @category Common Helpers
 * @summary Is the given date valid?
 *
 * @description
 * Returns false if argument is Invalid Date and true otherwise.
 * Argument is converted to Date using `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}
 * Invalid Date is a Date, whose time value is NaN.
 *
 * Time value of Date: http://es5.github.io/#x15.9.1.1
 *
 * @param {*} date - the date to check
 * @returns {Boolean} the date is valid
 * @throws {TypeError} 1 argument required
 *
 * @example
 * // For the valid date:
 * const result = isValid(new Date(2014, 1, 31))
 * //=> true
 *
 * @example
 * // For the value, convertable into a date:
 * const result = isValid(1393804800000)
 * //=> true
 *
 * @example
 * // For the invalid date:
 * const result = isValid(new Date(''))
 * //=> false
 */

/**
 * @name subMilliseconds
 * @category Millisecond Helpers
 * @summary Subtract the specified number of milliseconds from the given date.
 *
 * @description
 * Subtract the specified number of milliseconds from the given date.
 *
 * @param {Date|Number} date - the date to be changed
 * @param {Number} amount - the amount of milliseconds to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.
 * @returns {Date} the new date with the milliseconds subtracted
 * @throws {TypeError} 2 arguments required
 *
 * @example
 * // Subtract 750 milliseconds from 10 July 2014 12:45:30.000:
 * const result = subMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750)
 * //=> Thu Jul 10 2014 12:45:29.250
 */

/**
 * @name toDate
 * @category Common Helpers
 * @summary Convert the given argument to an instance of Date.
 *
 * @description
 * Convert the given argument to an instance of Date.
 *
 * If the argument is an instance of Date, the function returns its clone.
 *
 * If the argument is a number, it is treated as a timestamp.
 *
 * If the argument is none of the above, the function returns Invalid Date.
 *
 * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.
 *
 * @param {Date|Number} argument - the value to convert
 * @returns {Date} the parsed date in the local time zone
 * @throws {TypeError} 1 argument required
 *
 * @example
 * // Clone the date:
 * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))
 * //=> Tue Feb 11 2014 11:30:30
 *
 * @example
 * // Convert the timestamp to date:
 * const result = toDate(1392098430000)
 * //=> Tue Feb 11 2014 11:30:30
 */

/**
 * @name uid
 * returns an UID associated with {item}
 * @param {Object} item - object to generate UID for
 * @param {Number} index, a fallback index
 * @example
 * uid(object) == 1;
 * uid(object) == 1;
 * uid(anotherObject) == 2;
 * uid("not object", 42) == 42
 *
 * @see {@link useUID}
 */

/**
 * @param token
 * @param {Locale} loc
 */

/**
 * @param {DateTime} dt
 */

/**
 * @param {any[]} value
 * @return {number}
 */

/**
 * @param {any} obj The object to inspect.
 * @returns {boolean} True if the argument appears to be a plain object.
 */

/**
 * @param {any} value
 * @param {any[]} array
 * @return {any}
 */

/**
 * @param {any} value
 * @return {any}
 */

/**
 * @param {number}
 * @return {string}
 */

/**
 * @param {number} begin
 * @param {number} end
 * @return {string}
 */

/**
 * @param {number} index
 * @param {number} count
 * @return {string}
 */

/**
 * @param {number} index
 * @return {string}
 */

/**
 * @param {number} type
 * @param {number} index
 * @return {number}
 */

/**
 * @param {number} type
 * @return {number}
 */

/**
 * @param {number} type
 * @return {string}
 */

/**
 * @param {number} value
 * @param {object} root
 * @param {object?} parent
 * @return {object}
 */

/**
 * @param {object[]} children
 * @param {function} callback
 * @return {string}
 */

/**
 * @param {object}
 * @return {object}
 */

/**
 * @param {object} element
 * @param {number} index
 * @param {object[]} children
 * @param {function} callback
 * @return {string}
 */

/**
 * @param {object} root
 * @param {object} props
 * @return {object}
 */

/**
 * @param {string[]} array
 * @param {function} callback
 * @return {string}
 */

/**
 * @param {string[]} children
 * @return {string[]}
 */

/**
 * @param {string} value
 * @param {(string|RegExp)} pattern
 * @param {string} replacement
 * @return {string}
 */

/**
 * @param {string} value
 * @param {RegExp} pattern
 * @return {string?}
 */

/**
 * @param {string} value
 * @param {number} begin
 * @param {number} end
 * @return {string}
 */

/**
 * @param {string} value
 * @param {number} index
 * @return {number}
 */

/**
 * @param {string} value
 * @param {number} length
 * @return {number}
 */

/**
 * @param {string} value
 * @param {object | null} root
 * @param {object | null} parent
 * @param {string} type
 * @param {string[] | string} props
 * @param {object[] | string} children
 * @param {number} length
 */

/**
 * @param {string} value
 * @param {object} root
 * @param {object?} parent
 * @param {number} index
 * @param {number} offset
 * @param {string[]} rules
 * @param {number[]} points
 * @param {string} type
 * @param {string[]} props
 * @param {string[]} children
 * @param {number} length
 * @return {object}
 */

/**
 * @param {string} value
 * @param {object} root
 * @param {object?} parent
 * @param {number} length
 * @return {object}
 */

/**
 * @param {string} value
 * @param {object} root
 * @param {object?} parent
 * @param {string[]} rule
 * @param {string[]} rules
 * @param {string[]} rulesets
 * @param {number[]} pseudo
 * @param {number[]} points
 * @param {string[]} declarations
 * @return {object}
 */

/**
 * @param {string} value
 * @param {string} search
 * @return {number}
 */

/**
 * @param {string} value
 * @return {any[]}
 */

/**
 * @param {string} value
 * @return {number}
 */

/**
 * @param {string} value
 * @return {object[]}
 */

/**
 * @param {string} value
 * @return {string[]}
 */

/**
 * @param {string} value
 * @return {string}
 */

/**
 * @private
 *
 * When processing relative navigation we want to ignore ancestor routes that
 * do not contribute to the path, such that index/pathless layout routes don't
 * interfere.
 *
 * For example, when moving a route element into an index route and/or a
 * pathless layout route, relative link behavior contained within should stay
 * the same.  Both of the following examples should link back to the root:
 *
 *   <Route path="/">
 *     <Route path="accounts" element={<Link to=".."}>
 *   </Route>
 *
 *   <Route path="/">
 *     <Route path="accounts">
 *       <Route element={<AccountsLayout />}>       // <-- Does not contribute
 *         <Route index element={<Link to=".."} />  // <-- Does not contribute
 *       </Route
 *     </Route>
 *   </Route>
 */

/**
 * @private
 * Indirection to leverage useAsyncValue for a render-prop API on `<Await>`
 */

/**
 * @private
 */

/**
 * @remix-run/router v1.15.0
 *
 * Copyright (c) Remix Software Inc.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE.md file in the root directory of this source tree.
 *
 * @license MIT
 */

/**
 * @return {number}
 */

/**
 * @see @link{https://m2.material.io/design/typography/the-type-system.html}
 * @see @link{https://m2.material.io/design/typography/understanding-typography.html}
 */

/**
 * A DateTime is an immutable data structure representing a specific date and time and accompanying methods. It contains class and instance methods for creating, parsing, interrogating, transforming, and formatting them.
 *
 * A DateTime comprises of:
 * * A timestamp. Each DateTime instance refers to a specific millisecond of the Unix epoch.
 * * A time zone. Each instance is considered in the context of a specific zone (by default the local system's zone).
 * * Configuration properties that effect how output strings are formatted, such as `locale`, `numberingSystem`, and `outputCalendar`.
 *
 * Here is a brief overview of the most commonly used functionality it provides:
 *
 * * **Creation**: To create a DateTime from its components, use one of its factory class methods: {@link DateTime.local}, {@link DateTime.utc}, and (most flexibly) {@link DateTime.fromObject}. To create one from a standard string format, use {@link DateTime.fromISO}, {@link DateTime.fromHTTP}, and {@link DateTime.fromRFC2822}. To create one from a custom string format, use {@link DateTime.fromFormat}. To create one from a native JS date, use {@link DateTime.fromJSDate}.
 * * **Gregorian calendar and time**: To examine the Gregorian properties of a DateTime individually (i.e as opposed to collectively through {@link DateTime#toObject}), use the {@link DateTime#year}, {@link DateTime#month},
 * {@link DateTime#day}, {@link DateTime#hour}, {@link DateTime#minute}, {@link DateTime#second}, {@link DateTime#millisecond} accessors.
 * * **Week calendar**: For ISO week calendar attributes, see the {@link DateTime#weekYear}, {@link DateTime#weekNumber}, and {@link DateTime#weekday} accessors.
 * * **Configuration** See the {@link DateTime#locale} and {@link DateTime#numberingSystem} accessors.
 * * **Transformation**: To transform the DateTime into other DateTimes, use {@link DateTime#set}, {@link DateTime#reconfigure}, {@link DateTime#setZone}, {@link DateTime#setLocale}, {@link DateTime.plus}, {@link DateTime#minus}, {@link DateTime#endOf}, {@link DateTime#startOf}, {@link DateTime#toUTC}, and {@link DateTime#toLocal}.
 * * **Output**: To convert the DateTime to other representations, use the {@link DateTime#toRelative}, {@link DateTime#toRelativeCalendar}, {@link DateTime#toJSON}, {@link DateTime#toISO}, {@link DateTime#toHTTP}, {@link DateTime#toObject}, {@link DateTime#toRFC2822}, {@link DateTime#toString}, {@link DateTime#toLocaleString}, {@link DateTime#toFormat}, {@link DateTime#toMillis} and {@link DateTime#toJSDate}.
 *
 * There's plenty others documented below. In addition, for more information on subtler topics like internationalization, time zones, alternative calendars, validity, and so on, see the external documentation.
 */

/**
 * A Duration object represents a period of time, like "2 months" or "1 day, 1 hour". Conceptually, it's just a map of units to their quantities, accompanied by some additional configuration and methods for creating, parsing, interrogating, transforming, and formatting them. They can be used on their own or in conjunction with other Luxon types; for example, you can use {@link DateTime#plus} to add a Duration object to a DateTime, producing another DateTime.
 *
 * Here is a brief overview of commonly used methods and getters in Duration:
 *
 * * **Creation** To create a Duration, use {@link Duration.fromMillis}, {@link Duration.fromObject}, or {@link Duration.fromISO}.
 * * **Unit values** See the {@link Duration#years}, {@link Duration#months}, {@link Duration#weeks}, {@link Duration#days}, {@link Duration#hours}, {@link Duration#minutes}, {@link Duration#seconds}, {@link Duration#milliseconds} accessors.
 * * **Configuration** See  {@link Duration#locale} and {@link Duration#numberingSystem} accessors.
 * * **Transformation** To create new Durations out of old ones use {@link Duration#plus}, {@link Duration#minus}, {@link Duration#normalize}, {@link Duration#set}, {@link Duration#reconfigure}, {@link Duration#shiftTo}, and {@link Duration#negate}.
 * * **Output** To convert the Duration into other representations, see {@link Duration#as}, {@link Duration#toISO}, {@link Duration#toFormat}, and {@link Duration#toJSON}
 *
 * There's are more methods documented below. In addition, for more information on subtler topics like internationalization and validity, see the external documentation.
 */

/**
 * A Navigator is a "location changer"; it's how you get to different locations.
 *
 * Every history instance conforms to the Navigator interface, but the
 * distinction is useful primarily when it comes to the low-level `<Router>` API
 * where both the location and a navigator must be provided separately in order
 * to avoid "tearing" that may occur in a suspense-enabled app if the action
 * and/or location were to be read directly from the history instance.
 */

/**
 * A React component that provides the React-DnD context
 */

/**
 * A React.useEffect equivalent that runs once, when the component is mounted.
 */

/**
 * A React.useRef() that is initialized lazily with a function. Note that it accepts an optional
 * initialization argument, so the initialization function doesn't need to be an inline closure.
 *
 * @usage
 *   const ref = useLazyRef(sortColumns, columns)
 */

/**
 * A `<Link>` wrapper that knows if it's "active" or not.
 */

/**
 * A `<Router>` for use in web browsers. Stores the location in the hash
 * portion of the URL so it is not sent to the server.
 */

/**
 * A `<Router>` that accepts a pre-instantiated history object. It's important
 * to note that using your own history object is highly discouraged and may add
 * two versions of the history library to your bundles unless you use the same
 * version of the history library that React Router uses internally.
 */

/**
 * A `CancelToken` is an object that can be used to request cancellation of an operation.
 *
 * @param {Function} executor The executor function.
 *
 * @returns {CancelToken}
 */

/**
 * A `CanceledError` is an object that is thrown when an operation is canceled.
 *
 * @param {string=} message The message.
 * @param {Object=} config The config.
 * @param {Object=} request The request.
 *
 * @returns {CanceledError} The created error.
 */

/**
 * A `TableCell` based component for placing inside `TableFooter` for pagination.
 */

/**
 * A basic in-memory cache.
 *
 * import Cache from 'javascript-time-ago/Cache'
 * const cache = new Cache()
 * const object = cache.get('key1', 'key2', ...) || cache.put('key1', 'key2', ..., createObject())
 */

/**
 * A container for a nested tree of `<Route>` elements that renders the branch
 * that best matches the current location.
 *
 * @see https://reactrouter.com/components/routes
 */

/**
 * A convenient wrapper for reading and writing search parameters via the
 * URLSearchParams interface.
 */

/**
 * A faster alternative to `Function#apply`, this function invokes `func`
 * with the `this` binding of `thisArg` and the arguments of `args`.
 *
 * @private
 * @param {Function} func The function to invoke.
 * @param {*} thisArg The `this` binding of `func`.
 * @param {Array} args The arguments to invoke `func` with.
 * @returns {*} Returns the result of `func`.
 */

/**
 * A hook to retrieve the DragDropManager from Context
 */

/**
 * A permanently displayed menu following https://www.w3.org/WAI/ARIA/apg/patterns/menu-button/.
 * It's exposed to help customization of the [`Menu`](/material-ui/api/menu/) component if you
 * use it separately you need to move focus into the component manually. Once
 * the focus is placed inside the component it is fully keyboard accessible.
 */

/**
 * A provider component that propagates the `useForm` methods to all children components via [React Context](https://reactjs.org/docs/context.html) API. To be used with {@link useFormContext}.
 *
 * @remarks
 * [API](https://react-hook-form.com/docs/useformcontext) • [Demo](https://codesandbox.io/s/react-hook-form-v7-form-context-ytudi)
 *
 * @param props - all useForm methods
 *
 * @example
 * ```tsx
 * function App() {
 *   const methods = useForm();
 *   const onSubmit = data => console.log(data);
 *
 *   return (
 *     <FormProvider {...methods} >
 *       <form onSubmit={methods.handleSubmit(onSubmit)}>
 *         <NestedInput />
 *         <input type="submit" />
 *       </form>
 *     </FormProvider>
 *   );
 * }
 *
 *  function NestedInput() {
 *   const { register } = useFormContext(); // retrieve all hook methods
 *   return <input {...register("test")} />;
 * }
 * ```
 */

/**
 * A specialized version of `_.filter` for arrays without support for
 * iteratee shorthands.
 *
 * @private
 * @param {Array} [array] The array to iterate over.
 * @param {Function} predicate The function invoked per iteration.
 * @returns {Array} Returns the new filtered array.
 */

/**
 * A specialized version of `_.forEach` for arrays without support for
 * iteratee shorthands.
 *
 * @private
 * @param {Array} [array] The array to iterate over.
 * @param {Function} iteratee The function invoked per iteration.
 * @returns {Array} Returns `array`.
 */

/**
 * A specialized version of `_.reduce` for arrays without support for
 * iteratee shorthands.
 *
 * @private
 * @param {Array} [array] The array to iterate over.
 * @param {Function} iteratee The function invoked per iteration.
 * @param {*} [accumulator] The initial value.
 * @param {boolean} [initAccum] Specify using the first element of `array` as
 *  the initial value.
 * @returns {*} Returns the accumulated value.
 */

/**
 * A specialized version of `_.some` for arrays without support for iteratee
 * shorthands.
 *
 * @private
 * @param {Array} [array] The array to iterate over.
 * @param {Function} predicate The function invoked per iteration.
 * @returns {boolean} Returns `true` if any element passes the predicate check,
 *  else `false`.
 */

/**
 * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.
 *
 * @private
 * @param {*} value The value to query.
 * @returns {string} Returns the raw `toStringTag`.
 */

/**
 * A specialized version of `baseIsEqualDeep` for arrays with support for
 * partial deep comparisons.
 *
 * @private
 * @param {Array} array The array to compare.
 * @param {Array} other The other array to compare.
 * @param {Function} equalFunc The function to determine equivalents of values.
 * @param {Function} customizer The function to customize comparisons.
 * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`
 *  for more details.
 * @param {Object} stack Tracks traversed `array` and `other` objects.
 * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.
 */

/**
 * A specialized version of `baseIsEqualDeep` for arrays with support for
 * partial deep comparisons.
 *
 * @private
 * @param {Array} array The array to compare.
 * @param {Array} other The other array to compare.
 * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
 * @param {Function} customizer The function to customize comparisons.
 * @param {Function} equalFunc The function to determine equivalents of values.
 * @param {Object} stack Tracks traversed `array` and `other` objects.
 * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.
 */

/**
 * A specialized version of `baseIsEqualDeep` for comparing objects of
 * the same `toStringTag`.
 *
 * **Note:** This function only supports comparing values with tags of
 * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.
 *
 * @private
 * @param {Object} object The object to compare.
 * @param {Object} other The other object to compare.
 * @param {string} tag The `toStringTag` of the objects to compare.
 * @param {Function} equalFunc The function to determine equivalents of values.
 * @param {Function} customizer The function to customize comparisons.
 * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`
 *  for more details.
 * @param {Object} stack Tracks traversed `object` and `other` objects.
 * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
 */

/**
 * A specialized version of `baseIsEqualDeep` for comparing objects of
 * the same `toStringTag`.
 *
 * **Note:** This function only supports comparing values with tags of
 * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.
 *
 * @private
 * @param {Object} object The object to compare.
 * @param {Object} other The other object to compare.
 * @param {string} tag The `toStringTag` of the objects to compare.
 * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
 * @param {Function} customizer The function to customize comparisons.
 * @param {Function} equalFunc The function to determine equivalents of values.
 * @param {Object} stack Tracks traversed `object` and `other` objects.
 * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
 */

/**
 * A specialized version of `baseIsEqualDeep` for objects with support for
 * partial deep comparisons.
 *
 * @private
 * @param {Object} object The object to compare.
 * @param {Object} other The other object to compare.
 * @param {Function} equalFunc The function to determine equivalents of values.
 * @param {Function} customizer The function to customize comparisons.
 * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`
 *  for more details.
 * @param {Object} stack Tracks traversed `object` and `other` objects.
 * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
 */

/**
 * A specialized version of `baseIsEqualDeep` for objects with support for
 * partial deep comparisons.
 *
 * @private
 * @param {Object} object The object to compare.
 * @param {Object} other The other object to compare.
 * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
 * @param {Function} customizer The function to customize comparisons.
 * @param {Function} equalFunc The function to determine equivalents of values.
 * @param {Object} stack Tracks traversed `object` and `other` objects.
 * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
 */

/**
 * A specialized version of `baseIsEqual` for arrays and objects which performs
 * deep comparisons and tracks traversed objects enabling objects with circular
 * references to be compared.
 *
 * @private
 * @param {Object} object The object to compare.
 * @param {Object} other The other object to compare.
 * @param {Function} equalFunc The function to determine equivalents of values.
 * @param {Function} [customizer] The function to customize comparisons.
 * @param {number} [bitmask] The bitmask of comparison flags. See `baseIsEqual`
 *  for more details.
 * @param {Object} [stack] Tracks traversed `object` and `other` objects.
 * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
 */

/**
 * A specialized version of `baseIsEqual` for arrays and objects which performs
 * deep comparisons and tracks traversed objects enabling objects with circular
 * references to be compared.
 *
 * @private
 * @param {Object} object The object to compare.
 * @param {Object} other The other object to compare.
 * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
 * @param {Function} customizer The function to customize comparisons.
 * @param {Function} equalFunc The function to determine equivalents of values.
 * @param {Object} [stack] Tracks traversed `object` and `other` objects.
 * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
 */

/**
 * A specialized version of `baseMerge` for arrays and objects which performs
 * deep merges and tracks traversed objects enabling objects with circular
 * references to be merged.
 *
 * @private
 * @param {Object} object The destination object.
 * @param {Object} source The source object.
 * @param {string} key The key of the value to merge.
 * @param {number} srcIndex The index of `source`.
 * @param {Function} mergeFunc The function to merge values.
 * @param {Function} [customizer] The function to customize assigned values.
 * @param {Object} [stack] Tracks traversed source values and their merged
 *  counterparts.
 */

/**
 * A specialized version of `baseProperty` which supports deep paths.
 *
 * @private
 * @param {Array|string} path The path of the property to get.
 * @returns {Function} Returns the new accessor function.
 */

/**
 * A specialized version of `baseRest` which transforms the rest array.
 *
 * @private
 * @param {Function} func The function to apply a rest parameter to.
 * @param {number} [start=func.length-1] The start position of the rest parameter.
 * @param {Function} transform The rest array transform.
 * @returns {Function} Returns the new function.
 */

/**
 * A specialized version of `matchesProperty` for source values suitable
 * for strict equality comparisons, i.e. `===`.
 *
 * @private
 * @param {string} key The key of the property to get.
 * @param {*} srcValue The value to match.
 * @returns {Function} Returns the new spec function.
 */

/**
 * A universal utility to style components with multiple color modes. Always use it from the theme object.
 * It works with:
 *  - [Basic theme](https://mui.com/material-ui/customization/dark-mode/)
 *  - [CSS theme variables](https://mui.com/material-ui/experimental-api/css-theme-variables/overview/)
 *  - Zero-runtime engine
 *
 * Tips: Use an array over object spread and place `theme.applyStyles()` last.
 *
 * ✅ [{ background: '#e5e5e5' }, theme.applyStyles('dark', { background: '#1c1c1c' })]
 *
 * 🚫 { background: '#e5e5e5', ...theme.applyStyles('dark', { background: '#1c1c1c' })}
 *
 * @example
 * 1. using with `styled`:
 * ```jsx
 *   const Component = styled('div')(({ theme }) => [
 *     { background: '#e5e5e5' },
 *     theme.applyStyles('dark', {
 *       background: '#1c1c1c',
 *       color: '#fff',
 *     }),
 *   ]);
 * ```
 *
 * @example
 * 2. using with `sx` prop:
 * ```jsx
 *   <Box sx={theme => [
 *     { background: '#e5e5e5' },
 *     theme.applyStyles('dark', {
 *        background: '#1c1c1c',
 *        color: '#fff',
 *      }),
 *     ]}
 *   />
 * ```
 *
 * @example
 * 3. theming a component:
 * ```jsx
 *   extendTheme({
 *     components: {
 *       MuiButton: {
 *         styleOverrides: {
 *           root: ({ theme }) => [
 *             { background: '#e5e5e5' },
 *             theme.applyStyles('dark', {
 *               background: '#1c1c1c',
 *               color: '#fff',
 *             }),
 *           ],
 *         },
 *       }
 *     }
 *   })
 *```
 */

/**
 * A version of `React.useLayoutEffect` that does not show a warning when server-side rendering.
 * This is useful for effects that are only needed for client-side rendering but not for SSR.
 *
 * Before you use this hook, make sure to read https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85
 * and confirm it doesn't apply to your use-case.
 */

/**
 * A zone identified by an IANA identifier, like America/New_York
 * @implements {Zone}
 */

/**
 * A zone that failed to parse. You should never need to instantiate this.
 * @implements {Zone}
 */

/**
 * A zone with a fixed offset (meaning no DST)
 * @implements {Zone}
 */

/**
 * Accepts varargs expecting each argument to be an object, then
 * immutably merges the properties of each object and returns result.
 *
 * When multiple objects contain the same key the later object in
 * the arguments list will take precedence.
 *
 * Example:
 *
 * ```js
 * var result = merge({foo: 123}, {foo: 456});
 * console.log(result.foo); // outputs 456
 * ```
 *
 * @param {Object} obj1 Object to merge
 *
 * @returns {Object} Result of all merge properties
 */

/**
 * Actions represent the type of change to a location value.
 */

/**
 * Adapted from React: https://github.com/facebook/react/blob/master/packages/shared/formatProdErrorMessage.js
 *
 * Do not require this module directly! Use normal throw error calls. These messages will be replaced with error codes
 * during build.
 * @param {number} code
 */

/**
 * Add keys, values of `defaultProps` that does not exist in `props`
 * @param {object} defaultProps
 * @param {object} props
 * @returns {object} resolved props
 */

/**
 * Adding the padding here avoids cropping the keyline on its sides.
 * The combined vertical spacing is maintained by subtracting the
 * keyline height from header and footer.
 */

/**
 * Adds `value` to `set`.
 *
 * @private
 * @param {Object} set The set to modify.
 * @param {*} value The value to add.
 * @returns {Object} Returns `set`.
 */

/**
 * Adds `value` to the array cache.
 *
 * @private
 * @name add
 * @memberOf SetCache
 * @alias push
 * @param {*} value The value to cache.
 * @returns {Object} Returns the cache instance.
 */

/**
 * Adds custom labels to locale data.
 * @param {string} locale
 * @param {string} name
 * @param {object} labels
 */

/**
 * Adds locale data for a specific locale and marks the locale as default.
 * @param {Object} localeData
 */

/**
 * Adds locale data for a specific locale.
 * @param {Object} localeData
 */

/**
 * Adds locale data.
 * Is called by `RelativeTimeFormat.addLocale(...)`.
 * @param  {object} localeData
 */

/**
 * Adds the key-value `pair` to `map`.
 *
 * @private
 * @param {Object} map The map to modify.
 * @param {Array} pair The key-value pair to add.
 * @returns {Object} Returns `map`.
 */

/**
 * An Interval object represents a half-open interval of time, where each endpoint is a {@link DateTime}. Conceptually, it's a container for those two endpoints, accompanied by methods for creating, parsing, interrogating, comparing, transforming, and formatting them.
 *
 * Here is a brief overview of the most commonly used methods and getters in Interval:
 *
 * * **Creation** To create an Interval, use {@link Interval.fromDateTimes}, {@link Interval.after}, {@link Interval.before}, or {@link Interval.fromISO}.
 * * **Accessors** Use {@link Interval#start} and {@link Interval#end} to get the start and end.
 * * **Interrogation** To analyze the Interval, use {@link Interval#count}, {@link Interval#length}, {@link Interval#hasSame}, {@link Interval#contains}, {@link Interval#isAfter}, or {@link Interval#isBefore}.
 * * **Transformation** To create other Intervals out of this one, use {@link Interval#set}, {@link Interval#splitAt}, {@link Interval#splitBy}, {@link Interval#divideEqually}, {@link Interval.merge}, {@link Interval.xor}, {@link Interval#union}, {@link Interval#intersection}, or {@link Interval#difference}.
 * * **Comparison** To compare this Interval to another one, use {@link Interval#equals}, {@link Interval#overlaps}, {@link Interval#abutsStart}, {@link Interval#abutsEnd}, {@link Interval#engulfs}
 * * **Output** To convert the Interval into other representations, see {@link Interval#toString}, {@link Interval#toLocaleString}, {@link Interval#toISO}, {@link Interval#toISODate}, {@link Interval#toISOTime}, {@link Interval#toFormat}, and {@link Interval#toDuration}.
 */

/**
 * An empty function which does nothing.
 */

/**
 * Appends the elements of `values` to `array`.
 *
 * @private
 * @param {Array} array The array to modify.
 * @param {Array} values The values to append.
 * @returns {Array} Returns `array`.
 */

/**
 * Appends the ownerState object to the props, merging with the existing one if necessary.
 *
 * @param elementType Type of the element that owns the `existingProps`. If the element is a DOM node or undefined, `ownerState` is not applied.
 * @param otherProps Props of the element.
 * @param ownerState
 */

/**
 * Assert object's properties type
 *
 * @param {object} options
 * @param {object} schema
 * @param {boolean?} allowUnknown
 *
 * @returns {object}
 */

/**
 * Assigns `value` to `key` of `object` if the existing value is not equivalent
 * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
 * for equality comparisons.
 *
 * @private
 * @param {Object} object The object to modify.
 * @param {string} key The key of the property to assign.
 * @param {*} value The value to assign.
 */

/**
 * Assigns a value for a given ref, no matter of the ref format
 * @param {RefObject} ref - a callback function or ref object
 * @param value - a new value
 *
 * @see https://github.com/theKashey/use-callback-ref#assignref
 * @example
 * const refObject = useRef();
 * const refFn = (ref) => {....}
 *
 * assignRef(refObject, "refValue");
 * assignRef(refFn, "refValue");
 */

/**
 * Assigns the node to all the refs passed in the argument.
 *
 * @param refs: An array of refs (as function or ref object)
 */

/**
 * Automatically updates the position of the floating element when necessary.
 * Should only be called when the floating element is mounted on the DOM or
 * visible on the screen.
 * @returns cleanup function that should be invoked when the floating element is
 * removed from the DOM or hidden from the screen.
 * @see https://floating-ui.com/docs/autoUpdate
 */

/**
 * Blend a transparent overlay color with a background color, resulting in a single
 * RGB color.
 * @param {string} background - CSS color
 * @param {string} overlay - CSS color
 * @param {number} opacity - Opacity multiplier in the range 0 - 1
 * @param {number} [gamma=1.0] - Gamma correction factor. For gamma-correct blending, 2.2 is usual.
 */

/**
 * Build a URL by appending params to the end
 *
 * @param {string} url The base of the url (e.g., http://www.google.com)
 * @param {object} [params] The params to be appended
 * @param {?(object|Function)} options
 *
 * @returns {string} The formatted url
 */

/**
 * Calculate data maxRate
 * @param {Number} [samplesCount= 10]
 * @param {Number} [min= 1000]
 * @returns {Function}
 */

/**
 * Calculates the contrast ratio between two colors.
 *
 * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests
 * @param {string} foreground - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()
 * @param {string} background - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()
 * @returns {number} A contrast ratio value in the range 0 - 21.
 */

/**
 * Calls back when the escape key is pressed.
 * To be used exclusively for closing layered components.
 * Use the `isDisabled` argument to ignore closing events.
 *
 * ```js
 * useCloseOnEscapePress({
 *   onClose: () => {},
 *   isDisabled: false,
 * });
 * ```
 */

/**
 * Casts `value` to a path array if it's not one.
 *
 * @private
 * @param {*} value The value to inspect.
 * @returns {Array} Returns the cast property path array.
 */

/**
 * Changes the current location.
 *
 * Note: This API is mostly useful in React.Component subclasses that are not
 * able to use hooks. In functional components, we recommend you use the
 * `useNavigate` hook instead.
 *
 * @see https://reactrouter.com/components/navigate
 */

/**
 * Character key codes which can be used in keyboard events.
 */

/**
 * Check if local week units like localWeekday are used in obj.
 * If so, validates that they are not mixed with ISO week units and then copies them to the normal week unit properties.
 * Modifies obj in-place!
 * @param obj the object values
 */

/**
 * Check if next suitable date exists
 *
 * @public
 * @return {Boolean}
 */

/**
 * Check if previous suitable date exists
 *
 * @public
 * @return {Boolean}
 */

/**
 * Check if the given error is an ErrorResponse generated from a 4xx/5xx
 * Response thrown from an action/loader
 */

/**
 * Checks if `b` partially matches with `a`.
 */

/**
 * Checks if `func` has its source masked.
 *
 * @private
 * @param {Function} func The function to check.
 * @returns {boolean} Returns `true` if `func` is masked, else `false`.
 */

/**
 * Checks if `path` exists on `object`.
 *
 * @private
 * @param {Object} object The object to query.
 * @param {Array|string} path The path to check.
 * @param {Function} hasFunc The function to check properties.
 * @returns {boolean} Returns `true` if `path` exists, else `false`.
 */

/**
 * Checks if `path` is a direct or inherited property of `object`.
 *
 * @static
 * @memberOf _
 * @since 4.0.0
 * @category Object
 * @param {Object} object The object to query.
 * @param {Array|string} path The path to check.
 * @returns {boolean} Returns `true` if `path` exists, else `false`.
 * @example
 *
 * var object = _.create({ 'a': _.create({ 'b': 2 }) });
 *
 * _.hasIn(object, 'a');
 * // => true
 *
 * _.hasIn(object, 'a.b');
 * // => true
 *
 * _.hasIn(object, ['a', 'b']);
 * // => true
 *
 * _.hasIn(object, 'b');
 * // => false
 */

/**
 * Checks if `value` is `undefined`.
 *
 * @static
 * @memberOf _
 * @category Lang
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.
 * @example
 *
 * _.isUndefined(void 0);
 * // => true
 *
 * _.isUndefined(null);
 * // => false
 */

/**
 * Checks if `value` is a buffer.
 *
 * @static
 * @memberOf _
 * @since 4.3.0
 * @category Lang
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.
 * @example
 *
 * _.isBuffer(new Buffer(2));
 * // => true
 *
 * _.isBuffer(new Uint8Array(2));
 * // => false
 */

/**
 * Checks if `value` is a host object in IE < 9.
 *
 * @private
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is a host object, else `false`.
 */

/**
 * Checks if `value` is a plain object, that is, an object created by the
 * `Object` constructor or one with a `[[Prototype]]` of `null`.
 *
 * @static
 * @memberOf _
 * @since 0.8.0
 * @category Lang
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.
 * @example
 *
 * function Foo() {
 *   this.a = 1;
 * }
 *
 * _.isPlainObject(new Foo);
 * // => false
 *
 * _.isPlainObject([1, 2, 3]);
 * // => false
 *
 * _.isPlainObject({ 'x': 0, 'y': 0 });
 * // => true
 *
 * _.isPlainObject(Object.create(null));
 * // => true
 */

/**
 * Checks if `value` is a property name and not a property path.
 *
 * @private
 * @param {*} value The value to check.
 * @param {Object} [object] The object to query keys on.
 * @returns {boolean} Returns `true` if `value` is a property name, else `false`.
 */

/**
 * Checks if `value` is a valid array-like index.
 *
 * @private
 * @param {*} value The value to check.
 * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
 * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
 */

/**
 * Checks if `value` is a valid array-like length.
 *
 * **Note:** This method is loosely based on
 * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).
 *
 * @static
 * @memberOf _
 * @since 4.0.0
 * @category Lang
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
 * @example
 *
 * _.isLength(3);
 * // => true
 *
 * _.isLength(Number.MIN_VALUE);
 * // => false
 *
 * _.isLength(Infinity);
 * // => false
 *
 * _.isLength('3');
 * // => false
 */

/**
 * Checks if `value` is array-like. A value is considered array-like if it's
 * not a function and has a `value.length` that's an integer greater than or
 * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.
 *
 * @static
 * @memberOf _
 * @since 4.0.0
 * @category Lang
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
 * @example
 *
 * _.isArrayLike([1, 2, 3]);
 * // => true
 *
 * _.isArrayLike(document.body.children);
 * // => true
 *
 * _.isArrayLike('abc');
 * // => true
 *
 * _.isArrayLike(_.noop);
 * // => false
 */

/**
 * Checks if `value` is classified as a `Function` object.
 *
 * @static
 * @memberOf _
 * @since 0.1.0
 * @category Lang
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is a function, else `false`.
 * @example
 *
 * _.isFunction(_);
 * // => true
 *
 * _.isFunction(/abc/);
 * // => false
 */

/**
 * Checks if `value` is classified as a `Symbol` primitive or object.
 *
 * @static
 * @memberOf _
 * @since 4.0.0
 * @category Lang
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
 * @example
 *
 * _.isSymbol(Symbol.iterator);
 * // => true
 *
 * _.isSymbol('abc');
 * // => false
 */

/**
 * Checks if `value` is classified as a typed array.
 *
 * @static
 * @memberOf _
 * @since 3.0.0
 * @category Lang
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
 * @example
 *
 * _.isTypedArray(new Uint8Array);
 * // => true
 *
 * _.isTypedArray([]);
 * // => false
 */

/**
 * Checks if `value` is classified as an `Array` object.
 *
 * @static
 * @memberOf _
 * @since 0.1.0
 * @category Lang
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is an array, else `false`.
 * @example
 *
 * _.isArray([1, 2, 3]);
 * // => true
 *
 * _.isArray(document.body.children);
 * // => false
 *
 * _.isArray('abc');
 * // => false
 *
 * _.isArray(_.noop);
 * // => false
 */

/**
 * Checks if `value` is in the array cache.
 *
 * @private
 * @name has
 * @memberOf SetCache
 * @param {*} value The value to search for.
 * @returns {number} Returns `true` if `value` is found, else `false`.
 */

/**
 * Checks if `value` is likely a prototype object.
 *
 * @private
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.
 */

/**
 * Checks if `value` is likely an `arguments` object.
 *
 * @static
 * @memberOf _
 * @since 0.1.0
 * @category Lang
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is an `arguments` object,
 *  else `false`.
 * @example
 *
 * _.isArguments(function() { return arguments; }());
 * // => true
 *
 * _.isArguments([1, 2, 3]);
 * // => false
 */

/**
 * Checks if `value` is object-like. A value is object-like if it's not `null`
 * and has a `typeof` result of "object".
 *
 * @static
 * @memberOf _
 * @since 4.0.0
 * @category Lang
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
 * @example
 *
 * _.isObjectLike({});
 * // => true
 *
 * _.isObjectLike([1, 2, 3]);
 * // => true
 *
 * _.isObjectLike(_.noop);
 * // => false
 *
 * _.isObjectLike(null);
 * // => false
 */

/**
 * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.
 *
 * @private
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` if suitable for strict
 *  equality comparisons, else `false`.
 */

/**
 * Checks if `value` is suitable for use as unique object key.
 *
 * @private
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is suitable, else `false`.
 */

/**
 * Checks if `value` is the
 * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
 * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
 *
 * @static
 * @memberOf _
 * @since 0.1.0
 * @category Lang
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is an object, else `false`.
 * @example
 *
 * _.isObject({});
 * // => true
 *
 * _.isObject([1, 2, 3]);
 * // => true
 *
 * _.isObject(_.noop);
 * // => true
 *
 * _.isObject(null);
 * // => false
 */

/**
 * Checks if a `cache` value for `key` exists.
 *
 * @private
 * @param {Object} cache The cache to query.
 * @param {string} key The key of the entry to check.
 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
 */

/**
 * Checks if a hash value for `key` exists.
 *
 * @private
 * @name has
 * @memberOf Hash
 * @param {string} key The key of the entry to check.
 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
 */

/**
 * Checks if a list cache value for `key` exists.
 *
 * @private
 * @name has
 * @memberOf ListCache
 * @param {string} key The key of the entry to check.
 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
 */

/**
 * Checks if a map value for `key` exists.
 *
 * @private
 * @name has
 * @memberOf MapCache
 * @param {string} key The key of the entry to check.
 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
 */

/**
 * Checks if a stack value for `key` exists.
 *
 * @private
 * @name has
 * @memberOf Stack
 * @param {string} key The key of the entry to check.
 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
 */

/**
 * Checks if key `b` partially matches with key `a`.
 */

/**
 * Checks if the given arguments are from an iteratee call.
 *
 * @private
 * @param {*} value The potential iteratee value argument.
 * @param {*} index The potential iteratee index or key argument.
 * @param {*} object The potential iteratee object argument.
 * @returns {boolean} Returns `true` if the arguments are from an iteratee call,
 *  else `false`.
 */

/**
 * Checks if there is a next page.
 * Returns `undefined` if it cannot be determined.
 */

/**
 * Chips represent complex entities in small blocks, such as a contact.
 */

/**
 * Chooses the most appropriate locale
 * (one of the registered ones)
 * based on the list of preferred `locales` supplied by the user.
 *
 * @param {string[]} locales - the list of preferable locales (in [IETF format](https://en.wikipedia.org/wiki/IETF_language_tag)).
 * @param {Function} isLocaleDataAvailable - tests if a locale is available.
 *
 * @returns {string} The most suitable locale.
 *
 * @example
 * // Returns 'en'
 * chooseLocale(['en-US'], undefined, (locale) => locale === 'ru' || locale === 'en')
 */

/**
 * Component based on `useController` hook to work with controlled component.
 *
 * @remarks
 * [API](https://react-hook-form.com/docs/usecontroller/controller) • [Demo](https://codesandbox.io/s/react-hook-form-v6-controller-ts-jwyzw) • [Video](https://www.youtube.com/watch?v=N2UNk_UCVyA)
 *
 * @param props - the path name to the form field value, and validation rules.
 *
 * @returns provide field handler functions, field and form state.
 *
 * @example
 * ```tsx
 * function App() {
 *   const { control } = useForm<FormValues>({
 *     defaultValues: {
 *       test: ""
 *     }
 *   });
 *
 *   return (
 *     <form>
 *       <Controller
 *         control={control}
 *         name="test"
 *         render={({ field: { onChange, onBlur, value, ref }, formState, fieldState }) => (
 *           <>
 *             <input
 *               onChange={onChange} // send value to hook form
 *               onBlur={onBlur} // notify when input is touched
 *               value={value} // return updated value
 *               ref={ref} // set ref for focus management
 *             />
 *             <p>{formState.isSubmitted ? "submitted" : ""}</p>
 *             <p>{fieldState.isTouched ? "touched" : ""}</p>
 *           </>
 *         )}
 *       />
 *     </form>
 *   );
 * }
 * ```
 */

/**
 * Component to use for rendering lazily loaded data from returning defer()
 * in a loader function
 */

/**
 * Composes single-argument functions from right to left. The rightmost
 * function can take multiple arguments as it provides the signature for
 * the resulting composite function.
 *
 * @param {...Function} funcs The functions to compose.
 * @returns {Function} A function obtained by composing the argument functions
 * from right to left. For example, compose(f, g, h) is identical to doing
 * (...args) => f(g(h(...args))).
 */

/**
 * Computes all combinations of optional path segments for a given path,
 * excluding combinations that are ambiguous and of lower priority.
 *
 * For example, `/one/:two?/three/:four?/:five?` explodes to:
 * - `/one/three`
 * - `/one/:two/three`
 * - `/one/three/:four`
 * - `/one/three/:five`
 * - `/one/:two/three/:four`
 * - `/one/:two/three/:five`
 * - `/one/three/:four/:five`
 * - `/one/:two/three/:four/:five`
 */

/**
 * Computes whether the given element should automatically trigger the
 * `focus-visible` class being added, i.e. whether it should always match
 * `:focus-visible` when focused.
 * @param {Element} node
 * @returns {boolean}
 */

/**
 * Config-specific merge-function which creates a new config-object
 * by merging two configuration objects together.
 *
 * @param {Object} config1
 * @param {Object} config2
 *
 * @returns {Object} New object resulting from merging config2 to config1
 */

/**
 * Construct a new expression parser
 *
 * Options:
 *   currentDate: iterator start date
 *   endDate: iterator end date
 *
 * @constructor
 * @private
 * @param {Object} fields  Expression fields parsed values
 * @param {Object} options Parser options
 */

/**
 * Convert a data object to FormData
 *
 * @param {Object} obj
 * @param {?Object} [formData]
 * @param {?Object} [options]
 * @param {Function} [options.visitor]
 * @param {Boolean} [options.metaTokens = true]
 * @param {Boolean} [options.dots = false]
 * @param {?Boolean} [options.indexes = false]
 *
 * @returns {Object}
 **/

/**
 * Convert an array to an object.
 *
 * @param {Array<any>} arr - The array to convert to an object.
 *
 * @returns An object with the same keys and values as the array.
 */

/**
 * Convert cron fields back to Cron Expression
 *
 * @public
 * @param {Object} fields Input fields
 * @param {Object} [options] Parsing options
 * @return {Object}
 */

/**
 * Converts `func` to its source code.
 *
 * @private
 * @param {Function} func The function to convert.
 * @returns {string} Returns the source code.
 */

/**
 * Converts `func` to its source code.
 *
 * @private
 * @param {Function} func The function to process.
 * @returns {string} Returns the source code.
 */

/**
 * Converts `map` to its key-value pairs.
 *
 * @private
 * @param {Object} map The map to convert.
 * @returns {Array} Returns the key-value pairs.
 */

/**
 * Converts `set` to an array of its values.
 *
 * @private
 * @param {Object} set The set to convert.
 * @returns {Array} Returns the values.
 */

/**
 * Converts `string` to a property path array.
 *
 * @private
 * @param {string} string The string to convert.
 * @returns {Array} Returns the property path array.
 */

/**
 * Converts `value` to a finite number.
 *
 * @static
 * @memberOf _
 * @since 4.12.0
 * @category Lang
 * @param {*} value The value to convert.
 * @returns {number} Returns the converted number.
 * @example
 *
 * _.toFinite(3.2);
 * // => 3.2
 *
 * _.toFinite(Number.MIN_VALUE);
 * // => 5e-324
 *
 * _.toFinite(Infinity);
 * // => 1.7976931348623157e+308
 *
 * _.toFinite('3.2');
 * // => 3.2
 */

/**
 * Converts `value` to a number.
 *
 * @static
 * @memberOf _
 * @since 4.0.0
 * @category Lang
 * @param {*} value The value to process.
 * @returns {number} Returns the number.
 * @example
 *
 * _.toNumber(3.2);
 * // => 3.2
 *
 * _.toNumber(Number.MIN_VALUE);
 * // => 5e-324
 *
 * _.toNumber(Infinity);
 * // => Infinity
 *
 * _.toNumber('3.2');
 * // => 3.2
 */

/**
 * Converts `value` to a plain object flattening inherited enumerable string
 * keyed properties of `value` to own properties of the plain object.
 *
 * @static
 * @memberOf _
 * @since 3.0.0
 * @category Lang
 * @param {*} value The value to convert.
 * @returns {Object} Returns the converted plain object.
 * @example
 *
 * function Foo() {
 *   this.b = 2;
 * }
 *
 * Foo.prototype.c = 3;
 *
 * _.assign({ 'a': 1 }, new Foo);
 * // => { 'a': 1, 'b': 2 }
 *
 * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));
 * // => { 'a': 1, 'b': 2, 'c': 3 }
 */

/**
 * Converts `value` to a string key if it's not a string or symbol.
 *
 * @private
 * @param {*} value The value to inspect.
 * @returns {string|symbol} Returns the key.
 */

/**
 * Converts `value` to a string using `Object.prototype.toString`.
 *
 * @private
 * @param {*} value The value to convert.
 * @returns {string} Returns the converted string.
 */

/**
 * Converts `value` to a string. An empty string is returned for `null`
 * and `undefined` values. The sign of `-0` is preserved.
 *
 * @static
 * @memberOf _
 * @since 4.0.0
 * @category Lang
 * @param {*} value The value to process.
 * @returns {string} Returns the string.
 * @example
 *
 * _.toString(null);
 * // => ''
 *
 * _.toString(-0);
 * // => '-0'
 *
 * _.toString([1, 2, 3]);
 * // => '1,2,3'
 */

/**
 * Converts `value` to an integer.
 *
 * **Note:** This method is loosely based on
 * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).
 *
 * @static
 * @memberOf _
 * @since 4.0.0
 * @category Lang
 * @param {*} value The value to convert.
 * @returns {number} Returns the converted integer.
 * @example
 *
 * _.toInteger(3.2);
 * // => 3
 *
 * _.toInteger(Number.MIN_VALUE);
 * // => 0
 *
 * _.toInteger(Infinity);
 * // => 1.7976931348623157e+308
 *
 * _.toInteger('3.2');
 * // => 3
 */

/**
 * Converts a color from CSS hex format to CSS rgb format.
 * @param {string} color - Hex color, i.e. #nnn or #nnnnnn
 * @returns {string} A CSS rgb color string
 */

/**
 * Converts a color from CSS rgb format to CSS hex format.
 * @param {string} color - RGB color, i.e. rgb(n, n, n)
 * @returns {string} A CSS rgb color string, i.e. #nnnnnn
 */

/**
 * Converts a color from hsl format to rgb format.
 * @param {string} color - HSL color values
 * @returns {string} rgb color values
 */

/**
 * Converts a color object with type and values to a string.
 * @param {object} color - Decomposed color
 * @param {string} color.type - One of: 'rgb', 'rgba', 'hsl', 'hsla', 'color'
 * @param {array} color.values - [n,n,n] or [n,n,n,n]
 * @returns {string} A CSS color string
 */

/**
 * Converts the output of Intl.DateTimeFormat.formatToParts of type
 * `[ { type: 'day', value: '17' }, { type: 'month', value: '3' }, ... ]`
 * into an indexed object of type
 * `{ day: '17', month: '3', ... }`
 */

/**
 * Converts value to a `Date`
 * @param {(number|Date)} value
 * @return {Date}
 */

/**
 * Coordinate subtraction
 * @param a The first coordinate
 * @param b The second coordinate
 */

/**
 * Copies own symbol properties of `source` to `object`.
 *
 * @private
 * @param {Object} source The object to copy symbols from.
 * @param {Object} [object={}] The object to copy symbols to.
 * @returns {Object} Returns `object`.
 */

/**
 * Copies properties of `source` to `object`.
 *
 * @private
 * @param {Object} source The object to copy properties from.
 * @param {Array} props The property identifiers to copy.
 * @param {Object} [object={}] The object to copy properties to.
 * @param {Function} [customizer] The function to customize copied values.
 * @returns {Object} Returns `object`.
 */

/**
 * Copies the values of `source` to `array`.
 *
 * @private
 * @param {Array} source The array to copy values from.
 * @param {Array} [array=[]] The array to copy values to.
 * @returns {Array} Returns `array`.
 */

/**
 * Copyright (c) 2013-present, Facebook, Inc.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

/**
 * Copyright (c) 2014-present, Facebook, Inc.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

/**
 * Copyright 2015, Yahoo! Inc.
 * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.
 */

/**
 * Create a `2x2` `DOMRect` around the `client` position
 */

/**
 * Create a new instance of Axios
 *
 * @param {Object} instanceConfig The default config for the instance
 *
 * @return {Axios} A new instance of Axios
 */

/**
 * Create an Error with the specified message, config, error code, request and response.
 *
 * @param {string} message The error message.
 * @param {string} [code] The error code (for example, 'ECONNABORTED').
 * @param {Object} [config] The config.
 * @param {Object} [request] The request.
 * @param {Object} [response] The response.
 *
 * @returns {Error} The created error.
 */

/**
 * Create an instance of Axios
 *
 * @param {Object} defaultConfig The default config for the instance
 *
 * @returns {Axios} A new instance of Axios
 */

/**
 * Create the React Context
 */

/**
 * Creates a Location object with a unique key from the given Path
 */

/**
 * Creates a Redux store that holds the state tree.
 *
 * **We recommend using `configureStore` from the
 * `@reduxjs/toolkit` package**, which replaces `createStore`:
 * **https://redux.js.org/introduction/why-rtk-is-redux-today**
 *
 * The only way to change the data in the store is to call `dispatch()` on it.
 *
 * There should only be a single store in your app. To specify how different
 * parts of the state tree respond to actions, you may combine several reducers
 * into a single reducer function by using `combineReducers`.
 *
 * @param {Function} reducer A function that returns the next state tree, given
 * the current state tree and the action to handle.
 *
 * @param {any} [preloadedState] The initial state. You may optionally specify it
 * to hydrate the state from the server in universal apps, or to restore a
 * previously serialized user session.
 * If you use `combineReducers` to produce the root reducer function, this must be
 * an object with the same shape as `combineReducers` keys.
 *
 * @param {Function} [enhancer] The store enhancer. You may optionally specify it
 * to enhance the store with third-party capabilities such as middleware,
 * time travel, persistence, etc. The only store enhancer that ships with Redux
 * is `applyMiddleware()`.
 *
 * @returns {Store} A Redux store that lets you read the state, dispatch actions
 * and subscribe to changes.
 */

/**
 * Creates a URLSearchParams object using the given initializer.
 *
 * This is identical to `new URLSearchParams(init)` except it also
 * supports arrays as values in the object form of the initializer
 * instead of just strings. This is convenient when you need multiple
 * values for a given key, but don't want to use an array initializer.
 *
 * For example, instead of:
 *
 *   let searchParams = new URLSearchParams([
 *     ['sort', 'name'],
 *     ['sort', 'price']
 *   ]);
 *
 * you can do:
 *
 *   let searchParams = createSearchParams({
 *     sort: ['name', 'price']
 *   });
 */

/**
 * Creates a `_.find` or `_.findLast` function.
 *
 * @private
 * @param {Function} findIndexFunc The function to find the collection index.
 * @returns {Function} Returns the new find function.
 */

/**
 * Creates a clone of  `buffer`.
 *
 * @private
 * @param {Buffer} buffer The buffer to clone.
 * @param {boolean} [isDeep] Specify a deep clone.
 * @returns {Buffer} Returns the cloned buffer.
 */

/**
 * Creates a clone of `arrayBuffer`.
 *
 * @private
 * @param {ArrayBuffer} arrayBuffer The array buffer to clone.
 * @returns {ArrayBuffer} Returns the cloned array buffer.
 */

/**
 * Creates a clone of `dataView`.
 *
 * @private
 * @param {Object} dataView The data view to clone.
 * @param {boolean} [isDeep] Specify a deep clone.
 * @returns {Object} Returns the cloned data view.
 */

/**
 * Creates a clone of `map`.
 *
 * @private
 * @param {Object} map The map to clone.
 * @param {Function} cloneFunc The function to clone values.
 * @param {boolean} [isDeep] Specify a deep clone.
 * @returns {Object} Returns the cloned map.
 */

/**
 * Creates a clone of `regexp`.
 *
 * @private
 * @param {Object} regexp The regexp to clone.
 * @returns {Object} Returns the cloned regexp.
 */

/**
 * Creates a clone of `set`.
 *
 * @private
 * @param {Object} set The set to clone.
 * @param {Function} cloneFunc The function to clone values.
 * @param {boolean} [isDeep] Specify a deep clone.
 * @returns {Object} Returns the cloned set.
 */

/**
 * Creates a clone of `typedArray`.
 *
 * @private
 * @param {Object} typedArray The typed array to clone.
 * @param {boolean} [isDeep] Specify a deep clone.
 * @returns {Object} Returns the cloned typed array.
 */

/**
 * Creates a clone of the `symbol` object.
 *
 * @private
 * @param {Object} symbol The symbol object to clone.
 * @returns {Object} Returns the cloned symbol object.
 */

/**
 * Creates a function like `_.assign`.
 *
 * @private
 * @param {Function} assigner The function to assign values.
 * @returns {Function} Returns the new assigner function.
 */

/**
 * Creates a function that memoizes the result of `func`. If `resolver` is
 * provided, it determines the cache key for storing the result based on the
 * arguments provided to the memoized function. By default, the first argument
 * provided to the memoized function is used as the map cache key. The `func`
 * is invoked with the `this` binding of the memoized function.
 *
 * **Note:** The cache is exposed as the `cache` property on the memoized
 * function. Its creation may be customized by replacing the `_.memoize.Cache`
 * constructor with one whose instances implement the
 * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)
 * method interface of `delete`, `get`, `has`, and `set`.
 *
 * @static
 * @memberOf _
 * @since 0.1.0
 * @category Function
 * @param {Function} func The function to have its output memoized.
 * @param {Function} [resolver] The function to resolve the cache key.
 * @returns {Function} Returns the new memoized function.
 * @example
 *
 * var object = { 'a': 1, 'b': 2 };
 * var other = { 'c': 3, 'd': 4 };
 *
 * var values = _.memoize(_.values);
 * values(object);
 * // => [1, 2]
 *
 * values(other);
 * // => [3, 4]
 *
 * object.a = 2;
 * values(object);
 * // => [1, 2]
 *
 * // Modify the result cache.
 * values.cache.set(object, ['a', 'b']);
 * values(object);
 * // => ['a', 'b']
 *
 * // Replace `_.memoize.Cache`.
 * _.memoize.Cache = WeakMap;
 */

/**
 * Creates a function that returns `value`.
 *
 * @static
 * @memberOf _
 * @since 2.4.0
 * @category Util
 * @param {*} value The value to return from the new function.
 * @returns {Function} Returns the new constant function.
 * @example
 *
 * var objects = _.times(2, _.constant({ 'a': 1 }));
 *
 * console.log(objects);
 * // => [{ 'a': 1 }, { 'a': 1 }]
 *
 * console.log(objects[0] === objects[1]);
 * // => true
 */

/**
 * Creates a function that returns the value at `path` of a given object.
 *
 * @static
 * @memberOf _
 * @since 2.4.0
 * @category Util
 * @param {Array|string} path The path of the property to get.
 * @returns {Function} Returns the new accessor function.
 * @example
 *
 * var objects = [
 *   { 'a': { 'b': 2 } },
 *   { 'a': { 'b': 1 } }
 * ];
 *
 * _.map(objects, _.property('a.b'));
 * // => [2, 1]
 *
 * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');
 * // => [1, 2]
 */

/**
 * Creates a function that'll short out and invoke `identity` instead
 * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`
 * milliseconds.
 *
 * @private
 * @param {Function} func The function to restrict.
 * @returns {Function} Returns the new shortable function.
 */

/**
 * Creates a hash object.
 *
 * @private
 * @constructor
 * @param {Array} [entries] The key-value pairs to cache.
 */

/**
 * Creates a map cache object to store key-value pairs.
 *
 * @private
 * @constructor
 * @param {Array} [entries] The key-value pairs to cache.
 */

/**
 * Creates a new URL by combining the baseURL with the requestedURL,
 * only when the requestedURL is not already an absolute URL.
 * If the requestURL is absolute, this function returns the requestedURL untouched.
 *
 * @param {string} baseURL The base URL
 * @param {string} requestedURL Absolute or relative URL to combine
 *
 * @returns {string} The combined full path
 */

/**
 * Creates a new URL by combining the specified URLs
 *
 * @param {string} baseURL The base URL
 * @param {string} relativeURL The relative URL
 *
 * @returns {string} The combined URL
 */

/**
 * Creates a route config from a React "children" object, which is usually
 * either a `<Route>` element or an array of them. Used internally by
 * `<Routes>` to create a route config from its children.
 *
 * @see https://reactrouter.com/utils/create-routes-from-children
 */

/**
 * Creates a stack cache object to store key-value pairs.
 *
 * @private
 * @constructor
 * @param {Array} [entries] The key-value pairs to cache.
 */

/**
 * Creates a store enhancer that applies middleware to the dispatch method
 * of the Redux store. This is handy for a variety of tasks, such as expressing
 * asynchronous actions in a concise manner, or logging every action payload.
 *
 * See `redux-thunk` package as an example of the Redux middleware.
 *
 * Because middleware is potentially asynchronous, this should be the first
 * store enhancer in the composition chain.
 *
 * Note that each middleware will be given the `dispatch` and `getState` functions
 * as named arguments.
 *
 * @param {...Function} middlewares The middleware chain to be applied.
 * @returns {Function} A store enhancer applying the middleware.
 */

/**
 * Creates a string URL path from the given pathname, search, and hash components.
 */

/**
 * Creates a unary function that invokes `func` with its argument transformed.
 *
 * @private
 * @param {Function} func The function to wrap.
 * @param {Function} transform The argument transform.
 * @returns {Function} Returns the new function.
 */

/**
 * Creates an array of own enumerable property names and symbols of `object`.
 *
 * @private
 * @param {Object} object The object to query.
 * @returns {Array} Returns the array of property names and symbols.
 */

/**
 * Creates an array of the enumerable property names of the array-like `value`.
 *
 * @private
 * @param {*} value The value to query.
 * @param {boolean} inherited Specify returning inherited property names.
 * @returns {Array} Returns the array of property names.
 */

/**
 * Creates an array of the own and inherited enumerable property names of `object`.
 *
 * **Note:** Non-object values are coerced to objects.
 *
 * @static
 * @memberOf _
 * @since 3.0.0
 * @category Object
 * @param {Object} object The object to query.
 * @returns {Array} Returns the array of property names.
 * @example
 *
 * function Foo() {
 *   this.a = 1;
 *   this.b = 2;
 * }
 *
 * Foo.prototype.c = 3;
 *
 * _.keysIn(new Foo);
 * // => ['a', 'b', 'c'] (iteration order is not guaranteed)
 */

/**
 * Creates an array of the own enumerable property names of `object`.
 *
 * **Note:** Non-object values are coerced to objects. See the
 * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
 * for more details.
 *
 * @static
 * @since 0.1.0
 * @memberOf _
 * @category Object
 * @param {Object} object The object to query.
 * @returns {Array} Returns the array of property names.
 * @example
 *
 * function Foo() {
 *   this.a = 1;
 *   this.b = 2;
 * }
 *
 * Foo.prototype.c = 3;
 *
 * _.keys(new Foo);
 * // => ['a', 'b'] (iteration order is not guaranteed)
 *
 * _.keys('hi');
 * // => ['0', '1']
 */

/**
 * Creates an array of the own enumerable symbol properties of `object`.
 *
 * @private
 * @param {Object} object The object to query.
 * @returns {Array} Returns the array of symbols.
 */

/**
 * Creates an array of the own enumerable symbols of `object`.
 *
 * @private
 * @param {Object} object The object to query.
 * @returns {Array} Returns the array of symbols.
 */

/**
 * Creates an list cache object.
 *
 * @private
 * @constructor
 * @param {Array} [entries] The key-value pairs to cache.
 */

/**
 * Creates the context object we're providing
 * @param backend
 * @param context
 */

/**
 * Cron Time Class
 */

/**
 * Custom hook to manage the entire form.
 *
 * @remarks
 * [API](https://react-hook-form.com/docs/useform) • [Demo](https://codesandbox.io/s/react-hook-form-get-started-ts-5ksmm) • [Video](https://www.youtube.com/watch?v=RkXv4AXXC_4)
 *
 * @param props - form configuration and validation parameters.
 *
 * @returns methods - individual functions to manage the form state. {@link UseFormReturn}
 *
 * @example
 * ```tsx
 * function App() {
 *   const { register, handleSubmit, watch, formState: { errors } } = useForm();
 *   const onSubmit = data => console.log(data);
 *
 *   console.log(watch("example"));
 *
 *   return (
 *     <form onSubmit={handleSubmit(onSubmit)}>
 *       <input defaultValue="test" {...register("example")} />
 *       <input {...register("exampleRequired", { required: true })} />
 *       {errors.exampleRequired && <span>This field is required</span>}
 *       <button>Submit</button>
 *     </form>
 *   );
 * }
 * ```
 */

/**
 * Custom hook to subscribe to field change and isolate re-rendering at the component level.
 *
 * @remarks
 *
 * [API](https://react-hook-form.com/docs/usewatch) • [Demo](https://codesandbox.io/s/react-hook-form-v7-ts-usewatch-h9i5e)
 *
 * @example
 * ```tsx
 * const { control } = useForm();
 * const values = useWatch({
 *   name: "fieldName"
 *   control,
 * })
 * ```
 */

/**
 * Custom hook to work with controlled component, this function provide you with both form and field level state. Re-render is isolated at the hook level.
 *
 * @remarks
 * [API](https://react-hook-form.com/docs/usecontroller) • [Demo](https://codesandbox.io/s/usecontroller-0o8px)
 *
 * @param props - the path name to the form field value, and validation rules.
 *
 * @returns field properties, field and form state. {@link UseControllerReturn}
 *
 * @example
 * ```tsx
 * function Input(props) {
 *   const { field, fieldState, formState } = useController(props);
 *   return (
 *     <div>
 *       <input {...field} placeholder={props.name} />
 *       <p>{fieldState.isTouched && "Touched"}</p>
 *       <p>{formState.isSubmitted ? "submitted" : ""}</p>
 *     </div>
 *   );
 * }
 * ```
 */

/**
 * Custom positioning reference element.
 * @see https://floating-ui.com/docs/virtual-elements
 */

/**
 * Darken or lighten a color, depending on its luminance.
 * Light colors are darkened, dark colors are lightened.
 * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()
 * @param {number} coefficient=0.15 - multiplier in the range 0 - 1
 * @returns {string} A CSS color string. Hex input values are returned as rgb
 */

/**
 * Darkens a color.
 * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()
 * @param {number} coefficient - multiplier in the range 0 - 1
 * @returns {string} A CSS color string. Hex input values are returned as rgb
 */

/**
 * Days dictionary.
 */

/**
 * Days in month
 * @type {number[]}
 */

/**
 * Declares an element that should be rendered at a certain URL path.
 *
 * @see https://reactrouter.com/components/route
 */

/**
 * Decorates a component as a dragsource
 * @param type The dragsource type
 * @param spec The drag source specification
 * @param collect The props collector function
 * @param options DnD options
 */

/**
 * Default query keys hash function.
 */

/**
 * Determine if a value is a Boolean
 *
 * @param {*} thing The value to test
 * @returns {boolean} True if value is a Boolean, otherwise false
 */

/**
 * Determine if a value is a Buffer
 *
 * @param {*} val The value to test
 *
 * @returns {boolean} True if value is a Buffer, otherwise false
 */

/**
 * Determine if a value is a Date
 *
 * @param {*} val The value to test
 *
 * @returns {boolean} True if value is a Date, otherwise false
 */

/**
 * Determine if a value is a FormData
 *
 * @param {*} thing The value to test
 *
 * @returns {boolean} True if value is an FormData, otherwise false
 */

/**
 * Determine if a value is a Function
 *
 * @param {*} val The value to test
 * @returns {boolean} True if value is a Function, otherwise false
 */

/**
 * Determine if a value is a String
 *
 * @param {*} val The value to test
 *
 * @returns {boolean} True if value is a String, otherwise false
 */

/**
 * Determine if a value is a plain Object
 *
 * @param {*} val The value to test
 *
 * @returns {boolean} True if value is a plain Object, otherwise false
 */

/**
 * Determine if a value is a view on an ArrayBuffer
 *
 * @param {*} val The value to test
 *
 * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false
 */

/**
 * Determine if a value is an Array
 *
 * @param {Object} val The value to test
 *
 * @returns {boolean} True if value is an Array, otherwise false
 */

/**
 * Determine if a value is an ArrayBuffer
 *
 * @param {*} val The value to test
 *
 * @returns {boolean} True if value is an ArrayBuffer, otherwise false
 */

/**
 * Determines if a given element is a DOM element name (i.e. not a React component).
 */

/**
 * Determines if the given handler IDs are dirty or not.
 *
 * @param dirtyIds The set of dirty handler ids
 * @param handlerIds The set of handler ids to check
 */

/**
 * Determines if the given thing is a array or js object.
 *
 * @param {string} thing - The object or array to be visited.
 *
 * @returns {boolean}
 */

/**
 * Determines if two arrays of items are equal
 * @param a The first array of items
 * @param b The second array of items
 */

/**
 * Determines the x,y offset between the client offset and the initial client offset
 *
 * @param state The offset state to compute from
 */

/**
 * Determines whether the payload is an error thrown by Axios
 *
 * @param {*} payload The value to test
 *
 * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false
 */

/**
 * Dispatch a request to the server using the configured adapter.
 *
 * @param {object} config The config that is to be used for the request
 *
 * @returns {Promise} The Promise to be fulfilled
 */

/**
 * Dispatches a custom event on window with given eventName, given zIndex and corresponding layer
 * @param {string} eventName - either of Mount or Unmount event name
 * @param {number} zIndex - z-index value which will be included in the event to be dispatched
 */

/**
 * Every Time Class
 */

/**
 * Executes the initializer function once and saves its result into a ref.
 *
 * ```js
 * const ref = useLazyRef(() => 10);
 * ```
 *
 * @param initializer
 */

/**
 * Export `Intl.PluralRules` just in case it's used somewhere else.
 */

/**
 * Extends object a by mutably adding to it the properties of object b.
 *
 * @param {Object} a The object to be extended
 * @param {Object} b The object to copy properties from
 * @param {Object} thisArg The object to bind function to
 *
 * @param {Boolean} [allOwnKeys]
 * @returns {Object} The resulting value of object a
 */

/**
 * Extracts event handlers from a given object.
 * A prop is considered an event handler if it is a function and its name starts with `on`.
 *
 * @param object An object to extract event handlers from.
 * @param excludeKeys An array of keys to exclude from the returned object.
 */

/**
 * Extracts language from an IETF BCP 47 language tag.
 * @param {string} languageTag - IETF BCP 47 language tag.
 * @return {string}
 * @example
 * // Returns "he"
 * getLanguageFromLanguageTag("he-IL-u-ca-hebrew-tz-jeruslm")
 * // Returns "ar"
 * getLanguageFromLanguageTag("ar-u-nu-latn")
 */

/**
 * Extracts zero value breakpoint keys before a non-zero value breakpoint key.
 * @example { xs: 0, sm: 0, md: 2, lg: 0, xl: 0 } or [0, 0, 2, 0, 0]
 * @returns [xs, sm]
 */

/**
 * Field aliases
 * @type {Object}
 */

/**
 * Field defaults
 * @type {Array}
 */

/**
 * Field mappings
 * @type {Array}
 */

/**
 * Fields constraints
 * @type {Array}
 */

/**
 * Find next or previous matching schedule date
 *
 * @return {CronDate}
 * @private
 */

/**
 * Find next suitable date
 *
 * @public
 * @return {CronDate|Object}
 */

/**
 * Find previous suitable date
 *
 * @public
 * @return {CronDate|Object}
 */

/**
 * Finds an appropriate `step` of `steps` for the time interval (in seconds).
 *
 * @param {Object[]} steps - Time formatting steps.
 *
 * @param {number} secondsPassed - Time interval (in seconds).
 *                                 `< 0` for past dates and `> 0` for future dates.
 *
 * @param {number} options.now - Current timestamp.
 *
 * @param {boolean} [options.future] - Whether the date should be formatted as a future one
 *                                     instead of a past one.
 *
 * @param {string} [options.round] - (undocumented) Rounding mechanism.
 *
 * @param {string[]} [options.units] - A list of allowed time units.
 *                                     (Example: ['second', 'minute', 'hour', …])
 *
 * @param {boolean} [options.getNextStep] - Pass true to return `[step, nextStep]` instead of just `step`.
 *
 * @return {Object|Object[]} [step] — Either a `step` or `[prevStep, step, nextStep]`.
 */

/**
 * Focusing on the passed element ref after initial mount.
 * Will only focus on initial mount.
 *
 * https://developer.mozilla.org/en-US/docs/Web/API/HTMLSelectElement/autofocus
 *
 * ```tsx
 * import useAutoFocus from '@atlaskit/ds-lib/use-auto-focus';
 *
 * const elementRef = useRef();
 * useAutoFocus(elementRef, true);
 *
 * <button ref={elementRef} />;
 * ```
 *
 * @param ref
 * @param autoFocus
 */

/**
 * For browser-based histories, we combine the state and key into an object
 */

/**
 * For each entry in the object, call the function with the key and value.
 *
 * @param {Object<any, any>} obj - The object to iterate over.
 * @param {Function} fn - The function to call for each entry.
 *
 * @returns {void}
 */

/**
 * For windows high contrast mode
 */

/**
 * Functions similarly to `useState` however the return value is a ref.
 *
 * ```js
 * const [valueRef, setValue] = useStateRef(0);
 * ```
 *
 * @param initialState
 */

/**
 * Generates unique ID.
 */

/**
 * Gets default locale.
 * @return  {string} locale
 */

/**
 * Gets locale data previously added by `addLocaleData()`.
 * @return  {object} [localeData]
 */

/**
 * Gets the `toStringTag` of `value`.
 *
 * @private
 * @param {*} value The value to query.
 * @returns {string} Returns the `toStringTag`.
 */

/**
 * Gets the data for `map`.
 *
 * @private
 * @param {Object} map The map to query.
 * @param {string} key The reference key.
 * @returns {*} Returns the map data.
 */

/**
 * Gets the hash value for `key`.
 *
 * @private
 * @name get
 * @memberOf Hash
 * @param {string} key The key of the value to get.
 * @returns {*} Returns the entry value.
 */

/**
 * Gets the index at which the `key` is found in `array` of key-value pairs.
 *
 * @private
 * @param {Array} array The array to inspect.
 * @param {*} key The key to search for.
 * @returns {number} Returns the index of the matched value, else `-1`.
 */

/**
 * Gets the list cache value for `key`.
 *
 * @private
 * @name get
 * @memberOf ListCache
 * @param {string} key The key of the value to get.
 * @returns {*} Returns the entry value.
 */

/**
 * Gets the map value for `key`.
 *
 * @private
 * @name get
 * @memberOf MapCache
 * @param {string} key The key of the value to get.
 * @returns {*} Returns the entry value.
 */

/**
 * Gets the native function at `key` of `object`.
 *
 * @private
 * @param {Object} object The object to query.
 * @param {string} key The key of the method to get.
 * @returns {*} Returns the function if it's native, else `undefined`.
 */

/**
 * Gets the property names, values, and compare flags of `object`.
 *
 * @private
 * @param {Object} object The object to query.
 * @returns {Array} Returns the match data of `object`.
 */

/**
 * Gets the stack value for `key`.
 *
 * @private
 * @name get
 * @memberOf Stack
 * @param {string} key The key of the value to get.
 * @returns {*} Returns the entry value.
 */

/**
 * Gets the time to next update for a date and a step.
 * @param  {number} date — The date passed to `.format()`, converted to a timestamp.
 * @param  {object} step
 * @param  {object} [options.previousStep]
 * @param  {object} [options.nextStep]
 * @param  {number} options.now
 * @param  {boolean} options.future
 * @param  {string} [options.round] - (undocumented) Rounding mechanism.
 * @return {number} [timeToNextUpdate]
 */

/**
 * Gets the time to next update for a step with a time unit defined.
 * @param  {string} unit
 * @param  {number} date — The date passed to `.format()`, converted to a timestamp.
 * @param  {number} options.now
 * @param  {string} [options.round] — (undocumented) Rounding mechanism.
 * @return {number} [timeToNextUpdate]
 */

/**
 * Gets the value at `key` of `object`.
 *
 * @private
 * @param {Object} [object] The object to query.
 * @param {string} key The key of the property to get.
 * @returns {*} Returns the property value.
 */

/**
 * Gets the value at `key`, unless `key` is "__proto__" or "constructor".
 *
 * @private
 * @param {Object} object The object to query.
 * @param {string} key The key of the property to get.
 * @returns {*} Returns the property value.
 */

/**
 * Gets the value at `path` of `object`. If the resolved value is
 * `undefined`, the `defaultValue` is returned in its place.
 *
 * @static
 * @memberOf _
 * @since 3.7.0
 * @category Object
 * @param {Object} object The object to query.
 * @param {Array|string} path The path of the property to get.
 * @param {*} [defaultValue] The value returned for `undefined` resolved values.
 * @returns {*} Returns the resolved value.
 * @example
 *
 * var object = { 'a': [{ 'b': { 'c': 3 } }] };
 *
 * _.get(object, 'a[0].b.c');
 * // => 3
 *
 * _.get(object, ['a', '0', 'b', 'c']);
 * // => 3
 *
 * _.get(object, 'a.b.c', 'default');
 * // => 'default'
 */

/**
 * Given `this.props.children`, return an object mapping key to child.
 *
 * @param {*} children `this.props.children`
 * @return {object} Mapping of key to child
 */

/**
 * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.
 * They usually appear for dates that denote time before the timezones were introduced
 * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891
 * and GMT+01:00:00 after that date)
 *
 * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,
 * which would lead to incorrect calculations.
 *
 * This function returns the timezone offset in milliseconds that takes seconds in account.
 */

/**
 * Handle controlled & uncontrolled component state
 *
 * ```js
 *  const [uncontrolledState, setUncontrolledState] = useControlled(
 *    controlledValue,
 *    () => defaultValue,
 *  );
 * ```
 *
 * @param propValue
 * @param getDefaultPropValue
 */

/**
 * Handles the click behavior for router `<Link>` components. This is useful if
 * you need to create custom `<Link>` components with the same click behavior we
 * use in our exported `<Link>`.
 */

/**
 * Hash history stores the location in window.location.hash. This makes it ideal
 * for situations where you don't want to send the location to the server for
 * some reason, either because you do cannot configure it or the URL space is
 * reserved for something else.
 *
 * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createhashhistory
 */

/**
 * Hashes the value into a stable hash.
 */

/**
 * If `componentProps` is a function, calls it with the provided `ownerState`.
 * Otherwise, just returns `componentProps`.
 */

/**
 * If at any point a user clicks with a pointing device, ensure that we change
 * the modality away from keyboard.
 * This avoids the situation where a user presses a key on an already focused
 * element, and then clicks on a different element, focusing it with a
 * pointing device, while we still think we're in keyboard modality.
 */

/**
 * If the array is an array and none of its elements are visitable, then it's a flat array.
 *
 * @param {Array<any>} arr - The array to check
 *
 * @returns {boolean}
 */

/**
 * If the thing is a FormData object, return true, otherwise return false.
 *
 * @param {unknown} thing - The thing to check.
 *
 * @returns {boolean}
 */

/**
 * Initializes an array clone.
 *
 * @private
 * @param {Array} array The array to clone.
 * @returns {Array} Returns the initialized clone.
 */

/**
 * Initializes an object clone based on its `toStringTag`.
 *
 * **Note:** This function only supports cloning values with tags of
 * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.
 *
 * @private
 * @param {Object} object The object to clone.
 * @param {string} tag The `toStringTag` of the object to clone.
 * @param {Function} cloneFunc The function to clone values.
 * @param {boolean} [isDeep] Specify a deep clone.
 * @returns {Object} Returns the initialized clone.
 */

/**
 * Initializes an object clone.
 *
 * @private
 * @param {Object} object The object to clone.
 * @returns {Object} Returns the initialized clone.
 */

/**
 * Inspired by https://github.com/facebook/react/issues/14099#issuecomment-440013892
 * See RFC in https://github.com/reactjs/rfcs/pull/220
 */

/**
 * Is an `EventTarget` a `Node` from another `window`?
 */

/**
 * It converts an object into a FormData object
 *
 * @param {Object<any, any>} obj - The object to convert to form data.
 * @param {string} formData - The FormData object to append to.
 * @param {Object<string, any>} options
 *
 * @returns
 */

/**
 * It encodes a string by replacing all characters that are not in the unreserved set with
 * their percent-encoded equivalents
 *
 * @param {string} str - The string to encode.
 *
 * @returns {string} The encoded string.
 */

/**
 * It removes the brackets from the end of a string
 *
 * @param {string} key - The key of the parameter.
 *
 * @returns {string} the key without the brackets.
 */

/**
 * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their
 * URI encoded counterparts
 *
 * @param {string} val The value to be encoded.
 *
 * @returns {string} The encoded value.
 */

/**
 * It takes a FormData object and returns a JavaScript object
 *
 * @param {string} formData The FormData object to convert to JSON.
 *
 * @returns {Object<string, any> | null} The converted object.
 */

/**
 * It takes a params object and converts it to a FormData object
 *
 * @param {Object<string, any>} params - The parameters to be converted to a FormData object.
 * @param {Object<string, any>} options - The options object passed to the Axios constructor.
 *
 * @returns {void}
 */

/**
 * It takes a path, a key, and a boolean, and returns a string
 *
 * @param {string} path - The path to the current key.
 * @param {string} key - The key of the current object being iterated over.
 * @param {string} dots - If true, the key will be rendered with dots instead of brackets.
 *
 * @returns {string} The path to the current key.
 */

/**
 * It takes a regular expression and a string, and returns an array of all the matches
 *
 * @param {string} regExp - The regular expression to match against.
 * @param {string} str - The string to search.
 *
 * @returns {Array<boolean>}
 */

/**
 * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']
 *
 * @param {string} name - The name of the property to get.
 *
 * @returns An array of strings.
 */

/**
 * It takes a string, tries to parse it, and if it fails, it returns the stringified version
 * of the input
 *
 * @param {any} rawValue - The value to be stringified.
 * @param {Function} parser - A function that parses a string into a JavaScript object.
 * @param {Function} encoder - A function that takes a value and returns a string.
 *
 * @returns {string} A stringified version of the rawValue.
 */

/**
 * Iterate over an Array or an Object invoking a function for each item.
 *
 * If `obj` is an Array callback will be called passing
 * the value, index, and complete array for each item.
 *
 * If 'obj' is an Object callback will be called passing
 * the value, key, and complete object for each property.
 *
 * @param {Object|Array} obj The object to iterate
 * @param {Function} fn The callback to invoke for each item
 *
 * @param {Boolean} [allOwnKeys = false]
 * @returns {any}
 */

/**
 * Iterate over expression iterator
 *
 * @public
 * @param {Number} steps Numbers of steps to iterate
 * @param {Function} callback Optional callback
 * @return {Array} Array of the iterated results
 */

/**
 * Iterates over elements of `collection`, returning the first element
 * `predicate` returns truthy for. The predicate is invoked with three
 * arguments: (value, index|key, collection).
 *
 * @static
 * @memberOf _
 * @since 0.1.0
 * @category Collection
 * @param {Array|Object} collection The collection to inspect.
 * @param {Function} [predicate=_.identity]
 *  The function invoked per iteration.
 * @param {number} [fromIndex=0] The index to search from.
 * @returns {*} Returns the matched element, else `undefined`.
 * @example
 *
 * var users = [
 *   { 'user': 'barney',  'age': 36, 'active': true },
 *   { 'user': 'fred',    'age': 40, 'active': false },
 *   { 'user': 'pebbles', 'age': 1,  'active': true }
 * ];
 *
 * _.find(users, function(o) { return o.age < 40; });
 * // => object for 'barney'
 *
 * // The `_.matches` iteratee shorthand.
 * _.find(users, { 'age': 1, 'active': true });
 * // => object for 'pebbles'
 *
 * // The `_.matchesProperty` iteratee shorthand.
 * _.find(users, ['active', false]);
 * // => object for 'fred'
 *
 * // The `_.property` iteratee shorthand.
 * _.find(users, 'active');
 * // => object for 'barney'
 */

/**
 * Iterates through steps until it finds the maximum one satisfying the `minTime` threshold.
 * @param  {Object} steps - Steps.
 * @param  {number} secondsPassed - How much seconds have passed since the date till `now`.
 * @param  {number} options.now - Current timestamp.
 * @param  {boolean} options.future - Whether the time interval should be formatted as a future one.
 * @param  {number} [i] - Gradation step currently being tested.
 * @return {number} Gradation step index.
 */

/**
 * Keep `UNSAFE_media` for backwards compatibility.
 */

/**
 * Keep track of our keyboard modality state with `hadKeyboardEvent`.
 * If the most recent user interaction was via the keyboard;
 * and the key press did not include a meta, alt/option, or control key;
 * then the modality is keyboard. Otherwise, the modality is not keyboard.
 * @param {KeyboardEvent} event
 */

/**
 * Leaves only allowed steps.
 * @param  {Object[]} steps
 * @param  {string[]} units - Allowed time units.
 * @return {Object[]}
 */

/**
 * Lightens a color.
 * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()
 * @param {number} coefficient - multiplier in the range 0 - 1
 * @returns {string} A CSS color string. Hex input values are returned as rgb
 */

/**
 * Lodash (Custom Build) <https://lodash.com/>
 * Build: `lodash modularize exports="npm" -o ./`
 * Copyright JS Foundation and other contributors <https://js.foundation/>
 * Released under MIT license <https://lodash.com/license>
 * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
 * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
 */

/**
 * Lodash (Custom Build) <https://lodash.com/>
 * Build: `lodash modularize exports="npm" -o ./`
 * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
 * Released under MIT license <https://lodash.com/license>
 * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
 * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
 */

/**
 * Makes all methods read-only
 * @param {Object} obj
 */

/**
 * Matches the given routes to a location and returns the match data.
 *
 * @see https://reactrouter.com/utils/match-routes
 */

/**
 * Memory history stores the current location in memory. It is designed for use
 * in stateful non-browser environments like tests and React Native.
 */

/**
 * Merges the slot component internal props (usually coming from a hook)
 * with the externally provided ones.
 *
 * The merge order is (the latter overrides the former):
 * 1. The internal props (specified as a getter function to work with get*Props hook result)
 * 2. Additional props (specified internally on a Base UI component)
 * 3. External props specified on the owner component. These should only be used on a root slot.
 * 4. External props specified in the `slotProps.*` prop.
 * 5. The `className` prop - combined from all the above.
 * @param parameters
 * @returns
 */

/**
 * Merges two or more refs together providing a single interface to set their value
 * @param {RefObject|Ref} refs
 * @returns {MutableRefObject} - a new ref, which translates all changes to {refs}
 *
 * @see {@link mergeRefs} a version without buit-in memoization
 * @see https://github.com/theKashey/use-callback-ref#usemergerefs
 * @example
 * const Component = React.forwardRef((props, ref) => {
 *   const ownRef = useRef();
 *   const domRef = useMergeRefs([ref, ownRef]); // 👈 merge together
 *   return <div ref={domRef}>...</div>
 * }
 */

/**
 * Needed to supress the SSR warning when running use layout effect on the server.
 */

/**
 * Optimizes the visibility of the floating element by choosing the placement
 * that has the most space available automatically, without needing to specify a
 * preferred placement. Alternative to `flip`.
 * @see https://floating-ui.com/docs/autoPlacement
 */

/**
 * Parse content string
 *
 * @public
 * @param {String} data Crontab content
 * @return {Object}
 */

/**
 * Parse crontab entry
 *
 * @private
 * @param {String} entry Crontab file entry/line
 */

/**
 * Parse crontab file
 *
 * @public
 * @param {String} filePath Path to file
 * @param {Function} callback
 */

/**
 * Parse input expression (async)
 *
 * @public
 * @param {String} expression Input expression
 * @param {Object} [options] Parsing options
 */

/**
 * Parse input interval
 *
 * @param {String} field Field symbolic name
 * @param {String} value Field value
 * @param {Array} constraints Range upper and lower constraints
 * @return {Array} Sequence of sorted values
 * @private
 */

/**
 * Parses a string URL path into its separate pathname, search, and hash components.
 */

/**
 * Performs a
 * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
 * comparison between two values to determine if they are equivalent.
 *
 * @static
 * @memberOf _
 * @since 4.0.0
 * @category Lang
 * @param {*} value The value to compare.
 * @param {*} other The other value to compare.
 * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
 * @example
 *
 * var object = { 'a': 1 };
 * var other = { 'a': 1 };
 *
 * _.eq(object, object);
 * // => true
 *
 * _.eq(object, other);
 * // => false
 *
 * _.eq('a', 'a');
 * // => true
 *
 * _.eq('a', Object('a'));
 * // => false
 *
 * _.eq(NaN, NaN);
 * // => true
 */

/**
 * Performs a deep comparison between two values to determine if they are
 * equivalent.
 *
 * **Note:** This method supports comparing arrays, array buffers, booleans,
 * date objects, error objects, maps, numbers, `Object` objects, regexes,
 * sets, strings, symbols, and typed arrays. `Object` objects are compared
 * by their own, not inherited, enumerable properties. Functions and DOM
 * nodes are compared by strict equality, i.e. `===`.
 *
 * @static
 * @memberOf _
 * @since 0.1.0
 * @category Lang
 * @param {*} value The value to compare.
 * @param {*} other The other value to compare.
 * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
 * @example
 *
 * var object = { 'a': 1 };
 * var other = { 'a': 1 };
 *
 * _.isEqual(object, other);
 * // => true
 *
 * object === other;
 * // => false
 */

/**
 * Performs pattern matching on a URL pathname and returns information about
 * the match.
 *
 * @see https://reactrouter.com/utils/match-path
 */

/**
 * Portals provide a first-class way to render children into a DOM node
 * that exists outside the DOM hierarchy of the parent component.
 *
 * Demos:
 *
 * - [Portal](https://mui.com/material-ui/react-portal/)
 *
 * API:
 *
 * - [Portal API](https://mui.com/material-ui/api/portal/)
 */

/**
 * Prefined intervals
 * @type {Object}
 */

/**
 * Prevent the honey pot from changing the window size.
 * This is super unlikely to occur, but just being safe.
 */

/**
 * Prevents programatic scrolling of the viewport with `scrollIntoView`.
 * Should be used in conjunction with a scroll lock to prevent a user from scrolling.
 *
 * @returns scroll top offset of the viewport
 */

/**
 * Private module reserved for @mui packages.
 */

/**
 * Provides a set of static methods for creating Disposables.
 * @param {Function} action Action to run during the first call to dispose.
 * The action is guaranteed to be run at most once.
 */

/**
 * Provides location context for the rest of the app.
 *
 * Note: You usually won't render a `<Router>` directly. Instead, you'll render a
 * router that is more specific to your environment such as a `<BrowserRouter>`
 * in web browsers or a `<StaticRouter>` for server rendering.
 *
 * @see https://reactrouter.com/router-components/router
 */

/**
 * React Router DOM v6.22.0
 *
 * Copyright (c) Remix Software Inc.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE.md file in the root directory of this source tree.
 *
 * @license MIT
 */

/**
 * React Router v6.22.0
 *
 * Copyright (c) Remix Software Inc.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE.md file in the root directory of this source tree.
 *
 * @license MIT
 */

/**
 * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)
 *
 * @param {string} content with BOM
 *
 * @returns {string} content value without BOM
 */

/**
 * Removes `key` and its value from the hash.
 *
 * @private
 * @name delete
 * @memberOf Hash
 * @param {Object} hash The hash to modify.
 * @param {string} key The key of the value to remove.
 * @returns {boolean} Returns `true` if the entry was removed, else `false`.
 */

/**
 * Removes `key` and its value from the list cache.
 *
 * @private
 * @name delete
 * @memberOf ListCache
 * @param {string} key The key of the value to remove.
 * @returns {boolean} Returns `true` if the entry was removed, else `false`.
 */

/**
 * Removes `key` and its value from the map.
 *
 * @private
 * @name delete
 * @memberOf MapCache
 * @param {string} key The key of the value to remove.
 * @returns {boolean} Returns `true` if the entry was removed, else `false`.
 */

/**
 * Removes `key` and its value from the stack.
 *
 * @private
 * @name delete
 * @memberOf Stack
 * @param {string} key The key of the value to remove.
 * @returns {boolean} Returns `true` if the entry was removed, else `false`.
 */

/**
 * Removes all key-value entries from the hash.
 *
 * @private
 * @name clear
 * @memberOf Hash
 */

/**
 * Removes all key-value entries from the list cache.
 *
 * @private
 * @name clear
 * @memberOf ListCache
 */

/**
 * Removes all key-value entries from the map.
 *
 * @private
 * @name clear
 * @memberOf MapCache
 */

/**
 * Removes all key-value entries from the stack.
 *
 * @private
 * @name clear
 * @memberOf Stack
 */

/**
 * Removes event handlers from the given object.
 * A field is considered an event handler if it is a function with a name beginning with `on`.
 *
 * @param object Object to remove event handlers from.
 * @returns Object with event handlers removed.
 */

/**
 * Renders the child route's element, if there is one.
 *
 * @see https://reactrouter.com/components/outlet
 */

/**
 * Renders the result of `matchRoutes()` into a React element.
 */

/**
 * Represents a group of disposable resources that are disposed together.
 * @constructor
 */

/**
 * Represents the local zone for this JavaScript environment.
 * @implements {Zone}
 */

/**
 * Reset expression iterator state
 *
 * @public
 */

/**
 * Resolve or reject a Promise based on response status.
 *
 * @param {Function} resolve A function that resolves the promise.
 * @param {Function} reject A function that rejects the promise.
 * @param {object} response The response.
 *
 * @returns {object} The response.
 */

/**
 * Resolves a locale to a supported one (if any).
 * @param  {string} locale
 * @param {Object} [options] - An object that may have the following property:
 * @param {string} [options.localeMatcher="lookup"] - The locale matching algorithm to use. Possible values are "lookup" and "best fit". Currently only "lookup" is supported.
 * @return {string} [locale]
 * @example
 * // Returns "sr"
 * resolveLocale("sr-Cyrl-BA")
 * // Returns `undefined`
 * resolveLocale("xx-Latn")
 */

/**
 * Resolves a locale to a supported one (if any).
 * Starts from the most specific locale and gradually
 * falls back to less specific ones.
 * This is a basic implementation of the "lookup" algorithm.
 * https://tools.ietf.org/html/rfc4647#section-3.4
 * @param  {string} locale
 * @return {string} [locale]
 * @example
 * // Returns "sr"
 * resolveLocaleLookup("sr-Cyrl-BA")
 * // Returns `undefined`
 * resolveLocaleLookup("xx-Latn")
 */

/**
 * Resolves the pathname of the given `to` value against the current location.
 *
 * @see https://reactrouter.com/hooks/use-resolved-path
 */

/**
 * Return a boolean indicating if there is an active view transition to the
 * given href.  You can use this value to render CSS classes or viewTransitionName
 * styles onto your elements
 *
 * @param href The destination href
 * @param [opts.relative] Relative routing type ("route" | "path")
 */

/**
 * Return an array with the separator React element interspersed between
 * each React node of the input children.
 *
 * > joinChildren([1,2,3], 0)
 * [1,0,2,0,3]
 */

/**
 * Returns `true` if a `Firefox` browser
 * */

/**
 * Returns a PathMatch object if the given pattern matches the current URL.
 * This is useful for components that need to know "active" state, e.g.
 * `<NavLink>`.
 *
 * @see https://reactrouter.com/hooks/use-match
 */

/**
 * Returns a `locale` for which a function exists in `./PluralRuleFunctions.js`.
 * @param  {string} locale
 * @return {string}
 * @example
 * getPluralRulesLocale("ru-RU-Cyrl") // Returns "ru".
 */

/**
 * Returns a channel created from the input color.
 *
 * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()
 * @returns {string} - The channel for the color, that can be used in rgba or hsla colors
 */

/**
 * Returns a locale for which locale data has been added
 * via `RelativeTimeFormat.addLocale(...)`.
 * @param  {string} locale
 * @return {string} [locale]
 */

/**
 * Returns a number whose value is limited to the given range.
 * @param {number} value The value to be clamped
 * @param {number} min The lower boundary of the output range
 * @param {number} max The upper boundary of the output range
 * @returns {number} A number in the range [min, max]
 */

/**
 * Returns a path with params interpolated.
 *
 * @see https://reactrouter.com/utils/generate-path
 */

/**
 * Returns a resolved path object relative to the given pathname.
 *
 * @see https://reactrouter.com/utils/resolve-path
 */

/**
 * Returns a unique id
 *
 * React 18 SSR and Concurrent modes are supported when the `platform.design-system-team.react-18-use-id_mn8q4` flag is enabled.
 * This is a interop function that supports React 16 and 18.
 *
 * If migrating from `useUID` in the `react-uid` package, then `useId` is a direct replacement.
 *
 * @return string
 * @see {@link useIdSeed}
 * @see https://github.com/thearnica/react-uid#hooks-168
 * @example
 * const id = useUID();
 * id == 1; // for example
 *
 * Parts of the above are from: https://github.com/thearnica/react-uid/blob/0f507fbbdb1ab84acf477ec32698afe3d2191e49/src/hooks.ts#L41C1-L49C4
 */

/**
 * Returns an array containing those of the provided locales
 * that are supported in collation without having to fall back
 * to the runtime's default locale.
 * @param {(string|string[])} locale - A string with a BCP 47 language tag, or an array of such strings. For the general form of the locales argument, see the Intl page.
 * @param {Object} [options] - An object that may have the following property:
 * @param {string} [options.localeMatcher="lookup"] - The locale matching algorithm to use. Possible values are "lookup" and "best fit". Currently only "lookup" is supported.
 * @return {string[]} An array of strings representing a subset of the given locale tags that are supported in collation without having to fall back to the runtime's default locale.
 * @example
 * var locales = ['ban', 'id-u-co-pinyin', 'es-PY']
 * var options = { localeMatcher: 'lookup' }
 * // Returns ["id", "es-PY"]
 * Intl.RelativeTimeFormat.supportedLocalesOf(locales, options)
 */

/**
 * Returns an id generator
 *
 * React 18 SSR and Concurrent modes are supported when the `platform.design-system-team.react-18-use-id_mn8q4` flag is enabled.
 * This is a interop function that supports React 16 and 18.
 *
 * If migrating from `useUIDSeed` in the `react-uid` package, then `useIdSeed` is a direct replacement.
 *
 * "If you need to give IDs to multiple related elements, you can call useId to generate a shared prefix for them" - From React
 * This function will help to implement the above.
 * @return (id: any) => string
 * @see https://react.dev/reference/react/useId#generating-ids-for-several-related-elements
 * @see https://github.com/thearnica/react-uid#hooks-168
 * @example
 * import { useIdSeed } from '@atlaskit/ds-lib/react-uid';
 *
 * export default function Form() {
 * 	 const idSeed = useIdSeed();
 *   return (
 *     <form>
 *       <label htmlFor={idSeed('firstName')}>First Name:</label>
 *       <input id={idSeed('firstName')} type="text" />
 *       <hr />
 *       <label htmlFor={idSeed('lastName')}>Last Name:</label>
 *       <input id={idSeed('lastName')} type="text" />
 *     </form>
 *   );
 * }
 */

/**
 * Returns an imperative method for changing the location. Used by `<Link>`s, but
 * may also be used by other elements to change the location.
 *
 * @see https://reactrouter.com/hooks/use-navigate
 */

/**
 * Returns an object of key/value pairs of the dynamic params from the current
 * URL that were matched by the route path.
 *
 * @see https://reactrouter.com/hooks/use-params
 */

/**
 * Returns an object with the type and values of a color.
 *
 * Note: Does not support rgb % values.
 * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()
 * @returns {object} - A MUI color object: {type: string, values: number[]}
 */

/**
 * Returns how far the body is scrolled from the top of the viewport.
 *
 *   ____
 * ||____|| <-- overflow
 *  |    |  <-- viewport
 *  |____|
 *
 * Scroll distance is the height of overflow outside the viewport.
 */

/**
 * Returns the ID for the nearest contextual route
 */

/**
 * Returns the appropriate circle stroke color.
 */

/**
 * Returns the cartesian distance of the drag source component's position, based on its position
 * at the time when the current drag operation has started, and the movement difference.
 *
 * Returns null if no item is being dragged.
 *
 * @param state The offset state to compute from
 */

/**
 * Returns the context (if provided) for the child route at this level of the route
 * hierarchy.
 * @see https://reactrouter.com/hooks/use-outlet-context
 */

/**
 * Returns the current location object, which represents the current URL in web
 * browsers.
 *
 * Note: If you're using this it may mean you're doing some of your own
 * "routing" in your app, and we'd like to know what your use case is. We may
 * be able to provide something higher-level to better suit your needs.
 *
 * @see https://reactrouter.com/hooks/use-location
 */

/**
 * Returns the current navigation action which describes how the router came to
 * the current location, either by a pop, push, or replace on the history stack.
 *
 * @see https://reactrouter.com/hooks/use-navigation-type
 */

/**
 * Returns the element for the child route at this level of the route
 * hierarchy. Used internally by `<Outlet>` to render child routes.
 *
 * @see https://reactrouter.com/hooks/use-outlet
 */

/**
 * Returns the element of the route that matched the current location, prepared
 * with the correct context to render the remainder of the route tree. Route
 * elements in the tree must render an `<Outlet>` to render their child route's
 * element.
 *
 * @see https://reactrouter.com/hooks/use-routes
 */

/**
 * Returns the full href for the given "to" value. This is useful for building
 * custom links that are also accessible and preserve right-click behavior.
 *
 * @see https://reactrouter.com/hooks/use-href
 */

/**
 * Returns the happy-path data from the nearest ancestor `<Await />` value
 */

/**
 * Returns the nearest ancestor Route error, which could be a loader/action
 * error or a render error.  This is intended to be called from your
 * ErrorBoundary/errorElement to display a proper error message.
 */

/**
 * Returns the position of the calling modal dialog in the modal dialog stack.
 * Stack index of `0` is the highest position in the stack,
 * with every higher number being behind in the stack.
 */

/**
 * Returns the ref of a React element handling differences between React 19 and older versions.
 * It will throw runtime error if the element is not a valid React element.
 *
 * @param element React.ReactElement
 * @returns React.Ref<any> | null
 */

/**
 * Returns the value of a feature flag. If the flag does not resolve, it returns the "false" as a default value.
 *
 * @param name
 */

/**
 * Returns true if this component is a descendant of a `<Router>`.
 *
 * @see https://reactrouter.com/hooks/use-in-router-context
 */

/**
 * Returns true when the current weekday is the last occurrence of this weekday
 * for the present month.
 */

/**
 * Safe chained function.
 *
 * Will only create a new function if needed,
 * otherwise will pass back existing functions or null.
 */

/**
 * Saves the passed through `callback` to a ref to ensure stability between renders.
 * As a feature this callback will only be created **once**,
 * this means it will have a stale closure on subsequent render.
 *
 * If you need to access things in the parent scope make sure to do it with refs.
 *
 * ```js
 * const callback = useLazyCallback(() => 10);
 * ```
 *
 * @param callback
 */

/**
 * Schedules a microtask.
 * This can be useful to schedule state updates after rendering.
 */

/**
 * Set a `style` property on a `HTMLElement`
 *
 * @returns a `cleanup` function to restore the `style` property to it's original state
 */

/**
 * Sets default locale.
 * @param  {string} locale
 */

/**
 * Sets the `toString` method of `func` to return `string`.
 *
 * @private
 * @param {Function} func The function to modify.
 * @param {Function} string The `toString` result.
 * @returns {Function} Returns `func`.
 */

/**
 * Sets the absolute transparency of a color.
 * Any existing alpha values are overwritten.
 * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()
 * @param {number} value - value to set the alpha channel to in the range 0 - 1
 * @returns {string} A CSS color string. Hex input values are returned as rgb
 */

/**
 * Sets the hash `key` to `value`.
 *
 * @private
 * @name set
 * @memberOf Hash
 * @param {string} key The key of the value to set.
 * @param {*} value The value to set.
 * @returns {Object} Returns the hash instance.
 */

/**
 * Sets the list cache `key` to `value`.
 *
 * @private
 * @name set
 * @memberOf ListCache
 * @param {string} key The key of the value to set.
 * @param {*} value The value to set.
 * @returns {Object} Returns the list cache instance.
 */

/**
 * Sets the map `key` to `value`.
 *
 * @private
 * @name set
 * @memberOf MapCache
 * @param {string} key The key of the value to set.
 * @param {*} value The value to set.
 * @returns {Object} Returns the map cache instance.
 */

/**
 * Sets the stack `key` to `value`.
 *
 * @private
 * @name set
 * @memberOf Stack
 * @param {string} key The key of the value to set.
 * @param {*} value The value to set.
 * @returns {Object} Returns the stack cache instance.
 */

/**
 * Settings contains static getters and setters that control Luxon's overall behavior. Luxon is a simple library with few options, but the ones it does have live here.
 */

/**
 * Shallow compare objects. Only works with objects that always have the same properties.
 */

/**
 * Similar to invariant but only logs a warning if the condition is not met.
 * This can be used to log issues in development environments in critical
 * paths. Removing the logging code for production environments will keep the
 * same logic and follow the same code paths.
 */

/**
 * Split this component for RSC import
 */

/**
 * Stable version of useNavigate that is used when we are in the context of
 * a RouterProvider.
 */

/**
 * Stringify the expression
 *
 * @public
 * @param {Boolean} [includeSeconds] Should stringify seconds
 * @return {String}
 */

/**
 * Syntactic sugar for invoking a function and expanding an array for arguments.
 *
 * Common use case would be to use `Function.prototype.apply`.
 *
 *  ```js
 *  function f(x, y, z) {}
 *  var args = [1, 2, 3];
 *  f.apply(null, args);
 *  ```
 *
 * With `spread` this example can be re-written.
 *
 *  ```js
 *  spread(function(x, y, z) {})([1, 2, 3]);
 *  ```
 *
 * @param {Function} callback
 *
 * @returns {Function}
 */

/**
 * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
 * @codegen <<SignedSource::06cd0b36f2db8d427e1038f3037e7be1>>
 * @codegenCommand yarn build:icon-glyphs
 */

/**
 * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
 * @codegen <<SignedSource::09631b632043bdc3ce0c74675db0a370>>
 * @codegenCommand yarn build:icon-glyphs
 */

/**
 * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
 * @codegen <<SignedSource::29e574c9f51baa9683949825b37b2fad>>
 * @codegenCommand yarn build:icon-glyphs
 */

/**
 * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
 * @codegen <<SignedSource::2c8fde928c3d00c6ed02e51781702744>>
 * @codegenCommand yarn build:icon-glyphs
 */

/**
 * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
 * @codegen <<SignedSource::32c191357b748545769418a2438f72bf>>
 * @codegenCommand yarn build:icon-glyphs
 */

/**
 * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
 * @codegen <<SignedSource::3eb2993a427b2667a5277a7a906fec96>>
 * @codegenCommand yarn build:icon-glyphs
 */

/**
 * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
 * @codegen <<SignedSource::42417b1120b708626f47280d3ac0fde0>>
 * @codegenCommand yarn build:icon-glyphs
 */

/**
 * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
 * @codegen <<SignedSource::43db9d99c93083272e0c42b874af3704>>
 * @codegenCommand yarn build:icon-glyphs
 */

/**
 * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
 * @codegen <<SignedSource::44f68a28e7579c1e69613bedc98a8120>>
 * @codegenCommand yarn build:icon-glyphs
 */

/**
 * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
 * @codegen <<SignedSource::5bbc66a5bafbc3dabace12fa6936c92e>>
 * @codegenCommand yarn build:icon-glyphs
 */

/**
 * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
 * @codegen <<SignedSource::6e3245a4cda5405cbe39cdb10fb1ac0b>>
 * @codegenCommand yarn build:icon-glyphs
 */

/**
 * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
 * @codegen <<SignedSource::796368f5d379f034b5d96a253e623668>>
 * @codegenCommand yarn build:icon-glyphs
 */

/**
 * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
 * @codegen <<SignedSource::7dfdc599c601af5ad9de21c16ca28508>>
 * @codegenCommand yarn build:icon-glyphs
 */

/**
 * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
 * @codegen <<SignedSource::a280b44c69b6de4f4f93ebdb24542b07>>
 * @codegenCommand yarn build:icon-glyphs
 */

/**
 * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
 * @codegen <<SignedSource::a4f21bfbaa65dd002db008ddef9d1004>>
 * @codegenCommand yarn build:icon-glyphs
 */

/**
 * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
 * @codegen <<SignedSource::ad28cd61177420a3a122a1d9ec17dac3>>
 * @codegenCommand yarn build:icon-glyphs
 */

/**
 * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
 * @codegen <<SignedSource::ce299ea00421c5395af727ab457ee775>>
 * @codegenCommand yarn build:icon-glyphs
 */

/**
 * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
 * @codegen <<SignedSource::cfc592cc61140d99cb4eaed527408acf>>
 * @codegenCommand yarn build:icon-glyphs
 */

/**
 * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
 * @codegen <<SignedSource::db781ab5297a2cc1540c99d75921a718>>
 * @codegenCommand yarn build:icon-glyphs
 */

/**
 * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
 * @codegen <<SignedSource::e1d767c2bf4320bb7e127b754b192d24>>
 * @codegenCommand yarn build:icon-glyphs
 */

/**
 * THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
 * @codegen <<SignedSource::e96175d8a517ba5c9c43627285ce1cee>>
 * @codegenCommand yarn build:icon-glyphs
 */

/**
 * THIS SECTION WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
 * @codegen <<SignedSource::0d3c08d703b8431712d7e238a3f7229b>>
 * @codegenId spacing
 * @codegenCommand yarn workspace @atlaskit/primitives codegen-styles
 * @codegenDependency ../../../tokens/src/artifacts/tokens-raw/atlassian-spacing.tsx <<SignedSource::55622b91aca9b3afac4bce440f222b71>>
 */

/**
 * THIS SECTION WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
 * @codegen <<SignedSource::c98c944b8a999cfc194a2cfe851d2433>>
 * @codegenId dimensions
 * @codegenCommand yarn workspace @atlaskit/primitives codegen-styles
 * @codegenParams ["dimensions"]
 * @codegenDependency ../../scripts/codegen-file-templates/dimensions.tsx <<SignedSource::cc9b3f12104c6ede803da6a42daac0b0>>
 */

/**
 * TODO v5: consider making it private
 *
 * passes {value} to {ref}
 *
 * WARNING: Be sure to only call this inside a callback that is passed as a ref.
 * Otherwise, make sure to cleanup the previous {ref} if it changes. See
 * https://github.com/mui/material-ui/issues/13539
 *
 * Useful if you want to expose the ref of an inner component to the public API
 * while still using it inside the component.
 * @param ref A ref callback or ref object. If anything falsy, this is a no-op.
 */

/**
 * Takes a maybe-undefined function and arbitrary args and invokes the function
 * only if it is defined.
 */

/**
 * Takes an argument and if it's an array, returns the first item in the array,
 * otherwise returns the argument. Used for Preact compatibility.
 */

/**
 * Tells `0` from `-0`.
 * https://stackoverflow.com/questions/7223359/are-0-and-0-the-same
 * @param  {number} number
 * @return {Boolean}
 * @example
 * isNegativeZero(0); // false
 * isNegativeZero(-0); // true
 */

/**
 * The Info class contains static methods for retrieving general time and date related data. For example, it has methods for finding out if a time zone has a DST, for listing the months in any supported locale, and for discovering which of Luxon features are available in the current environment.
 */

/**
 * The base implementation of `_.assign` without support for multiple sources
 * or `customizer` functions.
 *
 * @private
 * @param {Object} object The destination object.
 * @param {Object} source The source object.
 * @returns {Object} Returns `object`.
 */

/**
 * The base implementation of `_.clone` and `_.cloneDeep` which tracks
 * traversed objects.
 *
 * @private
 * @param {*} value The value to clone.
 * @param {boolean} [isDeep] Specify a deep clone.
 * @param {boolean} [isFull] Specify a clone including symbols.
 * @param {Function} [customizer] The function to customize cloning.
 * @param {string} [key] The key of `value`.
 * @param {Object} [object] The parent object of `value`.
 * @param {Object} [stack] Tracks traversed objects and their clone counterparts.
 * @returns {*} Returns the cloned value.
 */

/**
 * The base implementation of `_.create` without support for assigning
 * properties to the created object.
 *
 * @private
 * @param {Object} prototype The object to inherit from.
 * @returns {Object} Returns the new object.
 */

/**
 * The base implementation of `_.findIndex` and `_.findLastIndex` without
 * support for iteratee shorthands.
 *
 * @private
 * @param {Array} array The array to inspect.
 * @param {Function} predicate The function invoked per iteration.
 * @param {number} fromIndex The index to search from.
 * @param {boolean} [fromRight] Specify iterating from right to left.
 * @returns {number} Returns the index of the matched value, else `-1`.
 */

/**
 * The base implementation of `_.get` without support for default values.
 *
 * @private
 * @param {Object} object The object to query.
 * @param {Array|string} path The path of the property to get.
 * @returns {*} Returns the resolved value.
 */

/**
 * The base implementation of `_.hasIn` without support for deep paths.
 *
 * @private
 * @param {Object} [object] The object to query.
 * @param {Array|string} key The key to check.
 * @returns {boolean} Returns `true` if `key` exists, else `false`.
 */

/**
 * The base implementation of `_.isArguments`.
 *
 * @private
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is an `arguments` object,
 */

/**
 * The base implementation of `_.isEqual` which supports partial comparisons
 * and tracks traversed objects.
 *
 * @private
 * @param {*} value The value to compare.
 * @param {*} other The other value to compare.
 * @param {Function} [customizer] The function to customize comparisons.
 * @param {boolean} [bitmask] The bitmask of comparison flags.
 *  The bitmask may be composed of the following flags:
 *     1 - Unordered comparison
 *     2 - Partial comparison
 * @param {Object} [stack] Tracks traversed `value` and `other` objects.
 * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
 */

/**
 * The base implementation of `_.isEqual` which supports partial comparisons
 * and tracks traversed objects.
 *
 * @private
 * @param {*} value The value to compare.
 * @param {*} other The other value to compare.
 * @param {boolean} bitmask The bitmask flags.
 *  1 - Unordered comparison
 *  2 - Partial comparison
 * @param {Function} [customizer] The function to customize comparisons.
 * @param {Object} [stack] Tracks traversed `value` and `other` objects.
 * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
 */

/**
 * The base implementation of `_.isMatch` without support for iteratee shorthands.
 *
 * @private
 * @param {Object} object The object to inspect.
 * @param {Object} source The object of property values to match.
 * @param {Array} matchData The property names, values, and compare flags to match.
 * @param {Function} [customizer] The function to customize comparisons.
 * @returns {boolean} Returns `true` if `object` is a match, else `false`.
 */

/**
 * The base implementation of `_.isNative` without bad shim checks.
 *
 * @private
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is a native function,
 *  else `false`.
 */

/**
 * The base implementation of `_.isTypedArray` without Node.js optimizations.
 *
 * @private
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
 */

/**
 * The base implementation of `_.iteratee`.
 *
 * @private
 * @param {*} [value=_.identity] The value to convert to an iteratee.
 * @returns {Function} Returns the iteratee.
 */

/**
 * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.
 *
 * @private
 * @param {Object} object The object to query.
 * @returns {Array} Returns the array of property names.
 */

/**
 * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.
 *
 * @private
 * @param {Object} object The object to query.
 * @returns {Array} Returns the array of property names.
 */

/**
 * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.
 *
 * @private
 * @param {string} path The path of the property to get.
 * @param {*} srcValue The value to match.
 * @returns {Function} Returns the new spec function.
 */

/**
 * The base implementation of `_.matches` which doesn't clone `source`.
 *
 * @private
 * @param {Object} source The object of property values to match.
 * @returns {Function} Returns the new spec function.
 */

/**
 * The base implementation of `_.merge` without support for multiple sources.
 *
 * @private
 * @param {Object} object The destination object.
 * @param {Object} source The source object.
 * @param {number} srcIndex The index of `source`.
 * @param {Function} [customizer] The function to customize merged values.
 * @param {Object} [stack] Tracks traversed source values and their merged
 *  counterparts.
 */

/**
 * The base implementation of `_.property` without support for deep paths.
 *
 * @private
 * @param {string} key The key of the property to get.
 * @returns {Function} Returns the new accessor function.
 */

/**
 * The base implementation of `_.rest` which doesn't validate or coerce arguments.
 *
 * @private
 * @param {Function} func The function to apply a rest parameter to.
 * @param {number} [start=func.length-1] The start position of the rest parameter.
 * @returns {Function} Returns the new function.
 */

/**
 * The base implementation of `_.times` without support for iteratee shorthands
 * or max array length checks.
 *
 * @private
 * @param {number} n The number of times to invoke `iteratee`.
 * @param {Function} iteratee The function invoked per iteration.
 * @returns {Array} Returns the array of results.
 */

/**
 * The base implementation of `_.toString` which doesn't convert nullish
 * values to empty strings.
 *
 * @private
 * @param {*} value The value to process.
 * @returns {string} Returns the string.
 */

/**
 * The base implementation of `_.unary` without support for storing metadata.
 *
 * @private
 * @param {Function} func The function to cap arguments for.
 * @returns {Function} Returns the new capped function.
 */

/**
 * The base implementation of `assignValue` and `assignMergeValue` without
 * value checks.
 *
 * @private
 * @param {Object} object The object to modify.
 * @param {string} key The key of the property to assign.
 * @param {*} value The value to assign.
 */

/**
 * The base implementation of `baseForOwn` which iterates over `object`
 * properties returned by `keysFunc` and invokes `iteratee` for each property.
 * Iteratee functions may exit iteration early by explicitly returning `false`.
 *
 * @private
 * @param {Object} object The object to iterate over.
 * @param {Function} iteratee The function invoked per iteration.
 * @param {Function} keysFunc The function to get the keys of `object`.
 * @returns {Object} Returns `object`.
 */

/**
 * The base implementation of `getAllKeys` and `getAllKeysIn` which uses
 * `keysFunc` and `symbolsFunc` to get the enumerable property names and
 * symbols of `object`.
 *
 * @private
 * @param {Object} object The object to query.
 * @param {Function} keysFunc The function to get the keys of `object`.
 * @param {Function} symbolsFunc The function to get the symbols of `object`.
 * @returns {Array} Returns the array of property names and symbols.
 */

/**
 * The base implementation of `getTag` without fallbacks for buggy environments.
 *
 * @private
 * @param {*} value The value to query.
 * @returns {string} Returns the `toStringTag`.
 */

/**
 * The base implementation of `getTag`.
 *
 * @private
 * @param {*} value The value to query.
 * @returns {string} Returns the `toStringTag`.
 */

/**
 * The base implementation of `setToString` without support for hot loop shorting.
 *
 * @private
 * @param {Function} func The function to modify.
 * @param {Function} string The `toString` result.
 * @returns {Function} Returns `func`.
 */

/**
 * The benefit of this function is to help developers get CSS var from theme without specifying the whole variable
 * and they does not need to remember the prefix (defined once).
 */

/**
 * The honey pot fix is designed to get around a painful bug in all browsers.
 *
 * [Overview](https://www.youtube.com/watch?v=udE9qbFTeQg)
 *
 * **Background**
 *
 * When a drag starts, browsers incorrectly think that the users pointer is
 * still depressed where the drag started. Any element that goes under this position
 * will be entered into, causing `"mouseenter"` events and `":hover"` styles to be applied.
 *
 * _This is a violation of the spec_
 *
 * > "From the moment that the user agent is to initiate the drag-and-drop operation,
 * > until the end 	of the drag-and-drop operation, device input events
 * > (e.g. mouse and keyboard events) must be suppressed."
 * >
 * > - https://html.spec.whatwg.org/multipage/dnd.html#drag-and-drop-processing-model
 *
 * _Some impacts_
 *
 * - `":hover"` styles being applied where they shouldn't (looks messy)
 * - components such as tooltips responding to `"mouseenter"` can show during a drag,
 *   and on an element the user isn't even over
 *
 * Bug: https://issues.chromium.org/issues/41129937
 *
 * **Honey pot fix**
 *
 * 1. Create an element where the browser thinks the depressed pointer is
 *    to absorb the incorrect pointer events
 * 2. Remove that element when it is no longer needed
 */

/**
 * The interface for the navigate() function returned from useNavigate().
 */

/**
 * The relative brightness of any point in a color space,
 * normalized to 0 for darkest black and 1 for lightest white.
 *
 * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests
 * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()
 * @returns {number} The relative brightness of the color in the range 0 - 1
 */

/**
 * These are private action types reserved by Redux.
 * For any unknown actions, you must return the current state.
 * If the current state is undefined, you must return the initial state.
 * Do not reference these action types directly in your code.
 */

/**
 * These are props that motions should use as their external props for consumers.
 * See [FadeIn](packages/helpers/motion/src/entering/fade-in.tsx) for an example usage.
 */

/**
 * This component is used to hide portions of Select component.
 */

/**
 * This component makes the `theme` available down the React tree.
 * It should preferably be used at **the root of your component tree**.
 *
 * <ThemeProvider theme={theme}> // existing use case
 * <ThemeProvider theme={{ id: theme }}> // theme scoping
 */

/**
 * This component renders layered content with fixed positioning.
 * Scroll is locked outside the layer to prevent the layered content from detaching from the
 * container ref.
 */

/**
 * This component takes a `theme` prop.
 * It makes the `theme` available down the React tree thanks to React context.
 * This component should preferably be used at **the root of your component tree**.
 */

/**
 * This creates a functional component that `react-select` will use to make the
 * SingleValue part of the different pickers.
 */

/**
 * This custom hook allows you to subscribe to each form state, and isolate the re-render at the custom hook level. It has its scope in terms of form state subscription, so it would not affect other useFormState and useForm. Using this hook can reduce the re-render impact on large and complex form application.
 *
 * @remarks
 * [API](https://react-hook-form.com/docs/useformstate) • [Demo](https://codesandbox.io/s/useformstate-75xly)
 *
 * @param props - include options on specify fields to subscribe. {@link UseFormStateReturn}
 *
 * @example
 * ```tsx
 * function App() {
 *   const { register, handleSubmit, control } = useForm({
 *     defaultValues: {
 *     firstName: "firstName"
 *   }});
 *   const { dirtyFields } = useFormState({
 *     control
 *   });
 *   const onSubmit = (data) => console.log(data);
 *
 *   return (
 *     <form onSubmit={handleSubmit(onSubmit)}>
 *       <input {...register("firstName")} placeholder="First Name" />
 *       {dirtyFields.firstName && <p>Field is dirty.</p>}
 *       <input type="submit" />
 *     </form>
 *   );
 * }
 * ```
 */

/**
 * This function create an object from keys, value and then assign to target
 *
 * @param {Object} obj : the target object to be assigned
 * @param {string[]} keys
 * @param {string | number} value
 *
 * @example
 * const source = {}
 * assignNestedKeys(source, ['palette', 'primary'], 'var(--palette-primary)')
 * console.log(source) // { palette: { primary: 'var(--palette-primary)' } }
 *
 * @example
 * const source = { palette: { primary: 'var(--palette-primary)' } }
 * assignNestedKeys(source, ['palette', 'secondary'], 'var(--palette-secondary)')
 * console.log(source) // { palette: { primary: 'var(--palette-primary)', secondary: 'var(--palette-secondary)' } }
 */

/**
 * This function is like
 * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
 * except that it includes inherited enumerable properties.
 *
 * @private
 * @param {Object} object The object to query.
 * @returns {Array} Returns the array of property names.
 */

/**
 * This function is like `assignValue` except that it doesn't assign
 * `undefined` values.
 *
 * @private
 * @param {Object} object The object to modify.
 * @param {string} key The key of the property to assign.
 * @param {*} value The value to assign.
 */

/**
 * This function returns `a` if `b` is deeply equal.
 * If not, it will replace any deeply equal children of `b` with those of `a`.
 * This can be used for structural sharing between JSON values for example.
 */

/**
 * This is a shortcut for creating `application/json` responses. Converts `data`
 * to JSON and sets the `Content-Type` header.
 */

/**
 * This is an object of usable media query helpers using our internal breakpoints configuration.
 *
 * When using Compiled CSS-in-JS, please ensure that only a single declaration can take effect at a time.
 * This means that you should avoid multiple breakpoints taking effect at the same time,
 * eg. ```{ [media.above.xs]: { color: 'red' }, [media.above.sm]: { color: 'green' }}```.
 * Instead, make sure that only one breakpoint can take effect at a time,
 * e.g, ```{ [media.only.xs]: { color: 'red' }, [media.above.sm]: { color: 'green' }}```.
 * For more details, please see <https://compiledcssinjs.com/docs/atomic-css#selector-specificity>.
 */

/**
 * This method is like `_.assign` except that it accepts `customizer`
 * which is invoked to produce the assigned values. If `customizer` returns
 * `undefined`, assignment is handled by the method instead. The `customizer`
 * is invoked with five arguments: (objValue, srcValue, key, object, source).
 *
 * **Note:** This method mutates `object`.
 *
 * @static
 * @memberOf _
 * @since 4.0.0
 * @category Object
 * @param {Object} object The destination object.
 * @param {...Object} sources The source objects.
 * @param {Function} [customizer] The function to customize assigned values.
 * @returns {Object} Returns `object`.
 * @see _.assignInWith
 * @example
 *
 * function customizer(objValue, srcValue) {
 *   return _.isUndefined(objValue) ? srcValue : objValue;
 * }
 *
 * var defaults = _.partialRight(_.assignWith, customizer);
 *
 * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });
 * // => { 'a': 1, 'b': 2 }
 */

/**
 * This method is like `_.assign` except that it recursively merges own and
 * inherited enumerable string keyed properties of source objects into the
 * destination object. Source properties that resolve to `undefined` are
 * skipped if a destination value exists. Array and plain object properties
 * are merged recursively. Other objects and value types are overridden by
 * assignment. Source objects are applied from left to right. Subsequent
 * sources overwrite property assignments of previous sources.
 *
 * **Note:** This method mutates `object`.
 *
 * @static
 * @memberOf _
 * @since 0.5.0
 * @category Object
 * @param {Object} object The destination object.
 * @param {...Object} [sources] The source objects.
 * @returns {Object} Returns `object`.
 * @example
 *
 * var object = {
 *   'a': [{ 'b': 2 }, { 'd': 4 }]
 * };
 *
 * var other = {
 *   'a': [{ 'c': 3 }, { 'e': 5 }]
 * };
 *
 * _.merge(object, other);
 * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }
 */

/**
 * This method is like `_.clone` except that it recursively clones `value`.
 *
 * @static
 * @memberOf _
 * @since 1.0.0
 * @category Lang
 * @param {*} value The value to recursively clone.
 * @returns {*} Returns the deep cloned value.
 * @see _.clone
 * @example
 *
 * var objects = [{ 'a': 1 }, { 'b': 2 }];
 *
 * var deep = _.cloneDeep(objects);
 * console.log(deep[0] === objects[0]);
 * // => false
 */

/**
 * This method is like `_.find` except that it returns the index of the first
 * element `predicate` returns truthy for instead of the element itself.
 *
 * @static
 * @memberOf _
 * @since 1.1.0
 * @category Array
 * @param {Array} array The array to inspect.
 * @param {Function} [predicate=_.identity]
 *  The function invoked per iteration.
 * @param {number} [fromIndex=0] The index to search from.
 * @returns {number} Returns the index of the found element, else `-1`.
 * @example
 *
 * var users = [
 *   { 'user': 'barney',  'active': false },
 *   { 'user': 'fred',    'active': false },
 *   { 'user': 'pebbles', 'active': true }
 * ];
 *
 * _.findIndex(users, function(o) { return o.user == 'barney'; });
 * // => 0
 *
 * // The `_.matches` iteratee shorthand.
 * _.findIndex(users, { 'user': 'fred', 'active': false });
 * // => 1
 *
 * // The `_.matchesProperty` iteratee shorthand.
 * _.findIndex(users, ['active', false]);
 * // => 0
 *
 * // The `_.property` iteratee shorthand.
 * _.findIndex(users, 'active');
 * // => 2
 */

/**
 * This method is like `_.isArrayLike` except that it also checks if `value`
 * is an object.
 *
 * @static
 * @memberOf _
 * @since 4.0.0
 * @category Lang
 * @param {*} value The value to check.
 * @returns {boolean} Returns `true` if `value` is an array-like object,
 *  else `false`.
 * @example
 *
 * _.isArrayLikeObject([1, 2, 3]);
 * // => true
 *
 * _.isArrayLikeObject(document.body.children);
 * // => true
 *
 * _.isArrayLikeObject('abc');
 * // => false
 *
 * _.isArrayLikeObject(_.noop);
 * // => false
 */

/**
 * This method returns `false`.
 *
 * @static
 * @memberOf _
 * @since 4.13.0
 * @category Util
 * @returns {boolean} Returns `false`.
 * @example
 *
 * _.times(2, _.stubFalse);
 * // => [false, false]
 */

/**
 * This method returns a new empty array.
 *
 * @static
 * @memberOf _
 * @since 4.13.0
 * @category Util
 * @returns {Array} Returns the new empty array.
 * @example
 *
 * var arrays = _.times(2, _.stubArray);
 *
 * console.log(arrays);
 * // => [[], []]
 *
 * console.log(arrays[0] === arrays[1]);
 * // => false
 */

/**
 * This method returns the first argument it receives.
 *
 * @static
 * @since 0.1.0
 * @memberOf _
 * @category Util
 * @param {*} value Any value.
 * @returns {*} Returns `value`.
 * @example
 *
 * var object = { 'a': 1 };
 *
 * console.log(_.identity(object) === object);
 * // => true
 */

/**
 * This returns whether or not scrolling is allowed based on the existing
 * scrolling context.
 */

/**
 * This will run the respective passed in callback functions when modal is
 * opened or closed.
 */

/**
 * Throttle decorator
 * @param {Function} fn
 * @param {Number} freq
 * @return {Function}
 */

/**
 * Throws a `CanceledError` if cancellation has been requested.
 *
 * @param {Object} config The config that is to be used for the request
 *
 * @returns {void}
 */

/**
 * Transform the data for a request or a response
 *
 * @param {Array|Function} fns A single function or Array of functions
 * @param {?Object} response The response object
 *
 * @returns {*} The resulting transformed data
 */

/**
 * Transitional option validator
 *
 * @param {function|boolean?} validator - set to false if the transitional option has been removed
 * @param {string?} version - deprecated version / removed since version
 * @param {string?} message - some message with additional info
 *
 * @returns {function}
 */

/**
 * Turns an object whose values are action creators, into an object with the
 * same keys, but with every function wrapped into a `dispatch` call so they
 * may be invoked directly. This is just a convenience method, as you can call
 * `store.dispatch(MyActionCreators.doSomething())` yourself just fine.
 *
 * For convenience, you can also pass an action creator as the first argument,
 * and get a dispatch wrapped function in return.
 *
 * @param {Function|Object} actionCreators An object whose values are action
 * creator functions. One handy way to obtain it is to use ES6 `import * as`
 * syntax. You may also pass a single function.
 *
 * @param {Function} dispatch The `dispatch` function available on your Redux
 * store.
 *
 * @returns {Function|Object} The object mimicking the original object, but with
 * every action creator wrapped into the `dispatch` call. If you passed a
 * function as `actionCreators`, the return value will also be a single
 * function.
 */

/**
 * Type of the ownerState based on the type of an element it applies to.
 * This resolves to the provided OwnerState for React components and `undefined` for host components.
 * Falls back to `OwnerState | undefined` when the exact type can't be determined in development time.
 */

/**
 * Use for any programatic motions needed at runtime.
 * Will return `true` if the current user prefers reduced motion.
 * This is generally set through OS preferences/settings.
 */

/**
 * Use invariant() to assert state which your program assumes to be true.
 *
 * Provide sprintf-style format (only %s is supported) and arguments
 * to provide information about what broke and what you were
 * expecting.
 *
 * The invariant message will be stripped in production, but the invariant
 * will remain to ensure logic does not differ in production.
 */

/**
 * Used to multiply the initial duration for exiting motions.
 */

/**
 * WARNING: Don't import this directly.
 * Use `MuiError` from `@mui/internal-babel-macros/MuiError.macro` instead.
 * @param {number} code
 */

/**
 * We are hiding these props from consumers as they're used to
 * hack around icon sizing specifically for icon-file-type.
 */

/**
 * We are listening directly to drag events instead of using a monitor from
 * `@atlaskit/pragmatic-drag-and-drop` to avoid the bundle size cost, as it
 * would affect almost every view in every product.
 *
 * We can reconsider this choice in the future.
 */

/**
 * We want to make sure the honey pot sits around the users position.
 * This seemed to be the most resilient while testing.
 */

/**
 * When you're adding or removing children some may be added or removed in the
 * same render pass. We want to show *both* since we want to simultaneously
 * animate elements in and out. This function takes a previous set of keys
 * and a new set of keys and merges them with its best guess of the correct
 * ordering. In the future we may expose some of the utilities in
 * ReactMultiChild to make this easy, but for now React itself does not
 * directly have this concept of the union of prevChildren and nextChildren
 * so we implement it here.
 *
 * @param {object} prev prev children as returned from
 * `ReactTransitionChildMapping.getChildMapping()`.
 * @param {object} next next children as returned from
 * `ReactTransitionChildMapping.getChildMapping()`.
 * @return {object} a key set that contains all keys in `prev` and all keys
 * in `next` in a reasonable order.
 */

/**
 * Whether can use `Intl.DateTimeFormat` for these `locales`.
 * Returns the first suitable one.
 * @param  {(string|string[])} locales
 * @return {?string} The first locale that can be used.
 */

/**
 * Whether can use `Intl.DateTimeFormat`.
 * @return {boolean}
 */

/**
 * Wrapper for CronExpression.fieldsToExpression method
 *
 * @public
 * @param {Object} fields Input fields
 * @param {Object} [options] Parsing options
 * @return {Object}
 */

/**
 * Wrapper for CronExpression.parser method
 *
 * @public
 * @param {String} expression Input expression
 * @param {Object} [options] Parsing options
 * @return {Object}
 */

/**
 * __Dynamic Table__
 *
 * A table displays rows of data with built-in pagination, sorting, and re-ordering functionality.
 *
 * - [Examples](https://atlaskit.atlassian.com/packages/design-system/dynamic-table)
 * - [Code](https://bitbucket.org/atlassian/atlassian-frontend/packages/design-system/dynamic-table)
 *
 * @example
 * ```jsx
 * import DynamicTable from '@atlaskit/dynamic-table';
 *
 * export default function TableUncontrolled() {
 *  return (
 *   <DynamicTable
 *    head={head}
 *    rows={rows}
 *    rowsPerPage={10}
 *    defaultPage={1}
 *    loadingSpinnerSize="large"
 *    isLoading={false}
 *   />
 *  );
 * }
 * ```
 */

/**
 * __Loading button__
 *
 * @deprecated Legacy loading buttons are deprecated and will be removed from `atlaskit/button` in an upcoming major release. Please use the new Button components from `@atlaskit/button/new` with the `isLoading` prop.
 *
 * Please refer to the [migration guide](https://atlassian.design/components/button/button-legacy/migration-guide) for further details.
 *
 * A small wrapper around Button that allows you to show an @atlaskit/spinner as an overlay on the button when you set an isLoading prop to true.
 *
 * - [Examples](https://atlassian.design/components/button/examples#loading-button)
 */

/**
 * __No options message__
 */

/**
 * __Pagination__
 *
 * Pagination allows you to divide large amounts of content into smaller chunks across multiple pages.
 *
 * - [Examples](https://atlassian.design/components/pagination/examples)
 * - [Code](https://atlassian.design/components/pagination/code)
 * - [Usage](https://atlassian.design/components/pagination/usage)
 */

/**
 * __Simple tag__
 *
 * A tag labels UI objects for quick recognition and navigation.
 *
 * `SimpleTag` is the default form of a tag, where text is required. Tags with static text can be used as a flag or as a reference to an object or attribute.
 *
 * - [Examples](https://atlassian.design/components/tag/examples)
 * - [Code](https://atlassian.design/components/tag/code)
 * - [Usage](https://atlassian.design/components/tag/usage)
 */

/**
 * __Surface context__
 *
 * A surface context provides context information on the current background (if set).
 */

/**
 * __Textfield__
 *
 * A text field is an input that allows a user to write or edit text.
 *
 * - [Examples](https://atlassian.design/components/textfield/examples)
 * - [Code](https://atlassian.design/components/textfield/code)
 * - [Usage](https://atlassian.design/components/textfield/usage)
 */

/**
 * __useSurface__
 *
 * Return the current surface. If no parent sets a surface color it falls back to the default surface.
 *
 * @see SurfaceContext
 */

/**
 * `Intl.PluralRules` polyfill.
 * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/PluralRules
 */

/**
 * `clientX` and `clientY` can be in sub pixels (eg `2.332`)
 * However, browser hitbox testing is commonly do to the closest pixel.
 *
 * → https://issues.chromium.org/issues/40940531
 *
 * To be sure that the honey pot will be over the `client` position,
 * we `.floor()` `clientX` and`clientY` and then make it `2px` in size.
 **/

/**
 * a function that parse theme and return { css, vars }
 *
 * @param {Object} theme
 * @param {{
 *  prefix?: string,
 *  shouldSkipGeneratingVar?: (objectPathKeys: Array<string>, value: string | number) => boolean
 * }} options.
 *  `prefix`: The prefix of the generated CSS variables. This function does not change the value.
 *
 * @returns {{ css: Object, vars: Object }} `css` is the stylesheet, `vars` is an object to get css variable (same structure as theme).
 *
 * @example
 * const { css, vars } = parser({
 *   fontSize: 12,
 *   lineHeight: 1.2,
 *   palette: { primary: { 500: 'var(--color)' } }
 * }, { prefix: 'foo' })
 *
 * console.log(css) // { '--foo-fontSize': '12px', '--foo-lineHeight': 1.2, '--foo-palette-primary-500': 'var(--color)' }
 * console.log(vars) // { fontSize: 'var(--foo-fontSize)', lineHeight: 'var(--foo-lineHeight)', palette: { primary: { 500: 'var(--foo-palette-primary-500)' } } }
 */

/**
 * cherry-pick from
 * https://github.com/facebook/react/blob/769b1f270e1251d9dbdce0fcbd9e92e502d059b8/packages/shared/getComponentName.js
 * originally forked from recompose/getDisplayName with added IE11 support
 */

/**
 * createTheme is used to create a set of Providers and Consumers for theming components.
 * - Takes a default theme function; this theme function gets a set of props, and returns tokens
 *  based on those props. An example of this default theme function is one that produces the standard
 *  appearance of the component
 * - Returns three things - a Provider that allow for additional themes to be applied, a Consumer
 *  that can get the current theme and fetch it, and a custom hook - useTheme which provides an alternate (although functionally the same) API
 *  to the Consumer.
 */

/**
 * defines a focus group
 */

/**
 * disables element discovery inside a group marked by key
 */

/**
 * drop-in replacement for _.get
 * @param obj
 * @param path
 * @param defaultValue
 */

/**
 * drop-in replacement for _.isString
 * @param input
 */

/**
 * drop-in replacement for _.without
 */

/**
 * generate a responsive version of a given CSS property
 * @example
 * responsiveProperty({
 *   cssProperty: 'fontSize',
 *   min: 15,
 *   max: 20,
 *   unit: 'px',
 *   breakpoints: [300, 600],
 * })
 *
 * // this returns
 *
 * {
 *   fontSize: '15px',
 *   '@media (min-width:300px)': {
 *     fontSize: '17.5px',
 *   },
 *   '@media (min-width:600px)': {
 *     fontSize: '20px',
 *   },
 * }
 * @param {Object} params
 * @param {string} params.cssProperty - The CSS property to be made responsive
 * @param {number} params.min - The smallest value of the CSS property
 * @param {number} params.max - The largest value of the CSS property
 * @param {string} [params.unit] - The unit to be used for the CSS property
 * @param {Array.number} [params.breakpoints]  - An array of breakpoints
 * @param {number} [params.alignStep] - Round scaled value to fall under this grid
 * @returns {Object} responsive styles for {params.cssProperty}
 */

/**
 * generates a UID factory
 * @internal
 * @example
 * const uid = generateUID();
 * uid(object) = 1;
 * uid(object) = 1;
 * uid(anotherObject) = 2;
 */

/**
 * lodash (Custom Build) <https://lodash.com/>
 * Build: `lodash modularize exports="npm" -o ./`
 * Copyright jQuery Foundation and other contributors <https://jquery.org/>
 * Released under MIT license <https://lodash.com/license>
 * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
 * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
 */

/**
 * lodash 3.0.1 (Custom Build) <https://lodash.com/>
 * Build: `lodash modern modularize exports="npm" -o ./`
 * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
 * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
 * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
 * Available under MIT license <https://lodash.com/license>
 */

/**
 * repalcement for _.xor
 * @param itemsA
 * @param itemsB
 */

/**
 * replacement for _.intersection
 * @param itemsA
 * @param itemsB
 */

/**
 * useDragLayer Hook
 * @param collector The property collector
 */

/**
 * useDragSource hook
 * @param sourceSpec The drag source specification *
 */

/**
 * useDropTarget Hook
 * @param spec The drop target specification
 */

/**
 * useEffect(
 *    ()=> { ... },
 *    [ { "foo": "bar" } ]
 * )
 * => The callback will be invoked every render.
 * because { "foo": "bar" } is a new instance every render.
 *
 * useEffect(
 *    ()=> { ... },
 *    [ getDependencyArrayRef({ "foo": "bar" }) ]
 * );
 * => The callback will only be invoked once.
 *
 * The optimization will be enabled only if obj is
 * of the form Record<string, string | number | undefined | null>
 * overwise the object is returned (the function is the identity function).
 */

/**
 * ⚠️ EXPERIMENTAL ⚠️ - New icons are in alpha - and subject to change or removal in future minor or patch releases.
 *
 * Migration Icon component for ChevronDownIcon.
 * This component is ChevronDownIcon, with `UNSAFE_fallbackIcon` set to "ChevronDownIcon".
 *
 * Category: utility
 * Location: @atlaskit/icon
 * Usage guidance: Reserved for dropdown menus, selects, accordions, and expands.
 * - [Examples](https://atlaskit.atlassian.com/packages/design-system/icon)
 * - [Code](https://atlaskit.atlassian.com/packages/design-system/icon/docs/custom-icons)
 */

/**
 * ⚠️ EXPERIMENTAL ⚠️ - New icons are in alpha - and subject to change or removal in future minor or patch releases.
 *
 * Migration Icon component for ChevronLeftIcon.
 * This component is ChevronLeftIcon, with `UNSAFE_fallbackIcon` set to "ChevronLeftLargeIcon".
 *
 * Category: utility
 * Location: @atlaskit/icon
 * Usage guidance: Reserved for collapse side nav and to indicate previous in dates.
 * - [Examples](https://atlaskit.atlassian.com/packages/design-system/icon)
 * - [Code](https://atlaskit.atlassian.com/packages/design-system/icon/docs/custom-icons)
 */

/**
 * ⚠️ EXPERIMENTAL ⚠️ - New icons are in alpha - and subject to change or removal in future minor or patch releases.
 *
 * Migration Icon component for ChevronRightIcon.
 * This component is ChevronRightIcon, with `UNSAFE_fallbackIcon` set to "ChevronRightLargeIcon".
 *
 * Category: utility
 * Location: @atlaskit/icon
 * Usage guidance: Reserved for menu fly outs and to indicate next in dates.
 * - [Examples](https://atlaskit.atlassian.com/packages/design-system/icon)
 * - [Code](https://atlaskit.atlassian.com/packages/design-system/icon/docs/custom-icons)
 */

/**
 * ⚠️ EXPERIMENTAL ⚠️ - New icons are in alpha - and subject to change or removal in future minor or patch releases.
 *
 * Migration Icon component for CrossCircleIcon.
 * This component is CrossCircleIcon, with `UNSAFE_fallbackIcon` set to "SelectClearIcon".
 *
 * Category: utility
 * Location: @atlaskit/icon
 * Usage guidance: Reserved for Helper Messages in Forms.
 * - [Examples](https://atlaskit.atlassian.com/packages/design-system/icon)
 * - [Code](https://atlaskit.atlassian.com/packages/design-system/icon/docs/custom-icons)
 */

/**
 * ⚠️ EXPERIMENTAL ⚠️ - New icons are in alpha - and subject to change or removal in future minor or patch releases.
 * Please reach out in #icon-contributions before using these in production.
 *
 * Icon: "ArrowDown".
 * Category: multi-purpose
 * Location: @atlaskit/icon
 * Usage guidance: Multi purpose - Know uses: sorting table headers or Bitbucket code difference.
 * - [Examples](https://atlaskit.atlassian.com/packages/design-system/icon)
 * - [Code](https://atlaskit.atlassian.com/packages/design-system/icon/docs/custom-icons)
 */

/**
 * ⚠️ EXPERIMENTAL ⚠️ - New icons are in alpha - and subject to change or removal in future minor or patch releases.
 * Please reach out in #icon-contributions before using these in production.
 *
 * Icon: "CheckMark".
 * Category: multi-purpose
 * Location: @atlaskit/icon
 * Usage guidance: Multi purpose - Known uses: table cells, checkboxes.
 * - [Examples](https://atlaskit.atlassian.com/packages/design-system/icon)
 * - [Code](https://atlaskit.atlassian.com/packages/design-system/icon/docs/custom-icons)
 */

/**
 * ⚠️ EXPERIMENTAL ⚠️ - New icons are in alpha - and subject to change or removal in future minor or patch releases.
 * Please reach out in #icon-contributions before using these in production.
 *
 * Icon: "ChevronDown".
 * Category: utility
 * Location: @atlaskit/icon
 * Usage guidance: Reserved for dropdown menus, selects, accordions, and expands.
 * - [Examples](https://atlaskit.atlassian.com/packages/design-system/icon)
 * - [Code](https://atlaskit.atlassian.com/packages/design-system/icon/docs/custom-icons)
 */

/**
 * ⚠️ EXPERIMENTAL ⚠️ - New icons are in alpha - and subject to change or removal in future minor or patch releases.
 * Please reach out in #icon-contributions before using these in production.
 *
 * Icon: "ChevronLeft".
 * Category: utility
 * Location: @atlaskit/icon
 * Usage guidance: Reserved for collapse side nav and to indicate previous in dates.
 * - [Examples](https://atlaskit.atlassian.com/packages/design-system/icon)
 * - [Code](https://atlaskit.atlassian.com/packages/design-system/icon/docs/custom-icons)
 */

/**
 * ⚠️ EXPERIMENTAL ⚠️ - New icons are in alpha - and subject to change or removal in future minor or patch releases.
 * Please reach out in #icon-contributions before using these in production.
 *
 * Icon: "ChevronRight".
 * Category: utility
 * Location: @atlaskit/icon
 * Usage guidance: Reserved for menu fly outs and to indicate next in dates.
 * - [Examples](https://atlaskit.atlassian.com/packages/design-system/icon)
 * - [Code](https://atlaskit.atlassian.com/packages/design-system/icon/docs/custom-icons)
 */

/**
 * ⚠️ EXPERIMENTAL ⚠️ - New icons are in alpha - and subject to change or removal in future minor or patch releases.
 * Please reach out in #icon-contributions before using these in production.
 *
 * Icon: "Close".
 * Category: single-purpose
 * Location: @atlaskit/icon
 * Usage guidance: Single purpose - Reserved for closing an element.
 * - [Examples](https://atlaskit.atlassian.com/packages/design-system/icon)
 * - [Code](https://atlaskit.atlassian.com/packages/design-system/icon/docs/custom-icons)
 */

/**
 * ⚠️ EXPERIMENTAL ⚠️ - New icons are in alpha - and subject to change or removal in future minor or patch releases.
 * Please reach out in #icon-contributions before using these in production.
 *
 * Icon: "Cross".
 * Category: utility
 * Location: @atlaskit/icon
 * Usage guidance: Known uses: remove tag.
 * - [Examples](https://atlaskit.atlassian.com/packages/design-system/icon)
 * - [Code](https://atlaskit.atlassian.com/packages/design-system/icon/docs/custom-icons)
 */

/**
 * ⚠️ EXPERIMENTAL ⚠️ - New icons are in alpha - and subject to change or removal in future minor or patch releases.
 * Please reach out in #icon-contributions before using these in production.
 *
 * Icon: "CrossCircle".
 * Category: multi-purpose
 * Location: @atlaskit/icon
 * Usage guidance: Multi purpose - Known uses: clear text field, error status.
 * - [Examples](https://atlaskit.atlassian.com/packages/design-system/icon)
 * - [Code](https://atlaskit.atlassian.com/packages/design-system/icon/docs/custom-icons)
 */

/**
 * ⚠️ EXPERIMENTAL ⚠️ - New icons are in alpha - and subject to change or removal in future minor or patch releases.
 * Please reach out in #icon-contributions before using these in production.
 *
 * Icon: "CrossCircle".
 * Category: utility
 * Location: @atlaskit/icon
 * Usage guidance: Reserved for Helper Messages in Forms.
 * - [Examples](https://atlaskit.atlassian.com/packages/design-system/icon)
 * - [Code](https://atlaskit.atlassian.com/packages/design-system/icon/docs/custom-icons)
 */

/**
 * ⚠️ EXPERIMENTAL ⚠️ - New icons are in alpha - and subject to change or removal in future minor or patch releases.
 * Please reach out in #icon-contributions before using these in production.
 *
 * Icon: "Delete".
 * Category: single-purpose
 * Location: @atlaskit/icon
 * Usage guidance: Single purpose - Reserved for removing or deleting an object.
 * - [Examples](https://atlaskit.atlassian.com/packages/design-system/icon)
 * - [Code](https://atlaskit.atlassian.com/packages/design-system/icon/docs/custom-icons)
 */

/**
 * ⚠️ EXPERIMENTAL ⚠️ - New icons are in alpha - and subject to change or removal in future minor or patch releases.
 * Please reach out in #icon-contributions before using these in production.
 *
 * Icon: "Edit".
 * Category: single-purpose
 * Location: @atlaskit/icon
 * Usage guidance: Single purpose - Reserved for editing objects.
 * - [Examples](https://atlaskit.atlassian.com/packages/design-system/icon)
 * - [Code](https://atlaskit.atlassian.com/packages/design-system/icon/docs/custom-icons)
 */

/**
 * ⚠️ EXPERIMENTAL ⚠️ - New icons are in alpha - and subject to change or removal in future minor or patch releases.
 * Please reach out in #icon-contributions before using these in production.
 *
 * Icon: "Error".
 * Category: single-purpose
 * Location: @atlaskit/icon
 * Usage guidance: Single purpose - Reserved for when there is an error.
 * - [Examples](https://atlaskit.atlassian.com/packages/design-system/icon)
 * - [Code](https://atlaskit.atlassian.com/packages/design-system/icon/docs/custom-icons)
 */

/**
 * ⚠️ EXPERIMENTAL ⚠️ - New icons are in alpha - and subject to change or removal in future minor or patch releases.
 * Please reach out in #icon-contributions before using these in production.
 *
 * Icon: "Information".
 * Category: single-purpose
 * Location: @atlaskit/icon
 * Usage guidance: Single purpose - Known uses: information state in section messages or inline messages.
 * - [Examples](https://atlaskit.atlassian.com/packages/design-system/icon)
 * - [Code](https://atlaskit.atlassian.com/packages/design-system/icon/docs/custom-icons)
 */

/**
 * ⚠️ EXPERIMENTAL ⚠️ - New icons are in alpha - and subject to change or removal in future minor or patch releases.
 * Please reach out in #icon-contributions before using these in production.
 *
 * Icon: "QuestionCircle".
 * Category: multi-purpose
 * Location: @atlaskit/icon
 * Usage guidance: Multi purpose - Known uses: help, tip.
 * - [Examples](https://atlaskit.atlassian.com/packages/design-system/icon)
 * - [Code](https://atlaskit.atlassian.com/packages/design-system/icon/docs/custom-icons)
 */

/**
 * ⚠️ EXPERIMENTAL ⚠️ - New icons are in alpha - and subject to change or removal in future minor or patch releases.
 * Please reach out in #icon-contributions before using these in production.
 *
 * Icon: "Success".
 * Category: single-purpose
 * Location: @atlaskit/icon
 * Usage guidance: Single-purpose - Reserved for success section messages and form validation messages.
 * - [Examples](https://atlaskit.atlassian.com/packages/design-system/icon)
 * - [Code](https://atlaskit.atlassian.com/packages/design-system/icon/docs/custom-icons)
 */

/**
 * ⚠️ EXPERIMENTAL ⚠️ - New icons are in alpha - and subject to change or removal in future minor or patch releases.
 * Please reach out in #icon-contributions before using these in production.
 *
 * Icon: "VideoPlay".
 * Category: single-purpose
 * Location: @atlaskit/icon
 * Usage guidance: Single purpose - Reserved for play video in Media.
 * - [Examples](https://atlaskit.atlassian.com/packages/design-system/icon)
 * - [Code](https://atlaskit.atlassian.com/packages/design-system/icon/docs/custom-icons)
 */

/**
 * ⚠️ EXPERIMENTAL ⚠️ - New icons are in alpha - and subject to change or removal in future minor or patch releases.
 * Please reach out in #icon-contributions before using these in production.
 *
 * Icon: "Warning".
 * Category: single-purpose
 * Location: @atlaskit/icon
 * Usage guidance: Single purpose - Reserved for warning system status.
 * - [Examples](https://atlaskit.atlassian.com/packages/design-system/icon)
 * - [Code](https://atlaskit.atlassian.com/packages/design-system/icon/docs/custom-icons)
 */

/**
 String representation of component state for styling with class names.

 Expects an array of strings OR a string/object pair:
 - className(['comp', 'comp-arg', 'comp-arg-2'])
   @returns 'react-select__comp react-select__comp-arg react-select__comp-arg-2'
 - className('comp', { some: true, state: false })
   @returns 'react-select__comp react-select__comp--some'
*/

/**
A function that returns a universally unique identifier (uuid).  
example: 1b83fd69-abe7-468c-bea1-306a8aa1c81d
@returns `string` : 32 character uuid (see example)
*/

/**  @private */

/**  Binding event listeners the `document` rather than `window` so that
     * this adapter always gets preference over the text adapter.
     * `document` is the first `EventTarget` under `window`
     * https://twitter.com/alexandereardon/status/1604658588311465985
     */

/** +FOCUS-FIGHTING prevention **/

/** @class */

/** @jsx jsx */

/** @license React v0.19.1
 * scheduler.production.min.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

/** @license React v16.14.0
 * react-dom.production.min.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

/** @license React v16.14.0
 * react-jsx-runtime.production.min.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

/** @license React v16.14.0
 * react.production.min.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

/** @override **/

/** @private **/

/** @see <https://docs.tsafe.dev/capitalize> */

/** @see <https://docs.tss-react.dev/api-references/globalstyles> */

/** @see <https://docs.tss-react.dev/api-references/keyframes> */

/** @see <https://docs.tss-react.dev/api-references/makestyles-usestyles> */

/** @see <https://docs.tss-react.dev/api-references> */

/** @see <https://docs.tss-react.dev/cache> */

/** @see <https://docs.tss-react.dev/setup> */

/** A map containing payloads for all events */

/** A map containing payloads for all events on drop targets */

/** Alias of safeParseAsync */

/** Argument given to all feedback functions (eg `canDrop()`) on a `dropTargetForExternal` */

/** Argument given to all monitor feedback functions (eg `canMonitor()`) for a `monitorForExternal` */

/** Built-in method references without a dependency on `root`. */

/** Common event payload for all drop target events */

/** Common event payload for all events */

/** Create a new combined function that will call all the provided functions */

/** Detect free variable `global` from Node.js. */

/** Detect free variable `self`. */

/** If there are no drop targets, then we will get
       * a "drop" event if:
       * - `preventUnhandled()` is being used
       * - there is an unmanaged drop target (eg another library)
       * In these cases, it's up to the consumer
       * to handle the drop if it's not over one of our drop targets
       * - `preventUnhandled()` will cancel the "drop"
       * - unmanaged drop targets can handle the "drop" how they want to
       * We won't call `event.preventDefault()` in this call path */

/** Like react's useMemo but with guarantee that the fn
 * won't be invoked again if deps hasn't change */

/** Object.keys() with types */

/** Performs the task of cleaning up resources. */

/** Provide a function that you only ever want to be called a single time */

/** Used as references for various `Number` constants. */

/** Used as the `TypeError` message for "Functions" methods. */

/** Used as the size to enable large array optimizations. */

/** Used for built-in method references. */

/** Used to check objects for own properties. */

/** Used to detect overreaching core-js shims. */

/** Used to stand-in for `undefined` hash values. */

/** Will pickup the contextual cache if any */

/** `Object#toString` result references. */

/** https://docs.tsafe.dev/assert */

/** https://docs.tsafe.dev/typeguard */

/** returns useStyle. */

/******/

/***/

/*: (
  selector: string,
  serialized: SerializedStyles,
  sheet: StyleSheet,
  shouldCache: boolean
  ) => string | void */

/*: EmotionCache */

/*: HTMLStyleElement */

/*: Options */

/*: SerializedStyles */

/*: StyleSheet */

/*: boolean */

/*: string */

/*eslint func-names:0*/

/*eslint no-param-reassign:0*/

/*eslint no-undef:0*/

//

// 								.includes(token.toLowerCase()),

// 								.toLowerCase()

// 							searchedRole.name

// 						)

// 						.map((token) =>

// 						.reduce((a, b) => a && b, true);

// 						label: includeGroups ? `Role: ${val.name}` : val.name,

// 						value: val,

// 					return tokens

// 					return {

// 					return { label: `Role: ${value.name}`, value: value };

// 					} as SearchResultOption;

// 				.filter((searchedRole) => {

// 				.join(" & ")

// 				.map((p) => ATLASSIAN_PRODUCT_DISPLAY_NAMES[p])

// 				.map((val: RoleTemplateSummary) => {

// 				})

// 				});

// 			  })),

// 			: props.possibleRoleTemplateValues.map((value, index, array) => {

// 			? []

// 			return 'day'

// 			return 'hour'

// 			return 'minute'

// 			return 'month'

// 			return 'now'

// 			return 'second'

// 			return 'week'

// 			return step

// 		...(props.possibleRoleTemplateValues.length > maxCapacity

// 		// logId: z.string().optional().nullable(),

// 		// wasQueuedAtLeastOnce: z.boolean().optional().default(false),

// 		: "select products above";

// 		: props.possibleRoleTemplateValues

// 		? []

// 		? limitedToProducts

// 		case 'day':

// 		case 'hour':

// 		case 'minute':

// 		case 'month':

// 		case 'second':

// 		case 'week':

// 		case 'year':

// 		cleanupRule: initialCleanupRule,

// 		closeFormModal("delete");

// 		code: "custom",

// 		if (step.unit === unit) {

// 		message: "Must be an array of unique product identifiers",

// 		message: "Must specify either days threshold or max users threeshold.",

// 		schedule: {cronAttributes: initialCleanupRule.cronAttributes},

// 		}

// 	  // ... add the rest of the properties here

// 	  // cleanupRule: cleanupRule

// 	  scheduleEnabled: false,

// 	  scheduledRunDisplayName: initialCleanupRule.displayName,

// 	!data.daysInactiveThreshold &&

// 	!data.maxNumberOfLicensedUsers &&

// 	);

// 	.array()

// 	.array(AtlassianProductKeysSchema)

// 	.nonempty("At least one product is required.")

// 	.nullable(),

// 	.optional()

// 	.refine((array) => new Set(array).size === array.length, {

// 	// 	await utils.userCleanup.getScheduledRun.ensureData({

// 	// 	scheduledRunId: modalContext.scheduledRunId,

// 	// data?.scheduledRunId ? data : { ...data, scheduledRunId: uuid() };

// 	// generateCronExplanation,

// 	// return {}

// 	// });

// 	allResults.push(

// 	allResults.push(...roleResultsMatchingByWords);

// 	console.error(`None of the "${units.join(', ')}" time units have been found in "${labelsType}" labels for "${this.locale}" locale.`)

// 	const data = undefined;

// 	const roleResultsMatchingByWords: SearchResultOption[] = !includeRoles

// 	control,

// 	ctx.addIssue({

// 	data.maxNumberOfLicensedUsers !== 0

// 	for (const step of steps) {

// 	generateSpringCron,

// 	limitedToProducts != null && limitedToProducts.length > 0

// 	name: "cleanupRule.limitedToProducts",

// 	onSuccess: () => {

// 	return ''

// 	return z.NEVER;

// 	return {

// 	scheduledRunId: modalContext.scheduledRunId,

// 	scheduledRunId: uuid(),

// 	switch (unit) {

// 	}

// 	}),

// 	});

// 	},

//                    True when adorned at the start.

//                    True when any number or string with length.

//         ...augmentation,

//         ...def.shape(),

//         CleanupModeValues.USERS,

//         channel.port2.postMessage(0);

//         false

//         false,

//         modalContext.scheduledRunId,

//         nextStatus = ENTERING

//         nextStatus = EXITING

//         setImmediate(callback);

//       ...augmentation,

//       ...def,

//       ...this._def.shape(),

//       : k extends keyof Input

//       : k extends keyof Output

//       : never;

//       ? Augmentation[k]["_input"]

//       ? Augmentation[k]["_output"]

//       ? Input[k]

//       ? Output[k]

//       continue;

//       if (status !== ENTERING && status !== ENTERED) {

//       if (status === ENTERING || status === ENTERED) {

//       objectUtil.mergeShapes(this._def.shape(), merging._def.shape()),

//       overviews[productKey] = !overview.hasRun && overviews[productKey]?.hasRun ? overviews[productKey] : overview

//       setActiveTab(pathToTabIndex[path]);

//       shape: () => ({

//       }

//       }),

//      - parseRange

//      if (!b.has(i.value[0])) return false;

//      if (!b.has(i[0])) return false;

//     "date.format": string

//     );

//     ...this._def,

//     .array()

//     .nullable(),

//     .optional()

//     //   activeCount: activeCount,

//     //   hasRun: !!latestRun?.runCompleted,

//     //   inactiveCount: inactiveCount,

//     //   includeInDashboard: true,

//     //   lowUsageCount: latestRun?.nofLowUsageUsersScanned ?? 0,

//     //   lowerBound: scheduledRun.dashboardLimits?.lowerLimit ?? 10,

//     //   recommendations:  activeCount < (scheduledRun.dashboardLimits?.lowerLimit || 0) ? [{message: "You can save some moneys!", userFilter:{accountIds: affectedAccountIds}}] : [],  // TODO,

//     //   scheduledRun

//     //   upperBound: scheduledRun.dashboardLimits?.upperLimit ?? 100,

//     // const fetchApplicationRoles = async () => { fetchApplicationRoles() };

//     // const overview = {

//     // setData(generatedData);

//     // } as ProductOverview

//     Def["catchall"]

//     Def["unknownKeys"],

//     [k in keyof Augmentation | keyof Input]: k extends keyof Augmentation

//     [k in keyof Augmentation | keyof Output]: k extends keyof Augmentation

//     affectedUsers: generatedData,

//     atlToken: string;

//     augmentation: Augmentation

//     background-color: #007bff; // Example override

//     baseUrl: string;

//     buildNumber: string;

//     catchall: merging._def.catchall,

//     channel.port1.onmessage = callback;

//     cleanupAction: "cleanup",

//     closeModal();

//     color: white;

//     confluenceFlavour: string;

//     connectionTimeout: string;

//     console.error('No "/plugin/" segment found in the URL.');

//     console.log("Checking if scheduledRun is linked to dashboard:", scheduledRun)

//     console.log(`${scheduledRun.dashboardLink} linked log latest run:`, logEntry)

//     console.log(`${scheduledRun.dashboardLink} linked run log entry:`, logEntry)

//     const activeCount = latestRun ? (latestRun.nofUsersScanned ?? 0) - (latestRun.nofLowUsageUsersScanned ?? 0) - inactiveCount : 0;

//     const affectedAccountIds = logEntry?.lastRun?.affectedUsersV2?.map(u => u.accountId)

//     const generatedData = generateData(GENERATE_DATA_COUNT);

//     const inactiveCount = logEntry?.lastRun?.affectedUsersV2?.length ?? 0;

//     const latestRun = logEntry?.subsequentRuns.at(-1)

//     const logEntry = allScheduledRunLogsState.value.find(entry => entry.runId === scheduledRun.scheduledRunId)

//     const match = useMatch(path);

//     const productKey = productKeyFromDashboardLinkValue(scheduledRun.dashboardLink)

//     const { status } = this.state

//     contextPath: string;

//     currentUserAvatarUriReference: string;

//     currentUserAvatarUrl: string;

//     currentUserFullname: string;

//     dateTimeUTC: new Date().toISOString(),

//     daysInactiveThreshold: 90,

//     discoveredPluginFeatures: string;

//     dryRun: true,

//     enabledDarkFeatures: string;

//     extendShape<ReturnType<Def["shape"]>, Augmentation>,

//     filenameId: new Date().toISOString()+"generated",

//     globalSettingsAttachmentMaxSize: string;

//     groupToRemove: "jira-users",

//     hasSpaceConfig: string;

//     if (!scheduledRun.dashboardLink) {

//     if (match) {

//     if (productKey != null) {

//     if (this.props.in) {

//     isConfluenceAdmin: boolean;

//     isNewUser: boolean;

//     isSpaceAdmin: string;

//     keyboardshortcutHash: string;

//     maximumNumberOfUsers: GENERATE_DATA_COUNT*3,

//     remoteUser: string;

//     remoteUserHasLicensedAccess: boolean;

//     remoteUserKey: string;

//     return error.errorType === ErrorType.UNEXPECTED && failureCount <= 2

//     return function requestCall() {

//     return new ZodObject({

//     return null; // or an appropriate value indicating failure

//     runId: new Date().toISOString()+"generated",

//     setFilters({...filters, [column]: (value as ToggleOption).value});

//     shape: () =>

//     shape: () => ({

//     showDashboardOnboardingDialog: boolean;

//     showDashboardOnboardingTips: boolean;

//     showSpaceWelcomeDialog: boolean;

//     simulateCronDate: false,

//     staticResourceUrlPrefix: string;

//     totalBillableUsers: GENERATE_DATA_COUNT,

//     typeName: ZodFirstPartyTypeKind.ZodObject,

//     unknownKeys: merging._def.unknownKeys,

//     useKeyboardShortcuts: boolean;

//     userCanCreateContent: boolean;

//     userDatePattern: string;

//     userLocale: string;

//     var channel = new MessageChannel();

//     versionNumber: string;

//     }

//     } else {

//     }) as any;

//     }),

//     };

//    "one": "a second ago",

//    "one": "in a second",

//    "other": "in {0} seconds"

//    "other": "{0} seconds ago"

//    **Note**: `i` access switches to `i.value`.

//    - < Etc/GMT-14, > Etc/GMT+12, and 30-minute or 45-minute offsets are not part of tzdata

//    - parseRepeat

//    - some do not support Etc/

//    ... and convert to:

//    Basically, take:

//    ```

//    ```js

//    for (i of a.entries())

//    it = a.entries();

//    to co-exist with es5.

//    while (!(i = it.next()).done)

//   (one of the certain letters followed by `o`)

//   ): ZodObject<

//   * https://github.com/react-dnd/react-dnd/issues/869

//   * https://github.com/react-dnd/react-dnd/pull/928

//   - (so we cannot rely on `event.target` values)

//   - it could be on an element that is pressed up against the window

//   .CustomContainerClassName button {

//   //   merging._def.shape()

//   //   this._def.shape(),

//   // );

//   // Finds the index of the segment that starts with "plugin"

//   // Reconstructs the path up to the parent of the "/plugin/" segment

//   // const mergedShape = objectUtil.mergeShapes(

//   <Augmentation extends ZodRawShape>(

//   <Def extends ZodObjectDef>(def: Def) =>

//   <NavLink to="/details/1" unstable_viewTransition>

//   <NavLink to="/list" unstable_viewTransition>

//   > => {

//   Augmentation extends Incoming["shape"],

//   Augmentation extends ZodRawShape,

//   Catchall,

//   If there is no matching single quote

//   Incoming extends AnyZodObject,

//   Incoming["_def"]["catchall"]

//   Incoming["_def"]["catchall"],

//   Incoming["_def"]["unknownKeys"],

//   NewInput

//   NewInput extends util.flatten<{

//   NewInput extends {

//   NewOutput extends util.flatten<{

//   NewOutput extends {

//   NewOutput,

//   Object.keys(pathToTabIndex).forEach(path => {

//   ServerTimeResponse,

//   ServerTimeResponseSchema

//   Two quote characters do not end the sequence.

//   UnknownKeys,

//   augmentation: Augmentation

//   const currentPath = window.location.pathname; // Gets the current path

//   const merged: any = new ZodObject({

//   const parentPath = '/' + segments.slice(0, pluginIndex).join('/');

//   const pluginIndex = segments.findIndex(segment => segment.startsWith('plugin'));

//   const segments = currentPath.split('/').filter(Boolean); // Splits the path into segments and removes any empty segments

//   const theme = useThemeObserver();

//   document.querySelector<HTMLInputElement>('#context-path')?.value ?? ''

//   document.querySelector<HTMLInputElement>('#platform-id')?.value

//   document.querySelector<HTMLInputElement>('#plugin-key')?.value

//   except a single quote symbol, which ends the sequence.

//   extendShape<T, Augmentation>,

//   extendShape<T, ReturnType<Incoming["_def"]["shape"]>>,

//   fetchAllDashboardScheduledRuns()

//   fetchAllScheduledRunLogs()

//   fetchAllScheduledRuns()

//   fetchAllUsersEstimatedCount()

//   fetchDefaultGroupsWhitelist()

//   for (const scheduledRun of allDashboardScheduledRunsState.value) {

//   https://github.com/zloirock/core-js/issues/1128

//   https://github.com/zloirock/core-js/issues/1130

//   if (pluginIndex === -1) {

//   if (prevProps !== this.props) {

//   includeAllLogs: true,

//   jsmCleanup: isJsmCleanup,

//   let nextStatus = null

//   merging: Incoming

//   nofRunsToFetch: 10,

//   return merged;

//   return new ZodObject({

//   return parentPath;

//   return { nextStatus }

//   setGlobalTheme({});

//   then the sequence will continue until the end of the string.

//   }

//   }) as any;

//   });

//   },

//   };

//   }>

//   }>,

//  "future": {

//  "past": {

//  * @param  {Object[]} steps

//  * @param  {string} unit

//  * @return {?Object}

//  * Returns a step corresponding to the unit.

//  */

//  - dynamic `canDrop()` checks

//  - parseSequence

//  - rapid updating `getData()` calls to attach data in response to user input (eg for edge detection)

//  0..25 map to ASCII a..z or A..Z

//  `tabIndex` of -1 when the 'tabindex' attribute isn't specified in the DOM,

//  `tabIndex` of 0; since Chrome still puts those elements in the regular tab

//  if the first level of granularity

//  isn't met by this amount)

//  order, consider their tab index to be 0.

//  yet they are still part of the regular tab order; in FF, they get a default

//  }

//  },

// ! + , / > @ ~ isolate token

// " '

// " ' ( [ opening delimit token

// " ' [

// ".second.current".

// "/*" and we'd expect /#something to 404 in a hash router app.

// "Apr 11" (MMMd)

// "Apr 11, 2017" (yMMMd)

// "The day of a command's execution can be specified by two fields --

// "best fit" locale matching is not supported.

// "day" labels are used for formatting the output.

// "default" style name is deprecated.

// "dragend" does not fire if the draggable source has been removed during the drag

// "dragend" fires when on the drag source (eg a draggable element)

// "dragend" will fire after "drop" (if there was a successful drop)

// "drop and blow away the whole document" action.

// "flavour" is a legacy name for "labels".

// "go up one route" instead of "go up one URL segment".  This is a key

// "gradation" is a legacy name for "steps".

// "half-hour" labels are used for formatting the output.

// "hour" labels are used for formatting the output.

// "long" labels type is the default one.

// "memoized" public interface

// "mini" labels are only defined for a few languages.

// "minute" labels are used for formatting the output.

// "month" labels are used for formatting the output.

// "narrow" and "short" labels are defined for all languages.

// "narrow" labels can sometimes be weird (like "+5d."),

// "now" labels are used for formatting the output.

// "plural rules" functions are not stored in locale JSON files because they're not strings.

// "pointerdown" won't be fired if a drag started

// "previous" moment, a "current" moment and a "next moment".

// "pt" language is the only one having different pluralization rules

// "second" labels are used for formatting the output.

// "short" labels would have been more appropriate if they

// "short-time" labels are only defined for a few languages.

// "threshold" is a legacy name for "minTime".

// "threshold_for_xxx" is a legacy property.

// "time" style name is deprecated.

// "tiny" in `javascript-time-ago`: "1m", "2h", "3d"...

// "to" value instead of a "href".

// "today"

// "tomorrow", "the day after tomorrow", etc.

// "unit" is now called "formatAs".

// "week" labels are used for formatting the output.

// "year" labels are used for formatting the output.

// "yesterday", "the day before yesterday", etc.

// "yesterday"/"today"/"tomorrow".

// ## Detecting drag ending for removed draggables

// ### First detection: "pointermove" events

// ### Second detection: "pointerdown" events

// #68 Safari 14.1 dont have it yet

// $FlowFixMe

// $FlowFixMe we know it's not null

// $FlowFixMe: coerce undefined to string

// $FlowFixMe: we can ignore this because its exposed type is defined by the CreateStyled type

// $FlowFixMe: we need to cast StatelessFunctionalComponent to our PrivateStyledComponent class

// $FlowFixMe[cannot-write]

// $FlowFixMe[incompatible-call]: HTMLElement is a Node

// $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here

// $FlowFixMe[incompatible-return]

// $FlowFixMe[incompatible-return]: assume body is always available

// $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414

// $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...

// $FlowFixMe[prop-missing]

// $FlowFixMe[prop-missing]: need a better way to handle this...

// &

// && value.affectedUsersV2.length > 0

// && value.dryRun === true

// &\f

// 'D MMMM': '',

// 'DD MMMM': '',

// 'Do MMMM': '',

// '[role="button"]',

// 'day', 'hour', 'minute', 'second'.

// 'm' and 'r' are mixing constants generated offline.

// 'ref' is passed as prop in React 19, whereas 'ref' is directly attached to children in older versions

// (

// ("1m", "2h", "Mar 3", "Apr 4, 2012").

// (and fall back to the previous step

// (and fallback to the previous step

// (e.g. it's different in the week of the daylight saving time clock shift)

// (even though this isn't strictly a POP reverse)

// (f)ill-available, (f)it-content

// (for example, `DOMQuad` and similar in FF41-)

// (gregorian data or ordinal) + (weekYear or weekNumber) -> error

// (gregorian month or day) + ordinal -> error

// (if available, which is no longer the case)

// (if there is any previous step)

// (in contrast, the rest of the condition is used heavily)

// (inline-)?fl(e)x

// (it's always present for all languages)

// (m)ax-content, (m)in-content

// (margin|padding)-inline-(start|end)

// (mimicks `Intl.RelativeTimeFormat` behavior for other time label styles)

// (min|max)?(width|height|inline-size|block-size)

// (s)ticky?

// (s)tretch

// (see "twitter" style for an example)

// (see the entries for "pt" and "pt_PT" there)

// (the parent might be a drop target that was sticky)

// (the resulting bundle size optimization technique)

// (this file was autogenerated by `generate-locales`)

// ) ] closing delimit token

// ) {

// ): //ZodObject<T & Incoming["_shape"], UnknownKeys, Catchall> = (merging) => {

// ): ZodObject<

// );

// *********************

// ,

// -

// - '' matches two quote characters in a row

// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),

// - (\w)\1* matches any sequences of the same letter

// - . matches any single character unmatched by previous parts of the RegExps

// - Firefox 3-13

// - Internet Explorer 6-9

// - Lynx 2.8.7

// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token

// - dragenter and dragleave bubble

// - dragenter(document.body) [enterCount: 2]

// - dragenter(draggable) [enterCount: 1]

// - dragleave(document.body) [enterCount: 0] {leaving the window}

// - dragleave(draggable) [enterCount: 1]

// - dragstart(draggable) [enterCount: 0]

// - https://css-tricks.com/snippets/css/a-guide-to-flexbox/

// - https://getbootstrap.com/docs/4.3/layout/grid/

// - https://github.com/FormidableLabs/react-fast-compare/issues/64

// - https://github.com/epoberezkin/fast-deep-equal/issues/49

// - https://github.com/kristoferjoseph/flexboxgrid/blob/master/src/css/flexboxgrid.css

// - https://github.com/roylee0704/react-flexbox-grid

// - https://material.angularjs.org/latest/layout/introduction

// - iPad Safari 4.3

// - remounted with different functions

// - removed completely

// - the first dragenter when entering a window might not be on `window`

// ------------------------------

// .mui-fixed is a global helper.

// /

// /**

// // Adjust based on your specific needs (e.g., include dependencies that should trigger re-evaluation)

// // Check for each path and update the active tab state accordingly

// // If no available time unit is suitable, just output an empty string.

// // Note: This dependency array intentionally left blank to mimic componentDidMount behavior,

// // ScheduledRunElementSchema.create()

// // its existence.

// /user-preferences since `-` counts as a word boundary.

// 0, NaN, or Infinity should always fallback to 1.

// 01, 02, ..., 12

// 01, 02, 03, 04

// 02

// 0px margin added to css-reset

// 1 day ago

// 1 hour ago

// 1 minute ago

// 1 month ago

// 1 second ago

// 1 week ago

// 1 year ago

// 1) the element is fully visible

// 1, 2, ..., 12

// 1, 2, 3, 4

// 1, 2, 3, 4 (narrow quarter; could be not numerical)

// 1. "pointermove" events cannot fire during a drag and drop operation

// 1. Extra `has<Type> &&` helpers in initial condition allow es6 code

// 1. It has no `canMonitor` function (default is that a monitor can listen to everything)

// 1. Representing offset 0 when UTC is used to maintain previous behavior and does not become GMT.

// 1. a text selection drag is starting

// 1. check to see if anything has changed

// 1. forward the event to source

// 1. if over a valid drop target: we get a "drop" event to know the drag is finished

// 1. it has the same parent

// 10px gutter

// 11 months ago

// 11-12, and in web workers in many engines.

// 16px is the default font-size used by browsers.

// 1: the menu will fit, do nothing

// 1st quarter, 2nd quarter, ...

// 1st, 2nd, ..., 12th

// 1st, 2nd, ..., 7th

// 1st, 2nd, 3rd, 4th

// 2

// 2 ** 53 - 1 == 9007199254740991

// 2 days ago

// 2 hours ago

// 2 minutes ago

// 2 months ago

// 2 seconds ago

// 2 weeks ago

// 2 years ago

// 2) the element is too small for the spinner to follow

// 2. Replace `for of` with es5 compliant iteration using `for`.

// 2. Unsupported by the browser:

// 2. `canMonitor` returns true

// 2. a draggable managed by pdnd is going to be dragged

// 2. forward the event to relevant dropTargets

// 2. if not over a valid drop target (or cancelled): we get nothing

// 2. let consumers know a move has occurred

// 2. nothing exists in it's previous index

// 2. 🦊😤 Drag and drop operations are _supposed_ to suppress

// 23px

// 24 hours ago

// 25.4.3.1 Promise(executor)

// 26..35 map to ASCII 0..9

// 2: the menu will fit, if scrolled

// 2nd

// 2px gutter

// 3 weeks ago

// 3) the spinner might still be visible while the element isn't

// 3. a draggable not managed by pdnd is going to be dragged

// 3. forward event to monitors

// 32px

// 3: the menu will fit, if constrained

// 4 weeks ago

// 4. Forked beviour when there isn't enough space below

// 4. The user will be dragging anything at all (might be doing a click)

// 4. not enough space, the browser WILL NOT increase scrollable area when

// 4. post consumer dispatch (used for honey pot fix)

// 4.1 Merge the selected color scheme to the theme

// 5. Declaring effects

// 5.1 Updates the selector value to use the current color scheme which tells CSS to use the proper stylesheet.

// 5.2 Remove the CSS transition when color scheme changes to create instant experience.

// 59 minutes ago

// 59 seconds ago

// 6 days ago

// 96 is one less than the char code

// :

// : accompanied token

// :placeholder

// :read-(only|write)

// ;

// ; { } breakpoint token

// <NavLink to="/users"> and <NavLink to="/users/">

// <div ref={node => connectDragSource(connectDropTarget(node))}/>

// ==============================

// => `now === timestamp + minTime`.

// > {

// >(

// @

// @ ;

// @param SSR

// @param obj

// @param value

// @returns {boolean} False when no adornments.

// @returns {boolean} False when not present or empty string.

// @returns {boolean} true if string (including '') or number (including zero)

// @see https://facebook.github.io/react/docs/forms.html#controlled-components

// @ts-expect-error

// @ts-expect-error - Adding `data-testid` to the TriggerProps interface breaks Buttons.

// @ts-expect-error Expression produces a union type that is too complex to represent. I think this is unavoidable

// @ts-expect-error className doesn't exist in the prop definition but we want to ensure it cannot be applied even if types are bypassed

// @ts-expect-error element.ref is not included in the ReactElement type

// @ts-expect-error expected to work in the browser

// @ts-expect-error hide `this`

// @ts-expect-error https://github.com/microsoft/TypeScript/pull/12253#issuecomment-263132208

// @ts-expect-error this is 'any' type

// @ts-expect-error: I cannot get this type working!

// @ts-expect-error: adding property to the event object

// @ts-ignore

// @ts-ignore   (`mode` is not reflected in `searchResultOptions`, so we don't know the type explicitly)

// @ts-ignore - ignore components do not exist

// @ts-ignore See issue for more info: https://github.com/Microsoft/TypeScript/issues/10727

// @ts-ignore This typescript error has been surpessed while locally enrolling `@atlaskit/primitives` into Jira

// @ts-ignore internal logic

// @ts-ignore internal logic - Base UI supports the manager as a prop too

// @ts-ignore: For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it!

// @ts-ignore: refs are writeable

// A "clipping parent" is an overflowable container with the characteristic of

// A "drop" can only happen if the browser allowed the drop

// A cache for `Intl.DateTimeFormat` formatters

// A change of the browser zoom change the scrollbar size.

// A collection of common colors.

// A deprecated way of specifying a different threshold

// A few bytes payload overhead when lodash/debounce is ~3 kB and debounce ~300 B.

// A grid component using the following libs as inspiration.

// A modal manager used to track and manage the state of open Modals.

// A monitor can be removed by another monitor during an event.

// A native item (such as URL) dragged from inside the document

// A native item (such as file or URL) dragged from outside the document

// A shared single usage registration as we want to capture

// A step is not required to specify a `unit`:

// A strict capitalization should uppercase the first letter of each word in the sentence.

// A text selection drag will only start when there is

// A thousand years is practically a metaphor for "infinity".

// A, B

// AD, BC

// AM or PM

// AM, PM, midnight, noon

// ASAP was originally a nextTick shim included in Q. This was factored out

// AUTO: flip the menu, render above

// Action colors: action.active, action.selected

// Add "now".

// Add `now` unit if it's available in locale data.

// Add cleanupMode as a query parameter

// Add default locale.

// Add headers to the request

// Add iOS momentum scrolling for iOS < 13.0

// Add methods to `Hash`.

// Add methods to `ListCache`.

// Add methods to `MapCache`.

// Add methods to `SetCache`.

// Add methods to `Stack`.

// Add or subtract day if day of week & nthDayOfWeek are set (and no match)

// Add or subtract day if not day of month is set (and no match) and day of week is wildcard

// Add or subtract day if not day of week is set (and no match) and day of month is wildcard

// Add or subtract day if select day not match with month (according to calendar)

// Add ourselves to the modal stack register!

// Add properties assigned by `RegExp#exec`.

// Add responseType to request if needed

// Add the children before adding this route to the array, so we traverse the

// Add the last active user block before others

// Add withCredentials to request if needed

// Add xsrf header

// AdditionalVars makes `getCssVar` less strict, so it can be use like this `getCssVar('non-mui-variable')` without type error.

// Advance the index before calling the task. This ensures that we will

// Algorithm will sort numerics or strings, but not both

// Align at the center

// All child paths with the prefix.  Do this for all children before the

// All non-basic code points < n have been handled already. Find the next larger one:

// All v1 tokens

// Allow for axios('example/url'[, config]) a la fetch API

// Allow only 5-minute increments of minutes starting from 2.5 minutes.

// Allow only a specific subset of chained selectors to maintain workable TypeScript performance

// Allow scroll on provided target

// Allow useErrorBoundary function to override throwing behavior on a per-error basis

// Allow useErrorBoundary to override suspense's throwing behavior

// Allowing tab so that a user can move focus away

// Allows consumers to extend a base Select with additional styles

// Already transformed.

// Also `yy` always returns the last two digits of a year,

// Also checks if `value` is a finite number.

// Alternatively, the pluralization rules for each locale could be stored

// Although message channels yield to any queued rendering and IO tasks, they

// Although setImmediate yields to the browser's renderer, it would be

// Always listen to System preference

// Always set stale time when using suspense to prevent

// Always updating the state to include latest data, dropEffect and stickiness

// Amount in units.

// Amount increases with time.

// An exception thrown by a task will permanently interrupt the processing of

// An old drop target will continue to be dropped on if:

// Animated Scroll To

// Anno Domini, Before Christ

// Another interaction is starting, this fix should be removed.

// Any reducers that existed in both the new and old rootReducer

// Apply babel-plugin-transform-template-literals in loose mode

// Apply granularity to the time amount

// Apply guards for `Object.create(null)` handling. See:

// Apply the CSS properties to all the variants.

// Argument of type 'Pick<ThemeProps & { children: (tokens: ThemeTokens) => ReactNode; }, Exclude<keyof ThemeProps, "children">>' is not assignable to parameter of type 'ThemeProps'.ts(2345)

// Array#includes uses SameValueZero equality algorithm

// Array#indexOf ignores holes, Array#includes - not

// Array-as-queue is good enough here, since we are just dealing with exceptions.

// Array.prototype[@@unscopables]

// Assign cache to `_.memoize`.

// Assistive text to describe visual elements. Hidden for sighted users.

// Assume cyclic values are equal.

// Assuming JiraSoftwareSchema is defined and exported from another file

// Async and optimistically optimized update – it will not be executed if

// At this point we have no drop target in the old spot

// At this point, we are not sure which if:

// Attributes have the same specificity a pseudo classes so we are overriding :disabled here

// Avoid NodeJS experimental warning

// Avoid crashing if we missed a drop event or our previous drag died

// Avoid failures from read-only properties

// Avoid performing a layout computation in the render method.

// Avoid prototype pollution

// Axios

// BOTTOM: allow browser to increase scrollable area and immediately set scroll

// Be sure to unsubscribe if a new handler is set

// Because we are binding to `window` - our `dragover` is effectively the same as a `drag`

// Being explicit to avoid inheriting styles

// Being super clear these should only run once

// Binding to the `window` so that the element adapter

// Binding to the `window` so that the element adapter has a

// Block option hover events when the user has just pressed a key

// Block the scroll even if no scrollbar is visible to account for mobile keyboard

// Bootstrap: https://github.com/twbs/bootstrap/blob/1d6e3710dd447de1a200f29e8fa521f8a0908f70/scss/_functions.scss#L59

// Break the first item of the current range into a single element, and try to start a new range with the second item

// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`

// Browsers do not return `tabIndex` correctly for contentEditable nodes;

// Browsers not implementing :focus-visible will throw a SyntaxError.

// Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should

// Browsers where the left scrollbar doesn't cause an issue report `0` for

// Browsers without `ShadowRoot` support.

// Bump specificity to allow extending custom inputs

// Bun / IE9- setInterval additional parameters fix

// Bun / IE9- setTimeout additional parameters fix

// Bundle size optimization technique for styles like

// Bundle size optimization technique for styles like "narrow"

// Bundle size optimization technique.

// But `make-plural` library itself is relatively big in size:

// But that behaviour does not seem to appear in the spec.

// But that's a pretty big refactor to the current test suite so going to

// Button already has React.memo, so just leaning on that

// By default, this library formats a `0` in "past" mode,

// By explicitly using `prop-types` you are opting into new production behavior.

// CAPABILITIES

// CLASS

// COERCION

// COMPARE

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@atlaskit/dynamic-table/dist/esm/components/body.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@atlaskit/dynamic-table/dist/esm/components/error-boundary.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@atlaskit/dynamic-table/dist/esm/components/loading-container-advanced.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@atlaskit/dynamic-table/dist/esm/components/loading-container.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@atlaskit/dynamic-table/dist/esm/components/managed-pagination.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@atlaskit/dynamic-table/dist/esm/components/rankable/table-head-cell.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@atlaskit/dynamic-table/dist/esm/components/stateful.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@atlaskit/dynamic-table/dist/esm/components/stateless.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@atlaskit/dynamic-table/dist/esm/components/table-head.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@atlaskit/dynamic-table/dist/esm/styled/loading-container-advanced.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@atlaskit/pagination/dist/esm/internal/components/navigator.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@atlaskit/pagination/dist/esm/internal/components/page.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@atlaskit/pagination/dist/esm/internal/components/render-ellipsis.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@atlaskit/pagination/dist/esm/internal/constants.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@atlaskit/pagination/dist/esm/pagination.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@atlaskit/tag-group/dist/esm/TagGroup/index.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@atlaskit/tag/dist/esm/constants.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@atlaskit/tag/dist/esm/tag/internal/shared/before.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@atlaskit/tag/dist/esm/tag/internal/shared/content.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@atlaskit/tag/dist/esm/tag/internal/simple/index.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@atlaskit/toggle/dist/esm/internal/styles.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@atlaskit/toggle/dist/esm/toggle.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/material/Backdrop/backdropClasses.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/material/Button/buttonClasses.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/material/ButtonBase/buttonBaseClasses.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/material/Checkbox/checkboxClasses.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/material/Chip/chipClasses.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/material/FilledInput/filledInputClasses.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/material/FormControlLabel/formControlLabelClasses.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/material/FormGroup/formGroupClasses.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/material/FormHelperText/formHelperTextClasses.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/material/FormLabel/formLabelClasses.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/material/Grid/gridClasses.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/material/InputAdornment/inputAdornmentClasses.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/material/List/listClasses.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/material/Menu/menuClasses.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/material/Modal/ModalManager.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/material/Modal/modalClasses.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/material/NativeSelect/nativeSelectClasses.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/material/OutlinedInput/outlinedInputClasses.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/material/Popper/popperClasses.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/material/SvgIcon/svgIconClasses.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/material/Table/tableClasses.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/material/TableBody/tableBodyClasses.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/material/TableFooter/tableFooterClasses.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/material/TableHead/tableHeadClasses.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/material/TablePagination/tablePaginationClasses.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/material/TableRow/tableRowClasses.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/material/TableSortLabel/tableSortLabelClasses.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/material/Tooltip/tooltipClasses.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/material/colors/common.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/material/internal/switchBaseClasses.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/material/styles/adaptV4Theme.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/material/styles/createMuiStrictModeTheme.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/material/styles/createStyles.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/material/styles/cssUtils.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/material/styles/excludeVariablesFromRoot.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/material/styles/experimental_extendTheme.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/material/styles/makeStyles.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/material/styles/responsiveFontSizes.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/material/styles/shouldSkipGeneratingVar.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/material/styles/withStyles.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/material/styles/withTheme.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/material/styles/zIndex.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/material/utils/createChainedFunction.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/material/utils/deprecatedPropType.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/material/utils/getScrollbarSize.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/material/utils/isMuiElement.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/material/utils/requirePropFactory.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/material/utils/setRef.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/material/utils/unsupportedProp.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/private-theming/ThemeProvider/ThemeProvider.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/private-theming/ThemeProvider/nested.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/system/esm/InitColorSchemeScript/InitColorSchemeScript.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/system/esm/Stack/createStack.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/system/esm/borders.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/system/esm/colorManipulator.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/system/esm/compose.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/system/esm/createStyled.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/system/esm/createTheme/createTheme.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/system/esm/createTheme/shape.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/system/esm/cssVars/createCssVarsProvider.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/system/esm/cssVars/createGetCssVar.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/system/esm/cssVars/cssVarsParser.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/system/esm/cssVars/prepareCssVars.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/system/esm/memoize.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/system/esm/palette.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/system/esm/sizing.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/system/esm/spacing.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/system/esm/styled.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/system/esm/useThemeProps/getThemeProps.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/utils/esm/deprecatedPropType/deprecatedPropType.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/utils/esm/getDisplayName/getDisplayName.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/utils/esm/getDisplayName/index.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/utils/esm/isMuiElement/isMuiElement.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/utils/esm/mergeSlotProps/mergeSlotProps.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/utils/esm/omitEventHandlers/omitEventHandlers.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/utils/esm/requirePropFactory/requirePropFactory.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/utils/esm/resolveComponentProps/resolveComponentProps.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@mui/utils/esm/unsupportedProp/unsupportedProp.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@react-dnd/asap/dist/esm/AsapQueue.mjs

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@react-dnd/asap/dist/esm/RawTask.mjs

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@react-dnd/asap/dist/esm/TaskFactory.mjs

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@react-dnd/asap/dist/esm/asap.mjs

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/@react-dnd/asap/dist/esm/makeRequestCall.mjs

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/axios/lib/axios.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/axios/lib/cancel/CancelToken.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/axios/lib/cancel/CanceledError.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/axios/lib/cancel/isCancel.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/axios/lib/core/AxiosError.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/axios/lib/core/InterceptorManager.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/axios/lib/core/buildFullPath.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/axios/lib/core/dispatchRequest.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/axios/lib/core/mergeConfig.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/axios/lib/core/settle.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/axios/lib/core/transformData.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/axios/lib/defaults/index.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/axios/lib/env/data.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/axios/lib/helpers/AxiosURLSearchParams.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/axios/lib/helpers/HttpStatusCode.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/axios/lib/helpers/bind.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/axios/lib/helpers/buildURL.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/axios/lib/helpers/combineURLs.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/axios/lib/helpers/formDataToJSON.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/axios/lib/helpers/isAxiosError.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/axios/lib/helpers/parseProtocol.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/axios/lib/helpers/resolveConfig.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/axios/lib/helpers/speedometer.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/axios/lib/helpers/spread.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/axios/lib/helpers/throttle.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/axios/lib/helpers/toFormData.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/axios/lib/helpers/toURLEncodedForm.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/axios/lib/utils.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/date-fns/esm/_lib/addLeadingZeros/index.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/date-fns/esm/_lib/defaultOptions/index.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/date-fns/esm/_lib/format/formatters/index.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/date-fns/esm/_lib/format/lightFormatters/index.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/date-fns/esm/_lib/format/longFormatters/index.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/date-fns/esm/_lib/getTimezoneOffsetInMilliseconds/index.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/date-fns/esm/_lib/getUTCISOWeekYear/index.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/date-fns/esm/_lib/getUTCWeekYear/index.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/date-fns/esm/_lib/protectedTokens/index.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/date-fns/esm/_lib/requiredArgs/index.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/date-fns/esm/_lib/startOfUTCISOWeek/index.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/date-fns/esm/_lib/startOfUTCISOWeekYear/index.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/date-fns/esm/_lib/startOfUTCWeek/index.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/date-fns/esm/_lib/startOfUTCWeekYear/index.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/date-fns/esm/_lib/toInteger/index.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/date-fns/esm/addMilliseconds/index.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/date-fns/esm/format/index.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/date-fns/esm/isDate/index.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/date-fns/esm/isValid/index.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/date-fns/esm/locale/_lib/buildFormatLongFn/index.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/date-fns/esm/locale/_lib/buildLocalizeFn/index.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/date-fns/esm/locale/_lib/buildMatchFn/index.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/date-fns/esm/locale/en-US/_lib/formatDistance/index.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/date-fns/esm/locale/en-US/_lib/formatRelative/index.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/date-fns/esm/locale/en-US/_lib/match/index.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/date-fns/esm/subMilliseconds/index.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/date-fns/esm/toDate/index.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/dnd-core/dist/esm/DragDropManagerImpl.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/dnd-core/dist/esm/DragDropMonitorImpl.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/dnd-core/dist/esm/HandlerRegistryImpl.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/dnd-core/dist/esm/actions/dragDrop/beginDrag.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/dnd-core/dist/esm/actions/dragDrop/drop.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/dnd-core/dist/esm/actions/dragDrop/endDrag.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/dnd-core/dist/esm/actions/dragDrop/hover.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/dnd-core/dist/esm/actions/dragDrop/index.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/dnd-core/dist/esm/actions/dragDrop/local/setClientOffset.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/dnd-core/dist/esm/actions/dragDrop/publishDragSource.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/dnd-core/dist/esm/actions/registry.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/dnd-core/dist/esm/contracts.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/dnd-core/dist/esm/factories.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/dnd-core/dist/esm/reducers/dirtyHandlerIds.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/dnd-core/dist/esm/reducers/dragOffset.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/dnd-core/dist/esm/reducers/dragOperation.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/dnd-core/dist/esm/reducers/index.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/dnd-core/dist/esm/reducers/refCount.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/dnd-core/dist/esm/reducers/stateId.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/dnd-core/dist/esm/utils/dirtiness.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/dnd-core/dist/esm/utils/js_utils.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/dnd-core/dist/esm/utils/matchesType.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/javascript-time-ago/modules/LocaleDataStore.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/javascript-time-ago/modules/TimeAgo.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/javascript-time-ago/modules/cache.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/javascript-time-ago/modules/isStyleObject.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/javascript-time-ago/modules/locale.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/javascript-time-ago/modules/round.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/javascript-time-ago/modules/steps/getStep.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/javascript-time-ago/modules/steps/getStepDenominator.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/javascript-time-ago/modules/steps/getStepMinTime.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/javascript-time-ago/modules/steps/getTimeToNextUpdate.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/javascript-time-ago/modules/steps/getTimeToNextUpdateForUnit.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/javascript-time-ago/modules/steps/helpers.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/javascript-time-ago/modules/steps/round.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/javascript-time-ago/modules/steps/units.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/javascript-time-ago/modules/style/getStyleByName.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/javascript-time-ago/modules/style/miniMinute.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/javascript-time-ago/modules/style/miniMinuteNow.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/javascript-time-ago/modules/style/miniNow.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/javascript-time-ago/modules/style/roundMinute.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/javascript-time-ago/modules/style/twitter.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/javascript-time-ago/modules/style/twitterFirstMinute.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/javascript-time-ago/modules/style/twitterMinute.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/javascript-time-ago/modules/style/twitterMinuteNow.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/javascript-time-ago/modules/style/twitterNow.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/react-dnd-html5-backend/dist/esm/EnterLeaveCounter.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/react-dnd-html5-backend/dist/esm/HTML5BackendImpl.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/react-dnd-html5-backend/dist/esm/MonotonicInterpolant.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/react-dnd-html5-backend/dist/esm/NativeDragSources/NativeDragSource.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/react-dnd-html5-backend/dist/esm/NativeDragSources/getDataFromDataTransfer.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/react-dnd-html5-backend/dist/esm/NativeDragSources/index.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/react-dnd-html5-backend/dist/esm/NativeTypes.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/react-dnd-html5-backend/dist/esm/OptionsReader.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/react-dnd-html5-backend/dist/esm/index.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/react-dnd-html5-backend/dist/esm/utils/js_utils.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/react-dnd/dist/esm/common/DndContext.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/react-dnd/dist/esm/common/DndProvider.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/react-dnd/dist/esm/common/DragPreviewImage.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/react-dnd/dist/esm/common/index.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/react-dnd/dist/esm/common/wrapConnectorHooks.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/react-dnd/dist/esm/decorators/DragSource.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/react-dnd/dist/esm/decorators/DropTarget.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/react-dnd/dist/esm/decorators/createSourceFactory.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/react-dnd/dist/esm/decorators/createTargetFactory.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/react-dnd/dist/esm/decorators/decorateHandler.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/react-dnd/dist/esm/decorators/disposables.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/react-dnd/dist/esm/hooks/index.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/react-dnd/dist/esm/hooks/internal/drag.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/react-dnd/dist/esm/hooks/internal/drop.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/react-dnd/dist/esm/hooks/internal/useCollector.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/react-dnd/dist/esm/hooks/internal/useMonitorOutput.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/react-dnd/dist/esm/hooks/useDrag.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/react-dnd/dist/esm/hooks/useDragDropManager.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/react-dnd/dist/esm/hooks/useDragLayer.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/react-dnd/dist/esm/hooks/useDrop.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/react-dnd/dist/esm/utils/cloneWithRef.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/react-use/esm/useAsyncFn.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/react-use/esm/useMountedState.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/relative-time-format/modules/PluralRuleFunctions.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/relative-time-format/modules/PluralRules.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/relative-time-format/modules/RelativeTimeFormat.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/relative-time-format/modules/getPluralRulesLocale.js

// CONCATENATED MODULE: ../user-cleanup-cloud/node_modules/relative-time-format/modules/resolveLocale.js

// CONCATENATED MODULE: ../user-cleanup-cloud/packages/add-schedule-modal/src/components/CreateOrEditForm.tsx

// CONCATENATED MODULE: ../user-cleanup-cloud/packages/add-schedule-modal/src/modals/CreateScheduleModal.tsx

// CONCATENATED MODULE: ../user-cleanup-cloud/packages/add-schedule-modal/src/modals/EditScheduleModal.tsx

// CONCATENATED MODULE: ../user-cleanup-cloud/packages/shared/src/api/apiExecuteCleanup.ts

// CONCATENATED MODULE: ../user-cleanup-cloud/packages/shared/src/api/apiExecuteCleanupSingleUser.ts

// CONCATENATED MODULE: ../user-cleanup-cloud/packages/shared/src/api/apiGetCleanupExecuteStatus.ts

// CONCATENATED MODULE: ../user-cleanup-cloud/packages/shared/src/api/apiGetCleanupLogs.ts

// CONCATENATED MODULE: ../user-cleanup-cloud/packages/shared/src/api/apiGetCleanupMeta.ts

// CONCATENATED MODULE: ../user-cleanup-cloud/packages/shared/src/api/apiGetCleanupRule.ts

// CONCATENATED MODULE: ../user-cleanup-cloud/packages/shared/src/api/apiGetServerTime.ts

// CONCATENATED MODULE: ../user-cleanup-cloud/packages/shared/src/api/apiPostCleanupRule.ts

// CONCATENATED MODULE: ../user-cleanup-cloud/packages/shared/src/components/Cron/CronAttributesInput.tsx

// CONCATENATED MODULE: ../user-cleanup-cloud/packages/shared/src/components/CustomGroupOrRoleMultiSelect.tsx

// CONCATENATED MODULE: ../user-cleanup-cloud/packages/shared/src/components/Form/FormActions.tsx

// CONCATENATED MODULE: ../user-cleanup-cloud/packages/shared/src/components/Status/Status.tsx

// CONCATENATED MODULE: ../user-cleanup-cloud/packages/shared/src/styled-components/cards/styles.tsx

// CONCATENATED MODULE: ../user-cleanup-cloud/packages/shared/src/styled-components/forms/styles.tsx

// CONCATENATED MODULE: ../user-cleanup-cloud/packages/shared/src/utilities-dc/KSSOError.ts

// CONCATENATED MODULE: ../user-cleanup-cloud/packages/shared/src/utilities-dc/QueryClient.ts

// CONCATENATED MODULE: ../user-cleanup-cloud/packages/shared/src/utilities-dc/generateCron.ts

// CONCATENATED MODULE: ../user-cleanup-cloud/packages/user-admin/node_modules/@atlaskit/datetime-picker/dist/esm/internal/fixed-layer.js

// CONCATENATED MODULE: ../user-cleanup-cloud/packages/user-admin/node_modules/@atlaskit/datetime-picker/dist/esm/internal/index.js

// CONCATENATED MODULE: ../user-cleanup-cloud/packages/user-admin/node_modules/@atlaskit/datetime-picker/dist/esm/internal/parse-tokens.js

// CONCATENATED MODULE: ../user-cleanup-cloud/packages/user-admin/node_modules/@atlaskit/datetime-picker/dist/esm/internal/single-value.js

// CONCATENATED MODULE: ../user-cleanup-cloud/packages/user-admin/node_modules/@atlaskit/locale/dist/esm/internal/common.js

// CONCATENATED MODULE: ../user-cleanup-cloud/packages/user-admin/node_modules/@atlaskit/locale/dist/esm/internal/localization-provider/toFormattedParts.js

// CONCATENATED MODULE: ../user-cleanup-cloud/packages/user-admin/src/AJSProvider.tsx

// CONCATENATED MODULE: ../user-cleanup-cloud/packages/user-admin/src/AppContext.tsx

// CONCATENATED MODULE: ../user-cleanup-cloud/packages/user-admin/src/components/Dashboard/consts.ts

// CONCATENATED MODULE: ../user-cleanup-cloud/packages/user-admin/src/features/Dashboard.tsx

// CONCATENATED MODULE: ../user-cleanup-cloud/packages/user-admin/src/features/JiraUsage/ApplicationRolesComponent.tsx

// CONCATENATED MODULE: ../user-cleanup-cloud/packages/user-admin/src/features/JiraUsage/ConfluenceMaxUsersSchema.ts

// CONCATENATED MODULE: ../user-cleanup-cloud/packages/user-admin/src/features/Messages.tsx

// CONCATENATED MODULE: ../user-cleanup-cloud/packages/user-admin/src/features/MyTable.tsx

// CONCATENATED MODULE: ../user-cleanup-cloud/packages/user-admin/src/features/ToggleButton.tsx

// CONCATENATED MODULE: ../user-cleanup-cloud/packages/user-admin/src/features/dashboard/DashboardCard.tsx

// CONCATENATED MODULE: ../user-cleanup-cloud/packages/user-admin/src/features/dashboard/LicensesGraphDC2.tsx

// CONCATENATED MODULE: ../user-cleanup-cloud/packages/user-admin/src/features/navigation/Page.tsx

// CONCATENATED MODULE: ../user-cleanup-cloud/packages/user-admin/src/index.tsx

// CONCATENATED MODULE: ../user-cleanup-cloud/packages/user-admin/src/pages/cleanup/schedules/SchedulesTab.tsx

// CONCATENATED MODULE: ../user-cleanup-cloud/packages/user-admin/src/pages/cleanup/schedules/prepare.ts

// CONCATENATED MODULE: ../user-cleanup-cloud/packages/user-admin/src/pages/demo/DemoPage.tsx

// CONCATENATED MODULE: ../user-cleanup-cloud/packages/user-admin/src/shared/components/EditableListInput/CustomGroupSelect.tsx

// CONCATENATED MODULE: ../user-cleanup-cloud/packages/user-admin/src/utils/constants.ts

// CONCATENATED MODULE: ../user-cleanup-cloud/packages/user-admin/src/utils/stringUtils.ts

// CONCATENATED MODULE: ./node_modules/@atlaskit/analytics-next/dist/esm/components/AnalyticsContext/LegacyAnalyticsContext.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/analytics-next/dist/esm/events/AnalyticsEvent.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/analytics-next/dist/esm/events/UIAnalyticsEvent.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/analytics-next/dist/esm/hocs/withAnalyticsContext.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/analytics-next/dist/esm/hooks/useAnalyticsContext.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/analytics-next/dist/esm/hooks/useAnalyticsEvents.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/analytics-next/dist/esm/hooks/usePatchedProps.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/analytics-next/dist/esm/hooks/usePlatformLeafEventHandler.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/analytics-next/dist/esm/hooks/usePlatformLeafSyntheticEventHandler.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/analytics-next/dist/esm/hooks/useTrackedRef.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/analytics-next/dist/esm/utils/isModernContextEnabledEnv.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/blanket/dist/esm/blanket.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/button/dist/esm/old-button/button.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/button/dist/esm/old-button/loading-button.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/button/dist/esm/old-button/shared/block-events.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/button/dist/esm/old-button/shared/css.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/button/dist/esm/old-button/shared/get-if-visually-hidden-children.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/button/dist/esm/old-button/shared/get-is-only-single-icon.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/button/dist/esm/old-button/shared/loading-spinner.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/ds-lib/dist/esm/hooks/use-auto-focus.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/ds-lib/dist/esm/hooks/use-close-on-escape-press.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/ds-lib/dist/esm/hooks/use-controlled.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/ds-lib/dist/esm/hooks/use-lazy-callback.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/ds-lib/dist/esm/hooks/use-lazy-ref.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/ds-lib/dist/esm/hooks/use-state-ref.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/ds-lib/dist/esm/utils/keycodes.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/ds-lib/dist/esm/utils/merge-refs.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/ds-lib/dist/esm/utils/noop.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/focus-ring/dist/esm/focus-ring.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/heading/dist/esm/heading.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/icon/dist/esm/components/icon.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/icon/dist/esm/entry-points/base-new.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/icon/dist/esm/entry-points/base.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/layering/dist/esm/components/context.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/modal-dialog/dist/esm/hooks.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/modal-dialog/dist/esm/internal/components/modal-dialog.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/modal-dialog/dist/esm/internal/hooks/use-modal-stack.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/modal-dialog/dist/esm/internal/hooks/use-on-motion-finish.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/modal-dialog/dist/esm/internal/hooks/use-prevent-programmatic-scroll.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/modal-dialog/dist/esm/internal/hooks/use-scroll.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/modal-dialog/dist/esm/internal/pragmatic-drag-and-drop/disable-dragging-to-cross-origin-iframes/element.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/modal-dialog/dist/esm/internal/pragmatic-drag-and-drop/disable-dragging-to-cross-origin-iframes/external.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/modal-dialog/dist/esm/internal/pragmatic-drag-and-drop/disable-dragging-to-cross-origin-iframes/make-fix-for-adapter.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/modal-dialog/dist/esm/internal/pragmatic-drag-and-drop/disable-dragging-to-cross-origin-iframes/text-selection.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/modal-dialog/dist/esm/internal/utils.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/modal-dialog/dist/esm/modal-body.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/modal-dialog/dist/esm/modal-wrapper.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/motion/dist/esm/entering/fade-in.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/motion/dist/esm/entering/keyframes-motion.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/motion/dist/esm/entering/staggered-entrance.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/motion/dist/esm/utils/accessibility.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/motion/dist/esm/utils/curves.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/platform-feature-flags/dist/esm/debug.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/popper/dist/esm/max-size.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/popper/dist/esm/popper.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/portal/dist/esm/constants.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/portal/dist/esm/internal/components/internal-portal-new.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/portal/dist/esm/internal/components/internal-portal.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/portal/dist/esm/internal/constants.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/portal/dist/esm/internal/hooks/use-isomorphic-layout-effect.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/portal/dist/esm/portal.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/pragmatic-drag-and-drop/dist/esm/adapter/external-adapter.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/pragmatic-drag-and-drop/dist/esm/adapter/text-selection-adapter.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/pragmatic-drag-and-drop/dist/esm/honey-pot-fix/get-element-from-point-without-honey-pot.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/pragmatic-drag-and-drop/dist/esm/honey-pot-fix/honey-pot-data-attribute.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/pragmatic-drag-and-drop/dist/esm/honey-pot-fix/is-honey-pot-element.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/pragmatic-drag-and-drop/dist/esm/honey-pot-fix/make-honey-pot-fix.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/pragmatic-drag-and-drop/dist/esm/ledger/lifecycle-manager.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/pragmatic-drag-and-drop/dist/esm/make-adapter/make-adapter.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/pragmatic-drag-and-drop/dist/esm/make-adapter/make-drop-target.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/pragmatic-drag-and-drop/dist/esm/make-adapter/make-monitor.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/pragmatic-drag-and-drop/dist/esm/public-utils/combine.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/pragmatic-drag-and-drop/dist/esm/public-utils/once.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/pragmatic-drag-and-drop/dist/esm/util/add-attribute.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/pragmatic-drag-and-drop/dist/esm/util/android.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/pragmatic-drag-and-drop/dist/esm/util/changing-window/is-entering-window.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/pragmatic-drag-and-drop/dist/esm/util/changing-window/is-leaving-window.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/pragmatic-drag-and-drop/dist/esm/util/detect-broken-drag.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/pragmatic-drag-and-drop/dist/esm/util/get-input.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/pragmatic-drag-and-drop/dist/esm/util/is-firefox.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/pragmatic-drag-and-drop/dist/esm/util/max-z-index.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/primitives/dist/esm/components/flex.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/primitives/dist/esm/components/inline.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/primitives/dist/esm/components/internal/surface-provider.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/primitives/dist/esm/responsive/media-helper.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/primitives/dist/esm/xcss/style-maps.partial.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/radio/dist/esm/radio-group.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/radio/dist/esm/radio.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/section-message/dist/esm/internal/appearance-icon.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/section-message/dist/esm/section-message.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/select/dist/esm/Select.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/select/dist/esm/components/indicators.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/select/dist/esm/components/input-aria-describedby.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/select/dist/esm/components/no-options.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/select/dist/esm/styles.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/select/dist/esm/utils/grouped-options-announcement.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/spinner/dist/esm/constants.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/spinner/dist/esm/spinner.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/textfield/dist/esm/styles.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/theme/dist/esm/components/theme.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/theme/dist/esm/utils/create-theme.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/tooltip/dist/esm/Tooltip.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/tooltip/dist/esm/TooltipContainer.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/tooltip/dist/esm/TooltipPrimitive.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/tooltip/dist/esm/internal/drag-manager.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/tooltip/dist/esm/internal/shared-schedule.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/tooltip/dist/esm/internal/tooltip-manager.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/tooltip/dist/esm/internal/use-unique-id.js

// CONCATENATED MODULE: ./node_modules/@atlaskit/tooltip/dist/esm/utilities.js

// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js

// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js

// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/get.js

// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js

// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js

// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js

// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js

// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js

// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/objectDestructuringEmpty.js

// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js

// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/superPropBase.js

// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js

// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js

// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/toPrimitive.js

// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js

// CONCATENATED MODULE: ./node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js

// CONCATENATED MODULE: ./node_modules/@emotion/hash/dist/emotion-hash.esm.js

// CONCATENATED MODULE: ./node_modules/@emotion/stylis/dist/stylis.browser.esm.js

// CONCATENATED MODULE: ./node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs

// CONCATENATED MODULE: ./node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs

// CONCATENATED MODULE: ./node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs

// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/createPopper.js

// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/contains.js

// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js

// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js

// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js

// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js

// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js

// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js

// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js

// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js

// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js

// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js

// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js

// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js

// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getWindow.js

// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js

// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js

// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js

// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js

// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js

// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js

// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js

// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/enums.js

// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/modifiers/applyStyles.js

// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/modifiers/computeStyles.js

// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/modifiers/flip.js

// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/modifiers/hide.js

// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/modifiers/offset.js

// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js

// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js

// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/popper.js

// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js

// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/computeOffsets.js

// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/detectOverflow.js

// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/expandToHashMap.js

// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/getBasePlacement.js

// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js

// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/getOppositePlacement.js

// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js

// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/getVariation.js

// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/math.js

// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js

// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/orderModifiers.js

// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/rectToClientRect.js

// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/userAgent.js

// CONCATENATED MODULE: ./node_modules/@popperjs/core/lib/utils/within.js

// CONCATENATED MODULE: ./node_modules/@remix-run/router/dist/router.js

// CONCATENATED MODULE: ./node_modules/focus-lock/dist/es2015/constants.js

// CONCATENATED MODULE: ./node_modules/focus-lock/dist/es2015/return-focus.js

// CONCATENATED MODULE: ./node_modules/focus-lock/dist/es2015/utils/array.js

// CONCATENATED MODULE: ./node_modules/react-clientside-effect/lib/index.es.js

// CONCATENATED MODULE: ./node_modules/react-focus-lock-next/dist/es2015/Combination.js

// CONCATENATED MODULE: ./node_modules/react-focus-lock-next/dist/es2015/FocusGuard.js

// CONCATENATED MODULE: ./node_modules/react-focus-lock-next/dist/es2015/medium.js

// CONCATENATED MODULE: ./node_modules/react-focus-lock-next/dist/es2015/util.js

// CONCATENATED MODULE: ./node_modules/react-focus-lock/dist/es2015/Combination.js

// CONCATENATED MODULE: ./node_modules/react-focus-lock/dist/es2015/FocusGuard.js

// CONCATENATED MODULE: ./node_modules/react-focus-lock/dist/es2015/medium.js

// CONCATENATED MODULE: ./node_modules/react-focus-lock/dist/es2015/util.js

// CONCATENATED MODULE: ./node_modules/react-hook-form/dist/index.esm.mjs

// CONCATENATED MODULE: ./node_modules/react-popper/lib/esm/Manager.js

// CONCATENATED MODULE: ./node_modules/react-popper/lib/esm/Reference.js

// CONCATENATED MODULE: ./node_modules/react-popper/lib/esm/utils.js

// CONCATENATED MODULE: ./node_modules/react-query/es/core/queryClient.js

// CONCATENATED MODULE: ./node_modules/react-query/es/react/QueryErrorResetBoundary.js

// CONCATENATED MODULE: ./node_modules/react-query/es/react/index.js

// CONCATENATED MODULE: ./node_modules/react-query/es/react/setBatchUpdatesFn.js

// CONCATENATED MODULE: ./node_modules/react-query/es/react/setLogger.js

// CONCATENATED MODULE: ./node_modules/react-query/es/react/useBaseQuery.js

// CONCATENATED MODULE: ./node_modules/react-query/es/react/useMutation.js

// CONCATENATED MODULE: ./node_modules/react-query/es/react/useQuery.js

// CONCATENATED MODULE: ./node_modules/react-query/es/react/utils.js

// CONCATENATED MODULE: ./node_modules/react-router-dom/dist/index.js

// CONCATENATED MODULE: ./node_modules/react-router/dist/index.js

// CONCATENATED MODULE: ./node_modules/react-select/creatable/dist/react-select-creatable.esm.js

// CONCATENATED MODULE: ./node_modules/react-select/dist/index-a301f526.esm.js

// CONCATENATED MODULE: ./node_modules/react-transition-group/esm/TransitionGroup.js

// CONCATENATED MODULE: ./node_modules/react-transition-group/esm/config.js

// CONCATENATED MODULE: ./node_modules/react-transition-group/esm/utils/ChildMapping.js

// CONCATENATED MODULE: ./node_modules/react-uid/dist/es2015/uid.js

// CONCATENATED MODULE: ./node_modules/stylis/src/Enum.js

// CONCATENATED MODULE: ./node_modules/stylis/src/Parser.js

// CONCATENATED MODULE: ./node_modules/stylis/src/Serializer.js

// CONCATENATED MODULE: ./node_modules/stylis/src/Tokenizer.js

// CONCATENATED MODULE: ./node_modules/use-callback-ref/dist/es2015/assignRef.js

// CONCATENATED MODULE: ./node_modules/use-callback-ref/dist/es2015/useMergeRef.js

// CONCATENATED MODULE: ./node_modules/use-sidecar/dist/es2015/medium.js

// CONCATENATED MODULE: ./node_modules/zod/lib/index.mjs

// CONSTRUCT

// CONTEXT

// CSS overrides

// CSS property that are unitless

// CSS selector

// Cache `Intl.PluralRules` instance.

// Cache `Intl.RelativeTimeFormat` instance.

// Cache the length.

// Calculate element positioning

// Call the onShow handler if it hasn't been called yet

// Can pass a custom `now`, e.g. for testing purposes.

// Cannot find anything else

// Capture the final input.

// Cause a re-render if we're getting the container ref for the first time

// Center vertically, height is 1em

// Certain fonts which overflow the line height will cause the textarea

// Check constraints

// Check for a special "compacted" rules case:

// Check for circular references and return its corresponding clone.

// Check for valid characters.

// Check if CSS variables are used

// Check if blur() exists, which is missing on certain elements on IE

// Check if key is already down to avoid repeats being counted as multiple activations

// Check if the horizontal axis needs shifting

// Check if the transport layer support cancellation

// Check if the vertical axis needs shifting

// Check the input state on mount, in case it was filled by the user

// Check the node either in the main document or in the current context

// Check the target ids at the innermost position. If they are valid, add them

// Check this by adding 7 days to the current date and seeing if it's

// Check to see if we can use a previous sticky drop target

// Check: does the draggable want to allow dragging?

// Check: is there a drag handle and is the user using it?

// Children WILL have a key after being forced into an array using the React.Children helper.

// Choose either "past" or "future" based on time `value` sign.

// Choose the most appropriate locale

// Choose the most appropriate locale.

// Chrome 38 Symbol has incorrect toString conversion

// Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances

// Chrome bug: https://issues.chromium.org/issues/362301053

// Chrome recently changed button so that they use 'arial' as the font family

// Chrome's autofill feature gives the input field a yellow background.

// Class Name Prefixer

// Clean Common Props

// Clean Value

// Clean up no longer used handlers in cache

// Clean up request

// Cleanup function to unsubscribe when the component unmounts

// Cleanup functions are executed lazily in React 17.

// Clone the date

// Clone the event to not override `target` of the original event.

// Close to the bootstrap implementation:

// Cloudflare Workers throws when credentials are defined

// Coerce booleans to `1` or `0` and dates to milliseconds.

// Coerce regexes to strings and treat strings, primitives and objects,

// Comment

// Compensation for the `Input.inputSizeSmall` style.

// Composite means it takes into account transforms as well as layout.

// Composition Handlers

// Compute height and width of wrapped component before ranking

// Compute the size before applying overflow hidden to avoid any scroll jumps.

// Conditional usage is OK here because the usage of a data router is static

// Consider 0 and undefined as equal

// Consistency between these values is important.

// Construct an `Intl.PluralRules` instance (polyfill).

// Consumer Handlers

// Consumers can get the latest data by using `onDrag`

// Contain can be called between the component being unmounted and its cleanup function being run.

// Context Provider Component

// Continue fetch if currently paused

// Controlled input accepts its current value as a prop.

// Controlling `style.steps` through `style.units` seems to be deprecated:

// Convert `labels` to an array.

// Convert `locales` to an array.

// Convert any CSS <length> or <percentage> value to any another.

// Convert between CSS lengths e.g. em->px or px->rem

// Convert input length to pixels.

// Convert length in pixels to the output unit

// Convert plural to singular.

// Convert the date in system timezone to the same date in UTC+00:00 timezone.

// Convert the input in UCS-2 to an array of Unicode code points.

// Converts `value` to a `Number`.

// Copied from: https://github.com/jonschlinkert/is-plain-object

// Copy axios.prototype to instance

// Copy context to instance

// Core Web Vitals Technology Report.  This way they can configure the `wappalyzer`

// Corresponds to 10 frames at 60 Hz.

// Create Context

// Create a new layer, increase the isolation of the computed values

// Create callback to cancel this fetch

// Create default global light theme

// Create fetch function

// Create range

// Create react-specific types from the agnostic types in @remix-run/router to

// Create the default instance to be exported

// Creating an array from the set _before_ iterating

// Credit https://github.com/twbs/bootstrap/blob/488fd8afc535ca3a6ad4dc581f5e89217b6a36ac/js/src/util/scrollbar.js#L14-L18

// Cross browser auto focusing is pretty broken, so we are doing it ourselves

// Custom components can no longer be wrapped directly in React DnD 2.0

// Custom zones can have any offset / offsetName so we just manually

// Cut out early if the target id has not been set. This should prevent errors

// DATE BASICS

// DCE check should happen before ReactDOM bundle executes so that

// DO NOT scroll if position is fixed

// DOCUMENT_FRAGMENT_NODE can also point on ShadowRoot. In this case .host will point on the next node

// DOM Element detected

// DOM Element detected.

// DSP-6470 we should style like Tag once we have the :has selector

// Date chosen for no real reason, the only important part is the month

// Day of month

// Day of month and week matching:

// Day of the month

// Day of week

// Day of year

// Default CSS values

// Default appearance

// Default to 5 minutes if not cache time is set

// Define the schema

// Delay

// Delay the execution of the ripple effect.

// Deno throws a ReferenceError on `location` access without `--location` flag

// Derive and export the TypeScript type

// Desktop to a lesser extent) that renders both setImmediate and

// Detect IE8's incomplete defineProperty implementation

// Detect buggy property enumeration order in older V8 versions.

// Detect correctness of subclassing with @@species support

// Determine if an Input is adorned on start.

// Determine if field is empty or filled.

// Determine which callbacks to trigger

// DevTools can report bad minification during injection.

// DevTools shouldn't crash React, no matter what.

// Disable link interactions

// Disabled text have even lower visual prominence.

// Disabling visited styles (just using the base colors)

// Do a few final mixes of the hash to ensure the last few

// Do not notify on updates because of changes in the options because

// Do nothing

// Do nothing if already resolved

// Do we need to retry the request?

// Dock to the bottom

// Dock to the left

// Dock to the right

// Dock to the top

// Document Helpers

// Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242

// Don't apply any workarounds if a timeZone is explicitly provided in opts

// Don't bail if we have data router errors so we can render them in the

// Don't block pointer events on the select under the icon.

// Don't block the clear button

// Don't bother if no value provided

// Don't close menu after the user has clicked clear

// Don't do anything when server side rendering

// Don't emit hover in `dragenter` on Firefox due to an edge case.

// Don't enum bug & hidden keys

// Don't need this any more

// Don't need to defensively call `finish()` as `onDrop` from

// Don't need to worry about native drag previews, as they will

// Don't open menu after the user has clicked clear

// Don't proceed if `reference` or `popper` are not valid elements

// Don't publish the source just yet (see why below)

// Don't return `map.set` because it's not chainable in IE 11.

// Don't return `set.add` because it's not chainable in IE 11.

// Don't set `data-testid` unless it's defined, as it's not in the interface.

// Don't show a nice cursor but still prevent default

// Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.

// Don't use [...shadows] until you've verified its transpiled code is not invoking the iterator protocol.

// Dropdown & Clear Icons

// During a drag operation, a draggable can be:

// During testing via some testing libraries `Date`s aren't actually `Date`s.

// E.g. a tooltip's position is on the 'right', it should enter from and exit to the 'left'

// E.g., shift from Red 500 to Red 300 or Red 700.

// E.g.:

// END: Modifications

// END: fast-deep-equal

// END: react-fast-compare

// ES3:

// ESM COMPAT FLAG

// EXPORTS

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@atlaskit/dynamic-table/dist/esm/theme.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/material/DefaultPropsProvider/DefaultPropsProvider.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/material/FilledInput/FilledInput.js + 1 modules

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/material/FormControl/FormControlContext.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/material/FormControl/formControlState.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/material/FormControl/useFormControl.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/material/IconButton/IconButton.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/material/Input/Input.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/material/InputBase/InputBase.js + 3 modules

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/material/InputBase/inputBaseClasses.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/material/InputBase/utils.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/material/InputLabel/inputLabelClasses.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/material/ListItemText/listItemTextClasses.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/material/MenuItem/menuItemClasses.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/material/Paper/Paper.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/material/Popover/Popover.js + 8 modules

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/material/Popover/popoverClasses.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/material/Portal/Portal.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/material/Select/Select.js + 10 modules

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/material/TextField/textFieldClasses.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/material/Typography/Typography.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/material/styles/ThemeProvider.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/material/styles/createMixins.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/material/styles/createTheme.js + 11 modules

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/material/styles/createTransitions.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/material/styles/createTypography.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/material/styles/defaultTheme.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/material/styles/getOverlayAlpha.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/material/styles/identifier.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/material/styles/rootShouldForwardProp.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/material/styles/slotShouldForwardProp.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/material/styles/styled.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/material/styles/useTheme.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/material/utils/capitalize.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/material/utils/createSvgIcon.js + 2 modules

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/material/utils/debounce.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/material/utils/isMuiElement.js + 1 modules

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/material/utils/ownerDocument.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/material/utils/useControlled.js + 1 modules

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/material/utils/useEnhancedEffect.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/material/utils/useEventCallback.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/material/utils/useForkRef.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/material/utils/useId.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/styled-engine/GlobalStyles/GlobalStyles.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/styled-engine/StyledEngineProvider/StyledEngineProvider.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/system/colorManipulator.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/system/esm/breakpoints.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/system/esm/createTheme/createSpacing.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/system/esm/spacing.js + 1 modules

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/system/esm/style.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/system/esm/styleFunctionSx/defaultSxConfig.js + 5 modules

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/system/esm/styleFunctionSx/extendSxProp.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/system/esm/styleFunctionSx/styleFunctionSx.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/system/esm/useTheme.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/system/esm/useThemeProps/useThemeProps.js + 1 modules

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/system/esm/useThemeWithoutDefault.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/utils/esm/ClassNameGenerator/ClassNameGenerator.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/utils/esm/clamp/clamp.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/utils/esm/createChainedFunction/createChainedFunction.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/utils/esm/formatMuiErrorMessage/formatMuiErrorMessage.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/utils/esm/generateUtilityClass/generateUtilityClass.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/utils/esm/generateUtilityClasses/generateUtilityClasses.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/utils/esm/resolveProps/resolveProps.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/utils/esm/setRef/setRef.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/utils/esm/useEventCallback/useEventCallback.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@mui/utils/esm/useTimeout/useTimeout.js + 2 modules

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@react-dnd/invariant/dist/invariant.esm.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/@react-dnd/shallowequal/dist/shallowequal.esm.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/react-dnd/dist/esm/common/DndContext.js + 33 modules

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/react-dnd/dist/esm/common/DragSourceMonitorImpl.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/react-dnd/dist/esm/common/DropTargetMonitorImpl.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/react-dnd/dist/esm/common/SourceConnector.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/react-dnd/dist/esm/common/TargetConnector.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/react-dnd/dist/esm/common/registration.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/react-dnd/dist/esm/utils/js_utils.js

// EXTERNAL MODULE: ../user-cleanup-cloud/node_modules/redux/es/redux.js

// EXTERNAL MODULE: ./node_modules/@atlaskit/icon/dist/esm/constants.js

// EXTERNAL MODULE: ./node_modules/@atlaskit/icon/glyph/arrow-down.js

// EXTERNAL MODULE: ./node_modules/@atlaskit/icon/glyph/check-circle.js

// EXTERNAL MODULE: ./node_modules/@atlaskit/icon/glyph/chevron-right-large.js

// EXTERNAL MODULE: ./node_modules/@atlaskit/icon/glyph/editor/close.js

// EXTERNAL MODULE: ./node_modules/@atlaskit/icon/glyph/editor/done.js

// EXTERNAL MODULE: ./node_modules/@atlaskit/icon/glyph/editor/success.js

// EXTERNAL MODULE: ./node_modules/@atlaskit/icon/glyph/error.js

// EXTERNAL MODULE: ./node_modules/@atlaskit/icon/glyph/info.js

// EXTERNAL MODULE: ./node_modules/@atlaskit/icon/utility/migration/chevron-down.js

// EXTERNAL MODULE: ./node_modules/@atlaskit/icon/utility/migration/chevron-left--chevron-left-large.js

// EXTERNAL MODULE: ./node_modules/@atlaskit/icon/utility/migration/chevron-right--chevron-right-large.js

// EXTERNAL MODULE: ./node_modules/@atlaskit/icon/utility/migration/cross-circle--select-clear.js

// EXTERNAL MODULE: ./node_modules/@atlaskit/platform-feature-flags/dist/esm/index.js + 2 modules

// EXTERNAL MODULE: ./node_modules/@atlaskit/theme/dist/esm/colors.js

// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js

// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js

// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/createClass.js

// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js

// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js

// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js

// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js

// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js

// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js

// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js

// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js + 1 modules

// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/typeof.js

// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js

// EXTERNAL MODULE: ./node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js + 7 modules

// EXTERNAL MODULE: ./node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js

// EXTERNAL MODULE: ./node_modules/@emotion/memoize/dist/emotion-memoize.esm.js

// EXTERNAL MODULE: ./node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js + 2 modules

// EXTERNAL MODULE: ./node_modules/@emotion/react/dist/emotion-react.browser.esm.js

// EXTERNAL MODULE: ./node_modules/@emotion/unitless/dist/unitless.browser.esm.js

// EXTERNAL MODULE: ./node_modules/bind-event-listener/dist/index.js

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.includes.js

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.splice.js

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.bold.js

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.includes.js

// EXTERNAL MODULE: ./node_modules/core-js/modules/web.url-search-params.js

// EXTERNAL MODULE: ./node_modules/prop-types/index.js

// EXTERNAL MODULE: ./node_modules/raf-schd/dist/raf-schd.esm.js

// EXTERNAL MODULE: ./node_modules/react-dom/index.js

// EXTERNAL MODULE: ./node_modules/react-is/index.js

// EXTERNAL MODULE: ./node_modules/react-query/es/core/focusManager.js

// EXTERNAL MODULE: ./node_modules/react-query/es/core/logger.js

// EXTERNAL MODULE: ./node_modules/react-query/es/core/notifyManager.js

// EXTERNAL MODULE: ./node_modules/react-query/es/core/retryer.js

// EXTERNAL MODULE: ./node_modules/react-query/es/core/utils.js

// EXTERNAL MODULE: ./node_modules/react-query/es/index.js

// EXTERNAL MODULE: ./node_modules/react-scrolllock/dist/index.js

// EXTERNAL MODULE: ./node_modules/react-transition-group/esm/Transition.js + 2 modules

// EXTERNAL MODULE: ./node_modules/react-transition-group/esm/TransitionGroupContext.js

// EXTERNAL MODULE: ./node_modules/react/index.js

// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js

// EXTERNAL MODULE: ./node_modules/tiny-invariant/dist/esm/tiny-invariant.js

// EXTERNAL MODULE: ./node_modules/use-memo-one/dist/use-memo-one.esm.js

// EXTERNAL MODULE: ./node_modules/warning/warning.js

// Early exit, nothing changed.

// Edge

// Elements may need animation styles back after initial mount (they could animate out)

// Emotion & styled-components will neglect null

// Emotion attaches all the styles as `__emotion_styles`.

// Emulate the sass function "unit"

// Emulate the sass function "unitless"

// Encode a Location the same way window.location would

// Ensure the pathname has a trailing slash if the original "to" had one

// Ensuring that both `onGenerateDragPreview` and `onDragStart` get the same location.

// Equivalent to push, but avoids a function call.

// Era

// ErrorBoundary/errorElement on this route.  Otherwise let it bubble up to

// Evaluate the `test()` function.

// Even if we were, there is another bug in Internet Explorer 10.

// Event captured by dropdown indicator

// Example usage

// Example: "seconds" -> "second".

// Execute query

// Exit early for strings to avoid a performance hit in some environments.

// Explicitly set the default value to solve a bug on IE11.

// Export a global property onto the window for React Router detection by the

// Export both the schema and the type

// Export types from PopperJS / React Popper

// Expose Axios class to allow class inheritance

// Expose AxiosError class

// Expose Cancel & CancelToken

// Expose all/spread

// Expose isAxiosError

// Expose mergeConfig

// Expression?

// Extended year. This is a single number designating the year of this calendar system.

// External hooks

// FF26- bug: ArrayBuffers are non-extensible, but Object.isExtensible does not report it

// FF44- legacy iterators case

// FIXME: remove in 2025

// FORMAT PRESETS

// FUNCTIONS

// Factory for creating new instances

// Fall back to old icon

// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.

// Fallback for data views, maps, sets, and weak maps in IE 11,

// Fallback to this default id when possible.

// Fallback.

// February depends on leap year

// Fetch

// Fetch first page

// Fetch first page?

// Fetch if there are subscribers

// Fetch metadata using AJS and set it in state

// Fetch previous page?

// Fetch remaining pages

// Field name

// Field value

// Filter out any day of month value that is larger than given month expects

// Filter out the `sx` style function from the previous styled component to prevent unnecessary styles generated by the composite components.

// Final cleanup just in case this modal dialog did not have a wrapping modal transition.

// Finally call hover on all matching targets.

// Finally, add the keys which didn't appear before any key in `next`

// Find a suitable labels type.

// Find the most appropriate step.

// Find the year/month/day positions of the locale formatted invariant date

// Finish the basic string with a delimiter unless it's empty.

// Fire all registered modal dialogs to update their position in the stack.

// Fire the callback

// Firefox 19+

// Firefox can dispatch this event in an infinite loop

// Firefox only cares if it's an image, but WebKit also wants it to be detached.

// Firefox wants us to check `-x` and `-y` variations as well

// Firefox won't drag without setting data

// First trigger the configuration callbacks

// First trigger the mutate callbacks

// First, attempt with faster native method

// Fix IE11 flexbox alignment. To remove at some point.

// Fix IE11 width issue

// Fix Popper.js display issue

// Fix a bug on Chrome where the scroll isn't initially 0.

// Fix a bug with IE11 where the focus/blur events are triggered

// Fix browsers whose `exec` methods don't consistently return `undefined`

// Fix conflict with bootstrap

// Fix conflict with normalize.css and sanitize.css

// Fix for https://github.com/facebook/react/issues/7769

// Fixed positioned elements no longer inherit width from their parent, so we must explicitly set the

// Fixes https://github.com/popperjs/popper-core/issues/1223

// Flatten headers

// Flex-grow set to 0 to prevent this element from filling its parent flexbox container

// Flip the menu, render below

// Flow doesn't support to extend this property, but it's the most

// Focus styles used when :focus-visible isn't supported

// Follow https://material.google.com/motion/duration-easing.html#duration-easing-natural-easing-curves

// Follow this flexbox Guide to better understand the underlying model:

// For "text-selection" drags, the original `target`

// For all locales added

// For any further changes, ensure that the container does not have a

// For compatibility with the old versions of this library.

// For correct alignment with the text.

// For each key of `next`, the list of keys to insert before that key in

// For example, "-0" is supposed to be treated as `-0`.

// For example, it could be set to `5` for minutes to allow only 5-minute increments

// For example, new TimeAgo("en-US") -> "en".

// For high frequency updates (e.g. `resize` and `scroll` events), always

// For historical reasons, "approximate" steps are used by default.

// For historical reasons, the default style is "approximate".

// For instance with the first breakpoint xs: [xs, sm).

// For instance with the first breakpoint xs: [xs, sm[.

// For more details: https://github.com/mui/material-ui/pull/37908

// For non-negative numbers.

// For other targets, ask IE

// For reasons explained above, we are also unable to use `setImmediate`

// For sanity, only collecting this value from when events are first bound.

// For server components `muiName` is avaialble in element.type._payload.value.muiName

// For some reason the animation is broken on Mobile Chrome if the size is even.

// For some units, like "now", there's no defined amount of seconds in them.

// For some weird reason istanbul doesn't see this `throw` covered.

// For syncing color-scheme changes between iframes

// For that scenario we cleanup when the component unmounts.

// For the auto layouting

// For the implementation:

// Force an array if not already something iterable

// Format the amount using `Intl.RelativeTimeFormat`.

// Format the amount.

// Fraction of second

// From React 17, the useEffect cleanup functions are delayed till the commit phase is completed. In other words, the useEffect cleanup functions run asynchronously - for example, if the component is unmounting, the cleanup runs after the screen has been updated.

// From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_tokens

// From https://github.com/KyleAMathews/convert-css-length

// Function instances `.name` property

// Function to fetch application roles

// Function.prototype[@@metadata]

// Generate a rich color object.

// Get Scroll Parent

// Get all the valid discriminator values

// Get all time interval measurement units that're available

// Get available time interval measurement units.

// Get bounding client object

// Get consecutive differences and slopes

// Get degree-1 coefficients

// Get degree-2 and degree-3 coefficients

// Get locale messages for this type of labels.

// Get locale-specific time interval formatting rules

// Get the draggable source

// Get the list of available time interval units.

// Get the offset of the anchoring element

// Get the size of the ripple

// Get the source client offset

// Get the transform origin point on the element itself

// Gets the closest ancestor positioned element. Handles some edge cases,

// Gets the entire size of the scrollable document area, even extending outside

// Gets the maximum area that the element is visible in due to any number of

// Getters

// Give up, the result is false

// Giving disabled styles preference over active by listing them after.

// Guess that the current item starts a range

// HEY YOU! DON'T TOUCH THIS VARIABLE!

// HOOK

// HTTP basic authentication

// Handle <iframe>s

// Handle browser request cancellation (as opposed to a manual cancellation)

// Handle cancellation

// Handle case when range contains 7 instead of 0 and translate this value to 0

// Handle error boundary

// Handle low level network errors

// Handle progress if needed

// Handle result property usage tracking

// Handle suspense

// Handle the basic code points.

// Handle the change in value here

// Handle the error as needed

// Handle the last few bytes of the input array

// Handle timeout

// Handle when localStorage has changed

// Hardcode this color for visual refresh as there is no token color yet

// Hash URL should always have a leading / just like window.location.pathname

// Haven't found value

// Helper for a popular repeating case of the spec:

// Helper function which calculates how many options are in total in all groups.

// Helper function which identifies if options are grouped.

// Hide the clear indicator on Edge (Windows only)

// Hijack the default focus behavior.

// Hour

// Hour [0-11]

// Hour [0-23]

// Hour [1-12]

// Hour [1-24]

// Hour is specified

// Hours and minutes with `:` delimiter

// Hours and minutes without `:` delimiter

// Hours and optional minutes

// Hours, minutes and optional seconds with `:` delimiter

// Hours, minutes and optional seconds without `:` delimiter

// However, `flush` does not make any arrangements to be called again if an

// However, if we ever elect to use timers in Safari, the prevalent work-around

// However, note that even this simple case requires nuances to operate in a

// However, since this timer gets frequently dropped in Firefox

// However, they do not work reliably in Internet Explorer or Safari.

// I cannot seem to get the types right here.

// I really want to avoid writing a BCP 47 parser

// I'm just going to ignore that

// IE 11 has no ShadowRoot

// IE doesn't support MIME types in setData

// IE requires this to fire dragover events

// IE11

// IE11, Edge (prior to using Bink?) use 'Esc'

// IE8 returns string on undefined

// IE8- don't enum bug keys

// IE9- / Bun 0.3.0- setTimeout / setInterval / setImmediate additional parameters fix

// INFO

// ISO and SQL parsing

// ISO day of week

// ISO duration parsing

// ISO time parsing

// ISO week of year

// ISO week-numbering year

// Ideally we would adjust `isFocusVisible(event)` to look at `relatedTarget` for blur events.

// Idempotent

// If "past" is same as "future" then they're stored as "other".

// If <html> has a CSS width greater than the viewport, then this will be

// If `Intl.DateTimeFormat` is supported,

// If `minTime` isn't defined or deduceable for this step, then stop.

// If `value` or `defaultValue` props are not empty then announce them

// If a draggable element is removed during a drag and the user drops:

// If a pathname is explicitly provided in `to`, it should be relative to the

// If a task schedules additional tasks recursively, the task queue can grow

// If a task throws an exception, `flush` ensures that its state will remain

// If an anchor element wasn't provided, just use the parent body element of this Popover

// If being cleared from keyboard, don't change behaviour

// If both the element and the spinner are off screen - quit

// If by this time no drag source reacted, tell browser not to drag.

// If child drag source refuses drag but parent agrees,

// If constructor does not have an Object-specific method

// If fetchFirst is provided, fetch that log first

// If has modified constructor

// If has modified prototype

// If input's width is shrunk and it's not visible, don't sync height.

// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).

// If it's different, we're in a hole time. The offset has changed, but the we don't adjust the time

// If it's the last step then return it.

// If key is a pseudo class or a pseudo element, then value should be an object.

// If neither are provided let the Modal take care of choosing the container

// If no step is applicable the return nothing.

// If no step matches, then output an empty string.

// If no steps fit the conditions then return nothing.

// If not, change the ts by the difference in the offset

// If only a specific set of available time measurement units can be used

// If ordinal numbers depend on context, for example,

// If our path is non-empty and contains anything beyond an initial slash,

// If passed a ReactElement, clone it and attach this function as a ref.

// If short days, only return first three characters. Else return whole thing

// If so, offset didn't change and we're done

// If styles are defined as a CSSObject[], recursively call on each element until we reach CSSObject

// If that gives us the local time we want, we're done

// If that was the last modal in a container, clean up the container.

// If the "dragstart" event is cancelled, then a drag won't start

// If the 'initial-input-focus' action has been set already

// If the URL hasn't changed, a regular <a> will do a replace instead of

// If the `minTime` threshold for moving from previous step

// If the `to` has a trailing slash, look at that exact spot.  Otherwise,

// If the anchorEl prop is provided, use its parent body element as the container

// If the container prop is provided, use that

// If the exception is because `state` can't be serialized, let that throw

// If the granularity for this step is too high,

// If the key is deleted, value will be null then reset color scheme to the default one.

// If the log exists, update it

// If the modal we are adding is already in the DOM.

// If the target changes position as the result of `dragenter`, Firefox

// If the theme prop is a function, assume the function

// If the transport layer does not support cancellation

// If the type is array, than we need to add placeholders in the template for the overrides, variants and the sx styles.

// If the user is hover the honey pot, we remove it

// If there is no container element, we should exit early, because that

// If there is not `dataTransfer`, we can assume something is wrong and not

// If there was an active tooltip; we tell it to remove itself at once!

// If there's only "other" then it's being collapsed.

// If this function returns a value, then the `.format()` call will return that value.

// If this is a root navigation, then we navigate to the raw basename

// If this is the last range, include the last active user block

// If this step has a `unit` defined

// If this was a render error, we put it in a RouteError context inside

// If two routes are siblings, we should try to match the earlier sibling

// If we are over the honey pot, we need to get the element

// If we call `asap` within tasks scheduled by `asap`, the queue will

// If we don't see a visibility change within 100ms, it's probably a

// If we have data errors, trim matches to the highest error boundary

// If we receive this event then we know that a drag operation has finished

// If we were not showing yet anyway; finish straight away

// If we're in a partial hydration mode, detect if we need to render down to

// If we're not changing locations, preserve the location but still surface

// If we're operating within a basename, prepend it to the pathname prior

// If you are going to have child components that require analytics use withAnalytics

// If you click the breadcrumb back to the list view:

// If you want to use random values please consider the Birthday Problem: https://en.wikipedia.org/wiki/Birthday_problem

// Ignore events from children of `Chip`.

// Ignore everything but left clicks

// Ignore everything but left-click

// Ignore non-elements. This allows people to more easily inline

// Ignore non-index properties.

// Ignore steps having not-supported time units in `formatAs`.

// Ignore the scrollbar width

// Ignoring events from the container ref

// Ignoring this warning will mean the analytics context of child components will not

// Import necessary libraries

// Important!

// Importing `PluralRule` polyfill from a separate package

// Improve type search style.

// In IE11 it is possible for document.activeElement to be null resulting

// In a web browser, exceptions are not fatal. However, to avoid

// In case the modal wasn't in the DOM yet.

// In development mode we want to capture any feature flag checks that happen using the default resolver and log this result when the resolver is replaced.

// In firefox, the position of the "dragend" event can

// In some cases the user may want to override this behavior, e.g.

// In such cases, `getTimeToNextUpdateForUnit()` returns `undefined`,

// In testing environments, the `width` and `height` properties are empty

// In the context of a TransitionGroup all enters are really appears

// In the next major version, there'll be no default for `steps`.

// In theory there could be aribitrary day periods. We're gonna assume there are exactly two

// In this case, getSlotProps is responsible for calling the external event handlers.

// Include callbacks in batch renders

// Incoming pathnames are generally encoded from either window.location

// Increase `delta` enough to advance the decoder's <n,i> state to <m,0>, but guard against overflow.

// Increase a second in case in the first iteration the currentDate was not

// Increase the specificity to override TableCell.

// Index should only be null when we initialize. If not, it's because the

// Initial children should all be entering, dependent on appear

// Initialize the coordinates using the client offset

// Initialize the full coordinates

// Initialize the hash

// Initialize the state.

// Inject component definitions.

// Inline parsing functions

// Inlined / shortened version of `kindOf` from https://github.com/jonschlinkert/kind-of

// Inlined version of the `symbol-observable` polyfill

// Inputs and textareas should be selectable

// Inspired by https://github.com/focus-trap/tabbable

// Inspired by https://github.com/garycourt/murmurhash-js

// Inspired by https://github.com/material-components/material-components-ios/blob/bca36107405594d5b7b16265a5b0ed698f85a5ee/components/Elevation/src/UIColor%2BMaterialElevation.m#L61

// Instead, we can look if the active element was restored on the BODY element.

// Instead, we periodically shift 1024 tasks off the queue.

// Instead, we'll do this:

// Intentionally use deprecated listener methods to support iOS & old browsers

// Intepret empty string as omitting an optional segment

// Internal implementation with accept optional param for RouterProvider usage

// Internal version with hookName-aware debugging

// Internet Explorer 10 is the only browser that has setImmediate but does

// Interpolate

// Intl.DateFormat expects locales in the format of 'la-CO' however it is

// Intl.DateTimeFormat("en-US", { month: 'long'}).format(new Date(2000, 3, 1))

// Invalid dates are coerced to `NaN`.

// Invalid range, return value

// Invert the entrance and exit directions.

// Is a vertical scrollbar displayed?

// Is input expression predefined?

// It allows developers to easily override MUI styles with other styling solutions, like CSS modules.

// It also neatly avoids a situation where render() returns null

// It can only be differentiated between "past" and "future".

// It can't be configured as it's used statically for propTypes.

// It doesn't "change" steps at zero point

// It is necessary only for Safari. It allows to render focus styles.

// It is not sufficient to assign `setImmediate` to `requestFlush` because

// It is replaced with the proper version at build time via a babel plugin in

// It should to be noted that this function isn't equivalent to `text-transform: capitalize`.

// It's a Transition like component

// It's a high surrogate, and there is a next character.

// It's an unmatched surrogate; only append this code unit, in case the

// It's corresponding to the left with LTR.

// It's most likely on issue on userland.

// It's not a shorthand notation.

// Iterate over array values

// Iterate over object keys

// Its name will be periodically randomized to break any code that depends on

// J, F, ..., D

// JS DOW is in range of 0-6 (SUN-SAT) but we also support 7 in the expression

// JSON[@@toStringTag] property

// Jan, Feb, ..., Dec

// January, February, ..., December

// Jumped into a not existent date due to a DST transition

// Just let it drag. It's a native type (URL or text) and will be picked up in

// Just smashing the existing onClick for good measure

// Keep 7 significant numbers.

// Keep in mind that @media is inclusive by the CSS specification.

// Keep previous data if needed

// Keep previous query key if the user does not supply one

// Keep the root "" segment so the pathname starts at /

// Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.

// Keyboard accessibility for non interactive elements

// Legacy `process.binding('util')` for Node.js < 10.

// Legacy way was passing `now` in `style`.

// Let componentDidMount fire to initialize the collected state

// Let integer be ? ToInteger(index).

// Let the browser set it

// Let's ignore that piece of logic if users are already overriding the width

// Lifecycle

// Listen for ready state to emulate onloadend

// Listen to all scroll events, and filter them out inside of 'onScroll'

// Listen to online

// Listen to visibillitychange and focus

// Listening in the capture phase to increase resilience

// Load Date class extensions

// Local day of week

// Local week of year

// Local week-numbering year

// Log error

// Long

// Looks like `custom` function is deprecated and will be removed

// Looks like a Safari bug: dataTransfer.types is null, but there was no draggable.

// Looks like this could be `opacity: 0`, but worried that _might_

// Looks like this one won't be used in the next major version.

// Looks like this one's deprecated.

// Lose focus when becoming disabled (standard button behaviour)

// Low surrogate.

// MEDIUM CALLBACKS

// MISC

// MS Edge converts symbol values to JSON as {}

// MUI X - DataGrid needs this token.

// Main encoding loop:

// Make sequence linear

// Make sure results are optimistically set in fetching state before subscribing or updating options

// Make sure we reference the latest query as the current one might have been removed

// Make the flex item shrink with Firefox

// Manually shift all values starting at the index back to the

// Many host objects are `Object` objects that can coerce to strings

// Mapping data.count to numberOfSeats

// Mapping data.count to remainingSeats

// Mapping data.count to userCount

// Match hour

// Match minute

// Match month

// Match second

// Material Design layouts are visually balanced. Most measurements align to an 8dp grid, which aligns both spacing and the overall layout.

// Math is off by 1 when dayOfWeek isn't divisible by 7

// Math[@@toStringTag] property

// Maximum possible z-index

// Measure height of a textarea with a single row

// Media queries should not contain nested media queries

// Memoize placeholder data

// Memoize select result

// Menu Component

// Merge Utility

// MessageChannel useless for the purposes of ASAP.

// Methods

// Microsoft

// Milliseconds timestamp

// Mimicks `Intl.RelativeTimeFormat.format()`.

// Minute

// Misc.

// Misc. Instance Properties

// Missing `disableRestoreFocus` which is fine.

// Mix 4 bytes at a time into the hash

// Mobile Device Detector

// Mobile Safari ignores { overflow: hidden } declaration on the body,

// Mobile Safari ignores { overflow: hidden } declaration on the body.

// Mocked nodes in testing environments may not be instances of Node. By

// Modal dialogs can appear on top of iframe elements that are on another domain.

// Modals don't open on the server so this won't conflict with concurrent requests.

// Modifiers have the ability to reset the current update cycle. The

// Modifies styleObj in place. Be careful.

// Monitor is allowed to monitor events if:

// Month

// Most of the logic is implemented in `SelectInput`.

// Motions will always appear if not inside a exiting persistence component.

// Mouse Handlers

// Move to the next element.

// Mozilla

// Multiple actions are dispatched here, which is why this doesn't return an action

// Must use `global` or `self` instead of `window` to work in both frames and web

// MutationObservers, so we don't need to fall back in that case.

// Mute warnings for calls to useNavigate in SSR environments

// NAMESPACE OBJECT: ../user-cleanup-cloud/node_modules/axios/lib/platform/common/utils.js

// NAMESPACE OBJECT: ../user-cleanup-cloud/node_modules/react-dnd-html5-backend/dist/esm/NativeTypes.js

// NB: These two levels are not covered at all by the existing @atlaskit/css-reset

// NB: This can be resolved if this component, composes base SVG / and/or skeleton

// NB: mutates parameters

// NO OP

// NOTE: Modal dialogs that don't have a wrapping modal transition component won't flow through here!

// NOTE: if Decorated is a Function Component, decoratedRef will not be populated unless it's a refforwarding component.

// NUMBERS AND STRINGS

// Name the function so it is clearer in the documentation

// Nashorn bug:

// Native select can't be selected either.

// Need to come after the element adapter

// Needed to position overlay

// Needing to add !important to overcome specificity issue caused by deprecated AtlaskitThemeProvider

// Never forget.

// No need for a media query for the first size.

// No need for validFocusTarget check. The user does that by attaching it to

// No need to display any value if the field is empty.

// No selection object found

// Node.js 0.10 has enumerable non-index properties on buffers.

// Node.js 0.8-

// Node.js 0.9+ & IE10+ has setImmediate, otherwise:

// Non `Object` object instances with different constructors are not equal.

// Non-standard browser env (web workers, react-native) lack needed support.

// Normalized Scroll Top

// Normalized scrollTo & scrollTop

// Normalizes `.format()` `time` argument.

// Not all browsers support upload events

// Not all elements in IE11 have a focus method.

// Not all fixed-offset zones like Etc/+4:30 are present in tzdata so

// Not exposing "text/plain" if it contains the android fallback text

// Not handling `value === 0` as `localeData.now.current` here

// Not using '&:disabled' because :disabled is not a valid state for all element types

// Note: Using "mousedown" rather than "pointerdown" due to a Safari bug.

// Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js

// Note: When cancelling, or dropping on no drop targets, a "dragleave" event

// Note: `pointerdown` fires on all browsers / platforms before "dragstart"

// Note: could not use "pointercancel" as it is not

// Note: intentionally not recollecting `getData()` or `getDropEffect()`

// Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets

// Note: not checking if event was cancelled (`event.defaultPrevented`) as

// Note: not checking types for `elementAdapterNativeDataKey` as we expect to see that

// Note: only HTMLElements can have the "draggable" attribute

// Note: this new 'context'

// Notify cache callback

// Notify on fail

// Number('+0x1') should be NaN, old V8 fix

// Numerical value (Nth day of week with current locale or weekStartsOn)

// Numerical value (same as in `e`)

// OBJECTS AND ARRAYS

// OUTPUT

// Objects enter the screen at full velocity from off-screen and

// Objects leave the screen at full velocity. They do not decelerate when off-screen.

// Offsets are the actual position the popper needs to have to be

// Offsets can be applied only to the popper element

// Old call signature before `react-transition-group` implemented `nodeRef`

// Older browsers don't support a `document` as the root and will throw an

// On each update cycle, the `modifiersData` property for each modifier

// On initial mount if elements aren't set to animate on appear, we return early and callback

// On the server Emotion doesn't use React.forwardRef for creating components, so the created

// On visiting object, check for its dependencies and visit them recursively

// Once IE11 support is dropped the focus() call can be unconditional.

// Once a flush has been requested, no further calls to `requestFlush` are

// Once removing the level prop this assertion can be removed since size will be a required prop.

// Once we have started a managed drag operation it is important that we see / own all drag events

// Only IE requires us to explicitly say

// Only a single usage left, remove it

// Only call onHideHandler if we have called onShowHandler

// Only convert the first 3 values to int (i.e. not alpha)

// Only data routers handle errors/fallbacks

// Only multiselects support value focusing

// Only notify if something has changed

// Only proceed if we have not handled it already.

// Only special HTML elements have these default behaviors.

// Only starting if pressing down inside a draggable element

// Only the head of the element is visible

// Only the tail of the element is visible

// Only updating consumers if the hierarchy has changed in some way

// Only wrap in an error boundary within data router usages when we have an

// Optimistically set result in fetching state if needed

// Optimistically update state if needed

// Optimistically update to the new value

// Optimize for cases where `from` and `to` units are accidentally the same.

// Optional path segments are denoted by a trailing `?`

// Optionally log the error

// Orders the modifiers based on their dependencies and `phase`

// Ordinal number

// Otherwise look for errors from our data router state

// Otherwise make sure the next top modal is visible to a screen reader.

// Otherwise the relative date/time is formatted as usual.

// Otherwise, it doesn't really make sense to rank non-siblings by index,

// Our UTC time is just a guess because our offset is just a guess

// Our types know better, but runtime JS may not!

// Output day, month and year.

// Output month and day.

// PARSING

// Padded numerical value

// Padding

// Parser path:

// Passing the language is required in order to

// Passive Event Detector

// Patching the `event` object

// Patching the `event` object as it is shared with all event listeners

// Perform in the willUpdate

// Perform your action here

// Perhaps this feature will be removed because there seem to be no use cases

// Persist the current range and start a new one with current item

// PhantomJS / old WebKit fails here:

// PhantomJS / old WebKit has a broken implementations

// PhantomJS 2 has enumerable non-index properties on typed arrays.

// Placeholder function

// Popper 1 is broken in this case and never had a bug report so let's assume

// Ported from Compass

// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86

// Preact support, target is read only property on a native event.

// Prefer 0-6 range when serializing day of week field

// Prepare the response

// Prepare the ripple effect.

// Preserve trailing slashes on basename, so we can let the user control

// Prevent default "drop and blow away the whole document" action.

// Prevent iOS text selection on long-tap.

// Prevent infinite loop.

// Prevent leaking memory for long chains of recursive calls to `asap`.

// Prevent padding issue with fullWidth.

// Prevent retrying failed query if the error boundary has not been reset yet

// Prevent scroll of the page

// Prevent update loops when using the `size` middleware.

// Prevents scroll issue, waiting for Popper.js to add this style once initiated.

// Previous values for `data` and `dropEffect` will be borrowed

// Previously they may have been able to pass in undefined without things blowing up.

// Private methods for creating parts of the theme

// Promise.resolve without an argument throws an error in LG WebOS 2

// Provide a fake value as Chrome might not let you access it for security reasons.

// Provide aliases for supported request methods

// Pseudos should not contain nested pseudos, or media queries

// Push nulls to the end

// Putting all children in the center

// Q1, Q2, Q3, Q4

// Quantify `value`.

// Quarter

// RFC 2822/5322

// RFC2822-like format without the required timezone offset (used in tests)

// Re-encode pathnames that were decoded inside matchRoutes

// Re-initialising an I18n Collator on every sort is performance intensive, thus constructed outside

// React component using the query

// React might return focus after update

// React v16.11 and below

// React v16.12 and above

// React wouldn't have time to trigger a re-render so `focusVisible` would be stale.

// Real errors are hidden from us by the browser

// Rearrange xs and ys so that xs is sorted

// Recalculate the amount of seconds passed based on granularity

// Receiving a mouse event in the middle of a dragging operation

// Recursively compare arrays (susceptible to call stack limits).

// Recursively compare objects (susceptible to call stack limits).

// Recursively merge objects and arrays (susceptible to call stack limits).

// Recursively populate clone (susceptible to call stack limits).

// Redefine target to allow name and value to be read.

// Reds

// Reduce the iteration if the default slot props is empty

// Reduce the iteration if the slot props is empty

// Ref: https://github.com/emotion-js/emotion/blob/16d971d0da229596d6bcc39d282ba9753c9ee7cf/packages/styled/src/base.js#L186

// Refetch every 1 second

// Refetch pages

// Refs

// Remove Content-Type if data is undefined

// Remove IE11 arrow

// Remove `button` border

// Remove `button` padding

// Remove all properties with a value of 0 from an object

// Remove animation props not meant for HTML elements

// Remove comments and folding whitespace and replace multiple-spaces with a single space

// Remove default focus styles for mouse interactions if :focus-visible is supported

// Remove from the content flow

// Remove ourselves from the modal stack register!

// Remove query after fetching if cache time is 0

// Remove surrounding spaces

// Remove the last range and block because we just show the remaining users in the last range

// Remove the margin in Safari

// Remove the padding in Firefox

// Remove the padding when type=search.

// Remove the title ahead of time.

// Remove those targetIds that don't match the targetType.  This

// Removes the alpha (sets it to 1), and lightens or darkens the theme color.

// Render the absolute href server- and client-side

// Rendered into <a href> for relative URLs

// Renderers

// Reorder rows in table based on sorting cell value

// Replace '*' and '?'

// Replace aliases

// Replace two single quote characters with one single quote character

// Represent delta as a generalized variable-length integer.

// Required for select\text-field height consistency

// Reset

// Reset 23pxthe native input line-height

// Reset Firefox invalid required input style

// Reset default value

// Reset fieldset default style.

// Reset for Safari

// Reset iOS opacity

// Reset on touch devices, it doesn't add specificity

// Resets for multiple select with chips

// Resize menu on `defaultOpen` automatic toggle.

// Resolve fields

// Response determines if label is presented above field or as placeholder.

// Rethrow might be better if it's not the expected error but do we really

// Retrieve the current state of cleanup logs

// Return current promise if we are already fetching

// Return the amount of minutes by dividing the amount

// Return the array of pathnames for the current route matches - used to

// Return undefined (instead of 0) in these cases, where fraction is not set

// Returns 1 for 1 BC (which is year 0 in JavaScript)

// Returns `23.5 * 60 * 60` when `round` is "round",

// Returns custom built string while focusing each group option. This string is used for screen reader announcement.

// Returns the composite rect of an element relative to its offsetParent.

// Returns the layout rect of an element relative to its offsetParent. Layout

// Round the number of days to the nearest integer

// Round the offsets to the nearest suitable subpixel based on the DPR.

// Routes without a path shouldn't ever match by themselves unless they are

// Routing is relative to the current pathname if explicitly requested.

// SSR Fix (https://github.com/react-dnd/react-dnd/pull/813

// START: Modifications:

// START: fast-deep-equal

// START: fast-deep-equal es6/index.js 3.1.3

// START: react-fast-compare

// SVG

// SVG-related properties

// Sadly we cannot schedule inspecting changes resulting from this event

// Safari (WebKit) adds a -webkit-text-fill-color style to disabled inputs

// Safari 12 bug

// Safari 6 and 6.1 for desktop, iPad, and iPhone are the only browsers that

// Safari 6.0 has a problem where timers will get lost while the user is

// Safari 6.0.5 (at least) intermittently fails to create message ports on a

// Safari 8 has buggy iterators w/o `next`

// Safari 8.1 makes `arguments.callee` enumerable in strict mode.

// Safari 9 has enumerable `arguments.length` in strict mode.

// Safari 9 makes `arguments.length` enumerable in strict mode.

// Safari not publish a "pointerdown" on the interaction after a drag

// Same logic as useAutocomplete.js

// Scalar value

// Scroll Helpers

// Scroll Into View

// Scroll focusedOption into view if menuIsOpen is set on mount (e.g. defaultMenuIsOpen)

// Search for the interval x is in, returning the corresponding y if x is one of the original xs

// Second

// Secondary text.

// Seconds timestamp

// Seconds, minutes or hours are shown for shorter intervals,

// See an issue about UTC functions: https://github.com/date-fns/date-fns/issues/376

// See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.

// See https://bugzilla.mozilla.org/show_bug.cgi?id=878297

// See https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Positioning/Understanding_z_index/The_stacking_context

// See https://github.com/mui/material-ui/issues/31766

// See:

// See: https://github.com/facebook/react/pull/26395

// Select option if option is not disabled

// Send the request

// Set @@toStringTag to native iterators

// Set `localeMatcher` option.

// Set `locale`.

// Set `numeric` option.

// Set `style` option.

// Set cache time to 1 if the option has been set to 0

// Set config.allowAbsoluteUrls

// Set config.method

// Set data and mark it as cached

// Set focusedOption if menuIsOpen is set on init (e.g. defaultMenuIsOpen)

// Set the baseFontSize for your project. Defaults to 16px (also the browser default).

// Set the request timeout in MS

// Set to fetching state if not already in it

// Setting a background color explicitly to avoid any inherited styles.

// Setting initial drop effect for the drag

// Setup Axios instance for API calls

// ShadowRoot detected

// ShadowRoot detected.

// Short

// Short circuit here since if this happens on first render the navigate

// Shouldn't skip holes

// Show and hide the placeholder logic

// Show placeholder data if needed

// Show user-specified drop effect.

// Side effects

// Silent the error for custom palettes.

// Silently cancel current fetch if the user wants to cancel refetches

// Simplified polyfill for IE11 support

// Since "narrow" labels are always present, "short" element

// Since `output` is a clone of `target` and we have narrowed `target` in this block we can cast to the same type.

// Since the input field is behind the label in the HTML tree,

// Skip "seconds".

// Skip index properties.

// Smaller components, such as icons, can align to a 4dp grid.

// Snapshot the previous value

// So if we see any of these we need to clear the post drag fix.

// So the animation always start from the start.

// So we exclude all falsy values, except 0, which is valid.

// So we need to figure out if a drag operation has finished by looking at other events

// So we need to get the latest entry from the registry in order

// So we see the popover when it's empty.

// So we take precedent over the style of a native <a /> element.

// So, call transformStyles on the value

// So, convert `0` to `-0` if `future: true` option wasn't passed.

// So, it's more practical to bypass runtime `make-plural` pluralization rules compilation

// Some elements, like <button> on Chrome have default font that doesn't inherit, reset this.

// Some people have requested the ability to use native

// Some short days are longer than 3 characters but are unique if the first

// Some tests use this to pass in onClick and other stuff within the `head`

// Some versions of I.E. have different rules for clearTimeout vs setTimeout

// Something has gone wrong with our drag event

// Sort in ascending order

// Sort the fetched data based on tableSortKey and tableSortOrder

// Sorted ASC by size. That's important.

// Space between popper and reference

// Special case for "yesterday"/"today"/"tomorrow".

// Specific "now" message form extended locale data (if present).

// Specifically not if we're in a web worker, or react-native.

// Split fields

// Stand-alone local day of week

// Stand-alone month

// Stand-alone quarter

// Standard

// Standard browser envs support document.cookie

// Standard check: if going to `null` we are leaving the `window`

// Standard: the `event.target` should be the closest `Text` node.

// Start a new range

// Start loop

// Starting DST

// Step into the shadow DOM of the parent of a slotted node.

// Stickiness is based on parent relationships, so if the parent relationship has change

// Stop if the fetch is already resolved

// Stop the event from bubbling up to the `Chip`

// Stop the query from being garbage collected

// Store drag source node so we can check whether

// Store state in case the current fetch needs to be reverted

// Store the reference and popper rects to be read by modifiers

// String elements can't form a range

// String(user.isLicensedGroupMember ?? "").toLowerCase().includes((filters.isLicensedGroupMember ?? "").toLowerCase()) &&

// Strip out disabled modifiers

// Strip the protocol/origin/basename for same-origin absolute URLs

// Structurally share data between prev and new data if needed

// Structuring things this way so that if Safari fixes their bug

// Style Sheets

// Styles applied to the root element if `disablePointerEvents={true}`.

// Styles applied to the root element if `position="end"`.

// Styles applied to the root element if `position="start"`.

// Styles applied to the root element if `variant="filled"`.

// Support anchored sticky behavior.

// Support html overflow-y: auto for scroll stability between pages

// Supports determination of isControlled().

// Supports legacy "tiny" and "mini-time" label styles.

// Swallow the event, in case someone is listening for the escape key on the body.

// Sync update – it will always be executed, even if not necessary. This

// T

// TODO

// TODO Delete this comment after verifying spacing token -> previous value `'50%'`

// TODO https://product-fabric.atlassian.net/browse/DSP-10507 revisit and remove the scale of 14/24

// TODO revisit after we migrate to react 18. https://product-fabric.atlassian.net/browse/DSP-13139

// TODO v5 deprecate, v6 remove for sx

// TODO v5 remove `classes.input`

// TODO v5 remove `selectIcon`

// TODO v6: Remove PopperComponent, PopperProps, TransitionComponent and TransitionProps.

// TODO v6: Remove handling of 'inherit' variant from the theme as it is already handled in Material UI's Typography component. Also, remember to remove the associated types.

// TODO v6: remove `Root` in the next major release

// TODO v6: remove `lowercaseFirstLetter()` in the next major release

// TODO v6: remove the second argument.

// TODO v6: remove, see https://github.com/mui/material-ui/pull/38123

// TODO: Add correct colors for different recommendation types

// TODO: Can this as be avoided?

// TODO: ES2018 increased the maximum number of fraction digits to 100, need to improve the implementation

// TODO: Internal Option Type here

// TODO: Remove String()

// TODO: Remove `rest` props and use only what is explicitly in the API.

// TODO: Remove from `core-js@4`

// TODO: Remove this function in v6.

// TODO: Remove this module from `core-js@4` since it's replaced to module below

// TODO: Remove this module from `core-js@4` since it's split to modules listed below

// TODO: This could be cleaned up.  push/replace should probably just take

// TODO: Use tokens and reorganize to alphasemantic ordering (DSP-11769 DSP-11770)

// TODO: add assert here?

// TODO: check again if React releases their internal changes to focus event handling (https://github.com/facebook/react/pull/19186).

// TODO: fix Page popovertext

// TODO: ideally not recalculating this object each time

// TODO: if we ever make a react-native version of this,

// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`

// TODO: remove fallback for next major

// TODO: remove from `core-js@4`

// TODO: remove this export once ClassNameGenerator is stable

// TODO: v7 remove iteration and use `resolveStyleArg(styleOverrides[slot])` directly

// TODO: wire options into createSourceConnector

// TRANSFORM

// TS can't understand it though so we make it stop complaining here

// TS doesn't seem to like that one event can need `nativeSetDragImage`

// TYPES

// Take a list of functions and return a function that applies the list of

// Takes a background color and returns the text color that maximizes the contrast.

// Technically `dataTransfer` can be `null` according to the types

// Technically size can be undefined here due to how the types work.

// Tell MUI what's the font-size on the html element.

// Tell the tooltip to keep showing

// Test for A's keys different from B.

// Test if weekStartsOn is between 0 and 6 _and_ is not NaN

// Test if weekStartsOn is between 1 and 7 _and_ is not NaN

// Test whether the zone matches the offset for this ts

// Text colors: text.primary, text.secondary

// Thanks to IE8 for its funny defineProperty

// That is why fixed-offset TZ is set to that unless it is:

// That way is deprecated.

// The "dragend" event will not fire on the source draggable if it has been

// The "parent" is the one inside of `resultCaptureOrdered`

// The 'proper' month is stored in a DateObj but Date expects month index

// The Theme Consumer takes a function as its child - this function takes tokens, and the

// The `Select` component is a simple API wrapper to expose something better to play with.

// The `Text` node that is the `target` is the `Text` node

// The `event` object is shared with all event listeners for the event

// The autoFocus of React might trigger the event before the componentDidMount.

// The background color of a disabled action.

// The background colors used to style the surfaces.

// The blur won't fire when the disabled state is set on a focused input.

// The breakpoint **start** at this value.

// The browsers will use the image intrinsic size under different conditions.

// The color of a disabled action.

// The color of a selected action.

// The color of an active action like an icon button.

// The color of an hovered action.

// The color used to divide different elements.

// The colors used to indicate the successful completion of an action that user triggered.

// The colors used to present information to the user that is neutral and not necessarily important.

// The colors used to represent interface elements that the user should be made aware of.

// The colors used to represent potentially dangerous actions or important messages.

// The colors used to represent primary interface elements for a user.

// The colors used to represent secondary interface elements for a user.

// The colors used to style the action elements.

// The colors used to style the text.

// The current range can't be continued

// The custom event handlers shouldn't be spread on the root element

// The default font size of the Material Specification.

// The default palettes (primary, secondary, error, info, success, and warning) errors are handled by the above `createTheme(...)`.

// The dependency array remains the same

// The different signatures imply different meaning for their arguments that can't be expressed structurally.

// The disableEnforceFocus is set and the focus is outside of the focus trap (and sentinel nodes)

// The drag preview may either be attached via ref or connect function

// The drop target may either be attached via ref or connect function

// The element takes all viewport, nor its head nor tail are visible

// The element was already mounted.

// The error should throw only for the root theme creation because user is not allowed to use a custom node `vars`.

// The first character represents the weekday

// The first step's `minTime` is `0` by default.

// The flush function processes all tasks that have been scheduled with

// The focus is already inside

// The forbidden HTML tags are the ones from ARIA specification that

// The full text being dragged can be looked up from the `dataTransfer`.

// The grey colors.

// The handler doesn't take event.defaultPrevented into account:

// The height of the outer content

// The legacy utilities from @mui/styles

// The main difference between `y` and `u` localizers are B.C. years:

// The message channel technique was discovered by Malte Ubl and was the

// The modal might be closed before it had the chance to be mounted in the DOM.

// The most I've seen is 3

// The most important text.

// The mouseover event will trigger for every nested element in the tooltip.

// The native select doesn't respond to enter on macOS, but it's recommended by

// The new way is passing `now` option to `.format()`.

// The palette mode, can be light or dark.

// The position of the next task to execute in the task queue. This is

// The request errored out and we didn't get a response, this will be

// The return type of `BoxComponent` does not match the return type of `forwardRef` in React 18

// The rightmost point in the dataset should give an exact result

// The sharp curve is used by objects that may return to the screen at any time.

// The simpler case - getSlotProps is not defined, so no internal event handlers are defined,

// The spec behaviour is that when a drag is cancelled, or when dropping on no drop targets,

// The specification allows units to be in plural form.

// The specification allows value to be a non-number.

// The step changes to the next step

// The timeout is sometimes triggered 1 ms before the stale time expiration.

// The touch interaction occurs too quickly.

// The use of `Object#toString` avoids issues with the `typeof` operator

// The useFlexGap={false} implement relies on each child to give up control of the margin.

// The user did not start a drag

// The user might have explicitly specified hour12 or hourCycle

// The value could be a number, the DOM will stringify it anyway.

// The value is most likely not a valid HTML attribute.

// The whatwg spec defines how the browser should behave but does not explicitly mention any events:

// Then the cache listeners

// Then trigger the listeners

// Then, if this is an optional value, add all child versions without

// Theoretically, we should have (8+5)*2/0.75 = 34px

// There is a Chrome bug where drag and drop in an element on top of a cross domain

// There is no point in displaying an empty tooltip.

// There might be multiple expressions and not all of them will contain

// There seems to be no such locale in CLDR

// There will be no further drag operation events (eg no "dragend" event)

// Therefore, the label should be updated at zero-point too.

// Therefore, threat "now" as a special case.

// These are a little braindead. EDT *should* tell us that we're in, say, America/New_York

// These are just empty functions that throws when invoked

// These are strings and won't change

// These event listeners are bound _forever_ and _never_ removed

// They are going to lose state here, but there is no real

// They're not really 'magic', they just happen to work well.

// Things to note:

// This "dragend" listener will not fire if there was a successful drop

// This *must* be constructed this way because this is being consumed by

// This RegExp catches symbols escaped by quotes, and also

// This RegExp consists of three parts separated by `|`:

// This action has a similiar effect to ActionTypes.INIT.

// This allows double parentheses to be rendered correctly

// This allows seamless integration with the most popular form libraries.

// This allows us to remove `undefined` from the return value

// This behaviour matches native EventTargets where an event listener

// This can happen when the query is hydrated or created with setQueryData.

// This date was chosen to clearly show date and time formats (day > 12)

// This doesn't work in IE11 due to https://github.com/facebook/react/issues/3751

// This ensures that when UTC functions will be implemented, locales will be compatible with them.

// This error is thrown as a convenience, so you can more easily

// This feature is currently not used anywhere and is here

// This file is a singleton for managing tooltips

// This file isn't big — it's about 5 kilobytes in size (minified).

// This fix is currently behind a feature flag to reduce risk further.

// This function is memoized in the context

// This gives the effect the tooltip is appearing from the target

// This gives us a mechanism to recover from the error when the location changes.

// This helps us achieve a neat API where user doesn't even know that refs

// This is a special case when double-update could be skipped.

// This is because evaluating feature flags when the resolver/FF client is loaded asynchronously could cause unexpected issues.

// This is different to `relative-time-format`'s behavior

// This is for `asap.js` only.

// This is how the event count works:

// This is in the render method instead of useEffect so that

// This is needed because the drag preview needs to be drawn or else it fires an 'mousemove' event

// This is non-exhaustive but covers the most common CSS properties that

// This is not an intelligent algorithm,

// This is only done if running in a standard browser environment.

// This is probably a native item type we don't understand.

// This is problematic. Different calendars are going to define eras totally differently. What I need is the minimum set of dates

// This is so that monitors added during the current event will not be called.

// This is the most basic placement, and will be adjusted by

// This is the most common easing curve.

// This is the reason such behavior is strictly opt-in.

// This is to prevent things like the 'closest edge' changing when

// This is to remove className from safeHtmlAttributes

// This is useful to prevent an error thrown in a task from stalling the event

// This locale data is stored in a global variable

// This may look unwieldy but means we skip applying styles / cloning if no className is applicable

// This meant that we never saw the "drop" event.

// This might involve updating the data in your table or making a request to an API

// This modifier takes the styles prepared by the `computeStyles` modifier

// This prevents the case where a super old "pointermove" could be used

// This scope occurs on the server

// This should never happen.

// This shouldn't be necessary, but there are weird race conditions with

// This step is effective starting from 10.5 months.

// This step is effective starting from 2.5 minutes.

// This step is effective starting from 20.5 hours.

// This step is effective starting from 22.5 minutes.

// This step is effective starting from 3.5 weeks.

// This step is effective starting from 42.5 minutes.

// This step is effective starting from 5.5 days.

// This step returns the amount of seconds

// This useEffect is purely for managing the aria attribute when using the

// This will allow adding custom styled fn (for example for custom sx style function)

// This will cover both props for invalid state while giving priority to isInvalid. When cleaning up validationState, we can just keep the inner condition.

// This will include the latest 'input' values

// This will insert the new element after the previous element.

// Three options here:

// Throw first error

// Timers are implemented universally.

// Timezone (GMT)

// Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)

// Timezone (ISO-8601. If offset is 0, output is always `'Z'`)

// Timezone (specific non-location)

// To avoid wrapping this component in AnalyticsContext we manually

// To be removed with platform-component-visual-refresh (BLU-2992)

// To detect a tab/window switch, we look for a blur event followed

// To ensure persistent data, use `${name}#persistent`

// To make the animation happen,  we have to separate each rendering and avoid being processed as batched.

// To mitigate this issue we always add 1 ms to the timeout.

// To remove in v6

// To request a high priority event, we induce a mutation observer by toggling

// To support composition of theme.

// Tools including enzyme rely on components having a display name

// Touch Capability Detector

// Touch Handlers

// Touch Helpers

// Touche devices

// Track how deep we got in our render pass to emulate SSR componentDidCatch

// Track the deepest fallback up until the first route without data

// Tracking this to prevent changing state on an unmounted component

// Transform request data

// Transform response data

// Transition is active if we're going to or coming from the indicated

// Transparently support React.Fragment and its children.

// Trigger behavior hook

// Truncate at 3 digits

// Try to fetch the data

// Try to return ES6 compatible iterator

// Try to use displayName of wrapped component

// Tu

// Tue

// Tuesday

// Turn pointer events off when disabled - this makes it so hover etc don't work.

// Twitter-style relative date/time formatting.

// Two digit year

// Two elements do not form a range so split them into 2 single elements

// TypeScript can't have components as objects but they exist in the form of `memo` or `Suspense`

// Types

// UNUSED EXPORTS: ButtonBaseRoot

// UNUSED EXPORTS: ENTERED, ENTERING, EXITED, EXITING, UNMOUNTED

// UNUSED EXPORTS: Hydrate, QueryErrorResetBoundary, useHydrate, useInfiniteQuery, useIsFetching, useIsMutating, useQueries, useQueryClient, useQueryErrorResetBoundary

// UNUSED EXPORTS: default, getStyleFromPropValue, marginKeys, paddingKeys

// UNUSED EXPORTS: overridesResolver

// UTC-8 or Etc/UTC-8 are not part of tzdata, only Etc/GMT+8 and the like.

// UTILS

// Unfortunately there appears to be a bug in Internet Explorer 10 Mobile (and

// Unhandled rejections tracking support, NodeJS Promise without it fails @@species test

// Unitless following https://meyerweb.com/eric/thoughts/2006/02/08/unitless-line-heights/

// Units in the supported calendars, sorted by bigness

// Unless its actually the last range available

// Unlikely that this particular drag is a text selection drag

// Unsupported

// Unused data is cached for 15 minutes

// Update /system/styled/#api in case if this changes

// Update config if passed, otherwise the config from the last execution is used

// Update refetch interval if needed

// Update result

// Update result to make sure we did not miss any query updates

// Update stale interval if needed

// Update state so the next render will show the fallback UI.

// Update the cache with the new state

// Updating the input so we can get the best possible

// Use ".second.current" as "now" message.

// Use `Intl.NumberFormat` for formatting numbers (when available).

// Use `internal/copy-constructor-properties` helper in `core-js@4`

// Use `util.types` for Node.js 10+.

// Use computed style, here to get the real padding to add our scrollbar width.

// Use custom drag image if user specifies it.

// Use default value

// Use global "process" variable and process.env['FLAG_NAME'] syntax, so it can be replaced by webpack DefinePlugin

// Use non-null assertion because we just checked that the cache `has` it

// Use onloadend if available

// Use prev data if an isDataEqual function is defined and returns `true`

// Use side effect over immutability for better performance.

// Use the basic neutral background so it is slightly separate from the

// Use the clientRect sizes if it's not been transformed.

// Use the default theme if there are no customisations.

// Use the fastest means possible to execute a task in its own turn, with

// Use the incrementing value for client-side rendering only.

// Use the options from the first observer with a query function if no function is found.

// Use the previously extracted year/month/day positions to extract each

// Use the provided closeModal function if available, otherwise use the default one

// Use the same logic as

// Used by Box

// Used by Inline and Stack

// Used by `getContrastText()` to maximize the contrast between

// Used by the functions below to shift a color's luminance by approximately

// Used for overwriting ariaLiveMessages builtin onFocus method.

// Used to filter out mouse emulated events on mobile.

// User did not start a drag.

// User is starting another interaction

// Using 20 as it is far bigger than the most observed (3)

// Using 2020 'cos Safari has a faulty implementation when we use the year 2000

// Using Node instead of HTMLElement since container may be a ShadowRoot

// Using `capture` so less likely to be impacted by other code stopping events

// Using a hash computation over an array iteration could be faster, but with only 28 items,

// Using bubble ordering. Same ordering as `event.getPath()`

// Using lastState here because motion is not picking up the latest value

// Using prevent default as a signal that parent tooltips

// Usually we want to publish it in the next tick so that browser

// Utility icons don't have 'spacing' as a type, but in case it's provided, we default to 'none'

// V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables

// V8 ~ Android 4.3-

// V8 ~ Chrome 36-

// V8 ~ Chrome 45- bug

// V8 ~ Chromium 42- fails only with 5+ elements

// Valid time units.

// Valid values for the `numeric` option.

// Validate range

// Validate response using Zod

// Validate timespan

// Validation example

// Values from https://github.com/material-components/material-components-web/blob/be8747f94574669cb5e7add1a7c54fa41a89cec7/packages/mdc-elevation/_variables.scss

// Variable

// Verify that the code above has been dead code eliminated (DCE'd).

// Viewport-relative position of popper

// Viewport-relative position of reference element

// Visibility needed to hide the extra text area on iPads

// WARNING: This hook will only function correctly for leaf node components - as in

// WSH

// Wait for containerRef callback to cause a re-render

// Want to make sure the honey pot is top of everything else.

// Warn if no `minTime` was defined or could be deduced.

// We _could_ add an `isAndroid()` check, but it's probably safest

// We access the stack index ref instead of state because this closure will always only

// We add a fragment to ensure we don't break people upgrading.

// We are adding the honey pot `onDragStart` so we don't

// We are capturing the final `input` for the

// We are closing the modal dialog using a wrapping modal transition component.

// We are done if the query does not need to be retried

// We are giving each `args` a new reference so that you

// We are giving preference to the element adapter.

// We are opening the modal dialog.

// We are replicating that behaviour in `cancel` if there are any active drop targets to

// We are using the mouseover event instead of the mouseenter event to fix a hide/show issue.

// We can do this by looking at other events

// We can remove it whenever the bug is fixed.

// We can skip rerendering when the tooltip is already open.

// We can write to ref's `current` property, but Typescript does not like it.

// We can't detect it synchronously, so just check versions

// We can't rely on NODE_ENV === 'test' if its value is already configured by the consumer to some other value, so better to use JEST_WORKER_ID

// We can't use @@species feature detection in V8 since it causes

// We can't use it server-side.

// We can't use this feature detection in V8 since it causes

// We cannot drop on a drop target that is no longer mounted

// We cannot drop on a drop target that is no longer sticky

// We cannot drop on a drop target that no longer allows being dropped on

// We convert children to an array using this helper method as it will add keys to children that do not

// We could change our mind on this behaviour in the future

// We could then simplify how common styles are dealt with simply by encapsulating them

// We disable the focus ring for mouse, touch and keyboard users.

// We dispatch a timeout with a specified delay of 0 for engines that

// We do this so that `previous` is`[]` in `onDragStart` (which is logical)

// We don't bother cleaning up these event listeners (for now)

// We don't expect any of the above to throw, but better to be safe.

// We don't need to include them in the merged props because of this.

// We don't support changing that prop on an open FocusTrap

// We don't want to display the ripple for touch scroll events.

// We don't want to expose our private elementAdapter key / value

// We don't want to wait for the next render commit.

// We dynamically set this so we either clean up on the next effect - or on unmount.

// We express the difference with variable names.

// We fall back to timers in workers in most engines, and in foreground

// We found another item that matches the current range

// We found the first route that's not ready to render (waiting on

// We got one adoption bug pop up where some code was stopping (`event.stopPropagation()`)

// We have now dealt with all the special cases, so,

// We have to keep the single quote and then remove it because

// We have to make a tradeoff with this delay value.

// We ignore any boolean children to make our code a little more simple later on,

// We ignore this for onFinishMotion as consumers could potentially inline the function

// We might render an empty child.

// We need Promise#{ catch, finally } in the pure version for preventing prototype pollution

// We need to account for this eventuality.

// We need to book keep the focused state manually.

// We need to centralize the zIndex definitions as they work

// We need to check that the monitor is still registered before calling it

// We need to check whether the old drop target can still be dropped on

// We need to compute the pathnameBase here using the raw splat value

// We need to ignore the next contain as

// We need to iterate through the children and find the Input in order

// We need to regularly calculate the drop targets in order to allow:

// We need to reset the margin to avoid double spacing.

// We need to stop publishing events during a drag to this monitor!

// We need to wait before we start listening for mousemove events.

// We only handle the first word.

// We override this and make the inner container turn it off instead.

// We queue errors to ensure they are thrown in right order (FIFO).

// We render a select. We can ignore the type provided by the `Input`.

// We should apply the transition because it's indicated as active going

// We should be able to get rid of this once react 18.3 is released

// We should patch it for newly added well-known symbols. If it's not required, this module just will not be injected

// We should still report in case we break this code.

// We still want to show ripple effect.

// We use a position absolute over a flexbox in order to forward the pointer events

// We use a timer in order to only show the ripples for touch "click" like events.

// We use our own heuristic for those browsers.

// We use string interpolation here instead of .toString() just

// We use the tabindex attribute to signal the available options.

// We want this element to absorb pointer events,

// We want to leave trailing slash behavior in the user's control, so if they

// We want to make it easier for consumers so we go down this path unfortunately.

// We would risk displaying two tooltips at the same time (native + this one).

// We'll have to wait for @3x to see if this is entirely correct

// Welcome to debugging history!

// When a store is created, an "INIT" action is dispatched so that every

// When a user passes in a `locationArg`, the associated routes need to

// When a user supplies  a ref to focus we enable this hook

// When debugging, it is helpful to

// When debugging, set backgroundColor to something like "red".

// When dragging from outside of the browser,

// When dropping something native, we need to extract the latest

// When interacting quickly, the text can end up selected.

// When matching to the end, ignore trailing slashes

// When mutate is called:

// When no options are passed, use the hook directly

// When passed a node, call the hook straight away.

// When the language doesn't support `now` unit,

// When using a custom drag layer, the only way to prevent

// When v7_relativeSplatPath is enabled, use the full pathname for the leaf

// When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally

// When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally

// When we get into an error state, the user will likely click "back" to the

// Where possible: https://cldr.unicode.org/translation/date-time/date-time-symbols

// Whether to use backwards directionality when searching

// Whether we're in an error state or not, we update the location in state

// Whichever timer succeeds will cancel both timers and

// Will be handled in keyUp, otherwise some browsers

// Win specificity over the input base

// With Edge, Safari and Firefox, no focus related events are fired when the focused area stops being a focused area.

// With one exception: request that using file: protocol, most browsers

// With relative="route" (the default), each leading .. segment means

// With unmountOnExit or mountOnEnter, the enter animation should happen at the transition between `exited` and `entering`.

// Won't return `timeToNextUpdate` here

// Work around @2x coordinate discrepancies in browsers

// Work around Safari 8 positioning bug

// Workaround for a rendering bug with spanned columns in Chrome 62.0.

// Workaround for https://github.com/facebook/react/issues/7769

// Workaround for https://github.com/facebook/react/issues/9023

// Works with __proto__ only. Old v8 can't work with null proto objects.

// Would love a way to avoid disabling this rule, but we need

// Wrap `fetch` and `Request` for correct work with polyfilled `URLSearchParams`

// Year

// You can access the component's props and state here

// ZodObject<

// Zooming can change the DPR, but it seems to report a value that will

// [0, 30] / [0, 15, 30, 45]

// [1,2,3] => {xs: true, sm: true, md: true}

// \

// \0 \t \n \r \s whitespace token

// \0 }

// \t \n \r \s

// ] ) " '

// ^(? + rx + ) is needed, in combination with some str slicing, to

// `""` can be an explicitly set value.

// `%ArrayIteratorPrototype%.next` method

// `%IteratorPrototype%[@@iterator]()` method

// `%StringIteratorPrototype%.next` method

// `.items` from the "drop" event as it is now accessible

// `.offsetParent` reports `null` for fixed elements, while absolute elements

// `0` threshold always passes.

// `2` may be desired in some cases – research later

// `;

// `=== 0` matches both `0` and `-0`.

// `Array.from` method

// `Array.from` method implementation

// `Array.isArray` method

// `Array.prototype.concat` method

// `Array.prototype.entries` method

// `Array.prototype.every` method

// `Array.prototype.filterReject` method

// `Array.prototype.filter` method

// `Array.prototype.findIndex` method

// `Array.prototype.find` method

// `Array.prototype.flatMap` method

// `Array.prototype.forEach` method

// `Array.prototype.forEach` method implementation

// `Array.prototype.includes` method

// `Array.prototype.indexOf` method

// `Array.prototype.join` method

// `Array.prototype.keys` method

// `Array.prototype.map` method

// `Array.prototype.push` method

// `Array.prototype.reduceRight` method

// `Array.prototype.reduce` method

// `Array.prototype.reverse` method

// `Array.prototype.slice` method

// `Array.prototype.some` method

// `Array.prototype.sort` method

// `Array.prototype.splice` method

// `Array.prototype.values` method

// `Array.prototype[@@iterator]` method

// `ArraySpeciesCreate` abstract operation

// `Assert: IsCallable(argument) is true`

// `Assert: IsConstructor(argument) is true`

// `Assert: Type(argument) is Object`

// `CreateArrayIterator` internal method

// `CreateHTML` abstract operation

// `CreateIterResultObject` abstract operation

// `Date.prototype.toISOString` method

// `Date.prototype.toISOString` method implementation

// `Date.prototype.toJSON` method

// `Date.prototype.toString` method

// `Date.prototype[@@toPrimitive](hint)` method implementation

// `Date.prototype[@@toPrimitive]` method

// `Function#toString` throws on some built-it function in some legacy engines

// `Function.prototype.bind` method

// `Function.prototype.bind` method implementation

// `GetMethod` abstract operation

// `HasOwnProperty` abstract operation

// `Intl.NumberFormat.formatToParts()` is not present, for example,

// `Intl.PluralRules` instance creation is (hypothetically) assumed

// `Intl.RelativeTimeFormat` and `Intl.PluralRules`

// `Intl.RelativeTimeFormat` doesn't operate in "now" units.

// `Intl.RelativeTimeFormat` instance creation is (hypothetically) assumed

// `IsArray` abstract operation

// `IsCallable` abstract operation

// `IsConstructor` abstract operation

// `IsRegExp` abstract operation

// `JSON.stringify` method

// `LengthOfArrayLike` abstract operation

// `Map.prototype.get(key)` method

// `Map.prototype.set(key, value)` method

// `Map` constructor

// `Math.trunc` method

// `NewPromiseCapability` abstract operation

// `Number.isNaN` method

// `Number.parseFloat` method

// `Number.parseInt` method

// `Number.prototype.toFixed` method

// `Object.assign` method

// `Object.create` method

// `Object.defineProperties` method

// `Object.defineProperty` method

// `Object.entries` method

// `Object.freeze` method

// `Object.getOwnPropertyDescriptor` method

// `Object.getOwnPropertyDescriptors` method

// `Object.getOwnPropertyNames` method

// `Object.getOwnPropertySymbols` method

// `Object.getPrototypeOf` method

// `Object.isExtensible` method

// `Object.keys(slots)` can't be wider than `T` because we infer `T` from `slots`.

// `Object.keys` method

// `Object.prototype.propertyIsEnumerable` method implementation

// `Object.prototype.toString` method

// `Object.prototype.toString` method implementation

// `Object.setPrototypeOf` method

// `Object.values` method

// `OrdinaryToPrimitive` abstract operation

// `Promise.all` method

// `Promise.prototype.catch` method

// `Promise.prototype.then` method

// `Promise.race` method

// `Promise.reject` method

// `Promise.resolve` method

// `RegExp.prototype.exec` method

// `RegExp.prototype.flags` getter implementation

// `RegExp.prototype.toString` method

// `RequireObjectCoercible` abstract operation

// `Set.prototype.add(value)` method

// `SpeciesConstructor` abstract operation

// `String.prototype.at` method

// `String.prototype.bold` method

// `String.prototype.codePointAt` method

// `String.prototype.includes` method

// `String.prototype.padEnd` method

// `String.prototype.padStart` method

// `String.prototype.repeat` method implementation

// `String.prototype.startsWith` method

// `String.prototype.trim` method

// `String.prototype.{ trimLeft, trimStart }` methods

// `String.prototype.{ trimRight, trimEnd }` methods

// `String.prototype[@@iterator]` method

// `Symbol.asyncDispose` well-known symbol

// `Symbol.asyncIterator` well-known symbol

// `Symbol.dispose` well-known symbol

// `Symbol.for` method

// `Symbol.hasInstance` well-known symbol

// `Symbol.isConcatSpreadable` well-known symbol

// `Symbol.isRegisteredSymbol` method

// `Symbol.isRegistered` method

// `Symbol.isWellKnownSymbol` method

// `Symbol.isWellKnown` method

// `Symbol.iterator` well-known symbol

// `Symbol.keyFor` method

// `Symbol.matchAll` well-known symbol

// `Symbol.match` well-known symbol

// `Symbol.matcher` well-known symbol

// `Symbol.metadataKey` well-known symbol

// `Symbol.metadata` well-known symbol

// `Symbol.observable` well-known symbol

// `Symbol.patternMatch` well-known symbol

// `Symbol.prototype.description` getter

// `Symbol.prototype[@@toPrimitive]` method

// `Symbol.prototype[@@toStringTag]` property

// `Symbol.replace` well-known symbol

// `Symbol.search` well-known symbol

// `Symbol.species` well-known symbol

// `Symbol.split` well-known symbol

// `Symbol.toPrimitive` well-known symbol

// `Symbol.toStringTag` well-known symbol

// `Symbol.unscopables` well-known symbol

// `Symbol` constructor

// `ToIntegerOrInfinity` abstract operation

// `ToLength` abstract operation

// `ToObject` abstract operation

// `ToPrimitive` abstract operation

// `ToPropertyKey` abstract operation

// `URL.canParse` method

// `URL.createObjectURL` method

// `URL.prototype.hash` accessors pair

// `URL.prototype.host` accessors pair

// `URL.prototype.hostname` accessors pair

// `URL.prototype.href` accessors pair

// `URL.prototype.origin` getter

// `URL.prototype.password` accessors pair

// `URL.prototype.pathname` accessors pair

// `URL.prototype.port` accessors pair

// `URL.prototype.protocol` accessors pair

// `URL.prototype.searchParams` getter

// `URL.prototype.search` accessors pair

// `URL.prototype.toJSON` method

// `URL.prototype.toString` method

// `URL.prototype.username` accessors pair

// `URL.revokeObjectURL` method

// `URLSearchParams.prototype.append` method

// `URLSearchParams.prototype.delete` method

// `URLSearchParams.prototype.entries` method

// `URLSearchParams.prototype.forEach` method

// `URLSearchParams.prototype.getAll` method

// `URLSearchParams.prototype.get` method

// `URLSearchParams.prototype.has` method

// `URLSearchParams.prototype.keys` method

// `URLSearchParams.prototype.set` method

// `URLSearchParams.prototype.size` getter

// `URLSearchParams.prototype.sort` method

// `URLSearchParams.prototype.toString` method

// `URLSearchParams.prototype.values` method

// `URLSearchParams.prototype[@@iterator]` method

// `URLSearchParams` constructor

// `URL` constructor

// `["one", "", "three"]` corresponds to omitting `:two` from `/one/:two?/three` -> `/one/three`

// ```

// ```json

// `approximateTime` style is deprecated.

// `approximate` style is deprecated.

// `call`, just like a function.

// `custom` property is deprecated.

// `custom` – A function of `{ elapsed, time, date, now, locale }`.

// `defaultOpen` and `openState` are ignored to avoid unnecessary callbacks.

// `dragover` fires on all elements that are being dragged over

// `factor` is a legacy property.

// `flavour` property is deprecated: it has been renamed to `labels`.

// `generateCssVars` is the closest identifier for checking that the `options` is a result of `extendTheme` with CSS variables so that user can create new theme for nested ThemeProvider.

// `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances

// `gradation` property is deprecated: it has been renamed to `steps`.

// `granularity` — (advanced) Time interval value "granularity".

// `initial`

// `isCollapsed` is "true" if there is currently no selected text

// `isOpenControlled` is ignored because the component should never switch between controlled and uncontrolled modes.

// `make-plural.min.js` is about 6 kilobytes (https://unpkg.com/make-plural/).

// `maxTouchPoints` works on IE10/11 and Surface

// `now - timestamp === minTime`

// `now.json` isn't present for all locales, so it could be substituted with

// `now` unit is handled separately and is shipped in its own `now.json` file.

// `ontouchstart` check works on most browsers

// `parseFloat` method

// `parseInt` method

// `process.on("uncaughtException")` or by a domain.

// `rawAsap` unless and until one of those tasks throws an exception.

// `react-select` and we don't control what it wants.

// `requestFlush` is implemented using a strategy based on data collected from

// `requestFlush` requests that the high priority event queue be flushed as

// `setImmediate` must be called *by name* and therefore must be wrapped in a

// `setTimeout` does not call the passed callback if the delay is less than

// `sr-Cyrl-BA` -> `sr-Cyrl` -> `sr`.

// `steps[step].format(value, locale)` instead.

// `test()` function is deprecated.

// `thisNumberValue` abstract operation

// `threshold_for_now` should be the same as `threshold` on minutes.

// `threshold` should be the same as `threshold_for_now` on seconds.

// `to` values that do not provide a pathname. `to` can simply be a search or

// `undefined` case is a Chromium 117 bug

// `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',

// `units` property is deprecated.

// `webpack` dev server bug on IE global methods - use bind(fn, global)

// `{ Map, Set }.prototype.clear()` methods

// `{ Map, Set }.prototype.delete(key)` methods

// `{ Map, Set }.prototype.forEach(callbackfn, thisArg = undefined)` methods

// `{ Map, Set }.prototype.{ keys, values, entries, @@iterator }()` methods

// `{ Map, Set }.prototype[@@species]` accessors

// `{ Map, Set}.prototype.has(key)` methods

// a "dragleave" event is fired on the active drop target before a "dragend" event.

// a 'pointerdown' should happen before 'dragstart', but just being super safe

// a `drag` event, but does for every other type of drag event

// a `onGenerateDragPreview` does _not_ add another entry for `previous`

// a different month

// a given HydrateFallback while we load the rest of the hydration data

// a lengthy operation so the instances are cached and reused.

// a part of `ArraySpeciesCreate` abstract operation

// a push, so do the same here unless the replace prop is explicitly set

// a string of all valid unicode whitespaces

// a task throws an exception.

// a) if the string has no -u extensions, just leave it alone

// aborting a wait to hide

// aborting hide animation

// absolutely positioned element rendered above the viewport (only below).

// according to date-fns's spec.

// according to the spec. So if we get a "pointermove" it means that

// account for possible declaration `width: 100%;` on body

// account for touch devices

// active element is "inside" working area

// adapted from moment.js: https://github.com/moment/moment/blob/000ac1800e620f770f4eb31b5ae908f6167b0ab2/src/lib/units/week-calendar-utils.js

// adapter queues it's `onDragStart` frame.

// add "__proto__" for Object.getPrototypeOf polyfill

// add a flag to not completely full polyfills

// add a key to Array.prototype[@@unscopables]

// add all tabbables inside and within shadow DOMs in DOM order

// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative

// add if node is tabbable itself

// add issues from dirty option

// add missing metadata

// add to index

// added for consistency with the `background.default` token

// adjust scroll if the window has been resized since the lock was engaged

// against events being stopped.

// alias for CanceledError for backward compatibility

// aliased for consumers

// align-content

// align-items

// align-self

// alignItems: 'flex-start',

// all "drop" events in the bubble phase on the `document.body`.

// all drag operations so that we can know if a drag operation

// all external drag operations, even if there are no drop targets

// all object keys, includes non-enumerable and symbols

// all other properties should be traversed as usual

// all use the same **instance** of context, regardless

// allow defer is no other trap is awaiting restore

// allows focus to reach elements outside the modal if they contain the data-atlas-extension attribute

// allows for nested Transitions

// allows to pass a callback function to allow elements be ignored by focus lock

// already published an update to this drop target

// already waiting to hide

// also except WebOS Webkit https://github.com/zloirock/core-js/issues/898

// alternatively, it could specify `format()`.

// amendments. These decisions, particularly to marginalize MessageChannel and

// an active text selection.

// an alias (using an arrow function was what caused 2651).

// an alias to avoid ESLint no-prototype-builtins detection

// an ancestor ErrorBoundary/errorElement

// an edge case with no tabbable elements

// an event 20 times per second until it succeeds.

// an indicated transition apply.  I.e., on the list view you have:

// and `24 * 60 * 60` when `round` is "floor".

// and also filter out any falsies (empty strings, nulls, and undefined).

// and also for all possible `value`s, then those rules are

// and applies them to the HTMLElements such as popper and arrow

// and continue looking up the DOM tree

// and height. In this case, though, returning null from render()

// and hitting left arrow to move the cursor in a text input etc.

// and just include the already compiled pluarlization rules for all locales in the library code.

// and later used when calling `.format(time)`.

// and longer intervals are formatted using full date format.

// and material-components-web https://github.com/material-components/material-components-web/blob/ac46b8863c4dab9fc22c4c662dc6bd1b65dd652f/packages/mdc-theme/_functions.scss#L54

// and not just that we're in -240 *right now*. But since I don't think these are used that often

// and potentially another one is about to start.

// and reobserving one frame later

// and the components are attached to dnd-core

// and the next step's `minTime` could be used to calculate the update interval:

// and then is dragging something back into the window

// and there will be very few iterations of this generally

// and this helps avoid not seeing events when folks stop

// and we could have a special build just for that

// and we're not properly parsing this, so just strip out the

// and when it should just concatenate the outer and inner selectors

// and you can only have one source map per style tag

// animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)

// any new errors that may come through. We retain the existing error, we do

// any other slot specified

// anymore

// anything leftover becomes the decimal for the last unit

// anything we haven't boiled down yet should get boiled to this unit

// anyway.

// appearance, user-select, transform, hyphens, text-size-adjust

// application, that will have no effect--the error page continues to display.

// apply the lock styles and padding if this is the first scroll lock

// apply the offset and substitute the zone as needed.

// applying the latest drop effect to the event

// approximately 7 in web workers in Firefox 8 through 18, and sometimes not

// are being used under the hood.

// are present, and so on.

// are running

// aren't  *),  the command will be run when either field matches the cur-

// argumentsList[@@iterator] is %ArrayProto_values%

// aria-hidden because the dom element doesn't exist either

// arrow is optional + virtual elements

// as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring

// as soon as `now - timestamp` becomes

// as soon as a modal is adding its modalRef is undefined. it can't set

// as the layered menu requires it for dimension calculation

// as this workaround is only for Safari

// as we will have already removed the event listener

// assign component variables

// assume we have the higher-order units

// at their appropriate level and/or having a singular approach to css variables in the package

// at this point we have a new drop target that is being entered into

// attach black & white channels to common node

// attach the stylesheet and inject styles on [un]mount

// attaches attribute to <html> because the css variables are attached to :root (html)

// attribute back into the tooltipTriggerProps and make it required

// avoid "ResizeObserver loop completed with undelivered notifications" error

// avoid immediate cleanup using setTimeout when component unmount

// avoid memory leak

// await utils.userCleanup.getWhitelistGroupsConfig.ensureData();

// b) if it does, use Intl to resolve everything

// back into ASAP proper.

// background, background-image

// background, box-shadow

// background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)

// backtrack cursor by 1

// bail early if no element is available to attach to

// bail early if no element is available to detach from

// bail early if required elements aren't present

// based on https://github.com/WICG/focus-visible/blob/v4.1.5/src/focus-visible.js

// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js

// basename which allows the basename to have full control over the presence

// be a bit different to the last "dragover" event.

// be able to correctly classify the `value` as a number.

// be removed.

// be wrapped in a new `LocationContext.Provider` in order for `useLocation`

// because `custom()` seems deprecated.

// because it wouldn't make sense: "now" is a moment,

// because the number of milliseconds in a week is not constant

// because this calculation ignores time zones

// because this module is primarily intended for the browser and node

// because we don't have any way to figure out what they are

// because we have tabIndex = -1 when disabled,

// because we're using hour12 and https://bugs.chromium.org/p/chromium/issues/detail?id=1025564&can=2&q=%2224%3A00%22%20datetimeformat

// before our listeners in the adapters `mount` function

// begin flushing on the next task the task throws an error.

// beginning of the queue.

// behavior by simply putting routes with identical paths in the order they

// being applied _not_ due to stickiness

// being super clear these should only run once

// between creating the observer and subscribing to it.

// between events.

// bind medium

// bind methods to global for calling from export context

// binding in the capture phase so these listeners are called

// body: JSON.stringify(attr),

// borders

// both want to look for a / at index 6 to match URL `/users/matt`

// bottom limit

// boundary.  Use the pre-matched (or shimmed) matches

// broad spectrum of browsers.

// browser support for lookahead/behind is low and causes breaking

// browsers currently implement this as a property, but spec says it should be a getter function

// browsers give this different errors name and messages:

// browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339

// but "short" labels have the " ago" part, so "narrow" seem

// but ToNumber should return NaN if a string contains unavailable symbols

// but at this point we know we will only get explicitly set

// but doesn't do any validation, makes a bunch of assumptions about what units

// but it does change the wording when switching

// but it feels a better when it bleeds a bit on the left, so 32px.

// but it is based on a constant that will never change at runtime

// but it will do for this library's case.

// but it's also required in react native and similar environments sometimes

// but their correct versions are not interesting for us

// but this is much easier and the native packages

// by dividing the amount of seconds by `1`.

// by handling the zone options

// by temporarily unobserving the textarea element while manipulating the height

// bytes are well-incorporated.

// c) if Intl fails, try again without the -u

// cached from whatever global is present so that test runners that stub it

// calculate our new record

// call `rawAsap.requestFlush` if an exception is thrown.

// call something on iterator step with safe closing on error

// calling preventDefault in keyUp on a <button> will not dispatch a click event if Space is pressed

// can be children of body and can't have aria-hidden attribute.

// can create multiple monitors with the same `args`.

// can reliably accommodate that request. This will usually be snapped

// can shift during the drag thanks to Firefox

// can throw

// can't set metadata to uncaught frozen object

// cancel drag operation if we cannot drag

// cancel mouse events when disabled

// cancel scroll

// cancelling a "dragenter" accepts the drag operation (not prevent it)

// cannot add another event listener during an active event to the same

// cannot get keys using array notation with DOMRect

// case we should log a warning as it will result in bugs.

// cases:

// cause the element to be ignored on some platforms.

// cf. https://www.w3.org/TR/html-aria/#docconformance

// chance to get in first on the `document`.

// change existing entry

// charcode for b

// charcode for l

// cheap lodash replacements

// check for shadow-dom contained elements

// check for visited object

// check on default Array iterator

// check that a method works with the correct list

// check that this isn't another touchstart due to multitouch

// check the existence of a method, lowercase

// check whether what remains is a style property

// checking against potential state variable does not suffice if we focus and blur synchronously.

// checks if the start is equal to or before the end

// child sections interspersed where deeper optional segments are higher than

// chrome/safari: "RangeError", "Maximum call stack size exceeded"

// class name could be used further down

// cleanly divide the values into the appropriate subpixels.

// cleanup return focus on trap deactivation

// clear the hash so this node won't be recognizable as rehydratable by other <Global/>s

// clicking a checkbox to check it, hitting a button to submit a form,

// clipping (or hiding) overflowing elements with a position different from

// clipping parents

// clone really means "create another instance just like this one, but with these changes"

// clone really means, "make a new object with these modifications". all "setters" really use this

// close the menu if the user taps outside

// closest to orange[800] that pass 3:1.

// closure.

// coarse-grain check for optional params

// colon

// color-adjust

// comes in and the user recovers from the error.

// comma

// common for locale to be provided in the format of 'la_CO', where 'la' is

// component stays as a function. This condition makes sure that we do not interpolate functions

// compute base for responsive values; e.g.,

// compute the actual time

// conditionals in their route config.

// configure ourselves to deal with gregorian dates or week stuff

// consider others as "visible"

// consistent and will resume where it left off when called again.

// consistent with how we look up what is under the users

// console.log("UCC-73", "deleteMutation.mutate", watchAllFields.cleanupRule.id);

// console.log("UCC-73", "onSubmit", data);

// console.log("cleanupLogs sorted[0] log", sorted[0]);

// console.log("cleanupLogs updated", cleanupLogs);

// console.log("data", data);

// console.log("dataFilteredForExisting", dataFilteredForExisting[0].affectedUsersV2 );

// console.log("event.target.type, value", event.target.type, event.target.checked, event.target.value);

// console.log("latestCleanupLog?.affectedUsersV2", latestCleanupLog?.affectedUsersV2);

// console.log("latestCleanupLog?.maximumNumberOfUsers", latestCleanupLog?.maximumNumberOfUsers);

// console.log("matchingCleanupResult, runId", matchingCleanupResult, runId);

// console.log("prefetchAllLogsWithPriority", fetchedData, runId);

// console.log("prefetchQuery first", firstLog);

// console.log("prefetchQuery onfulfilled", data);

// console.log("useCleanupLogsQuery return", query);

// console.log("userCleanupResultDataset", userCleanupResultDataset);

// console.log('baseUrl', baseUrl);

// console.log('entering', key)

// console.log('findPluginParentPath()', findPluginParentPath());

// console.log('getAllCleanupLogs: parsedData', parsedData);

// console.log('getSingleCleanupLog: data', data);

// console.log('getSingleCleanupLog: result', result);

// console.log('leaving', key)

// console.log('servletUrl',servletUrl);

// console.log('unchanged', key)

// console.log(newValue);

// const AJSContext: React.Context<{

// const AugmentFactory =

// const GlobalButtonOverride = createGlobalStyle`

// const [state, dispatch] = useReducer<React.Reducer<State,Action>>(appReducer, context);

// const activeElement = document && getActiveElement();

// const allGroupsQuery = trpc.userCleanup.getAllGroups.useQuery();

// const allRolesQuery = trpc.userRoles.getAllRoles.useQuery();

// const appBaseUrl = pluginKey?`${contextPath}/plugins/servlet/${pluginKey}`:'';

// const attr: CleanupLogAttributes = {

// const baseUrl = document.querySelector('head  meta[name="ajs-context-path"]')?.getAttribute('content');

// const contextPath =

// const deleteMutation = trpc.userCleanup.deleteScheduledRun.useMutation({

// const encodedCredentials = btoa('yourUsernameHere:yourApiTokenHere');

// const executeQuery = useExecuteQuery(

// const fetchedMetadata = AJS.Meta.get();

// const generatedData = generateData(GENERATE_DATA_COUNT);

// const handleToggleChange = (column: keyof FilterState) => (value: ValueType<ToggleOption>) => {

// const instanceOfType = <T extends new (...args: any[]) => any>(

// const limitedToProducts = useWatch({

// const m = 0x5bd1e995;

// const platform = getPlatformFromPlatformId(platformId)

// const platformId =

// const pluginKey =

// const r = 24;

// const scheduleQuery = trpc.userCleanup.getScheduledRun.useQuery({

// const selectedProductsString =

// const servletUrl = pluginKey?`${appBaseUrl}/userCleanupPremium/inactiveUserCleanupPremium`:'';

// const submitMutation = useSubmitMutation("add", methods);

// const submitMutation = useSubmitMutation("edit", methods);

// const url = getUserCleanupApiUrl() + "cleanup-logs";

// const url = getUserCleanupApiUrl() + "cleanup-schedules";

// const url = new URL(getUserCleanupApiUrl() + "cleanup-schedules");

// const userCleanupApiUrl = `${contextPath}/rest/ksso/api/user-cleanup/1.0/`

// const userCleanupResultDatasetGenerated: z.infer<typeof UserCleanupResultSchemaV2> = {

// const utils = trpc.useContext();

// const value = event.target.type === 'checkbox' ? (event.target.checked?"true":"false") : event.target.value;

// const {dispatch, state, closeModal} = useContext(AppContext);

// const {userCleanupTrpcClient} = useTrpcResolvers()

// constructor polyfill

// contained in target

// contains in native

// content can grow and shrink

// contentDocument of iframe will be null if current origin cannot access it

// contexts in the following browsers.

// convert a calendar object to a epoch timestamp

// convert a calendar object to a local timestamp (epoch, but with the offset baked in)

// convert an epoch timestamp into a calendar object with the given offset

// copied from @mui/system/createStyled

// copy over the last transition props;

// copy the array, because we cache it internally

// could not find `Text` node that is being dragged from

// create a containing block.

// create a new DT instance by adding a duration, adjusting for DSTs

// create a new custom `style` instead.

// create collection constructor

// create whatever drag and drop experience they like inside a modal

// credit: https://github.com/pacocoursey/next-themes/blob/b5c2bad50de2d61ad7b52a9c5cdc801a78507d7a/index.tsx#L313

// cross-realm fallback

// cursor

// cursor.

// custom channel token is not provided, generate one.

// custom handling for DOM elements

// custom handling for React/Preact

// d l m s

// data.push(userCleanupResultDatasetGenerated);

// date piece.

// dates

// day of month, and day of week.  If  both	 fields	 are  restricted  (ie,

// debugger;

// declare here to prevent spreading to DOM

// deep merge for vals

// default color scheme vars should be merged last to set as default

// default props

// defaultValues: async () => {

// defaults for unspecified units in the supported calendars

// define iterator

// deoptimization and performance degradation

// deoptimization and serious performance degradation

// depending on the previous step's unit.

// desktop

// despite having improperly defined `toString` methods.

// destination.  This ensures that other PUSH navigations that reverse

// detect form-data instance

// detect portal

// didn't have the " ago" part, hence the "short-time" above.

// difference from how <a href> works and a major reason we call this a

// different bundles or microfrontends they will

// different way. If there is no target element yet or tooltipId, we also

// direction values

// disabling hover and active color changes when there is an overlay, but the button is not disabled

// display

// display: (flex|inline-flex)

// do nothing if mode does not change

// do nothing, the main validation should happen in the form

// document global can be unavailable in react native

// document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)

// does, so if an app ends up at a route like /#something then we add a

// don't break things.  But we need to wrap it in a try catch in case it is

// don't capture the event if the menu opens on focus and the focused

// don't cycle from the start to the end

// don't hoist over string (html) components

// don't || this because we want to preserve -0

// downstream bundlers may remove unnecessary concatenation, but won't remove toString call -- Workaround for https://github.com/webpack/webpack/issues/14814

// drag operation was started within the document, it won't be an "external" drag

// drag start occurs in the source window

// dragenter handler.

// drop targets than we did before

// e.g. 18/02/1993 vs. 2/18/1993 and 1:00 PM vs 13:00

// e.g. invalidateQueries({ active: false }), we don't want to refetch active queries

// e.g. mobile safari dynamic chrome heights

// early implementations not supports chaining

// edge: "Error", "Out of stack space"

// effective way to apply styles to an HTMLElement

// either ensure that no exceptions are thrown from your task, or to manually

// elements with explicit roles will also use explicit tabindex

// ellipsis for overflow text

// empty

// empty string to avoid regexp issues

// enabling "pause on exceptions" in your JavaScript debugger.

// encoded here but there also shouldn't be anything to decode so this

// end fast-deep-equal

// ends with sxConfig

// ensure consistent behaviour.

// ensure focus is on the Input when the menu opens

// ensure focus is restored correctly when the control becomes enabled

// ensure select state gets blurred in case Select is programmatically disabled while focused

// ensure select state gets focused in case Select is programatically re-enabled while focused (Firefox)

// equal to `minTime` of the next step:

// era

// eras

// error.

// error: something had a dropTargetSelector but we could not

// errors (HOT-104152)

// eslint-disable-line no-new-wrappers

// eslint-disable-line no-unused-vars -- required for `.length`

// eslint-disable-next-line

// eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage

// eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766

// eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage, @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766

// eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage

// eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage, @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766

// eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage, @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766

// eslint-disable-next-line @atlaskit/design-system/no-deprecated-imports

// eslint-disable-next-line @atlaskit/design-system/no-html-button

// eslint-disable-next-line @atlaskit/design-system/no-legacy-icons

// eslint-disable-next-line @atlaskit/design-system/no-nested-styles, @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766

// eslint-disable-next-line @atlaskit/design-system/no-unsafe-style-overrides, @atlaskit/ui-styling-standard/no-classname-prop

// eslint-disable-next-line @atlaskit/design-system/use-tokens-space

// eslint-disable-next-line @atlaskit/platform/ensure-feature-flag-prefix

// eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766

// eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop, @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766

// eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values

// eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766

// eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766

// eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/ui-styling-standard/no-unsafe-values

// eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766

// eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766

// eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-selectors

// eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-selectors -- Ignored via go/DSP-18766

// eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values

// eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766

// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766

// eslint-disable-next-line @repo/internal/fs/filename-pattern-match

// eslint-disable-next-line @repo/internal/react/no-clone-element

// eslint-disable-next-line @repo/internal/react/no-unsafe-spread-props

// eslint-disable-next-line @repo/internal/react/require-jsdoc

// eslint-disable-next-line @repo/internal/react/use-noop

// eslint-disable-next-line @repo/internal/styles/no-exported-styles

// eslint-disable-next-line @typescript-eslint/ban-types

// eslint-disable-next-line @typescript-eslint/naming-convention

// eslint-disable-next-line @typescript-eslint/no-explicit-any

// eslint-disable-next-line @typescript-eslint/no-this-alias

// eslint-disable-next-line @typescript-eslint/no-unused-vars

// eslint-disable-next-line ban/ban

// eslint-disable-next-line consistent-return

// eslint-disable-next-line eqeqeq -- polyfilled symbols case

// eslint-disable-next-line es/no-array-from -- required for testing

// eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing

// eslint-disable-next-line es/no-array-isarray -- safe

// eslint-disable-next-line es/no-array-prototype-find -- testing

// eslint-disable-next-line es/no-array-prototype-findindex -- testing

// eslint-disable-next-line es/no-array-prototype-foreach -- safe

// eslint-disable-next-line es/no-array-prototype-includes -- detection

// eslint-disable-next-line es/no-function-prototype-bind -- detection

// eslint-disable-next-line es/no-function-prototype-bind -- safe

// eslint-disable-next-line es/no-global-this -- safe

// eslint-disable-next-line es/no-json -- safe

// eslint-disable-next-line es/no-math-trunc -- safe

// eslint-disable-next-line es/no-number-parsefloat -- required for testing

// eslint-disable-next-line es/no-number-parseint -- required for testing

// eslint-disable-next-line es/no-object-assign -- required for testing

// eslint-disable-next-line es/no-object-create -- safe

// eslint-disable-next-line es/no-object-defineproperties -- safe

// eslint-disable-next-line es/no-object-defineproperty -- required for testing

// eslint-disable-next-line es/no-object-defineproperty -- safe

// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe

// eslint-disable-next-line es/no-object-getownpropertynames -- safe

// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing

// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe

// eslint-disable-next-line es/no-object-getprototypeof -- required for testing

// eslint-disable-next-line es/no-object-getprototypeof -- safe

// eslint-disable-next-line es/no-object-hasown -- safe

// eslint-disable-next-line es/no-object-isextensible, es/no-object-defineproperty -- safe

// eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing

// eslint-disable-next-line es/no-object-keys -- safe

// eslint-disable-next-line es/no-object-setprototypeof -- safe

// eslint-disable-next-line es/no-reflect -- safe

// eslint-disable-next-line func-names

// eslint-disable-next-line import/no-extraneous-dependencies

// eslint-disable-next-line import/no-unused-modules

// eslint-disable-next-line jsx-a11y/anchor-has-content

// eslint-disable-next-line jsx-a11y/heading-has-content, @repo/internal/react/no-unsafe-spread-props

// eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex

// eslint-disable-next-line max-statements -- TODO

// eslint-disable-next-line no-console

// eslint-disable-next-line no-console -- safe

// eslint-disable-next-line no-empty

// eslint-disable-next-line no-eq-null,eqeqeq

// eslint-disable-next-line no-extend-native -- required

// eslint-disable-next-line no-nested-ternary

// eslint-disable-next-line no-new-func -- fallback

// eslint-disable-next-line no-param-reassign

// eslint-disable-next-line no-prototype-builtins

// eslint-disable-next-line no-prototype-builtins -- safe

// eslint-disable-next-line no-restricted-globals -- safe

// eslint-disable-next-line no-restricted-syntax

// eslint-disable-next-line no-self-assign -- dirty hack

// eslint-disable-next-line no-self-compare -- NaN check

// eslint-disable-next-line no-undef

// eslint-disable-next-line no-underscore-dangle

// eslint-disable-next-line no-unused-vars -- required for .length

// eslint-disable-next-line no-unused-vars -- required for `.length`

// eslint-disable-next-line no-use-before-define

// eslint-disable-next-line no-useless-call -- required for testing

// eslint-disable-next-line prefer-rest-params

// eslint-disable-next-line react-hooks/exhaustive-deps

// eslint-disable-next-line react-hooks/rules-of-hooks

// eslint-disable-next-line react-hooks/rules-of-hooks -- `React.useId` is invariant at runtime.

// eslint-disable-next-line react/button-has-type

// eslint-disable-next-line react/function-component-definition

// eslint-disable-next-line react/no-did-update-set-state

// eslint-disable-next-line react/prop-types

// eslint-disable-next-line redos/no-vulnerable -- safe

// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing

// eslint-disable-next-line unicorn/relative-url-style -- required for testing

// even then.

// event if clicking in the button's own padding

// event target in the same event (for us we have a single global event target)

// event.preventDefault() is meant to stop default behaviors like

// events in browsers.

// every

// every available SauceLabs Selenium web driver worker at time of writing.

// exception is thrown by a task, that the task queue will continue flushing as

// exception is thrown.

// exclude `base` from the options

// execute the callback.

// export additional methods

// export from react-router

// export function getPreviousUnitFor(unit) {

// export function getStepForUnit(steps, unit) {

// export native or implementation

// export real prototype methods

// export virtual prototype methods

// export { default as default } from 'intl-plural-rules-polyfill/cardinal'

// extend<

// failed to parse a href

// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window

// fallback for non-array-like ES3 and non-enumerable old V8 strings

// fallback for not array-like ES3 strings and DOM objects

// falls through

// fallthrough

// false positive

// fast case

// fast equal of /^0b[01]+$/i

// fast equal of /^0o[0-7]+$/i

// feature detection can be too slow, so check engines versions

// fetchedMetadata.contextPath = AJS.contextPath();

// fetching again when directly mounting after suspending

// field's background

// filter

// filter nulls

// filter out skipped interceptors

// filterReject

// finalize string values (regular strings and functions interpolated into css calls)

// find

// find a match. For now, failing silently

// find element matching runId

// find host equal to active element and check nested active element

// find the right offset a given local time. The o input is our guess, which determines which

// find the source for a warning that appears in the console by

// findIndex

// fire an event on the atlaskit channel

// firefox: "InternalError", too much recursion"

// first element

// first tabbed element guard

// first try only tabbable, and the fallback to all focusable, as long as at least one element should be picked for focus

// first, we avoid this issue

// first. This allows people to have fine-grained control over the matching

// fix Array.prototype.{ values, @@iterator }.name in V8 / FF

// fix for Safari 12.0 bug

// fix native

// fix semicolon duplication issue for ReactNative FormData implementation

// fixed value

// fixes shallow isOver which would only be non-shallow because of

// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods

// flex, flex-direction

// flex-basis

// flex-grow

// flex-shrink

// flex: '0 1 auto',

// flexDirection: 'row',

// flexWrap: 'nowrap',

// flexbox

// flush events

// focus above lock

// focus below lock

// focus is inside

// focusable events only.

// fontGrid finds a minimal grid (in rem) for the fontSize values so that the

// foo x y z

// foo-x-y-z

// foo.x.y.z

// foo[x][y][z]

// for "a" so this is checking that

// for AM and PM. This is probably wrong, but it's makes parsing way easier.

// for Bitbucket & Bamboo

// for NPCG, like IE8. NOTE: This doesn't work for /(.?)?/

// for absolute paths, ensure `/` instead of empty segment

// for data views in Edge < 14, and promises in Node.js.

// for example for { years: 2.5, days: 0, seconds: 0 } we want to get { years: 2, days: 182, hours: 12 }

// for example heroicons uses fill="none" and stroke="currentColor"

// for example https://bugzilla.mozilla.org/show_bug.cgi?id=559561.

// for external drags, we are generally making a copy of something that is being dragged

// for legacy reasons, years between 0 and 99 are interpreted as 19XX; revert that

// for more details.

// for string (html) tag, preserve the behavior in emotion & styled-components.

// for text selection, we will usually be making a copy of the text

// for the one ("pt") (Portuguese) locale and the other ("pt-PT") (European Portuguese).

// for various locales (is a global variable).

// for which "plural rules" function is missing.

// force css to recompute when value change due to @emotion bug.

// foreground

// fractional seconds

// from "future" to "past": "in ..." -> "... ago".

// from /list -> /details/1 and therefore should be active on the reverse

// from a prior interaction.

// from the list of `locales` added by the user.

// frozen object case

// full Locations now and avoid the need to run through this flow at all

// function because try/catches deoptimize in certain engines.

// function findPluginParentPath() {

// function makeRequestCallFromMessageChannel(callback) {

// function makeRequestCallFromSetImmediate(callback) {

// functions from left to right

// generate an array with more 512 elements (Chakra and old V8 fails only in this case)

// generate the routePathnames input for resolveTo()

// get SSRed styles out of the way of React's hydration

// get next entry

// get one page of data in table, sorting all rows previously

// get rid of any default styles

// getSnapshotBeforeUpdate(prevProps) {

// getting tag from ES6+ `Object.prototype.toString`

// giving active styles preference by listing them after focus

// global local side effect to countain recursive lock activation and resolve focus-fighting

// gregorian data + weekday serves only to validate

// grid

// grid sizes for all breakpoints

// grow, but to avoid an O(n) walk for every task we execute, we don't

// handle first and last key separately, for better readability

// handle refs changes - added or removed

// handled by onerror instead

// handles 'first'

// has a chance to get in first on the`document`.

// has started locally

// hash string, in which case we should assume that the navigation is relative

// have WebKitMutationObserver but not un-prefixed MutationObserver.

// have been rendered (and removed) before the honey pot is rendered

// have the initial state and not any of the later values.

// have them, such as when we have hardcoded children that are conditionally rendered.

// having messages like "in {0} d." or "{0} d. ago".

// height. This ensures a tappable area outside of the simple menu with which to dismiss

// helper useful in turning the results of parsing into real dates

// helps handle the details

// history-aware.

// horizontal(-)tb

// hours

// how much time has passed (in seconds)

// http date

// http://fb.me/prop-types-in-prod

// http://unixhelp.ed.ac.uk/CGI/man-cgi?crontab+5

// http://www.nonblocking.io/2011/06/windownexttick.html

// http://www.unicode.org/cldr/charts/latest/supplemental/language_plural_rules.html

// https://bugs.chromium.org/p/chromium/issues/detail?id=661108&q=contenteditable%20tabindex&can=2

// https://bugs.chromium.org/p/chromium/issues/detail?id=830565

// https://bugs.chromium.org/p/v8/issues/detail?id=14222

// https://bugs.chromium.org/p/v8/issues/detail?id=3056

// https://bugs.chromium.org/p/v8/issues/detail?id=3334

// https://bugs.chromium.org/p/v8/issues/detail?id=4118

// https://bugs.webkit.org/show_bug.cgi?id=188794

// https://bugzilla.mozilla.org/show_bug.cgi?id=773687

// https://codesandbox.io/p/sandbox/button-keyup-preventdefault-dn7f0

// https://css-tricks.com/snippets/css/force-vertical-scrollbar/

// https://date-fns.org/v2.29.3/docs/format

// https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL

// https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL

// https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes

// https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block

// https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy

// https://docs.google.com/spreadsheets/d/1mG-5UYGup5qxGdEMWkhP6BWCz053NUb2E1QoUTU16uA/edit#gid=783724593

// https://esbench.com/bench/5b809c2cf2949800a0f61fb5

// https://github.com/Compass/compass/blob/master/core/stylesheets/compass/typography/_units.scss

// https://github.com/DefinitelyTyped/DefinitelyTyped/discussions/70189

// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34

// https://github.com/HTTPArchive/wappalyzer/blob/main/src/technologies/r.json

// https://github.com/JamesMGreene/Function.name/blob/58b314d4a983110c3682f1228f845d39ccca1817/Function.name.js#L3

// https://github.com/catamphetamine/javascript-time-ago/issues/21

// https://github.com/catamphetamine/javascript-time-ago/issues/22

// https://github.com/catamphetamine/relative-time-format/issues/2

// https://github.com/date-fns/date-fns-upgrade/blob/master/src/v2/convertTokens/index.ts

// https://github.com/emotion-js/emotion/blob/26ded6109fcd8ca9875cc2ce4564fee678a3f3c5/packages/styled/src/utils.js#L40

// https://github.com/floating-ui/floating-ui/issues/1740

// https://github.com/floating-ui/floating-ui/issues/2317

// https://github.com/garronej/tss-react/issues/27

// https://github.com/kriskowal/q/issues/396

// https://github.com/mathiasbynens/String.prototype.at

// https://github.com/mui/material-ui/issues/13485#issuecomment-676048492

// https://github.com/oven-sh/bun/issues/1633

// https://github.com/popperjs/popper-core/issues/1078

// https://github.com/popperjs/popper-core/issues/837

// https://github.com/rafgraph/detect-it/blob/main/src/index.ts#L19-L36

// https://github.com/react-dnd/react-dnd/issues/1310

// https://github.com/reactjs/react-transition-group/pull/749

// https://github.com/remix-run/react-router/issues/11052#issuecomment-1836589329

// https://github.com/sindresorhus/is-plain-obj/blob/main/index.js

// https://github.com/tannerlinsley/react-query/issues/652

// https://github.com/tc39/proposal-Symbol-description

// https://github.com/tc39/proposal-array-filtering

// https://github.com/tc39/proposal-async-explicit-resource-management

// https://github.com/tc39/proposal-decorator-metadata

// https://github.com/tc39/proposal-decorators

// https://github.com/tc39/proposal-explicit-resource-management

// https://github.com/tc39/proposal-observable

// https://github.com/tc39/proposal-pattern-matching

// https://github.com/tc39/proposal-string-pad-start-end

// https://github.com/tildeio/rsvp.js/blob/cddf7232546a9cf858524b75cde6f9edf72620a7/lib/rsvp/asap.js

// https://github.com/twbs/bootstrap/blob/8fccaa2439e97ec72a4b7dc42ccc1f649790adb0/scss/mixins/_grid.scss#L41

// https://github.com/whatwg/url/pull/734

// https://github.com/zloirock/core-js/issues/475

// https://github.com/zloirock/core-js/issues/640

// https://github.com/zloirock/core-js/issues/677

// https://github.com/zloirock/core-js/issues/679

// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028

// https://html.spec.whatwg.org/multipage/interaction.html#focus-fixup-rule.

// https://html.spec.whatwg.org/multipage/nav-history-apis.html#shared-history-push/replace-state-steps

// https://html.spec.whatwg.org/multipage/structured-data.html#structuredserializeinternal

// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval

// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout

// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers

// https://jestjs.io/docs/environment-variables#jest_worker_id

// https://m2.material.io/components/menus#specs > Dense

// https://m2.material.io/design/layout/understanding-layout.html

// https://samthor.au/2021/observing-dom/

// https://stackoverflow.com/questions/3966484/why-does-modulus-operator-return-fractional-number-in-javascript/31711034#31711034

// https://stackoverflow.com/questions/491052/minimum-and-maximum-value-of-z-index

// https://stackoverflow.com/questions/588004/is-floating-point-math-broken

// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next

// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator

// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next

// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot

// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec

// https://tc39.es/ecma262/#sec-array.from

// https://tc39.es/ecma262/#sec-array.isarray

// https://tc39.es/ecma262/#sec-array.prototype-@@iterator

// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables

// https://tc39.es/ecma262/#sec-array.prototype.concat

// https://tc39.es/ecma262/#sec-array.prototype.entries

// https://tc39.es/ecma262/#sec-array.prototype.every

// https://tc39.es/ecma262/#sec-array.prototype.filter

// https://tc39.es/ecma262/#sec-array.prototype.find

// https://tc39.es/ecma262/#sec-array.prototype.findIndex

// https://tc39.es/ecma262/#sec-array.prototype.findindex

// https://tc39.es/ecma262/#sec-array.prototype.flatmap

// https://tc39.es/ecma262/#sec-array.prototype.foreach

// https://tc39.es/ecma262/#sec-array.prototype.includes

// https://tc39.es/ecma262/#sec-array.prototype.indexof

// https://tc39.es/ecma262/#sec-array.prototype.join

// https://tc39.es/ecma262/#sec-array.prototype.keys

// https://tc39.es/ecma262/#sec-array.prototype.map

// https://tc39.es/ecma262/#sec-array.prototype.push

// https://tc39.es/ecma262/#sec-array.prototype.reduce

// https://tc39.es/ecma262/#sec-array.prototype.reduceright

// https://tc39.es/ecma262/#sec-array.prototype.reverse

// https://tc39.es/ecma262/#sec-array.prototype.slice

// https://tc39.es/ecma262/#sec-array.prototype.some

// https://tc39.es/ecma262/#sec-array.prototype.sort

// https://tc39.es/ecma262/#sec-array.prototype.splice

// https://tc39.es/ecma262/#sec-array.prototype.values

// https://tc39.es/ecma262/#sec-arrayspeciescreate

// https://tc39.es/ecma262/#sec-createarrayiterator

// https://tc39.es/ecma262/#sec-createhtml

// https://tc39.es/ecma262/#sec-createiterresultobject

// https://tc39.es/ecma262/#sec-createmappedargumentsobject

// https://tc39.es/ecma262/#sec-createunmappedargumentsobject

// https://tc39.es/ecma262/#sec-date.prototype-@@toprimitive

// https://tc39.es/ecma262/#sec-date.prototype.toisostring

// https://tc39.es/ecma262/#sec-date.prototype.tojson

// https://tc39.es/ecma262/#sec-date.prototype.tostring

// https://tc39.es/ecma262/#sec-function-instances-name

// https://tc39.es/ecma262/#sec-function.prototype.bind

// https://tc39.es/ecma262/#sec-get-map-@@species

// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags

// https://tc39.es/ecma262/#sec-get-set-@@species

// https://tc39.es/ecma262/#sec-getmethod

// https://tc39.es/ecma262/#sec-hasownproperty

// https://tc39.es/ecma262/#sec-isarray

// https://tc39.es/ecma262/#sec-iscallable

// https://tc39.es/ecma262/#sec-isconstructor

// https://tc39.es/ecma262/#sec-isregexp

// https://tc39.es/ecma262/#sec-json-@@tostringtag

// https://tc39.es/ecma262/#sec-json.stringify

// https://tc39.es/ecma262/#sec-lengthofarraylike

// https://tc39.es/ecma262/#sec-map-objects

// https://tc39.es/ecma262/#sec-map.prototype-@@iterator

// https://tc39.es/ecma262/#sec-map.prototype.clear

// https://tc39.es/ecma262/#sec-map.prototype.delete

// https://tc39.es/ecma262/#sec-map.prototype.entries

// https://tc39.es/ecma262/#sec-map.prototype.foreach

// https://tc39.es/ecma262/#sec-map.prototype.get

// https://tc39.es/ecma262/#sec-map.prototype.has

// https://tc39.es/ecma262/#sec-map.prototype.keys

// https://tc39.es/ecma262/#sec-map.prototype.set

// https://tc39.es/ecma262/#sec-map.prototype.values

// https://tc39.es/ecma262/#sec-math-@@tostringtag

// https://tc39.es/ecma262/#sec-math.trunc

// https://tc39.es/ecma262/#sec-newpromisecapability

// https://tc39.es/ecma262/#sec-number.isnan

// https://tc39.es/ecma262/#sec-number.parseFloat

// https://tc39.es/ecma262/#sec-number.parseint

// https://tc39.es/ecma262/#sec-number.prototype.tofixed

// https://tc39.es/ecma262/#sec-object.assign

// https://tc39.es/ecma262/#sec-object.create

// https://tc39.es/ecma262/#sec-object.defineproperties

// https://tc39.es/ecma262/#sec-object.defineproperty

// https://tc39.es/ecma262/#sec-object.entries

// https://tc39.es/ecma262/#sec-object.freeze

// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor

// https://tc39.es/ecma262/#sec-object.getownpropertydescriptors

// https://tc39.es/ecma262/#sec-object.getownpropertynames

// https://tc39.es/ecma262/#sec-object.getownpropertysymbols

// https://tc39.es/ecma262/#sec-object.getprototypeof

// https://tc39.es/ecma262/#sec-object.isextensible

// https://tc39.es/ecma262/#sec-object.keys

// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable

// https://tc39.es/ecma262/#sec-object.prototype.tostring

// https://tc39.es/ecma262/#sec-object.setprototypeof

// https://tc39.es/ecma262/#sec-object.values

// https://tc39.es/ecma262/#sec-ordinarytoprimitive

// https://tc39.es/ecma262/#sec-parsefloat-string

// https://tc39.es/ecma262/#sec-parseint-string-radix

// https://tc39.es/ecma262/#sec-promise.all

// https://tc39.es/ecma262/#sec-promise.prototype.catch

// https://tc39.es/ecma262/#sec-promise.prototype.then

// https://tc39.es/ecma262/#sec-promise.race

// https://tc39.es/ecma262/#sec-promise.reject

// https://tc39.es/ecma262/#sec-promise.resolve

// https://tc39.es/ecma262/#sec-regexp.prototype.exec

// https://tc39.es/ecma262/#sec-regexp.prototype.tostring

// https://tc39.es/ecma262/#sec-requireobjectcoercible

// https://tc39.es/ecma262/#sec-set.prototype-@@iterator

// https://tc39.es/ecma262/#sec-set.prototype.add

// https://tc39.es/ecma262/#sec-set.prototype.clear

// https://tc39.es/ecma262/#sec-set.prototype.delete

// https://tc39.es/ecma262/#sec-set.prototype.entries

// https://tc39.es/ecma262/#sec-set.prototype.foreach

// https://tc39.es/ecma262/#sec-set.prototype.has

// https://tc39.es/ecma262/#sec-set.prototype.keys

// https://tc39.es/ecma262/#sec-set.prototype.values

// https://tc39.es/ecma262/#sec-speciesconstructor

// https://tc39.es/ecma262/#sec-string.prototype-@@iterator

// https://tc39.es/ecma262/#sec-string.prototype.bold

// https://tc39.es/ecma262/#sec-string.prototype.codepointat

// https://tc39.es/ecma262/#sec-string.prototype.includes

// https://tc39.es/ecma262/#sec-string.prototype.padend

// https://tc39.es/ecma262/#sec-string.prototype.padstart

// https://tc39.es/ecma262/#sec-string.prototype.repeat

// https://tc39.es/ecma262/#sec-string.prototype.startswith

// https://tc39.es/ecma262/#sec-string.prototype.trim

// https://tc39.es/ecma262/#sec-string.prototype.trimend

// https://tc39.es/ecma262/#sec-string.prototype.trimstart

// https://tc39.es/ecma262/#sec-symbol-constructor

// https://tc39.es/ecma262/#sec-symbol.asynciterator

// https://tc39.es/ecma262/#sec-symbol.for

// https://tc39.es/ecma262/#sec-symbol.hasinstance

// https://tc39.es/ecma262/#sec-symbol.isconcatspreadable

// https://tc39.es/ecma262/#sec-symbol.iterator

// https://tc39.es/ecma262/#sec-symbol.keyfor

// https://tc39.es/ecma262/#sec-symbol.match

// https://tc39.es/ecma262/#sec-symbol.matchall

// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive

// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag

// https://tc39.es/ecma262/#sec-symbol.prototype.description

// https://tc39.es/ecma262/#sec-symbol.replace

// https://tc39.es/ecma262/#sec-symbol.search

// https://tc39.es/ecma262/#sec-symbol.species

// https://tc39.es/ecma262/#sec-symbol.split

// https://tc39.es/ecma262/#sec-symbol.toprimitive

// https://tc39.es/ecma262/#sec-symbol.tostringtag

// https://tc39.es/ecma262/#sec-symbol.unscopables

// https://tc39.es/ecma262/#sec-thisnumbervalue

// https://tc39.es/ecma262/#sec-tointegerorinfinity

// https://tc39.es/ecma262/#sec-tolength

// https://tc39.es/ecma262/#sec-toobject

// https://tc39.es/ecma262/#sec-toprimitive

// https://tc39.es/ecma262/#sec-topropertykey

// https://tc39.es/proposal-symbol-predicates/#sec-symbol-isregisteredsymbol

// https://tc39.es/proposal-symbol-predicates/#sec-symbol-iswellknownsymbol

// https://url.spec.whatwg.org/#URL-stringification-behavior

// https://url.spec.whatwg.org/#cannot-have-a-username-password-port

// https://url.spec.whatwg.org/#concept-url-serializer

// https://url.spec.whatwg.org/#dom-url-canparse

// https://url.spec.whatwg.org/#dom-url-hash

// https://url.spec.whatwg.org/#dom-url-host

// https://url.spec.whatwg.org/#dom-url-hostname

// https://url.spec.whatwg.org/#dom-url-href

// https://url.spec.whatwg.org/#dom-url-origin

// https://url.spec.whatwg.org/#dom-url-password

// https://url.spec.whatwg.org/#dom-url-pathname

// https://url.spec.whatwg.org/#dom-url-port

// https://url.spec.whatwg.org/#dom-url-protocol

// https://url.spec.whatwg.org/#dom-url-search

// https://url.spec.whatwg.org/#dom-url-searchparams

// https://url.spec.whatwg.org/#dom-url-tojson

// https://url.spec.whatwg.org/#dom-url-username

// https://url.spec.whatwg.org/#dom-urlsearchparams-append

// https://url.spec.whatwg.org/#dom-urlsearchparams-delete

// https://url.spec.whatwg.org/#dom-urlsearchparams-get

// https://url.spec.whatwg.org/#dom-urlsearchparams-getall

// https://url.spec.whatwg.org/#dom-urlsearchparams-has

// https://url.spec.whatwg.org/#dom-urlsearchparams-set

// https://url.spec.whatwg.org/#dom-urlsearchparams-sort

// https://url.spec.whatwg.org/#host-parsing

// https://url.spec.whatwg.org/#include-credentials

// https://url.spec.whatwg.org/#interface-urlsearchparams

// https://url.spec.whatwg.org/#is-special

// https://url.spec.whatwg.org/#shorten-a-urls-path

// https://url.spec.whatwg.org/#url-class

// https://url.spec.whatwg.org/#url-parsing

// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior

// https://www.w3.org/WAI/ARIA/apg/patterns/combobox/examples/combobox-select-only/

// https://www.wolframalpha.com/input/?i=(4+%2B+15+*+(x+%2F+36+)+**+0.25+%2B+(x+%2F+36)+%2F+5)+*+10

// iPadOS 13 lies and says it's a Mac, but we can distinguish by detecting touch support.

// icon size cannot grow and shrink

// icons - check and cross

// if (

// if (allDashboardScheduledRunsState.value && allScheduledRunLogsState.value) {

// if (mode !== "groupsOnly") {

// if (mode !== "rolesOnly") {

// if (typeof closeModal === 'function') {

// if (units.length === 0) {

// if a "dragstart" occurs and the flag is not set,

// if a record is in the new index -> use that

// if channel token can't be generated, show a warning.

// if clearTimeout wasn't available but was latter defined

// if contextSharing is on, we share the first and at least one

// if dragend handler does something like showing an alert.

// if dropping is not allowed, skip this drop target

// if filters.refetchActive is not provided and filters.active is explicitly false,

// if first registration, bind event listeners

// if formatting rules are the same for "past" and "future",

// if its a function call it

// if not, refer back to the resolvedOpts, which are based on the locale

// if nothing has changed then don't resubscribe

// if open event.stopImmediatePropagation

// if parent contains a focusable - move there

// if setTimeout wasn't available but was latter defined

// if skipVariantsResolver option is defined, take the value, otherwise, true for root and false for other slots.

// if so, respect their decision

// if the drag contains no text data, then not dragging selected text

// if the focus event is not coming from inside the children's react tree, reset the refs

// if the primaryColor is the same as the secondaryColor we

// if the target is not iterable or it's an array with the default iterator - use a simple case

// if the user has dragged something out of the window

// if there is an active drag we need to see if this new monitor is relevant

// if they are different for different grammatical genders,

// if this doesn't exist then it will be null so the style element will be appended

// if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)

// if this is not the case, factor is used to make it so

// if we are mounting and running this it means appear _must_ be set

// if we are not dragging from the drag handle (or something inside the drag handle)

// if we are still overshooting now, we need to backtrack again

// if we cannot find the drop target in the current array, then it has been left

// if we didn't set the day but we ended up on an overflow date,

// if you want to output a technical format (e.g. RFC 2822), this helper

// if(!!cleanupRuleFetched[0]) {

// iframe is not working. We are applying the workaround for this bug in modal so

// ignore error

// ignore mouse events that weren't triggered by the primary button

// ignore the case where "stack" is an un-writable property

// ignore the keydown event from an Input Method Editor(IME)

// immediately in some browsers.

// impact the creation of the native drag preview.

// import Checkbox from '@atlaskit/checkbox';

// import HeaderFilters from "./features/HeaderFilters";

// import LicensesGraph from "packages/user-admin/src/features/dashboard/LicensesGraphDC2";

// import MuiTable from "./features/MuiTable";

// import PluralRules from 'intl-plural-rules-polyfill/cardinal'

// import {

// import { Modal, view } from "@forge/bridge";

// import { Radio } from '@atlaskit/radio';

// import { StatusBox } from "../status/Statusbox";

// import { doExecuteSingleUser } from "packages/shared";

// import { useDashboardPage } from "./prepare";

// import { viewAddOrEditScheduleModal } from "packages/shared";

// import {AppContext, appReducer, DefaultState, defaultState} from './AppContext';

// import {AssignRevokeRoles} from "./features/AssignRevokeRoles";

// import {CleanupRuleSchema, CleanupScheduleSchema, ScheduledRunElementSchema} from "packages/backend";

// import {CleanupRule} from "@ksso-easy-groups/shared/src/schemas-dc-v2";

// import {ConfigFromDom} from "../../idp-setup/src/contexts/ConfigTypes";

// import {ConfigureRoles} from "./features/ConfigureRoles";

// import {Dashboard} from "./pages/dashboard/DashboardPage";

// import {DevTool} from "@hookform/devtools";

// import {ErrorType} from "../utilities/KSSOError";

// import {Feedback} from "./features/Feedback";

// import {JiraSoftwareSchema} from "./JiraUsage/JiraApplicationRole";

// import {Modal} from "@forge/bridge";

// import {RunExecuteStatusSchema, RunTypeSchema} from "../../../../backend";

// import {SchedulesList} from "./features/SchedulesList";

// import {ServerTimeResponse, ServerTimeResponseSchema} from "../types/apiResponseTypes";

// import {SettingsPage} from "./pages/settings/SettingsPage";

// import {UserCleanupSettings} from "./features/UserCleanupSettings";

// import {UserFilteredTable} from "./features/UserFilteredTable";

// import {UserInfo} from "../../backend";

// import {UsersPage} from "./pages/users/UsersPage";

// import {createAndHandleError} from "../utilities/ErrorHandler";

// import {faker} from '@faker-js/faker';

// import {getAllUsersWithActivityAndMemberships} from "../../backend/src/utils/getUsers";

// import {getPlatformFromPlatformId} from "./shared/utilities-dc/Attributes";

// import {getUserCleanupApiUrl} from "../utilities/SessionStorage";

// import {useSubmitMutation} from "../hooks/useSubmitMutation";

// import {useTrpcResolvers} from "packages/shared";

// import {usersWithGroupsMock,mockActivityLogUser, managedUsersMock1Generator, ProductAccess, User} from "../../backend/src/mockData";

// important! this hides the flashing cursor

// important! without `width` browsers won't allow focus

// in Chrome, <details/>, <audio controls/> and <video controls/> elements get a default

// in Node.js 8.x while `Intl.NumberFormat` itself is present.

// in Safari 8-9 which returns 'object' for typed array and other constructors.

// in Safari 9 which returns 'object' for typed arrays and other constructors.

// in a DataStaticRouter

// in a browser router.  This is particularly important when there exists a

// in bubble phase will have the correct symbols

// in case anyone would ever need that. Prefer using

// in case of grid item

// in case of object `spacing`

// in case of string/number `spacing`

// in case the resulting object doesn't have the method available.

// in locale data for a given time labels style.

// in nodeToRestore.current being null.

// in old Chrome, versions of V8 isn't V8 = Chrome / 10

// in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList`

// in popular engines, so it's moved to a separate module

// in seconds

// in the morning, in the afternoon, in the evening, at night

// in the next major version.

// in the same tick for the source element, and browser freaks out.

// in their JSON files in a non-parsed form and later parsed via `make-plural` library.

// in this case we accept any non-newline white-space

// include the context of this component, .e.g, lost data.

// incorrect for RTL.

// increment active scroll locks

// increment how many things requested the fix

// independent of pdnd, we need to keep track of

// index is inside tab order, but outside Lock

// index routes, so don't add them to the list of possible branches.

// information for the honey pot.

// initialize with source styles

// initially we set left as left-most position

// inline-flex child

// insert keyframes

// insertion sort

// instance of the context across the window

// instead of optional in `types`

// instead of the polyfills.

// instead of using params["*"] later because it will be decoded then

// into a smaller unit later

// into this ASAP package. It was later adapted to RSVP which made further

// ipv4

// ipv6

// is able to screenshot the current (not yet dragging) state.

// is empty. Make it non-empty to avoid this issue.

// is filled with the initial data specified by the modifier. This means

// is it still here?

// is not an `Element`, so we need to start looking from

// is to add a scroll event listener that calls for a flush.

// is useful for low frequency updates where sync behavior simplifies the

// is useless because we haven't wired up our history listener yet

// is useless because we haven't wired up our router subscriber yet

// is within horizontal bounds

// is within vertical bounds

// isControlled is ignored in the hook dependency lists as it should never change.

// isInGroupOrRole: GroupSchema

// isInGroupOrRole: RoleTemplateSummarySchema.or(GroupSchema)

// isLicensedGroupMember: "",

// it can work only with native `setPrototypeOf`

// it doesn't actually matter though since it's only on the server

// it doesn't persist and is fresh on each update.

// it is removed from DOM and trigger endDrag manually.

// it will have the latest data + dropEffect

// it will just assume that the label never changes for this step.

// it will try to move the focus back to the rootRef element.

// it's 1 in dev because we insert source maps that map a single rule to a location

// it's a lowercase character

// it's doesn't worth the bundle size.

// it's effectively like having two implementations and switching them out

// it's kind of the whole point 😉

// it's not an issue. I don't think anyone ever specifies width on <html>

// it's not behavior of the native <option> and causes

// it's safer to defer the action

// it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here

// item and use the first valid item as a fallback

// item hasn't changed transition states

// item is new (entering)

// item is old (exiting)

// iterable DOM collections

// its own modifications.

// jsdom doesn't support innerText

// jump out, but not on the guard

// just a weekday -> this week's instance of that weekday, no worries

// just for providing the ultimate customization point

// just in case

// just now

// just whether the hierarchy has changed

// justify-content

// justifyContent required for shouldFitContainer buttons with an icon inside

// justifyContent: 'flex-start',

// keep as is for the time being and just let any incoming keys take precedence

// keep the "overshot by 1" around as highWater

// key is breakpoint

// key is the value of the data-emotion attribute, it's used to identify different sheets

// key when pdnd started the drag in another document

// keyboard events can only occur when there is an overlay

// known fallback

// knows how to merge the passed-in default theme with

// language and 'CO' is country.

// last callback

// last element

// lastUnit must be defined since units is not empty

// lazy, or has a loader that hasn't run yet).  Flag that we need to

// leading slash so all of our path-matching behaves the same as if it would

// leaving draggable (+0 enterCount)

// leaving window (-1 enterCount)

// less 'actual' drop targets than before,

// let's get started!

// lift (+1 enterCount)

// like 'T'

// like 'Tues'

// like 'Tuesday'

// like +0600

// like +06:00

// like +6

// like 000012

// like 0012

// like 01

// like 01, doesn't seem to work

// like 1

// like 14

// like 2014

// like AD

// like America/New_York

// like Anno Domini

// like EST

// like Eastern Standard Time

// like J

// like Jan

// like January

// like global values in the browser.

// limitedToProducts: z

// lineHeight falls under a x pixels grid, 4px in the case of Material Design,

// listening for pointer move in capture phase

// logic was previously ran for the previous placement and is therefore

// logic.

// loose mode is safe if we're concatenating primitives

// lower priority turn.

// make `.constructor === Promise` work for native promise-based APIs

// make `Promise#then` return a polyfilled `Promise` for native promise-based APIs

// make `instanceof Promise` work for native promise-based APIs

// make certain babel optimisations not possible

// make dots optional and also make them literal

// make it unitless

// make space and non breakable space characters interchangeable

// make sure that retries that were potentially cancelled due to unmounts can continue

// make sure the values we have are in range

// make this element a bit bigger

// makes no sense without proper strict mode support

// makes subclassing work correct for wrapped built-ins

// makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`

// making it clear to consumers this drop target is active due to stickiness

// map

// map `set` => `Set`

// margin for button has been applied to css reset

// mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,

// massage in target styles

// match only if we find the end of this path segment.  Look for an optional

// match so we include splat values for "." links.  See:

// may need to be constrained after flipping

// means it doesn't take into account transforms.

// means it has ended and the drag source node disappeared from DOM,

// means that the style elements we're looking at are only Emotion 11 server-rendered style elements

// means they are using the render prop API, and that is implemented in a

// memoized from props

// menu width to the width of our container

// merge sort

// merge<

// merge<Incoming extends AnyZodObject>(

// meridiem

// meridiems

// might init navigation

// might use a different theme context in the future anyway

// migration guide from v5 as a means of disambiguation between `to` values

// milliseconds is not supported

// minutes

// mode !== "rolesOnly" &&

// modern engines have queueMicrotask method

// modified

// months

// months - format

// months - standalone

// more appropriate.

// most accurate honey pot experience

// most basic recommended timing

// most common use case for this is the `flip` modifier changing the

// ms

// multi select, by default, IS clearable

// multiSelected items are usually items that have already been selected

// must return a function for the private theme to NOT merge with the upper theme.

// mutation observers, so that implementation is used instead.

// nativeGetData will return `""` when there is no value,

// nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,

// nearest focus guard

// necessary until the next `flush` completes.

// need the honey pot can pay as little as possible for it.

// need to schedule our frame after the text-selection

// need to use `.bind` as `getData` is required

// negative .length indicates that this rule has been already prefixed

// new Date(d.dateTimeUTC).toISOString();

// new focus, nothing to calculate

// newCtx is used to not collect issues from inner types in ctx

// newState.cleanupMode = cleanupMode

// next code unit is the high surrogate of a surrogate pair.

// next index

// nextStatus will always be ENTERING or EXITING.

// no Set(dstNodes) for IE11 :(

// no active focus (or focus is on the body)

// no children inside the component will require analytics themselves.

// no default, invalid units throw in normalizeUnit()

// no enter animation skip right to ENTERED

// no exit animation skip right to EXITED

// no longer over a drop target.

// no matching element found

// no need to re-apply context if the text is already wrapped

// no tabbable elements in the trap focus or the focus was outside of the focus trap

// no tabbable elements, autofocus is not possible

// no text being dragged

// no-op

// node is `undefined` when user provided `nodeRef` prop

// non-captured trailing slash (to match a portion of the URL) or the end

// non-matching targets.

// noop

// not checking stickiness, data or dropEffect,

// not dragging the requested type

// not exposing data for unavailable types

// not have MutationObservers.

// not necessary (debounced to run at most once-per-tick)

// not necessary to add metadata

// not passing the registered cache to serializeStyles because it would

// not removing unused events, just leaning on the type system

// not sure what we are working with,

// not the most efficient thing ever but this is a pretty rare case

// note this very very intentionally targets all style elements regardless of the key to ensure

// note: currently never unbinding these event listeners

// note: not removing `onGenerateDragPreview`; just leaning on the type system

// nothing matched

// notranslate needed while Google Translate will not fix zero-width space issue

// number of basic code points.

// number of code points that have been handled;

// numbers are always grouped higher in the sort

// object ID

// obsolete version of https://tc39.es/proposal-symbol-predicates/#sec-symbol-isregisteredsymbol

// obsolete version of https://tc39.es/proposal-symbol-predicates/#sec-symbol-iswellknownsymbol

// of RenderErrorBoundary

// of a given `style` for the given value of measurement `unit`.

// of a tag and escaping quotes in arguments

// of a trailing slash on root links

// of course, fail.

// of it in the real world.

// of module scoping.

// of seconds by the amount of seconds in  half-an-hour.

// of seconds by the amount of seconds in a day.

// of seconds by the amount of seconds in a minute.

// of seconds by the amount of seconds in a month.

// of seconds by the amount of seconds in a week.

// of seconds by the amount of seconds in a year.

// of seconds by the amount of seconds in an hour.

// of the `<html>` and `<body>` rect bounds if horizontally scrollable

// of the menu.

// of the next.

// of the path (if we've matched to the end).  We used to do this with a

// of this array can be removed.

// of whitespaces and has a correct name

// offset

// offset we'll pick in ambiguous cases (e.g. there are two 3 AMs b/c Fallback DST)

// offset/zone

// old engines have not location.origin

// old focus

// on events on child elements, not the document (which we've attached this handler to).

// on the page yet

// onDragPreview

// onEnterXxx and onExitXxx callbacks have a different arguments.length value.

// once we deprecate the wrapped approach, we can put the aria

// one interaction is guaranteed to be called before `onDragStart`

// one of the sentinel nodes was focused, so move the focus

// onerror should only fire if it's a network error

// only create css & var if `shouldSkipGeneratingVar` return false

// only keep the integer part for now in the hopes of putting any decimal part

// only looking at whether hierarchy has changed to determine whether something as 'changed'

// only scroll if the menu isn't already open

// only show pagination if there's MORE than 1 page

// optimisation for array iterators

// option is already selected; it breaks the flow of navigation

// optional / simple context binding

// optional version for all children, so we get consistent ordering where the

// or AnalyticsContext component instead.

// or auto filled by the browser before the hydration (for SSR).

// or finish the iteration

// or for external drag sources (eg files)

// or from router.navigate, but we want to match against the unencoded

// or set by the user as a default value so we assume they are not disabled

// or somebody to the left, something?

// or somebody to the right, still close enough

// or something in it's place

// order

// order based on dependencies

// order based on phase

// ordinals

// original code

// original foundation for this library.

// other pointer events. However, firefox will allow a few

// otherwise it'll prepend the basename inside of the router).

// otherwise just use weeks or ordinals or gregorian, depending on what's specified

// otherwise our MenuItems dispatches a click event

// otherwise we will only clear a single timer when unmounting while two

// outwards just like a replace call would so the dev knows the cause

// override it with the color we want.

// page! required, because typescript can't yet see defaultProps to know that this won't be undefined

// page's first load. Thankfully, this version of Safari supports

// palette

// params.append('cleanupMode', cleanupMode);

// parent besides the portal parent.

// parent optional aspect is preferred as required.  Otherwise, we can get

// parent optional segments, where for example, /:two would explode _earlier_

// parse out unnecessary props

// parseInt parses a string to a first unavailable symbol

// paths in the route definitions.  Memory router locations won't be

// phone

// placement, which then needs to re-run all the modifiers, because the

// plus anything that's already in this unit

// pointer event to get through after a drag starts.

// pointer-events:none already applied to the iframe

// position: sticky

// positioning behaviour is almost identical for portalled and fixed,

// positions

// positive .length indicates that this rule contains pseudo

// prefer the async Popper#update method

// preferrable to falling back to setTimeout since it does not have

// prepend: true moves MUI styles to the top of the <head> so they're loaded first.

// preserved between calls to `flush` so that it can be resumed if

// pretend we've started with a comma

// prevent exposing of metadata key

// prevent mutable object.

// prevent scroll jump

// prevent the checkbox column from growing

// preventDefault prevents regular active styles from applying in Firefox

// previous page that didn't have an error. Because this wraps the entire

// priority over other events including IO, animation, reflow, and redraw

// private

// private ones if they exist.

// private subtags and unicode subtags have ordering requirements,

// properly positioned near its reference element

// properties

// props priority: `inProps` > `contextProps` > `themeDefaultProps`

// provide some affordance on touch devices

// public for test

// published in Safari

// pulling this into a separate file so adapter(s) that don't

// push the parent context's meta data into the context.

// px

// queue if the exception handled by Node.js’s

// ran on unmount

// rapidly by a visibility change.

// rather than checking the userAgent for "jsdom" we can do this check

// rawAsap.makeRequestCallFromTimer = makeRequestCallFromTimer

// react-select disables pointer events when isDisabled is true.

// react-transition-group#onExited

// readystate handler is calling before onerror or ontimeout handlers,

// reapply original body styles, if any

// recommended when something is entering screen

// recommended when something is leaving screen

// reducer returns their initial state. This effectively populates

// ref objects should be passed straight through without wrapping

// ref. https://www.w3.org/TR/uievents/#determine-keydown-keyup-keyCode

// reference, so return the new value at the same index

// registration has to happen here as the result of this might get consumed by `cx`

// regular focus change.

// relevant info - https://github.com/facebook/react/blob/2807d781a08db8e9873687fccc25c0f12b4fb3d4/packages/react/src/ReactLazy.js#L45

// remove cursor on desktop

// remove cursor on mobile whilst maintaining "scroll into view" behaviour

// remove old focus

// remove touch listeners

// removed from the DOM.

// render a fallback and render up until the appropriate fallback

// rent time.  For example, "30 4 1,15 * 5" would cause a command to be

// replace this with your mock boolean

// replace this with your mock cleanup rule

// replace this with your mock display name

// replace this with your mock id

// replace this with your mock log id

// required

// required for offset[Height, Top] > keyboard scroll

// reserved names hotfix

// reset bottom/top flags

// reset cursor explicitly in case ButtonBase is used

// reset move vars

// reset the form after successful mutation

// reset the initial height in case this scroll lock is used again

// rest params over-transpile for this case

// restoreLastFocus()

// results in a bundle that is larger by 1kB for some reason.

// retry: (failureCount, error: KSSOError) => {

// return `null` (no result)

// return `null` if there is no dataTransfer, or if `getData()` returns ""

// return `null` if there is no result, otherwise string

// return a primitive with prefix

// return bubble ordered result

// return first issue-free validation if it exists

// return focus only of last trap was removed

// return invalid

// return resolveLocaleBestFit(locale)

// return step by kind

// return the containing block

// return the last focusable one

// return the node so it can be chained (e.g. when within callback refs

// return value is generally a set of nodes with the tokens applied appropriately.

// return value is ignored

// returning `#document` an infinite loop won't occur.

// reverse-compat since 1.2; we always round down now, never up, and we do it by default

// revert to the last existing entry

// root splat route (<Route path="*">) since that matches internally against

// route context. This is explained in `Note on `<Link to>` values` in our

// route tree depth-first and child routes appear before their parents in

// rule.cleanupMode = cleanupMode;

// run at 4:30 am on the  1st and 15th of each month, plus every Friday."

// run catchall validation

// run the map function here instead so that the key is the computed one

// safely decrement active scroll locks

// same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error

// same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.

// same wrapper element whether fixed or portalled

// scheduleQuery.data &&

// scope is not a valid attribute for <td/> elements.

// screensize shrink.

// scroll the focused option into view if necessary

// scrollbars occur only if the user passes in a custom component with overflow: scroll

// scrolling. This problem does not impact ASAP because Safari 6.0 supports

// seconds

// see comment above on filled.zIndex

// see https://babeljs.io/docs/en/babel-plugin-transform-template-literals#loose

// see https://github.com/cloudflare/workerd/issues/902

// see if the thing being dragged is owned by us

// see the test case "use provided theme from a callback" in ThemeProvider.test.js

// see, e.g. https://github.com/wooorm/bcp-47

// select-option when !isMulti does not return option so we assume selected option is value

// separator doesn't make sense without the dropdown indicator

// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`

// server side rendering check

// set default values for missing stuff

// set our global flag

// set the --icon-primary-color to Canvas

// set the month and day again, this is necessary because year 2000 is a leap year, but year 100 is not

// set touch start so we can calculate touchmove delta

// setState callbacks and unmounting in testing, so always make sure that

// shadows

// shallow merge the 1st level structure of the theme.

// shift tasks off the queue after they have been executed.

// shim for using process in browser

// short-circuit for the simplest case

// should be a safe operation.  This avoids needing matchRoutes to be

// should give "April" but gives "March" in Safari

// should have correct order of operations (Edge bug)

// should work with symbols and should have deterministic property order (V8 bug)

// shouldn't do anything because there is nothing to operate on or with.

// sideEffect/returnFocus should happen by this time

// signedOffset('-5', '30') -> -330

// simulate the 'y' flag.

// since we inject focus related props into children we have to do a lookahead

// single select, by default, IS NOT clearable

// sizing

// skip restricted props in strict mode

// slice off the Error: ... line

// slider

// slight alteration to spec spacing to match visual spec result

// slowing down the queue of pending tasks, we rethrow the error in a

// slowly decelerate to a resting point.

// small laptop

// so check `userAgent` even if `.v8` exists, but 0

// so give them whatever is available below rather than the minHeight.

// so if obj.year is in 99, but obj.day makes it roll over into year 100,

// so if they don't have a tabindex attribute specifically set, assume it's 0.

// so it's not actually breaking anything

// so one can't possibly differentiate between a

// so that the check will be removed completely in production code

// so that the user can continue to interact with the page normally.

// so that using `css` from `emotion` and passing the result to the css prop works

// so that we don't need to depend on findDOMNode() from react-dom.

// so that when we are in an error state, it gets reset when a new location

// so the browser didn't dispatch the dragend event.

// so there will only every be a single render

// so they sort equally.

// so this token always has the same output as `XXX`

// so this token always has the same output as `XX`

// so this token always has the same output as `xx`

// so this token always has the same output as `xxx`

// so we are less likely to be impacted by events being stopped.

// so we are targeting the attribute

// so we can exit.

// so we can simply merge all the props without having to worry about extracting event handlers.

// so we don't have to add it to registered cache.

// so we have to prevent touchmove events via JS

// so we need to manually add the additional aria-describedby using ref.

// so we should call onloadend on the next 'tick'

// so we use the same component. the actual portalling logic is forked

// some

// some Chrome versions have non-configurable methods on DOMTokenList

// some old engines throws on access to some keys like `arguments` or `caller`

// some old implementations (like WebKit) could pass numbers as keys

// some other error. we should definitely know about these

// some updates should toggle the state of the input visibility

// something bad has happened if this is true!

// something went wrong, return default state

// soon as possible, but if you use `rawAsap` directly, you are responsible to

// soon as possible.

// sort all rows based on sort key and order

// source: https://html.spec.whatwg.org/multipage/tables.html#the-td-element

// source: https://stackoverflow.com/questions/49875255

// space

// spacing

// spacings

// specZ: The maximum height of a simple menu should be one or more rows less than the view

// specific for dark mode

// specify a basename with a trailing slash, we should support it

// stale/incorrect

// standard check

// standardize case and plurality in units

// start a drag

// state defaults to `null` because `window.history.state` does

// step into the shadow DOM of the parent of a slotted node

// stic(k)y

// stickiness is only relevant when we have less

// store any styles already applied to the body

// stored as a single string.

// stretch, max-content, min-content, fill-available

// stretching to full width / height of button

// strings are grouped next

// strings for SVG elements, returning NaN. Fallback to `0` in this case.

// stylis inserts \f after & to know when & where it should replace this sequence with the context selector

// submitMutation.mutate(data);

// subsequent tasks. The higher level `asap` function ensures that if an

// such as table ancestors and cross browser bugs.

// sync with `height` in `legend` styles

// sync with `lineHeight` in `legend` styles

// tabindex is allowed here so that keyboard users can scroll content

// tablet

// target

// task queue, are implemented in Internet Explorer 10, Safari 5.0-1, and Opera

// technically don't need this util, but just being

// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored

// text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break

// that begin with `/` and those that do not. However, this is problematic for

// that can be transformed.

// that consumers of our modal don't have to worry about this bug and are free to

// that could change in the future because of suspense and etc. but for now,

// that could have changed the offset by going over a DST, but we want to keep the ts the same

// that creating a cache works inside of render of a React component

// that is element itself

// that the user started the drag from.

// that the user would have been over if not for the honey pot

// the " " token has a special meaning (see unitForToken)

// the "L".

// the "flattened" version.

// the <svg> will define the property that has `currentColor`

// the `event.target` for the event

// the background and the text.

// the big drawback is that the css won't be editable in devtools

// the cache will never be null in the browser

// the calculations done by Date.UTC are using year 2000 - which is incorrect

// the closest parent that is a draggable element will be marked as

// the combined list

// the default drag preview from drawing in IE is to screenshot

// the drag and drop operations has finished. So if we get a "pointermove"

// the drag is not being sourced from any local drop targets

// the dragging state in which the node itself has zero opacity

// the enforcement of trailing slashes throughout the app

// the first events we will see are "dragenter" (and then "dragover").

// the first step is ignored, and it uses this `second` unit.

// the first time that user enters the site.

// the focused value is still in the selectValue, return it

// the focusedValue is not present in the next selectValue array by

// the initial state tree.

// the input element underneath

// the input field is drawn last and hides the label with an opaque background color.

// the latest "pointermove" for each interaction

// the location changing.

// the logic below assumes the overall value of the duration is positive

// the max length is how many rules we have per style tag, it's 65000 in speedy mode

// the menu is rendered

// the menu.

// the minimum 4ms penalty.

// the modifiers in the next step

// the new state tree with any relevant data from the old one.

// the parent element

// the portal will be added to the DOM before the children render.

// the rollup config.

// the select to close immediately since we open on space keydown

// the system locale is useful for human readable strings but annoying for parsing/formatting known formats

// the text of a text node between "1" and "-1".

// the tree but if it's a string tag, we know it won't

// their relative time formatter messages will be stored here.

// them later on the event path

// theme.mixins.gutters

// theme.palette.text.hint

// theme.spacing

// then /:one.  By always including the parent as required _for all children_

// then a drag has not started.

// then fall back to the previous step.

// then longer time intervals will be formatted as dates.

// then only those units are allowed (if they're present in locale data).

// then reset the ariaSelection to null

// then the props has already been manipulated beforehand as they that array is shared between it and its "rule parent"

// then the standard check will start working

// then this `unit` must be in the list of allowed `units`.

// then we can stop our search

// then we have _some_ form of path in our regex, so we should expect to

// then we will cancel the active drag

// there are no focusable items within the list.

// there. The easy solution is to only fire `hover` in `dragover` on FF.

// these are a stable ref because of the useTrackedRef hook

// these aren't really private, but nor are they really useful to document

// these changes should already be reflected in the optimistic result.

// this (e.g. Edge 2019, IE11, Safari)

// this because the error provided from the app state may be cleared without

// this does not support setting FOCUS_ALLOW within shadow dom

// this forcesimple option is never used (the only caller short-circuits on it, but it seems safer to leave)

// this function should always return with a value

// this happens in certain situations when diffing times in different zones,

// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper

// this ignores label

// this improves memory usage since we can avoid storing the whole style string

// this interaction is finished, we want to use

// this is a dumbed down version of fromObject() that runs about 60% faster

// this is a quicker (but less type safe) way to save quite some bytes from the bundle

// this is because firefox does not publish pointer coordinates during

// this is important as we need it to still block

// this is not 100% correct, we don't account for literal sequences here - like for example quoted strings

// this is safe because grey does not change between default light/dark mode

// this is the ultrafast version, works across browsers

// this is to be used in complex animations

// this is usually to convey state i.e. Checkbox checked -> not checked

// this means we will ignore elements which don't have a space in them which

// this method was added to unscopables after implementation

// this module should only have a default export

// this source is only for elements

// this special-case "token" represents a place where a macro-token expanded into a white-space literal

// this tooltip is now the active tooltip

// this weirdness brought to you by firefox

// this will handle "floating point madness" by removing extra decimal places

// this will make sure non-top layer components can get the correct top level value

// this works and i don't want to optimise for a future thing that we aren't sure about

// this would be a platform error

// three non-white characters are used.

// throws an error in rhino, see https://github.com/mozilla/rhino/issues/346

// time

// to a 4 milisecond delay, but once we're flushing, there's no delay

// to be run with `event.dataTransfer` as the "this" context

// to call the latest event functions

// to capture the MutationObserver implementation in a closure, were integrated

// to check if there is a `selected` item. We're looking for the last `selected`

// to create a new object while only changing some of the properties

// to creating the href.  If this is a root navigation, then just use the raw

// to definitely enumerate them.

// to detect and properly classify live websites as being built with React Router:

// to enable drag and drop

// to enable the correct native drop experience.

// to ensure that if React Query is used across

// to fully support server-side rendering.

// to handing off to history (but only if we're not in a data router,

// to learn the context in which each easing should be used.

// to prevent instances of other classes from extending ZodAny. this causes issues with catchall in ZodObject.

// to report a different scrollHeight depending on whether the last line

// to the current location's pathname and *not* the route pathname.

// to the first/last tabbable element inside the focus trap

// to the input and to support wrapping tags..

// to the result

// to this step is too high then return the previous step.

// to trim this data out, regardless of what OS we see it on.

// to use the scoped location instead of the global location.

// to work around IE not supporting custom drag previews.

// toObject with fallback for non-array-like ES3 strings

// todo - remap caching

// trailing slash on root links

// transition

// translateX(0) is a workaround for Safari transform scale bug

// truncate already-completed tasks.

// try to convert any decimals into smaller units if possible

// try {

// try...catch because iOS limits us to 100 pushState calls :/

// trying to handle it gracefully rather than throwing (for now)

// tslint:disable-next-line:prefer-for-of

// two indexes within its tonal palette.

// typography

// unbounded. To prevent memory exhaustion, the task queue will periodically

// undefined on initial render

// undefined/null or `spacing` <= 0

// under any circumstances.

// under certain conditions, notably when serving from a local HTML file

// unit conversion constants

// unless `future: true` option is passed.

// unset defaults from textbox inputs

// update callback

// update the collected properties after the first render

// url.searchParams.append('cleanupMode', cleanupMode);

// use `options.unit`.

// use case of https://github.com/emotion-js/emotion/issues/2675

// use parent's node as drag image. Neither works in IE though.

// use the last day of the right month

// useEffect(() => {

// useInterval(() => queryClient.invalidateQueries("cleanupStatus"), 5000)

// used for row presentation of radio/checkbox

// user called history.pushState or history.replaceState directly, in which

// using `cache` as our `isAndroid()` result will not change in a browser

// using `cache` as our `isFirefox()` result will not change in a browser

// using `capture: true` so that adding event listeners

// using a global regex with .exec is stateful so lastIndex has to be reset each time

// using capture so we are less likely to be impacted by event stopping

// using setTimeout to set  this variable after React/sidecar reaction

// utils is a library of generic helper functions non-specific to axios

// v1 escape string (unsure the purpose of post-pipe capture group)

// v8 likes predictible objects

// value

// values back as we have checked the `types`.

// variable here, but considering it's not in the API, it should probably

// vertical-l(r)

// vertical-r(l)

// w/o altered newTarget, lot of arguments case

// w/o altered newTarget, optimization for 0-4 arguments

// want them tried.

// want to crash if focus-visible malfunctioned?

// warn on circular references, don't crash

// wasQueuedAtLeastOnce: false,

// wasQueuedAtLeastOnce: z.boolean().optional().default(false),

// way to warn them about it since the page will refresh...

// we always keep this event listener active

// we are 'disabling' input with a button when there is an overlay

// we are collecting _actual_ drop targets, so these are

// we are setting display to flex because we want each portal to create a new stacking context

// we cache week data on the DT object and this intermediates the cache

// we can cancel any pending setState callbacks after we unmount.

// we can measure only "elements"

// we can't check .prototype since constructors produced by .bind haven't it

// we can't trust `scrollParent.scrollHeight` --> it may increase when

// we can't use just `it == null` since of `document.all` special case

// we could use the formatter, but this is an easier way to get the minimum string

// we don't care about invariant's own frame

// we don't support ZZZZ (PST) or ZZZZZ (Pacific Standard Time) in parsing

// we get some perf out of doing this here, annoyingly

// we have both start and end ellipsis

// we have recursive entered back the lock activation

// we haven't completely correct pre-ES6 way for getting `new.target`, so use this

// we know that the drag is over

// we manually apply the offset and substitute the zone as needed.

// we need to be able to conditionally cancel the event with `event.preventDefault()`

// we need to see if 'stickiness' applies

// we only need to add the styles to the registered cache if the

// we overshot the end point, backtrack cursor by 1

// we start at 1 since we've already handled the first arg

// we want drag drop operation to start

// we want to make sure we get all the events,

// we want to provide as much of the menu as possible to the user,

// we will tab to the next element

// we'll let the query continue so the result can be cached

// we'll need to consider how to pull off dev-tooling

// we're checking on event.target here instead of event.currentTarget, because we want to assert information

// we're doing this to avoid preconstruct's dead code elimination in this one case

// we're looking for a slash _after_ what's in `to`.  For example:

// weak collections should not contains .clear method

// webpackRuntimeModules

// weekNumber (W)

// weekYear (k)

// weekdays

// weekdays - format

// weekdays - standalone

// when  it's checked, slide the pseudo-element to right-most postion

// when formatting time intervals: `0 minutes`, `5 minutes`, `10 minutes`, etc.

// when isSearchable is false, react-select will create its own dummy input instead of using ours,

// when modal was unmounted before modalRef gets null

// when multiple layers trigger onClose in sequence.

// when the Select is initially focused

// when the drag is finished.

// when the select value should change, we should reset focusedValue

// when using suspense to prevent infinite loop of fetches

// when when somebody has screwed with setTimeout but no I.E. maddness

// where the user has an older version of dnd-core like in

// which allows the basename to have full control over the presence of a

// which are basically components used as a selectors.

// which formats a `0` in "future" mode by default, unless it's a `-0`.

// which takes priority over color and makes the text unreadable. Need to

// which would then trigger this effect every re-render.

// while `uu` pads single digit years to 2 characters and returns other years unchanged.

// while the component is disabled.

// white-space is always considered a literal in user-provided formats

// will abruptly end the dragging, which is not obvious.

// will have already cleared the dropTargets to `[]` (as that particular "dragleave" has a `relatedTarget` of `null`)

// will receive the previous state. This effectively populates

// will return status as 0 even though it's a successful request

// will still happily dispatch `dragover` despite target being no longer

// window.location.origin is "null" (the literal string value) in Firefox

// with a scroll distance, we perform scroll on the element

// with adding support of @@isConcatSpreadable and @@species

// with adding support of @@species

// with altered newTarget, not support built-in constructors

// with some probability this will prevent focus from cycling across the lock, but there is no tabbale elements to cycle to

// within the component based on `menuPosition`

// without changing the relative line height

// word boundary but that gives false positives on routes like

// workaround of WebKit ~ iOS Safari 10.1 bug

// workaround of old WebKit + `eval` bug

// workers, we enlist an interval handle that will try to fire

// workers. `global` is a provision of Browserify, Mr, Mrs, or Mop.

// would be better than imposing the 4ms delay of timers.

// wrap Symbol constructor for correct work with undefined description

// wrap values

// wrapped children approach.

// wrapped in strict mode code which doesn't define any globals.  It's inside a

// writing-mode

// x % n but takes the sign of n instead of x

// years

// yes, i know these hooks are used conditionally

// yes, we're potentially creating this on every render

// zIndex: 1 will raise the label above opaque background-colors of input.

// zone

// {

// { rule/at-rule

// {xs: 1, sm: 2, md: 3} => {xs: true, sm: true, md: true}

// | AC 1 |   1 |   1 |

// | AD 1     |     1 | 01 |   001 |  0001 | 00001 |

// | AD 12    |    12 | 12 |   012 |  0012 | 00012 |

// | AD 123   |   123 | 23 |   123 |  0123 | 00123 |

// | AD 1234  |  1234 | 34 |  1234 |  1234 | 01234 |

// | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |

// | BC 1 |   1 |   0 |

// | BC 2 |   2 |  -1 |

// | Year     |     y | yy |   yyy |  yyyy | yyyyy |

// | Year | `y` | `u` |

// |----------|-------|----|-------|-------|-------|

// |------|-----|-----|

// }

// } ; \0

// } from "../../utils/generateCron";

// } from "@ksso-easy-groups/shared/src/types/apiResponseTypes";

// });

// },

// }, [])

// }, []);

// }, []); // Dependency array ensures this runs only once

// };

// }> = createContext(AJS.params);

// …

// → dragging an element with `draggable="true"` that is not controlled by us

// → https://bugs.webkit.org/show_bug.cgi?id=222632

// → https://bugs.webkit.org/show_bug.cgi?id=279749

// 👋 Note: we are repurposing the `dragover` event as our `drag` event

// 🦊😤

// 🩸 must call `event.preventDefault()` to allow a browser drop to occur

//# sourceMappingURL=AsapQueue.mjs.map

//# sourceMappingURL=LocaleDataStore.js.map

//# sourceMappingURL=PluralRuleFunctions.js.map

//# sourceMappingURL=PluralRules.js.map

//# sourceMappingURL=RawTask.mjs.map

//# sourceMappingURL=RelativeTimeFormat.js.map

//# sourceMappingURL=TaskFactory.mjs.map

//# sourceMappingURL=TimeAgo.js.map

//# sourceMappingURL=cache.js.map

//# sourceMappingURL=context.js.map

//# sourceMappingURL=getPluralRulesLocale.js.map

//# sourceMappingURL=getStep.js.map

//# sourceMappingURL=getStepDenominator.js.map

//# sourceMappingURL=getStepMinTime.js.map

//# sourceMappingURL=getStyleByName.js.map

//# sourceMappingURL=getTimeToNextUpdate.js.map

//# sourceMappingURL=getTimeToNextUpdateForUnit.js.map

//# sourceMappingURL=helpers.js.map

//# sourceMappingURL=index.esm.mjs.map

//# sourceMappingURL=index.js.map

//# sourceMappingURL=invariant.esm.js.map

//# sourceMappingURL=isStyleObject.js.map

//# sourceMappingURL=locale.js.map

//# sourceMappingURL=luxon.js.map

//# sourceMappingURL=makeRequestCall.mjs.map

//# sourceMappingURL=miniMinute.js.map

//# sourceMappingURL=miniMinuteNow.js.map

//# sourceMappingURL=miniNow.js.map

//# sourceMappingURL=resolveLocale.js.map

//# sourceMappingURL=round.js.map

//# sourceMappingURL=roundMinute.js.map

//# sourceMappingURL=shallowequal.esm.js.map

//# sourceMappingURL=styled-components.browser.esm.js.map

//# sourceMappingURL=twitter.js.map

//# sourceMappingURL=twitterFirstMinute.js.map

//# sourceMappingURL=twitterMinute.js.map

//# sourceMappingURL=twitterMinuteNow.js.map

//# sourceMappingURL=twitterNow.js.map

//# sourceMappingURL=units.js.map

//#endregion

//#region Components

//#region Hooks

//#region Types and Constants

//#region createStaticHandler

//...Same here, that why we don't do className === undefined

//.filter(value => value.affectedUsersV2 != null

/// <reference types="user-agent-data-types" />

//////////                                 //////////

//////////      ZodDiscriminatedUnion      //////////

/////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////

//@ts-ignore

//NOTE: We use this test to be resilient in case classesFromProps is not of the expected type.

//TODO: change to -1 once demo values are not added

//actions column with buttons

//atlaskit-portal div

//atlaskit-portal-container div

//check for cleanup logs not undefined

//check if data is valid

//className

//cleanupRule from schemas-dc-v2.ts

//find the cleanupRuleFetched element where id = scheduledRunId

//next day

//normal enviroments in sane situations

//return merge(cache.registered, css, className);
