{"version":3,"file":"js/9733-1e486c19299808163395.js","mappings":"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","sources":["webpack://sniffspot/./node_modules/react-redux/es/utils/batch.js","webpack://sniffspot/./node_modules/react-redux/es/components/Context.js","webpack://sniffspot/./node_modules/react-redux/es/hooks/useReduxContext.js","webpack://sniffspot/./node_modules/react-redux/es/utils/useSyncExternalStore.js","webpack://sniffspot/./node_modules/react-redux/es/hooks/useSelector.js","webpack://sniffspot/./node_modules/react-redux/es/connect/selectorFactory.js","webpack://sniffspot/./node_modules/react-redux/es/connect/wrapMapToProps.js","webpack://sniffspot/./node_modules/react-redux/es/connect/invalidArgFactory.js","webpack://sniffspot/./node_modules/react-redux/es/connect/mergeProps.js","webpack://sniffspot/./node_modules/react-redux/es/utils/Subscription.js","webpack://sniffspot/./node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js","webpack://sniffspot/./node_modules/react-redux/es/utils/shallowEqual.js","webpack://sniffspot/./node_modules/react-redux/es/components/connect.js","webpack://sniffspot/./node_modules/react-redux/es/connect/mapStateToProps.js","webpack://sniffspot/./node_modules/react-redux/es/connect/mapDispatchToProps.js","webpack://sniffspot/./node_modules/react-redux/es/utils/bindActionCreators.js","webpack://sniffspot/./node_modules/react-redux/es/components/Provider.js","webpack://sniffspot/./node_modules/react-redux/es/hooks/useStore.js","webpack://sniffspot/./node_modules/react-redux/es/hooks/useDispatch.js","webpack://sniffspot/./node_modules/react-redux/es/index.js","webpack://sniffspot/./node_modules/react-redux/node_modules/react-is/cjs/react-is.production.min.js","webpack://sniffspot/./node_modules/react-redux/node_modules/react-is/index.js","webpack://sniffspot/./node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js","webpack://sniffspot/./node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.js","webpack://sniffspot/./node_modules/use-sync-external-store/shim/index.js","webpack://sniffspot/./node_modules/use-sync-external-store/shim/with-selector.js"],"sourcesContent":["// Default to a dummy \"batch\" implementation that just runs the callback\nfunction defaultNoopBatch(callback) {\n callback();\n}\n\nlet batch = defaultNoopBatch; // Allow injecting another batching function later\n\nexport const setBatch = newBatch => batch = newBatch; // Supply a getter just to skip dealing with ESM bindings\n\nexport const getBatch = () => batch;","import * as React from 'react';\nconst ContextKey = Symbol.for(`react-redux-context`);\nconst gT = typeof globalThis !== \"undefined\" ? globalThis :\n/* fall back to a per-module scope (pre-8.1 behaviour) if `globalThis` is not available */\n{};\n\nfunction getContext() {\n var _gT$ContextKey;\n\n if (!React.createContext) return {};\n const contextMap = (_gT$ContextKey = gT[ContextKey]) != null ? _gT$ContextKey : gT[ContextKey] = new Map();\n let realContext = contextMap.get(React.createContext);\n\n if (!realContext) {\n realContext = React.createContext(null);\n\n if (process.env.NODE_ENV !== 'production') {\n realContext.displayName = 'ReactRedux';\n }\n\n contextMap.set(React.createContext, realContext);\n }\n\n return realContext;\n}\n\nexport const ReactReduxContext = /*#__PURE__*/getContext();\nexport default ReactReduxContext;","import { useContext } from 'react';\nimport { ReactReduxContext } from '../components/Context';\n\n/**\r\n * Hook factory, which creates a `useReduxContext` hook bound to a given context. This is a low-level\r\n * hook that you should usually not need to call directly.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useReduxContext` hook bound to the specified context.\r\n */\nexport function createReduxContextHook(context = ReactReduxContext) {\n return function useReduxContext() {\n const contextValue = useContext(context);\n\n if (process.env.NODE_ENV !== 'production' && !contextValue) {\n throw new Error('could not find react-redux context value; please ensure the component is wrapped in a ');\n }\n\n return contextValue;\n };\n}\n/**\r\n * A hook to access the value of the `ReactReduxContext`. This is a low-level\r\n * hook that you should usually not need to call directly.\r\n *\r\n * @returns {any} the value of the `ReactReduxContext`\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useReduxContext } from 'react-redux'\r\n *\r\n * export const CounterComponent = () => {\r\n * const { store } = useReduxContext()\r\n * return
{store.getState()}
\r\n * }\r\n */\n\nexport const useReduxContext = /*#__PURE__*/createReduxContextHook();","export const notInitialized = () => {\n throw new Error('uSES not initialized!');\n};","import { useCallback, useDebugValue, useRef } from 'react';\nimport { createReduxContextHook, useReduxContext as useDefaultReduxContext } from './useReduxContext';\nimport { ReactReduxContext } from '../components/Context';\nimport { notInitialized } from '../utils/useSyncExternalStore';\nlet useSyncExternalStoreWithSelector = notInitialized;\nexport const initializeUseSelector = fn => {\n useSyncExternalStoreWithSelector = fn;\n};\n\nconst refEquality = (a, b) => a === b;\n/**\r\n * Hook factory, which creates a `useSelector` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useSelector` hook bound to the specified context.\r\n */\n\n\nexport function createSelectorHook(context = ReactReduxContext) {\n const useReduxContext = context === ReactReduxContext ? useDefaultReduxContext : createReduxContextHook(context);\n return function useSelector(selector, equalityFnOrOptions = {}) {\n const {\n equalityFn = refEquality,\n stabilityCheck = undefined,\n noopCheck = undefined\n } = typeof equalityFnOrOptions === 'function' ? {\n equalityFn: equalityFnOrOptions\n } : equalityFnOrOptions;\n\n if (process.env.NODE_ENV !== 'production') {\n if (!selector) {\n throw new Error(`You must pass a selector to useSelector`);\n }\n\n if (typeof selector !== 'function') {\n throw new Error(`You must pass a function as a selector to useSelector`);\n }\n\n if (typeof equalityFn !== 'function') {\n throw new Error(`You must pass a function as an equality function to useSelector`);\n }\n }\n\n const {\n store,\n subscription,\n getServerState,\n stabilityCheck: globalStabilityCheck,\n noopCheck: globalNoopCheck\n } = useReduxContext();\n const firstRun = useRef(true);\n const wrappedSelector = useCallback({\n [selector.name](state) {\n const selected = selector(state);\n\n if (process.env.NODE_ENV !== 'production') {\n const finalStabilityCheck = typeof stabilityCheck === 'undefined' ? globalStabilityCheck : stabilityCheck;\n\n if (finalStabilityCheck === 'always' || finalStabilityCheck === 'once' && firstRun.current) {\n const toCompare = selector(state);\n\n if (!equalityFn(selected, toCompare)) {\n let stack = undefined;\n\n try {\n throw new Error();\n } catch (e) {\n ;\n ({\n stack\n } = e);\n }\n\n console.warn('Selector ' + (selector.name || 'unknown') + ' returned a different result when called with the same parameters. This can lead to unnecessary rerenders.' + '\\nSelectors that return a new reference (such as an object or an array) should be memoized: https://redux.js.org/usage/deriving-data-selectors#optimizing-selectors-with-memoization', {\n state,\n selected,\n selected2: toCompare,\n stack\n });\n }\n }\n\n const finalNoopCheck = typeof noopCheck === 'undefined' ? globalNoopCheck : noopCheck;\n\n if (finalNoopCheck === 'always' || finalNoopCheck === 'once' && firstRun.current) {\n // @ts-ignore\n if (selected === state) {\n let stack = undefined;\n\n try {\n throw new Error();\n } catch (e) {\n ;\n ({\n stack\n } = e);\n }\n\n console.warn('Selector ' + (selector.name || 'unknown') + ' returned the root state when called. This can lead to unnecessary rerenders.' + '\\nSelectors that return the entire state are almost certainly a mistake, as they will cause a rerender whenever *anything* in state changes.', {\n stack\n });\n }\n }\n\n if (firstRun.current) firstRun.current = false;\n }\n\n return selected;\n }\n\n }[selector.name], [selector, globalStabilityCheck, stabilityCheck]);\n const selectedState = useSyncExternalStoreWithSelector(subscription.addNestedSub, store.getState, getServerState || store.getState, wrappedSelector, equalityFn);\n useDebugValue(selectedState);\n return selectedState;\n };\n}\n/**\r\n * A hook to access the redux store's state. This hook takes a selector function\r\n * as an argument. The selector is called with the store state.\r\n *\r\n * This hook takes an optional equality comparison function as the second parameter\r\n * that allows you to customize the way the selected state is compared to determine\r\n * whether the component needs to be re-rendered.\r\n *\r\n * @param {Function} selector the selector function\r\n * @param {Function=} equalityFn the function that will be used to determine equality\r\n *\r\n * @returns {any} the selected state\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useSelector } from 'react-redux'\r\n *\r\n * export const CounterComponent = () => {\r\n * const counter = useSelector(state => state.counter)\r\n * return
{counter}
\r\n * }\r\n */\n\nexport const useSelector = /*#__PURE__*/createSelectorHook();","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"initMapStateToProps\", \"initMapDispatchToProps\", \"initMergeProps\"];\nimport verifySubselectors from './verifySubselectors';\nexport function pureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, {\n areStatesEqual,\n areOwnPropsEqual,\n areStatePropsEqual\n}) {\n let hasRunAtLeastOnce = false;\n let state;\n let ownProps;\n let stateProps;\n let dispatchProps;\n let mergedProps;\n\n function handleFirstCall(firstState, firstOwnProps) {\n state = firstState;\n ownProps = firstOwnProps;\n stateProps = mapStateToProps(state, ownProps);\n dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n hasRunAtLeastOnce = true;\n return mergedProps;\n }\n\n function handleNewPropsAndNewState() {\n stateProps = mapStateToProps(state, ownProps);\n if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleNewProps() {\n if (mapStateToProps.dependsOnOwnProps) stateProps = mapStateToProps(state, ownProps);\n if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleNewState() {\n const nextStateProps = mapStateToProps(state, ownProps);\n const statePropsChanged = !areStatePropsEqual(nextStateProps, stateProps);\n stateProps = nextStateProps;\n if (statePropsChanged) mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleSubsequentCalls(nextState, nextOwnProps) {\n const propsChanged = !areOwnPropsEqual(nextOwnProps, ownProps);\n const stateChanged = !areStatesEqual(nextState, state, nextOwnProps, ownProps);\n state = nextState;\n ownProps = nextOwnProps;\n if (propsChanged && stateChanged) return handleNewPropsAndNewState();\n if (propsChanged) return handleNewProps();\n if (stateChanged) return handleNewState();\n return mergedProps;\n }\n\n return function pureFinalPropsSelector(nextState, nextOwnProps) {\n return hasRunAtLeastOnce ? handleSubsequentCalls(nextState, nextOwnProps) : handleFirstCall(nextState, nextOwnProps);\n };\n}\n// TODO: Add more comments\n// The selector returned by selectorFactory will memoize its results,\n// allowing connect's shouldComponentUpdate to return false if final\n// props have not changed.\nexport default function finalPropsSelectorFactory(dispatch, _ref) {\n let {\n initMapStateToProps,\n initMapDispatchToProps,\n initMergeProps\n } = _ref,\n options = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n const mapStateToProps = initMapStateToProps(dispatch, options);\n const mapDispatchToProps = initMapDispatchToProps(dispatch, options);\n const mergeProps = initMergeProps(dispatch, options);\n\n if (process.env.NODE_ENV !== 'production') {\n verifySubselectors(mapStateToProps, mapDispatchToProps, mergeProps);\n }\n\n return pureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, options);\n}","import verifyPlainObject from '../utils/verifyPlainObject';\nexport function wrapMapToPropsConstant( // * Note:\n// It seems that the dispatch argument\n// could be a dispatch function in some cases (ex: whenMapDispatchToPropsIsMissing)\n// and a state object in some others (ex: whenMapStateToPropsIsMissing)\n// eslint-disable-next-line no-unused-vars\ngetConstant) {\n return function initConstantSelector(dispatch) {\n const constant = getConstant(dispatch);\n\n function constantSelector() {\n return constant;\n }\n\n constantSelector.dependsOnOwnProps = false;\n return constantSelector;\n };\n} // dependsOnOwnProps is used by createMapToPropsProxy to determine whether to pass props as args\n// to the mapToProps function being wrapped. It is also used by makePurePropsSelector to determine\n// whether mapToProps needs to be invoked when props have changed.\n//\n// A length of one signals that mapToProps does not depend on props from the parent component.\n// A length of zero is assumed to mean mapToProps is getting args via arguments or ...args and\n// therefore not reporting its length accurately..\n// TODO Can this get pulled out so that we can subscribe directly to the store if we don't need ownProps?\n\nexport function getDependsOnOwnProps(mapToProps) {\n return mapToProps.dependsOnOwnProps ? Boolean(mapToProps.dependsOnOwnProps) : mapToProps.length !== 1;\n} // Used by whenMapStateToPropsIsFunction and whenMapDispatchToPropsIsFunction,\n// this function wraps mapToProps in a proxy function which does several things:\n//\n// * Detects whether the mapToProps function being called depends on props, which\n// is used by selectorFactory to decide if it should reinvoke on props changes.\n//\n// * On first call, handles mapToProps if returns another function, and treats that\n// new function as the true mapToProps for subsequent calls.\n//\n// * On first call, verifies the first result is a plain object, in order to warn\n// the developer that their mapToProps function is not returning a valid result.\n//\n\nexport function wrapMapToPropsFunc(mapToProps, methodName) {\n return function initProxySelector(dispatch, {\n displayName\n }) {\n const proxy = function mapToPropsProxy(stateOrDispatch, ownProps) {\n return proxy.dependsOnOwnProps ? proxy.mapToProps(stateOrDispatch, ownProps) : proxy.mapToProps(stateOrDispatch, undefined);\n }; // allow detectFactoryAndVerify to get ownProps\n\n\n proxy.dependsOnOwnProps = true;\n\n proxy.mapToProps = function detectFactoryAndVerify(stateOrDispatch, ownProps) {\n proxy.mapToProps = mapToProps;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(mapToProps);\n let props = proxy(stateOrDispatch, ownProps);\n\n if (typeof props === 'function') {\n proxy.mapToProps = props;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(props);\n props = proxy(stateOrDispatch, ownProps);\n }\n\n if (process.env.NODE_ENV !== 'production') verifyPlainObject(props, displayName, methodName);\n return props;\n };\n\n return proxy;\n };\n}","export function createInvalidArgFactory(arg, name) {\n return (dispatch, options) => {\n throw new Error(`Invalid value of type ${typeof arg} for ${name} argument when connecting component ${options.wrappedComponentName}.`);\n };\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport verifyPlainObject from '../utils/verifyPlainObject';\nimport { createInvalidArgFactory } from './invalidArgFactory';\nexport function defaultMergeProps(stateProps, dispatchProps, ownProps) {\n // @ts-ignore\n return _extends({}, ownProps, stateProps, dispatchProps);\n}\nexport function wrapMergePropsFunc(mergeProps) {\n return function initMergePropsProxy(dispatch, {\n displayName,\n areMergedPropsEqual\n }) {\n let hasRunOnce = false;\n let mergedProps;\n return function mergePropsProxy(stateProps, dispatchProps, ownProps) {\n const nextMergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n\n if (hasRunOnce) {\n if (!areMergedPropsEqual(nextMergedProps, mergedProps)) mergedProps = nextMergedProps;\n } else {\n hasRunOnce = true;\n mergedProps = nextMergedProps;\n if (process.env.NODE_ENV !== 'production') verifyPlainObject(mergedProps, displayName, 'mergeProps');\n }\n\n return mergedProps;\n };\n };\n}\nexport function mergePropsFactory(mergeProps) {\n return !mergeProps ? () => defaultMergeProps : typeof mergeProps === 'function' ? wrapMergePropsFunc(mergeProps) : createInvalidArgFactory(mergeProps, 'mergeProps');\n}","import { getBatch } from './batch'; // encapsulates the subscription logic for connecting a component to the redux store, as\n// well as nesting subscriptions of descendant components, so that we can ensure the\n// ancestor components re-render before descendants\n\nfunction createListenerCollection() {\n const batch = getBatch();\n let first = null;\n let last = null;\n return {\n clear() {\n first = null;\n last = null;\n },\n\n notify() {\n batch(() => {\n let listener = first;\n\n while (listener) {\n listener.callback();\n listener = listener.next;\n }\n });\n },\n\n get() {\n let listeners = [];\n let listener = first;\n\n while (listener) {\n listeners.push(listener);\n listener = listener.next;\n }\n\n return listeners;\n },\n\n subscribe(callback) {\n let isSubscribed = true;\n let listener = last = {\n callback,\n next: null,\n prev: last\n };\n\n if (listener.prev) {\n listener.prev.next = listener;\n } else {\n first = listener;\n }\n\n return function unsubscribe() {\n if (!isSubscribed || first === null) return;\n isSubscribed = false;\n\n if (listener.next) {\n listener.next.prev = listener.prev;\n } else {\n last = listener.prev;\n }\n\n if (listener.prev) {\n listener.prev.next = listener.next;\n } else {\n first = listener.next;\n }\n };\n }\n\n };\n}\n\nconst nullListeners = {\n notify() {},\n\n get: () => []\n};\nexport function createSubscription(store, parentSub) {\n let unsubscribe;\n let listeners = nullListeners; // Reasons to keep the subscription active\n\n let subscriptionsAmount = 0; // Is this specific subscription subscribed (or only nested ones?)\n\n let selfSubscribed = false;\n\n function addNestedSub(listener) {\n trySubscribe();\n const cleanupListener = listeners.subscribe(listener); // cleanup nested sub\n\n let removed = false;\n return () => {\n if (!removed) {\n removed = true;\n cleanupListener();\n tryUnsubscribe();\n }\n };\n }\n\n function notifyNestedSubs() {\n listeners.notify();\n }\n\n function handleChangeWrapper() {\n if (subscription.onStateChange) {\n subscription.onStateChange();\n }\n }\n\n function isSubscribed() {\n return selfSubscribed;\n }\n\n function trySubscribe() {\n subscriptionsAmount++;\n\n if (!unsubscribe) {\n unsubscribe = parentSub ? parentSub.addNestedSub(handleChangeWrapper) : store.subscribe(handleChangeWrapper);\n listeners = createListenerCollection();\n }\n }\n\n function tryUnsubscribe() {\n subscriptionsAmount--;\n\n if (unsubscribe && subscriptionsAmount === 0) {\n unsubscribe();\n unsubscribe = undefined;\n listeners.clear();\n listeners = nullListeners;\n }\n }\n\n function trySubscribeSelf() {\n if (!selfSubscribed) {\n selfSubscribed = true;\n trySubscribe();\n }\n }\n\n function tryUnsubscribeSelf() {\n if (selfSubscribed) {\n selfSubscribed = false;\n tryUnsubscribe();\n }\n }\n\n const subscription = {\n addNestedSub,\n notifyNestedSubs,\n handleChangeWrapper,\n isSubscribed,\n trySubscribe: trySubscribeSelf,\n tryUnsubscribe: tryUnsubscribeSelf,\n getListeners: () => listeners\n };\n return subscription;\n}","import * as React from 'react'; // React currently throws a warning when using useLayoutEffect on the server.\n// To get around it, we can conditionally useEffect on the server (no-op) and\n// useLayoutEffect in the browser. We need useLayoutEffect to ensure the store\n// subscription callback always has the selector from the latest render commit\n// available, otherwise a store update may happen between render and the effect,\n// which may cause missed updates; we also must ensure the store subscription\n// is created synchronously, otherwise a store update may occur before the\n// subscription is created and an inconsistent state may be observed\n// Matches logic in React's `shared/ExecutionEnvironment` file\n\nexport const canUseDOM = !!(typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined');\nexport const useIsomorphicLayoutEffect = canUseDOM ? React.useLayoutEffect : React.useEffect;","function is(x, y) {\n if (x === y) {\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nexport default function shallowEqual(objA, objB) {\n if (is(objA, objB)) return true;\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n\n const keysA = Object.keys(objA);\n const keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) return false;\n\n for (let i = 0; i < keysA.length; i++) {\n if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n\n return true;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"reactReduxForwardedRef\"];\n\n/* eslint-disable valid-jsdoc, @typescript-eslint/no-unused-vars */\nimport hoistStatics from 'hoist-non-react-statics';\nimport * as React from 'react';\nimport { isValidElementType, isContextConsumer } from 'react-is';\nimport defaultSelectorFactory from '../connect/selectorFactory';\nimport { mapDispatchToPropsFactory } from '../connect/mapDispatchToProps';\nimport { mapStateToPropsFactory } from '../connect/mapStateToProps';\nimport { mergePropsFactory } from '../connect/mergeProps';\nimport { createSubscription } from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\nimport shallowEqual from '../utils/shallowEqual';\nimport warning from '../utils/warning';\nimport { ReactReduxContext } from './Context';\nimport { notInitialized } from '../utils/useSyncExternalStore';\nlet useSyncExternalStore = notInitialized;\nexport const initializeConnect = fn => {\n useSyncExternalStore = fn;\n}; // Define some constant arrays just to avoid re-creating these\n\nconst EMPTY_ARRAY = [null, 0];\nconst NO_SUBSCRIPTION_ARRAY = [null, null]; // Attempts to stringify whatever not-really-a-component value we were given\n// for logging in an error message\n\nconst stringifyComponent = Comp => {\n try {\n return JSON.stringify(Comp);\n } catch (err) {\n return String(Comp);\n }\n};\n\n// This is \"just\" a `useLayoutEffect`, but with two modifications:\n// - we need to fall back to `useEffect` in SSR to avoid annoying warnings\n// - we extract this to a separate function to avoid closing over values\n// and causing memory leaks\nfunction useIsomorphicLayoutEffectWithArgs(effectFunc, effectArgs, dependencies) {\n useIsomorphicLayoutEffect(() => effectFunc(...effectArgs), dependencies);\n} // Effect callback, extracted: assign the latest props values to refs for later usage\n\n\nfunction captureWrapperProps(lastWrapperProps, lastChildProps, renderIsScheduled, wrapperProps, // actualChildProps: unknown,\nchildPropsFromStoreUpdate, notifyNestedSubs) {\n // We want to capture the wrapper props and child props we used for later comparisons\n lastWrapperProps.current = wrapperProps;\n renderIsScheduled.current = false; // If the render was from a store update, clear out that reference and cascade the subscriber update\n\n if (childPropsFromStoreUpdate.current) {\n childPropsFromStoreUpdate.current = null;\n notifyNestedSubs();\n }\n} // Effect callback, extracted: subscribe to the Redux store or nearest connected ancestor,\n// check for updates after dispatched actions, and trigger re-renders.\n\n\nfunction subscribeUpdates(shouldHandleStateChanges, store, subscription, childPropsSelector, lastWrapperProps, lastChildProps, renderIsScheduled, isMounted, childPropsFromStoreUpdate, notifyNestedSubs, // forceComponentUpdateDispatch: React.Dispatch,\nadditionalSubscribeListener) {\n // If we're not subscribed to the store, nothing to do here\n if (!shouldHandleStateChanges) return () => {}; // Capture values for checking if and when this component unmounts\n\n let didUnsubscribe = false;\n let lastThrownError = null; // We'll run this callback every time a store subscription update propagates to this component\n\n const checkForUpdates = () => {\n if (didUnsubscribe || !isMounted.current) {\n // Don't run stale listeners.\n // Redux doesn't guarantee unsubscriptions happen until next dispatch.\n return;\n } // TODO We're currently calling getState ourselves here, rather than letting `uSES` do it\n\n\n const latestStoreState = store.getState();\n let newChildProps, error;\n\n try {\n // Actually run the selector with the most recent store state and wrapper props\n // to determine what the child props should be\n newChildProps = childPropsSelector(latestStoreState, lastWrapperProps.current);\n } catch (e) {\n error = e;\n lastThrownError = e;\n }\n\n if (!error) {\n lastThrownError = null;\n } // If the child props haven't changed, nothing to do here - cascade the subscription update\n\n\n if (newChildProps === lastChildProps.current) {\n if (!renderIsScheduled.current) {\n notifyNestedSubs();\n }\n } else {\n // Save references to the new child props. Note that we track the \"child props from store update\"\n // as a ref instead of a useState/useReducer because we need a way to determine if that value has\n // been processed. If this went into useState/useReducer, we couldn't clear out the value without\n // forcing another re-render, which we don't want.\n lastChildProps.current = newChildProps;\n childPropsFromStoreUpdate.current = newChildProps;\n renderIsScheduled.current = true; // TODO This is hacky and not how `uSES` is meant to be used\n // Trigger the React `useSyncExternalStore` subscriber\n\n additionalSubscribeListener();\n }\n }; // Actually subscribe to the nearest connected ancestor (or store)\n\n\n subscription.onStateChange = checkForUpdates;\n subscription.trySubscribe(); // Pull data from the store after first render in case the store has\n // changed since we began.\n\n checkForUpdates();\n\n const unsubscribeWrapper = () => {\n didUnsubscribe = true;\n subscription.tryUnsubscribe();\n subscription.onStateChange = null;\n\n if (lastThrownError) {\n // It's possible that we caught an error due to a bad mapState function, but the\n // parent re-rendered without this component and we're about to unmount.\n // This shouldn't happen as long as we do top-down subscriptions correctly, but\n // if we ever do those wrong, this throw will surface the error in our tests.\n // In that case, throw the error from here so it doesn't get lost.\n throw lastThrownError;\n }\n };\n\n return unsubscribeWrapper;\n} // Reducer initial state creation for our update reducer\n\n\nconst initStateUpdates = () => EMPTY_ARRAY;\n\nfunction strictEqual(a, b) {\n return a === b;\n}\n/**\r\n * Infers the type of props that a connector will inject into a component.\r\n */\n\n\nlet hasWarnedAboutDeprecatedPureOption = false;\n/**\r\n * Connects a React component to a Redux store.\r\n *\r\n * - Without arguments, just wraps the component, without changing the behavior / props\r\n *\r\n * - If 2 params are passed (3rd param, mergeProps, is skipped), default behavior\r\n * is to override ownProps (as stated in the docs), so what remains is everything that's\r\n * not a state or dispatch prop\r\n *\r\n * - When 3rd param is passed, we don't know if ownProps propagate and whether they\r\n * should be valid component props, because it depends on mergeProps implementation.\r\n * As such, it is the user's responsibility to extend ownProps interface from state or\r\n * dispatch props or both when applicable\r\n *\r\n * @param mapStateToProps A function that extracts values from state\r\n * @param mapDispatchToProps Setup for dispatching actions\r\n * @param mergeProps Optional callback to merge state and dispatch props together\r\n * @param options Options for configuring the connection\r\n *\r\n */\n\nfunction connect(mapStateToProps, mapDispatchToProps, mergeProps, {\n // The `pure` option has been removed, so TS doesn't like us destructuring this to check its existence.\n // @ts-ignore\n pure,\n areStatesEqual = strictEqual,\n areOwnPropsEqual = shallowEqual,\n areStatePropsEqual = shallowEqual,\n areMergedPropsEqual = shallowEqual,\n // use React's forwardRef to expose a ref of the wrapped component\n forwardRef = false,\n // the context consumer to use\n context = ReactReduxContext\n} = {}) {\n if (process.env.NODE_ENV !== 'production') {\n if (pure !== undefined && !hasWarnedAboutDeprecatedPureOption) {\n hasWarnedAboutDeprecatedPureOption = true;\n warning('The `pure` option has been removed. `connect` is now always a \"pure/memoized\" component');\n }\n }\n\n const Context = context;\n const initMapStateToProps = mapStateToPropsFactory(mapStateToProps);\n const initMapDispatchToProps = mapDispatchToPropsFactory(mapDispatchToProps);\n const initMergeProps = mergePropsFactory(mergeProps);\n const shouldHandleStateChanges = Boolean(mapStateToProps);\n\n const wrapWithConnect = WrappedComponent => {\n if (process.env.NODE_ENV !== 'production' && !isValidElementType(WrappedComponent)) {\n throw new Error(`You must pass a component to the function returned by connect. Instead received ${stringifyComponent(WrappedComponent)}`);\n }\n\n const wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';\n const displayName = `Connect(${wrappedComponentName})`;\n const selectorFactoryOptions = {\n shouldHandleStateChanges,\n displayName,\n wrappedComponentName,\n WrappedComponent,\n // @ts-ignore\n initMapStateToProps,\n // @ts-ignore\n initMapDispatchToProps,\n initMergeProps,\n areStatesEqual,\n areStatePropsEqual,\n areOwnPropsEqual,\n areMergedPropsEqual\n };\n\n function ConnectFunction(props) {\n const [propsContext, reactReduxForwardedRef, wrapperProps] = React.useMemo(() => {\n // Distinguish between actual \"data\" props that were passed to the wrapper component,\n // and values needed to control behavior (forwarded refs, alternate context instances).\n // To maintain the wrapperProps object reference, memoize this destructuring.\n const {\n reactReduxForwardedRef\n } = props,\n wrapperProps = _objectWithoutPropertiesLoose(props, _excluded);\n\n return [props.context, reactReduxForwardedRef, wrapperProps];\n }, [props]);\n const ContextToUse = React.useMemo(() => {\n // Users may optionally pass in a custom context instance to use instead of our ReactReduxContext.\n // Memoize the check that determines which context instance we should use.\n return propsContext && propsContext.Consumer && // @ts-ignore\n isContextConsumer( /*#__PURE__*/React.createElement(propsContext.Consumer, null)) ? propsContext : Context;\n }, [propsContext, Context]); // Retrieve the store and ancestor subscription via context, if available\n\n const contextValue = React.useContext(ContextToUse); // The store _must_ exist as either a prop or in context.\n // We'll check to see if it _looks_ like a Redux store first.\n // This allows us to pass through a `store` prop that is just a plain value.\n\n const didStoreComeFromProps = Boolean(props.store) && Boolean(props.store.getState) && Boolean(props.store.dispatch);\n const didStoreComeFromContext = Boolean(contextValue) && Boolean(contextValue.store);\n\n if (process.env.NODE_ENV !== 'production' && !didStoreComeFromProps && !didStoreComeFromContext) {\n throw new Error(`Could not find \"store\" in the context of ` + `\"${displayName}\". Either wrap the root component in a , ` + `or pass a custom React context provider to and the corresponding ` + `React context consumer to ${displayName} in connect options.`);\n } // Based on the previous check, one of these must be true\n\n\n const store = didStoreComeFromProps ? props.store : contextValue.store;\n const getServerState = didStoreComeFromContext ? contextValue.getServerState : store.getState;\n const childPropsSelector = React.useMemo(() => {\n // The child props selector needs the store reference as an input.\n // Re-create this selector whenever the store changes.\n return defaultSelectorFactory(store.dispatch, selectorFactoryOptions);\n }, [store]);\n const [subscription, notifyNestedSubs] = React.useMemo(() => {\n if (!shouldHandleStateChanges) return NO_SUBSCRIPTION_ARRAY; // This Subscription's source should match where store came from: props vs. context. A component\n // connected to the store via props shouldn't use subscription from context, or vice versa.\n\n const subscription = createSubscription(store, didStoreComeFromProps ? undefined : contextValue.subscription); // `notifyNestedSubs` is duplicated to handle the case where the component is unmounted in\n // the middle of the notification loop, where `subscription` will then be null. This can\n // probably be avoided if Subscription's listeners logic is changed to not call listeners\n // that have been unsubscribed in the middle of the notification loop.\n\n const notifyNestedSubs = subscription.notifyNestedSubs.bind(subscription);\n return [subscription, notifyNestedSubs];\n }, [store, didStoreComeFromProps, contextValue]); // Determine what {store, subscription} value should be put into nested context, if necessary,\n // and memoize that value to avoid unnecessary context updates.\n\n const overriddenContextValue = React.useMemo(() => {\n if (didStoreComeFromProps) {\n // This component is directly subscribed to a store from props.\n // We don't want descendants reading from this store - pass down whatever\n // the existing context value is from the nearest connected ancestor.\n return contextValue;\n } // Otherwise, put this component's subscription instance into context, so that\n // connected descendants won't update until after this component is done\n\n\n return _extends({}, contextValue, {\n subscription\n });\n }, [didStoreComeFromProps, contextValue, subscription]); // Set up refs to coordinate values between the subscription effect and the render logic\n\n const lastChildProps = React.useRef();\n const lastWrapperProps = React.useRef(wrapperProps);\n const childPropsFromStoreUpdate = React.useRef();\n const renderIsScheduled = React.useRef(false);\n const isProcessingDispatch = React.useRef(false);\n const isMounted = React.useRef(false);\n const latestSubscriptionCallbackError = React.useRef();\n useIsomorphicLayoutEffect(() => {\n isMounted.current = true;\n return () => {\n isMounted.current = false;\n };\n }, []);\n const actualChildPropsSelector = React.useMemo(() => {\n const selector = () => {\n // Tricky logic here:\n // - This render may have been triggered by a Redux store update that produced new child props\n // - However, we may have gotten new wrapper props after that\n // If we have new child props, and the same wrapper props, we know we should use the new child props as-is.\n // But, if we have new wrapper props, those might change the child props, so we have to recalculate things.\n // So, we'll use the child props from store update only if the wrapper props are the same as last time.\n if (childPropsFromStoreUpdate.current && wrapperProps === lastWrapperProps.current) {\n return childPropsFromStoreUpdate.current;\n } // TODO We're reading the store directly in render() here. Bad idea?\n // This will likely cause Bad Things (TM) to happen in Concurrent Mode.\n // Note that we do this because on renders _not_ caused by store updates, we need the latest store state\n // to determine what the child props should be.\n\n\n return childPropsSelector(store.getState(), wrapperProps);\n };\n\n return selector;\n }, [store, wrapperProps]); // We need this to execute synchronously every time we re-render. However, React warns\n // about useLayoutEffect in SSR, so we try to detect environment and fall back to\n // just useEffect instead to avoid the warning, since neither will run anyway.\n\n const subscribeForReact = React.useMemo(() => {\n const subscribe = reactListener => {\n if (!subscription) {\n return () => {};\n }\n\n return subscribeUpdates(shouldHandleStateChanges, store, subscription, // @ts-ignore\n childPropsSelector, lastWrapperProps, lastChildProps, renderIsScheduled, isMounted, childPropsFromStoreUpdate, notifyNestedSubs, reactListener);\n };\n\n return subscribe;\n }, [subscription]);\n useIsomorphicLayoutEffectWithArgs(captureWrapperProps, [lastWrapperProps, lastChildProps, renderIsScheduled, wrapperProps, childPropsFromStoreUpdate, notifyNestedSubs]);\n let actualChildProps;\n\n try {\n actualChildProps = useSyncExternalStore( // TODO We're passing through a big wrapper that does a bunch of extra side effects besides subscribing\n subscribeForReact, // TODO This is incredibly hacky. We've already processed the store update and calculated new child props,\n // TODO and we're just passing that through so it triggers a re-render for us rather than relying on `uSES`.\n actualChildPropsSelector, getServerState ? () => childPropsSelector(getServerState(), wrapperProps) : actualChildPropsSelector);\n } catch (err) {\n if (latestSubscriptionCallbackError.current) {\n ;\n err.message += `\\nThe error may be correlated with this previous error:\\n${latestSubscriptionCallbackError.current.stack}\\n\\n`;\n }\n\n throw err;\n }\n\n useIsomorphicLayoutEffect(() => {\n latestSubscriptionCallbackError.current = undefined;\n childPropsFromStoreUpdate.current = undefined;\n lastChildProps.current = actualChildProps;\n }); // Now that all that's done, we can finally try to actually render the child component.\n // We memoize the elements for the rendered child component as an optimization.\n\n const renderedWrappedComponent = React.useMemo(() => {\n return (\n /*#__PURE__*/\n // @ts-ignore\n React.createElement(WrappedComponent, _extends({}, actualChildProps, {\n ref: reactReduxForwardedRef\n }))\n );\n }, [reactReduxForwardedRef, WrappedComponent, actualChildProps]); // If React sees the exact same element reference as last time, it bails out of re-rendering\n // that child, same as if it was wrapped in React.memo() or returned false from shouldComponentUpdate.\n\n const renderedChild = React.useMemo(() => {\n if (shouldHandleStateChanges) {\n // If this component is subscribed to store updates, we need to pass its own\n // subscription instance down to our descendants. That means rendering the same\n // Context instance, and putting a different value into the context.\n return /*#__PURE__*/React.createElement(ContextToUse.Provider, {\n value: overriddenContextValue\n }, renderedWrappedComponent);\n }\n\n return renderedWrappedComponent;\n }, [ContextToUse, renderedWrappedComponent, overriddenContextValue]);\n return renderedChild;\n }\n\n const _Connect = React.memo(ConnectFunction);\n\n // Add a hacky cast to get the right output type\n const Connect = _Connect;\n Connect.WrappedComponent = WrappedComponent;\n Connect.displayName = ConnectFunction.displayName = displayName;\n\n if (forwardRef) {\n const _forwarded = React.forwardRef(function forwardConnectRef(props, ref) {\n // @ts-ignore\n return /*#__PURE__*/React.createElement(Connect, _extends({}, props, {\n reactReduxForwardedRef: ref\n }));\n });\n\n const forwarded = _forwarded;\n forwarded.displayName = displayName;\n forwarded.WrappedComponent = WrappedComponent;\n return hoistStatics(forwarded, WrappedComponent);\n }\n\n return hoistStatics(Connect, WrappedComponent);\n };\n\n return wrapWithConnect;\n}\n\nexport default connect;","import { wrapMapToPropsConstant, wrapMapToPropsFunc } from './wrapMapToProps';\nimport { createInvalidArgFactory } from './invalidArgFactory';\nexport function mapStateToPropsFactory(mapStateToProps) {\n return !mapStateToProps ? wrapMapToPropsConstant(() => ({})) : typeof mapStateToProps === 'function' ? // @ts-ignore\n wrapMapToPropsFunc(mapStateToProps, 'mapStateToProps') : createInvalidArgFactory(mapStateToProps, 'mapStateToProps');\n}","import bindActionCreators from '../utils/bindActionCreators';\nimport { wrapMapToPropsConstant, wrapMapToPropsFunc } from './wrapMapToProps';\nimport { createInvalidArgFactory } from './invalidArgFactory';\nexport function mapDispatchToPropsFactory(mapDispatchToProps) {\n return mapDispatchToProps && typeof mapDispatchToProps === 'object' ? wrapMapToPropsConstant(dispatch => // @ts-ignore\n bindActionCreators(mapDispatchToProps, dispatch)) : !mapDispatchToProps ? wrapMapToPropsConstant(dispatch => ({\n dispatch\n })) : typeof mapDispatchToProps === 'function' ? // @ts-ignore\n wrapMapToPropsFunc(mapDispatchToProps, 'mapDispatchToProps') : createInvalidArgFactory(mapDispatchToProps, 'mapDispatchToProps');\n}","export default function bindActionCreators(actionCreators, dispatch) {\n const boundActionCreators = {};\n\n for (const key in actionCreators) {\n const actionCreator = actionCreators[key];\n\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = (...args) => dispatch(actionCreator(...args));\n }\n }\n\n return boundActionCreators;\n}","import * as React from 'react';\nimport { ReactReduxContext } from './Context';\nimport { createSubscription } from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\n\nfunction Provider({\n store,\n context,\n children,\n serverState,\n stabilityCheck = 'once',\n noopCheck = 'once'\n}) {\n const contextValue = React.useMemo(() => {\n const subscription = createSubscription(store);\n return {\n store,\n subscription,\n getServerState: serverState ? () => serverState : undefined,\n stabilityCheck,\n noopCheck\n };\n }, [store, serverState, stabilityCheck, noopCheck]);\n const previousState = React.useMemo(() => store.getState(), [store]);\n useIsomorphicLayoutEffect(() => {\n const {\n subscription\n } = contextValue;\n subscription.onStateChange = subscription.notifyNestedSubs;\n subscription.trySubscribe();\n\n if (previousState !== store.getState()) {\n subscription.notifyNestedSubs();\n }\n\n return () => {\n subscription.tryUnsubscribe();\n subscription.onStateChange = undefined;\n };\n }, [contextValue, previousState]);\n const Context = context || ReactReduxContext; // @ts-ignore 'AnyAction' is assignable to the constraint of type 'A', but 'A' could be instantiated with a different subtype\n\n return /*#__PURE__*/React.createElement(Context.Provider, {\n value: contextValue\n }, children);\n}\n\nexport default Provider;","import { ReactReduxContext } from '../components/Context';\nimport { useReduxContext as useDefaultReduxContext, createReduxContextHook } from './useReduxContext';\n/**\r\n * Hook factory, which creates a `useStore` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useStore` hook bound to the specified context.\r\n */\n\nexport function createStoreHook(context = ReactReduxContext) {\n const useReduxContext = // @ts-ignore\n context === ReactReduxContext ? useDefaultReduxContext : // @ts-ignore\n createReduxContextHook(context);\n return function useStore() {\n const {\n store\n } = useReduxContext(); // @ts-ignore\n\n return store;\n };\n}\n/**\r\n * A hook to access the redux store.\r\n *\r\n * @returns {any} the redux store\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useStore } from 'react-redux'\r\n *\r\n * export const ExampleComponent = () => {\r\n * const store = useStore()\r\n * return
{store.getState()}
\r\n * }\r\n */\n\nexport const useStore = /*#__PURE__*/createStoreHook();","import { ReactReduxContext } from '../components/Context';\nimport { useStore as useDefaultStore, createStoreHook } from './useStore';\n/**\r\n * Hook factory, which creates a `useDispatch` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useDispatch` hook bound to the specified context.\r\n */\n\nexport function createDispatchHook(context = ReactReduxContext) {\n const useStore = // @ts-ignore\n context === ReactReduxContext ? useDefaultStore : createStoreHook(context);\n return function useDispatch() {\n const store = useStore(); // @ts-ignore\n\n return store.dispatch;\n };\n}\n/**\r\n * A hook to access the redux `dispatch` function.\r\n *\r\n * @returns {any|function} redux store's `dispatch` function\r\n *\r\n * @example\r\n *\r\n * import React, { useCallback } from 'react'\r\n * import { useDispatch } from 'react-redux'\r\n *\r\n * export const CounterComponent = ({ value }) => {\r\n * const dispatch = useDispatch()\r\n * const increaseCounter = useCallback(() => dispatch({ type: 'increase-counter' }), [])\r\n * return (\r\n *
\r\n * {value}\r\n * \r\n *
\r\n * )\r\n * }\r\n */\n\nexport const useDispatch = /*#__PURE__*/createDispatchHook();","// The primary entry point assumes we're working with standard ReactDOM/RN, but\n// older versions that do not include `useSyncExternalStore` (React 16.9 - 17.x).\n// Because of that, the useSyncExternalStore compat shim is needed.\nimport { useSyncExternalStore } from 'use-sync-external-store/shim';\nimport { useSyncExternalStoreWithSelector } from 'use-sync-external-store/shim/with-selector';\nimport { unstable_batchedUpdates as batch } from './utils/reactBatchedUpdates';\nimport { setBatch } from './utils/batch';\nimport { initializeUseSelector } from './hooks/useSelector';\nimport { initializeConnect } from './components/connect';\ninitializeUseSelector(useSyncExternalStoreWithSelector);\ninitializeConnect(useSyncExternalStore); // Enable batched updates in our subscriptions for use\n// with standard React renderers (ReactDOM, React Native)\n\nsetBatch(batch);\nexport { batch };\nexport * from './exports';","/**\n * @license React\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=Symbol.for(\"react.element\"),c=Symbol.for(\"react.portal\"),d=Symbol.for(\"react.fragment\"),e=Symbol.for(\"react.strict_mode\"),f=Symbol.for(\"react.profiler\"),g=Symbol.for(\"react.provider\"),h=Symbol.for(\"react.context\"),k=Symbol.for(\"react.server_context\"),l=Symbol.for(\"react.forward_ref\"),m=Symbol.for(\"react.suspense\"),n=Symbol.for(\"react.suspense_list\"),p=Symbol.for(\"react.memo\"),q=Symbol.for(\"react.lazy\"),t=Symbol.for(\"react.offscreen\"),u;u=Symbol.for(\"react.module.reference\");\nfunction v(a){if(\"object\"===typeof a&&null!==a){var r=a.$$typeof;switch(r){case b:switch(a=a.type,a){case d:case f:case e:case m:case n:return a;default:switch(a=a&&a.$$typeof,a){case k:case h:case l:case q:case p:case g:return a;default:return r}}case c:return r}}}exports.ContextConsumer=h;exports.ContextProvider=g;exports.Element=b;exports.ForwardRef=l;exports.Fragment=d;exports.Lazy=q;exports.Memo=p;exports.Portal=c;exports.Profiler=f;exports.StrictMode=e;exports.Suspense=m;\nexports.SuspenseList=n;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return v(a)===h};exports.isContextProvider=function(a){return v(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return v(a)===l};exports.isFragment=function(a){return v(a)===d};exports.isLazy=function(a){return v(a)===q};exports.isMemo=function(a){return v(a)===p};\nexports.isPortal=function(a){return v(a)===c};exports.isProfiler=function(a){return v(a)===f};exports.isStrictMode=function(a){return v(a)===e};exports.isSuspense=function(a){return v(a)===m};exports.isSuspenseList=function(a){return v(a)===n};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===e||a===m||a===n||a===t||\"object\"===typeof a&&null!==a&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||void 0!==a.getModuleId)?!0:!1};exports.typeOf=v;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/**\n * @license React\n * use-sync-external-store-shim.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\");\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue;\nfunction useSyncExternalStore$2(subscribe, getSnapshot) {\n var value = getSnapshot(),\n _useState = useState({ inst: { value: value, getSnapshot: getSnapshot } }),\n inst = _useState[0].inst,\n forceUpdate = _useState[1];\n useLayoutEffect(\n function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n },\n [subscribe, value, getSnapshot]\n );\n useEffect(\n function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n });\n },\n [subscribe]\n );\n useDebugValue(value);\n return value;\n}\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n}\nfunction useSyncExternalStore$1(subscribe, getSnapshot) {\n return getSnapshot();\n}\nvar shim =\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ? useSyncExternalStore$1\n : useSyncExternalStore$2;\nexports.useSyncExternalStore =\n void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;\n","/**\n * @license React\n * use-sync-external-store-shim/with-selector.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\"),\n shim = require(\"use-sync-external-store/shim\");\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useSyncExternalStore = shim.useSyncExternalStore,\n useRef = React.useRef,\n useEffect = React.useEffect,\n useMemo = React.useMemo,\n useDebugValue = React.useDebugValue;\nexports.useSyncExternalStoreWithSelector = function (\n subscribe,\n getSnapshot,\n getServerSnapshot,\n selector,\n isEqual\n) {\n var instRef = useRef(null);\n if (null === instRef.current) {\n var inst = { hasValue: !1, value: null };\n instRef.current = inst;\n } else inst = instRef.current;\n instRef = useMemo(\n function () {\n function memoizedSelector(nextSnapshot) {\n if (!hasMemo) {\n hasMemo = !0;\n memoizedSnapshot = nextSnapshot;\n nextSnapshot = selector(nextSnapshot);\n if (void 0 !== isEqual && inst.hasValue) {\n var currentSelection = inst.value;\n if (isEqual(currentSelection, nextSnapshot))\n return (memoizedSelection = currentSelection);\n }\n return (memoizedSelection = nextSnapshot);\n }\n currentSelection = memoizedSelection;\n if (objectIs(memoizedSnapshot, nextSnapshot)) return currentSelection;\n var nextSelection = selector(nextSnapshot);\n if (void 0 !== isEqual && isEqual(currentSelection, nextSelection))\n return (memoizedSnapshot = nextSnapshot), currentSelection;\n memoizedSnapshot = nextSnapshot;\n return (memoizedSelection = nextSelection);\n }\n var hasMemo = !1,\n memoizedSnapshot,\n memoizedSelection,\n maybeGetServerSnapshot =\n void 0 === getServerSnapshot ? null : getServerSnapshot;\n return [\n function () {\n return memoizedSelector(getSnapshot());\n },\n null === maybeGetServerSnapshot\n ? void 0\n : function () {\n return memoizedSelector(maybeGetServerSnapshot());\n }\n ];\n },\n [getSnapshot, getServerSnapshot, selector, isEqual]\n );\n var value = useSyncExternalStore(subscribe, instRef[0], instRef[1]);\n useEffect(\n function () {\n inst.hasValue = !0;\n inst.value = value;\n },\n [value]\n );\n useDebugValue(value);\n return value;\n};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.production.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.development.js');\n}\n"],"names":["batch","callback","getBatch","ContextKey","Symbol","for","gT","globalThis","getContext","_gT$ContextKey","contextMap","Map","realContext","get","set","ReactReduxContext","createReduxContextHook","context","useContext","notInitialized","Error","useSyncExternalStoreWithSelector","refEquality","a","b","createSelectorHook","useReduxContext","selector","equalityFnOrOptions","equalityFn","stabilityCheck","noopCheck","store","subscription","getServerState","globalStabilityCheck","globalNoopCheck","wrappedSelector","useRef","useCallback","name","state","selectedState","addNestedSub","getState","useDebugValue","useSelector","_excluded","pureFinalPropsSelectorFactory","mapStateToProps","mapDispatchToProps","mergeProps","dispatch","areStatesEqual","areOwnPropsEqual","areStatePropsEqual","ownProps","stateProps","dispatchProps","mergedProps","hasRunAtLeastOnce","handleSubsequentCalls","nextState","nextOwnProps","propsChanged","stateChanged","dependsOnOwnProps","nextStateProps","statePropsChanged","handleNewState","wrapMapToPropsConstant","getConstant","constant","constantSelector","getDependsOnOwnProps","mapToProps","Boolean","length","wrapMapToPropsFunc","methodName","displayName","proxy","stateOrDispatch","undefined","props","createInvalidArgFactory","arg","options","wrappedComponentName","defaultMergeProps","nullListeners","notify","createSubscription","parentSub","unsubscribe","listeners","subscriptionsAmount","selfSubscribed","handleChangeWrapper","onStateChange","trySubscribe","subscribe","first","last","clear","listener","next","push","isSubscribed","prev","createListenerCollection","tryUnsubscribe","cleanupListener","removed","notifyNestedSubs","getListeners","useIsomorphicLayoutEffect","window","document","createElement","is","x","y","shallowEqual","objA","objB","keysA","Object","keys","keysB","i","prototype","hasOwnProperty","call","useSyncExternalStore","NO_SUBSCRIPTION_ARRAY","captureWrapperProps","lastWrapperProps","lastChildProps","renderIsScheduled","wrapperProps","childPropsFromStoreUpdate","current","strictEqual","pure","areMergedPropsEqual","forwardRef","Context","initMapStateToProps","mapStateToPropsFactory","initMapDispatchToProps","actionCreators","boundActionCreators","key","actionCreator","args","bindActionCreators","mapDispatchToPropsFactory","initMergeProps","hasRunOnce","nextMergedProps","wrapMergePropsFunc","mergePropsFactory","shouldHandleStateChanges","WrappedComponent","selectorFactoryOptions","ConnectFunction","propsContext","reactReduxForwardedRef","ContextToUse","Consumer","isContextConsumer","contextValue","didStoreComeFromProps","didStoreComeFromContext","childPropsSelector","_ref","bind","overriddenContextValue","isMounted","latestSubscriptionCallbackError","actualChildPropsSelector","subscribeForReact","reactListener","additionalSubscribeListener","didUnsubscribe","lastThrownError","checkForUpdates","latestStoreState","newChildProps","error","e","subscribeUpdates","effectFunc","effectArgs","dependencies","actualChildProps","err","message","stack","renderedWrappedComponent","ref","Provider","value","Connect","forwarded","children","serverState","previousState","createStoreHook","createDispatchHook","useStore","useDispatch","fn","newBatch","initializeConnect","u","c","d","f","g","h","k","l","m","n","p","q","t","v","r","$$typeof","type","exports","module","React","objectIs","useState","useEffect","useLayoutEffect","checkIfSnapshotChanged","inst","latestGetSnapshot","getSnapshot","nextValue","shim","_useState","forceUpdate","useMemo","getServerSnapshot","isEqual","instRef","hasValue","memoizedSelector","nextSnapshot","hasMemo","memoizedSnapshot","currentSelection","memoizedSelection","nextSelection","maybeGetServerSnapshot"],"sourceRoot":""}