@storesjs/stores 0.8.7 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. package/README.md +55 -29
  2. package/dist/createBaseStore.d.ts +6 -6
  3. package/dist/createDerivedStore.d.ts +9 -17
  4. package/dist/createQueryStore.d.ts +6 -21
  5. package/dist/createVirtualStore.d.ts +5 -5
  6. package/dist/env.native.d.ts +0 -2
  7. package/dist/env.web.d.ts +0 -1
  8. package/dist/hooks/useListen.d.ts +2 -2
  9. package/dist/hooks/useSyncExternalStoreWithSelector.d.ts +5 -0
  10. package/dist/index.d.ts +1 -14
  11. package/dist/index.shared.d.ts +14 -0
  12. package/dist/index.vanilla.d.ts +2 -0
  13. package/dist/internal/baseStore.d.ts +2 -0
  14. package/dist/internal/config.d.ts +64 -0
  15. package/dist/{utils → internal}/createStoreActions.d.ts +5 -6
  16. package/dist/internal/derivedStore/cascadeScheduler.d.ts +31 -0
  17. package/dist/internal/derivedStore/deriveProxy.d.ts +15 -0
  18. package/dist/internal/derivedStore/pathFinder.d.ts +26 -0
  19. package/dist/internal/derivedStore.d.ts +2 -0
  20. package/dist/internal/errors.d.ts +10 -0
  21. package/dist/{logger.d.ts → internal/logger.d.ts} +0 -7
  22. package/dist/internal/middleware/createHydrationGate.d.ts +20 -0
  23. package/dist/internal/queryStore/queryStoreDefaults.d.ts +8 -0
  24. package/dist/internal/queryStore.d.ts +2 -0
  25. package/dist/internal/runtime.d.ts +13 -0
  26. package/dist/internal/signal.d.ts +12 -0
  27. package/dist/internal/storage/storageCreators.d.ts +12 -0
  28. package/dist/{utils → internal}/storeUtils.d.ts +4 -22
  29. package/dist/internal/sync/browserSyncEngine.d.ts +3 -0
  30. package/dist/internal/sync/noopSyncEngine.d.ts +3 -0
  31. package/dist/internal/sync/syncEnhancer.d.ts +26 -0
  32. package/dist/{sync → internal/sync}/syncUtils.d.ts +1 -1
  33. package/dist/internal/utils/persistUtils.d.ts +9 -0
  34. package/dist/internal/virtualStore.d.ts +2 -0
  35. package/dist/native/index.js +1 -1
  36. package/dist/native/index.mjs +1 -1
  37. package/dist/plugins/chrome/chromeExtensionSyncEngine.d.ts +3 -1
  38. package/dist/queryStore/queryKey.d.ts +3 -0
  39. package/dist/queryStore/signalTypes.d.ts +14 -0
  40. package/dist/queryStore/types.d.ts +39 -33
  41. package/dist/store/attachStoreHook.react.d.ts +5 -0
  42. package/dist/store/attachStoreHook.vanilla.d.ts +6 -0
  43. package/dist/store/batchStoreNotifications.native.d.ts +3 -0
  44. package/dist/store/batchStoreNotifications.web.d.ts +2 -0
  45. package/dist/store/createStore.d.ts +6 -0
  46. package/dist/store/persist.d.ts +14 -0
  47. package/dist/store/stateUpdate.d.ts +10 -0
  48. package/dist/store/types.d.ts +108 -0
  49. package/dist/sync/types.d.ts +53 -128
  50. package/dist/types/functions.d.ts +19 -2
  51. package/dist/types/objects.d.ts +10 -3
  52. package/dist/types/setState.d.ts +22 -0
  53. package/dist/types/subscribe.d.ts +28 -0
  54. package/dist/types/useStoreCallSignatures.d.ts +2 -0
  55. package/dist/types/useStoreCallSignatures.react.d.ts +6 -0
  56. package/dist/types/useStoreCallSignatures.vanilla.d.ts +2 -0
  57. package/dist/types/utils.d.ts +4 -0
  58. package/dist/types.d.ts +59 -110
  59. package/dist/utils/core.d.ts +23 -4
  60. package/dist/utils/time.d.ts +0 -10
  61. package/dist/vanilla/createBaseStore.d.ts +35 -0
  62. package/dist/vanilla/createDerivedStore.d.ts +62 -0
  63. package/dist/vanilla/createQueryStore.d.ts +116 -0
  64. package/dist/vanilla/createVirtualStore.d.ts +39 -0
  65. package/dist/vanilla/env.web.d.ts +6 -0
  66. package/dist/vanilla/index.d.ts +1 -0
  67. package/dist/vanilla/index.js +1 -0
  68. package/dist/vanilla/index.mjs +1 -0
  69. package/dist/vanilla/index.shared.d.ts +13 -0
  70. package/dist/vanilla/index.vanilla.d.ts +1 -0
  71. package/dist/vanilla/internal/baseStore.d.ts +1 -0
  72. package/dist/vanilla/internal/config.d.ts +63 -0
  73. package/dist/vanilla/internal/createStoreActions.d.ts +23 -0
  74. package/dist/{derivedStore → vanilla/internal/derivedStore}/cascadeScheduler.d.ts +8 -1
  75. package/dist/vanilla/internal/derivedStore/deriveProxy.d.ts +14 -0
  76. package/dist/vanilla/internal/derivedStore/pathFinder.d.ts +25 -0
  77. package/dist/vanilla/internal/derivedStore.d.ts +1 -0
  78. package/dist/vanilla/internal/errors.d.ts +9 -0
  79. package/dist/vanilla/internal/logger.d.ts +9 -0
  80. package/dist/{middleware → vanilla/internal/middleware}/createHydrationGate.d.ts +1 -2
  81. package/dist/vanilla/internal/queryStore/queryStoreDefaults.d.ts +7 -0
  82. package/dist/vanilla/internal/queryStore.d.ts +1 -0
  83. package/dist/vanilla/internal/runtime.d.ts +12 -0
  84. package/dist/vanilla/internal/signal.d.ts +11 -0
  85. package/dist/vanilla/internal/storage/storageCreators.d.ts +11 -0
  86. package/dist/vanilla/internal/storeUtils.d.ts +45 -0
  87. package/dist/vanilla/internal/sync/browserSyncEngine.d.ts +2 -0
  88. package/dist/vanilla/internal/sync/noopSyncEngine.d.ts +2 -0
  89. package/dist/{sync → vanilla/internal/sync}/syncEnhancer.d.ts +6 -3
  90. package/dist/{utils → vanilla/internal/utils}/persistUtils.d.ts +2 -3
  91. package/dist/vanilla/internal/virtualStore.d.ts +1 -0
  92. package/dist/vanilla/queryStore/classes/SubscriptionManager.d.ts +66 -0
  93. package/dist/vanilla/queryStore/queryKey.d.ts +2 -0
  94. package/dist/vanilla/queryStore/signalTypes.d.ts +13 -0
  95. package/dist/vanilla/queryStore/types.d.ts +402 -0
  96. package/dist/vanilla/storage/storageTypes.d.ts +12 -0
  97. package/dist/vanilla/store/attachStoreHook.d.ts +5 -0
  98. package/dist/vanilla/store/attachStoreHook.vanilla.d.ts +5 -0
  99. package/dist/vanilla/store/batchStoreNotifications.web.d.ts +1 -0
  100. package/dist/vanilla/store/createStore.d.ts +5 -0
  101. package/dist/vanilla/store/persist.d.ts +13 -0
  102. package/dist/vanilla/store/stateUpdate.d.ts +9 -0
  103. package/dist/vanilla/store/types.d.ts +107 -0
  104. package/dist/vanilla/storesStorage.web.d.ts +2 -0
  105. package/dist/vanilla/sync/types.d.ts +114 -0
  106. package/dist/vanilla/types/functions.d.ts +23 -0
  107. package/dist/vanilla/types/objects.d.ts +10 -0
  108. package/dist/vanilla/types/setState.d.ts +21 -0
  109. package/dist/vanilla/types/subscribe.d.ts +27 -0
  110. package/dist/vanilla/types/useStoreCallSignatures.d.ts +1 -0
  111. package/dist/vanilla/types/useStoreCallSignatures.vanilla.d.ts +1 -0
  112. package/dist/vanilla/types/utils.d.ts +12 -0
  113. package/dist/vanilla/types.d.ts +285 -0
  114. package/dist/vanilla/utils/core.d.ts +25 -0
  115. package/dist/vanilla/utils/createAsyncMicrotaskScheduler.d.ts +34 -0
  116. package/dist/vanilla/utils/createMicrotaskScheduler.d.ts +27 -0
  117. package/dist/vanilla/utils/debounce.d.ts +21 -0
  118. package/dist/vanilla/utils/equality.d.ts +37 -0
  119. package/dist/vanilla/utils/hydrationCoordinator.d.ts +12 -0
  120. package/dist/vanilla/utils/promiseUtils.d.ts +1 -0
  121. package/dist/vanilla/utils/serialization.d.ts +13 -0
  122. package/dist/vanilla/utils/stringUtils.d.ts +6 -0
  123. package/dist/vanilla/utils/time.d.ts +36 -0
  124. package/dist/web/chrome.js +1 -1
  125. package/dist/web/chrome.mjs +1 -1
  126. package/dist/web/chunk-QJLWBD7M.mjs +1 -0
  127. package/dist/web/chunk-V4LHP7LR.mjs +1 -0
  128. package/dist/web/index.js +1 -1
  129. package/dist/web/index.mjs +1 -1
  130. package/dist/web/internal/runtime.js +1 -0
  131. package/dist/web/internal/runtime.mjs +1 -0
  132. package/package.json +21 -15
  133. package/dist/config.d.ts +0 -40
  134. package/dist/derivedStore/deriveProxy.d.ts +0 -25
  135. package/dist/hooks/compareHooks.d.ts +0 -50
  136. package/dist/signal.d.ts +0 -20
  137. package/dist/storage/storageCreators.d.ts +0 -22
  138. package/dist/sync/browserSyncEngine.d.ts +0 -3
  139. package/dist/sync/noopSyncEngine.d.ts +0 -3
  140. package/dist/sync/transport.d.ts +0 -113
  141. package/dist/web/chunk-MMPMCVRC.mjs +0 -1
@@ -0,0 +1,20 @@
1
+ import { StateCreator } from '../../types';
2
+ import { SyncContext } from '../sync/syncEnhancer';
3
+ type WrappedOnRehydrateStorage<S> = (userCallback: ((state: S) => ((finalState?: S, error?: unknown) => void) | void) | undefined, syncContext: SyncContext | undefined) => (state: S) => (finalState?: S, error?: unknown) => void;
4
+ /**
5
+ * Creates hydration-gating middleware that queues state updates until rehydration completes.
6
+ *
7
+ * **Before hydration**: Queues all `set()` calls and flushes them sequentially after rehydration.
8
+ *
9
+ * **After hydration**: Passes `set()` calls through synchronously without batching.
10
+ *
11
+ * This ensures persistence sees a fully rehydrated base state before applying queued updates,
12
+ * while keeping in-memory state changes synchronous post-hydration.
13
+ */
14
+ export declare function createHydrationGate<S>(stateCreator: StateCreator<S>): {
15
+ hydrationPromise: () => Promise<void>;
16
+ stateCreator: StateCreator<S>;
17
+ wrapOnRehydrateStorage: WrappedOnRehydrateStorage<S>;
18
+ };
19
+ export {};
20
+ //# sourceMappingURL=createHydrationGate.d.ts.map
@@ -0,0 +1,8 @@
1
+ import { Prettify } from '../../types/objects';
2
+ import { QueryStoreDefaults } from '../config';
3
+ export declare function getQueryStoreDefaults(): Prettify<Required<QueryStoreDefaults>>;
4
+ /**
5
+ * Exponential backoff: starts at `baseDelay` (5s), doubles each retry, capped at `maxDelay` (5m).
6
+ */
7
+ export declare function defaultRetryDelay(retryCount: number): number;
8
+ //# sourceMappingURL=queryStoreDefaults.d.ts.map
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=queryStore.d.ts.map
@@ -0,0 +1,13 @@
1
+ export { configureStores } from './config';
2
+ export { StoresError } from './errors';
3
+ export { QueryStatuses } from '../queryStore/types';
4
+ export { defaultRetryDelay } from './queryStore/queryStoreDefaults';
5
+ export { getQueryKey, parseQueryKey } from '../queryStore/queryKey';
6
+ export { applyStateUpdate } from '../store/stateUpdate';
7
+ export { replacer, reviver } from '../utils/serialization';
8
+ export { destroyStore, destroyStores, getStoreName, hasGetSnapshot, isDerivedStore, isPersistedStore, isQueryStore, isVirtualStore, } from './storeUtils';
9
+ export { identity, nullObject } from '../utils/core';
10
+ export { createStoreActions } from './createStoreActions';
11
+ export { deepEqual, shallowEqual } from '../utils/equality';
12
+ export { time } from '../utils/time';
13
+ //# sourceMappingURL=runtime.d.ts.map
@@ -0,0 +1,12 @@
1
+ import type { AttachValue } from '../queryStore/signalTypes';
2
+ import type { StoreApi } from '../store/types';
3
+ import type { EqualityFn, Selector, UnsubscribeFn } from '../types/subscribe';
4
+ export declare const attachValueSubscriptionMap: WeakMap<AttachValue<unknown>, Subscribe>;
5
+ export type Subscribe = (callback: () => void) => UnsubscribeFn;
6
+ export type GetValue = () => unknown;
7
+ export type SetValue = (path: unknown[], value: unknown) => void;
8
+ export declare function $<T>(store: StoreApi<T>): AttachValue<T>;
9
+ export declare function $<T, S>(store: StoreApi<T>, selector: Selector<T, S>, equalityFn?: EqualityFn<S>): AttachValue<S>;
10
+ export declare const createSignal: <T, S>(store: StoreApi<T>, selector: Selector<T, S>, equalityFn: EqualityFn<S>) => [Subscribe, GetValue, SetValue];
11
+ export declare function getAttachValueSubscribeFn<AttachVal extends AttachValue<unknown>>(attachVal: AttachVal): Subscribe | undefined;
12
+ //# sourceMappingURL=signal.d.ts.map
@@ -0,0 +1,12 @@
1
+ import type { AsyncPersistStorage, PersistStorageConfig } from '../../store/types';
2
+ import type { AsyncStorageInterface, BaseStoreOptions, EnforceStorageKey, SyncStorageInterface } from '../../types';
3
+ import type { SyncContext } from '../sync/syncEnhancer';
4
+ /**
5
+ * Creates a persist storage object for the base store.
6
+ */
7
+ export declare function createPersistStorage<S, PersistedState extends Partial<S>, PersistReturn>(options: EnforceStorageKey<BaseStoreOptions<S, PersistedState, PersistReturn>>, storage: AsyncStorageInterface | SyncStorageInterface | undefined, syncContext: SyncContext | undefined): PersistStorageConfig<S, PersistedState>;
8
+ /**
9
+ * Creates an asynchronous persist storage adapter.
10
+ */
11
+ export declare function createAsyncPersistStorage<S, PersistedState extends Partial<S>, PersistReturn>(storage: AsyncStorageInterface, options: EnforceStorageKey<BaseStoreOptions<S, PersistedState, PersistReturn>>, persistThrottleMs: number | undefined, syncContext?: SyncContext): AsyncPersistStorage<S, PersistedState>;
12
+ //# sourceMappingURL=storageCreators.d.ts.map
@@ -1,17 +1,6 @@
1
- import { StoreApi } from 'zustand';
2
- import { QueryStore, QueryStoreState } from '../queryStore/types';
3
- import { BaseStore, InferStoreState, PersistedStore, SetStateArgs } from '../types';
4
- export declare const StoreTags: Readonly<{
5
- QueryStore: symbol;
6
- VirtualStore: symbol;
7
- }>;
8
- type StoreTag = (typeof StoreTags)[keyof typeof StoreTags];
9
- export declare function assignStoreTag<S>(store: BaseStore<S>, tag: StoreTag): BaseStore<S>;
10
- /**
11
- * Helper that applies a `setState` update to the provided state.
12
- * Handles the `setState` discriminated union types internally.
13
- */
14
- export declare function applyStateUpdate<S>(state: S, ...setArgs: SetStateArgs<S>): S;
1
+ import type { QueryStore, QueryStoreState } from '../queryStore/types';
2
+ import type { StoreApi } from '../store/types';
3
+ import type { BaseStore, InferStoreState, PersistedStore } from '../types';
15
4
  /**
16
5
  * Calls the appropriate reset or destroy method on the store, if available.
17
6
  * Handles both `DerivedStore` and `QueryStore`.
@@ -27,12 +16,6 @@ export declare function destroyStores(stores: Partial<Record<string, BaseStore<u
27
16
  * Returns the name of the store, either from the `persist` options or the store itself.
28
17
  */
29
18
  export declare function getStoreName(store: BaseStore<unknown>): string;
30
- /**
31
- * Checks if a store has a `destroy` method.
32
- */
33
- export declare function hasDestroy<T extends StoreApi<unknown>>(store: T): store is T & {
34
- destroy: () => void;
35
- };
36
19
  /**
37
20
  * Checks if a store is a `DerivedStore` and reveals its internal `getSnapshot` method.
38
21
  */
@@ -53,12 +36,11 @@ export declare function isDerivedStore<T extends BaseStore<unknown> | StoreApi<u
53
36
  /**
54
37
  * Checks if a store is persisted.
55
38
  */
