From 89d7159a9c3e535eec5501f6370bfab633e7acd4 Mon Sep 17 00:00:00 2001 From: Steven Date: Tue, 21 Oct 2025 19:06:19 -0700 Subject: [PATCH 1/3] fix wallet transaction flow --- apps/docs/app/components/full-page-buynow.tsx | 2 +- .../connector/src/lib/connector-client.ts | 17 --- .../connector/src/ui/connector-provider.tsx | 4 - .../components/transaction-states.test.tsx | 15 --- .../iframe/iframe-wallet-payment.tsx | 30 +++-- .../transaction-states/TransactionSuccess.tsx | 9 -- .../src/components/ui/secure-iframe-shell.tsx | 118 ++++++++++-------- packages/react/src/iframe-app/bundle.ts | 6 +- packages/react/src/index.tsx | 8 +- packages/sdk/src/core/web-client.ts | 46 +++---- 10 files changed, 118 insertions(+), 137 deletions(-) diff --git a/apps/docs/app/components/full-page-buynow.tsx b/apps/docs/app/components/full-page-buynow.tsx index 583921d..26e3555 100644 --- a/apps/docs/app/components/full-page-buynow.tsx +++ b/apps/docs/app/components/full-page-buynow.tsx @@ -10,7 +10,7 @@ export function FullPageBuyNow({ rpcUrl }: FullPageBuyNowProps = {}) { return ( !previousAddresses.has(a.address)); const selected = firstNew?.address ?? previouslySelected ?? accounts[0]?.address ?? null; - if (this.config.debug) { - console.log(`[Connector] Connected to ${walletName} with ${accounts.length} accounts`); - console.log( - '[Connector] Accounts:', - accounts.map((a: AccountInfo) => a.address), - ); - console.log('[Connector] Selected account:', selected); - } this.state = { ...this.state, selectedWallet: w.wallet, @@ -374,9 +363,6 @@ export class ConnectorClient { if (disconnectFeature) { try { await (disconnectFeature as StandardDisconnectFeature['standard:disconnect']).disconnect(); - if (this.config.debug) { - console.log('[Connector] Called wallet disconnect feature'); - } } catch (error) { if (this.config.debug) { console.warn('[Connector] Wallet disconnect failed:', error); @@ -451,8 +437,5 @@ export class ConnectorClient { this.unsubscribers = []; // Clear external store listeners this.listeners.clear(); - if (this.config.debug) { - console.log('[Connector] destroyed'); - } } } diff --git a/packages/connector/src/ui/connector-provider.tsx b/packages/connector/src/ui/connector-provider.tsx index f8cd364..de1098f 100644 --- a/packages/connector/src/ui/connector-provider.tsx +++ b/packages/connector/src/ui/connector-provider.tsx @@ -26,25 +26,21 @@ function getOrCreateConnectorClient(config?: ConnectorConfig): ConnectorClient { } if (!globalConnectorClient) { - console.log('[ConnectorProvider] Creating singleton ConnectorClient'); globalConnectorClient = new ConnectorClient(config); } providerRefCount++; - console.log('[ConnectorProvider] Provider mounted, ref count:', providerRefCount); return globalConnectorClient; } function releaseConnectorClient(): void { providerRefCount--; - console.log('[ConnectorProvider] Provider unmounted, ref count:', providerRefCount); if (providerRefCount <= 0) { // Delay cleanup to handle rapid mount/unmount cycles cleanupTimeoutId = setTimeout(() => { if (providerRefCount <= 0 && globalConnectorClient) { - console.log('[ConnectorProvider] Cleaning up singleton ConnectorClient'); // Disconnect wallet before cleanup globalConnectorClient.disconnect().catch(console.warn); // If the client has a destroy method, call it diff --git a/packages/react/src/__tests__/components/transaction-states.test.tsx b/packages/react/src/__tests__/components/transaction-states.test.tsx index 9f62108..e960bfe 100644 --- a/packages/react/src/__tests__/components/transaction-states.test.tsx +++ b/packages/react/src/__tests__/components/transaction-states.test.tsx @@ -190,21 +190,6 @@ describe('Transaction State Components', () => { expect(onViewTransaction).toHaveBeenCalledWith(defaultSuccessProps.signature); }); - it('should render close button', () => { - render(); - - expect(screen.getByText('Close')).toBeInTheDocument(); - }); - - it('should call onClose when close button is clicked', () => { - const onClose = vi.fn(); - render(); - - const closeButton = screen.getByText('Close'); - fireEvent.click(closeButton); - - expect(onClose).toHaveBeenCalledTimes(1); - }); it('should handle different currencies correctly', () => { const { rerender } = render(); diff --git a/packages/react/src/components/iframe/iframe-wallet-payment.tsx b/packages/react/src/components/iframe/iframe-wallet-payment.tsx index cd28ca2..54e336a 100644 --- a/packages/react/src/components/iframe/iframe-wallet-payment.tsx +++ b/packages/react/src/components/iframe/iframe-wallet-payment.tsx @@ -354,15 +354,27 @@ export const WalletPaymentContent = ({ // Use '*' for srcDoc iframes since origin detection may fail const targetOrigin = isInSrcDoc ? '*' : parentOrigin || '*'; - window.parent.postMessage( - { - type: 'walletConnect', - walletName, - amount: amountValue, - currency: selectedCurrency, - }, - targetOrigin, - ); + const message = { + type: 'walletConnect', + walletName, + amount: amountValue, + currency: selectedCurrency, + }; + + if (config.debug) { + console.log('[IframeWalletPayment] Sending walletConnect message to parent:', { + message, + targetOrigin, + isInSrcDoc, + parentOrigin + }); + } + + window.parent.postMessage(message, targetOrigin); + + if (config.debug) { + console.log('[IframeWalletPayment] walletConnect message sent successfully'); + } } catch (e: any) { setConnecting(null); setError(e?.message || 'Failed to request wallet connect'); diff --git a/packages/react/src/components/transaction-states/TransactionSuccess.tsx b/packages/react/src/components/transaction-states/TransactionSuccess.tsx index f6dbc3e..837bda5 100644 --- a/packages/react/src/components/transaction-states/TransactionSuccess.tsx +++ b/packages/react/src/components/transaction-states/TransactionSuccess.tsx @@ -102,15 +102,6 @@ export function TransactionSuccess({ )} - - ); diff --git a/packages/react/src/components/ui/secure-iframe-shell.tsx b/packages/react/src/components/ui/secure-iframe-shell.tsx index c6b9f06..84653a5 100644 --- a/packages/react/src/components/ui/secure-iframe-shell.tsx +++ b/packages/react/src/components/ui/secure-iframe-shell.tsx @@ -1,6 +1,6 @@ 'use client'; -import React, { useEffect, useMemo, useRef, useState } from 'react'; +import { useCallback, useEffect, useMemo, useRef, useState } from 'react'; import { ConnectorClient, useConnectorClient } from '@solana-commerce/connector'; import { useTransferSOL, useTransferToken, useArcClient, address } from '@solana-commerce/sdk'; import type { SolanaCommerceConfig, ThemeConfig } from '../../types'; @@ -165,17 +165,43 @@ function SecureIframeShellInner({ config, theme, onPayment, onCancel, paymentCon const { transferSOL, isLoading: transferSOLLoading, error: transferSOLError } = useTransferSOL(); const { transferToken, isLoading: transferTokenLoading, error: transferTokenError } = useTransferToken(); - // Debug: Check ArcClient state - now using the fixed ArcProvider + // Get ArcClient for wallet state const arcClient = useArcClient(); - if (config.debug) { - console.log('[SecureIframeShell] ArcClient wallet state:', { - connected: arcClient.wallet.connected, - address: arcClient.wallet.address, - hasSigner: !!arcClient.wallet.signer, - selectedAccount: arcClient.wallet.selectedAccount, - accountsCount: arcClient.wallet.accounts?.length, + + // Store latest wallet state in ref for async access + const walletStateRef = useRef(arcClient.wallet); + useEffect(() => { + walletStateRef.current = arcClient.wallet; + }, [arcClient.wallet]); + + // Helper to wait for wallet signer to be available + const waitForSigner = useCallback(async (timeoutMs = 3000): Promise => { + // Check if already available + if (walletStateRef.current.signer) return; + + if (config.debug) { + console.log('[SecureIframeShell] Waiting for signer to sync...'); + } + + // Wait for signer via polling ref + const startTime = Date.now(); + while (Date.now() - startTime < timeoutMs) { + if (walletStateRef.current.signer) { + if (config.debug) { + console.log('[SecureIframeShell] Signer available after', Date.now() - startTime, 'ms'); + } + return; + } + await new Promise(resolve => setTimeout(resolve, 50)); + } + + console.error('[executePayment] Signer not available. Wallet state:', { + connected: walletStateRef.current.connected, + address: walletStateRef.current.address, + hasSigner: !!walletStateRef.current.signer, }); - } + throw new Error('Timeout waiting for wallet signer'); + }, [config.debug]); // State to track current payment attempt const [currentPayment, setCurrentPayment] = useState<{ @@ -268,10 +294,6 @@ function SecureIframeShellInner({ config, theme, onPayment, onCancel, paymentCon // Function to execute the actual payment after wallet connection const executePayment = async (paymentInfo: { amount: number; currency: string; walletName: string }) => { try { - if (config.debug) { - console.log('[SecureIframeShell] Executing payment:', paymentInfo); - } - // Validate merchant address if (!config.merchant?.wallet) { throw new Error('Merchant address not configured'); @@ -282,10 +304,14 @@ function SecureIframeShellInner({ config, theme, onPayment, onCancel, paymentCon } const state = (connectorClient as any).getConnectorState(); + if (!state.selectedWallet || !state.selectedAccount) { throw new Error('No wallet connected'); } + // Wait for signer to be available (syncs from connector subscription) + await waitForSigner(); + // Get the connected wallet account if (config.debug) { console.log('[SecureIframeShell] ConnectorClient state:', { @@ -320,15 +346,6 @@ function SecureIframeShellInner({ config, theme, onPayment, onCancel, paymentCon const solAmountFloat = amount / solPriceUsd; const lamports = BigInt(Math.floor(solAmountFloat * 1_000_000_000)); // Convert to lamports - if (config.debug) { - console.log('[Payment] SOL conversion:', { - usdAmount: amount, - solPrice: solPriceUsd, - solAmount: solAmountFloat, - lamports: lamports.toString(), - }); - } - result = await transferSOL({ to: config.merchant.wallet, amount: lamports, @@ -385,11 +402,11 @@ function SecureIframeShellInner({ config, theme, onPayment, onCancel, paymentCon '*', ); - // Also call the parent payment callback + // Call the parent payment callback onPayment(paymentInfo.amount, paymentInfo.currency); } catch (error: any) { if (config.debug) { - console.error('[SecureIframeShell] Payment failed:', error); + console.error('[executePayment] Payment failed:', error); } let errorMessage = 'Payment failed'; @@ -419,6 +436,7 @@ function SecureIframeShellInner({ config, theme, onPayment, onCancel, paymentCon }; useEffect(() => { + async function waitForWallets(client: ConnectorClient, timeoutMs = 1500): Promise { const start = Date.now(); while (Date.now() - start < timeoutMs) { @@ -487,10 +505,15 @@ function SecureIframeShellInner({ config, theme, onPayment, onCancel, paymentCon async function onMessage(e: MessageEvent) { const data = e.data as any; - if (!data || typeof data !== 'object') return; + + if (!data || typeof data !== 'object') { + return; + } // Validate the message is from our iframe - if (iframeRef.current && e.source !== iframeRef.current.contentWindow) return; + if (iframeRef.current && e.source !== iframeRef.current.contentWindow) { + return; + } switch (data.type) { case 'ready': @@ -535,40 +558,30 @@ function SecureIframeShellInner({ config, theme, onPayment, onCancel, paymentCon // Ensure wallet list is ready (Wallet Standard can be async to populate) await waitForWallets(connectorClient); + const snap = (connectorClient as any).getConnectorState(); const target = (snap.wallets || []).find((w: any) => w.name === data.walletName); - if (!target) throw new Error('Wallet not found'); - if (config.debug) { - console.log('[SecureIframeShell] Selecting wallet for iframe:', data.walletName); + + if (!target) { + throw new Error('Wallet not found'); } - const res = await connectorClient.select(data.walletName); + + await connectorClient.select(data.walletName); + const result = (connectorClient as any).getConnectorState(); const accounts = (result.accounts || []).map((a: any) => ({ address: a.address, icon: a.icon, })); - if (config.debug) { - console.log( - '[SecureIframeShell] Iframe connect success, accounts:', - accounts.map((a: any) => a.address), - ); - } - // Wait for React components to be fully initialized using deterministic polling + // Wait for React components to be fully initialized try { await waitForReactComponentsReady(connectorClient); } catch (readinessError: any) { - if (config.debug) { - console.warn( - '[SecureIframeShell] React components readiness check failed:', - readinessError, - ); - } - // Continue with payment execution as a fallback (similar to original setTimeout behavior) - // The payment execution itself will validate readiness and may fail if not actually ready + // Continue - payment execution will validate readiness } - // Now execute the payment with the connected wallet + // Execute the payment with the connected wallet await executePayment(paymentInfo); iframeRef.current?.contentWindow?.postMessage( @@ -577,7 +590,8 @@ function SecureIframeShellInner({ config, theme, onPayment, onCancel, paymentCon ); } catch (err: any) { if (config.debug) { - console.warn('[SecureIframeShell] walletConnect failed:', err); + console.error('[SecureIframeShell] walletConnect failed:', err); + console.error('[SecureIframeShell] Error stack:', err.stack); } iframeRef.current?.contentWindow?.postMessage( { @@ -592,10 +606,16 @@ function SecureIframeShellInner({ config, theme, onPayment, onCancel, paymentCon } break; } - // Additional event types can be handled here + default: + if (config.debug) { + console.log('[SecureIframeShell] Unhandled message type:', data.type); + } + break; } } + window.addEventListener('message', onMessage); + return () => { window.removeEventListener('message', onMessage); }; diff --git a/packages/react/src/iframe-app/bundle.ts b/packages/react/src/iframe-app/bundle.ts index b61213f..e9bd5b6 100644 --- a/packages/react/src/iframe-app/bundle.ts +++ b/packages/react/src/iframe-app/bundle.ts @@ -1,7 +1,5 @@ // This file is auto-generated. Do not edit manually. // Generated from: dist/iframe/index.global.js -export const IFRAME_BUNDLE = - '"use strict";var CommerceIframe=(()=>{var KC=Object.create;var $a=Object.defineProperty;var YC=Object.getOwnPropertyDescriptor;var qC=Object.getOwnPropertyNames;var ZC=Object.getPrototypeOf,XC=Object.prototype.hasOwnProperty;var jC=(e,t,n)=>t in e?$a(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var B=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),$C=(e,t)=>{for(var n in t)$a(e,n,{get:t[n],enumerable:!0})},mg=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of qC(t))!XC.call(e,a)&&a!==n&&$a(e,a,{get:()=>t[a],enumerable:!(r=YC(t,a))||r.enumerable});return e};var R=(e,t,n)=>(n=e!=null?KC(ZC(e)):{},mg(t||!e||!e.__esModule?$a(n,"default",{value:e,enumerable:!0}):n,e)),QC=e=>mg($a({},"__esModule",{value:!0}),e);var Li=(e,t,n)=>jC(e,typeof t!="symbol"?t+"":t,n);var hg=B(w=>{"use strict";var mu=Symbol.for("react.transitional.element"),JC=Symbol.for("react.portal"),eS=Symbol.for("react.fragment"),tS=Symbol.for("react.strict_mode"),nS=Symbol.for("react.profiler"),rS=Symbol.for("react.consumer"),aS=Symbol.for("react.context"),oS=Symbol.for("react.forward_ref"),iS=Symbol.for("react.suspense"),cS=Symbol.for("react.memo"),Tg=Symbol.for("react.lazy"),gg=Symbol.iterator;function sS(e){return e===null||typeof e!="object"?null:(e=gg&&e[gg]||e["@@iterator"],typeof e=="function"?e:null)}var Rg={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},pg=Object.assign,Cg={};function kr(e,t,n){this.props=e,this.context=t,this.refs=Cg,this.updater=n||Rg}kr.prototype.isReactComponent={};kr.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};kr.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Sg(){}Sg.prototype=kr.prototype;function gu(e,t,n){this.props=e,this.context=t,this.refs=Cg,this.updater=n||Rg}var Au=gu.prototype=new Sg;Au.constructor=gu;pg(Au,kr.prototype);Au.isPureReactComponent=!0;var Ag=Array.isArray,ee={H:null,A:null,T:null,S:null,V:null},Ng=Object.prototype.hasOwnProperty;function Iu(e,t,n,r,a,o){return n=o.ref,{$$typeof:mu,type:e,key:t,ref:n!==void 0?n:null,props:o}}function uS(e,t){return Iu(e.type,t,void 0,void 0,void 0,e.props)}function _u(e){return typeof e=="object"&&e!==null&&e.$$typeof===mu}function lS(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var Ig=/\\/+/g;function fu(e,t){return typeof e=="object"&&e!==null&&e.key!=null?lS(""+e.key):t.toString(36)}function _g(){}function dS(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(_g,_g):(e.status="pending",e.then(function(t){e.status==="pending"&&(e.status="fulfilled",e.value=t)},function(t){e.status==="pending"&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}function Fr(e,t,n,r,a){var o=typeof e;(o==="undefined"||o==="boolean")&&(e=null);var i=!1;if(e===null)i=!0;else switch(o){case"bigint":case"string":case"number":i=!0;break;case"object":switch(e.$$typeof){case mu:case JC:i=!0;break;case Tg:return i=e._init,Fr(i(e._payload),t,n,r,a)}}if(i)return a=a(e),i=r===""?"."+fu(e,0):r,Ag(a)?(n="",i!=null&&(n=i.replace(Ig,"$&/")+"/"),Fr(a,t,n,"",function(u){return u})):a!=null&&(_u(a)&&(a=uS(a,n+(a.key==null||e&&e.key===a.key?"":(""+a.key).replace(Ig,"$&/")+"/")+i)),t.push(a)),1;i=0;var c=r===""?".":r+":";if(Ag(e))for(var s=0;s{"use strict";Dg.exports=hg()});var Pg=B(te=>{"use strict";function pu(e,t){var n=e.length;e.push(t);e:for(;0>>1,a=e[r];if(0>>1;rBi(c,n))sBi(u,c)?(e[r]=u,e[s]=n,r=s):(e[r]=c,e[i]=n,r=i);else if(sBi(u,n))e[r]=u,e[s]=n,r=s;else break e}}return t}function Bi(e,t){var n=e.sortIndex-t.sortIndex;return n!==0?n:e.id-t.id}te.unstable_now=void 0;typeof performance=="object"&&typeof performance.now=="function"?(yg=performance,te.unstable_now=function(){return yg.now()}):(Eu=Date,Og=Eu.now(),te.unstable_now=function(){return Eu.now()-Og});var yg,Eu,Og,$t=[],Dn=[],gS=1,ot=null,Oe=3,Cu=!1,Qa=!1,Ja=!1,Su=!1,bg=typeof setTimeout=="function"?setTimeout:null,wg=typeof clearTimeout=="function"?clearTimeout:null,Mg=typeof setImmediate<"u"?setImmediate:null;function Pi(e){for(var t=Mt(Dn);t!==null;){if(t.callback===null)zi(Dn);else if(t.startTime<=e)zi(Dn),t.sortIndex=t.expirationTime,pu($t,t);else break;t=Mt(Dn)}}function Nu(e){if(Ja=!1,Pi(e),!Qa)if(Mt($t)!==null)Qa=!0,Hr||(Hr=!0,Gr());else{var t=Mt(Dn);t!==null&&hu(Nu,t.startTime-e)}}var Hr=!1,eo=-1,Lg=5,Ug=-1;function Bg(){return Su?!0:!(te.unstable_now()-Uge&&Bg());){var r=ot.callback;if(typeof r=="function"){ot.callback=null,Oe=ot.priorityLevel;var a=r(ot.expirationTime<=e);if(e=te.unstable_now(),typeof a=="function"){ot.callback=a,Pi(e),t=!0;break t}ot===Mt($t)&&zi($t),Pi(e)}else zi($t);ot=Mt($t)}if(ot!==null)t=!0;else{var o=Mt(Dn);o!==null&&hu(Nu,o.startTime-e),t=!1}}break e}finally{ot=null,Oe=n,Cu=!1}t=void 0}}finally{t?Gr():Hr=!1}}}var Gr;typeof Mg=="function"?Gr=function(){Mg(Tu)}:typeof MessageChannel<"u"?(Ru=new MessageChannel,vg=Ru.port2,Ru.port1.onmessage=Tu,Gr=function(){vg.postMessage(null)}):Gr=function(){bg(Tu,0)};var Ru,vg;function hu(e,t){eo=bg(function(){e(te.unstable_now())},t)}te.unstable_IdlePriority=5;te.unstable_ImmediatePriority=1;te.unstable_LowPriority=4;te.unstable_NormalPriority=3;te.unstable_Profiling=null;te.unstable_UserBlockingPriority=2;te.unstable_cancelCallback=function(e){e.callback=null};te.unstable_forceFrameRate=function(e){0>e||125r?(e.sortIndex=n,pu(Dn,e),Mt($t)===null&&e===Mt(Dn)&&(Ja?(wg(eo),eo=-1):Ja=!0,hu(Nu,n-r))):(e.sortIndex=a,pu($t,e),Qa||Cu||(Qa=!0,Hr||(Hr=!0,Gr()))),e};te.unstable_shouldYield=Bg;te.unstable_wrapCallback=function(e){var t=Oe;return function(){var n=Oe;Oe=t;try{return e.apply(this,arguments)}finally{Oe=n}}}});var xg=B((Ab,zg)=>{"use strict";zg.exports=Pg()});var kg=B(Ue=>{"use strict";var AS=x();function Fg(e){var t="https://react.dev/errors/"+e;if(1{"use strict";function Gg(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Gg)}catch(e){console.error(e)}}Gg(),Hg.exports=kg()});var KE=B(is=>{"use strict";var Ee=xg(),dI=x(),ES=Wg();function p(e){var t="https://react.dev/errors/"+e;if(1jr||(e.current=sl[jr],sl[jr]=null,jr--)}function re(e,t){jr++,sl[jr]=e.current,e.current=t}var Lt=Pt(null),Mo=Pt(null),kn=Pt(null),Ac=Pt(null);function Ic(e,t){switch(re(kn,t),re(Mo,e),re(Lt,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?$A(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=$A(t),e=LE(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}Ce(Lt),re(Lt,e)}function Aa(){Ce(Lt),Ce(Mo),Ce(kn)}function ul(e){e.memoizedState!==null&&re(Ac,e);var t=Lt.current,n=LE(t,e.type);t!==n&&(re(Mo,e),re(Lt,n))}function _c(e){Mo.current===e&&(Ce(Lt),Ce(Mo)),Ac.current===e&&(Ce(Ac),Fo._currentValue=fr)}var ll=Object.prototype.hasOwnProperty,ed=Ee.unstable_scheduleCallback,Du=Ee.unstable_cancelCallback,NS=Ee.unstable_shouldYield,hS=Ee.unstable_requestPaint,Ut=Ee.unstable_now,DS=Ee.unstable_getCurrentPriorityLevel,_I=Ee.unstable_ImmediatePriority,EI=Ee.unstable_UserBlockingPriority,Ec=Ee.unstable_NormalPriority,yS=Ee.unstable_LowPriority,TI=Ee.unstable_IdlePriority,OS=Ee.log,MS=Ee.unstable_setDisableYieldValue,Vo=null,Xe=null;function Pn(e){if(typeof OS=="function"&&MS(e),Xe&&typeof Xe.setStrictMode=="function")try{Xe.setStrictMode(Vo,e)}catch{}}var je=Math.clz32?Math.clz32:wS,vS=Math.log,bS=Math.LN2;function wS(e){return e>>>=0,e===0?32:31-(vS(e)/bS|0)|0}var ki=256,Gi=4194304;function ur(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194048;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Kc(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var a=0,o=e.suspendedLanes,i=e.pingedLanes;e=e.warmLanes;var c=r&134217727;return c!==0?(r=c&~o,r!==0?a=ur(r):(i&=c,i!==0?a=ur(i):n||(n=c&~e,n!==0&&(a=ur(n))))):(c=r&~o,c!==0?a=ur(c):i!==0?a=ur(i):n||(n=r&~e,n!==0&&(a=ur(n)))),a===0?0:t!==0&&t!==a&&(t&o)===0&&(o=a&-a,n=t&-t,o>=n||o===32&&(n&4194048)!==0)?t:a}function Ko(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function LS(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function RI(){var e=ki;return ki<<=1,(ki&4194048)===0&&(ki=256),e}function pI(){var e=Gi;return Gi<<=1,(Gi&62914560)===0&&(Gi=4194304),e}function yu(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Yo(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function US(e,t,n,r,a,o){var i=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var c=e.entanglements,s=e.expirationTimes,u=e.hiddenUpdates;for(n=i&~n;0)":-1a||s[r]!==u[a]){var d=`\n`+s[r].replace(" at new "," at ");return e.displayName&&d.includes("")&&(d=d.replace("",e.displayName)),d}while(1<=r&&0<=a);break}}}finally{Mu=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?Yr(n):""}function kS(e){switch(e.tag){case 26:case 27:case 5:return Yr(e.type);case 16:return Yr("Lazy");case 13:return Yr("Suspense");case 19:return Yr("SuspenseList");case 0:case 15:return vu(e.type,!1);case 11:return vu(e.type.render,!1);case 1:return vu(e.type,!0);case 31:return Yr("Activity");default:return""}}function jg(e){try{var t="";do t+=kS(e),e=e.return;while(e);return t}catch(n){return`\nError generating stack: `+n.message+`\n`+n.stack}}function ct(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function yI(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function GS(e){var t=yI(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var a=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return a.call(this)},set:function(i){r=""+i,o.call(this,i)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(i){r=""+i},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Tc(e){e._valueTracker||(e._valueTracker=GS(e))}function OI(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=yI(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Rc(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var HS=/[\\n"\\\\]/g;function lt(e){return e.replace(HS,function(t){return"\\\\"+t.charCodeAt(0).toString(16)+" "})}function fl(e,t,n,r,a,o,i,c){e.name="",i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"?e.type=i:e.removeAttribute("type"),t!=null?i==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+ct(t)):e.value!==""+ct(t)&&(e.value=""+ct(t)):i!=="submit"&&i!=="reset"||e.removeAttribute("value"),t!=null?ml(e,i,ct(t)):n!=null?ml(e,i,ct(n)):r!=null&&e.removeAttribute("value"),a==null&&o!=null&&(e.defaultChecked=!!o),a!=null&&(e.checked=a&&typeof a!="function"&&typeof a!="symbol"),c!=null&&typeof c!="function"&&typeof c!="symbol"&&typeof c!="boolean"?e.name=""+ct(c):e.removeAttribute("name")}function MI(e,t,n,r,a,o,i,c){if(o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"&&(e.type=o),t!=null||n!=null){if(!(o!=="submit"&&o!=="reset"||t!=null))return;n=n!=null?""+ct(n):"",t=t!=null?""+ct(t):n,c||t===e.value||(e.value=t),e.defaultValue=t}r=r??a,r=typeof r!="function"&&typeof r!="symbol"&&!!r,e.checked=c?e.checked:!!r,e.defaultChecked=!!r,i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(e.name=i)}function ml(e,t,n){t==="number"&&Rc(e.ownerDocument)===e||e.defaultValue===""+n||(e.defaultValue=""+n)}function sa(e,t,n,r){if(e=e.options,t){t={};for(var a=0;a"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Al=!1;if(ln)try{Wr={},Object.defineProperty(Wr,"passive",{get:function(){Al=!0}}),window.addEventListener("test",Wr,Wr),window.removeEventListener("test",Wr,Wr)}catch{Al=!1}var Wr,zn=null,id=null,ac=null;function UI(){if(ac)return ac;var e,t=id,n=t.length,r,a="value"in zn?zn.value:zn.textContent,o=a.length;for(e=0;e=Ao),rA=" ",aA=!1;function PI(e,t){switch(e){case"keyup":return IN.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function zI(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Jr=!1;function EN(e,t){switch(e){case"compositionend":return zI(t);case"keypress":return t.which!==32?null:(aA=!0,rA);case"textInput":return e=t.data,e===rA&&aA?null:e;default:return null}}function TN(e,t){if(Jr)return e==="compositionend"||!sd&&PI(e,t)?(e=UI(),ac=id=zn=null,Jr=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=sA(n)}}function GI(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?GI(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function HI(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Rc(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Rc(e.document)}return t}function ud(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var yN=ln&&"documentMode"in document&&11>=document.documentMode,ea=null,Il=null,_o=null,_l=!1;function lA(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;_l||ea==null||ea!==Rc(r)||(r=ea,"selectionStart"in r&&ud(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),_o&&wo(_o,r)||(_o=r,r=xc(Il,"onSelect"),0>=i,a-=i,rn=1<<32-je(t)+a|n<o?o:8;var i=v.T,c={};v.T=c,vd(e,!1,t,n);try{var s=a(),u=v.S;if(u!==null&&u(c,s),s!==null&&typeof s=="object"&&typeof s.then=="function"){var d=PN(s,r);So(e,t,d,$e(e))}else So(e,t,r,$e(e))}catch(f){So(e,t,{then:function(){},status:"rejected",reason:f},$e())}finally{G.p=o,v.T=i}}function GN(){}function vl(e,t,n,r){if(e.tag!==5)throw Error(p(476));var a=y_(e).queue;D_(e,a,t,fr,n===null?GN:function(){return O_(e),n(r)})}function y_(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:fr,baseState:fr,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:dn,lastRenderedState:fr},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:dn,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function O_(e){var t=y_(e).next.queue;So(e,t,{},$e())}function Md(){return ve(Fo)}function M_(){return de().memoizedState}function v_(){return de().memoizedState}function HN(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=$e();e=Gn(n);var r=Hn(t,e,n);r!==null&&(Qe(r,t,n),Ro(r,t,n)),t={cache:Ad()},e.payload=t;return}t=t.return}}function WN(e,t,n){var r=$e();n={lane:r,revertLane:0,action:n,hasEagerState:!1,eagerState:null,next:null},es(e)?w_(t,n):(n=dd(e,t,n,r),n!==null&&(Qe(n,e,r),L_(n,t,r)))}function b_(e,t,n){var r=$e();So(e,t,n,r)}function So(e,t,n,r){var a={lane:r,revertLane:0,action:n,hasEagerState:!1,eagerState:null,next:null};if(es(e))w_(t,a);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var i=t.lastRenderedState,c=o(i,n);if(a.hasEagerState=!0,a.eagerState=c,Je(c,i))return jc(e,t,a,0),$===null&&Xc(),!1}catch{}finally{}if(n=dd(e,t,a,r),n!==null)return Qe(n,e,r),L_(n,t,r),!0}return!1}function vd(e,t,n,r){if(r={lane:2,revertLane:xd(),action:r,hasEagerState:!1,eagerState:null,next:null},es(e)){if(t)throw Error(p(479))}else t=dd(e,n,r,2),t!==null&&Qe(t,e,2)}function es(e){var t=e.alternate;return e===L||t!==null&&t===L}function w_(e,t){da=Dc=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function L_(e,t,n){if((n&4194048)!==0){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,SI(e,n)}}var Oc={readContext:ve,use:Qc,useCallback:se,useContext:se,useEffect:se,useImperativeHandle:se,useLayoutEffect:se,useInsertionEffect:se,useMemo:se,useReducer:se,useRef:se,useState:se,useDebugValue:se,useDeferredValue:se,useTransition:se,useSyncExternalStore:se,useId:se,useHostTransitionStatus:se,useFormState:se,useActionState:se,useOptimistic:se,useMemoCache:se,useCacheRefresh:se},U_={readContext:ve,use:Qc,useCallback:function(e,t){return xe().memoizedState=[e,t===void 0?null:t],e},useContext:ve,useEffect:DA,useImperativeHandle:function(e,t,n){n=n!=null?n.concat([e]):null,uc(4194308,4,p_.bind(null,t,e),n)},useLayoutEffect:function(e,t){return uc(4194308,4,e,t)},useInsertionEffect:function(e,t){uc(4,2,e,t)},useMemo:function(e,t){var n=xe();t=t===void 0?null:t;var r=e();if(pr){Pn(!0);try{e()}finally{Pn(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=xe();if(n!==void 0){var a=n(t);if(pr){Pn(!0);try{n(t)}finally{Pn(!1)}}}else a=t;return r.memoizedState=r.baseState=a,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:a},r.queue=e,e=e.dispatch=WN.bind(null,L,e),[r.memoizedState,e]},useRef:function(e){var t=xe();return e={current:e},t.memoizedState=e},useState:function(e){e=Ol(e);var t=e.queue,n=b_.bind(null,L,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:yd,useDeferredValue:function(e,t){var n=xe();return Od(n,e,t)},useTransition:function(){var e=Ol(!1);return e=D_.bind(null,L,e.queue,!0,!1),xe().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=L,a=xe();if(k){if(n===void 0)throw Error(p(407));n=n()}else{if(n=t(),$===null)throw Error(p(349));(F&124)!==0||c_(r,t,n)}a.memoizedState=n;var o={value:n,getSnapshot:t};return a.queue=o,DA(u_.bind(null,r,o,e),[e]),r.flags|=2048,Ra(9,Jc(),s_.bind(null,r,o,n,t),null),n},useId:function(){var e=xe(),t=$.identifierPrefix;if(k){var n=an,r=rn;n=(r&~(1<<32-je(r)-1)).toString(32)+n,t="\\xAB"+t+"R"+n,n=yc++,0M?(H=h,h=null):H=h.sibling;var U=l(A,h,I[M],_);if(U===null){h===null&&(h=H);break}e&&h&&U.alternate===null&&t(A,h),g=o(U,g,M),y===null?C=U:y.sibling=U,y=U,h=H}if(M===I.length)return n(A,h),k&&lr(A,M),C;if(h===null){for(;MM?(H=h,h=null):H=h.sibling;var Ae=l(A,h,U.value,_);if(Ae===null){h===null&&(h=H);break}e&&h&&Ae.alternate===null&&t(A,h),g=o(Ae,g,M),y===null?C=Ae:y.sibling=Ae,y=Ae,h=H}if(U.done)return n(A,h),k&&lr(A,M),C;if(h===null){for(;!U.done;M++,U=I.next())U=f(A,U.value,_),U!==null&&(g=o(U,g,M),y===null?C=U:y.sibling=U,y=U);return k&&lr(A,M),C}for(h=r(h);!U.done;M++,U=I.next())U=m(h,A,M,U.value,_),U!==null&&(e&&U.alternate!==null&&h.delete(U.key===null?M:U.key),g=o(U,g,M),y===null?C=U:y.sibling=U,y=U);return e&&h.forEach(function(Xa){return t(A,Xa)}),k&&lr(A,M),C}function D(A,g,I,_){if(typeof I=="object"&&I!==null&&I.type===Xr&&I.key===null&&(I=I.props.children),typeof I=="object"&&I!==null){switch(I.$$typeof){case Fi:e:{for(var C=I.key;g!==null;){if(g.key===C){if(C=I.type,C===Xr){if(g.tag===7){n(A,g.sibling),_=a(g,I.props.children),_.return=A,A=_;break e}}else if(g.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===vn&&yA(C)===g.type){n(A,g.sibling),_=a(g,I.props),oo(_,I),_.return=A,A=_;break e}n(A,g);break}else t(A,g);g=g.sibling}I.type===Xr?(_=mr(I.props.children,A.mode,_,I.key),_.return=A,A=_):(_=ic(I.type,I.key,I.props,null,A.mode,_),oo(_,I),_.return=A,A=_)}return i(A);case lo:e:{for(C=I.key;g!==null;){if(g.key===C)if(g.tag===4&&g.stateNode.containerInfo===I.containerInfo&&g.stateNode.implementation===I.implementation){n(A,g.sibling),_=a(g,I.children||[]),_.return=A,A=_;break e}else{n(A,g);break}else t(A,g);g=g.sibling}_=xu(I,A.mode,_),_.return=A,A=_}return i(A);case vn:return C=I._init,I=C(I._payload),D(A,g,I,_)}if(fo(I))return E(A,g,I,_);if(no(I)){if(C=no(I),typeof C!="function")throw Error(p(150));return I=C.call(I),T(A,g,I,_)}if(typeof I.then=="function")return D(A,g,Zi(I),_);if(I.$$typeof===nn)return D(A,g,Yi(A,I),_);Xi(A,I)}return typeof I=="string"&&I!==""||typeof I=="number"||typeof I=="bigint"?(I=""+I,g!==null&&g.tag===6?(n(A,g.sibling),_=a(g,I),_.return=A,A=_):(n(A,g),_=zu(I,A.mode,_),_.return=A,A=_),i(A)):n(A,g)}return function(A,g,I,_){try{Bo=0;var C=D(A,g,I,_);return ma=null,C}catch(h){if(h===Qo||h===$c)throw h;var y=Ze(29,h,null,A.mode);return y.lanes=_,y.return=A,y}finally{}}}var pa=P_(!0),z_=P_(!1),mt=Pt(null),Bt=null;function Ln(e){var t=e.alternate;re(_e,_e.current&1),re(mt,e),Bt===null&&(t===null||Ta.current!==null||t.memoizedState!==null)&&(Bt=e)}function x_(e){if(e.tag===22){if(re(_e,_e.current),re(mt,e),Bt===null){var t=e.alternate;t!==null&&t.memoizedState!==null&&(Bt=e)}}else Un(e)}function Un(){re(_e,_e.current),re(mt,mt.current)}function cn(e){Ce(mt),Bt===e&&(Bt=null),Ce(_e)}var _e=Pt(0);function Mc(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||ql(n)))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}function Gu(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:J({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var bl={enqueueSetState:function(e,t,n){e=e._reactInternals;var r=$e(),a=Gn(r);a.payload=t,n!=null&&(a.callback=n),t=Hn(e,a,r),t!==null&&(Qe(t,e,r),Ro(t,e,r))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=$e(),a=Gn(r);a.tag=1,a.payload=t,n!=null&&(a.callback=n),t=Hn(e,a,r),t!==null&&(Qe(t,e,r),Ro(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=$e(),r=Gn(n);r.tag=2,t!=null&&(r.callback=t),t=Hn(e,r,n),t!==null&&(Qe(t,e,n),Ro(t,e,n))}};function OA(e,t,n,r,a,o,i){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(r,o,i):t.prototype&&t.prototype.isPureReactComponent?!wo(n,r)||!wo(a,o):!0}function MA(e,t,n,r){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(n,r),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&bl.enqueueReplaceState(t,t.state,null)}function Cr(e,t){var n=t;if("ref"in t){n={};for(var r in t)r!=="ref"&&(n[r]=t[r])}if(e=e.defaultProps){n===t&&(n=J({},n));for(var a in e)n[a]===void 0&&(n[a]=e[a])}return n}var vc=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)};function F_(e){vc(e)}function k_(e){console.error(e)}function G_(e){vc(e)}function bc(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(r){setTimeout(function(){throw r})}}function vA(e,t,n){try{var r=e.onCaughtError;r(n.value,{componentStack:n.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(a){setTimeout(function(){throw a})}}function wl(e,t,n){return n=Gn(n),n.tag=3,n.payload={element:null},n.callback=function(){bc(e,t)},n}function H_(e){return e=Gn(e),e.tag=3,e}function W_(e,t,n,r){var a=n.type.getDerivedStateFromError;if(typeof a=="function"){var o=r.value;e.payload=function(){return a(o)},e.callback=function(){vA(t,n,r)}}var i=n.stateNode;i!==null&&typeof i.componentDidCatch=="function"&&(e.callback=function(){vA(t,n,r),typeof a!="function"&&(Wn===null?Wn=new Set([this]):Wn.add(this));var c=r.stack;this.componentDidCatch(r.value,{componentStack:c!==null?c:""})})}function KN(e,t,n,r,a){if(n.flags|=32768,r!==null&&typeof r=="object"&&typeof r.then=="function"){if(t=n.alternate,t!==null&&jo(t,n,a,!0),n=mt.current,n!==null){switch(n.tag){case 13:return Bt===null?kl():n.alternate===null&&ce===0&&(ce=3),n.flags&=-257,n.flags|=65536,n.lanes=a,r===Nl?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([r]):t.add(r),Qu(e,r,a)),!1;case 22:return n.flags|=65536,r===Nl?n.flags|=16384:(t=n.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([r])},n.updateQueue=t):(n=t.retryQueue,n===null?t.retryQueue=new Set([r]):n.add(r)),Qu(e,r,a)),!1}throw Error(p(435,n.tag))}return Qu(e,r,a),kl(),!1}if(k)return t=mt.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=a,r!==Tl&&(e=Error(p(422),{cause:r}),Lo(dt(e,n)))):(r!==Tl&&(t=Error(p(423),{cause:r}),Lo(dt(t,n))),e=e.current.alternate,e.flags|=65536,a&=-a,e.lanes|=a,r=dt(r,n),a=wl(e.stateNode,r,a),Fu(e,a),ce!==4&&(ce=2)),!1;var o=Error(p(520),{cause:r});if(o=dt(o,n),Do===null?Do=[o]:Do.push(o),ce!==4&&(ce=2),t===null)return!0;r=dt(r,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=a&-a,n.lanes|=e,e=wl(n.stateNode,r,e),Fu(n,e),!1;case 1:if(t=n.type,o=n.stateNode,(n.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||o!==null&&typeof o.componentDidCatch=="function"&&(Wn===null||!Wn.has(o))))return n.flags|=65536,a&=-a,n.lanes|=a,a=H_(a),W_(a,e,n,r),Fu(n,a),!1}n=n.return}while(n!==null);return!1}var V_=Error(p(461)),pe=!1;function Se(e,t,n,r){t.child=e===null?z_(t,null,n,r):pa(t,e.child,n,r)}function bA(e,t,n,r,a){n=n.render;var o=t.ref;if("ref"in r){var i={};for(var c in r)c!=="ref"&&(i[c]=r[c])}else i=r;return Rr(t),r=Rd(e,t,n,i,o,a),c=pd(),e!==null&&!pe?(Cd(e,t,a),fn(e,t,a)):(k&&c&&md(t),t.flags|=1,Se(e,t,r,a),t.child)}function wA(e,t,n,r,a){if(e===null){var o=n.type;return typeof o=="function"&&!fd(o)&&o.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=o,K_(e,t,o,r,a)):(e=ic(n.type,null,r,t,t.mode,a),e.ref=t.ref,e.return=t,t.child=e)}if(o=e.child,!bd(e,a)){var i=o.memoizedProps;if(n=n.compare,n=n!==null?n:wo,n(i,r)&&e.ref===t.ref)return fn(e,t,a)}return t.flags|=1,e=sn(o,r),e.ref=t.ref,e.return=t,t.child=e}function K_(e,t,n,r,a){if(e!==null){var o=e.memoizedProps;if(wo(o,r)&&e.ref===t.ref)if(pe=!1,t.pendingProps=r=o,bd(e,a))(e.flags&131072)!==0&&(pe=!0);else return t.lanes=e.lanes,fn(e,t,a)}return Ll(e,t,n,r,a)}function Y_(e,t,n){var r=t.pendingProps,a=r.children,o=e!==null?e.memoizedState:null;if(r.mode==="hidden"){if((t.flags&128)!==0){if(r=o!==null?o.baseLanes|n:n,e!==null){for(a=t.child=e.child,o=0;a!==null;)o=o|a.lanes|a.childLanes,a=a.sibling;t.childLanes=o&~r}else t.childLanes=0,t.child=null;return LA(e,t,r,n)}if((n&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&cc(t,o!==null?o.cachePool:null),o!==null?RA(t,o):yl(),x_(t);else return t.lanes=t.childLanes=536870912,LA(e,t,o!==null?o.baseLanes|n:n,n)}else o!==null?(cc(t,o.cachePool),RA(t,o),Un(t),t.memoizedState=null):(e!==null&&cc(t,null),yl(),Un(t));return Se(e,t,a,n),t.child}function LA(e,t,n,r){var a=Id();return a=a===null?null:{parent:Ie._currentValue,pool:a},t.memoizedState={baseLanes:n,cachePool:a},e!==null&&cc(t,null),yl(),x_(t),e!==null&&jo(e,t,r,!0),null}function lc(e,t){var n=t.ref;if(n===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof n!="function"&&typeof n!="object")throw Error(p(284));(e===null||e.ref!==n)&&(t.flags|=4194816)}}function Ll(e,t,n,r,a){return Rr(t),n=Rd(e,t,n,r,void 0,a),r=pd(),e!==null&&!pe?(Cd(e,t,a),fn(e,t,a)):(k&&r&&md(t),t.flags|=1,Se(e,t,n,a),t.child)}function UA(e,t,n,r,a,o){return Rr(t),t.updateQueue=null,n=o_(t,r,n,a),a_(e),r=pd(),e!==null&&!pe?(Cd(e,t,o),fn(e,t,o)):(k&&r&&md(t),t.flags|=1,Se(e,t,n,o),t.child)}function BA(e,t,n,r,a){if(Rr(t),t.stateNode===null){var o=ra,i=n.contextType;typeof i=="object"&&i!==null&&(o=ve(i)),o=new n(r,o),t.memoizedState=o.state!==null&&o.state!==void 0?o.state:null,o.updater=bl,t.stateNode=o,o._reactInternals=t,o=t.stateNode,o.props=r,o.state=t.memoizedState,o.refs={},_d(t),i=n.contextType,o.context=typeof i=="object"&&i!==null?ve(i):ra,o.state=t.memoizedState,i=n.getDerivedStateFromProps,typeof i=="function"&&(Gu(t,n,i,r),o.state=t.memoizedState),typeof n.getDerivedStateFromProps=="function"||typeof o.getSnapshotBeforeUpdate=="function"||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(i=o.state,typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount(),i!==o.state&&bl.enqueueReplaceState(o,o.state,null),Co(t,r,o,a),po(),o.state=t.memoizedState),typeof o.componentDidMount=="function"&&(t.flags|=4194308),r=!0}else if(e===null){o=t.stateNode;var c=t.memoizedProps,s=Cr(n,c);o.props=s;var u=o.context,d=n.contextType;i=ra,typeof d=="object"&&d!==null&&(i=ve(d));var f=n.getDerivedStateFromProps;d=typeof f=="function"||typeof o.getSnapshotBeforeUpdate=="function",c=t.pendingProps!==c,d||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(c||u!==i)&&MA(t,o,r,i),bn=!1;var l=t.memoizedState;o.state=l,Co(t,r,o,a),po(),u=t.memoizedState,c||l!==u||bn?(typeof f=="function"&&(Gu(t,n,f,r),u=t.memoizedState),(s=bn||OA(t,n,s,r,l,u,i))?(d||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount=="function"&&(t.flags|=4194308)):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=u),o.props=r,o.state=u,o.context=i,r=s):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),r=!1)}else{o=t.stateNode,hl(e,t),i=t.memoizedProps,d=Cr(n,i),o.props=d,f=t.pendingProps,l=o.context,u=n.contextType,s=ra,typeof u=="object"&&u!==null&&(s=ve(u)),c=n.getDerivedStateFromProps,(u=typeof c=="function"||typeof o.getSnapshotBeforeUpdate=="function")||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(i!==f||l!==s)&&MA(t,o,r,s),bn=!1,l=t.memoizedState,o.state=l,Co(t,r,o,a),po();var m=t.memoizedState;i!==f||l!==m||bn||e!==null&&e.dependencies!==null&&Nc(e.dependencies)?(typeof c=="function"&&(Gu(t,n,c,r),m=t.memoizedState),(d=bn||OA(t,n,d,r,l,m,s)||e!==null&&e.dependencies!==null&&Nc(e.dependencies))?(u||typeof o.UNSAFE_componentWillUpdate!="function"&&typeof o.componentWillUpdate!="function"||(typeof o.componentWillUpdate=="function"&&o.componentWillUpdate(r,m,s),typeof o.UNSAFE_componentWillUpdate=="function"&&o.UNSAFE_componentWillUpdate(r,m,s)),typeof o.componentDidUpdate=="function"&&(t.flags|=4),typeof o.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof o.componentDidUpdate!="function"||i===e.memoizedProps&&l===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||i===e.memoizedProps&&l===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=m),o.props=r,o.state=m,o.context=s,r=d):(typeof o.componentDidUpdate!="function"||i===e.memoizedProps&&l===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||i===e.memoizedProps&&l===e.memoizedState||(t.flags|=1024),r=!1)}return o=r,lc(e,t),r=(t.flags&128)!==0,o||r?(o=t.stateNode,n=r&&typeof n.getDerivedStateFromError!="function"?null:o.render(),t.flags|=1,e!==null&&r?(t.child=pa(t,e.child,null,a),t.child=pa(t,null,n,a)):Se(e,t,n,a),t.memoizedState=o.state,e=t.child):e=fn(e,t,a),e}function PA(e,t,n,r){return Xo(),t.flags|=256,Se(e,t,n,r),t.child}var Hu={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Wu(e){return{baseLanes:e,cachePool:JI()}}function Vu(e,t,n){return e=e!==null?e.childLanes&~n:0,t&&(e|=ft),e}function q_(e,t,n){var r=t.pendingProps,a=!1,o=(t.flags&128)!==0,i;if((i=o)||(i=e!==null&&e.memoizedState===null?!1:(_e.current&2)!==0),i&&(a=!0,t.flags&=-129),i=(t.flags&32)!==0,t.flags&=-33,e===null){if(k){if(a?Ln(t):Un(t),k){var c=ie,s;if(s=c){e:{for(s=c,c=bt;s.nodeType!==8;){if(!c){c=null;break e}if(s=pt(s.nextSibling),s===null){c=null;break e}}c=s}c!==null?(t.memoizedState={dehydrated:c,treeContext:gr!==null?{id:rn,overflow:an}:null,retryLane:536870912,hydrationErrors:null},s=Ze(18,null,null,0),s.stateNode=c,s.return=t,t.child=s,Be=t,ie=null,s=!0):s=!1}s||Tr(t)}if(c=t.memoizedState,c!==null&&(c=c.dehydrated,c!==null))return ql(c)?t.lanes=32:t.lanes=536870912,null;cn(t)}return c=r.children,r=r.fallback,a?(Un(t),a=t.mode,c=wc({mode:"hidden",children:c},a),r=mr(r,a,n,null),c.return=t,r.return=t,c.sibling=r,t.child=c,a=t.child,a.memoizedState=Wu(n),a.childLanes=Vu(e,i,n),t.memoizedState=Hu,r):(Ln(t),Ul(t,c))}if(s=e.memoizedState,s!==null&&(c=s.dehydrated,c!==null)){if(o)t.flags&256?(Ln(t),t.flags&=-257,t=Ku(e,t,n)):t.memoizedState!==null?(Un(t),t.child=e.child,t.flags|=128,t=null):(Un(t),a=r.fallback,c=t.mode,r=wc({mode:"visible",children:r.children},c),a=mr(a,c,n,null),a.flags|=2,r.return=t,a.return=t,r.sibling=a,t.child=r,pa(t,e.child,null,n),r=t.child,r.memoizedState=Wu(n),r.childLanes=Vu(e,i,n),t.memoizedState=Hu,t=a);else if(Ln(t),ql(c)){if(i=c.nextSibling&&c.nextSibling.dataset,i)var u=i.dgst;i=u,r=Error(p(419)),r.stack="",r.digest=i,Lo({value:r,source:null,stack:null}),t=Ku(e,t,n)}else if(pe||jo(e,t,n,!1),i=(n&e.childLanes)!==0,pe||i){if(i=$,i!==null&&(r=n&-n,r=(r&42)!==0?1:td(r),r=(r&(i.suspendedLanes|n))!==0?0:r,r!==0&&r!==s.retryLane))throw s.retryLane=r,Oa(e,r),Qe(i,e,r),V_;c.data==="$?"||kl(),t=Ku(e,t,n)}else c.data==="$?"?(t.flags|=192,t.child=e.child,t=null):(e=s.treeContext,ie=pt(c.nextSibling),Be=t,k=!0,Ar=null,bt=!1,e!==null&&(st[ut++]=rn,st[ut++]=an,st[ut++]=gr,rn=e.id,an=e.overflow,gr=t),t=Ul(t,r.children),t.flags|=4096);return t}return a?(Un(t),a=r.fallback,c=t.mode,s=e.child,u=s.sibling,r=sn(s,{mode:"hidden",children:r.children}),r.subtreeFlags=s.subtreeFlags&65011712,u!==null?a=sn(u,a):(a=mr(a,c,n,null),a.flags|=2),a.return=t,r.return=t,r.sibling=a,t.child=r,r=a,a=t.child,c=e.child.memoizedState,c===null?c=Wu(n):(s=c.cachePool,s!==null?(u=Ie._currentValue,s=s.parent!==u?{parent:u,pool:u}:s):s=JI(),c={baseLanes:c.baseLanes|n,cachePool:s}),a.memoizedState=c,a.childLanes=Vu(e,i,n),t.memoizedState=Hu,r):(Ln(t),n=e.child,e=n.sibling,n=sn(n,{mode:"visible",children:r.children}),n.return=t,n.sibling=null,e!==null&&(i=t.deletions,i===null?(t.deletions=[e],t.flags|=16):i.push(e)),t.child=n,t.memoizedState=null,n)}function Ul(e,t){return t=wc({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function wc(e,t){return e=Ze(22,e,null,t),e.lanes=0,e.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null},e}function Ku(e,t,n){return pa(t,e.child,null,n),e=Ul(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function zA(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),pl(e.return,t,n)}function Yu(e,t,n,r,a){var o=e.memoizedState;o===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:a}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=r,o.tail=n,o.tailMode=a)}function Z_(e,t,n){var r=t.pendingProps,a=r.revealOrder,o=r.tail;if(Se(e,t,r.children,n),r=_e.current,(r&2)!==0)r=r&1|2,t.flags|=128;else{if(e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&zA(e,n,t);else if(e.tag===19)zA(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}switch(re(_e,r),a){case"forwards":for(n=t.child,a=null;n!==null;)e=n.alternate,e!==null&&Mc(e)===null&&(a=n),n=n.sibling;n=a,n===null?(a=t.child,t.child=null):(a=n.sibling,n.sibling=null),Yu(t,!1,a,n,o);break;case"backwards":for(n=null,a=t.child,t.child=null;a!==null;){if(e=a.alternate,e!==null&&Mc(e)===null){t.child=a;break}e=a.sibling,a.sibling=n,n=a,a=e}Yu(t,!0,n,null,o);break;case"together":Yu(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function fn(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),jn|=t.lanes,(n&t.childLanes)===0)if(e!==null){if(jo(e,t,n,!1),(n&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(p(153));if(t.child!==null){for(e=t.child,n=sn(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=sn(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function bd(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&Nc(e)))}function YN(e,t,n){switch(t.tag){case 3:Ic(t,t.stateNode.containerInfo),wn(t,Ie,e.memoizedState.cache),Xo();break;case 27:case 5:ul(t);break;case 4:Ic(t,t.stateNode.containerInfo);break;case 10:wn(t,t.type,t.memoizedProps.value);break;case 13:var r=t.memoizedState;if(r!==null)return r.dehydrated!==null?(Ln(t),t.flags|=128,null):(n&t.child.childLanes)!==0?q_(e,t,n):(Ln(t),e=fn(e,t,n),e!==null?e.sibling:null);Ln(t);break;case 19:var a=(e.flags&128)!==0;if(r=(n&t.childLanes)!==0,r||(jo(e,t,n,!1),r=(n&t.childLanes)!==0),a){if(r)return Z_(e,t,n);t.flags|=128}if(a=t.memoizedState,a!==null&&(a.rendering=null,a.tail=null,a.lastEffect=null),re(_e,_e.current),r)break;return null;case 22:case 23:return t.lanes=0,Y_(e,t,n);case 24:wn(t,Ie,e.memoizedState.cache)}return fn(e,t,n)}function X_(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps)pe=!0;else{if(!bd(e,n)&&(t.flags&128)===0)return pe=!1,YN(e,t,n);pe=(e.flags&131072)!==0}else pe=!1,k&&(t.flags&1048576)!==0&&$I(t,Sc,t.index);switch(t.lanes=0,t.tag){case 16:e:{e=t.pendingProps;var r=t.elementType,a=r._init;if(r=a(r._payload),t.type=r,typeof r=="function")fd(r)?(e=Cr(r,e),t.tag=1,t=BA(null,t,r,e,n)):(t.tag=0,t=Ll(null,t,r,e,n));else{if(r!=null){if(a=r.$$typeof,a===Ql){t.tag=11,t=bA(null,t,r,e,n);break e}else if(a===Jl){t.tag=14,t=wA(null,t,r,e,n);break e}}throw t=cl(r)||r,Error(p(306,t,""))}}return t;case 0:return Ll(e,t,t.type,t.pendingProps,n);case 1:return r=t.type,a=Cr(r,t.pendingProps),BA(e,t,r,a,n);case 3:e:{if(Ic(t,t.stateNode.containerInfo),e===null)throw Error(p(387));r=t.pendingProps;var o=t.memoizedState;a=o.element,hl(e,t),Co(t,r,null,n);var i=t.memoizedState;if(r=i.cache,wn(t,Ie,r),r!==o.cache&&Cl(t,[Ie],n,!0),po(),r=i.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:i.cache},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){t=PA(e,t,r,n);break e}else if(r!==a){a=dt(Error(p(424)),t),Lo(a),t=PA(e,t,r,n);break e}else{switch(e=t.stateNode.containerInfo,e.nodeType){case 9:e=e.body;break;default:e=e.nodeName==="HTML"?e.ownerDocument.body:e}for(ie=pt(e.firstChild),Be=t,k=!0,Ar=null,bt=!0,n=z_(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling}else{if(Xo(),r===a){t=fn(e,t,n);break e}Se(e,t,r,n)}t=t.child}return t;case 26:return lc(e,t),e===null?(n=nI(t.type,null,t.pendingProps,null))?t.memoizedState=n:k||(n=t.type,e=t.pendingProps,r=Fc(kn.current).createElement(n),r[Me]=t,r[Ge]=e,he(r,n,e),Re(r),t.stateNode=r):t.memoizedState=nI(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return ul(t),e===null&&k&&(r=t.stateNode=BE(t.type,t.pendingProps,kn.current),Be=t,bt=!0,a=ie,Qn(t.type)?(Zl=a,ie=pt(r.firstChild)):ie=a),Se(e,t,t.pendingProps.children,n),lc(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&k&&((a=r=ie)&&(r=Eh(r,t.type,t.pendingProps,bt),r!==null?(t.stateNode=r,Be=t,ie=pt(r.firstChild),bt=!1,a=!0):a=!1),a||Tr(t)),ul(t),a=t.type,o=t.pendingProps,i=e!==null?e.memoizedProps:null,r=o.children,Kl(a,o)?r=null:i!==null&&Kl(a,i)&&(t.flags|=32),t.memoizedState!==null&&(a=Rd(e,t,xN,null,null,n),Fo._currentValue=a),lc(e,t),Se(e,t,r,n),t.child;case 6:return e===null&&k&&((e=n=ie)&&(n=Th(n,t.pendingProps,bt),n!==null?(t.stateNode=n,Be=t,ie=null,e=!0):e=!1),e||Tr(t)),null;case 13:return q_(e,t,n);case 4:return Ic(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=pa(t,null,r,n):Se(e,t,r,n),t.child;case 11:return bA(e,t,t.type,t.pendingProps,n);case 7:return Se(e,t,t.pendingProps,n),t.child;case 8:return Se(e,t,t.pendingProps.children,n),t.child;case 12:return Se(e,t,t.pendingProps.children,n),t.child;case 10:return r=t.pendingProps,wn(t,t.type,r.value),Se(e,t,r.children,n),t.child;case 9:return a=t.type._context,r=t.pendingProps.children,Rr(t),a=ve(a),r=r(a),t.flags|=1,Se(e,t,r,n),t.child;case 14:return wA(e,t,t.type,t.pendingProps,n);case 15:return K_(e,t,t.type,t.pendingProps,n);case 19:return Z_(e,t,n);case 31:return r=t.pendingProps,n=t.mode,r={mode:r.mode,children:r.children},e===null?(n=wc(r,n),n.ref=t.ref,t.child=n,n.return=t,t=n):(n=sn(e.child,r),n.ref=t.ref,t.child=n,n.return=t,t=n),t;case 22:return Y_(e,t,n);case 24:return Rr(t),r=ve(Ie),e===null?(a=Id(),a===null&&(a=$,o=Ad(),a.pooledCache=o,o.refCount++,o!==null&&(a.pooledCacheLanes|=n),a=o),t.memoizedState={parent:r,cache:a},_d(t),wn(t,Ie,a)):((e.lanes&n)!==0&&(hl(e,t),Co(t,null,null,n),po()),a=e.memoizedState,o=t.memoizedState,a.parent!==r?(a={parent:r,cache:r},t.memoizedState=a,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=a),wn(t,Ie,r)):(r=o.cache,wn(t,Ie,r),r!==a.cache&&Cl(t,[Ie],n,!0))),Se(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(p(156,t.tag))}function Jt(e){e.flags|=4}function xA(e,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!xE(t)){if(t=mt.current,t!==null&&((F&4194048)===F?Bt!==null:(F&62914560)!==F&&(F&536870912)===0||t!==Bt))throw To=Nl,e_;e.flags|=8192}}function ji(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?pI():536870912,e.lanes|=t,Ca|=t)}function io(e,t){if(!k)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function ae(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var a=e.child;a!==null;)n|=a.lanes|a.childLanes,r|=a.subtreeFlags&65011712,r|=a.flags&65011712,a.return=e,a=a.sibling;else for(a=e.child;a!==null;)n|=a.lanes|a.childLanes,r|=a.subtreeFlags,r|=a.flags,a.return=e,a=a.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function qN(e,t,n){var r=t.pendingProps;switch(gd(t),t.tag){case 31:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return ae(t),null;case 1:return ae(t),null;case 3:return n=t.stateNode,r=null,e!==null&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),un(Ie),Aa(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(ao(t)?Jt(t):e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,gA())),ae(t),null;case 26:return n=t.memoizedState,e===null?(Jt(t),n!==null?(ae(t),xA(t,n)):(ae(t),t.flags&=-16777217)):n?n!==e.memoizedState?(Jt(t),ae(t),xA(t,n)):(ae(t),t.flags&=-16777217):(e.memoizedProps!==r&&Jt(t),ae(t),t.flags&=-16777217),null;case 27:_c(t),n=kn.current;var a=t.type;if(e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Jt(t);else{if(!r){if(t.stateNode===null)throw Error(p(166));return ae(t),null}e=Lt.current,ao(t)?fA(t,e):(e=BE(a,r,n),t.stateNode=e,Jt(t))}return ae(t),null;case 5:if(_c(t),n=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Jt(t);else{if(!r){if(t.stateNode===null)throw Error(p(166));return ae(t),null}if(e=Lt.current,ao(t))fA(t,e);else{switch(a=Fc(kn.current),e){case 1:e=a.createElementNS("http://www.w3.org/2000/svg",n);break;case 2:e=a.createElementNS("http://www.w3.org/1998/Math/MathML",n);break;default:switch(n){case"svg":e=a.createElementNS("http://www.w3.org/2000/svg",n);break;case"math":e=a.createElementNS("http://www.w3.org/1998/Math/MathML",n);break;case"script":e=a.createElement("div"),e.innerHTML="