{"version":3,"file":"static/js/824.8e8df144.chunk.js","mappings":"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","sources":["../../../node_modules/.pnpm/@tanstack+query-core@4.32.0/node_modules/@tanstack/query-core/src/logger.ts","../../../node_modules/.pnpm/@tanstack+query-core@4.32.0/node_modules/@tanstack/query-core/src/removable.ts","../../../node_modules/.pnpm/@tanstack+query-core@4.32.0/node_modules/@tanstack/query-core/src/query.ts","../../../node_modules/.pnpm/@tanstack+query-core@4.32.0/node_modules/@tanstack/query-core/src/queryCache.ts","../../../node_modules/.pnpm/@tanstack+query-core@4.32.0/node_modules/@tanstack/query-core/src/mutation.ts","../../../node_modules/.pnpm/@tanstack+query-core@4.32.0/node_modules/@tanstack/query-core/src/mutationCache.ts","../../../node_modules/.pnpm/@tanstack+query-core@4.32.0/node_modules/@tanstack/query-core/src/queryClient.ts"],"sourcesContent":["export interface Logger {\n  log: LogFunction\n  warn: LogFunction\n  error: LogFunction\n}\n\ntype LogFunction = (...args: any[]) => void\n\nexport const defaultLogger: Logger = console\n","import { isServer, isValidTimeout } from './utils'\n\nexport abstract class Removable {\n  cacheTime!: number\n  private gcTimeout?: ReturnType<typeof setTimeout>\n\n  destroy(): void {\n    this.clearGcTimeout()\n  }\n\n  protected scheduleGc(): void {\n    this.clearGcTimeout()\n\n    if (isValidTimeout(this.cacheTime)) {\n      this.gcTimeout = setTimeout(() => {\n        this.optionalRemove()\n      }, this.cacheTime)\n    }\n  }\n\n  protected updateCacheTime(newCacheTime: number | undefined): void {\n    // Default to 5 minutes (Infinity for server-side) if no cache time is set\n    this.cacheTime = Math.max(\n      this.cacheTime || 0,\n      newCacheTime ?? (isServer ? Infinity : 5 * 60 * 1000),\n    )\n  }\n\n  protected clearGcTimeout() {\n    if (this.gcTimeout) {\n      clearTimeout(this.gcTimeout)\n      this.gcTimeout = undefined\n    }\n  }\n\n  protected abstract optionalRemove(): void\n}\n","import { getAbortController, noop, replaceData, timeUntilStale } from './utils'\nimport { defaultLogger } from './logger'\nimport { notifyManager } from './notifyManager'\nimport { canFetch, createRetryer, isCancelledError } from './retryer'\nimport { Removable } from './removable'\nimport type {\n  CancelOptions,\n  FetchStatus,\n  InitialDataFunction,\n  QueryFunctionContext,\n  QueryKey,\n  QueryMeta,\n  QueryOptions,\n  QueryStatus,\n  SetDataOptions,\n} from './types'\nimport type { QueryCache } from './queryCache'\nimport type { QueryObserver } from './queryObserver'\nimport type { Logger } from './logger'\nimport type { Retryer } from './retryer'\n\n// TYPES\n\ninterface QueryConfig<\n  TQueryFnData,\n  TError,\n  TData,\n  TQueryKey extends QueryKey = QueryKey,\n> {\n  cache: QueryCache\n  queryKey: TQueryKey\n  queryHash: string\n  logger?: Logger\n  options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n  defaultOptions?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n  state?: QueryState<TData, TError>\n}\n\nexport interface QueryState<TData = unknown, TError = unknown> {\n  data: TData | undefined\n  dataUpdateCount: number\n  dataUpdatedAt: number\n  error: TError | null\n  errorUpdateCount: number\n  errorUpdatedAt: number\n  fetchFailureCount: number\n  fetchFailureReason: TError | null\n  fetchMeta: any\n  isInvalidated: boolean\n  status: QueryStatus\n  fetchStatus: FetchStatus\n}\n\nexport interface FetchContext<\n  TQueryFnData,\n  TError,\n  TData,\n  TQueryKey extends QueryKey = QueryKey,\n> {\n  fetchFn: () => unknown | Promise<unknown>\n  fetchOptions?: FetchOptions\n  signal?: AbortSignal\n  options: QueryOptions<TQueryFnData, TError, TData, any>\n  queryKey: TQueryKey\n  state: QueryState<TData, TError>\n}\n\nexport interface QueryBehavior<\n  TQueryFnData = unknown,\n  TError = unknown,\n  TData = TQueryFnData,\n  TQueryKey extends QueryKey = QueryKey,\n> {\n  onFetch: (\n    context: FetchContext<TQueryFnData, TError, TData, TQueryKey>,\n  ) => void\n}\n\nexport interface FetchOptions {\n  cancelRefetch?: boolean\n  meta?: any\n}\n\ninterface FailedAction<TError> {\n  type: 'failed'\n  failureCount: number\n  error: TError\n}\n\ninterface FetchAction {\n  type: 'fetch'\n  meta?: any\n}\n\ninterface SuccessAction<TData> {\n  data: TData | undefined\n  type: 'success'\n  dataUpdatedAt?: number\n  manual?: boolean\n}\n\ninterface ErrorAction<TError> {\n  type: 'error'\n  error: TError\n}\n\ninterface InvalidateAction {\n  type: 'invalidate'\n}\n\ninterface PauseAction {\n  type: 'pause'\n}\n\ninterface ContinueAction {\n  type: 'continue'\n}\n\ninterface SetStateAction<TData, TError> {\n  type: 'setState'\n  state: Partial<QueryState<TData, TError>>\n  setStateOptions?: SetStateOptions\n}\n\nexport type Action<TData, TError> =\n  | ContinueAction\n  | ErrorAction<TError>\n  | FailedAction<TError>\n  | FetchAction\n  | InvalidateAction\n  | PauseAction\n  | SetStateAction<TData, TError>\n  | SuccessAction<TData>\n\nexport interface SetStateOptions {\n  meta?: any\n}\n\n// CLASS\n\nexport class Query<\n  TQueryFnData = unknown,\n  TError = unknown,\n  TData = TQueryFnData,\n  TQueryKey extends QueryKey = QueryKey,\n> extends Removable {\n  queryKey: TQueryKey\n  queryHash: string\n  options!: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n  initialState: QueryState<TData, TError>\n  revertState?: QueryState<TData, TError>\n  state: QueryState<TData, TError>\n  isFetchingOptimistic?: boolean\n\n  private cache: QueryCache\n  private logger: Logger\n  private promise?: Promise<TData>\n  private retryer?: Retryer<TData>\n  private observers: QueryObserver<any, any, any, any, any>[]\n  private defaultOptions?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>\n  private abortSignalConsumed: boolean\n\n  constructor(config: QueryConfig<TQueryFnData, TError, TData, TQueryKey>) {\n    super()\n\n    this.abortSignalConsumed = false\n    this.defaultOptions = config.defaultOptions\n    this.setOptions(config.options)\n    this.observers = []\n    this.cache = config.cache\n    this.logger = config.logger || defaultLogger\n    this.queryKey = config.queryKey\n    this.queryHash = config.queryHash\n    this.initialState = config.state || getDefaultState(this.options)\n    this.state = this.initialState\n    this.scheduleGc()\n  }\n\n  get meta(): QueryMeta | undefined {\n    return this.options.meta\n  }\n\n  private setOptions(\n    options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n  ): void {\n    this.options = { ...this.defaultOptions, ...options }\n\n    this.updateCacheTime(this.options.cacheTime)\n  }\n\n  protected optionalRemove() {\n    if (!this.observers.length && this.state.fetchStatus === 'idle') {\n      this.cache.remove(this)\n    }\n  }\n\n  setData(\n    newData: TData,\n    options?: SetDataOptions & { manual: boolean },\n  ): TData {\n    const data = replaceData(this.state.data, newData, this.options)\n\n    // Set data and mark it as cached\n    this.dispatch({\n      data,\n      type: 'success',\n      dataUpdatedAt: options?.updatedAt,\n      manual: options?.manual,\n    })\n\n    return data\n  }\n\n  setState(\n    state: Partial<QueryState<TData, TError>>,\n    setStateOptions?: SetStateOptions,\n  ): void {\n    this.dispatch({ type: 'setState', state, setStateOptions })\n  }\n\n  cancel(options?: CancelOptions): Promise<void> {\n    const promise = this.promise\n    this.retryer?.cancel(options)\n    return promise ? promise.then(noop).catch(noop) : Promise.resolve()\n  }\n\n  destroy(): void {\n    super.destroy()\n\n    this.cancel({ silent: true })\n  }\n\n  reset(): void {\n    this.destroy()\n    this.setState(this.initialState)\n  }\n\n  isActive(): boolean {\n    return this.observers.some((observer) => observer.options.enabled !== false)\n  }\n\n  isDisabled(): boolean {\n    return this.getObserversCount() > 0 && !this.isActive()\n  }\n\n  isStale(): boolean {\n    return (\n      this.state.isInvalidated ||\n      !this.state.dataUpdatedAt ||\n      this.observers.some((observer) => observer.getCurrentResult().isStale)\n    )\n  }\n\n  isStaleByTime(staleTime = 0): boolean {\n    return (\n      this.state.isInvalidated ||\n      !this.state.dataUpdatedAt ||\n      !timeUntilStale(this.state.dataUpdatedAt, staleTime)\n    )\n  }\n\n  onFocus(): void {\n    const observer = this.observers.find((x) => x.shouldFetchOnWindowFocus())\n\n    if (observer) {\n      observer.refetch({ cancelRefetch: false })\n    }\n\n    // Continue fetch if currently paused\n    this.retryer?.continue()\n  }\n\n  onOnline(): void {\n    const observer = this.observers.find((x) => x.shouldFetchOnReconnect())\n\n    if (observer) {\n      observer.refetch({ cancelRefetch: false })\n    }\n\n    // Continue fetch if currently paused\n    this.retryer?.continue()\n  }\n\n  addObserver(observer: QueryObserver<any, any, any, any, any>): void {\n    if (!this.observers.includes(observer)) {\n      this.observers.push(observer)\n\n      // Stop the query from being garbage collected\n      this.clearGcTimeout()\n\n      this.cache.notify({ type: 'observerAdded', query: this, observer })\n    }\n  }\n\n  removeObserver(observer: QueryObserver<any, any, any, any, any>): void {\n    if (this.observers.includes(observer)) {\n      this.observers = this.observers.filter((x) => x !== observer)\n\n      if (!this.observers.length) {\n        // If the transport layer does not support cancellation\n        // we'll let the query continue so the result can be cached\n        if (this.retryer) {\n          if (this.abortSignalConsumed) {\n            this.retryer.cancel({ revert: true })\n          } else {\n            this.retryer.cancelRetry()\n          }\n        }\n\n        this.scheduleGc()\n      }\n\n      this.cache.notify({ type: 'observerRemoved', query: this, observer })\n    }\n  }\n\n  getObserversCount(): number {\n    return this.observers.length\n  }\n\n  invalidate(): void {\n    if (!this.state.isInvalidated) {\n      this.dispatch({ type: 'invalidate' })\n    }\n  }\n\n  fetch(\n    options?: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n    fetchOptions?: FetchOptions,\n  ): Promise<TData> {\n    if (this.state.fetchStatus !== 'idle') {\n      if (this.state.dataUpdatedAt && fetchOptions?.cancelRefetch) {\n        // Silently cancel current fetch if the user wants to cancel refetches\n        this.cancel({ silent: true })\n      } else if (this.promise) {\n        // make sure that retries that were potentially cancelled due to unmounts can continue\n        this.retryer?.continueRetry()\n        // Return current promise if we are already fetching\n        return this.promise\n      }\n    }\n\n    // Update config if passed, otherwise the config from the last execution is used\n    if (options) {\n      this.setOptions(options)\n    }\n\n    // Use the options from the first observer with a query function if no function is found.\n    // This can happen when the query is hydrated or created with setQueryData.\n    if (!this.options.queryFn) {\n      const observer = this.observers.find((x) => x.options.queryFn)\n      if (observer) {\n        this.setOptions(observer.options)\n      }\n    }\n\n    if (!Array.isArray(this.options.queryKey)) {\n      if (process.env.NODE_ENV !== 'production') {\n        this.logger.error(\n          `As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']`,\n        )\n      }\n    }\n\n    const abortController = getAbortController()\n\n    // Create query function context\n    const queryFnContext: QueryFunctionContext<TQueryKey> = {\n      queryKey: this.queryKey,\n      pageParam: undefined,\n      meta: this.meta,\n    }\n\n    // Adds an enumerable signal property to the object that\n    // which sets abortSignalConsumed to true when the signal\n    // is read.\n    const addSignalProperty = (object: unknown) => {\n      Object.defineProperty(object, 'signal', {\n        enumerable: true,\n        get: () => {\n          if (abortController) {\n            this.abortSignalConsumed = true\n            return abortController.signal\n          }\n          return undefined\n        },\n      })\n    }\n\n    addSignalProperty(queryFnContext)\n\n    // Create fetch function\n    const fetchFn = () => {\n      if (!this.options.queryFn) {\n        return Promise.reject(\n          `Missing queryFn for queryKey '${this.options.queryHash}'`,\n        )\n      }\n      this.abortSignalConsumed = false\n      return this.options.queryFn(queryFnContext)\n    }\n\n    // Trigger behavior hook\n    const context: FetchContext<TQueryFnData, TError, TData, TQueryKey> = {\n      fetchOptions,\n      options: this.options,\n      queryKey: this.queryKey,\n      state: this.state,\n      fetchFn,\n    }\n\n    addSignalProperty(context)\n\n    this.options.behavior?.onFetch(context)\n\n    // Store state in case the current fetch needs to be reverted\n    this.revertState = this.state\n\n    // Set to fetching state if not already in it\n    if (\n      this.state.fetchStatus === 'idle' ||\n      this.state.fetchMeta !== context.fetchOptions?.meta\n    ) {\n      this.dispatch({ type: 'fetch', meta: context.fetchOptions?.meta })\n    }\n\n    const onError = (error: TError | { silent?: boolean }) => {\n      // Optimistically update state if needed\n      if (!(isCancelledError(error) && error.silent)) {\n        this.dispatch({\n          type: 'error',\n          error: error as TError,\n        })\n      }\n\n      if (!isCancelledError(error)) {\n        // Notify cache callback\n        this.cache.config.onError?.(error, this as Query<any, any, any, any>)\n        this.cache.config.onSettled?.(\n          this.state.data,\n          error,\n          this as Query<any, any, any, any>,\n        )\n\n        if (process.env.NODE_ENV !== 'production') {\n          this.logger.error(error)\n        }\n      }\n\n      if (!this.isFetchingOptimistic) {\n        // Schedule query gc after fetching\n        this.scheduleGc()\n      }\n      this.isFetchingOptimistic = false\n    }\n\n    // Try to fetch the data\n    this.retryer = createRetryer({\n      fn: context.fetchFn as () => TData,\n      abort: abortController?.abort.bind(abortController),\n      onSuccess: (data) => {\n        if (typeof data === 'undefined') {\n          if (process.env.NODE_ENV !== 'production') {\n            this.logger.error(\n              `Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`,\n            )\n          }\n          onError(new Error(`${this.queryHash} data is undefined`) as any)\n          return\n        }\n\n        this.setData(data as TData)\n\n        // Notify cache callback\n        this.cache.config.onSuccess?.(data, this as Query<any, any, any, any>)\n        this.cache.config.onSettled?.(\n          data,\n          this.state.error,\n          this as Query<any, any, any, any>,\n        )\n\n        if (!this.isFetchingOptimistic) {\n          // Schedule query gc after fetching\n          this.scheduleGc()\n        }\n        this.isFetchingOptimistic = false\n      },\n      onError,\n      onFail: (failureCount, error) => {\n        this.dispatch({ type: 'failed', failureCount, error })\n      },\n      onPause: () => {\n        this.dispatch({ type: 'pause' })\n      },\n      onContinue: () => {\n        this.dispatch({ type: 'continue' })\n      },\n      retry: context.options.retry,\n      retryDelay: context.options.retryDelay,\n      networkMode: context.options.networkMode,\n    })\n\n    this.promise = this.retryer.promise\n\n    return this.promise\n  }\n\n  private dispatch(action: Action<TData, TError>): void {\n    const reducer = (\n      state: QueryState<TData, TError>,\n    ): QueryState<TData, TError> => {\n      switch (action.type) {\n        case 'failed':\n          return {\n            ...state,\n            fetchFailureCount: action.failureCount,\n            fetchFailureReason: action.error,\n          }\n        case 'pause':\n          return {\n            ...state,\n            fetchStatus: 'paused',\n          }\n        case 'continue':\n          return {\n            ...state,\n            fetchStatus: 'fetching',\n          }\n        case 'fetch':\n          return {\n            ...state,\n            fetchFailureCount: 0,\n            fetchFailureReason: null,\n            fetchMeta: action.meta ?? null,\n            fetchStatus: canFetch(this.options.networkMode)\n              ? 'fetching'\n              : 'paused',\n            ...(!state.dataUpdatedAt && {\n              error: null,\n              status: 'loading',\n            }),\n          }\n        case 'success':\n          return {\n            ...state,\n            data: action.data,\n            dataUpdateCount: state.dataUpdateCount + 1,\n            dataUpdatedAt: action.dataUpdatedAt ?? Date.now(),\n            error: null,\n            isInvalidated: false,\n            status: 'success',\n            ...(!action.manual && {\n              fetchStatus: 'idle',\n              fetchFailureCount: 0,\n              fetchFailureReason: null,\n            }),\n          }\n        case 'error':\n          const error = action.error as unknown\n\n          if (isCancelledError(error) && error.revert && this.revertState) {\n            return { ...this.revertState }\n          }\n\n          return {\n            ...state,\n            error: error as TError,\n            errorUpdateCount: state.errorUpdateCount + 1,\n            errorUpdatedAt: Date.now(),\n            fetchFailureCount: state.fetchFailureCount + 1,\n            fetchFailureReason: error as TError,\n            fetchStatus: 'idle',\n            status: 'error',\n          }\n        case 'invalidate':\n          return {\n            ...state,\n            isInvalidated: true,\n          }\n        case 'setState':\n          return {\n            ...state,\n            ...action.state,\n          }\n      }\n    }\n\n    this.state = reducer(this.state)\n\n    notifyManager.batch(() => {\n      this.observers.forEach((observer) => {\n        observer.onQueryUpdate(action)\n      })\n\n      this.cache.notify({ query: this, type: 'updated', action })\n    })\n  }\n}\n\nfunction getDefaultState<\n  TQueryFnData,\n  TError,\n  TData,\n  TQueryKey extends QueryKey,\n>(\n  options: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n): QueryState<TData, TError> {\n  const data =\n    typeof options.initialData === 'function'\n      ? (options.initialData as InitialDataFunction<TData>)()\n      : options.initialData\n\n  const hasData = typeof data !== 'undefined'\n\n  const initialDataUpdatedAt = hasData\n    ? typeof options.initialDataUpdatedAt === 'function'\n      ? (options.initialDataUpdatedAt as () => number | undefined)()\n      : options.initialDataUpdatedAt\n    : 0\n\n  return {\n    data,\n    dataUpdateCount: 0,\n    dataUpdatedAt: hasData ? initialDataUpdatedAt ?? Date.now() : 0,\n    error: null,\n    errorUpdateCount: 0,\n    errorUpdatedAt: 0,\n    fetchFailureCount: 0,\n    fetchFailureReason: null,\n    fetchMeta: null,\n    isInvalidated: false,\n    status: hasData ? 'success' : 'loading',\n    fetchStatus: 'idle',\n  }\n}\n","import { hashQueryKeyByOptions, matchQuery, parseFilterArgs } from './utils'\nimport { Query } from './query'\nimport { notifyManager } from './notifyManager'\nimport { Subscribable } from './subscribable'\nimport type { QueryFilters } from './utils'\nimport type { Action, QueryState } from './query'\nimport type { NotifyEvent, QueryKey, QueryOptions } from './types'\nimport type { QueryClient } from './queryClient'\nimport type { QueryObserver } from './queryObserver'\n\n// TYPES\n\ninterface QueryCacheConfig {\n  onError?: (error: unknown, query: Query<unknown, unknown, unknown>) => void\n  onSuccess?: (data: unknown, query: Query<unknown, unknown, unknown>) => void\n  onSettled?: (\n    data: unknown | undefined,\n    error: unknown | null,\n    query: Query<unknown, unknown, unknown>,\n  ) => void\n}\n\ninterface QueryHashMap {\n  [hash: string]: Query<any, any, any, any>\n}\n\ninterface NotifyEventQueryAdded extends NotifyEvent {\n  type: 'added'\n  query: Query<any, any, any, any>\n}\n\ninterface NotifyEventQueryRemoved extends NotifyEvent {\n  type: 'removed'\n  query: Query<any, any, any, any>\n}\n\ninterface NotifyEventQueryUpdated extends NotifyEvent {\n  type: 'updated'\n  query: Query<any, any, any, any>\n  action: Action<any, any>\n}\n\ninterface NotifyEventQueryObserverAdded extends NotifyEvent {\n  type: 'observerAdded'\n  query: Query<any, any, any, any>\n  observer: QueryObserver<any, any, any, any, any>\n}\n\ninterface NotifyEventQueryObserverRemoved extends NotifyEvent {\n  type: 'observerRemoved'\n  query: Query<any, any, any, any>\n  observer: QueryObserver<any, any, any, any, any>\n}\n\ninterface NotifyEventQueryObserverResultsUpdated extends NotifyEvent {\n  type: 'observerResultsUpdated'\n  query: Query<any, any, any, any>\n}\n\ninterface NotifyEventQueryObserverOptionsUpdated extends NotifyEvent {\n  type: 'observerOptionsUpdated'\n  query: Query<any, any, any, any>\n  observer: QueryObserver<any, any, any, any, any>\n}\n\nexport type QueryCacheNotifyEvent =\n  | NotifyEventQueryAdded\n  | NotifyEventQueryRemoved\n  | NotifyEventQueryUpdated\n  | NotifyEventQueryObserverAdded\n  | NotifyEventQueryObserverRemoved\n  | NotifyEventQueryObserverResultsUpdated\n  | NotifyEventQueryObserverOptionsUpdated\n\ntype QueryCacheListener = (event: QueryCacheNotifyEvent) => void\n\n// CLASS\n\nexport class QueryCache extends Subscribable<QueryCacheListener> {\n  config: QueryCacheConfig\n\n  private queries: Query<any, any, any, any>[]\n  private queriesMap: QueryHashMap\n\n  constructor(config?: QueryCacheConfig) {\n    super()\n    this.config = config || {}\n    this.queries = []\n    this.queriesMap = {}\n  }\n\n  build<TQueryFnData, TError, TData, TQueryKey extends QueryKey>(\n    client: QueryClient,\n    options: QueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n    state?: QueryState<TData, TError>,\n  ): Query<TQueryFnData, TError, TData, TQueryKey> {\n    const queryKey = options.queryKey!\n    const queryHash =\n      options.queryHash ?? hashQueryKeyByOptions(queryKey, options)\n    let query = this.get<TQueryFnData, TError, TData, TQueryKey>(queryHash)\n\n    if (!query) {\n      query = new Query({\n        cache: this,\n        logger: client.getLogger(),\n        queryKey,\n        queryHash,\n        options: client.defaultQueryOptions(options),\n        state,\n        defaultOptions: client.getQueryDefaults(queryKey),\n      })\n      this.add(query)\n    }\n\n    return query\n  }\n\n  add(query: Query<any, any, any, any>): void {\n    if (!this.queriesMap[query.queryHash]) {\n      this.queriesMap[query.queryHash] = query\n      this.queries.push(query)\n      this.notify({\n        type: 'added',\n        query,\n      })\n    }\n  }\n\n  remove(query: Query<any, any, any, any>): void {\n    const queryInMap = this.queriesMap[query.queryHash]\n\n    if (queryInMap) {\n      query.destroy()\n\n      this.queries = this.queries.filter((x) => x !== query)\n\n      if (queryInMap === query) {\n        delete this.queriesMap[query.queryHash]\n      }\n\n      this.notify({ type: 'removed', query })\n    }\n  }\n\n  clear(): void {\n    notifyManager.batch(() => {\n      this.queries.forEach((query) => {\n        this.remove(query)\n      })\n    })\n  }\n\n  get<\n    TQueryFnData = unknown,\n    TError = unknown,\n    TData = TQueryFnData,\n    TQueryKey extends QueryKey = QueryKey,\n  >(\n    queryHash: string,\n  ): Query<TQueryFnData, TError, TData, TQueryKey> | undefined {\n    return this.queriesMap[queryHash]\n  }\n\n  getAll(): Query[] {\n    return this.queries\n  }\n\n  find<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData>(\n    arg1: QueryKey,\n    arg2?: QueryFilters,\n  ): Query<TQueryFnData, TError, TData> | undefined {\n    const [filters] = parseFilterArgs(arg1, arg2)\n\n    if (typeof filters.exact === 'undefined') {\n      filters.exact = true\n    }\n\n    return this.queries.find((query) => matchQuery(filters, query))\n  }\n\n  findAll(queryKey?: QueryKey, filters?: QueryFilters): Query[]\n  findAll(filters?: QueryFilters): Query[]\n  findAll(arg1?: QueryKey | QueryFilters, arg2?: QueryFilters): Query[]\n  findAll(arg1?: QueryKey | QueryFilters, arg2?: QueryFilters): Query[] {\n    const [filters] = parseFilterArgs(arg1, arg2)\n    return Object.keys(filters).length > 0\n      ? this.queries.filter((query) => matchQuery(filters, query))\n      : this.queries\n  }\n\n  notify(event: QueryCacheNotifyEvent) {\n    notifyManager.batch(() => {\n      this.listeners.forEach(({ listener }) => {\n        listener(event)\n      })\n    })\n  }\n\n  onFocus(): void {\n    notifyManager.batch(() => {\n      this.queries.forEach((query) => {\n        query.onFocus()\n      })\n    })\n  }\n\n  onOnline(): void {\n    notifyManager.batch(() => {\n      this.queries.forEach((query) => {\n        query.onOnline()\n      })\n    })\n  }\n}\n","import { defaultLogger } from './logger'\nimport { notifyManager } from './notifyManager'\nimport { Removable } from './removable'\nimport { canFetch, createRetryer } from './retryer'\nimport type { MutationMeta, MutationOptions, MutationStatus } from './types'\nimport type { MutationCache } from './mutationCache'\nimport type { MutationObserver } from './mutationObserver'\nimport type { Logger } from './logger'\nimport type { Retryer } from './retryer'\n\n// TYPES\n\ninterface MutationConfig<TData, TError, TVariables, TContext> {\n  mutationId: number\n  mutationCache: MutationCache\n  options: MutationOptions<TData, TError, TVariables, TContext>\n  logger?: Logger\n  defaultOptions?: MutationOptions<TData, TError, TVariables, TContext>\n  state?: MutationState<TData, TError, TVariables, TContext>\n  meta?: MutationMeta\n}\n\nexport interface MutationState<\n  TData = unknown,\n  TError = unknown,\n  TVariables = void,\n  TContext = unknown,\n> {\n  context: TContext | undefined\n  data: TData | undefined\n  error: TError | null\n  failureCount: number\n  failureReason: TError | null\n  isPaused: boolean\n  status: MutationStatus\n  variables: TVariables | undefined\n}\n\ninterface FailedAction<TError> {\n  type: 'failed'\n  failureCount: number\n  error: TError | null\n}\n\ninterface LoadingAction<TVariables, TContext> {\n  type: 'loading'\n  variables?: TVariables\n  context?: TContext\n}\n\ninterface SuccessAction<TData> {\n  type: 'success'\n  data: TData\n}\n\ninterface ErrorAction<TError> {\n  type: 'error'\n  error: TError\n}\n\ninterface PauseAction {\n  type: 'pause'\n}\n\ninterface ContinueAction {\n  type: 'continue'\n}\n\ninterface SetStateAction<TData, TError, TVariables, TContext> {\n  type: 'setState'\n  state: MutationState<TData, TError, TVariables, TContext>\n}\n\nexport type Action<TData, TError, TVariables, TContext> =\n  | ContinueAction\n  | ErrorAction<TError>\n  | FailedAction<TError>\n  | LoadingAction<TVariables, TContext>\n  | PauseAction\n  | SetStateAction<TData, TError, TVariables, TContext>\n  | SuccessAction<TData>\n\n// CLASS\n\nexport class Mutation<\n  TData = unknown,\n  TError = unknown,\n  TVariables = void,\n  TContext = unknown,\n> extends Removable {\n  state: MutationState<TData, TError, TVariables, TContext>\n  options!: MutationOptions<TData, TError, TVariables, TContext>\n  mutationId: number\n\n  private observers: MutationObserver<TData, TError, TVariables, TContext>[]\n  private defaultOptions?: MutationOptions<TData, TError, TVariables, TContext>\n  private mutationCache: MutationCache\n  private logger: Logger\n  private retryer?: Retryer<TData>\n\n  constructor(config: MutationConfig<TData, TError, TVariables, TContext>) {\n    super()\n\n    this.defaultOptions = config.defaultOptions\n    this.mutationId = config.mutationId\n    this.mutationCache = config.mutationCache\n    this.logger = config.logger || defaultLogger\n    this.observers = []\n    this.state = config.state || getDefaultState()\n\n    this.setOptions(config.options)\n    this.scheduleGc()\n  }\n\n  setOptions(\n    options?: MutationOptions<TData, TError, TVariables, TContext>,\n  ): void {\n    this.options = { ...this.defaultOptions, ...options }\n\n    this.updateCacheTime(this.options.cacheTime)\n  }\n\n  get meta(): MutationMeta | undefined {\n    return this.options.meta\n  }\n\n  setState(state: MutationState<TData, TError, TVariables, TContext>): void {\n    this.dispatch({ type: 'setState', state })\n  }\n\n  addObserver(observer: MutationObserver<any, any, any, any>): void {\n    if (!this.observers.includes(observer)) {\n      this.observers.push(observer)\n\n      // Stop the mutation from being garbage collected\n      this.clearGcTimeout()\n\n      this.mutationCache.notify({\n        type: 'observerAdded',\n        mutation: this,\n        observer,\n      })\n    }\n  }\n\n  removeObserver(observer: MutationObserver<any, any, any, any>): void {\n    this.observers = this.observers.filter((x) => x !== observer)\n\n    this.scheduleGc()\n\n    this.mutationCache.notify({\n      type: 'observerRemoved',\n      mutation: this,\n      observer,\n    })\n  }\n\n  protected optionalRemove() {\n    if (!this.observers.length) {\n      if (this.state.status === 'loading') {\n        this.scheduleGc()\n      } else {\n        this.mutationCache.remove(this)\n      }\n    }\n  }\n\n  continue(): Promise<unknown> {\n    return this.retryer?.continue() ?? this.execute()\n  }\n\n  async execute(): Promise<TData> {\n    const executeMutation = () => {\n      this.retryer = createRetryer({\n        fn: () => {\n          if (!this.options.mutationFn) {\n            return Promise.reject('No mutationFn found')\n          }\n          return this.options.mutationFn(this.state.variables!)\n        },\n        onFail: (failureCount, error) => {\n          this.dispatch({ type: 'failed', failureCount, error })\n        },\n        onPause: () => {\n          this.dispatch({ type: 'pause' })\n        },\n        onContinue: () => {\n          this.dispatch({ type: 'continue' })\n        },\n        retry: this.options.retry ?? 0,\n        retryDelay: this.options.retryDelay,\n        networkMode: this.options.networkMode,\n      })\n\n      return this.retryer.promise\n    }\n\n    const restored = this.state.status === 'loading'\n    try {\n      if (!restored) {\n        this.dispatch({ type: 'loading', variables: this.options.variables! })\n        // Notify cache callback\n        await this.mutationCache.config.onMutate?.(\n          this.state.variables,\n          this as Mutation<unknown, unknown, unknown, unknown>,\n        )\n        const context = await this.options.onMutate?.(this.state.variables!)\n        if (context !== this.state.context) {\n          this.dispatch({\n            type: 'loading',\n            context,\n            variables: this.state.variables,\n          })\n        }\n      }\n      const data = await executeMutation()\n\n      // Notify cache callback\n      await this.mutationCache.config.onSuccess?.(\n        data,\n        this.state.variables,\n        this.state.context,\n        this as Mutation<unknown, unknown, unknown, unknown>,\n      )\n\n      await this.options.onSuccess?.(\n        data,\n        this.state.variables!,\n        this.state.context!,\n      )\n\n      // Notify cache callback\n      await this.mutationCache.config.onSettled?.(\n        data,\n        null,\n        this.state.variables,\n        this.state.context,\n        this as Mutation<unknown, unknown, unknown, unknown>,\n      )\n\n      await this.options.onSettled?.(\n        data,\n        null,\n        this.state.variables!,\n        this.state.context,\n      )\n\n      this.dispatch({ type: 'success', data })\n      return data\n    } catch (error) {\n      try {\n        // Notify cache callback\n        await this.mutationCache.config.onError?.(\n          error,\n          this.state.variables,\n          this.state.context,\n          this as Mutation<unknown, unknown, unknown, unknown>,\n        )\n\n        if (process.env.NODE_ENV !== 'production') {\n          this.logger.error(error)\n        }\n\n        await this.options.onError?.(\n          error as TError,\n          this.state.variables!,\n          this.state.context,\n        )\n\n        // Notify cache callback\n        await this.mutationCache.config.onSettled?.(\n          undefined,\n          error,\n          this.state.variables,\n          this.state.context,\n          this as Mutation<unknown, unknown, unknown, unknown>,\n        )\n\n        await this.options.onSettled?.(\n          undefined,\n          error as TError,\n          this.state.variables!,\n          this.state.context,\n        )\n        throw error\n      } finally {\n        this.dispatch({ type: 'error', error: error as TError })\n      }\n    }\n  }\n\n  private dispatch(action: Action<TData, TError, TVariables, TContext>): void {\n    const reducer = (\n      state: MutationState<TData, TError, TVariables, TContext>,\n    ): MutationState<TData, TError, TVariables, TContext> => {\n      switch (action.type) {\n        case 'failed':\n          return {\n            ...state,\n            failureCount: action.failureCount,\n            failureReason: action.error,\n          }\n        case 'pause':\n          return {\n            ...state,\n            isPaused: true,\n          }\n        case 'continue':\n          return {\n            ...state,\n            isPaused: false,\n          }\n        case 'loading':\n          return {\n            ...state,\n            context: action.context,\n            data: undefined,\n            failureCount: 0,\n            failureReason: null,\n            error: null,\n            isPaused: !canFetch(this.options.networkMode),\n            status: 'loading',\n            variables: action.variables,\n          }\n        case 'success':\n          return {\n            ...state,\n            data: action.data,\n            failureCount: 0,\n            failureReason: null,\n            error: null,\n            status: 'success',\n            isPaused: false,\n          }\n        case 'error':\n          return {\n            ...state,\n            data: undefined,\n            error: action.error,\n            failureCount: state.failureCount + 1,\n            failureReason: action.error,\n            isPaused: false,\n            status: 'error',\n          }\n        case 'setState':\n          return {\n            ...state,\n            ...action.state,\n          }\n      }\n    }\n    this.state = reducer(this.state)\n\n    notifyManager.batch(() => {\n      this.observers.forEach((observer) => {\n        observer.onMutationUpdate(action)\n      })\n      this.mutationCache.notify({\n        mutation: this,\n        type: 'updated',\n        action,\n      })\n    })\n  }\n}\n\nexport function getDefaultState<\n  TData,\n  TError,\n  TVariables,\n  TContext,\n>(): MutationState<TData, TError, TVariables, TContext> {\n  return {\n    context: undefined,\n    data: undefined,\n    error: null,\n    failureCount: 0,\n    failureReason: null,\n    isPaused: false,\n    status: 'idle',\n    variables: undefined,\n  }\n}\n","import { notifyManager } from './notifyManager'\nimport { Mutation } from './mutation'\nimport { matchMutation, noop } from './utils'\nimport { Subscribable } from './subscribable'\nimport type { MutationObserver } from './mutationObserver'\nimport type { MutationOptions, NotifyEvent } from './types'\nimport type { QueryClient } from './queryClient'\nimport type { Action, MutationState } from './mutation'\nimport type { MutationFilters } from './utils'\n\n// TYPES\n\ninterface MutationCacheConfig {\n  onError?: (\n    error: unknown,\n    variables: unknown,\n    context: unknown,\n    mutation: Mutation<unknown, unknown, unknown>,\n  ) => Promise<unknown> | unknown\n  onSuccess?: (\n    data: unknown,\n    variables: unknown,\n    context: unknown,\n    mutation: Mutation<unknown, unknown, unknown>,\n  ) => Promise<unknown> | unknown\n  onMutate?: (\n    variables: unknown,\n    mutation: Mutation<unknown, unknown, unknown>,\n  ) => Promise<unknown> | unknown\n  onSettled?: (\n    data: unknown | undefined,\n    error: unknown | null,\n    variables: unknown,\n    context: unknown,\n    mutation: Mutation<unknown, unknown, unknown>,\n  ) => Promise<unknown> | unknown\n}\n\ninterface NotifyEventMutationAdded extends NotifyEvent {\n  type: 'added'\n  mutation: Mutation<any, any, any, any>\n}\ninterface NotifyEventMutationRemoved extends NotifyEvent {\n  type: 'removed'\n  mutation: Mutation<any, any, any, any>\n}\n\ninterface NotifyEventMutationObserverAdded extends NotifyEvent {\n  type: 'observerAdded'\n  mutation: Mutation<any, any, any, any>\n  observer: MutationObserver<any, any, any>\n}\n\ninterface NotifyEventMutationObserverRemoved extends NotifyEvent {\n  type: 'observerRemoved'\n  mutation: Mutation<any, any, any, any>\n  observer: MutationObserver<any, any, any>\n}\n\ninterface NotifyEventMutationObserverOptionsUpdated extends NotifyEvent {\n  type: 'observerOptionsUpdated'\n  mutation?: Mutation<any, any, any, any>\n  observer: MutationObserver<any, any, any, any>\n}\n\ninterface NotifyEventMutationUpdated extends NotifyEvent {\n  type: 'updated'\n  mutation: Mutation<any, any, any, any>\n  action: Action<any, any, any, any>\n}\n\ntype MutationCacheNotifyEvent =\n  | NotifyEventMutationAdded\n  | NotifyEventMutationRemoved\n  | NotifyEventMutationObserverAdded\n  | NotifyEventMutationObserverRemoved\n  | NotifyEventMutationObserverOptionsUpdated\n  | NotifyEventMutationUpdated\n\ntype MutationCacheListener = (event: MutationCacheNotifyEvent) => void\n\n// CLASS\n\nexport class MutationCache extends Subscribable<MutationCacheListener> {\n  config: MutationCacheConfig\n\n  private mutations: Mutation<any, any, any, any>[]\n  private mutationId: number\n  private resuming: Promise<unknown> | undefined\n\n  constructor(config?: MutationCacheConfig) {\n    super()\n    this.config = config || {}\n    this.mutations = []\n    this.mutationId = 0\n  }\n\n  build<TData, TError, TVariables, TContext>(\n    client: QueryClient,\n    options: MutationOptions<TData, TError, TVariables, TContext>,\n    state?: MutationState<TData, TError, TVariables, TContext>,\n  ): Mutation<TData, TError, TVariables, TContext> {\n    const mutation = new Mutation({\n      mutationCache: this,\n      logger: client.getLogger(),\n      mutationId: ++this.mutationId,\n      options: client.defaultMutationOptions(options),\n      state,\n      defaultOptions: options.mutationKey\n        ? client.getMutationDefaults(options.mutationKey)\n        : undefined,\n    })\n\n    this.add(mutation)\n\n    return mutation\n  }\n\n  add(mutation: Mutation<any, any, any, any>): void {\n    this.mutations.push(mutation)\n    this.notify({ type: 'added', mutation })\n  }\n\n  remove(mutation: Mutation<any, any, any, any>): void {\n    this.mutations = this.mutations.filter((x) => x !== mutation)\n    this.notify({ type: 'removed', mutation })\n  }\n\n  clear(): void {\n    notifyManager.batch(() => {\n      this.mutations.forEach((mutation) => {\n        this.remove(mutation)\n      })\n    })\n  }\n\n  getAll(): Mutation[] {\n    return this.mutations\n  }\n\n  find<TData = unknown, TError = unknown, TVariables = any, TContext = unknown>(\n    filters: MutationFilters,\n  ): Mutation<TData, TError, TVariables, TContext> | undefined {\n    if (typeof filters.exact === 'undefined') {\n      filters.exact = true\n    }\n\n    return this.mutations.find((mutation) => matchMutation(filters, mutation))\n  }\n\n  findAll(filters: MutationFilters): Mutation[] {\n    return this.mutations.filter((mutation) => matchMutation(filters, mutation))\n  }\n\n  notify(event: MutationCacheNotifyEvent) {\n    notifyManager.batch(() => {\n      this.listeners.forEach(({ listener }) => {\n        listener(event)\n      })\n    })\n  }\n\n  resumePausedMutations(): Promise<unknown> {\n    this.resuming = (this.resuming ?? Promise.resolve())\n      .then(() => {\n        const pausedMutations = this.mutations.filter((x) => x.state.isPaused)\n        return notifyManager.batch(() =>\n          pausedMutations.reduce(\n            (promise, mutation) =>\n              promise.then(() => mutation.continue().catch(noop)),\n            Promise.resolve() as Promise<unknown>,\n          ),\n        )\n      })\n      .then(() => {\n        this.resuming = undefined\n      })\n\n    return this.resuming\n  }\n}\n","import {\n  functionalUpdate,\n  hashQueryKey,\n  hashQueryKeyByOptions,\n  noop,\n  parseFilterArgs,\n  parseQueryArgs,\n  partialMatchKey,\n} from './utils'\nimport { QueryCache } from './queryCache'\nimport { MutationCache } from './mutationCache'\nimport { focusManager } from './focusManager'\nimport { onlineManager } from './onlineManager'\nimport { notifyManager } from './notifyManager'\nimport { infiniteQueryBehavior } from './infiniteQueryBehavior'\nimport { defaultLogger } from './logger'\nimport type { CancelOptions, DefaultedQueryObserverOptions } from './types'\nimport type { Logger } from './logger'\nimport type { QueryState } from './query'\nimport type {\n  DefaultOptions,\n  FetchInfiniteQueryOptions,\n  FetchQueryOptions,\n  InfiniteData,\n  InvalidateOptions,\n  InvalidateQueryFilters,\n  MutationKey,\n  MutationObserverOptions,\n  MutationOptions,\n  QueryClientConfig,\n  QueryFunction,\n  QueryKey,\n  QueryObserverOptions,\n  QueryOptions,\n  RefetchOptions,\n  RefetchQueryFilters,\n  ResetOptions,\n  ResetQueryFilters,\n  SetDataOptions,\n  WithRequired,\n} from './types'\nimport type { MutationFilters, QueryFilters, Updater } from './utils'\n\n// TYPES\n\ninterface QueryDefaults {\n  queryKey: QueryKey\n  defaultOptions: QueryOptions<any, any, any>\n}\n\ninterface MutationDefaults {\n  mutationKey: MutationKey\n  defaultOptions: MutationOptions<any, any, any, any>\n}\n\n// CLASS\n\nexport class QueryClient {\n  private queryCache: QueryCache\n  private mutationCache: MutationCache\n  private logger: Logger\n  private defaultOptions: DefaultOptions\n  private queryDefaults: QueryDefaults[]\n  private mutationDefaults: MutationDefaults[]\n  private mountCount: number\n  private unsubscribeFocus?: () => void\n  private unsubscribeOnline?: () => void\n\n  constructor(config: QueryClientConfig = {}) {\n    this.queryCache = config.queryCache || new QueryCache()\n    this.mutationCache = config.mutationCache || new MutationCache()\n    this.logger = config.logger || defaultLogger\n    this.defaultOptions = config.defaultOptions || {}\n    this.queryDefaults = []\n    this.mutationDefaults = []\n    this.mountCount = 0\n\n    if (process.env.NODE_ENV !== 'production' && config.logger) {\n      this.logger.error(\n        `Passing a custom logger has been deprecated and will be removed in the next major version.`,\n      )\n    }\n  }\n\n  mount(): void {\n    this.mountCount++\n    if (this.mountCount !== 1) return\n\n    this.unsubscribeFocus = focusManager.subscribe(() => {\n      if (focusManager.isFocused()) {\n        this.resumePausedMutations()\n        this.queryCache.onFocus()\n      }\n    })\n    this.unsubscribeOnline = onlineManager.subscribe(() => {\n      if (onlineManager.isOnline()) {\n        this.resumePausedMutations()\n        this.queryCache.onOnline()\n      }\n    })\n  }\n\n  unmount(): void {\n    this.mountCount--\n    if (this.mountCount !== 0) return\n\n    this.unsubscribeFocus?.()\n    this.unsubscribeFocus = undefined\n\n    this.unsubscribeOnline?.()\n    this.unsubscribeOnline = undefined\n  }\n\n  isFetching(filters?: QueryFilters): number\n  isFetching(queryKey?: QueryKey, filters?: QueryFilters): number\n  isFetching(arg1?: QueryKey | QueryFilters, arg2?: QueryFilters): number {\n    const [filters] = parseFilterArgs(arg1, arg2)\n    filters.fetchStatus = 'fetching'\n    return this.queryCache.findAll(filters).length\n  }\n\n  isMutating(filters?: MutationFilters): number {\n    return this.mutationCache.findAll({ ...filters, fetching: true }).length\n  }\n\n  getQueryData<TQueryFnData = unknown>(\n    queryKey: QueryKey,\n    filters?: QueryFilters,\n  ): TQueryFnData | undefined {\n    return this.queryCache.find<TQueryFnData>(queryKey, filters)?.state.data\n  }\n\n  ensureQueryData<\n    TQueryFnData = unknown,\n    TError = unknown,\n    TData = TQueryFnData,\n    TQueryKey extends QueryKey = QueryKey,\n  >(\n    options: WithRequired<\n      FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n      'queryKey'\n    >,\n  ): Promise<TData>\n  ensureQueryData<\n    TQueryFnData = unknown,\n    TError = unknown,\n    TData = TQueryFnData,\n    TQueryKey extends QueryKey = QueryKey,\n  >(\n    queryKey: TQueryKey,\n    options?: Omit<\n      FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n      'queryKey'\n    >,\n  ): Promise<TData>\n  ensureQueryData<\n    TQueryFnData = unknown,\n    TError = unknown,\n    TData = TQueryFnData,\n    TQueryKey extends QueryKey = QueryKey,\n  >(\n    queryKey: TQueryKey,\n    queryFn: QueryFunction<TQueryFnData, TQueryKey>,\n    options?: Omit<\n      FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n      'queryKey' | 'queryFn'\n    >,\n  ): Promise<TData>\n  ensureQueryData<\n    TQueryFnData,\n    TError,\n    TData = TQueryFnData,\n    TQueryKey extends QueryKey = QueryKey,\n  >(\n    arg1:\n      | TQueryKey\n      | WithRequired<\n          FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n          'queryKey'\n        >,\n    arg2?:\n      | QueryFunction<TQueryFnData, TQueryKey>\n      | FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n    arg3?: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n  ): Promise<TData> {\n    const parsedOptions = parseQueryArgs(arg1, arg2, arg3)\n    const cachedData = this.getQueryData<TData>(parsedOptions.queryKey!)\n\n    return cachedData\n      ? Promise.resolve(cachedData)\n      : this.fetchQuery(parsedOptions)\n  }\n\n  getQueriesData<TQueryFnData = unknown>(\n    queryKey: QueryKey,\n  ): [QueryKey, TQueryFnData | undefined][]\n  getQueriesData<TQueryFnData = unknown>(\n    filters: QueryFilters,\n  ): [QueryKey, TQueryFnData | undefined][]\n  getQueriesData<TQueryFnData = unknown>(\n    queryKeyOrFilters: QueryKey | QueryFilters,\n  ): [QueryKey, TQueryFnData | undefined][] {\n    return this.getQueryCache()\n      .findAll(queryKeyOrFilters)\n      .map(({ queryKey, state }) => {\n        const data = state.data as TQueryFnData | undefined\n        return [queryKey, data]\n      })\n  }\n\n  setQueryData<TQueryFnData>(\n    queryKey: QueryKey,\n    updater: Updater<TQueryFnData | undefined, TQueryFnData | undefined>,\n    options?: SetDataOptions,\n  ): TQueryFnData | undefined {\n    const query = this.queryCache.find<TQueryFnData>(queryKey)\n    const prevData = query?.state.data\n    const data = functionalUpdate(updater, prevData)\n\n    if (typeof data === 'undefined') {\n      return undefined\n    }\n\n    const parsedOptions = parseQueryArgs(queryKey)\n    const defaultedOptions = this.defaultQueryOptions(parsedOptions)\n    return this.queryCache\n      .build(this, defaultedOptions)\n      .setData(data, { ...options, manual: true })\n  }\n\n  setQueriesData<TQueryFnData>(\n    queryKey: QueryKey,\n    updater: Updater<TQueryFnData | undefined, TQueryFnData | undefined>,\n    options?: SetDataOptions,\n  ): [QueryKey, TQueryFnData | undefined][]\n\n  setQueriesData<TQueryFnData>(\n    filters: QueryFilters,\n    updater: Updater<TQueryFnData | undefined, TQueryFnData | undefined>,\n    options?: SetDataOptions,\n  ): [QueryKey, TQueryFnData | undefined][]\n\n  setQueriesData<TQueryFnData>(\n    queryKeyOrFilters: QueryKey | QueryFilters,\n    updater: Updater<TQueryFnData | undefined, TQueryFnData | undefined>,\n    options?: SetDataOptions,\n  ): [QueryKey, TQueryFnData | undefined][] {\n    return notifyManager.batch(() =>\n      this.getQueryCache()\n        .findAll(queryKeyOrFilters)\n        .map(({ queryKey }) => [\n          queryKey,\n          this.setQueryData<TQueryFnData>(queryKey, updater, options),\n        ]),\n    )\n  }\n\n  getQueryState<TQueryFnData = unknown, TError = undefined>(\n    queryKey: QueryKey,\n    filters?: QueryFilters,\n  ): QueryState<TQueryFnData, TError> | undefined {\n    return this.queryCache.find<TQueryFnData, TError>(queryKey, filters)?.state\n  }\n\n  removeQueries(filters?: QueryFilters): void\n  removeQueries(queryKey?: QueryKey, filters?: QueryFilters): void\n  removeQueries(arg1?: QueryKey | QueryFilters, arg2?: QueryFilters): void {\n    const [filters] = parseFilterArgs(arg1, arg2)\n    const queryCache = this.queryCache\n    notifyManager.batch(() => {\n      queryCache.findAll(filters).forEach((query) => {\n        queryCache.remove(query)\n      })\n    })\n  }\n\n  resetQueries<TPageData = unknown>(\n    filters?: ResetQueryFilters<TPageData>,\n    options?: ResetOptions,\n  ): Promise<void>\n  resetQueries<TPageData = unknown>(\n    queryKey?: QueryKey,\n    filters?: ResetQueryFilters<TPageData>,\n    options?: ResetOptions,\n  ): Promise<void>\n  resetQueries(\n    arg1?: QueryKey | ResetQueryFilters,\n    arg2?: ResetQueryFilters | ResetOptions,\n    arg3?: ResetOptions,\n  ): Promise<void> {\n    const [filters, options] = parseFilterArgs(arg1, arg2, arg3)\n    const queryCache = this.queryCache\n\n    const refetchFilters: RefetchQueryFilters = {\n      type: 'active',\n      ...filters,\n    }\n\n    return notifyManager.batch(() => {\n      queryCache.findAll(filters).forEach((query) => {\n        query.reset()\n      })\n      return this.refetchQueries(refetchFilters, options)\n    })\n  }\n\n  cancelQueries(filters?: QueryFilters, options?: CancelOptions): Promise<void>\n  cancelQueries(\n    queryKey?: QueryKey,\n    filters?: QueryFilters,\n    options?: CancelOptions,\n  ): Promise<void>\n  cancelQueries(\n    arg1?: QueryKey | QueryFilters,\n    arg2?: QueryFilters | CancelOptions,\n    arg3?: CancelOptions,\n  ): Promise<void> {\n    const [filters, cancelOptions = {}] = parseFilterArgs(arg1, arg2, arg3)\n\n    if (typeof cancelOptions.revert === 'undefined') {\n      cancelOptions.revert = true\n    }\n\n    const promises = notifyManager.batch(() =>\n      this.queryCache\n        .findAll(filters)\n        .map((query) => query.cancel(cancelOptions)),\n    )\n\n    return Promise.all(promises).then(noop).catch(noop)\n  }\n\n  invalidateQueries<TPageData = unknown>(\n    filters?: InvalidateQueryFilters<TPageData>,\n    options?: InvalidateOptions,\n  ): Promise<void>\n  invalidateQueries<TPageData = unknown>(\n    queryKey?: QueryKey,\n    filters?: InvalidateQueryFilters<TPageData>,\n    options?: InvalidateOptions,\n  ): Promise<void>\n  invalidateQueries(\n    arg1?: QueryKey | InvalidateQueryFilters,\n    arg2?: InvalidateQueryFilters | InvalidateOptions,\n    arg3?: InvalidateOptions,\n  ): Promise<void> {\n    const [filters, options] = parseFilterArgs(arg1, arg2, arg3)\n\n    return notifyManager.batch(() => {\n      this.queryCache.findAll(filters).forEach((query) => {\n        query.invalidate()\n      })\n\n      if (filters.refetchType === 'none') {\n        return Promise.resolve()\n      }\n      const refetchFilters: RefetchQueryFilters = {\n        ...filters,\n        type: filters.refetchType ?? filters.type ?? 'active',\n      }\n      return this.refetchQueries(refetchFilters, options)\n    })\n  }\n\n  refetchQueries<TPageData = unknown>(\n    filters?: RefetchQueryFilters<TPageData>,\n    options?: RefetchOptions,\n  ): Promise<void>\n  refetchQueries<TPageData = unknown>(\n    queryKey?: QueryKey,\n    filters?: RefetchQueryFilters<TPageData>,\n    options?: RefetchOptions,\n  ): Promise<void>\n  refetchQueries(\n    arg1?: QueryKey | RefetchQueryFilters,\n    arg2?: RefetchQueryFilters | RefetchOptions,\n    arg3?: RefetchOptions,\n  ): Promise<void> {\n    const [filters, options] = parseFilterArgs(arg1, arg2, arg3)\n\n    const promises = notifyManager.batch(() =>\n      this.queryCache\n        .findAll(filters)\n        .filter((query) => !query.isDisabled())\n        .map((query) =>\n          query.fetch(undefined, {\n            ...options,\n            cancelRefetch: options?.cancelRefetch ?? true,\n            meta: { refetchPage: filters.refetchPage },\n          }),\n        ),\n    )\n\n    let promise = Promise.all(promises).then(noop)\n\n    if (!options?.throwOnError) {\n      promise = promise.catch(noop)\n    }\n\n    return promise\n  }\n\n  fetchQuery<\n    TQueryFnData = unknown,\n    TError = unknown,\n    TData = TQueryFnData,\n    TQueryKey extends QueryKey = QueryKey,\n  >(\n    options: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n  ): Promise<TData>\n  fetchQuery<\n    TQueryFnData = unknown,\n    TError = unknown,\n    TData = TQueryFnData,\n    TQueryKey extends QueryKey = QueryKey,\n  >(\n    queryKey: TQueryKey,\n    options?: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n  ): Promise<TData>\n  fetchQuery<\n    TQueryFnData = unknown,\n    TError = unknown,\n    TData = TQueryFnData,\n    TQueryKey extends QueryKey = QueryKey,\n  >(\n    queryKey: TQueryKey,\n    queryFn: QueryFunction<TQueryFnData, TQueryKey>,\n    options?: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n  ): Promise<TData>\n  fetchQuery<\n    TQueryFnData,\n    TError,\n    TData = TQueryFnData,\n    TQueryKey extends QueryKey = QueryKey,\n  >(\n    arg1: TQueryKey | FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n    arg2?:\n      | QueryFunction<TQueryFnData, TQueryKey>\n      | FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n    arg3?: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n  ): Promise<TData> {\n    const parsedOptions = parseQueryArgs(arg1, arg2, arg3)\n    const defaultedOptions = this.defaultQueryOptions(parsedOptions)\n\n    // https://github.com/tannerlinsley/react-query/issues/652\n    if (typeof defaultedOptions.retry === 'undefined') {\n      defaultedOptions.retry = false\n    }\n\n    const query = this.queryCache.build(this, defaultedOptions)\n\n    return query.isStaleByTime(defaultedOptions.staleTime)\n      ? query.fetch(defaultedOptions)\n      : Promise.resolve(query.state.data as TData)\n  }\n\n  prefetchQuery<\n    TQueryFnData = unknown,\n    TError = unknown,\n    TData = TQueryFnData,\n    TQueryKey extends QueryKey = QueryKey,\n  >(\n    options: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n  ): Promise<void>\n  prefetchQuery<\n    TQueryFnData = unknown,\n    TError = unknown,\n    TData = TQueryFnData,\n    TQueryKey extends QueryKey = QueryKey,\n  >(\n    queryKey: TQueryKey,\n    options?: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n  ): Promise<void>\n  prefetchQuery<\n    TQueryFnData = unknown,\n    TError = unknown,\n    TData = TQueryFnData,\n    TQueryKey extends QueryKey = QueryKey,\n  >(\n    queryKey: TQueryKey,\n    queryFn: QueryFunction<TQueryFnData, TQueryKey>,\n    options?: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n  ): Promise<void>\n  prefetchQuery<\n    TQueryFnData = unknown,\n    TError = unknown,\n    TData = TQueryFnData,\n    TQueryKey extends QueryKey = QueryKey,\n  >(\n    arg1: TQueryKey | FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n    arg2?:\n      | QueryFunction<TQueryFnData, TQueryKey>\n      | FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n    arg3?: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n  ): Promise<void> {\n    return this.fetchQuery(arg1 as any, arg2 as any, arg3)\n      .then(noop)\n      .catch(noop)\n  }\n\n  fetchInfiniteQuery<\n    TQueryFnData = unknown,\n    TError = unknown,\n    TData = TQueryFnData,\n    TQueryKey extends QueryKey = QueryKey,\n  >(\n    options: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n  ): Promise<InfiniteData<TData>>\n  fetchInfiniteQuery<\n    TQueryFnData = unknown,\n    TError = unknown,\n    TData = TQueryFnData,\n    TQueryKey extends QueryKey = QueryKey,\n  >(\n    queryKey: TQueryKey,\n    options?: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n  ): Promise<InfiniteData<TData>>\n  fetchInfiniteQuery<\n    TQueryFnData = unknown,\n    TError = unknown,\n    TData = TQueryFnData,\n    TQueryKey extends QueryKey = QueryKey,\n  >(\n    queryKey: TQueryKey,\n    queryFn: QueryFunction<TQueryFnData, TQueryKey>,\n    options?: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n  ): Promise<InfiniteData<TData>>\n  fetchInfiniteQuery<\n    TQueryFnData,\n    TError,\n    TData = TQueryFnData,\n    TQueryKey extends QueryKey = QueryKey,\n  >(\n    arg1:\n      | TQueryKey\n      | FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n    arg2?:\n      | QueryFunction<TQueryFnData, TQueryKey>\n      | FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n    arg3?: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n  ): Promise<InfiniteData<TData>> {\n    const parsedOptions = parseQueryArgs(arg1, arg2, arg3)\n    parsedOptions.behavior = infiniteQueryBehavior<\n      TQueryFnData,\n      TError,\n      TData\n    >()\n    return this.fetchQuery(parsedOptions)\n  }\n\n  prefetchInfiniteQuery<\n    TQueryFnData = unknown,\n    TError = unknown,\n    TData = TQueryFnData,\n    TQueryKey extends QueryKey = QueryKey,\n  >(\n    options: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n  ): Promise<void>\n  prefetchInfiniteQuery<\n    TQueryFnData = unknown,\n    TError = unknown,\n    TData = TQueryFnData,\n    TQueryKey extends QueryKey = QueryKey,\n  >(\n    queryKey: TQueryKey,\n    options?: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n  ): Promise<void>\n  prefetchInfiniteQuery<\n    TQueryFnData = unknown,\n    TError = unknown,\n    TData = TQueryFnData,\n    TQueryKey extends QueryKey = QueryKey,\n  >(\n    queryKey: TQueryKey,\n    queryFn: QueryFunction<TQueryFnData, TQueryKey>,\n    options?: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n  ): Promise<void>\n  prefetchInfiniteQuery<\n    TQueryFnData,\n    TError,\n    TData = TQueryFnData,\n    TQueryKey extends QueryKey = QueryKey,\n  >(\n    arg1:\n      | TQueryKey\n      | FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n    arg2?:\n      | QueryFunction<TQueryFnData, TQueryKey>\n      | FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n    arg3?: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n  ): Promise<void> {\n    return this.fetchInfiniteQuery(arg1 as any, arg2 as any, arg3)\n      .then(noop)\n      .catch(noop)\n  }\n\n  resumePausedMutations(): Promise<unknown> {\n    return this.mutationCache.resumePausedMutations()\n  }\n\n  getQueryCache(): QueryCache {\n    return this.queryCache\n  }\n\n  getMutationCache(): MutationCache {\n    return this.mutationCache\n  }\n\n  getLogger(): Logger {\n    return this.logger\n  }\n\n  getDefaultOptions(): DefaultOptions {\n    return this.defaultOptions\n  }\n\n  setDefaultOptions(options: DefaultOptions): void {\n    this.defaultOptions = options\n  }\n\n  setQueryDefaults(\n    queryKey: QueryKey,\n    options: QueryObserverOptions<unknown, any, any, any>,\n  ): void {\n    const result = this.queryDefaults.find(\n      (x) => hashQueryKey(queryKey) === hashQueryKey(x.queryKey),\n    )\n    if (result) {\n      result.defaultOptions = options\n    } else {\n      this.queryDefaults.push({ queryKey, defaultOptions: options })\n    }\n  }\n\n  getQueryDefaults(\n    queryKey?: QueryKey,\n  ): QueryObserverOptions<any, any, any, any, any> | undefined {\n    if (!queryKey) {\n      return undefined\n    }\n\n    // Get the first matching defaults\n    const firstMatchingDefaults = this.queryDefaults.find((x) =>\n      partialMatchKey(queryKey, x.queryKey),\n    )\n\n    // Additional checks and error in dev mode\n    if (process.env.NODE_ENV !== 'production') {\n      // Retrieve all matching defaults for the given key\n      const matchingDefaults = this.queryDefaults.filter((x) =>\n        partialMatchKey(queryKey, x.queryKey),\n      )\n      // It is ok not having defaults, but it is error prone to have more than 1 default for a given key\n      if (matchingDefaults.length > 1) {\n        this.logger.error(\n          `[QueryClient] Several query defaults match with key '${JSON.stringify(\n            queryKey,\n          )}'. The first matching query defaults are used. Please check how query defaults are registered. Order does matter here. cf. https://react-query.tanstack.com/reference/QueryClient#queryclientsetquerydefaults.`,\n        )\n      }\n    }\n\n    return firstMatchingDefaults?.defaultOptions\n  }\n\n  setMutationDefaults(\n    mutationKey: MutationKey,\n    options: MutationObserverOptions<any, any, any, any>,\n  ): void {\n    const result = this.mutationDefaults.find(\n      (x) => hashQueryKey(mutationKey) === hashQueryKey(x.mutationKey),\n    )\n    if (result) {\n      result.defaultOptions = options\n    } else {\n      this.mutationDefaults.push({ mutationKey, defaultOptions: options })\n    }\n  }\n\n  getMutationDefaults(\n    mutationKey?: MutationKey,\n  ): MutationObserverOptions<any, any, any, any> | undefined {\n    if (!mutationKey) {\n      return undefined\n    }\n\n    // Get the first matching defaults\n    const firstMatchingDefaults = this.mutationDefaults.find((x) =>\n      partialMatchKey(mutationKey, x.mutationKey),\n    )\n\n    // Additional checks and error in dev mode\n    if (process.env.NODE_ENV !== 'production') {\n      // Retrieve all matching defaults for the given key\n      const matchingDefaults = this.mutationDefaults.filter((x) =>\n        partialMatchKey(mutationKey, x.mutationKey),\n      )\n      // It is ok not having defaults, but it is error prone to have more than 1 default for a given key\n      if (matchingDefaults.length > 1) {\n        this.logger.error(\n          `[QueryClient] Several mutation defaults match with key '${JSON.stringify(\n            mutationKey,\n          )}'. The first matching mutation defaults are used. Please check how mutation defaults are registered. Order does matter here. cf. https://react-query.tanstack.com/reference/QueryClient#queryclientsetmutationdefaults.`,\n        )\n      }\n    }\n\n    return firstMatchingDefaults?.defaultOptions\n  }\n\n  defaultQueryOptions<\n    TQueryFnData,\n    TError,\n    TData,\n    TQueryData,\n    TQueryKey extends QueryKey,\n  >(\n    options?:\n      | QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>\n      | DefaultedQueryObserverOptions<\n          TQueryFnData,\n          TError,\n          TData,\n          TQueryData,\n          TQueryKey\n        >,\n  ): DefaultedQueryObserverOptions<\n    TQueryFnData,\n    TError,\n    TData,\n    TQueryData,\n    TQueryKey\n  > {\n    if (options?._defaulted) {\n      return options as DefaultedQueryObserverOptions<\n        TQueryFnData,\n        TError,\n        TData,\n        TQueryData,\n        TQueryKey\n      >\n    }\n\n    const defaultedOptions = {\n      ...this.defaultOptions.queries,\n      ...this.getQueryDefaults(options?.queryKey),\n      ...options,\n      _defaulted: true,\n    }\n\n    if (!defaultedOptions.queryHash && defaultedOptions.queryKey) {\n      defaultedOptions.queryHash = hashQueryKeyByOptions(\n        defaultedOptions.queryKey,\n        defaultedOptions,\n      )\n    }\n\n    // dependent default values\n    if (typeof defaultedOptions.refetchOnReconnect === 'undefined') {\n      defaultedOptions.refetchOnReconnect =\n        defaultedOptions.networkMode !== 'always'\n    }\n    if (typeof defaultedOptions.useErrorBoundary === 'undefined') {\n      defaultedOptions.useErrorBoundary = !!defaultedOptions.suspense\n    }\n\n    return defaultedOptions as DefaultedQueryObserverOptions<\n      TQueryFnData,\n      TError,\n      TData,\n      TQueryData,\n      TQueryKey\n    >\n  }\n\n  defaultMutationOptions<T extends MutationOptions<any, any, any, any>>(\n    options?: T,\n  ): T {\n    if (options?._defaulted) {\n      return options\n    }\n    return {\n      ...this.defaultOptions.mutations,\n      ...this.getMutationDefaults(options?.mutationKey),\n      ...options,\n      _defaulted: true,\n    } as T\n  }\n\n  clear(): void {\n    this.queryCache.clear()\n    this.mutationCache.clear()\n  }\n}\n"],"names":["defaultLogger","console","Removable","destroy","this","clearGcTimeout","scheduleGc","isValidTimeout","cacheTime","gcTimeout","setTimeout","optionalRemove","updateCacheTime","newCacheTime","Math","max","isServer","Infinity","clearTimeout","undefined","Query","constructor","config","abortSignalConsumed","defaultOptions","setOptions","options","observers","cache","logger","queryKey","queryHash","initialState","state","data","initialData","hasData","initialDataUpdatedAt","dataUpdateCount","dataUpdatedAt","Date","now","error","errorUpdateCount","errorUpdatedAt","fetchFailureCount","fetchFailureReason","fetchMeta","isInvalidated","status","fetchStatus","getDefaultState","meta","length","remove","setData","newData","replaceData","dispatch","type","updatedAt","manual","setState","setStateOptions","cancel","promise","retryer","then","noop","catch","Promise","resolve","silent","reset","isActive","some","observer","enabled","isDisabled","getObserversCount","isStale","getCurrentResult","isStaleByTime","staleTime","timeUntilStale","onFocus","find","x","shouldFetchOnWindowFocus","refetch","cancelRefetch","continue","onOnline","shouldFetchOnReconnect","addObserver","includes","push","notify","query","removeObserver","filter","revert","cancelRetry","invalidate","fetch","fetchOptions","continueRetry","queryFn","Array","isArray","abortController","getAbortController","queryFnContext","pageParam","addSignalProperty","object","Object","defineProperty","enumerable","get","signal","context","fetchFn","reject","behavior","onFetch","revertState","_context$fetchOptions","_context$fetchOptions2","onError","isCancelledError","onSettled","isFetchingOptimistic","createRetryer","fn","abort","bind","onSuccess","Error","onFail","failureCount","onPause","onContinue","retry","retryDelay","networkMode","action","canFetch","reducer","notifyManager","batch","forEach","onQueryUpdate","QueryCache","queries","queriesMap","build","client","hashQueryKeyByOptions","getLogger","defaultQueryOptions","getQueryDefaults","add","queryInMap","clear","getAll","arg1","arg2","parseFilterArgs","filters","exact","matchQuery","findAll","keys","event","listeners","listener","Subscribable","Mutation","mutationId","mutationCache","failureReason","isPaused","variables","mutation","execute","executeMutation","mutationFn","restored","onMutate","_this$mutationCache$c","_this$mutationCache$c3","_this$mutationCache$c5","_this$mutationCache$c7","_this$mutationCache$c9","onMutationUpdate","MutationCache","mutations","defaultMutationOptions","mutationKey","getMutationDefaults","matchMutation","resumePausedMutations","resuming","pausedMutations","reduce","QueryClient","queryCache","queryDefaults","mutationDefaults","mountCount","mount","unsubscribeFocus","focusManager","subscribe","isFocused","unsubscribeOnline","onlineManager","isOnline","unmount","isFetching","isMutating","fetching","getQueryData","_this$queryCache$find","ensureQueryData","arg3","parsedOptions","parseQueryArgs","cachedData","fetchQuery","getQueriesData","queryKeyOrFilters","getQueryCache","map","setQueryData","updater","prevData","functionalUpdate","defaultedOptions","setQueriesData","getQueryState","removeQueries","resetQueries","refetchFilters","refetchQueries","cancelQueries","cancelOptions","promises","all","invalidateQueries","refetchType","refetchPage","throwOnError","prefetchQuery","fetchInfiniteQuery","infiniteQueryBehavior","prefetchInfiniteQuery","getMutationCache","getDefaultOptions","setDefaultOptions","setQueryDefaults","result","hashQueryKey","firstMatchingDefaults","partialMatchKey","setMutationDefaults","_defaulted","refetchOnReconnect","useErrorBoundary","suspense"],"sourceRoot":""}