56
- export declare function isPersistedStore<T extends BaseStore<unknown>>(store: T): store is T & {
39
+ export declare function isPersistedStore<T extends BaseStore<unknown> | PersistedStore<unknown>>(store: T): store is T & {
57
40
  persist: PersistedStore<InferStoreState<T>>['persist'];
58
41
  };
59
42
  /**
60
43
  * Checks if a store is a virtual store.
61
44
  */
62
45
  export declare function isVirtualStore<T extends BaseStore<unknown> | StoreApi<unknown>>(store: T): store is T & BaseStore<InferStoreState<T>>;
63
- export {};
64
46
  //# sourceMappingURL=storeUtils.d.ts.map
@@ -0,0 +1,3 @@
1
+ import { SyncEngine } from '../../sync/types';
2
+ export declare function createBrowserSyncEngine(): SyncEngine;
3
+ //# sourceMappingURL=browserSyncEngine.d.ts.map
@@ -0,0 +1,3 @@
1
+ import { SyncEngine } from '../../sync/types';
2
+ export declare function createNoopSyncEngine(): SyncEngine;
3
+ //# sourceMappingURL=noopSyncEngine.d.ts.map
@@ -0,0 +1,26 @@
1
+ import { NormalizedSyncConfig } from '../../sync/types';
2
+ import { StateCreator } from '../../types';
3
+ export type SyncContext = {
4
+ isAsync: boolean;
5
+ clearFieldTimestamps: (snapshot: Record<string, number> | undefined) => void;
6
+ getFieldTimestampSnapshot: () => Record<string, number> | undefined;
7
+ getIsApplyingRemote: () => boolean;
8
+ getSessionId: () => string | undefined;
9
+ getTimestamp: () => number | undefined;
10
+ mergeFieldTimestamps: (fields: Record<string, number>) => void;
11
+ onHydrationComplete: (() => void) | undefined;
12
+ onHydrationFlushEnd: (() => void) | undefined;
13
+ setIsApplyingRemote: (value: boolean) => void;
14
+ setSessionId: (sessionId: string) => void;
15
+ setTimestamp: (timestamp: number) => void;
16
+ setWithoutPersist: (<_T extends (..._: unknown[]) => void | Promise<void>, Args extends unknown[]>(..._: Args) => void | Promise<void>) | undefined;
17
+ };
18
+ export declare function createSyncedStateCreator<T extends Record<string, unknown>>(stateCreator: StateCreator<T>, config: NormalizedSyncConfig<T>, isAsync: boolean): {
19
+ stateCreator: StateCreator<T>;
20
+ syncContext: SyncContext;
21
+ };
22
+ /**
23
+ * Readable indices for `FieldMetadata` tuples.
24
+ */
25
+ export declare const TIMESTAMP: 0, SESSION_ID: 1;
26
+ //# sourceMappingURL=syncEnhancer.d.ts.map
@@ -1,4 +1,4 @@
1
- import { FieldMetadata } from './types';
1
+ import { FieldMetadata } from '../../sync/types';
2
2
  /**
3
3
  * Helper to create `FieldMetadata` tuples.
4
4
  */
@@ -0,0 +1,9 @@
1
+ import type { StorageValue } from '../../storage/storageTypes';
2
+ /**
3
+ * Default partialize function if none is provided. It omits top-level store
4
+ * methods and keeps all other state.
5
+ */
6
+ export declare function omitStoreMethods<S, PersistedState extends Partial<S> = Partial<S>>(state: S): PersistedState;
7
+ export declare function defaultSerializeState<PersistedState>(storageValue: StorageValue<PersistedState>, shouldUseReplacer: boolean): string;
8
+ export declare function defaultDeserializeState<PersistedState>(serializedState: string, shouldUseReviver: boolean): StorageValue<PersistedState>;
9
+ //# sourceMappingURL=persistUtils.d.ts.map
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=virtualStore.d.ts.map
@@ -1 +1 @@
1
- var e=require("react-native"),t=require("react-native-mmkv"),r=require("zustand/middleware"),n=require("zustand/traditional"),o=require("use-sync-external-store/shim/with-selector"),i=require("react"),s="ios"===e.Platform.OS;e.Platform.OS;var c="development"===process.env.NODE_ENV,a="test"===process.env.NODE_ENV;function u(e){let r;function n(){if(r)return r;try{const n=function(e){if("function"==typeof t.createMMKV)return t.createMMKV({id:e});if("function"==typeof t.MMKV)return new t.MMKV({id:e});throw new Error("[stores]: react-native-mmkv module does not export MMKV/createMMKV.")}(e);let o;if("function"==typeof n.delete){const e=n.delete;o=t=>e.call(n,t)}else if("function"==typeof n.remove){const e=n.remove;o=t=>e.call(n,t)}if("function"!=typeof o)throw new Error("[stores]: Storage instance does not conform to expected interface");r={clearAll:()=>n.clearAll(),contains:e=>n.contains(e),delete:e=>o(e),get:e=>n.getString(e),getAllKeys:()=>n.getAllKeys(),set:(e,t)=>n.set(e,t)}}catch(e){throw new Error("[stores] react-native-mmkv could not be loaded.\n\nPersisted stores require a storage backend. Either:\n - Install MMKV (the default): yarn add react-native-mmkv\n - Or provide a custom adapter via configureStores()\n"+(e instanceof Error?`\n${e.message}`:""))}return function(e){if(!e||"function"!=typeof e.get||"function"!=typeof e.set||"function"!=typeof e.delete||"function"!=typeof e.clearAll)throw new Error("[stores]: Storage instance does not conform to expected interface")}(r),r}return{clearAll:()=>n().clearAll(),contains:e=>n().contains(e),delete:e=>n().delete(e),get:e=>n().get(e),getAllKeys:()=>n().getAllKeys(),set:(e,t)=>n().set(e,t)}}var l=class extends Error{constructor(e,t){super(e),this.name="StoresError",this.cause=d(t)}},f={debug:(e,t)=>{c&&console.debug(e,t)},error:(e,t)=>{c&&!a&&console.error(e,t)},info:(e,t)=>{c&&console.info(e,t)},warn:(e,t)=>{c&&console.warn(e,t)}};function d(e){return e instanceof Error?e:new Error(String(e))}var y,p,h=class{destroy(){}publish(){}},g=class{constructor(){this.sessionId="noop"}register(e){return new h}},b=!1;function m(){return p??(p=v(void 0))}function S(){b=!0}function v(e){return{storage:e?.storage??u(e?.storageKeyPrefix??"stores:"),syncEngine:e?.syncEngine??(y||(y=new g),y)}}function w(){let e,t,r=!1;return{complete:function(){!r&&e&&(r=!0,e(),e=void 0,t=void 0)},isHydrated:function(){return r},fail:function(n){!r&&t&&(r=!0,t(n),t=void 0,e=void 0)},promise:new Promise((r,n)=>{e=r,t=n})}}var O=Math.max,j=Math.min;function q(e,t=0,r={}){let n,o,i,s,c,a,u=0,l=!1,f=!1,d=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function y(t){const r=n,i=o;return n=o=void 0,u=t,s=r?e.apply(i,r):e.apply(i),s}function p(e){const r=e-(a??0);return void 0===a||r>=t||r<0||f&&void 0!==i&&e-u>=i}function h(){const e=A();if(p(e))return g(e);c=setTimeout(h,function(e){const r=t-(e-(a??0));return f&&void 0!==i?j(r,i-(e-u)):r}(e))}function g(e){return c=void 0,d&&n?y(e):(n=o=void 0,s)}function b(...e){const r=A(),i=p(r);if(n=e,o=this,a=r,i){if(void 0===c)return function(e){return u=e,c=setTimeout(h,t),l?y(e):s}(a);if(f)return clearTimeout(c),c=setTimeout(h,t),y(a)}return void 0===c&&(c=setTimeout(h,t)),s}return t=F(t)||0,function(e){const t=typeof e;return null!==e&&("object"===t||"function"===t)}(r)&&(l=!!r.leading,f="maxWait"in r,i=f?O(F(r.maxWait)||0,t):void 0,d="trailing"in r?!!r.trailing:d),b.cancel=function(){void 0!==c&&clearTimeout(c),u=0,n=a=o=c=void 0},b.flush=function(){return void 0===c?s:g(A())},b}function A(){return"undefined"!=typeof performance&&"function"==typeof performance.now?performance.now():Date.now()}function F(e){if("number"==typeof e)return e;if("symbol"==typeof e||void 0===e)return NaN;if("object"==typeof e&&null!==e){const t="function"==typeof e.valueOf?e.valueOf():e;e="object"==typeof t?t+"":t}return"string"!=typeof e?0===e?e:+e:(e=e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),/^0b[01]+$/i.test(e)?parseInt(e.slice(2),2):/^0o[0-7]+$/i.test(e)?parseInt(e.slice(2),8):/^[-+]0x[0-9a-f]+$/i.test(e)?NaN:+e)}function C(e,t){return t instanceof Map?{__type:"Map",entries:Array.from(t.entries())}:t instanceof Set?{__type:"Set",values:Array.from(t)}:t}function I(e,t){return function(e){return"object"==typeof e&&null!==e&&"__type"in e&&"Map"===e.__type}(t)?new Map(t.entries):function(e){return"object"==typeof e&&null!==e&&"__type"in e&&"Set"===e.__type}(t)?new Set(t.values):t}function k(e){if(null!==e&&"object"==typeof e){const t={};for(const[r,n]of Object.entries(e))"function"!=typeof n&&(t[r]=n);return t}return e}var M={ms:e=>e,seconds:e=>1e3*e,minutes:e=>M.seconds(60*e),hours:e=>M.minutes(60*e),days:e=>M.hours(24*e),weeks:e=>M.days(7*e),infinity:1/0,zero:0},T=a?0:s?M.seconds(3):M.seconds(5);function E(e){return t=>{if("string"!=typeof t)throw new l("[createBaseStore]: Received non-string serialized state without a custom deserializer. Provide a deserializer on the store or storage adapter.");return function(e,t){try{return JSON.parse(e,t?I:void 0)}catch(e){throw f.error(new l("[createBaseStore]: Failed to deserialize persisted store data"),{error:e}),e}}(t,e)}}function K(e){return t=>function(e,t){try{return JSON.stringify(e,t?C:void 0)}catch(e){throw f.error(new l("[createBaseStore]: Failed to serialize store data"),{error:e}),e}}(t,e)}var x=Object.freeze({shouldClear:!1});function z(e,t,r){if(!t||!e)return x;const n=e.getFieldTimestampSnapshot();return function(e,t){const r=e.getSessionId(),n=e.getTimestamp();void 0!==r&&void 0!==n&&(t.syncMetadata={origin:r,timestamp:n})}(e,r),r.syncMetadata?n&&Object.keys(n).length>0?(r.syncMetadata.fields=n,{fieldSnapshot:n,shouldClear:!0}):(delete r.syncMetadata.fields,{fieldSnapshot:n,shouldClear:!1}):{fieldSnapshot:n,shouldClear:!1}}function D(e,t){e&&t.shouldClear&&t.fieldSnapshot&&Object.keys(t.fieldSnapshot).length&&e.clearFieldTimestamps(t.fieldSnapshot)}function P(e){return!!e&&!!e.getIsApplyingRemote()}var $=Object.freeze({QueryStore:Symbol("queryStore"),VirtualStore:Symbol("virtualStore")});function L(e,...t){if(!0===t[1])return J(t[0])?t[0](e):t[0];const r=J(t[0])?t[0](e):t[0];return function(e){return Array.isArray(e)}(e)?r:{...e,...r}}function R(e,t){W(e)?e.getState().reset(t?.clearQueryCache):function(e){return"destroy"in e}(e)&&e.destroy()}function N(e){return Q(e)?e.persist.getOptions().name??e.name:e.name}function V(e){return"getSnapshot"in e}function W(e){return $.QueryStore in e}function Q(e){return"persist"in e}function _(e){return $.VirtualStore in e}function J(e){return"function"==typeof e}var[U,B]=[0,1];function H(e,t,r){if(!e)return!0;const n=e[U],o=e[B];return!(t<n)&&(t>n||r>o)}function G(e,t){return Object.prototype.hasOwnProperty.call(t,e)}function X(e,t){if(!c)return!0;if(null===e||null===t)return e===t;const r=typeof e;return r===typeof t&&("object"!==r||Object.prototype.toString.call(e)===Object.prototype.toString.call(t))}function Y(e){if(null===e)return"null";const t=typeof e;return"object"===t?Object.prototype.toString.call(e):t}function Z(e,t){S();const o=void 0!==t&&"string"==typeof t.storageKey,i=o?t.storageKey:void 0,s=t?.sync?function(e,t){if(!e)return null;if(!0===e){if(!t)throw new l("[createBaseStore]: sync: true requires a storageKey to inherit the key from");return{key:t}}if("string"==typeof e)return{key:e};const r=e,n=r.key??t;if(!n)throw new l("[createBaseStore]: sync requires either a key in the config or a storageKey to inherit from");return{...r,key:n}}(t.sync,i):void 0,c=o?t.storage??m().storage:void 0,a=s?function(e,t,r){const n=t.engine??m().syncEngine,o=function(e){let t,r,n,o=!1;return{isAsync:e,clearFieldTimestamps:function(e){if(e&&n){for(const t of Object.entries(e)){const e=t[0],r=t[1];n[e]===r&&delete n[e]}Object.keys(n).length||(n=void 0)}},getFieldTimestampSnapshot:function(){if(n)return{...n}},getIsApplyingRemote:()=>o,getSessionId:()=>t,getTimestamp:()=>r,mergeFieldTimestamps:function(e){if(n)for(const t of Object.entries(e)){const e=t[0],r=t[1],o=n[e];(void 0===o||r>o)&&(n[e]=r)}else n={...e}},onHydrationComplete:void 0,onHydrationFlushEnd:void 0,setIsApplyingRemote:e=>o=e,setSessionId:e=>t=e,setTimestamp:e=>r=e,setWithoutPersist:void 0}}(r);return{stateCreator:(i,s,c)=>{const a=new Map,u=[],d=[];let y=null,p=!1,h=!1,g=0,b=null,m=[],S=Promise.resolve(),v=!r;const w=(e,t)=>{if(o?.setSessionId&&o?.setTimestamp&&n.sessionId&&(o.setSessionId(n.sessionId),o.setTimestamp(e),o.mergeFieldTimestamps&&t.length>0)){const r=Object.create(null);for(const n of t)r[String(n)]=e;o.mergeFieldTimestamps(r)}},O=function(e,t){if(p||!b)return t?i(e,t):i(e);const r=(()=>{const e=Date.now(),t=e>g?e:g+1;return g=t,t})();let o=[],s=Object.create(null);const c=n=>{const i=L(n,e,t);for(const e of m)Object.is(i[e],n[e])||(o.push(e),s[e]=i[e]);return o.length&&w(r,o),i},u=t?i(c,!0):i(c),l=()=>{o.length&&(e=>{const t=n.sessionId;for(const r of e.keys)a.set(r,[e.timestamp,t]);y&&h?y.publish?.({replace:e.replace,sessionId:t,timestamp:e.timestamp,values:e.values}):d.push(e)})({keys:o,replace:t??!1,values:s,timestamp:r})};return(f=u)&&"object"==typeof f&&"then"in f&&"function"==typeof f.then?u.finally(l):(l(),u);var f},j=c.setState;c.setState=O;const q=e(O,s,c);if(m=t.fields??function(e){const t=[];for(const r of Object.entries(e)){if("function"==typeof r[1])continue;const e=r[0];t.push(e)}return t}(q),!m.length)return q;b=new Set(m);const A=async e=>{g=Math.max(g,e.timestamp);const r=Object.create(null),n=s(),i=e.timestamp;let c;if(e.replace)for(const t of m)G(t,e.values)||H(a.get(t),i,e.sessionId)&&(c??(c=[])).push(t);for(const o of m){if(!G(o,e.values))continue;if(!b?.has(o))continue;if(!H(a.get(o),i,e.sessionId))continue;const s=t.merge?.[o];if(s){const t=e.values[o],c=n[o];if(void 0!==t){const u=s(t,c,n,e.values),d=void 0!==c?c:t;if(!X(u,d))return void f.error(new l(`[sync] Merge function for field "${String(o)}" returned ${Y(u)} but expected ${Y(d)}`));r[o]=u,a.set(o,[i,e.sessionId])}}else r[o]=e.values[o],a.set(o,[i,e.sessionId])}if(Object.keys(r).length>0||c?.length){p=!0,o&&o.setIsApplyingRemote(!0);try{if(e.replace){const e={...n};let t=!1;if(c?.length){t=!0;for(const t of c)delete e[t],a.delete(t)}for(const n in r){if(!Object.prototype.hasOwnProperty.call(r,n))continue;const o=r[n];void 0!==o&&(Object.is(e[n],o)||(t=!0),e[n]=o)}if(!t)return;await(o.setWithoutPersist??j)(e,!0)}else await(o.setWithoutPersist??j)(r)}finally{p=!1,o&&o.setIsApplyingRemote(!1)}}},F=e=>{r?S=S.then(()=>A(e)):A(e)};y=n.register({apply:e=>{v?F(e):u.push(e)},delta:t.delta,fields:m,getState:s,key:t.key});const C=()=>{h=!0,(()=>{if(y&&d.length){for(const e of d){const t=n.sessionId;for(const r of e.keys)a.set(r,[e.timestamp,t]);w(e.timestamp,e.keys),y.publish?.({replace:e.replace,sessionId:t,timestamp:e.timestamp,values:e.values})}d.length=0}})()},I=()=>{v=!0,(()=>{if(!u.length)return;const e=u.slice();u.length=0;for(const t of e)F(t)})()};return r&&o?(o.onHydrationComplete=C,o.onHydrationFlushEnd=I):y.onHydrated?(y.onHydrated(C),I()):(C(),I()),q},syncContext:o}}(e,s,c?.async??!1):void 0,u=a?.stateCreator??e;if(!o)return n.createWithEqualityFn()(r.subscribeWithSelector(u),Object.is);const y=c?.async?function(e){let t,r,n,o=!1;return{hydrationPromise:()=>o?t?.promise??r??(r=Promise.resolve()):(t||(t=w()),t.promise),stateCreator:(r,i,s)=>{let c;return n=()=>{if(c?.length){for(const e of c)e[1]?s.setState(e[0],e[1]):s.setState(e[0]);c=void 0}},e((...e)=>o?!0===e[1]?r(e[0],e[1]):r(e[0]):(t||(t=w()),c||(c=[]),c.push(e),t.promise),i,s)},wrapOnRehydrateStorage:(e,r)=>i=>{const s=e?.(i);return(e,i)=>{o=!0,r?.onHydrationComplete?.(),n&&n(),r?.onHydrationFlushEnd?.(),i?t?.fail(d(i)):t?.complete(),s?.(e,i)}}}}(u):null,p=function(e,t,r){const n=t??e.storage??m().storage,o=(e.sync?void 0:e.persistThrottleMs??T)||void 0,i=e.version??0,s=n.async?function(e,t,r,n){const o=!(t.deserializer||t.serializer||e.deserializer||e.serializer),i="object"==typeof t.sync&&!0===(t.sync.injectStorageMetadata??t.sync.engine?.injectStorageMetadata),s=t.partialize??k,c=t.deserializer??e.deserializer??E(o),a=t.serializer??e.serializer??K(o);async function u(t,r){try{if(P(n))return;r.state,r.state=s(r.state);const o=z(n,i,r),c=a(r);try{await e.set(t,c),D(n,o)}catch(e){f.error(new l("[createBaseStore]: Failed to persist store data"),{error:e})}}catch(e){f.error(new l("[createBaseStore]: Failed to serialize persisted store data"),{error:e})}}const d=void 0!==r?q(u,r,{leading:!1,maxWait:r,trailing:!0}):function(e){let t,r=null;return function(...n){return t=n,r||(r=new Promise(n=>{queueMicrotask(async()=>{try{await e(...t)}finally{r=null,n()}})})),r}}(u);return{getItem:async t=>{const r=await e.get(t);return void 0===r?null:c(r)},setItem:async(e,t)=>{if(!n?.getIsApplyingRemote())return await d(e,t)},removeItem:async t=>{try{await e.delete(t)}catch(e){f.error(new l("[createBaseStore]: Failed to delete persisted store data"),{error:e})}}}}(n,e,o,r):function(e,t,r,n){const o=!(t.deserializer||t.serializer||e.deserializer||e.serializer),i="object"==typeof t.sync&&!0===(t.sync.injectStorageMetadata??t.sync.engine?.injectStorageMetadata),s=t.partialize??k,c=t.deserializer??e.deserializer??E(o),a=t.serializer??e.serializer??K(o);function u(t,r){try{if(P(n))return;r.state,r.state=s(r.state);const o=z(n,i,r),c=a(r);try{e.set(t,c),D(n,o)}catch(e){f.error(new l("[createBaseStore]: Failed to persist store data"),{error:e})}}catch(e){f.error(new l("[createBaseStore]: Failed to persist store data"),{error:e})}}const d=void 0!==r?q(u,r,{leading:!1,maxWait:r,trailing:!0}):u;return{getItem:t=>{const r=e.get(t);return void 0===r?null:c(r)},setItem:(e,t)=>{n?.getIsApplyingRemote()||d(e,t)},removeItem:t=>{try{e.delete(t)}catch(e){f.error(new l("[createBaseStore]: Failed to delete persisted store data"),{error:e})}}}}(n,e,o,r);return{persistStorage:s,version:i}}(t,c,a?.syncContext),h=y?y.wrapOnRehydrateStorage(t.onRehydrateStorage,a?.syncContext):t.onRehydrateStorage,g=y?(e,t,r)=>(a&&(a.syncContext.setWithoutPersist=r.setState),y.stateCreator(e,t,r)):u,b=n.createWithEqualityFn()(r.subscribeWithSelector(r.persist(g,function(e,t,r){const n={name:e.storageKey,onRehydrateStorage:r,storage:t.persistStorage,version:t.version};return void 0!==e.merge&&(n.merge=e.merge),void 0!==e.migrate&&(n.migrate=e.migrate),n}(t,p,h))),Object.is);return y?Object.assign(b,{persist:Object.assign(b.persist,{hydrationPromise:y.hydrationPromise})}):b}function ee(e,t,r="s"){return 1===t?e:`${e}${r}`}function te(e,t,r){const n=t.get(e);if(!n){const n=function(e,t,r,n=[]){return e&&"object"==typeof e?re(e,n,t,r,new WeakSet,new WeakMap):(r(t,n,!0),e)}(V(e)?e.getSnapshot():e.getState(),e,r);return t.set(e,n),n}return n}function re(e,t,r,n,o,i){return new Proxy(e,{get(s,c,a){if(o.has(s))return Reflect.get(s,c,a);if("__proto__"===c||"symbol"==typeof c)return c===Symbol.iterator&&(n(r,t,!0),o.add(s)),Reflect.get(s,c,a);const u=Reflect.get(s,c,s),l=String(c),f=t.concat(l);if("function"==typeof u)return Object.prototype.hasOwnProperty.call(s,c)?function(...e){return n(r,f,!0,{method:l,args:e.length?e:void 0}),Reflect.apply(u,s,e)}:(n(r,t,!0),u.bind(e));const d=!!u&&"object"==typeof u;return n(r,f,!d),d?(i.has(u)||i.set(u,re(u,f,r,n,o,i)),i.get(u)):u},getOwnPropertyDescriptor:(e,i)=>(n(r,t,!0),o.add(e),Reflect.getOwnPropertyDescriptor(e,i)),has:(e,o)=>(n(r,t,!0),Reflect.has(e,o)),ownKeys:e=>(n(r,t,!0),o.add(e),Reflect.ownKeys(e))})}function ne(e){return t=>ie(t,e)}function oe(e,t){const r=e.slice(0,-1);return e=>{const n=ie(e,r),o=n?.[t.method];return"function"==typeof o?o.apply(n,t.args):void 0}}function ie(e,t){let r=e;for(const e of t){if(!r||"object"!=typeof r)return r;r=r[e]}return r}function se(){const e=new Map;return{buildProxySubscriptions(t,r){const n=new Set;for(const[t,r]of e)ue(r,t,[],0,n);!function(e,t,r){for(const r of e)t(r.store,r.invocation?oe(r.path,r.invocation):ne(r.path));r&&function(e){const t=e.size;console.log(`[📡 ${t} ${ee("Proxy Subscription",t)} 📡]:`,JSON.stringify(Array.from(e).map(e=>{const t=N(e.store),r=e.path.join(".");if(!e.invocation)return r?`$(${t}).${r}`:`$(${t})`;const n=e.invocation.args?.length??0;return`$(${t}).${r}${n?`(${n}_${ee("arg",n)})`:"()"}`}),null,2))}(e)}(n,t,r)},trackPath(t,r,n,o){let i=e.get(t);i||(i=ce(),e.set(t,i)),ae(i,r,0,n,o)}}}function ce(){return Object.create(null)}function ae(e,t,r,n,o){if(r===t.length)return n&&(e.isLeaf=!0),void(o&&(e.invocation=o));e.children||(e.children=ce());const i=t[r];let s=e.children?.[i];s||(s=ce(),e.children[i]=s),ae(s,t,r+1,n,o)}function ue(e,t,r,n,o,i=1){const s=e.children;if(!s)return void o.add({store:t,path:r,invocation:e.invocation,isLeaf:e.isLeaf??!1});const c=Object.keys(s),a=c.length;if(0!==a)if(e.isLeaf||n>=i&&a>1){o.add({store:t,path:r,invocation:e.invocation,isLeaf:e.isLeaf??!1});for(const e of c){const c=s[e];c.invocation&&ue(c,t,[...r,e],n+1,o,i)}}else if(n<i&&a>1&&!e.isLeaf)for(const e of c)ue(s[e],t,[...r,e],n+1,o,i);else{if(1===a){const e=c[0];return void ue(s[e],t,[...r,e],n+1,o,i)}o.add({store:t,path:r,invocation:e.invocation,isLeaf:e.isLeaf??!1})}else o.add({store:t,path:r,invocation:e.invocation,isLeaf:e.isLeaf??!1})}var le=!1,fe=!1,de=new Map,ye=new Map,pe=new Map,he=null,ge=1/0;function be(){return le}function me(){return he}function Se(){le||(le=!0,fe||(fe=!0,queueMicrotask(()=>{fe=!1,e.unstable_batchedUpdates(()=>{for(;ye.size>0;){const e=ge,t=pe.get(e);if(t){pe.delete(e);for(const e of t)ye.delete(e);he=e;for(const e of t)e();if(he=null,pe.size>0){ge=1/0;for(const e of pe.keys())e<ge&&(ge=e)}else ge=1/0}else{ge=1/0;for(const e of pe.keys())e<ge&&(ge=e)}}for(;de.size>0;){const e=Array.from(de.values());de.clear();for(const t of e)t()}}),le=!1,he=null,ye.clear(),pe.clear(),ge=1/0})))}function ve(e,t){le&&de.set(e,t)}var we=e=>e;function Oe(e,t=Object.is){return r=function(e,t=Object.is){const{debounceOptions:r,debugMode:n,equalityFn:o,keepAlive:i,lockDependencies:s}="function"==typeof(l=t)?{debounceOptions:void 0,debugMode:!1,equalityFn:l,keepAlive:!1,lockDependencies:!1}:{debounceOptions:l.debounce,debugMode:(c&&l.debugMode)??!1,equalityFn:l.equalityFn??Object.is,keepAlive:l.keepAlive??!1,lockDependencies:l.lockDependencies??!1},a=String(qe+=1),u=new Set;var l;i&&u.add(Ae);const f=new Set;let d,y,p=je,h=!1,g=!0,b=!0,m=0,S=!1,v=null,w=je;function O(e,t,r){if(!b||!u.size)return(t??we)(V(e)?e.getSnapshot():e.getState());if(!t)return d||(d=new WeakMap),y||(y=se()),te(e,d,y.trackPath);const n=e.subscribe(t,x,{equalityFn:r??Object.is,isDerivedStore:!0});return f.add(n),t(V(e)?e.getSnapshot():e.getState())}function j(e){for(const t of f)t(e);f.clear()}let A=!0;function F(){if(!g&&Fe(p))return p;g=!1,b&&j(!0);const t=p,r=Fe(t);p=function(t){A=!0;const r=p,i=e(t);return Fe(r)&&o(r,i)?(n&&console.log("[🥷 Derive Complete 🥷]: No change detected"),A=!1,r):i}(O);const i=n&&(!r||"verbose"===n&&b);if(i){r?"verbose"===n&&console.log("[🌀 Rebuilding Subscriptions 🌀]: Created…"):console.log("[🌀 Initial Derive Complete 🌀]: Created…");const e=f.size;console.log(`[🎯 ${e} ${ee("Selector Subscription",e)} 🎯]`)}return y&&b&&(y.buildProxySubscriptions((e,t)=>{const r=e.subscribe(t,x,{equalityFn:Object.is,isDerivedStore:!0});f.add(r)},i),d=void 0,y=void 0),A&&r&&function(e,t){const r=function(){const e=u.has(Ae)?u.size-1:u.size;return m>0&&m<e}(),o=!m||r,i=r||null!==me()||be()&&o;r&&Se(),n&&console.log(`[📻 Derive Complete 📻]: Notifying ${u.size} ${ee("watcher",u.size)}`);for(const t of u){if("function"==typeof t||!t.isDerivedWatcher)continue;const r=t.selector(e);if(!t.equalityFn(t.currentSlice,r)){const e=t.currentSlice;t.currentSlice=r,t.listener(r,e)}}i?S||(S=!0,Fe(w)||(w=t),ve(a,I)):C(e,t)}(p,t),s&&(b=!1),p}function C(e,t){for(const r of u)if("function"==typeof r)r(e,t);else if(!r.isDerivedWatcher){const t=r.selector(e);if(!r.equalityFn(r.currentSlice,t)){const e=r.currentSlice;r.currentSlice=t,r.listener(t,e)}}}function I(){if(!u.size)return;if(g&&!m&&F(),!Fe(p))return;const e=Fe(w)?w:p;C(p,e),S=!1,w=je}const k=r?q(T,"number"==typeof r?r:r.delay,"number"==typeof r?{leading:!1,maxWait:r,trailing:!0}:r):void 0,M=k??(()=>{h||(h=!0,queueMicrotask(T))});function T(){u.size&&(h=!1,g&&F())}function E(e){e?queueMicrotask(()=>{u.size||D()}):D()}function K(){T(),v=null}function x(){if(!g){if(g=!0,!k){if(m){Se();const e=me(),t=null===e?0:e+1;if(null!==v&&t<=v)return;return v=t,void function(e,t){if(!le)return;const r=t<0?0:0|t,n=ye.get(e);if(void 0===n){ye.set(e,r);let t=pe.get(r);return t||(t=new Set,pe.set(r,t)),t.add(e),void(r<ge&&(ge=r))}if(r>n){const t=pe.get(n);if(t&&(t.delete(e),0===t.size&&(pe.delete(n),n===ge))){ge=1/0;for(const e of pe.keys())e<ge&&(ge=e)}ye.set(e,r);let o=pe.get(r);o||(o=new Set,pe.set(r,o)),o.add(e),r<ge&&(ge=r)}}(K,t)}if(be())return void(S||(S=!0,Fe(p)&&(w=p),ve(a,I)))}v=null,M()}}function z(){return g||!Fe(p)?u.size>0?F():e(O):p}function D(e=!0){i&&e||(k?.cancel(),j(),u.clear(),m=0,y=void 0,d=void 0,b=!0,h=!1,g=!0,p=je,S=!1,w=je,v=null)}return{destroy:()=>D(!1),flushUpdates:function(){u.size&&(k?k.flush():g&&F())},getSnapshot:function(){if(!Fe(p)){u.add(Ae);const e=F();return u.delete(Ae),e}return h&&T(),p},getState:z,subscribe:function(...e){if(1===e.length){const t=e[0];return u.add(t),1!==u.size||Fe(p)||z(),()=>{u.delete(t),u.size||E(!1)}}const[t,r,n]=e,o=n?.equalityFn??Object.is,i=n?.isDerivedStore??!1,s={currentSlice:void 0,equalityFn:o,isDerivedWatcher:i,listener:r,selector:t};return u.add(s),s.currentSlice=t(z()),i&&(m+=1),n?.fireImmediately&&r(s.currentSlice,s.currentSlice),()=>{u.delete(s),i&&(m-=1),u.size||E(i)}},getInitialState:()=>{throw new Error("[createDerivedStore]: getInitialState() is not available on derived stores.")},setState:()=>{throw new Error("[createDerivedStore]: setState() is not available on derived stores.")}}}(e,t),Object.assign(function(e=we,t=void 0){return o.useSyncExternalStoreWithSelector(r.subscribe,r.getSnapshot,void 0,e,t)},r);var r}var je=Symbol(),qe=0;function Ae(){}function Fe(e){return e!==je}var Ce=class{constructor({disableAutoRefetching:e,initialEnabled:t}){this.count=0,this.enabled=!1,this.lastSubscriptionTime=null,this.fetchThrottleMs=null,this.onSubscribe=null,this.onLastUnsubscribe=null,this.enabled=t,e&&(this.fetchThrottleMs=M.seconds(5))}init({onSubscribe:e,onLastUnsubscribe:t}){this.onSubscribe=e,this.onLastUnsubscribe=t}get(){return{enabled:this.enabled,lastSubscriptionTime:this.lastSubscriptionTime,subscriptionCount:this.count}}setEnabled(e){this.enabled=e}subscribe(){const e=0===this.count,t=null!==this.fetchThrottleMs&&null!==this.lastSubscriptionTime&&!e&&Date.now()-this.lastSubscriptionTime<=this.fetchThrottleMs;return this.onSubscribe?.(this.enabled,e,t),this.count+=1,this.lastSubscriptionTime=Date.now(),e=>{const t=1===this.count;this.count=Math.max(this.count-1,0),t&&(this.onLastUnsubscribe?.(e),this.lastSubscriptionTime=null)}}},Ie={Error:"error",Idle:"idle",Loading:"loading",Success:"success"};function ke(e,t){const r=Object.prototype.hasOwnProperty;function n(e,t){for(const r of e.keys())if(ke(r,t))return r}let o,i,s;if(e===t)return!0;if(e&&t&&(o=e.constructor)===t.constructor){if(o===Date)return e.getTime()===t.getTime();if(o===RegExp)return e.toString()===t.toString();if(o===Array){if((i=e.length)===t.length)for(;i--&&ke(e[i],t[i]););return-1===i}if(o===Set){if(e.size!==t.size)return!1;for(let r of e){if(s=r,s&&"object"==typeof s&&(s=n(t,s),!s))return!1;if(!t.has(s))return!1}return!0}if(o===Map){if(e.size!==t.size)return!1;for(let r of e){if(s=r[0],s&&"object"==typeof s&&(s=n(t,s),!s))return!1;if(!ke(r[1],t.get(s)))return!1}return!0}if(o===ArrayBuffer)e=new Uint8Array(e),t=new Uint8Array(t);else if(o===DataView){if((i=e.byteLength)===t.byteLength)for(;i--&&e.getInt8(i)===t.getInt8(i););return-1===i}if(ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){const r=e,n=t;if((i=r.byteLength)===n.byteLength)for(;i--&&r[i]===n[i];);return-1===i}if(!o||"object"==typeof e){i=0;for(const n in e){if(r.call(e,n)&&++i&&!r.call(t,n))return!1;if(!(n in t)||!ke(e[n],t[n]))return!1}return Object.keys(t).length===i}}return e!=e&&t!=t}var Me=new WeakMap,Te=new WeakMap;function Ee(e,t=Ke,r=ke){return function(e,t,r){let n=Te.get(e);n||(n=new Map,Te.set(e,n));let o=n.get(t);o||(o=new Map,n.set(t,o));const i=o.get(r);if(i)return i;const[s,c,a]=ze(e,t,r),u=new Map,l=e=>{const t={get(t,r){if("value"===r){let t=c();const r=e.split(".");for(const e of r)e&&(t=t[e]);return t}const n="string"==typeof r?r:r.toString(),o=e?`${e}.${n}`:n,i=u.get(o);if(i)return i;const a=l(o);return Me.set(a,s),u.set(o,a),a},set(t,r,n){const o=e.split(".");return""===o[0]&&o.shift(),a(o,n),!0}};return new Proxy(Object.create(null),t)},f=l("");return s(()=>{}),Me.set(f,s),o.set(r,f),f}(e,t,r)}var Ke=e=>e,xe=(e,t,r)=>{if(!t.length)return r;const[n,...o]=t,i=e[n],s=xe(i,o,r);if(ke(i,s))return e;const c=Array.isArray(e)?e.slice():{...e};return c[n]=s,c},ze=(e,t,r)=>{const n=new Set,o=V(e);let i,s=t(o?e.getSnapshot():e.getState());return[c=>(n.size||(i=e.subscribe(t,e=>{s=e,n.forEach(e=>e())},{equalityFn:r,isDerivedStore:o})),n.add(c),()=>{n.delete(c),!n.size&&i&&(i(),i=void 0)}),()=>(n.size||(s=t(e.getState())),s),(r,n)=>{if(t!==Ke)throw new Error("Cannot set a value with a selector");e.setState(e=>xe(e,r,n),!0)}]},De=Object.prototype.hasOwnProperty;function Pe(e,t){return De.call(e,t)}var[$e,Le]=[!0,!1],Re={error:$e,lastFetchedAt:$e,queryCache:$e,queryKey:$e,status:$e,enabled:Le,fetch:Le,getCacheEntry:Le,getData:Le,getStatus:Le,isDataExpired:Le,isStale:Le,reset:Le},Ne=M.seconds(5);function Ve(e,t){const r=t?.baseDelay??M.seconds(5),n=t?.maxDelay??M.minutes(5),o=Math.pow(2,e);return Math.min(r*o,n)}function We(e){return JSON.stringify(Object.keys(e).sort().map(t=>e[t]))}function Qe(e){return JSON.stringify(_e(e))}function _e(e){return"object"!=typeof e||null===e?e:Object.keys(e).sort().reduce((t,r)=>{const n=e[r];return t[r]=null!==n&&"object"==typeof n?_e(n):n,t},{})}function Je(e,t,r,n){return n?He(n,r)?n:{...Ue(e,t),...n}:Ue(e,t)}function Ue(e,t){const r=t?.params??Object.create(null);for(const t in e?.params){const n=e.params[t];n&&(r[t]=n.value)}return r}function Be(){return Object.create(null)}function He(e,t){if(!e)return!1;for(const r of t)if(!(r in e))return!1;return!0}function Ge(e,t,r){if(!r.queryCache)return r;const n=Date.now(),o=t??(e&&r.queryKey||null);let i=!1;const s=Object.create(null);for(const e in r.queryCache){if(!Pe(r.queryCache,e))continue;const c=r.queryCache[e];c&&(n-(c.lastFetchedAt??c.errorInfo.lastFailedAt)<c.cacheTime||e===o)?!t&&c.errorInfo&&c.errorInfo.retryCount>0?(s[e]={...c,errorInfo:{...c.errorInfo,retryCount:0}},i=!0):s[e]=c:i=!0}return i?{...r,queryCache:s}:r}function Xe(e){return"function"==typeof e}function Ye(e){return!Xe(e)}function Ze(e,t){return r=>{const n={...r},o={};for(const e in n)Pe(n,e)&&e in Re&&(Re[e]&&(o[e]=n[e]),delete n[e]);return{...t?t(n):k(n),...Ge(e,null,o)}}}var et=Symbol(),tt=Object.freeze({debugMode:!1,enabled:!0,equalityFn:Object.is,fireImmediately:!1}),rt=Object.freeze({fireImmediately:!1,forceResubscribe:!1});function nt(e,t,r=rt){if(t.current.isActive){if(!r?.forceResubscribe)return;t.current.unsubscribe()}t.current.options.debugMode&&console.log("[📡 useListen 📡] Attaching listener"),t.current.isActive=!0,t.current.resubscribe=(r=rt)=>nt(e,t,r);const n=e.subscribe(e=>t.current.selector(e),(e,r)=>t.current.react(e,r,()=>{n(),t.current.isActive=!1}),r.fireImmediately?{...t.current.options,fireImmediately:!0}:t.current.options);t.current.unsubscribe=()=>{t.current.isActive&&(n(),t.current.isActive=!1)}}function ot(e){return"function"==typeof e?{equalityFn:e}:e??tt}var it=Symbol();function st(e,t){return function(...r){const n=e.getState()[t];if("function"==typeof n)return n(...r);throw new Error(`[createVirtualStoreAction]: Method ${String(t)} is not a function`)}}function ct(e,t){return"function"==typeof e[t]}exports.QueryStatuses=Ie,exports.applyStateUpdate=L,exports.configureStores=function(e){var t;c&&function(){if(b)throw new Error("[stores]: configureStores() called after first store creation. Call it earlier before creating any stores.")}(),e.logger&&(t=e.logger,f=t),p??(p=v(e))},exports.createBaseStore=Z,exports.createDerivedStore=Oe,exports.createQueryStore=function(e,t,r){S();const n="function"==typeof t?t:Be,o="object"==typeof t?t:r,i=o&&"storageKey"in o?o:void 0,{fetcher:s,onError:u,onFetched:y,setData:p,transform:h,abortInterruptedFetches:g=!0,cacheTime:b=M.days(7),debugMode:m=!1,disableAutoRefetching:v=!1,disableCache:w=!1,enabled:O=!0,keepPreviousData:j=!1,maxRetries:A=5,paramChangeThrottle:F=!1,params:C,retryDelay:I=Ve,suppressStaleTimeWarning:k=!1,useParsableQueryKeys:T=!0}=e;let E="function"==typeof e.staleTime?M.minutes(2):e.staleTime??M.minutes(2);c&&!v&&!k&&E<Ne&&console.warn(`[createQueryStore${i?.storageKey?`: ${i.storageKey}`:""}] ❌ Stale times under ${Ne/1e3} seconds are not recommended. Provided staleTime: ${E/1e3} seconds`);const K=T?Qe:We,x=new Error("[createQueryStore: AbortError] Fetch interrupted"),z="function"==typeof b,D=c&&m,P=Object.keys(e.params??Object.create(null));let L=null,R=null,N=null,V=[],W=!1,Q=!1,_=null,J=null,U=null,B=null,H=null;const G={enabled:"function"!=typeof O&&O,error:null,lastFetchedAt:null,queryCache:{},queryKey:"",status:Ie.Idle},X=new Ce({disableAutoRefetching:v,initialEnabled:G.enabled}),Y=()=>{_&&(J=null,_.abort(),_=null)},ee=(t,r,o)=>{const c=o.setState,a=(e,t)=>{const r="function"==typeof e;if(r||void 0!==e.enabled){let t;const n=c(n=>{const i=r?e(n):e,s=void 0!==i.enabled?i.enabled:n.enabled;return s!==n.enabled&&(t=()=>((e,t)=>{e!==t&&H!==t&&(H=t,X.setEnabled(t),t?queueMicrotask(()=>o.getState().fetch(void 0,{updateQueryKey:!0})):(U||g)&&(g&&Y(),U&&(clearTimeout(U),U=null)))})(n.enabled,s)),i});return t?.(),n}return c(e)};o.setState=a,X.init({onSubscribe:(n,o,i)=>{if(R||L||!C&&"function"!=typeof e.enabled&&"function"!=typeof e.staleTime){if(n)if(o){const e=Ue(L,R),n=K(e),o=r();o.queryKey!==n&&t(e=>({...e,queryKey:n})),o.isStale()?S.fetch(e,void 0,!0):m(e,void 0)}else v&&!i&&S.fetch(void 0,void 0,!0)}else W=!0},onLastUnsubscribe:e=>{U&&(clearTimeout(U),U=null),g&&!e&&Y()}});const m=(e,t)=>{if(v||t?.skipStoreUpdates)return;if(E<=0||E===1/0)return;U&&(clearTimeout(U),U=null);const n=K(e),o=r(),i=(w?B===n&&o.lastFetchedAt:o.queryCache[n]?.lastFetchedAt)||null,s=i?E-(Date.now()-i):E;U=setTimeout(()=>{const t=X.get();t.enabled&&t.subscriptionCount>0&&S.fetch(e,{force:!0},!0)},s)},S={...n(a,r,o),...G,async fetch(e,n,o=!1){const c=X.get();if(!n?.force&&!n?.skipStoreUpdates&&!c.enabled)return null;const v=r(),O=v.error,q=v.queryKey,F=v.status,C=Je(L,R,P,e),k=K(C),M=n?.staleTime??E,T=F===Ie.Loading,$=!!n?.skipStoreUpdates,N="boolean"==typeof n?.updateQueryKey?n.updateQueryKey:o?j:!$,V=o||!$&&(N||q===k);if(J?.promise&&J.key===k&&T)return D&&console.log("[🔄 Using Active Fetch 🔄] for params:",JSON.stringify(C)),J.promise;if(g&&!$&&!1!==n?.updateQueryKey&&Y(),!n?.force){const e=v.lastFetchedAt,r=v.queryCache[k],o=r?.lastFetchedAt,i=r?.errorInfo,s=i&&i.retryCount>=A,a=(w?B===k&&e:o)||null;if(a&&!(Date.now()-a>=M)&&(!i||s||$))return V&&!$&&!U&&c.subscriptionCount>0&&0!==E&&E!==1/0&&m(C,n),N&&t(e=>e.queryKey!==k?{...e,queryKey:k}:e),D&&console.log("[💾 Returning Cached Data 💾] for params:",JSON.stringify(C)),r?.data??null}!$&&V&&(U&&(clearTimeout(U),U=null),!O&&T||t(e=>({...e,error:null,status:Ie.Loading})),J={key:k});const W=n?.cacheTime??(z?b(C):b),Q=async()=>{try{D&&(o||!e||He(e,P)?console.log("[🔄 Fetching 🔄] for params:",JSON.stringify(C)):console.log("[🔄 Fetching with Partial Params 🔄]\n","- Provided params:",`${JSON.stringify(e)}\n`,"- Filled in params:",`${JSON.stringify(Object.fromEntries(Object.keys(C).filter(t=>!(t in e)).map(e=>[e,C[e]])))}`));const r=await(g&&!$&&V?(async e=>{const t=new AbortController;_=t;try{return await new Promise((r,n)=>{t.signal.addEventListener("abort",()=>n(x),{once:!0}),Promise.resolve(s(e,t)).then(r,n)})}finally{_===t&&(_=null)}})(C):s(C,null)),c=Date.now();let u;D&&console.log("[✅ Fetch Successful ✅] for params:",JSON.stringify(C));try{u=h?h(r,C):r}catch(e){throw new l(`[createQueryStore: ${i?.storageKey||k}]: transform failed`,e)}if($)return D&&console.log("[🥷 Successful Parallel Fetch 🥷] for params:",JSON.stringify(C)),"withCache"===n.skipStoreUpdates&&t(e=>{if(!p)return w?{...e,queryCache:{...e.queryCache,[k]:{cacheTime:W,data:u,errorInfo:null,lastFetchedAt:c}}}:e;let t=e;const r=t.queryCache[k];return p({data:u,params:C,queryKey:k,set:e=>{t="function"==typeof e?{...t,...e(t)}:{...t,...e}}}),!w&&Object.is(r,t.queryCache[k])&&(t={...t,queryCache:{...t.queryCache,[k]:{cacheTime:W,data:u,errorInfo:null,lastFetchedAt:c}}}),t}),u;if((p?a:t)(e=>{let t={...e,error:null,lastFetchedAt:c,queryKey:N?k:e.queryKey,status:Ie.Success};if(p||w){if(p){D&&console.log("[💾 Setting Data 💾] for params:",JSON.stringify(C));const e=t.queryCache[k];p({data:u,params:C,queryKey:k,set:e=>{t="function"==typeof e?{...t,...e(t)}:{...t,...e}}}),!w&&Object.is(e,t.queryCache[k])&&(t.queryCache={...t.queryCache,[k]:{cacheTime:W,data:null,errorInfo:null,lastFetchedAt:c}})}}else D&&console.log("[💾 Setting Cache 💾] for params:",JSON.stringify(C),"| Has previous data?:",!!t.queryCache[k]?.data),t.queryCache={...t.queryCache,[k]:{cacheTime:W,data:u,errorInfo:null,lastFetchedAt:c}};return w||b===1/0?t:Ge(j,k,t)}),V&&(B=k,m(C,n)),y)try{y({data:u,fetch:S.fetch,params:C,set:a})}catch(e){f.error(new l(`[createQueryStore: ${i?.storageKey||k}]: onFetched callback failed`,e))}return u??null}catch(s){if(s===x)return D&&console.log("[❌ Fetch Aborted ❌] for params:",JSON.stringify(C)),null;const c=!o&&!0===n?.throwOnError,a=d(s);if($||!V){if(f.error(new l(`[createQueryStore: ${i?.storageKey||k}]: Failed to fetch data`,a)),c)throw a;return null}const y=w?void 0:r().queryCache[k],p=y?.errorInfo?.retryCount??0,h=p+1;if(u?.(a,p),p<A){if(X.get().subscriptionCount>0){const t="function"==typeof I?I(h,a):I;t!==1/0&&(U&&clearTimeout(U),U=setTimeout(()=>{const{enabled:t,subscriptionCount:r}=X.get();t&&r>0&&S.fetch(e,{force:!0},!0)},t))}t(e=>({...e,error:a,queryCache:{...e.queryCache,[k]:{cacheTime:y?.cacheTime??W,data:y?.data??null,lastFetchedAt:y?.lastFetchedAt??null,errorInfo:{error:a,lastFailedAt:Date.now(),retryCount:h}}},queryKey:N?k:e.queryKey,status:Ie.Error}))}else t(e=>({...e,error:a,queryCache:{...e.queryCache,[k]:{cacheTime:y?.cacheTime??W,data:y?.data??null,lastFetchedAt:y?.lastFetchedAt??null,errorInfo:{error:a,lastFailedAt:Date.now(),retryCount:A}}},queryKey:N?k:e.queryKey,status:Ie.Error}));if(f.error(new l(`[createQueryStore: ${i?.storageKey||k}]: Failed to fetch data`,a)),c)throw a;return null}finally{!$&&V&&(J=null)}};return $||!V?Q():(J={key:k,promise:Q()}).promise},getCacheEntry(e){if(w)return null;const t=r(),n=e?"string"==typeof e?e:K(Je(L,R,P,e)):t.queryKey;return t.queryCache[n]??null},getData(e){if(w)return null;const t=r().getCacheEntry(e);return t&&null!==t.data?j?t.data:t.lastFetchedAt&&Date.now()-t.lastFetchedAt>=t.cacheTime?null:t.data:null},getStatus:function(e){switch(e){case"isIdle":return r().status===Ie.Idle;case"isLoading":return r().status===Ie.Loading;case"isSuccess":{const e=r(),t=e.queryCache[e.queryKey]?.lastFetchedAt;return"number"==typeof t||e.status===Ie.Success}case"isError":case"isInitialLoad":case void 0:{const t=r(),n=t.queryCache[t.queryKey],o=(w?B===t.queryKey&&t.lastFetchedAt:n?.lastFetchedAt)||null,i=t.status;switch(e){case"isError":{const e=t.queryCache[t.queryKey];return w?"error"!==i:"number"==typeof e?.errorInfo?.lastFailedAt}case"isInitialLoad":return!o&&i===Ie.Loading}return{isError:i===Ie.Error,isIdle:i===Ie.Idle,isLoading:i===Ie.Loading,isInitialLoad:!o&&i===Ie.Loading,isSuccess:i===Ie.Success}}}},isDataExpired(e){const t=r(),n=t.queryCache[t.queryKey],o=t.queryKey,i=t.lastFetchedAt,s=(w?B===o&&i:n?.lastFetchedAt)||null;if(!s)return!0;const c=e??n?.cacheTime;return void 0===c||Date.now()-s>=c},isStale(e){const t=r(),n=t.queryKey,o=(w?B===n&&t.lastFetchedAt:t.queryCache[n]?.lastFetchedAt)||null;if(!o)return!0;const i=e??E;return Date.now()-o>=i},reset(e=!1){for(const e of V)e();V=[],L=null,R=null,N=null,Y(),U&&(clearTimeout(U),U=null),J=null,B=null,e&&t(e=>({...e,...G}))}},O=o.subscribe;return o.subscribe=(...e)=>{const t=Q?()=>{}:X.subscribe(),r=1===e.length?O(e[0]):O(e[0],e[1],e[2]);return e=>{t(e),r()}},S},te=i?.storageKey?Z(ee,Object.assign(Object.create(null),i,{partialize:Ze(j,i.partialize)})):o&&!("storageKey"in o)?Z(ee,o):Z(ee),re=te.getState(),ne=re.error,oe=re.enabled,ie=re.queryKey;if(ie&&!ne&&(B=ie),Q=!0,C||"function"==typeof e.enabled){const{directValues:e,enabledAttachVal:t,enabledDirectValue:r,attachVals:n}=function(e,t,r){const n=Object.create(null),o=Object.create(null),i=Object.create(null);for(const e in t){if(!Pe(t,e))continue;const s=t[e];if(Xe(s)){const t=s(Ee,r);n[e]=t,i[e]=t.value}else Ye(s)&&(o[e]=s,i[e]=s)}let s,c=null,a=null;if(Xe(e)){const t=e(Ee,r);s=t.value,c=t}else s=e,a=e;return{attachVals:n,directValues:o,enabledAttachVal:c,enabledDirectValue:a,resolvedEnabled:s,resolvedParams:i}}(O,C,te);L={enabled:t,params:n},R={enabled:r,params:e}}"function"==typeof e.staleTime&&(N=e.staleTime(Ee,te),E=N.value);const se=function(){let e,t=!1;return function(...r){e=r,t||(t=!0,queueMicrotask(()=>{t=!1,(e=>{re.fetch(e??Ue(L,R),{updateQueryKey:j})})(...e)}))}}();function ce(){let e;if(!j){e=Ue(L,R);const t=K(e);te.setState(e=>({...e,queryKey:t}))}se(e)}const ae=a||!F?ce:q(ce,"number"==typeof F?F:F.delay,"number"==typeof F?{leading:!1,maxWait:F,trailing:!0}:F);if(L?.enabled){const e=L.enabled,t=Me.get(e);if(t){let r=e.value;oe!==r&&te.setState(e=>({...e,enabled:r})),r&&X.setEnabled(r),D&&console.log("[🌀 Enabled Subscription 🌀] Initial value:",r);const n=t(()=>{const t=e.value;t!==r&&(D&&console.log("[🌀 Enabled Change 🌀] - [Old]:",`${r},`,"[New]:",t),r=t,te.setState(e=>({...e,enabled:t})))});V.push(n)}}else oe!==G.enabled&&te.setState(e=>({...e,enabled:G.enabled}));for(const e in L?.params){const t=L.params[e];if(!t)continue;const r=Me.get(t);if(D&&console.log("[🌀 Param Subscription 🌀] Subscribed to param:",e),r){let n=t.value;const o=r(()=>{const r=t.value;ke(n,r)||(D&&console.log("[🌀 Param Change 🌀] -",e,"- [Old]:",`${n?.toString()},`,"[New]:",r?.toString()),n=r,ae())});V.push(o)}}if(N){const e=Me.get(N);if(e){const t=N;let r=t.value;D&&console.log("[🌀 StaleTime Subscription 🌀] Initial value:",r);const n=e(()=>{const e=t.value;e!==r&&(D&&console.log("[🌀 StaleTime Change 🌀] - [Old]:",`${r},`,"[New]:",e),r=e,E=e,te.getState().fetch())});V.push(n)}}return Q=!1,W&&queueMicrotask(ae),ue=te,le=$.QueryStore,Object.assign(ue,{[le]:!0});var ue,le},exports.createStoreActions=function(e,t){const r=function(e){const t=e.getState(),r=Object.create(null);if(c&&("object"!=typeof t||null===t))throw new Error("[createStoreActions]: State is not an object");if(_(e)){for(const n in t)ct(t,n)&&(r[n]=st(e,n));return r}for(const e in t)ct(t,e)&&(r[e]=t[e]);return r}(e);return t?Object.assign(r,t):r},exports.createVirtualStore=function(e,t,r){const n="function"==typeof t,o=n?t:void 0,i=n?r:t,s=new Set,c=Oe(e,{debugMode:i?.debugMode??!1,equalityFn:function(e,t){const r=Object.is(e,t);return r||(function(e,t){for(const r of s){r.unsubscribe();const n=r.args;if(1===n.length){const o=n[0],i=e.getState(),s=t.getState(),c=t.subscribe(o);r.unsubscribe=c,Object.is(s,i)||o(s,i);continue}const o=n[0],i=n[1];let s=n[2];s?.fireImmediately&&(s={...s,fireImmediately:!1});const c=o(e.getState()),a=o(t.getState()),u=t.subscribe(o,i,s);r.unsubscribe=u,(s?.equalityFn??Object.is)(c,a)||i(a,c)}}(e,t),R(e)),r},keepAlive:!0,lockDependencies:i?.lockDependencies??!0}),a=c.getState().persist,u=(l=c.getState,function(e,t){return t?l().setState(e,t):l().setState(e)});var l;return Object.assign(function(e,t){const r=c();return e?r(e,t):r()},{[$.VirtualStore]:!0,destroy:()=>c.destroy(),getInitialState:()=>c.getState().getInitialState(),getState:()=>c.getState().getState(),persist:a,setState:u,subscribe:function(...e){const t={args:e,unsubscribe:1===e.length?c.getState().subscribe(e[0]):c.getState().subscribe(e[0],e[1],e[2])};return s.add(t),()=>{t.unsubscribe(),s.delete(t)}}},o?o(c.getState):void 0)},exports.deepEqual=function e(t,r){if("object"!=typeof t||null==t||"object"!=typeof r||null==r)return t===r;if(Object.is(t,r))return!0;const n=Object.keys(t);if(n.length!==Object.keys(r).length)return!1;for(const o of n)if(!(o in r)||!e(t[o],r[o]))return!1;return!0},exports.defaultRetryDelay=Ve,exports.destroyStore=R,exports.destroyStores=function(e,t){for(const r of Array.isArray(e)?e:Object.values(e))r&&!t?.skipDestroy?.(r)&&R(r,t)},exports.getLegacyQueryKey=We,exports.getQueryKey=Qe,exports.getStoreName=N,exports.isDerivedStore=function(e){return"flushUpdates"in e},exports.isPersistedStore=Q,exports.isQueryStore=W,exports.isVirtualStore=_,exports.parseQueryKey=function(e){return JSON.parse(e)},exports.replacer=C,exports.reviver=I,exports.shallowEqual=function(e,t){if("object"!=typeof e||null==e||"object"!=typeof t||null==t)return e===t;if(Object.is(e,t))return!0;const r=Object.keys(e);if(r.length!==Object.keys(t).length)return!1;for(const n of r)if(!Object.is(e[n],t[n]))return!1;return!0},exports.time=M,exports.useListen=function(e,t,r,n=tt){const o=function(){const e=i.useRef(et);return e.current===et&&(e.current=function(e,t,r){return{selector:e,react:t,isActive:!1,options:ot(r),resubscribe:()=>{},unsubscribe:()=>{}}}(t,r,n)),e}(),s=function(e){return"function"==typeof e?tt.enabled:e?.enabled??tt.enabled}(n);return o.current.react=r,o.current.selector=t,function(e,t){"function"==typeof t?e.current.options.equalityFn=t:t&&(e.current.options=t??tt)}(o,n),i.useLayoutEffect(()=>{if(s)return nt(e,o),()=>function(e){e.current.options.debugMode&&console.log("[🗑️ useListen 🗑️] Detaching listener"),e.current.resubscribe=()=>{},e.current.unsubscribe(),e.current.unsubscribe=()=>{},e.current.isActive=!1}(o)},[s,e]),o},exports.useStableValue=function(e){const t=i.useRef(it);return t.current===it&&(t.current=e()),t.current};
1
+ "use strict";var e=require("react"),t=require("react-native"),n=(e=>"undefined"!=typeof require?require:"undefined"!=typeof Proxy?new Proxy(e,{get:(e,t)=>("undefined"!=typeof require?require:e)[t]}):e)(function(e){if("undefined"!=typeof require)return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')}),r="ios"===t.Platform.OS;t.Platform.OS;var o="development"===process.env.NODE_ENV,i="test"===process.env.NODE_ENV;function s(e){return e}function c(){}Object.freeze(Object.create(null));var a=Symbol("empty selection"),u=Object.is;function l(e,t){return n=>(function(e){e.committedEqualityFn=e.equalityFn,e.committedSelector=e.selector,e.committedSource=e.source,e.committedValue=e.value===a?f(e):e.value}(e),t(r=>{e.latestSnapshot=r,e.latestSource=t;const o=e.committedValue;if(o===a||e.committedSource!==t)return void n();const i=e.committedSelector,s=e.committedEqualityFn;if(e.selector===i&&e.equalityFn===s){const t=i(r);if(s===u?u(o,t):s(o,t))return;return e.committedValue=t,e.value=t,e.valueEqualityFn=s,e.valueSelector=i,e.valueSnapshot=r,void n()}if(e.source!==t)return void n();const c=e.value;if(c===a)return;const l=e.selector(r),f=e.equalityFn(c,l);e.committedEqualityFn=e.equalityFn,e.committedSelector=e.selector,e.committedValue=y(e,r,f?c:l),f||n()}))}function f(e){const t=function(e){if(e.latestSource===e.source&&e.latestSnapshot!==a)return e.latestSnapshot;const t=e.getStoreSnapshot();return e.latestSnapshot=t,e.latestSource=e.source,t}(e);return d(e,t)}function d(e,t){const n=e.value;if(n!==a&&u(e.valueSnapshot,t)&&e.valueSelector===e.selector&&e.valueEqualityFn===e.equalityFn)return n;const r=e.selector(t);if(n!==a&&(e.equalityFn===u?u(n,r):e.equalityFn(n,r)))return y(e,t,n);const o=e.committedValue;return o!==a&&o!==n&&e.committedSource===e.source&&(e.equalityFn===u?u(o,r):e.equalityFn(o,r))?y(e,t,o):y(e,t,r)}function y(e,t,n){return e.value=n,e.valueEqualityFn=e.equalityFn,e.valueSelector=e.selector,e.valueSnapshot=t,n}function p(t,n,r,o){return Object.assign(function(i,s){return function(t,n,r,o,i=u){const s=e.useRef(null);let y=t,p=n,g=r;if(o){let e=s.current;null===e&&(e=function(e,t,n,r,o){const i={committedEqualityFn:o,committedSelector:r,committedSource:e,committedValue:a,equalityFn:o,getSelectedServerSnapshot:()=>function(e){return d(e,(e.getServerStoreSnapshot??e.getStoreSnapshot)())}(i),getSelectedSnapshot:()=>f(i),getServerStoreSnapshot:n,getStoreSnapshot:t,latestSnapshot:a,latestSource:a,selector:r,selectedSource:e,selectedSubscribe:()=>c,source:e,value:a,valueEqualityFn:o,valueSelector:r,valueSnapshot:a};return i.selectedSubscribe=l(i,e),i}(t,n,r,o,i),s.current=e),function(e,t,n,r,o,i){e.source===t&&e.getStoreSnapshot===n||(e.latestSnapshot=a),e.source=t,e.getStoreSnapshot=n,e.getServerStoreSnapshot=r,e.selector=o,e.equalityFn=i,e.selectedSource!==t&&(e.selectedSource=t,e.selectedSubscribe=l(e,t))}(e,t,n,r,o,i),y=e.selectedSubscribe,p=e.getSelectedSnapshot,g=void 0===r?void 0:e.getSelectedServerSnapshot}const h=e.useSyncExternalStore(y,p,g);return e.useDebugValue(h),h}(t.subscribe,n,r,i,s??o)},t)}function g(e){let t;function r(){if(t)return t;try{const r=function(e){const{createMMKV:t,MMKV:r}=n("react-native-mmkv");if("function"==typeof t)return t({id:e});if("function"==typeof r)return new r({id:e});throw new Error("[stores]: react-native-mmkv module does not export MMKV/createMMKV.")}(e);let o;if("function"==typeof r.delete?o=r.delete.bind(r):"function"==typeof r.remove&&(o=r.remove.bind(r)),"function"!=typeof o)throw new Error("[stores]: Storage instance does not conform to expected interface");const i={clearAll:r.clearAll.bind(r),contains:r.contains.bind(r),delete:o,get:r.getString.bind(r),getAllKeys:r.getAllKeys.bind(r),set:r.set.bind(r)};t=i}catch(e){throw new Error("[stores] react-native-mmkv could not be loaded.\n\nPersisted stores require a storage backend. Either:\n - Install MMKV (the default): yarn add react-native-mmkv\n - Or provide a custom adapter via configureStores()\n"+(e instanceof Error?`\n${e.message}`:""))}return function(e){if(!e||"function"!=typeof e.get||"function"!=typeof e.set||"function"!=typeof e.delete||"function"!=typeof e.clearAll)throw new Error("[stores]: Storage instance does not conform to expected interface")}(t),t}return{clearAll:()=>r().clearAll(),contains:e=>r().contains(e),delete:e=>r().delete(e),get:e=>r().get(e),getAllKeys:()=>r().getAllKeys(),set:(e,t)=>r().set(e,t)}}var h={debug:(e,t)=>{o&&console.debug(e,t)},error:(e,t)=>{o&&!i&&console.error(e,t)},info:(e,t)=>{o&&console.info(e,t)},warn:(e,t)=>{o&&console.warn(e,t)}},b=Object.prototype.hasOwnProperty;function m(e,t){return b.call(e,t)}function S(e){if("object"!=typeof e||null===e)return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}function v(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}var w=class extends Error{constructor(e,t){super(e),this.name="StoresError",void 0!==t&&Object.defineProperty(this,"cause",{configurable:!0,value:t,writable:!0})}};function O(e){return e instanceof Error?e:new Error(String(e))}var q,j,F,_=class{destroy(){}publish(){}},A=class{constructor(){this.sessionId="noop"}register(e){return new _}},I=!1;function C(){return F??(F=E(void 0))}function k(){I=!0}function E(e){return{storage:e?.storage??g(e?.storageKeyPrefix??"stores:"),syncEngine:e?.syncEngine??(q||(q=new A),q)}}var T,x={Error:"error",Idle:"idle",Loading:"loading",Success:"success"},D={ms:e=>e,seconds:e=>1e3*e,minutes:e=>6e4*e,hours:e=>36e5*e,days:e=>864e5*e,weeks:e=>6048e5*e,infinity:1/0,zero:0};function M(e,t){const n=t?.baseDelay??D.seconds(5),r=t?.maxDelay??D.minutes(5);return Math.min(n*Math.pow(2,e),r)}function z(e){return JSON.stringify(P(e))}function P(e){return"object"!=typeof e||null===e?e:Object.keys(e).sort().reduce((t,n)=>{const r=e[n];return t[n]=S(r)?P(r):r,t},{__proto__:null})}function K(e,t){return!0===t[1]?e(t[0],!0):e(t[0])}function R(e,t,n){if(!0===n)return $(t)?t(e):t;const r=$(t)?t(e):t;return Object.is(r,e)?e:v(e)&&v(r)?{...e,...r}:r}function $(e){return"function"==typeof e}function L(e,t){return t instanceof Map?{__type:"Map",entries:Array.from(t.entries())}:t instanceof Set?{__type:"Set",values:Array.from(t)}:t}function V(e,t){return function(e){return"object"==typeof e&&null!==e&&"__type"in e&&"Map"===e.__type}(t)?new Map(t.entries):function(e){return"object"==typeof e&&null!==e&&"__type"in e&&"Set"===e.__type}(t)?new Set(t.values):t}var N=Object.freeze({QueryStore:Symbol("queryStore"),VirtualStore:Symbol("virtualStore")});function H(e,t){U(e)?e.getState().reset(t?.clearQueryCache):function(e){return"destroy"in e}(e)&&e.destroy()}function W(e){return"getSnapshot"in e}function U(e){return N.QueryStore in e}function Q(e){return!(!("persist"in e)||!e.persist)&&"string"==typeof e.persist.getOptions().name}function J(e){return N.VirtualStore in e}function B(e,t){return function(...n){const r=e.getState()[t];if("function"==typeof r)return r(...n);throw new Error(`[createVirtualStoreAction]: Method ${String(t)} is not a function`)}}function G(e,t){return"function"==typeof e[t]}function X(e,t){const n=Object.prototype.hasOwnProperty;function r(e,t){for(const n of e.keys())if(X(n,t))return n}let o,i,s;if(e===t)return!0;if(e&&t&&(o=e.constructor)===t.constructor){if(o===Date)return e.getTime()===t.getTime();if(o===RegExp)return e.toString()===t.toString();if(o===Array){if((i=e.length)===t.length)for(;i--&&X(e[i],t[i]););return-1===i}if(o===Set){if(e.size!==t.size)return!1;for(let n of e){if(s=n,s&&"object"==typeof s&&(s=r(t,s),!s))return!1;if(!t.has(s))return!1}return!0}if(o===Map){if(e.size!==t.size)return!1;for(let n of e){if(s=n[0],s&&"object"==typeof s&&(s=r(t,s),!s))return!1;if(!X(n[1],t.get(s)))return!1}return!0}if(o===ArrayBuffer)e=new Uint8Array(e),t=new Uint8Array(t);else if(o===DataView){if((i=e.byteLength)===t.byteLength)for(;i--&&e.getInt8(i)===t.getInt8(i););return-1===i}if(ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){const n=e,r=t;if((i=n.byteLength)===r.byteLength)for(;i--&&n[i]===r[i];);return-1===i}if(!o||"object"==typeof e){i=0;for(const r in e){if(n.call(e,r)&&++i&&!n.call(t,r))return!1;if(!(r in t)||!X(e[r],t[r]))return!1}return Object.keys(t).length===i}}return e!=e&&t!=t}function Y(e){let t;const n=new Set;function r(...e){const r=R(t,...e);if(Object.is(r,t))return;const o=t;t=r,n.forEach(e=>e(t,o))}function o(){return t}const i={getInitialState:function(){return s},getState:o,setState:r,subscribe:function(...e){return 1===e.length?c(e[0]):function(e,n,r){const o=r?.equalityFn??Object.is;let i=e(t);return r?.fireImmediately&&n(i,i),c(function(t){const r=e(t);if(o(i,r))return;const s=i;i=r,n(r,s)})}(e[0],e[1],e[2])}},s=t=e(r,o,i);return i;function c(e){return n.add(e),()=>{n.delete(e)}}}function Z(e){return!!e&&"object"==typeof e&&"then"in e&&"function"==typeof e.then}function ee(e){return{...e,merge:e.merge??te,skipHydration:e.skipHydration??!1}}function te(e,t){return void 0===e?t:{...t,...e}}function ne(){let e,t,n=!1;return{complete:function(){!n&&e&&(n=!0,e(),e=void 0,t=void 0)},isHydrated:function(){return n},fail:function(r){!n&&t&&(n=!0,t(r),t=void 0,e=void 0)},promise:new Promise((n,r)=>{e=n,t=r})}}var re=Math.max,oe=Math.min;function ie(e,t=0,n={}){let r,o,i,s,c,a,u=0,l=!1,f=!1,d=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function y(t){const n=r,i=o;return r=o=void 0,u=t,s=n?e.apply(i,n):e.apply(i),s}function p(e){const n=e-(a??0);return void 0===a||n>=t||n<0||f&&void 0!==i&&e-u>=i}function g(){const e=se();if(p(e))return h(e);c=setTimeout(g,function(e){const n=t-(e-(a??0));return f&&void 0!==i?oe(n,i-(e-u)):n}(e))}function h(e){return c=void 0,d&&r?y(e):(r=o=void 0,s)}function b(...e){const n=se(),i=p(n);if(r=e,o=this,a=n,i){if(void 0===c)return function(e){return u=e,c=setTimeout(g,t),l?y(e):s}(a);if(f)return clearTimeout(c),c=setTimeout(g,t),y(a)}return void 0===c&&(c=setTimeout(g,t)),s}return t=ce(t)||0,function(e){const t=typeof e;return null!==e&&("object"===t||"function"===t)}(n)&&(l=!!n.leading,f="maxWait"in n,i=f?re(ce(n.maxWait)||0,t):void 0,d="trailing"in n?!!n.trailing:d),b.cancel=function(){void 0!==c&&clearTimeout(c),u=0,r=a=o=c=void 0},b.flush=function(){return void 0===c?s:h(se())},b}function se(){return"undefined"!=typeof performance&&"function"==typeof performance.now?performance.now():Date.now()}function ce(e){if("number"==typeof e)return e;if("symbol"==typeof e||void 0===e)return NaN;if("object"==typeof e&&null!==e){const t="function"==typeof e.valueOf?e.valueOf():e;e="object"==typeof t?t+"":t}return"string"!=typeof e?0===e?e:+e:(e=e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),/^0b[01]+$/i.test(e)?parseInt(e.slice(2),2):/^0o[0-7]+$/i.test(e)?parseInt(e.slice(2),8):/^[-+]0x[0-9a-f]+$/i.test(e)?NaN:+e)}function ae(e){if(!S(e))return e;const t={__proto__:null},n=Object.keys(e);for(let r=0;r<n.length;r++){const o=n[r],i=e[o];"function"!=typeof i&&(t[o]=i)}return t}var ue=i?0:D.seconds(r?3:5);function le(e,t,n,r){const o=!(t.deserializer||t.serializer||e.deserializer||e.serializer),i="object"==typeof t.sync&&!0===(t.sync.injectStorageMetadata??t.sync.engine?.injectStorageMetadata),s=t.partialize??ae,c=t.deserializer??e.deserializer??de(o),a=t.serializer??e.serializer??ye(o);function u(t,n,o){try{if(be(r))return;const c={state:s(n),version:o},u=ge(r,i,c),l=a(c);try{e.set(t,l),he(r,u)}catch(e){h.error(new w("[createBaseStore]: Failed to persist store data",e))}}catch(e){h.error(new w("[createBaseStore]: Failed to persist store data",e))}}const l=void 0!==n?ie(u,n,{leading:!1,maxWait:n,trailing:!0}):u;return{getItem:t=>{const n=e.get(t);return void 0===n?null:c(n)},setItem:(e,t,n)=>{r?.getIsApplyingRemote()||l(e,t,n)},removeItem:t=>{try{e.delete(t)}catch(e){h.error(new w("[createBaseStore]: Failed to delete persisted store data",e))}}}}function fe(e,t,n,r){const o=!(t.deserializer||t.serializer||e.deserializer||e.serializer),i="object"==typeof t.sync&&!0===(t.sync.injectStorageMetadata??t.sync.engine?.injectStorageMetadata),s=t.partialize??ae,c=t.deserializer??e.deserializer??de(o),a=t.serializer??e.serializer??ye(o);async function u(t,n,o){try{if(be(r))return;const c={state:s(n),version:o},u=ge(r,i,c),l=a(c);try{await e.set(t,l),he(r,u)}catch(e){h.error(new w("[createBaseStore]: Failed to persist store data",e))}}catch(e){h.error(new w("[createBaseStore]: Failed to serialize persisted store data",e))}}const l=void 0!==n?ie(u,n,{leading:!1,maxWait:n,trailing:!0}):function(e){let t,n=null;return function(...r){return t=r,n||(n=new Promise(r=>{queueMicrotask(async()=>{try{await e(...t)}finally{n=null,r()}})})),n}}(u);return{getItem:async t=>{const n=await e.get(t);return void 0===n?null:c(n)},setItem:async(e,t,n)=>{if(!r?.getIsApplyingRemote())return await l(e,t,n)},removeItem:async t=>{try{await e.delete(t)}catch(e){h.error(new w("[createBaseStore]: Failed to delete persisted store data",e))}}}}function de(e){return t=>{if("string"!=typeof t)throw new w("[createBaseStore]: Received non-string serialized state without a custom deserializer. Provide a deserializer on the store or storage adapter.");return function(e,t){try{return JSON.parse(e,t?V:void 0)}catch(e){throw h.error(new w("[createBaseStore]: Failed to deserialize persisted store data",e)),e}}(t,e)}}function ye(e){return t=>function(e,t){try{return JSON.stringify(e,t?L:void 0)}catch(e){throw h.error(new w("[createBaseStore]: Failed to serialize store data",e)),e}}(t,e)}var pe=Object.freeze({shouldClear:!1});function ge(e,t,n){if(!t||!e)return pe;const r=e.getFieldTimestampSnapshot();return function(e,t){const n=e.getSessionId(),r=e.getTimestamp();void 0!==n&&void 0!==r&&(t.syncMetadata={origin:n,timestamp:r})}(e,n),n.syncMetadata?r&&Object.keys(r).length>0?(n.syncMetadata.fields=r,{fieldSnapshot:r,shouldClear:!0}):(delete n.syncMetadata.fields,{fieldSnapshot:r,shouldClear:!1}):{fieldSnapshot:r,shouldClear:!1}}function he(e,t){e&&t.shouldClear&&t.fieldSnapshot&&Object.keys(t.fieldSnapshot).length&&e.clearFieldTimestamps(t.fieldSnapshot)}function be(e){return!!e&&!!e.getIsApplyingRemote()}var[me,Se]=[0,1];function ve(e,t,n){if(!e)return!0;const r=e[me],o=e[Se];return!(t<r)&&(t>r||n>o)}function we(e,t){return Object.prototype.hasOwnProperty.call(t,e)}function Oe(e,t){if(!o)return!0;if(null===e||null===t)return e===t;const n=typeof e;return n===typeof t&&("object"!==n||Object.prototype.toString.call(e)===Object.prototype.toString.call(t))}function qe(e){if(null===e)return"null";const t=typeof e;return"object"===t?Object.prototype.toString.call(e):t}function je(e,t){if(k(),!t)return Y(e);const n=t.storageKey,r="string"==typeof n,o=r?t.storage??C().storage:void 0,i=function(e,t){if(!e)return null;const n="object"==typeof e,r=n?e.key??t:!0===e?t:e;if(!r)throw new w("[createBaseStore]: sync requires a key to be specified either directly or via storageKey");return n?{...e,key:r}:{key:r}}(t.sync,n),s=i?function(e,t,n){const r=t.engine??C().syncEngine,o=function(e){let t,n,r,o=!1;return{isAsync:e,clearFieldTimestamps:function(e){if(e&&r){for(const t of Object.entries(e)){const e=t[0],n=t[1];r[e]===n&&delete r[e]}Object.keys(r).length||(r=void 0)}},getFieldTimestampSnapshot:function(){if(r)return{...r}},getIsApplyingRemote:()=>o,getSessionId:()=>t,getTimestamp:()=>n,mergeFieldTimestamps:function(e){if(r)for(const t of Object.entries(e)){const e=t[0],n=t[1],o=r[e];(void 0===o||n>o)&&(r[e]=n)}else r={...e}},onHydrationComplete:void 0,onHydrationFlushEnd:void 0,setIsApplyingRemote:e=>o=e,setSessionId:e=>t=e,setTimestamp:e=>n=e,setWithoutPersist:void 0}}(n);return{stateCreator:(i,s,c)=>{const a=new Map,u=[],l=[];let f=null,d=!1,y=!1,p=0,g=null,b=[],m=Promise.resolve(),S=!n;function v(e,t){if(o?.setSessionId&&o?.setTimestamp&&r.sessionId&&(o.setSessionId(r.sessionId),o.setTimestamp(e),o.mergeFieldTimestamps&&t.length>0)){const n={__proto__:null};for(const r of t)n[String(r)]=e;o.mergeFieldTimestamps(n)}}function O(e,t){if(d||!g)return t?i(e,t):i(e);const n=function(){const e=Date.now(),t=e>p?e:p+1;return p=t,t}();let o=[],s={__proto__:null};const c=r=>{const i=R(r,e,t);for(const e of b)Object.is(i[e],r[e])||(o.push(e),s[e]=i[e]);return o.length&&v(n,o),i},u=t?i(c,!0):i(c);function h(){o.length&&function(e){const t=r.sessionId;for(const n of e.keys)a.set(n,[e.timestamp,t]);f&&y?f.publish?.({replace:e.replace,sessionId:t,timestamp:e.timestamp,values:e.values}):l.push(e)}({keys:o,replace:t??!1,values:s,timestamp:n})}return Z(u)?u.finally(h):(h(),u)}const q=c.setState;c.setState=O;const j=e(O,s,c);if(b=t.fields??function(e){const t=[];for(const n of Object.entries(e)){if("function"==typeof n[1])continue;const e=n[0];t.push(e)}return t}(j),!b.length)return j;async function F(e){p=Math.max(p,e.timestamp);const n={__proto__:null},r=s(),i=e.timestamp;let c;if(e.replace)for(const t of b)we(t,e.values)||ve(a.get(t),i,e.sessionId)&&(c??(c=[])).push(t);for(const o of b){if(!we(o,e.values))continue;if(!g?.has(o))continue;if(!ve(a.get(o),i,e.sessionId))continue;const s=t.merge?.[o];if(s){const t=e.values[o],c=r[o];if(void 0!==t){const u=s(t,c,r,e.values),l=void 0!==c?c:t;if(!Oe(u,l))return void h.error(new w(`[sync] Merge function for field "${String(o)}" returned ${qe(u)} but expected ${qe(l)}`));n[o]=u,a.set(o,[i,e.sessionId])}}else n[o]=e.values[o],a.set(o,[i,e.sessionId])}if(Object.keys(n).length>0||c?.length){d=!0,o&&o.setIsApplyingRemote(!0);try{if(e.replace){const e={...r};let t=!1;if(c?.length){t=!0;for(const t of c)delete e[t],a.delete(t)}for(const r in n){if(!Object.prototype.hasOwnProperty.call(n,r))continue;const o=n[r];void 0!==o&&(Object.is(e[r],o)||(t=!0),e[r]=o)}if(!t)return;await(o.setWithoutPersist??q)(e,!0)}else await(o.setWithoutPersist??q)(n)}finally{d=!1,o&&o.setIsApplyingRemote(!1)}}}function _(e){n?m=m.then(()=>F(e)):F(e)}if(g=new Set(b),f=r.register({apply:e=>{S?_(e):u.push(e)},fields:b,getState:s,key:t.key}),f?.onFirstSubscribe||f?.onLastUnsubscribe){let e=0;const t=c.subscribe;c.subscribe=(...n)=>{e||f.onFirstSubscribe?.(),e+=1;const r=1===n.length?t(n[0]):t(n[0],n[1],n[2]);return()=>{r(),e-=1,e||queueMicrotask(()=>{e||f.onLastUnsubscribe?.()})}}}function A(){y=!0,function(){if(f&&l.length){for(const e of l){const t=r.sessionId;for(const n of e.keys)a.set(n,[e.timestamp,t]);v(e.timestamp,e.keys),f.publish?.({replace:e.replace,sessionId:t,timestamp:e.timestamp,values:e.values})}l.length=0}}()}function I(){S=!0,function(){if(!u.length)return;const e=u.slice();u.length=0;for(const t of e)_(t)}()}return n?(o.onHydrationComplete=A,o.onHydrationFlushEnd=I):f.onHydrated?(f.onHydrated(A),I()):(A(),I()),j},syncContext:o}}(e,i,o?.async??!1):void 0,c=s?.stateCreator??e;if(!r)return Y(c);const a=function(e,t,n){const r=t??e.storage??C().storage,o=(e.sync?void 0:e.persistThrottleMs??ue)||void 0,i=e.version??0;return r.async?{async:!0,persistStorage:fe(r,e,o,n),version:i}:{async:!1,persistStorage:le(r,e,o,n),version:i}}(t,o,s?.syncContext),u=a.async?function(e){let t,n,r,o=!1;return{hydrationPromise:()=>o?t?.promise??n??(n=Promise.resolve()):(t||(t=ne()),t.promise),stateCreator:(n,i,s)=>{let c;return r=()=>{if(c?.length){for(const e of c)K(s.setState,e);c=void 0}},e(function(...e){return o?K(n,e):(t||(t=ne()),c||(c=[]),c.push(e),t.promise)},i,s)},wrapOnRehydrateStorage:(e,n)=>i=>{const s=e?.(i);return(e,i)=>{o=!0,n?.onHydrationComplete?.(),r&&r(),n?.onHydrationFlushEnd?.(),i?t?.fail(O(i)):t?.complete(),s?.(e,i)}}}}(c):void 0,l=u?u.wrapOnRehydrateStorage(t.onRehydrateStorage,s?.syncContext):t.onRehydrateStorage,f=Y(function(e,t){return(n,r,o)=>{let i,s,c,a=ee(t),u=!1,l=0;function f(){return a.storage.setItem(a.name,r(),a.version)}const d=o.setState;o.setState=function(...e){return K(d,e),f()};const y=e(function(...e){return K(n,e),f()},r,o);function p(){const e=function(){const e=++l;return u=!1,s?.forEach(e=>e(r()??y)),e}(),t=a.onRehydrateStorage?.(r()??y);try{const n=a.storage.getItem(a.name);return Z(n)?n.then(n=>g(e,n,t)).catch(n=>m(e,t,n)):g(e,n,t)}catch(n){m(e,t,n)}}return o.getInitialState=()=>y,Object.assign(o,{persist:{clearStorage:()=>{a.storage.removeItem(a.name)},getOptions:()=>a,hasHydrated:()=>u,onFinishHydration:e=>(c??(c=new Set),c.add(e),()=>{c?.delete(e),0===c?.size&&(c=void 0)}),onHydrate:e=>(s??(s=new Set),s.add(e),()=>{s?.delete(e),0===s?.size&&(s=void 0)}),rehydrate:p,setOptions:e=>{a=ee({...a,...e,storage:e.storage??a.storage})}}}),a.skipHydration||p(),i??y;function g(e,t,n){const r=function(e,t){if(!t)return{migrated:!1,state:void 0};if("number"!=typeof t.version||t.version===e.version)return{migrated:!1,state:t.state};if(!e.migrate)return console.error("State loaded from storage couldn't be migrated since no migrate function was provided"),{migrated:!1,state:void 0};const n=e.migrate(t.state,t.version);return Z(n)?n.then(e=>({migrated:!0,state:e})):{migrated:!0,state:n}}(a,t);return Z(r)?r.then(t=>h(e,t,n)).catch(t=>m(e,n,t)):h(e,r,n)}function h(e,t,o){const s=function(e,t){if(e!==l)return;const o=a.merge(t.state,r()??y);return i=o,n(o,!0),t.migrated?f():void 0}(e,t);if(Z(s))return s.then(()=>b(e,o));b(e,o)}function b(e,t){if(e!==l)return;t?.(i,void 0);const n=r();i=n,u=!0,c?.forEach(e=>e(n))}function m(e,t,n){e===l&&t?.(void 0,n)}}}(u?(e,t,n)=>(s&&(s.syncContext.setWithoutPersist=n.setState),u.stateCreator(e,t,n)):c,{merge:t.merge,migrate:t.migrate,name:n,onRehydrateStorage:l,storage:a.persistStorage,version:a.version}));return u?Object.assign(f,{persist:Object.assign(f.persist,{hydrationPromise:u.hydrationPromise})}):f}function Fe(e,t,n="s"){return 1===t?e:`${e}${n}`}var _e=t.unstable_batchedUpdates,Ae=!1,Ie=!1,Ce=new Map,ke=new Map,Ee=new Map,Te=null,xe=1/0;function De(){return Ae}function Me(){return Te}function ze(){Ae||(Ae=!0,Ie||(Ie=!0,queueMicrotask(()=>{Ie=!1,_e(()=>{for(;ke.size>0;){const e=xe,t=Ee.get(e);if(t){Ee.delete(e);for(const e of t)ke.delete(e);Te=e;for(const e of t)e();if(Te=null,Ee.size>0){xe=1/0;for(const e of Ee.keys())e<xe&&(xe=e)}else xe=1/0}else{xe=1/0;for(const e of Ee.keys())e<xe&&(xe=e)}}for(;Ce.size>0;){const e=Array.from(Ce.values());Ce.clear();for(const t of e)t()}}),Ae=!1,Te=null,ke.clear(),Ee.clear(),xe=1/0})))}function Pe(e,t){Ae&&Ce.set(e,t)}var Ke=Symbol("stores.deriveProxy.unwrap");function Re(e,t,n){const r=t.get(e);if(void 0!==r)return r;const o=function(e,t,n,r=[]){return e&&"object"==typeof e?$e(e,r,t,n,new WeakSet,new WeakMap):(n(t,r,!0),e)}(W(e)?e.getSnapshot():e.getState(),e,n);return t.set(e,o),o}function $e(e,t,n,r,o,i){return new Proxy(e,{get(s,c,a){if(c===Ke)return r(n,t,!0),s;if(o.has(s))return Reflect.get(s,c,a);if("__proto__"===c||"symbol"==typeof c)return c===Symbol.iterator&&(r(n,t,!0),o.add(s)),Reflect.get(s,c,a);const u=Reflect.get(s,c,s),l=String(c),f=t.concat(l);if("function"==typeof u)return Object.prototype.hasOwnProperty.call(s,c)?function(...e){return r(n,f,!0,{args:e.length?e:void 0}),Reflect.apply(u,s,e)}:(r(n,t,!0),u.bind(e));const d=!!u&&"object"==typeof u;return r(n,f,!d),d?(i.has(u)||i.set(u,$e(u,f,n,r,o,i)),i.get(u)):u},getOwnPropertyDescriptor:(e,i)=>(r(n,t,!0),o.add(e),Reflect.getOwnPropertyDescriptor(e,i)),has:(e,o)=>(r(n,t,!0),Reflect.has(e,o)),ownKeys:e=>(r(n,t,!0),o.add(e),Reflect.ownKeys(e))})}function Le(e,t){if(!e||"object"!=typeof e)return e;const n=function(e){const t=Reflect.get(e,Ke);return t&&"object"==typeof t?t:void 0}(e);return n||(Array.isArray(e)?function(e,t){const n=Ne(e,t);if(n)for(let t=0;t<e.length;t++)Ve(e,String(t),n)}(e,t):S(e)&&function(e,t){const n=Ne(e,t);if(n)for(const t of Reflect.ownKeys(e))Ve(e,t,n)}(e,t),e)}function Ve(e,t,n){const r=Reflect.getOwnPropertyDescriptor(e,t);if(!r||!("value"in r))return;const o=Le(r.value,n);o!==r.value&&(r.value=o,Reflect.defineProperty(e,t,r))}function Ne(e,t){const n=t??new WeakSet;return n.has(e)?null:(n.add(e),n)}var He=Object.freeze([]);function We(){const e=new Map;return{buildProxySubscriptions(t,n,r,o){const i=new Set;for(const t of e)Qe(t[1],t[0],[],0,i,r);!1!==o?.(i)&&function(e,t,n){for(const n of e){const e=n.invocation?Xe(n.path,n.invocation):Ge(n.path);t(n.store,e,n.path)}n&&function(e){const t=e.size;console.log(`[📡 ${t} ${Fe("Proxy Subscription",t)} 📡]:`,JSON.stringify(Array.from(e).map(e=>{const t="name"in(n=e.store)&&"string"==typeof n.name?n.name:"store";var n;const r=e.path.join(".");if(!e.invocation)return r?`$(${t}).${r}`:`$(${t})`;const o=e.invocation.args?.length??0;return`$(${t}).${r}${o?`(${o}_${Fe("arg",o)})`:"()"}`}),null,2))}(e)}(i,t,n)},reset(){e.clear()},trackPath(t,n,r,o){let i=e.get(t);i||(i={__proto__:null},e.set(t,i)),Ue(i,n,0,r,o)}}}function Ue(e,t,n,r,o){if(n===t.length)return r&&(e.isLeaf=!0),void(o&&function(e,t){const n=e.invocation;if(!n)return void(e.invocation=t);if(Je(n,t))return;const r=e.extraInvocations;if(r){for(let e=0;e<r.length;e++)if(Je(r[e],t))return;r.push(t)}else e.extraInvocations=[t]}(e,o));e.children||(e.children={__proto__:null});const i=t[n];let s=e.children?.[i];s||(s={__proto__:null},e.children[i]=s),Ue(s,t,n+1,r,o)}function Qe(e,t,n,r,o,i=2){const s=e.children;if(!s)return void Be(e,t,n,o);const c=Object.keys(s),a=c.length;if(0!==a)if(e.isLeaf||r>=i&&a>1){Be(e,t,n,o);for(const e of c){const c=s[e];c.invocation&&Qe(c,t,[...n,e],r+1,o,i)}}else if(r<i&&a>1&&!e.isLeaf)for(const e of c)Qe(s[e],t,[...n,e],r+1,o,i);else{if(1===a){const e=c[0];return void Qe(s[e],t,[...n,e],r+1,o,i)}Be(e,t,n,o)}else Be(e,t,n,o)}function Je(e,t){const n=e.args,r=t.args,o=n?.length??0;if(o!==(r?.length??0))return!1;if(!n||!r)return!0;for(let e=0;e<o;e++)if(!Object.is(n[e],r[e]))return!1;return!0}function Be(e,t,n,r){const o=e.isLeaf??!1,i=e.invocation;if(!i)return void r.add({store:t,path:n,isLeaf:o});r.add({store:t,path:n,invocation:i,isLeaf:o});const s=e.extraInvocations;if(s)for(let e=0;e<s.length;e++)r.add({store:t,path:n,invocation:s[e],isLeaf:o})}function Ge(e){return t=>Ye(t,e)}function Xe(e,t){const n=e.slice(0,-1),r=e[e.length-1];return e=>{const o=Ye(e,n),i=o&&"object"==typeof o?Reflect.get(o,r):void 0;return"function"==typeof i?Reflect.apply(i,o,t.args??He):void 0}}function Ye(e,t){let n=e;for(const e of t){if(!n||"object"!=typeof n)return n;n=Reflect.get(n,e)}return n}var Ze=Symbol(),et=Object.freeze({equalityFn:Object.is,isDerivedStore:!0});function tt(e,t=Object.is){const{debounceOptions:n,debugMode:r,equalityFn:i,keepAlive:c,lockDependencies:a}="function"==typeof(f=t)?{debounceOptions:void 0,debugMode:!1,equalityFn:f,keepAlive:!1,lockDependencies:!1}:{debounceOptions:f.debounce,debugMode:(o&&f.debugMode)??!1,equalityFn:f.equalityFn??Object.is,keepAlive:f.keepAlive??!1,lockDependencies:f.lockDependencies??!1},u=String(nt+=1),l=new Set;var f;c&&l.add(rt);const d=new Set;let y,p,g=Ze,h=!1,b=!0,m=!0,S=0,v=!1,w=null,O=Ze;function q(e,t,n){return m&&l.size?t?(d.add(e.subscribe(t,D,n?{equalityFn:n,isDerivedStore:!0}:et)),t(W(e)?e.getSnapshot():e.getState())):(y||(y=new WeakMap),p||(p=We()),Re(e,y,p.trackPath)):(t??s)(W(e)?e.getSnapshot():e.getState())}function j(e){for(const t of d)t(e);d.clear()}let F=!0;function _(){if(!b&&ot(g))return g;b=!1,m&&j(!0);const t=g,n=ot(t);g=function(t){F=!0;const n=g,o=e(t),s=p?Le(o):o;return ot(n)&&i(n,s)?(r&&console.log("[🥷 Derive Complete 🥷]: No change detected"),F=!1,n):s}(q);const o=r&&(!n||"verbose"===r&&m);if(o){n?"verbose"===r&&console.log("[🌀 Rebuilding Subscriptions 🌀]: Created…"):console.log("[🌀 Initial Derive Complete 🌀]: Created…");const e=d.size;console.log(`[🎯 ${e} ${Fe("Selector Subscription",e)} 🎯]`)}return p&&m&&(p.buildProxySubscriptions((e,t)=>{d.add(e.subscribe(t,D,et))},o),y=void 0,p.reset(),a&&(p=void 0)),F&&n&&function(e,t){const n=function(){const e=l.has(rt)?l.size-1:l.size;return S>0&&S<e}(),o=!S||n,i=n||null!==Me()||De()&&o;n&&ze(),r&&console.log(`[📻 Derive Complete 📻]: Notifying ${l.size} ${Fe("watcher",l.size)}`);for(const t of l){if("function"==typeof t||!t.isDerivedWatcher)continue;const n=t.selector(e);if(!t.equalityFn(t.currentSlice,n)){const e=t.currentSlice;t.currentSlice=n,t.listener(n,e)}}i?v||(v=!0,ot(O)||(O=t),Pe(u,I)):A(e,t)}(g,t),a&&(m=!1),g}function A(e,t){for(const n of l)if("function"==typeof n)n(e,t);else if(!n.isDerivedWatcher){const t=n.selector(e);if(!n.equalityFn(n.currentSlice,t)){const e=n.currentSlice;n.currentSlice=t,n.listener(t,e)}}}function I(){if(!l.size)return;if(b&&!S&&_(),!ot(g))return;const e=ot(O)?O:g;A(g,e),v=!1,O=Ze}const C=n?ie(E,"number"==typeof n?n:n.delay,"number"==typeof n?{leading:!1,maxWait:n,trailing:!0}:n):void 0,k=C??(()=>{h||(h=!0,queueMicrotask(E))});function E(){h=!1,l.size?b&&_():z()}function T(e){e||C&&b?queueMicrotask(()=>{l.size||z()}):z()}function x(){E(),w=null}function D(){if(!b){if(b=!0,!C){if(S){ze();const e=Me(),t=null===e?0:e+1;if(null!==w&&t<=w)return;return w=t,void function(e,t){if(!Ae)return;const n=t<0?0:0|t,r=ke.get(e);if(void 0===r){ke.set(e,n);let t=Ee.get(n);return t||(t=new Set,Ee.set(n,t)),t.add(e),void(n<xe&&(xe=n))}if(n>r){const t=Ee.get(r);if(t&&(t.delete(e),0===t.size&&(Ee.delete(r),r===xe))){xe=1/0;for(const e of Ee.keys())e<xe&&(xe=e)}ke.set(e,n);let o=Ee.get(n);o||(o=new Set,Ee.set(n,o)),o.add(e),n<xe&&(xe=n)}}(x,t)}if(De())return void(v||(v=!0,ot(g)&&(O=g),Pe(u,I)))}w=null,k()}}function M(){return b||!ot(g)?l.size>0?_():e(q):g}function z(e=!0){c&&e||(C?.cancel(),j(),l.clear(),S=0,p=void 0,y=void 0,m=!0,h=!1,b=!0,g=Ze,v=!1,O=Ze,w=null)}return{destroy:()=>z(!1),flushUpdates:function(){l.size&&(C?C.flush():b&&_())},getSnapshot:function(){if(!ot(g)){l.add(rt);const e=_();return l.delete(rt),e}return h&&E(),g},getState:M,subscribe:function(...e){if(1===e.length){const t=e[0];return l.add(t),1!==l.size||ot(g)||M(),()=>{l.delete(t),l.size||T(!1)}}const[t,n,r]=e,o=r?.equalityFn??Object.is,i=r?.isDerivedStore??!1,s={currentSlice:void 0,equalityFn:o,isDerivedWatcher:i,listener:n,selector:t};return l.add(s),s.currentSlice=t(M()),i&&(S+=1),r?.fireImmediately&&n(s.currentSlice,s.currentSlice),()=>{l.delete(s),i&&(S-=1),l.size||T(i)}},getInitialState:()=>{throw new Error("[createDerivedStore]: getInitialState() is not available on derived stores.")},setState:()=>{throw new Error("[createDerivedStore]: setState() is not available on derived stores.")}}}var nt=0;function rt(){}function ot(e){return e!==Ze}var it=class{constructor({disableAutoRefetching:e,initialEnabled:t}){this.count=0,this.enabled=!1,this.lastSubscriptionTime=null,this.fetchThrottleMs=null,this.onSubscribe=null,this.onLastUnsubscribe=null,this.enabled=t,e&&(this.fetchThrottleMs=D.seconds(5))}init({onSubscribe:e,onLastUnsubscribe:t}){this.onSubscribe=e,this.onLastUnsubscribe=t}get(){return{enabled:this.enabled,lastSubscriptionTime:this.lastSubscriptionTime,subscriptionCount:this.count}}setEnabled(e){this.enabled=e}subscribe(){const e=0===this.count,t=null!==this.fetchThrottleMs&&null!==this.lastSubscriptionTime&&!e&&Date.now()-this.lastSubscriptionTime<=this.fetchThrottleMs;return this.onSubscribe?.(this.enabled,e,t),this.count+=1,this.lastSubscriptionTime=Date.now(),e=>{const t=1===this.count;this.count=Math.max(this.count-1,0),t&&(this.onLastUnsubscribe?.(e),this.lastSubscriptionTime=null)}}},st=new WeakMap,ct=new WeakMap;function at(e,t=ut,n=X){return function(e,t,n){let r=ct.get(e);r||(r=new Map,ct.set(e,r));let o=r.get(t);o||(o=new Map,r.set(t,o));const i=o.get(n);if(i)return i;const[s,c,a]=ft(e,t,n),u=new Map,l=e=>new Proxy({__proto__:null},{get(t,n){if("value"===n){let t=c();const n=e.split(".");for(const e of n)e&&(t=t[e]);return t}const r="string"==typeof n?n:n.toString(),o=e?`${e}.${r}`:r,i=u.get(o);if(i)return i;const a=l(o);return st.set(a,s),u.set(o,a),a},set(t,n,r){const o=e.split(".");return""===o[0]&&o.shift(),a(o,r),!0}}),f=l("");return s(()=>{}),st.set(f,s),o.set(n,f),f}(e,t,n)}var ut=e=>e,lt=(e,t,n)=>{if(!t.length)return n;const[r,...o]=t,i=e[r],s=lt(i,o,n);if(X(i,s))return e;const c=Array.isArray(e)?e.slice():{...e};return c[r]=s,c},ft=(e,t,n)=>{const r=new Set,o=W(e);let i,s=t(o?e.getSnapshot():e.getState());return[c=>(r.size||(i=e.subscribe(t,e=>{s=e,r.forEach(e=>e())},{equalityFn:n,isDerivedStore:o})),r.add(c),()=>{r.delete(c),!r.size&&i&&(i(),i=void 0)}),()=>(r.size||(s=t(e.getState())),s),(n,r)=>{if(t!==ut)throw new Error("Cannot set a value with a selector");e.setState(e=>lt(e,n,r),!0)}]};function dt(e){return st.get(e)}var yt={error:!0,lastFetchedAt:!0,queryCache:!0,queryKey:!0,status:!0,enabled:!1,fetch:!1,getCacheEntry:!1,getData:!1,getStatus:!1,isDataExpired:!1,isStale:!1,reset:!1},pt=Object.freeze({force:!0}),gt=Object.freeze({once:!0}),ht=Object.freeze({updateQueryKey:!0});function bt(e,t,n,r){return r?St(r,n)?r:{...mt(e,t),...r}:mt(e,t)}function mt(e,t){const n=Object.assign({__proto__:null},t?.params);for(const t in e?.params){const r=e.params[t];r&&(n[t]=r.value)}return n}function St(e,t){if(!e)return!1;for(const n of t)if(!(n in e))return!1;return!0}function vt(e){return"function"==typeof e}function wt(e){return!vt(e)}function Ot(e,t){return n=>{const r={...n},o={__proto__:null};for(const e in r)m(r,e)&&e in yt&&(yt[e]&&(o[e]=r[e]),delete r[e]);return{...t?t(r):ae(r),...qt(e,null,o)}}}function qt(e,t,n){if(!n.queryCache)return n;const r=Date.now(),o=t??(e&&n.queryKey||null),i={__proto__:null};let s=!1;for(const e in n.queryCache){if(!m(n.queryCache,e))continue;const c=n.queryCache[e];c&&(r-(c.lastFetchedAt??c.errorInfo.lastFailedAt)<c.cacheTime||e===o)?!t&&c.errorInfo&&c.errorInfo.retryCount>0?(i[e]={...c,errorInfo:{...c.errorInfo,retryCount:0}},s=!0):i[e]=c:s=!0}return s?{...n,queryCache:i}:n}function jt(){return Object.create(null)}function Ft(e,t,n){return new w(`[createQueryStore: ${e}]: ${t} failed`,n)}function _t(e){return function(...t){return!0===t[1]?e().setState(t[0],!0):e().setState(t[0])}}var At=Symbol(),It=Object.freeze({debugMode:!1,enabled:!0,equalityFn:Object.is,fireImmediately:!1}),Ct=Object.freeze({fireImmediately:!1,forceResubscribe:!1});function kt(e,t,n=Ct){if(t.current.isActive){if(!n?.forceResubscribe)return;t.current.unsubscribe()}t.current.options.debugMode&&console.log("[📡 useListen 📡] Attaching listener"),t.current.isActive=!0,t.current.resubscribe=(n=Ct)=>kt(e,t,n);const r=e.subscribe(e=>t.current.selector(e),(e,n)=>t.current.react(e,n,()=>{r(),t.current.isActive=!1}),n.fireImmediately?{...t.current.options,fireImmediately:!0}:t.current.options);t.current.unsubscribe=()=>{t.current.isActive&&(r(),t.current.isActive=!1)}}function Et(e){return"function"==typeof e?{equalityFn:e}:e??It}var Tt=Symbol();exports.QueryStatuses=x,exports.StoresError=w,exports.applyStateUpdate=R,exports.configureStores=function(e){var t;o&&function(){if(I)throw new Error("[stores]: configureStores() called after first store creation. Call it earlier before creating any stores.")}(),e.logger&&(t=e.logger,h=t),j??(j=function(e){return e?.queryStoreDefaults?{queryStoreDefaults:e.queryStoreDefaults}:void 0}(e)),F??(F=E(e))},exports.createBaseStore=function(e,t){const n=je(e,t);return p(n,n.getState,n.getInitialState,Object.is)},exports.createDerivedStore=function(e,t=Object.is){const n=tt(e,t);return p(n,n.getSnapshot)},exports.createQueryStore=function(e,t,n){const r=function(e,t,n){k();const r="function"==typeof t?t:jt,s="object"==typeof t?t:n,c=function(e){return"string"==typeof e?.storageKey}(s)?s:void 0,a=T??(T=function(){const e={abortInterruptedFetches:!0,cacheTime:D.days(7),debugMode:!1,disableAutoRefetching:!1,keepPreviousData:!1,maxRetries:5,minStaleTime:!1,paramChangeThrottle:!1,retryDelay:M,staleTime:D.minutes(2),suppressStaleTimeWarning:!1},t=function(){if(j)return j}()?.queryStoreDefaults;return t?{...e,...t}:e}()),u=a.minStaleTime,{fetcher:l,onError:f,onFetched:d,setData:y,transform:p,abortInterruptedFetches:g=a.abortInterruptedFetches,cacheTime:b=a.cacheTime,debugMode:S=a.debugMode,disableAutoRefetching:v=a.disableAutoRefetching,disableCache:q=!1,enabled:F=!0,keepPreviousData:_=a.keepPreviousData,maxRetries:A=a.maxRetries,paramChangeThrottle:I=a.paramChangeThrottle,params:C,retryDelay:E=a.retryDelay,staleTime:P=a.staleTime,suppressStaleTimeWarning:K=a.suppressStaleTimeWarning}=e;let R="function"==typeof P?a.staleTime:P;o&&!1!==u&&!v&&!K&&R<u&&console.warn(`[createQueryStore${c?.storageKey?`: ${c.storageKey}`:""}] ❌ Stale times under ${u/1e3} seconds are not recommended. Provided staleTime: ${R/1e3} seconds`);const $=new Error("[createQueryStore: AbortError] Fetch interrupted"),L="function"==typeof b,V=o&&S,H=e.params?Object.keys(e.params):[];let W=null,U=null,Q=null,J=[],B=!1,G=!1,Y=null,Z=null,ee=null,te=null,ne=null;const re={enabled:"function"!=typeof F&&F,error:null,lastFetchedAt:null,queryCache:{},queryKey:"",status:x.Idle},oe=new it({disableAutoRefetching:v,initialEnabled:re.enabled});function se(){Y&&(Z=null,Y.abort(),Y=null)}function ce(t,n,o){const i=o.setState;function s(e){const t="function"==typeof e;if(t||void 0!==e.enabled){let n;const r=i(r=>{const o=t?e(r):e,i=void 0!==o.enabled?o.enabled:r.enabled;return i!==r.enabled&&(n=()=>function(e,t){e!==t&&ne!==t&&(ne=t,oe.setEnabled(t),t?queueMicrotask(()=>u.fetch(void 0,ht)):(ee||g)&&(g&&se(),ee&&(clearTimeout(ee),ee=null)))}(r.enabled,i)),o});return n?.(),r}return i(e)}function a(e,t){if(v||t?.skipStoreUpdates)return;if(R<=0||R===1/0)return;ee&&(clearTimeout(ee),ee=null);const r=z(e),o=n(),i=(q?te===r&&o.lastFetchedAt:o.queryCache[r]?.lastFetchedAt)||null,s=i?R-(Date.now()-i):R;ee=setTimeout(()=>{const t=oe.get();t.enabled&&t.subscriptionCount>0&&u.fetch(e,pt,!0)},s)}o.setState=s,oe.init({onSubscribe:(r,o,i)=>{if(U||W||!C&&"function"!=typeof e.enabled&&"function"!=typeof e.staleTime){if(r)if(o){const e=mt(W,U),r=z(e),o=n();o.queryKey!==r&&t({queryKey:r}),o.isStale()?u.fetch(e,void 0,!0):a(e,void 0)}else v&&!i&&u.fetch(void 0,void 0,!0)}else B=!0},onLastUnsubscribe:e=>{ee&&(clearTimeout(ee),ee=null),g&&!e&&se()}});const u={...r(s,n,o),...re,async fetch(e,r,o=!1){const i=oe.get();if(!r?.force&&!r?.skipStoreUpdates&&!i.enabled)return null;const m=n(),S=m.error,v=m.queryKey,j=m.status===x.Loading,F=bt(W,U,H,e),I=z(F);if(j&&Z?.promise&&Z.key===I)return V&&console.log("[🔄 Using Active Fetch 🔄] for params:",JSON.stringify(F)),Z.promise;const C=r?.staleTime??R,k=!!r?.skipStoreUpdates,T="boolean"==typeof r?.updateQueryKey?r.updateQueryKey:!!o&&_,D=(o||v===I||T)&&!k;if(g&&D&&se(),!r?.force){const e=m.lastFetchedAt,n=m.queryCache[I],o=n?.lastFetchedAt,s=n?.errorInfo,c=s&&s.retryCount>=A,u=(q?te===I&&e:o)||null;if(u&&!(Date.now()-u>=C)&&(!s||c||k))return D&&!ee&&i.subscriptionCount>0&&0!==R&&R!==1/0&&a(F,r),T&&t(e=>e.queryKey!==I?{queryKey:I}:e),V&&console.log("[💾 Returning Cached Data 💾] for params:",JSON.stringify(F)),n?.data??null}D&&(ee&&(clearTimeout(ee),ee=null),!S&&j||t({error:null,status:x.Loading}),Z={key:I});const M=r?.cacheTime??(L?b(F):b);async function P(){const i=c?.storageKey||I;try{V&&(o||!e||St(e,H)?console.log("[🔄 Fetching 🔄] for params:",JSON.stringify(F)):console.log("[🔄 Fetching with Partial Params 🔄]\n","- Provided params:",`${JSON.stringify(e)}\n`,"- Filled in params:",`${JSON.stringify(Object.fromEntries(Object.keys(F).filter(t=>!(t in e)).map(e=>[e,F[e]])))}`));const n=await(g&&D?async function(e){const t=new AbortController;Y=t;try{return await new Promise((n,r)=>{t.signal.addEventListener("abort",()=>r($),gt),Promise.resolve(l(e,t)).then(n,r)})}finally{Y===t&&(Y=null)}}(F):l(F,null)),c=Date.now();let f;V&&console.log("[✅ Fetch Successful ✅] for params:",JSON.stringify(F));try{f=function(e,t,n){return n?n(e,t):e}(n,F,p)}catch(e){throw Ft(i,"transform",e)}if(k)return V&&console.log("[🥷 Successful Parallel Fetch 🥷] for params:",JSON.stringify(F)),"withCache"===r.skipStoreUpdates&&t(e=>{if(!y)return q?e:{queryCache:{...e.queryCache,[I]:{cacheTime:M,data:f,errorInfo:null,lastFetchedAt:c}}};let t=e;const n=t.queryCache[I];try{y({data:f,params:F,queryKey:I,set:e=>{t="function"==typeof e?{...t,...e(t)}:{...t,...e}}})}catch(e){throw Ft(i,"setData",e)}return!q&&Object.is(n,t.queryCache[I])&&(t={...t,queryCache:{...t.queryCache,[I]:{cacheTime:M,data:null,errorInfo:null,lastFetchedAt:c}}}),t}),f;if((y?s:t)(e=>{let t={...e,error:null,lastFetchedAt:c,queryKey:T?I:e.queryKey,status:x.Success};if(y||q){if(y){V&&console.log("[💾 Setting Data 💾] for params:",JSON.stringify(F));const e=t.queryCache[I];try{y({data:f,params:F,queryKey:I,set:e=>{t="function"==typeof e?{...t,...e(t)}:{...t,...e}}})}catch(e){throw Ft(i,"setData",e)}!q&&Object.is(e,t.queryCache[I])&&(t.queryCache={...t.queryCache,[I]:{cacheTime:M,data:null,errorInfo:null,lastFetchedAt:c}})}}else V&&console.log("[💾 Setting Cache 💾] for params:",JSON.stringify(F),"| Has previous data?:",!!t.queryCache[I]?.data),t.queryCache={...t.queryCache,[I]:{cacheTime:M,data:f,errorInfo:null,lastFetchedAt:c}};return q||b===1/0?t:qt(_,I,t)}),D&&(te=I,a(F,r)),d)try{d({data:f,fetch:u.fetch,params:F,set:s})}catch(e){h.error(Ft(i,"onFetched callback",e))}return f??null}catch(s){if(s===$)return V&&console.log("[❌ Fetch Aborted ❌] for params:",JSON.stringify(F)),null;const c=!o&&!0===r?.throwOnError,a=O(s);if(a instanceof w&&h.error(a),!D){if(c)throw a;return null}const l=q?void 0:n().queryCache[I],d=l?.errorInfo?.retryCount??0,y=d+1;try{f?.(a,d)}catch(e){h.error(Ft(i,"onError callback",e))}if(d<A){if(oe.get().subscriptionCount>0){const t="function"==typeof E?E(y,a):E;t!==1/0&&(ee&&clearTimeout(ee),ee=setTimeout(()=>{const t=oe.get();t.enabled&&t.subscriptionCount>0&&u.fetch(e,pt,!0)},t))}t(e=>({error:a,queryCache:{...e.queryCache,[I]:{cacheTime:l?.cacheTime??M,data:l?.data??null,lastFetchedAt:l?.lastFetchedAt??null,errorInfo:{error:a,lastFailedAt:Date.now(),retryCount:y}}},queryKey:T?I:e.queryKey,status:x.Error}))}else t(e=>({error:a,queryCache:{...e.queryCache,[I]:{cacheTime:l?.cacheTime??M,data:l?.data??null,lastFetchedAt:l?.lastFetchedAt??null,errorInfo:{error:a,lastFailedAt:Date.now(),retryCount:A}}},queryKey:T?I:e.queryKey,status:x.Error}));if(c)throw a;return null}finally{D&&(Z=null)}}return D?(Z={key:I,promise:P()}).promise:P()},getCacheEntry(e){if(q)return null;const t=n(),r=e?"string"==typeof e?e:z(bt(W,U,H,e)):t.queryKey;return t.queryCache[r]??null},getData(e){if(q)return null;const t=n().getCacheEntry(e);return t&&null!==t.data?_?t.data:t.lastFetchedAt&&Date.now()-t.lastFetchedAt>=t.cacheTime?null:t.data:null},getStatus:function(e){const t=n(),r=t.status;switch(e){case"isIdle":return r===x.Idle;case"isLoading":return r===x.Loading;case"isError":case"isInitialLoad":case"isSuccess":case void 0:{const n=t.queryKey,o=t.queryCache[n],i=q?r===x.Error:"number"==typeof o?.errorInfo?.lastFailedAt;if("isError"===e)return i;const s=null!==((q?te===n&&t.lastFetchedAt:o?.lastFetchedAt)||null),c=!s&&!i&&t.enabled;if("isInitialLoad"===e)return c;const a=s&&!i;return"isSuccess"===e?a:{isError:i,isIdle:r===x.Idle,isLoading:r===x.Loading,isInitialLoad:c,isSuccess:a}}}},isDataExpired(e){const t=n(),r=t.queryCache[t.queryKey],o=t.queryKey,i=t.lastFetchedAt,s=(q?te===o&&i:r?.lastFetchedAt)||null;if(!s)return!0;const c=e??r?.cacheTime;return void 0===c||Date.now()-s>=c},isStale(e){const t=n(),r=t.queryKey,o=(q?te===r&&t.lastFetchedAt:t.queryCache[r]?.lastFetchedAt)||null;if(!o)return!0;const i=e??R;return Date.now()-o>=i},reset(e=!1){for(const e of J)e();J=[],W=null,U=null,Q=null,se(),ee&&(clearTimeout(ee),ee=null),Z=null,te=null,e&&t(re)}},m=o.subscribe;return o.subscribe=(...e)=>{const t=G?()=>{}:oe.subscribe(),n=1===e.length?m(e[0]):m(e[0],e[1],e[2]);return e=>{t(e),n()}},u}const ae=c?.storageKey?je(ce,(ue=c,void 0===(le={partialize:Ot(_,c.partialize)})?Object.assign({__proto__:null},ue):Object.assign({__proto__:null},ue,le))):s&&!("storageKey"in s)?je(ce,s):je(ce);var ue,le;const fe=ae.getState(),de=fe.error,ye=fe.enabled,pe=fe.queryKey,ge=fe.fetch;let he;if(pe&&!de&&(te=pe),G=!0,C||"function"==typeof e.enabled){const{directValues:e,enabledAttachVal:t,enabledDirectValue:n,attachVals:r}=function(e,t,n){const r={__proto__:null},o={__proto__:null},i={__proto__:null};for(const e in t){if(!m(t,e))continue;const s=t[e];if(vt(s)){const t=s(at,n);r[e]=t,i[e]=t.value}else wt(s)&&(o[e]=s,i[e]=s)}let s,c=null,a=null;if(vt(e)){const t=e(at,n);s=t.value,c=t}else s=e,a=e;return{attachVals:r,directValues:o,enabledAttachVal:c,enabledDirectValue:a,resolvedEnabled:s,resolvedParams:i}}(F,C,ae);W={enabled:t,params:r},U={enabled:n,params:e}}"function"==typeof e.staleTime&&(Q=e.staleTime(at,ae),R=Q.value);const be=Object.freeze({updateQueryKey:_}),me=function(){let e,t=!1;return function(...n){e=n,t||(t=!0,queueMicrotask(()=>{t=!1,(e=>{ge(e??mt(W,U),be)})(...e)}))}}();function Se(){let e;if(!_){e=mt(W,U);const t=z(e);ae.setState({queryKey:t})}me(e)}const ve=i||!I?Se:ie(Se,"number"==typeof I?I:I.delay,"number"==typeof I?{leading:!1,maxWait:I,trailing:!0}:I);for(const e in W?.params){const t=W.params[e];if(!t)continue;const n=dt(t);if(V&&console.log("[🌀 Param Subscription 🌀] Subscribed to param:",e),n){let r=t.value;const o=n(()=>{const n=t.value;X(r,n)||(V&&console.log("[🌀 Param Change 🌀] -",e,"- [Old]:",`${r?.toString()},`,"[New]:",n?.toString()),r=n,ve())});J.push(o)}}if(Q){const e=dt(Q);if(e){const t=Q;let n=t.value;V&&console.log("[🌀 StaleTime Subscription 🌀] Initial value:",n);const r=e(()=>{const e=t.value;e!==n&&(V&&console.log("[🌀 StaleTime Change 🌀] - [Old]:",`${n},`,"[New]:",e),n=e,R=e,ge())});J.push(r)}}if(W?.enabled){const e=W.enabled,t=dt(e);if(t){let n=e.value;ye!==n&&((he??(he={})).enabled=n),n&&oe.setEnabled(n),V&&console.log("[🌀 Enabled Subscription 🌀] Initial value:",n);const r=t(()=>{const t=e.value;t!==n&&(V&&console.log("[🌀 Enabled Change 🌀] - [Old]:",`${n},`,"[New]:",t),n=t,ae.setState({enabled:t}))});J.push(r)}}else ye!==re.enabled&&((he??(he={})).enabled=re.enabled);const we=z(mt(W,U));return we!==pe&&((he??(he={})).queryKey=we),he&&ae.setState(he),G=!1,B&&queueMicrotask(ve),Oe=ae,qe=N.QueryStore,Object.assign(Oe,{[qe]:!0});var Oe,qe}(e,t,n);return p(r,r.getState,r.getInitialState,Object.is)},exports.createStoreActions=function(e,t){const n=function(e){const t=e.getState(),n={__proto__:null},r=n;if(o&&("object"!=typeof t||null===t))throw new Error("[createStoreActions]: State is not an object");if(J(e))for(const n in t)G(t,n)&&(r[n]=B(e,n));else for(const e in t)G(t,e)&&(r[e]=t[e]);return n}(e);return t?Object.assign(n,t):n},exports.createVirtualStore=function(e,t,n){const r=function(e,t,n){const r="function"==typeof t,o=r?t:void 0,i=r?n:t,s=new Set,a=tt(e,{debugMode:i?.debugMode??!1,equalityFn:function(e,t){const n=Object.is(e,t);return n||(function(e,t){for(const n of s){n.unsubscribe();const r=n.args;if(1===r.length){const o=r[0],i=e.getState(),s=t.getState(),c=t.subscribe(o);n.unsubscribe=c,Object.is(s,i)||o(s,i);continue}const o=r[0],i=r[1];let s=r[2];s?.fireImmediately&&(s={...s,fireImmediately:!1});const c=o(e.getState()),a=o(t.getState()),u=t.subscribe(o,i,s);n.unsubscribe=u,(s?.equalityFn??Object.is)(c,a)||i(a,c)}}(e,t),H(e)),n},keepAlive:!0,lockDependencies:i?.lockDependencies??!0}),u=Object.assign({[N.VirtualStore]:!0,destroy:a.destroy,getInitialState:()=>a.getState().getInitialState(),getState:()=>a.getState().getState(),persist:(l=a.getState,{clearStorage:()=>l().persist?.clearStorage(),getOptions:()=>l().persist?.getOptions()??{},hasHydrated:()=>l().persist?.hasHydrated()??!0,hydrationPromise:()=>l().persist?.hydrationPromise?.()??Promise.resolve(),onFinishHydration:e=>l().persist?.onFinishHydration(e)??c,onHydrate:e=>l().persist?.onHydrate(e)??c,rehydrate:()=>l().persist?.rehydrate(),setOptions:e=>l().persist?.setOptions(e)}),setState:_t(a.getState),subscribe:function(...e){const t={args:e,unsubscribe:1===e.length?a.getState().subscribe(e[0]):a.getState().subscribe(e[0],e[1],e[2])};return s.add(t),()=>{t.unsubscribe(),s.delete(t)}}},o?.(a.getState));var l;return u}(e,t,n);return p(r,r.getState,r.getInitialState)},exports.deepEqual=function e(t,n){if("object"!=typeof t||null==t||"object"!=typeof n||null==n)return t===n;if(Object.is(t,n))return!0;const r=Object.keys(t);if(r.length!==Object.keys(n).length)return!1;for(const o of r)if(!(o in n)||!e(t[o],n[o]))return!1;return!0},exports.defaultRetryDelay=M,exports.destroyStore=H,exports.destroyStores=function(e,t){for(const n of Array.isArray(e)?e:Object.values(e))n&&!t?.skipDestroy?.(n)&&H(n,t)},exports.getQueryKey=function(e){return z(e)},exports.getStoreName=function(e){const t="function"==typeof(n=e)?n.name:"";var n;return Q(e)?e.persist.getOptions().name??t:t},exports.hasGetSnapshot=W,exports.identity=s,exports.isDerivedStore=function(e){return"flushUpdates"in e},exports.isPersistedStore=Q,exports.isQueryStore=U,exports.isVirtualStore=J,exports.nullObject=function(){return{__proto__:null}},exports.parseQueryKey=function(e){return function(e){return JSON.parse(e)}(e)},exports.replacer=L,exports.reviver=V,exports.shallowEqual=function(e,t){if("object"!=typeof e||null==e||"object"!=typeof t||null==t)return e===t;if(Object.is(e,t))return!0;const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const r of n)if(!Object.is(e[r],t[r]))return!1;return!0},exports.time=D,exports.useListen=function(t,n,r,o=It){const i=function(){const t=e.useRef(At);return t.current===At&&(t.current=function(e,t,n){return{selector:e,react:t,isActive:!1,options:Et(n),resubscribe:()=>{},unsubscribe:()=>{}}}(n,r,o)),t}(),s=function(e){return"function"==typeof e?It.enabled:e?.enabled??It.enabled}(o);return i.current.react=r,i.current.selector=n,function(e,t){"function"==typeof t?e.current.options.equalityFn=t:t&&(e.current.options=t??It)}(i,o),e.useLayoutEffect(()=>{if(s)return kt(t,i),()=>function(e){e.current.options.debugMode&&console.log("[🗑️ useListen 🗑️] Detaching listener"),e.current.resubscribe=()=>{},e.current.unsubscribe(),e.current.unsubscribe=()=>{},e.current.isActive=!1}(i)},[s,t]),i},exports.useStableValue=function(t){const n=e.useRef(Tt);return n.current===Tt&&(n.current=t()),n.current};