diff --git a/.claude/skills/shinyreact-build-app/SKILL.md b/.claude/skills/shinyreact-build-app/SKILL.md index 66d93a7..f41ba8a 100644 --- a/.claude/skills/shinyreact-build-app/SKILL.md +++ b/.claude/skills/shinyreact-build-app/SKILL.md @@ -244,6 +244,7 @@ an npm-tier build). | **Input** | `useShinyInput(id, default)` → `[value, setValue]` | `useShinyInputValue(id)` | `useSetShinyInput(id, default)` | | **Output** | — | `useShinyOutputValue(id, default?)` | — | | **Status** | | `useShinyOutputStatus(id)` → `"pending" \| "ready" \| "recalculating" \| "error"` | | +| **Error** | | `useShinyOutputError(id)` → `{message, call, type} \| null` | | Plus `useShinyInitialized()`, `useShinyBusy()`, `useShinyMessageHandler()`, and the components `ImageOutput`, `ShinyOutput`, `ShinyModuleProvider`. @@ -304,6 +305,20 @@ with `.recalculating { opacity: .6; transition: opacity 200ms }`. `"pending"` is the only state where you have no data yet; `"recalculating"` means the previous result is still valid, so show it. +**Showing the server's error text** — `useShinyOutputError(id)` returns the +same (sanitized) condition/exception message vanilla Shiny would paint into the +output element, or `null` when the output is fine: + +```jsx +const error = useShinyOutputError("foo"); +if (error) return
{error.message}
; +``` + +`req()` / `validate()` with no message are silent — they never produce an +error here, matching Shiny. With `shiny.sanitize.errors` / `sanitize_errors` +on, the server sends its generic message, so the client never has to decide +what is safe to show. + **Gate the first paint** on `useShinyInitialized()` (`if (!initialized) return null`) so the UI does not flash empty defaults during connection setup. diff --git a/.claude/skills/shinyreact-build-app/references/debugging.md b/.claude/skills/shinyreact-build-app/references/debugging.md index 71b8441..cb5d93d 100644 --- a/.claude/skills/shinyreact-build-app/references/debugging.md +++ b/.claude/skills/shinyreact-build-app/references/debugging.md @@ -1,13 +1,14 @@ # Debugging a shinyreact app The client is a normal React app, so React DevTools works. What is specific to -shinyreact is the wire, and these four hooks are the instruments — reach for +shinyreact is the wire, and these five hooks are the instruments — reach for them before adding `console.log`: | Hook | Tells you | |---|---| | `useShinyInitialized()` | whether the WebSocket handshake finished at all | | `useShinyOutputStatus(id)` | `"pending"` / `"ready"` / `"recalculating"` / `"error"` for one output | +| `useShinyOutputError(id)` | the server's sanitized error message for one output, or `null` | | `useShinyBusy()` | whether the server is processing *anything* right now | | `useShinyInputValue(id)` | what a channel currently holds, read from any component | @@ -26,4 +27,3 @@ Symptoms, in the order they actually come up: On the server, `reactive_output` is an ordinary Shiny output — print inside it, and its errors surface in the Shiny console exactly as usual. - diff --git a/.claude/skills/shinyreact-build-app/references/modules.md b/.claude/skills/shinyreact-build-app/references/modules.md index 3a88da7..f4372af 100644 --- a/.claude/skills/shinyreact-build-app/references/modules.md +++ b/.claude/skills/shinyreact-build-app/references/modules.md @@ -66,7 +66,7 @@ the `useShinyMessageHandler("ping", ...)` inside the matching provider. Every id-taking hook and component goes through one shared resolver, so the behavior is identical for `useShinyInput`, `useShinyInputValue`, `useSetShinyInput`, `useShinyOutputValue`, `useShinyOutputStatus`, -`useShinyMessageHandler`, `ShinyOutput`, and `ImageOutput`. +`useShinyOutputError`, `useShinyMessageHandler`, `ShinyOutput`, and `ImageOutput`. Each of them takes an optional `namespace`: diff --git a/CLAUDE.md b/CLAUDE.md index e4c6c1d..1a6bdcc 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -82,7 +82,7 @@ Run `make help` to see all targets. The JS output (`pkg-js/dist/shinyreact.js`) is a self-contained IIFE that bundles React 19 and vendored `@posit/shiny-react`, and installs the public API at `window.shinyreact`. **Global API exposed at `window.shinyreact`:** -- `useShinyInput`, `useShinyInputValue`, `useSetShinyInput`, `useShinyOutputValue`, `useShinyOutputStatus`, `useShinyMessageHandler`, `useShinyInitialized`, `useShinyBusy` — re-exported shiny-react hooks +- `useShinyInput`, `useShinyInputValue`, `useSetShinyInput`, `useShinyOutputValue`, `useShinyOutputStatus`, `useShinyOutputError`, `useShinyMessageHandler`, `useShinyInitialized`, `useShinyBusy` — re-exported shiny-react hooks - `ImageOutput`, `ShinyModuleProvider`, `ShinyReactComponentElement`, `ShinyOutput`, `MISSING` — components/utilities - `React`, `ReactDOM` — shared instances (downstream ESM builds should externalize to these to avoid duplicate React) @@ -204,6 +204,7 @@ The hook surface follows the Jotai/Recoil cadence — each hook has one responsi | **Input** | `useShinyInput(id, default)` → `[value, setValue]` | `useShinyInputValue(id)` → `value` | `useSetShinyInput(id, default)` → `setValue` | | **Output** | — (no compound) | `useShinyOutputValue(id, default?)` → `value` | — | | **Output status** | | `useShinyOutputStatus(id)` → `"pending" \| "ready" \| "recalculating" \| "error"` | | +| **Output error** | | `useShinyOutputError(id)` → `{message, call, type} \| null` | | Pick the narrowest hook that fits the call site. A button that pushes events but never reads its own state should use `useSetShinyInput`, not `useShinyInput` with a discarded `[value]`. A display card that just reads should use `useShinyInputValue` / `useShinyOutputValue`. Narrow hooks make data-flow direction visible at the call site, prevent accidental writes from read-only components, and avoid spurious re-renders from subscribing to channels you don't observe. diff --git a/FEATURES.md b/FEATURES.md index cd8166d..060d857 100644 --- a/FEATURES.md +++ b/FEATURES.md @@ -234,8 +234,8 @@ R has no e2e suite, so no `(e2e)` leaf covers R (issue #194). - `null` is deliberately not conflated with `undefined` — a `??` would silently fall through to the context, so the check is `!== undefined` - applies to `useShinyInput`, `useShinyInputValue`, `useSetShinyInput`, - `useShinyOutputValue`, `useShinyOutputStatus`, `useShinyMessageHandler`, - `ShinyOutput`, and `ImageOutput` + `useShinyOutputValue`, `useShinyOutputStatus`, `useShinyOutputError`, + `useShinyMessageHandler`, `ShinyOutput`, and `ImageOutput` - `[js]` the prefix is joined with a single hyphen: `${namespace}-${id}` - an empty-string namespace yields the bare id, same as `null` - `[js]` nesting `ShinyModuleProvider`s **overrides** rather than concatenates — @@ -328,6 +328,20 @@ registers a second `shiny.reactOutput` binding. - `useShinyOutputStatus(id, options?)` → status - exactly four values: `"pending"`, `"ready"`, `"recalculating"`, `"error"` - it starts at `"pending"` and subscribes to the status channel only +- `useShinyOutputError(id, options?)` → `{message, call, type}` or `null` + - it starts at `null` and subscribes to the error channel only — value and + status changes do not re-render it + - `message` is the server's already-sanitized condition/exception text, the + same text vanilla Shiny paints into the output element; sanitization is + shiny's (`shiny.sanitize.errors` / `sanitize_errors`), not shinyreact's + - `[r]` `call` / `type` carry the condition's call and extra classes; + `[py]` both are `null` + - it returns `null` whenever the output is not in the `"error"` state: + initially, after a value arrives, and while recalculating + - the held error **is** reset to `null` when the id or namespace changes + - a late-mounting subscriber is synced to the cached error on attach + - an erroring `reactive_output` delivers its message end to end, and the + message clears when the output recovers (e2e) - `useShinyMessageHandler(id, handler, options?)` - the effect re-runs only when the resolved id changes or Shiny flips to initialized, never on handler identity @@ -465,6 +479,12 @@ registries are exposed on `window.Shiny.reactRegistry`; the message registry on - `setRecalculating(false)` → back to `"ready"` only from `"recalculating"`; `"pending"` and `"error"` are left alone - `setError` → `"error"`, fanning the error out + - `setError` with an **empty message** is a *silent* error (`req()`, and + `validate()` with no message) and is handled as `setValue(null)` instead: + status `"ready"`, error left `null` + - only `[r]` sends this shape — py-shiny already sends a `null` value for + `req()` — so the two servers look identical to the same component (e2e, + Python side) - a value arriving in the `"error"` state clears the error and returns to `"ready"` - entering `"recalculating"` from `"error"` clears the error, so status and @@ -1170,7 +1190,8 @@ initial page. - a missing `#shinyreact-config` tag is a hard error, opted into at import - `window.shinyreact` contains exactly: `useShinyInput`, `useShinyInputValue`, `useSetShinyInput`, `useShinyOutputValue`, `useShinyOutputStatus`, - `useShinyMessageHandler`, `useShinyInitialized`, `useShinyBusy`, + `useShinyOutputError`, `useShinyMessageHandler`, `useShinyInitialized`, + `useShinyBusy`, `ImageOutput`, `MISSING`, `ShinyModuleProvider`, `ShinyReactComponentElement`, `ShinyOutput`, `React`, `ReactDOM` - `React` / `ReactDOM` are exposed so downstream ESM builds can externalize diff --git a/README.md b/README.md index 91b4e51..00f1575 100644 --- a/README.md +++ b/README.md @@ -32,6 +32,7 @@ The bundle re-exports these hooks from `@posit/shiny-react`: | `useSetShinyInput(id, default, opts)` | Write-only producer — registers an input and returns just the setter | | `useShinyOutputValue(id, default?)` | Consume arbitrary data sent by `reactive_output` | | `useShinyOutputStatus(id)` | Output lifecycle status — `"pending" \| "ready" \| "recalculating" \| "error"` | +| `useShinyOutputError(id)` | The server's sanitized error message for an output, or `null` | | `useShinyMessageHandler(type, fn)` | Handle server-to-client custom messages | | `useShinyInitialized()` | Check whether Shiny is connected | | `useShinyBusy()` | Whether the Shiny server is currently processing a request | diff --git a/pkg-js/dist/shinyreact.js b/pkg-js/dist/shinyreact.js index bcbc7d7..223504f 100644 --- a/pkg-js/dist/shinyreact.js +++ b/pkg-js/dist/shinyreact.js @@ -1,4 +1,4 @@ -var am=Object.defineProperty;var nm=(ee,nt,ue)=>nt in ee?am(ee,nt,{enumerable:!0,configurable:!0,writable:!0,value:ue}):ee[nt]=ue;var K=(ee,nt,ue)=>nm(ee,typeof nt!="symbol"?nt+"":nt,ue);(function(){"use strict";function ee(t,l){for(var e=0;eu[a]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}function nt(){return window.Shiny}let ue=!1;function jh(){if(typeof document>"u"||ue)return;ue=!0;const t=()=>{const e=nt();e&&(e.addCustomMessageHandler("shinyreact-deps",async u=>{var a,n;try{const i=e;await((a=i.renderDependenciesAsync)==null?void 0:a.call(i,u)),await((n=i.bindAll)==null?void 0:n.call(i,document.documentElement))}catch(i){console.error("[shinyreact] failed to load pushed dependencies:",i)}}),e.initializedPromise.then(()=>{var u;(u=e.setInputValue)==null||u.call(e,".shinyreact_init:shinyreact.init",1)}))};if(nt()){t();return}const l=()=>{nt()&&(document.removeEventListener("shiny:connected",l),t())};document.addEventListener("shiny:connected",l)}function Vf(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var jf={exports:{}},D={};/** +var nm=Object.defineProperty;var im=(ue,nt,ae)=>nt in ue?nm(ue,nt,{enumerable:!0,configurable:!0,writable:!0,value:ae}):ue[nt]=ae;var K=(ue,nt,ae)=>im(ue,typeof nt!="symbol"?nt+"":nt,ae);(function(){"use strict";function ue(t,l){for(var e=0;eu[a]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}function nt(){return window.Shiny}let ae=!1;function jh(){if(typeof document>"u"||ae)return;ae=!0;const t=()=>{const e=nt();e&&(e.addCustomMessageHandler("shinyreact-deps",async u=>{var a,n;try{const i=e;await((a=i.renderDependenciesAsync)==null?void 0:a.call(i,u)),await((n=i.bindAll)==null?void 0:n.call(i,document.documentElement))}catch(i){console.error("[shinyreact] failed to load pushed dependencies:",i)}}),e.initializedPromise.then(()=>{var u;(u=e.setInputValue)==null||u.call(e,".shinyreact_init:shinyreact.init",1)}))};if(nt()){t();return}const l=()=>{nt()&&(document.removeEventListener("shiny:connected",l),t())};document.addEventListener("shiny:connected",l)}function Vf(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var jf={exports:{}},D={};/** * @license React * react.production.js * @@ -6,7 +6,7 @@ var am=Object.defineProperty;var nm=(ee,nt,ue)=>nt in ee?am(ee,nt,{enumerable:!0 * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Wn=Symbol.for("react.transitional.element"),Gh=Symbol.for("react.portal"),Xh=Symbol.for("react.fragment"),Qh=Symbol.for("react.strict_mode"),Zh=Symbol.for("react.profiler"),xh=Symbol.for("react.consumer"),Lh=Symbol.for("react.context"),Kh=Symbol.for("react.forward_ref"),Jh=Symbol.for("react.suspense"),wh=Symbol.for("react.memo"),Gf=Symbol.for("react.lazy"),$h=Symbol.for("react.activity"),Xf=Symbol.iterator;function Wh(t){return t===null||typeof t!="object"?null:(t=Xf&&t[Xf]||t["@@iterator"],typeof t=="function"?t:null)}var Qf={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Zf=Object.assign,xf={};function Me(t,l,e){this.props=t,this.context=l,this.refs=xf,this.updater=e||Qf}Me.prototype.isReactComponent={},Me.prototype.setState=function(t,l){if(typeof t!="object"&&typeof t!="function"&&t!=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,t,l,"setState")},Me.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")};function Lf(){}Lf.prototype=Me.prototype;function Fn(t,l,e){this.props=t,this.context=l,this.refs=xf,this.updater=e||Qf}var kn=Fn.prototype=new Lf;kn.constructor=Fn,Zf(kn,Me.prototype),kn.isPureReactComponent=!0;var Kf=Array.isArray;function In(){}var W={H:null,A:null,T:null,S:null},Jf=Object.prototype.hasOwnProperty;function Pn(t,l,e){var u=e.ref;return{$$typeof:Wn,type:t,key:l,ref:u!==void 0?u:null,props:e}}function Fh(t,l){return Pn(t.type,l,t.props)}function ti(t){return typeof t=="object"&&t!==null&&t.$$typeof===Wn}function kh(t){var l={"=":"=0",":":"=2"};return"$"+t.replace(/[=:]/g,function(e){return l[e]})}var wf=/\/+/g;function li(t,l){return typeof t=="object"&&t!==null&&t.key!=null?kh(""+t.key):l.toString(36)}function Ih(t){switch(t.status){case"fulfilled":return t.value;case"rejected":throw t.reason;default:switch(typeof t.status=="string"?t.then(In,In):(t.status="pending",t.then(function(l){t.status==="pending"&&(t.status="fulfilled",t.value=l)},function(l){t.status==="pending"&&(t.status="rejected",t.reason=l)})),t.status){case"fulfilled":return t.value;case"rejected":throw t.reason}}throw t}function De(t,l,e,u,a){var n=typeof t;(n==="undefined"||n==="boolean")&&(t=null);var i=!1;if(t===null)i=!0;else switch(n){case"bigint":case"string":case"number":i=!0;break;case"object":switch(t.$$typeof){case Wn:case Gh:i=!0;break;case Gf:return i=t._init,De(i(t._payload),l,e,u,a)}}if(i)return a=a(t),i=u===""?"."+li(t,0):u,Kf(a)?(e="",i!=null&&(e=i.replace(wf,"$&/")+"/"),De(a,l,e,"",function(d){return d})):a!=null&&(ti(a)&&(a=Fh(a,e+(a.key==null||t&&t.key===a.key?"":(""+a.key).replace(wf,"$&/")+"/")+i)),l.push(a)),1;i=0;var c=u===""?".":u+":";if(Kf(t))for(var f=0;fnt in ee?am(ee,nt,{enumerable:!0 * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */(function(t){function l(T,Y){var N=T.length;T.push(Y);t:for(;0>>1,vt=T[at];if(0>>1;ata(qf,N))_ea($n,qf)?(T[at]=$n,T[_e]=N,at=_e):(T[at]=qf,T[wn]=N,at=wn);else if(_ea($n,N))T[at]=$n,T[_e]=N,at=_e;else break t}}return Y}function a(T,Y){var N=T.sortIndex-Y.sortIndex;return N!==0?N:T.id-Y.id}if(t.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var n=performance;t.unstable_now=function(){return n.now()}}else{var i=Date,c=i.now();t.unstable_now=function(){return i.now()-c}}var f=[],d=[],r=1,m=null,y=3,v=!1,b=!1,p=!1,H=!1,o=typeof setTimeout=="function"?setTimeout:null,s=typeof clearTimeout=="function"?clearTimeout:null,h=typeof setImmediate<"u"?setImmediate:null;function S(T){for(var Y=e(d);Y!==null;){if(Y.callback===null)u(d);else if(Y.startTime<=T)u(d),Y.sortIndex=Y.expirationTime,l(f,Y);else break;Y=e(d)}}function E(T){if(p=!1,S(T),!b)if(e(f)!==null)b=!0,_||(_=!0,le());else{var Y=e(d);Y!==null&&Yf(E,Y.startTime-T)}}var _=!1,z=-1,A=5,M=-1;function R(){return H?!0:!(t.unstable_now()-MT&&R());){var at=m.callback;if(typeof at=="function"){m.callback=null,y=m.priorityLevel;var vt=at(m.expirationTime<=T);if(T=t.unstable_now(),typeof vt=="function"){m.callback=vt,S(T),Y=!0;break l}m===e(f)&&u(f),S(T)}else u(f);m=e(f)}if(m!==null)Y=!0;else{var Jn=e(d);Jn!==null&&Yf(E,Jn.startTime-T),Y=!1}}break t}finally{m=null,y=N,v=!1}Y=void 0}}finally{Y?le():_=!1}}}var le;if(typeof h=="function")le=function(){h(It)};else if(typeof MessageChannel<"u"){var Vh=new MessageChannel,um=Vh.port2;Vh.port1.onmessage=It,le=function(){um.postMessage(null)}}else le=function(){o(It,0)};function Yf(T,Y){z=o(function(){T(t.unstable_now())},Y)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(T){T.callback=null},t.unstable_forceFrameRate=function(T){0>T||125at?(T.sortIndex=N,l(d,T),e(f)===null&&T===e(d)&&(p?(s(z),z=-1):p=!0,Yf(E,N-at))):(T.sortIndex=vt,l(f,T),b||v||(b=!0,_||(_=!0,le()))),T},t.unstable_shouldYield=R,t.unstable_wrapCallback=function(T){var Y=y;return function(){var N=y;y=Y;try{return T.apply(this,arguments)}finally{y=N}}}})(If),kf.exports=If;var l0=kf.exports,Pf={exports:{}},zt={};/** + */(function(t){function l(T,Y){var N=T.length;T.push(Y);t:for(;0>>1,vt=T[at];if(0>>1;ata(qf,N))Mea($n,qf)?(T[at]=$n,T[Me]=N,at=Me):(T[at]=qf,T[wn]=N,at=wn);else if(Mea($n,N))T[at]=$n,T[Me]=N,at=Me;else break t}}return Y}function a(T,Y){var N=T.sortIndex-Y.sortIndex;return N!==0?N:T.id-Y.id}if(t.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var n=performance;t.unstable_now=function(){return n.now()}}else{var i=Date,c=i.now();t.unstable_now=function(){return i.now()-c}}var f=[],d=[],r=1,m=null,y=3,v=!1,b=!1,p=!1,H=!1,o=typeof setTimeout=="function"?setTimeout:null,s=typeof clearTimeout=="function"?clearTimeout:null,h=typeof setImmediate<"u"?setImmediate:null;function S(T){for(var Y=e(d);Y!==null;){if(Y.callback===null)u(d);else if(Y.startTime<=T)u(d),Y.sortIndex=Y.expirationTime,l(f,Y);else break;Y=e(d)}}function E(T){if(p=!1,S(T),!b)if(e(f)!==null)b=!0,_||(_=!0,ee());else{var Y=e(d);Y!==null&&Yf(E,Y.startTime-T)}}var _=!1,z=-1,A=5,M=-1;function R(){return H?!0:!(t.unstable_now()-MT&&R());){var at=m.callback;if(typeof at=="function"){m.callback=null,y=m.priorityLevel;var vt=at(m.expirationTime<=T);if(T=t.unstable_now(),typeof vt=="function"){m.callback=vt,S(T),Y=!0;break l}m===e(f)&&u(f),S(T)}else u(f);m=e(f)}if(m!==null)Y=!0;else{var Jn=e(d);Jn!==null&&Yf(E,Jn.startTime-T),Y=!1}}break t}finally{m=null,y=N,v=!1}Y=void 0}}finally{Y?ee():_=!1}}}var ee;if(typeof h=="function")ee=function(){h(It)};else if(typeof MessageChannel<"u"){var Vh=new MessageChannel,am=Vh.port2;Vh.port1.onmessage=It,ee=function(){am.postMessage(null)}}else ee=function(){o(It,0)};function Yf(T,Y){z=o(function(){T(t.unstable_now())},Y)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(T){T.callback=null},t.unstable_forceFrameRate=function(T){0>T||125at?(T.sortIndex=N,l(d,T),e(f)===null&&T===e(d)&&(p?(s(z),z=-1):p=!0,Yf(E,N-at))):(T.sortIndex=vt,l(f,T),b||v||(b=!0,_||(_=!0,ee()))),T},t.unstable_shouldYield=R,t.unstable_wrapCallback=function(T){var Y=y;return function(){var N=y;y=Y;try{return T.apply(this,arguments)}finally{y=N}}}})(If),kf.exports=If;var l0=kf.exports,Pf={exports:{}},zt={};/** * @license React * react-dom.production.js * @@ -22,7 +22,7 @@ var am=Object.defineProperty;var nm=(ee,nt,ue)=>nt in ee?am(ee,nt,{enumerable:!0 * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var e0=j;function ts(t){var l="https://react.dev/errors/"+t;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(ls)}catch(t){console.error(t)}}ls(),Pf.exports=zt;var n0=Pf.exports;/** + */var e0=V;function ts(t){var l="https://react.dev/errors/"+t;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(ls)}catch(t){console.error(t)}}ls(),Pf.exports=zt;var n0=Pf.exports;/** * @license React * react-dom-client.production.js * @@ -30,15 +30,15 @@ var am=Object.defineProperty;var nm=(ee,nt,ue)=>nt in ee?am(ee,nt,{enumerable:!0 * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var ot=l0,es=j,i0=n0;function g(t){var l="https://react.dev/errors/"+t;if(1He||(t.current=si[He],si[He]=null,He--)}function w(t,l){He++,si[He]=t.current,t.current=l}var ul=el(null),pu=el(null),Ul=el(null),za=el(null);function Ta(t,l){switch(w(Ul,l),w(pu,t),w(ul,null),l.nodeType){case 9:case 11:t=(t=l.documentElement)&&(t=t.namespaceURI)?qy(t):0;break;default:if(t=l.tagName,l=l.namespaceURI)l=qy(l),t=Vy(l,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}yt(ul),w(ul,t)}function Re(){yt(ul),yt(pu),yt(Ul)}function oi(t){t.memoizedState!==null&&w(za,t);var l=ul.current,e=Vy(l,t.type);l!==e&&(w(pu,t),w(ul,e))}function pa(t){pu.current===t&&(yt(ul),yt(pu)),za.current===t&&(yt(za),ya._currentValue=ae)}var di,ds;function ne(t){if(di===void 0)try{throw Error()}catch(e){var l=e.stack.trim().match(/\n( *(at )?)/);di=l&&l[1]||"",ds=-1Re||(t.current=si[Re],si[Re]=null,Re--)}function w(t,l){Re++,si[Re]=t.current,t.current=l}var ul=el(null),Au=el(null),Hl=el(null),Ta=el(null);function pa(t,l){switch(w(Hl,l),w(Au,t),w(ul,null),l.nodeType){case 9:case 11:t=(t=l.documentElement)&&(t=t.namespaceURI)?qy(t):0;break;default:if(t=l.tagName,l=l.namespaceURI)l=qy(l),t=Vy(l,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}yt(ul),w(ul,t)}function Ne(){yt(ul),yt(Au),yt(Hl)}function oi(t){t.memoizedState!==null&&w(Ta,t);var l=ul.current,e=Vy(l,t.type);l!==e&&(w(Au,t),w(ul,e))}function Aa(t){Au.current===t&&(yt(ul),yt(Au)),Ta.current===t&&(yt(Ta),ha._currentValue=ne)}var di,ds;function ie(t){if(di===void 0)try{throw Error()}catch(e){var l=e.stack.trim().match(/\n( *(at )?)/);di=l&&l[1]||"",ds=-1)":-1a||f[u]!==d[a]){var r=` -`+f[u].replace(" at new "," at ");return t.displayName&&r.includes("")&&(r=r.replace("",t.displayName)),r}while(1<=u&&0<=a);break}}}finally{yi=!1,Error.prepareStackTrace=e}return(e=t?t.displayName||t.name:"")?ne(e):""}function d0(t,l){switch(t.tag){case 26:case 27:case 5:return ne(t.type);case 16:return ne("Lazy");case 13:return t.child!==l&&l!==null?ne("Suspense Fallback"):ne("Suspense");case 19:return ne("SuspenseList");case 0:case 15:return hi(t.type,!1);case 11:return hi(t.type.render,!1);case 1:return hi(t.type,!0);case 31:return ne("Activity");default:return""}}function ys(t){try{var l="",e=null;do l+=d0(t,e),e=t,t=t.return;while(t);return l}catch(u){return` +`+f[u].replace(" at new "," at ");return t.displayName&&r.includes("")&&(r=r.replace("",t.displayName)),r}while(1<=u&&0<=a);break}}}finally{yi=!1,Error.prepareStackTrace=e}return(e=t?t.displayName||t.name:"")?ie(e):""}function d0(t,l){switch(t.tag){case 26:case 27:case 5:return ie(t.type);case 16:return ie("Lazy");case 13:return t.child!==l&&l!==null?ie("Suspense Fallback"):ie("Suspense");case 19:return ie("SuspenseList");case 0:case 15:return hi(t.type,!1);case 11:return hi(t.type.render,!1);case 1:return hi(t.type,!0);case 31:return ie("Activity");default:return""}}function ys(t){try{var l="",e=null;do l+=d0(t,e),e=t,t=t.return;while(t);return l}catch(u){return` Error generating stack: `+u.message+` -`+u.stack}}var ri=Object.prototype.hasOwnProperty,vi=ot.unstable_scheduleCallback,mi=ot.unstable_cancelCallback,y0=ot.unstable_shouldYield,h0=ot.unstable_requestPaint,Rt=ot.unstable_now,r0=ot.unstable_getCurrentPriorityLevel,hs=ot.unstable_ImmediatePriority,rs=ot.unstable_UserBlockingPriority,Aa=ot.unstable_NormalPriority,v0=ot.unstable_LowPriority,vs=ot.unstable_IdlePriority,m0=ot.log,S0=ot.unstable_setDisableYieldValue,Au=null,Nt=null;function Hl(t){if(typeof m0=="function"&&S0(t),Nt&&typeof Nt.setStrictMode=="function")try{Nt.setStrictMode(Au,t)}catch{}}var Ct=Math.clz32?Math.clz32:E0,g0=Math.log,b0=Math.LN2;function E0(t){return t>>>=0,t===0?32:31-(g0(t)/b0|0)|0}var Oa=256,_a=262144,Ma=4194304;function ie(t){var l=t&42;if(l!==0)return l;switch(t&-t){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:return t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function Da(t,l,e){var u=t.pendingLanes;if(u===0)return 0;var a=0,n=t.suspendedLanes,i=t.pingedLanes;t=t.warmLanes;var c=u&134217727;return c!==0?(u=c&~n,u!==0?a=ie(u):(i&=c,i!==0?a=ie(i):e||(e=c&~t,e!==0&&(a=ie(e))))):(c=u&~n,c!==0?a=ie(c):i!==0?a=ie(i):e||(e=u&~t,e!==0&&(a=ie(e)))),a===0?0:l!==0&&l!==a&&!(l&n)&&(n=a&-a,e=l&-l,n>=e||n===32&&(e&4194048)!==0)?l:a}function Ou(t,l){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&l)===0}function z0(t,l){switch(t){case 1:case 2:case 4:case 8:case 64:return l+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 l+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 ms(){var t=Ma;return Ma<<=1,!(Ma&62914560)&&(Ma=4194304),t}function Si(t){for(var l=[],e=0;31>e;e++)l.push(t);return l}function _u(t,l){t.pendingLanes|=l,l!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function T0(t,l,e,u,a,n){var i=t.pendingLanes;t.pendingLanes=e,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=e,t.entangledLanes&=e,t.errorRecoveryDisabledLanes&=e,t.shellSuspendCounter=0;var c=t.entanglements,f=t.expirationTimes,d=t.hiddenUpdates;for(e=i&~e;0"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var D0=/[\n"\\]/g;function Zt(t){return t.replace(D0,function(l){return"\\"+l.charCodeAt(0).toString(16)+" "})}function pi(t,l,e,u,a,n,i,c){t.name="",i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"?t.type=i:t.removeAttribute("type"),l!=null?i==="number"?(l===0&&t.value===""||t.value!=l)&&(t.value=""+Qt(l)):t.value!==""+Qt(l)&&(t.value=""+Qt(l)):i!=="submit"&&i!=="reset"||t.removeAttribute("value"),l!=null?Ai(t,i,Qt(l)):e!=null?Ai(t,i,Qt(e)):u!=null&&t.removeAttribute("value"),a==null&&n!=null&&(t.defaultChecked=!!n),a!=null&&(t.checked=a&&typeof a!="function"&&typeof a!="symbol"),c!=null&&typeof c!="function"&&typeof c!="symbol"&&typeof c!="boolean"?t.name=""+Qt(c):t.removeAttribute("name")}function Us(t,l,e,u,a,n,i,c){if(n!=null&&typeof n!="function"&&typeof n!="symbol"&&typeof n!="boolean"&&(t.type=n),l!=null||e!=null){if(!(n!=="submit"&&n!=="reset"||l!=null)){Ti(t);return}e=e!=null?""+Qt(e):"",l=l!=null?""+Qt(l):e,c||l===t.value||(t.value=l),t.defaultValue=l}u=u??a,u=typeof u!="function"&&typeof u!="symbol"&&!!u,t.checked=c?t.checked:!!u,t.defaultChecked=!!u,i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(t.name=i),Ti(t)}function Ai(t,l,e){l==="number"&&Ra(t.ownerDocument)===t||t.defaultValue===""+e||(t.defaultValue=""+e)}function Ve(t,l,e,u){if(t=t.options,l){l={};for(var a=0;a"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ui=!1;if(dl)try{var Hu={};Object.defineProperty(Hu,"passive",{get:function(){Ui=!0}}),window.addEventListener("test",Hu,Hu),window.removeEventListener("test",Hu,Hu)}catch{Ui=!1}var Nl=null,Hi=null,Ca=null;function qs(){if(Ca)return Ca;var t,l=Hi,e=l.length,u,a="value"in Nl?Nl.value:Nl.textContent,n=a.length;for(t=0;t=Cu),Zs=" ",xs=!1;function Ls(t,l){switch(t){case"keyup":return er.indexOf(l.keyCode)!==-1;case"keydown":return l.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ks(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var Qe=!1;function ar(t,l){switch(t){case"compositionend":return Ks(l);case"keypress":return l.which!==32?null:(xs=!0,Zs);case"textInput":return t=l.data,t===Zs&&xs?null:t;default:return null}}function nr(t,l){if(Qe)return t==="compositionend"||!Yi&&Ls(t,l)?(t=qs(),Ca=Hi=Nl=null,Qe=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(l.ctrlKey||l.altKey||l.metaKey)||l.ctrlKey&&l.altKey){if(l.char&&1=l)return{node:e,offset:l-t};t=u}t:{for(;e;){if(e.nextSibling){e=e.nextSibling;break t}e=e.parentNode}e=void 0}e=Ps(e)}}function lo(t,l){return t&&l?t===l?!0:t&&t.nodeType===3?!1:l&&l.nodeType===3?lo(t,l.parentNode):"contains"in t?t.contains(l):t.compareDocumentPosition?!!(t.compareDocumentPosition(l)&16):!1:!1}function eo(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var l=Ra(t.document);l instanceof t.HTMLIFrameElement;){try{var e=typeof l.contentWindow.location.href=="string"}catch{e=!1}if(e)t=l.contentWindow;else break;l=Ra(t.document)}return l}function ji(t){var l=t&&t.nodeName&&t.nodeName.toLowerCase();return l&&(l==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||l==="textarea"||t.contentEditable==="true")}var hr=dl&&"documentMode"in document&&11>=document.documentMode,Ze=null,Gi=null,Vu=null,Xi=!1;function uo(t,l,e){var u=e.window===e?e.document:e.nodeType===9?e:e.ownerDocument;Xi||Ze==null||Ze!==Ra(u)||(u=Ze,"selectionStart"in u&&ji(u)?u={start:u.selectionStart,end:u.selectionEnd}:(u=(u.ownerDocument&&u.ownerDocument.defaultView||window).getSelection(),u={anchorNode:u.anchorNode,anchorOffset:u.anchorOffset,focusNode:u.focusNode,focusOffset:u.focusOffset}),Vu&&qu(Vu,u)||(Vu=u,u=Mn(Gi,"onSelect"),0>=i,a-=i,al=1<<32-Ct(l)+a|e<A?(M=z,z=null):M=z.sibling;var R=y(o,z,h[A],S);if(R===null){z===null&&(z=M);break}t&&z&&R.alternate===null&&l(o,z),s=n(R,s,A),_===null?E=R:_.sibling=R,_=R,z=M}if(A===h.length)return e(o,z),V&&hl(o,A),E;if(z===null){for(;AA?(M=z,z=null):M=z.sibling;var It=y(o,z,R.value,S);if(It===null){z===null&&(z=M);break}t&&z&&It.alternate===null&&l(o,z),s=n(It,s,A),_===null?E=It:_.sibling=It,_=It,z=M}if(R.done)return e(o,z),V&&hl(o,A),E;if(z===null){for(;!R.done;A++,R=h.next())R=m(o,R.value,S),R!==null&&(s=n(R,s,A),_===null?E=R:_.sibling=R,_=R);return V&&hl(o,A),E}for(z=u(z);!R.done;A++,R=h.next())R=v(z,o,A,R.value,S),R!==null&&(t&&R.alternate!==null&&z.delete(R.key===null?A:R.key),s=n(R,s,A),_===null?E=R:_.sibling=R,_=R);return t&&z.forEach(function(le){return l(o,le)}),V&&hl(o,A),E}function H(o,s,h,S){if(typeof h=="object"&&h!==null&&h.type===Ue&&h.key===null&&(h=h.props.children),typeof h=="object"&&h!==null){switch(h.$$typeof){case Ea:t:{for(var E=h.key;s!==null;){if(s.key===E){if(E=h.type,E===Ue){if(s.tag===7){e(o,s.sibling),S=a(s,h.props.children),S.return=o,o=S;break t}}else if(s.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===Dl&&Se(E)===s.type){e(o,s.sibling),S=a(s,h.props),xu(S,h),S.return=o,o=S;break t}e(o,s);break}else l(o,s);s=s.sibling}h.type===Ue?(S=ye(h.props.children,o.mode,S,h.key),S.return=o,o=S):(S=xa(h.type,h.key,h.props,null,o.mode,S),xu(S,h),S.return=o,o=S)}return i(o);case Eu:t:{for(E=h.key;s!==null;){if(s.key===E)if(s.tag===4&&s.stateNode.containerInfo===h.containerInfo&&s.stateNode.implementation===h.implementation){e(o,s.sibling),S=a(s,h.children||[]),S.return=o,o=S;break t}else{e(o,s);break}else l(o,s);s=s.sibling}S=wi(h,o.mode,S),S.return=o,o=S}return i(o);case Dl:return h=Se(h),H(o,s,h,S)}if(Tu(h))return b(o,s,h,S);if(zu(h)){if(E=zu(h),typeof E!="function")throw Error(g(150));return h=E.call(h),p(o,s,h,S)}if(typeof h.then=="function")return H(o,s,Fa(h),S);if(h.$$typeof===fl)return H(o,s,Ja(o,h),S);ka(o,h)}return typeof h=="string"&&h!==""||typeof h=="number"||typeof h=="bigint"?(h=""+h,s!==null&&s.tag===6?(e(o,s.sibling),S=a(s,h),S.return=o,o=S):(e(o,s),S=Ji(h,o.mode,S),S.return=o,o=S),i(o)):e(o,s)}return function(o,s,h,S){try{Zu=0;var E=H(o,s,h,S);return Pe=null,E}catch(z){if(z===Ie||z===$a)throw z;var _=Yt(29,z,null,o.mode);return _.lanes=S,_.return=o,_}finally{}}}var be=Mo(!0),Do=Mo(!1),Vl=!1;function nc(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function ic(t,l){t=t.updateQueue,l.updateQueue===t&&(l.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function jl(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function Gl(t,l,e){var u=t.updateQueue;if(u===null)return null;if(u=u.shared,X&2){var a=u.pending;return a===null?l.next=l:(l.next=a.next,a.next=l),u.pending=l,l=Za(t),oo(t,null,e),l}return Qa(t,u,l,e),Za(t)}function Lu(t,l,e){if(l=l.updateQueue,l!==null&&(l=l.shared,(e&4194048)!==0)){var u=l.lanes;u&=t.pendingLanes,e|=u,l.lanes=e,gs(t,e)}}function cc(t,l){var e=t.updateQueue,u=t.alternate;if(u!==null&&(u=u.updateQueue,e===u)){var a=null,n=null;if(e=e.firstBaseUpdate,e!==null){do{var i={lane:e.lane,tag:e.tag,payload:e.payload,callback:null,next:null};n===null?a=n=i:n=n.next=i,e=e.next}while(e!==null);n===null?a=n=l:n=n.next=l}else a=n=l;e={baseState:u.baseState,firstBaseUpdate:a,lastBaseUpdate:n,shared:u.shared,callbacks:u.callbacks},t.updateQueue=e;return}t=e.lastBaseUpdate,t===null?e.firstBaseUpdate=l:t.next=l,e.lastBaseUpdate=l}var fc=!1;function Ku(){if(fc){var t=ke;if(t!==null)throw t}}function Ju(t,l,e,u){fc=!1;var a=t.updateQueue;Vl=!1;var n=a.firstBaseUpdate,i=a.lastBaseUpdate,c=a.shared.pending;if(c!==null){a.shared.pending=null;var f=c,d=f.next;f.next=null,i===null?n=d:i.next=d,i=f;var r=t.alternate;r!==null&&(r=r.updateQueue,c=r.lastBaseUpdate,c!==i&&(c===null?r.firstBaseUpdate=d:c.next=d,r.lastBaseUpdate=f))}if(n!==null){var m=a.baseState;i=0,r=d=f=null,c=n;do{var y=c.lane&-536870913,v=y!==c.lane;if(v?(q&y)===y:(u&y)===y){y!==0&&y===Fe&&(fc=!0),r!==null&&(r=r.next={lane:0,tag:c.tag,payload:c.payload,callback:null,next:null});t:{var b=t,p=c;y=l;var H=e;switch(p.tag){case 1:if(b=p.payload,typeof b=="function"){m=b.call(H,m,y);break t}m=b;break t;case 3:b.flags=b.flags&-65537|128;case 0:if(b=p.payload,y=typeof b=="function"?b.call(H,m,y):b,y==null)break t;m=F({},m,y);break t;case 2:Vl=!0}}y=c.callback,y!==null&&(t.flags|=64,v&&(t.flags|=8192),v=a.callbacks,v===null?a.callbacks=[y]:v.push(y))}else v={lane:y,tag:c.tag,payload:c.payload,callback:c.callback,next:null},r===null?(d=r=v,f=m):r=r.next=v,i|=y;if(c=c.next,c===null){if(c=a.shared.pending,c===null)break;v=c,c=v.next,v.next=null,a.lastBaseUpdate=v,a.shared.pending=null}}while(!0);r===null&&(f=m),a.baseState=f,a.firstBaseUpdate=d,a.lastBaseUpdate=r,n===null&&(a.shared.lanes=0),Ll|=i,t.lanes=i,t.memoizedState=m}}function Uo(t,l){if(typeof t!="function")throw Error(g(191,t));t.call(l)}function Ho(t,l){var e=t.callbacks;if(e!==null)for(t.callbacks=null,t=0;tn?n:8;var i=O.T,c={};O.T=c,Mc(t,!1,l,e);try{var f=a(),d=O.S;if(d!==null&&d(c,f),f!==null&&typeof f=="object"&&typeof f.then=="function"){var r=Tr(f,u);Wu(t,l,r,Xt(t))}else Wu(t,l,u,Xt(t))}catch(m){Wu(t,l,{then:function(){},status:"rejected",reason:m},Xt())}finally{G.p=n,i!==null&&c.types!==null&&(i.types=c.types),O.T=i}}function Dr(){}function Oc(t,l,e,u){if(t.tag!==5)throw Error(g(476));var a=fd(t).queue;cd(t,a,l,ae,e===null?Dr:function(){return sd(t),e(u)})}function fd(t){var l=t.memoizedState;if(l!==null)return l;l={memoizedState:ae,baseState:ae,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Sl,lastRenderedState:ae},next:null};var e={};return l.next={memoizedState:e,baseState:e,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Sl,lastRenderedState:e},next:null},t.memoizedState=l,t=t.alternate,t!==null&&(t.memoizedState=l),l}function sd(t){var l=fd(t);l.next===null&&(l=t.alternate.memoizedState),Wu(t,l.next.queue,{},Xt())}function _c(){return gt(ya)}function od(){return ut().memoizedState}function dd(){return ut().memoizedState}function Ur(t){for(var l=t.return;l!==null;){switch(l.tag){case 24:case 3:var e=Xt();t=jl(e);var u=Gl(l,t,e);u!==null&&(Ht(u,l,e),Lu(u,l,e)),l={cache:lc()},t.payload=l;return}l=l.return}}function Hr(t,l,e){var u=Xt();e={lane:u,revertLane:0,gesture:null,action:e,hasEagerState:!1,eagerState:null,next:null},fn(t)?hd(l,e):(e=Li(t,l,e,u),e!==null&&(Ht(e,t,u),rd(e,l,u)))}function yd(t,l,e){var u=Xt();Wu(t,l,e,u)}function Wu(t,l,e,u){var a={lane:u,revertLane:0,gesture:null,action:e,hasEagerState:!1,eagerState:null,next:null};if(fn(t))hd(l,a);else{var n=t.alternate;if(t.lanes===0&&(n===null||n.lanes===0)&&(n=l.lastRenderedReducer,n!==null))try{var i=l.lastRenderedState,c=n(i,e);if(a.hasEagerState=!0,a.eagerState=c,Bt(c,i))return Qa(t,l,a,0),J===null&&Xa(),!1}catch{}finally{}if(e=Li(t,l,a,u),e!==null)return Ht(e,t,u),rd(e,l,u),!0}return!1}function Mc(t,l,e,u){if(u={lane:2,revertLane:nf(),gesture:null,action:u,hasEagerState:!1,eagerState:null,next:null},fn(t)){if(l)throw Error(g(479))}else l=Li(t,e,u,2),l!==null&&Ht(l,t,2)}function fn(t){var l=t.alternate;return t===U||l!==null&&l===U}function hd(t,l){lu=tn=!0;var e=t.pending;e===null?l.next=l:(l.next=e.next,e.next=l),t.pending=l}function rd(t,l,e){if(e&4194048){var u=l.lanes;u&=t.pendingLanes,e|=u,l.lanes=e,gs(t,e)}}var Fu={readContext:gt,use:un,useCallback:tt,useContext:tt,useEffect:tt,useImperativeHandle:tt,useLayoutEffect:tt,useInsertionEffect:tt,useMemo:tt,useReducer:tt,useRef:tt,useState:tt,useDebugValue:tt,useDeferredValue:tt,useTransition:tt,useSyncExternalStore:tt,useId:tt,useHostTransitionStatus:tt,useFormState:tt,useActionState:tt,useOptimistic:tt,useMemoCache:tt,useCacheRefresh:tt};Fu.useEffectEvent=tt;var vd={readContext:gt,use:un,useCallback:function(t,l){return pt().memoizedState=[t,l===void 0?null:l],t},useContext:gt,useEffect:Io,useImperativeHandle:function(t,l,e){e=e!=null?e.concat([t]):null,nn(4194308,4,ed.bind(null,l,t),e)},useLayoutEffect:function(t,l){return nn(4194308,4,t,l)},useInsertionEffect:function(t,l){nn(4,2,t,l)},useMemo:function(t,l){var e=pt();l=l===void 0?null:l;var u=t();if(Ee){Hl(!0);try{t()}finally{Hl(!1)}}return e.memoizedState=[u,l],u},useReducer:function(t,l,e){var u=pt();if(e!==void 0){var a=e(l);if(Ee){Hl(!0);try{e(l)}finally{Hl(!1)}}}else a=l;return u.memoizedState=u.baseState=a,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:a},u.queue=t,t=t.dispatch=Hr.bind(null,U,t),[u.memoizedState,t]},useRef:function(t){var l=pt();return t={current:t},l.memoizedState=t},useState:function(t){t=Ec(t);var l=t.queue,e=yd.bind(null,U,l);return l.dispatch=e,[t.memoizedState,e]},useDebugValue:pc,useDeferredValue:function(t,l){var e=pt();return Ac(e,t,l)},useTransition:function(){var t=Ec(!1);return t=cd.bind(null,U,t.queue,!0,!1),pt().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,l,e){var u=U,a=pt();if(V){if(e===void 0)throw Error(g(407));e=e()}else{if(e=l(),J===null)throw Error(g(349));q&127||qo(u,l,e)}a.memoizedState=e;var n={value:e,getSnapshot:l};return a.queue=n,Io(jo.bind(null,u,n,t),[t]),u.flags|=2048,uu(9,{destroy:void 0},Vo.bind(null,u,n,e,l),null),e},useId:function(){var t=pt(),l=J.identifierPrefix;if(V){var e=nl,u=al;e=(u&~(1<<32-Ct(u)-1)).toString(32)+e,l="_"+l+"R_"+e,e=ln++,0<\/script>",n=n.removeChild(n.firstChild);break;case"select":n=typeof u.is=="string"?i.createElement("select",{is:u.is}):i.createElement("select"),u.multiple?n.multiple=!0:u.size&&(n.size=u.size);break;default:n=typeof u.is=="string"?i.createElement(a,{is:u.is}):i.createElement(a)}}n[mt]=l,n[At]=u;t:for(i=l.child;i!==null;){if(i.tag===5||i.tag===6)n.appendChild(i.stateNode);else if(i.tag!==4&&i.tag!==27&&i.child!==null){i.child.return=i,i=i.child;continue}if(i===l)break t;for(;i.sibling===null;){if(i.return===null||i.return===l)break t;i=i.return}i.sibling.return=i.return,i=i.sibling}l.stateNode=n;t:switch(Et(n,a,u),a){case"button":case"input":case"select":case"textarea":u=!!u.autoFocus;break t;case"img":u=!0;break t;default:u=!1}u&&bl(l)}}return I(l),Qc(l,l.type,t===null?null:t.memoizedProps,l.pendingProps,e),null;case 6:if(t&&l.stateNode!=null)t.memoizedProps!==u&&bl(l);else{if(typeof u!="string"&&l.stateNode===null)throw Error(g(166));if(t=Ul.current,$e(l)){if(t=l.stateNode,e=l.memoizedProps,u=null,a=St,a!==null)switch(a.tag){case 27:case 5:u=a.memoizedProps}t[mt]=l,t=!!(t.nodeValue===e||u!==null&&u.suppressHydrationWarning===!0||By(t.nodeValue,e)),t||Yl(l,!0)}else t=Dn(t).createTextNode(u),t[mt]=l,l.stateNode=t}return I(l),null;case 31:if(e=l.memoizedState,t===null||t.memoizedState!==null){if(u=$e(l),e!==null){if(t===null){if(!u)throw Error(g(318));if(t=l.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(g(557));t[mt]=l}else he(),!(l.flags&128)&&(l.memoizedState=null),l.flags|=4;I(l),t=!1}else e=ki(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=e),t=!0;if(!t)return l.flags&256?(Vt(l),l):(Vt(l),null);if(l.flags&128)throw Error(g(558))}return I(l),null;case 13:if(u=l.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(a=$e(l),u!==null&&u.dehydrated!==null){if(t===null){if(!a)throw Error(g(318));if(a=l.memoizedState,a=a!==null?a.dehydrated:null,!a)throw Error(g(317));a[mt]=l}else he(),!(l.flags&128)&&(l.memoizedState=null),l.flags|=4;I(l),a=!1}else a=ki(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=a),a=!0;if(!a)return l.flags&256?(Vt(l),l):(Vt(l),null)}return Vt(l),l.flags&128?(l.lanes=e,l):(e=u!==null,t=t!==null&&t.memoizedState!==null,e&&(u=l.child,a=null,u.alternate!==null&&u.alternate.memoizedState!==null&&u.alternate.memoizedState.cachePool!==null&&(a=u.alternate.memoizedState.cachePool.pool),n=null,u.memoizedState!==null&&u.memoizedState.cachePool!==null&&(n=u.memoizedState.cachePool.pool),n!==a&&(u.flags|=2048)),e!==t&&e&&(l.child.flags|=8192),hn(l,l.updateQueue),I(l),null);case 4:return Re(),t===null&&of(l.stateNode.containerInfo),I(l),null;case 10:return vl(l.type),I(l),null;case 19:if(yt(et),u=l.memoizedState,u===null)return I(l),null;if(a=(l.flags&128)!==0,n=u.rendering,n===null)if(a)Iu(u,!1);else{if(lt!==0||t!==null&&t.flags&128)for(t=l.child;t!==null;){if(n=Pa(t),n!==null){for(l.flags|=128,Iu(u,!1),t=n.updateQueue,l.updateQueue=t,hn(l,t),l.subtreeFlags=0,t=e,e=l.child;e!==null;)yo(e,t),e=e.sibling;return w(et,et.current&1|2),V&&hl(l,u.treeForkCount),l.child}t=t.sibling}u.tail!==null&&Rt()>gn&&(l.flags|=128,a=!0,Iu(u,!1),l.lanes=4194304)}else{if(!a)if(t=Pa(n),t!==null){if(l.flags|=128,a=!0,t=t.updateQueue,l.updateQueue=t,hn(l,t),Iu(u,!0),u.tail===null&&u.tailMode==="hidden"&&!n.alternate&&!V)return I(l),null}else 2*Rt()-u.renderingStartTime>gn&&e!==536870912&&(l.flags|=128,a=!0,Iu(u,!1),l.lanes=4194304);u.isBackwards?(n.sibling=l.child,l.child=n):(t=u.last,t!==null?t.sibling=n:l.child=n,u.last=n)}return u.tail!==null?(t=u.tail,u.rendering=t,u.tail=t.sibling,u.renderingStartTime=Rt(),t.sibling=null,e=et.current,w(et,a?e&1|2:e&1),V&&hl(l,u.treeForkCount),t):(I(l),null);case 22:case 23:return Vt(l),oc(),u=l.memoizedState!==null,t!==null?t.memoizedState!==null!==u&&(l.flags|=8192):u&&(l.flags|=8192),u?e&536870912&&!(l.flags&128)&&(I(l),l.subtreeFlags&6&&(l.flags|=8192)):I(l),e=l.updateQueue,e!==null&&hn(l,e.retryQueue),e=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),u=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(u=l.memoizedState.cachePool.pool),u!==e&&(l.flags|=2048),t!==null&&yt(me),null;case 24:return e=null,t!==null&&(e=t.memoizedState.cache),l.memoizedState.cache!==e&&(l.flags|=2048),vl(it),I(l),null;case 25:return null;case 30:return null}throw Error(g(156,l.tag))}function Yr(t,l){switch(Wi(l),l.tag){case 1:return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 3:return vl(it),Re(),t=l.flags,t&65536&&!(t&128)?(l.flags=t&-65537|128,l):null;case 26:case 27:case 5:return pa(l),null;case 31:if(l.memoizedState!==null){if(Vt(l),l.alternate===null)throw Error(g(340));he()}return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 13:if(Vt(l),t=l.memoizedState,t!==null&&t.dehydrated!==null){if(l.alternate===null)throw Error(g(340));he()}return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 19:return yt(et),null;case 4:return Re(),null;case 10:return vl(l.type),null;case 22:case 23:return Vt(l),oc(),t!==null&&yt(me),t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 24:return vl(it),null;case 25:return null;default:return null}}function Gd(t,l){switch(Wi(l),l.tag){case 3:vl(it),Re();break;case 26:case 27:case 5:pa(l);break;case 4:Re();break;case 31:l.memoizedState!==null&&Vt(l);break;case 13:Vt(l);break;case 19:yt(et);break;case 10:vl(l.type);break;case 22:case 23:Vt(l),oc(),t!==null&&yt(me);break;case 24:vl(it)}}function Pu(t,l){try{var e=l.updateQueue,u=e!==null?e.lastEffect:null;if(u!==null){var a=u.next;e=a;do{if((e.tag&t)===t){u=void 0;var n=e.create,i=e.inst;u=n(),i.destroy=u}e=e.next}while(e!==a)}}catch(c){Z(l,l.return,c)}}function Zl(t,l,e){try{var u=l.updateQueue,a=u!==null?u.lastEffect:null;if(a!==null){var n=a.next;u=n;do{if((u.tag&t)===t){var i=u.inst,c=i.destroy;if(c!==void 0){i.destroy=void 0,a=l;var f=e,d=c;try{d()}catch(r){Z(a,f,r)}}}u=u.next}while(u!==n)}}catch(r){Z(l,l.return,r)}}function Xd(t){var l=t.updateQueue;if(l!==null){var e=t.stateNode;try{Ho(l,e)}catch(u){Z(t,t.return,u)}}}function Qd(t,l,e){e.props=ze(t.type,t.memoizedProps),e.state=t.memoizedState;try{e.componentWillUnmount()}catch(u){Z(t,l,u)}}function ta(t,l){try{var e=t.ref;if(e!==null){switch(t.tag){case 26:case 27:case 5:var u=t.stateNode;break;case 30:u=t.stateNode;break;default:u=t.stateNode}typeof e=="function"?t.refCleanup=e(u):e.current=u}}catch(a){Z(t,l,a)}}function il(t,l){var e=t.ref,u=t.refCleanup;if(e!==null)if(typeof u=="function")try{u()}catch(a){Z(t,l,a)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof e=="function")try{e(null)}catch(a){Z(t,l,a)}else e.current=null}function Zd(t){var l=t.type,e=t.memoizedProps,u=t.stateNode;try{t:switch(l){case"button":case"input":case"select":case"textarea":e.autoFocus&&u.focus();break t;case"img":e.src?u.src=e.src:e.srcSet&&(u.srcset=e.srcSet)}}catch(a){Z(t,t.return,a)}}function Zc(t,l,e){try{var u=t.stateNode;uv(u,t.type,e,l),u[At]=l}catch(a){Z(t,t.return,a)}}function xd(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&Wl(t.type)||t.tag===4}function xc(t){t:for(;;){for(;t.sibling===null;){if(t.return===null||xd(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.tag===27&&Wl(t.type)||t.flags&2||t.child===null||t.tag===4)continue t;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function Lc(t,l,e){var u=t.tag;if(u===5||u===6)t=t.stateNode,l?(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e).insertBefore(t,l):(l=e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,l.appendChild(t),e=e._reactRootContainer,e!=null||l.onclick!==null||(l.onclick=ol));else if(u!==4&&(u===27&&Wl(t.type)&&(e=t.stateNode,l=null),t=t.child,t!==null))for(Lc(t,l,e),t=t.sibling;t!==null;)Lc(t,l,e),t=t.sibling}function rn(t,l,e){var u=t.tag;if(u===5||u===6)t=t.stateNode,l?e.insertBefore(t,l):e.appendChild(t);else if(u!==4&&(u===27&&Wl(t.type)&&(e=t.stateNode),t=t.child,t!==null))for(rn(t,l,e),t=t.sibling;t!==null;)rn(t,l,e),t=t.sibling}function Ld(t){var l=t.stateNode,e=t.memoizedProps;try{for(var u=t.type,a=l.attributes;a.length;)l.removeAttributeNode(a[0]);Et(l,u,e),l[mt]=t,l[At]=e}catch(n){Z(t,t.return,n)}}var El=!1,st=!1,Kc=!1,Kd=typeof WeakSet=="function"?WeakSet:Set,rt=null;function qr(t,l){if(t=t.containerInfo,hf=Yn,t=eo(t),ji(t)){if("selectionStart"in t)var e={start:t.selectionStart,end:t.selectionEnd};else t:{e=(e=t.ownerDocument)&&e.defaultView||window;var u=e.getSelection&&e.getSelection();if(u&&u.rangeCount!==0){e=u.anchorNode;var a=u.anchorOffset,n=u.focusNode;u=u.focusOffset;try{e.nodeType,n.nodeType}catch{e=null;break t}var i=0,c=-1,f=-1,d=0,r=0,m=t,y=null;l:for(;;){for(var v;m!==e||a!==0&&m.nodeType!==3||(c=i+a),m!==n||u!==0&&m.nodeType!==3||(f=i+u),m.nodeType===3&&(i+=m.nodeValue.length),(v=m.firstChild)!==null;)y=m,m=v;for(;;){if(m===t)break l;if(y===e&&++d===a&&(c=i),y===n&&++r===u&&(f=i),(v=m.nextSibling)!==null)break;m=y,y=m.parentNode}m=v}e=c===-1||f===-1?null:{start:c,end:f}}else e=null}e=e||{start:0,end:0}}else e=null;for(rf={focusedElem:t,selectionRange:e},Yn=!1,rt=l;rt!==null;)if(l=rt,t=l.child,(l.subtreeFlags&1028)!==0&&t!==null)t.return=l,rt=t;else for(;rt!==null;){switch(l=rt,n=l.alternate,t=l.flags,l.tag){case 0:if(t&4&&(t=l.updateQueue,t=t!==null?t.events:null,t!==null))for(e=0;e title"))),Et(n,u,e),n[mt]=t,ht(n),u=n;break t;case"link":var i=ky("link","href",a).get(u+(e.href||""));if(i){for(var c=0;cH&&(i=H,H=p,p=i);var o=to(c,p),s=to(c,H);if(o&&s&&(v.rangeCount!==1||v.anchorNode!==o.node||v.anchorOffset!==o.offset||v.focusNode!==s.node||v.focusOffset!==s.offset)){var h=m.createRange();h.setStart(o.node,o.offset),v.removeAllRanges(),p>H?(v.addRange(h),v.extend(s.node,s.offset)):(h.setEnd(s.node,s.offset),v.addRange(h))}}}}for(m=[],v=c;v=v.parentNode;)v.nodeType===1&&m.push({element:v,left:v.scrollLeft,top:v.scrollTop});for(typeof c.focus=="function"&&c.focus(),c=0;ce?32:e,O.T=null,e=Ic,Ic=null;var n=Jl,i=Ol;if(dt=0,fu=Jl=null,Ol=0,X&6)throw Error(g(331));var c=X;if(X|=4,ey(n.current),Pd(n,n.current,i,e),X=c,ia(0,!1),Nt&&typeof Nt.onPostCommitFiberRoot=="function")try{Nt.onPostCommitFiberRoot(Au,n)}catch{}return!0}finally{G.p=a,O.T=u,Ey(t,l)}}function Ty(t,l,e){l=Lt(e,l),l=Rc(t.stateNode,l,2),t=Gl(t,l,2),t!==null&&(_u(t,2),cl(t))}function Z(t,l,e){if(t.tag===3)Ty(t,t,e);else for(;l!==null;){if(l.tag===3){Ty(l,t,e);break}else if(l.tag===1){var u=l.stateNode;if(typeof l.type.getDerivedStateFromError=="function"||typeof u.componentDidCatch=="function"&&(Kl===null||!Kl.has(u))){t=Lt(e,t),e=pd(2),u=Gl(l,e,2),u!==null&&(Ad(e,u,l,t),_u(u,2),cl(u));break}}l=l.return}}function ef(t,l,e){var u=t.pingCache;if(u===null){u=t.pingCache=new Gr;var a=new Set;u.set(l,a)}else a=u.get(l),a===void 0&&(a=new Set,u.set(l,a));a.has(e)||($c=!0,a.add(e),t=Lr.bind(null,t,l,e),l.then(t,t))}function Lr(t,l,e){var u=t.pingCache;u!==null&&u.delete(l),t.pingedLanes|=t.suspendedLanes&e,t.warmLanes&=~e,J===t&&(q&e)===e&&(lt===4||lt===3&&(q&62914560)===q&&300>Rt()-Sn?!(X&2)&&su(t,0):Wc|=e,cu===q&&(cu=0)),cl(t)}function py(t,l){l===0&&(l=ms()),t=de(t,l),t!==null&&(_u(t,l),cl(t))}function Kr(t){var l=t.memoizedState,e=0;l!==null&&(e=l.retryLane),py(t,e)}function Jr(t,l){var e=0;switch(t.tag){case 31:case 13:var u=t.stateNode,a=t.memoizedState;a!==null&&(e=a.retryLane);break;case 19:u=t.stateNode;break;case 22:u=t.stateNode._retryCache;break;default:throw Error(g(314))}u!==null&&u.delete(l),py(t,e)}function wr(t,l){return vi(t,l)}var An=null,du=null,uf=!1,On=!1,af=!1,$l=0;function cl(t){t!==du&&t.next===null&&(du===null?An=du=t:du=du.next=t),On=!0,uf||(uf=!0,Wr())}function ia(t,l){if(!af&&On){af=!0;do for(var e=!1,u=An;u!==null;){if(t!==0){var a=u.pendingLanes;if(a===0)var n=0;else{var i=u.suspendedLanes,c=u.pingedLanes;n=(1<<31-Ct(42|t)+1)-1,n&=a&~(i&~c),n=n&201326741?n&201326741|1:n?n|2:0}n!==0&&(e=!0,My(u,n))}else n=q,n=Da(u,u===J?n:0,u.cancelPendingCommit!==null||u.timeoutHandle!==-1),!(n&3)||Ou(u,n)||(e=!0,My(u,n));u=u.next}while(e);af=!1}}function $r(){Ay()}function Ay(){On=uf=!1;var t=0;$l!==0&&nv()&&(t=$l);for(var l=Rt(),e=null,u=An;u!==null;){var a=u.next,n=Oy(u,l);n===0?(u.next=null,e===null?An=a:e.next=a,a===null&&(du=e)):(e=u,(t!==0||n&3)&&(On=!0)),u=a}dt!==0&&dt!==5||ia(t),$l!==0&&($l=0)}function Oy(t,l){for(var e=t.suspendedLanes,u=t.pingedLanes,a=t.expirationTimes,n=t.pendingLanes&-62914561;0c)break;var r=f.transferSize,m=f.initiatorType;r&&Yy(m)&&(f=f.responseEnd,i+=r*(f"u"?null:document;function wy(t,l,e){var u=yu;if(u&&typeof l=="string"&&l){var a=Zt(l);a='link[rel="'+t+'"][href="'+a+'"]',typeof e=="string"&&(a+='[crossorigin="'+e+'"]'),Jy.has(a)||(Jy.add(a),t={rel:t,crossOrigin:e,href:l},u.querySelector(a)===null&&(l=u.createElement("link"),Et(l,"link",t),ht(l),u.head.appendChild(l)))}}function rv(t){_l.D(t),wy("dns-prefetch",t,null)}function vv(t,l){_l.C(t,l),wy("preconnect",t,l)}function mv(t,l,e){_l.L(t,l,e);var u=yu;if(u&&t&&l){var a='link[rel="preload"][as="'+Zt(l)+'"]';l==="image"&&e&&e.imageSrcSet?(a+='[imagesrcset="'+Zt(e.imageSrcSet)+'"]',typeof e.imageSizes=="string"&&(a+='[imagesizes="'+Zt(e.imageSizes)+'"]')):a+='[href="'+Zt(t)+'"]';var n=a;switch(l){case"style":n=hu(t);break;case"script":n=ru(t)}Ft.has(n)||(t=F({rel:"preload",href:l==="image"&&e&&e.imageSrcSet?void 0:t,as:l},e),Ft.set(n,t),u.querySelector(a)!==null||l==="style"&&u.querySelector(oa(n))||l==="script"&&u.querySelector(da(n))||(l=u.createElement("link"),Et(l,"link",t),ht(l),u.head.appendChild(l)))}}function Sv(t,l){_l.m(t,l);var e=yu;if(e&&t){var u=l&&typeof l.as=="string"?l.as:"script",a='link[rel="modulepreload"][as="'+Zt(u)+'"][href="'+Zt(t)+'"]',n=a;switch(u){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":n=ru(t)}if(!Ft.has(n)&&(t=F({rel:"modulepreload",href:t},l),Ft.set(n,t),e.querySelector(a)===null)){switch(u){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(e.querySelector(da(n)))return}u=e.createElement("link"),Et(u,"link",t),ht(u),e.head.appendChild(u)}}}function gv(t,l,e){_l.S(t,l,e);var u=yu;if(u&&t){var a=Ye(u).hoistableStyles,n=hu(t);l=l||"default";var i=a.get(n);if(!i){var c={loading:0,preload:null};if(i=u.querySelector(oa(n)))c.loading=5;else{t=F({rel:"stylesheet",href:t,"data-precedence":l},e),(e=Ft.get(n))&&zf(t,e);var f=i=u.createElement("link");ht(f),Et(f,"link",t),f._p=new Promise(function(d,r){f.onload=d,f.onerror=r}),f.addEventListener("load",function(){c.loading|=1}),f.addEventListener("error",function(){c.loading|=2}),c.loading|=4,Hn(i,l,u)}i={type:"stylesheet",instance:i,count:1,state:c},a.set(n,i)}}}function bv(t,l){_l.X(t,l);var e=yu;if(e&&t){var u=Ye(e).hoistableScripts,a=ru(t),n=u.get(a);n||(n=e.querySelector(da(a)),n||(t=F({src:t,async:!0},l),(l=Ft.get(a))&&Tf(t,l),n=e.createElement("script"),ht(n),Et(n,"link",t),e.head.appendChild(n)),n={type:"script",instance:n,count:1,state:null},u.set(a,n))}}function Ev(t,l){_l.M(t,l);var e=yu;if(e&&t){var u=Ye(e).hoistableScripts,a=ru(t),n=u.get(a);n||(n=e.querySelector(da(a)),n||(t=F({src:t,async:!0,type:"module"},l),(l=Ft.get(a))&&Tf(t,l),n=e.createElement("script"),ht(n),Et(n,"link",t),e.head.appendChild(n)),n={type:"script",instance:n,count:1,state:null},u.set(a,n))}}function $y(t,l,e,u){var a=(a=Ul.current)?Un(a):null;if(!a)throw Error(g(446));switch(t){case"meta":case"title":return null;case"style":return typeof e.precedence=="string"&&typeof e.href=="string"?(l=hu(e.href),e=Ye(a).hoistableStyles,u=e.get(l),u||(u={type:"style",instance:null,count:0,state:null},e.set(l,u)),u):{type:"void",instance:null,count:0,state:null};case"link":if(e.rel==="stylesheet"&&typeof e.href=="string"&&typeof e.precedence=="string"){t=hu(e.href);var n=Ye(a).hoistableStyles,i=n.get(t);if(i||(a=a.ownerDocument||a,i={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},n.set(t,i),(n=a.querySelector(oa(t)))&&!n._p&&(i.instance=n,i.state.loading=5),Ft.has(t)||(e={rel:"preload",as:"style",href:e.href,crossOrigin:e.crossOrigin,integrity:e.integrity,media:e.media,hrefLang:e.hrefLang,referrerPolicy:e.referrerPolicy},Ft.set(t,e),n||zv(a,t,e,i.state))),l&&u===null)throw Error(g(528,""));return i}if(l&&u!==null)throw Error(g(529,""));return null;case"script":return l=e.async,e=e.src,typeof e=="string"&&l&&typeof l!="function"&&typeof l!="symbol"?(l=ru(e),e=Ye(a).hoistableScripts,u=e.get(l),u||(u={type:"script",instance:null,count:0,state:null},e.set(l,u)),u):{type:"void",instance:null,count:0,state:null};default:throw Error(g(444,t))}}function hu(t){return'href="'+Zt(t)+'"'}function oa(t){return'link[rel="stylesheet"]['+t+"]"}function Wy(t){return F({},t,{"data-precedence":t.precedence,precedence:null})}function zv(t,l,e,u){t.querySelector('link[rel="preload"][as="style"]['+l+"]")?u.loading=1:(l=t.createElement("link"),u.preload=l,l.addEventListener("load",function(){return u.loading|=1}),l.addEventListener("error",function(){return u.loading|=2}),Et(l,"link",e),ht(l),t.head.appendChild(l))}function ru(t){return'[src="'+Zt(t)+'"]'}function da(t){return"script[async]"+t}function Fy(t,l,e){if(l.count++,l.instance===null)switch(l.type){case"style":var u=t.querySelector('style[data-href~="'+Zt(e.href)+'"]');if(u)return l.instance=u,ht(u),u;var a=F({},e,{"data-href":e.href,"data-precedence":e.precedence,href:null,precedence:null});return u=(t.ownerDocument||t).createElement("style"),ht(u),Et(u,"style",a),Hn(u,e.precedence,t),l.instance=u;case"stylesheet":a=hu(e.href);var n=t.querySelector(oa(a));if(n)return l.state.loading|=4,l.instance=n,ht(n),n;u=Wy(e),(a=Ft.get(a))&&zf(u,a),n=(t.ownerDocument||t).createElement("link"),ht(n);var i=n;return i._p=new Promise(function(c,f){i.onload=c,i.onerror=f}),Et(n,"link",u),l.state.loading|=4,Hn(n,e.precedence,t),l.instance=n;case"script":return n=ru(e.src),(a=t.querySelector(da(n)))?(l.instance=a,ht(a),a):(u=e,(a=Ft.get(n))&&(u=F({},e),Tf(u,a)),t=t.ownerDocument||t,a=t.createElement("script"),ht(a),Et(a,"link",u),t.head.appendChild(a),l.instance=a);case"void":return null;default:throw Error(g(443,l.type))}else l.type==="stylesheet"&&!(l.state.loading&4)&&(u=l.instance,l.state.loading|=4,Hn(u,e.precedence,t));return l.instance}function Hn(t,l,e){for(var u=e.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),a=u.length?u[u.length-1]:null,n=a,i=0;i title"):null)}function Tv(t,l,e){if(e===1||l.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof l.precedence!="string"||typeof l.href!="string"||l.href==="")break;return!0;case"link":if(typeof l.rel!="string"||typeof l.href!="string"||l.href===""||l.onLoad||l.onError)break;switch(l.rel){case"stylesheet":return t=l.disabled,typeof l.precedence=="string"&&t==null;default:return!0}case"script":if(l.async&&typeof l.async!="function"&&typeof l.async!="symbol"&&!l.onLoad&&!l.onError&&l.src&&typeof l.src=="string")return!0}return!1}function Py(t){return!(t.type==="stylesheet"&&!(t.state.loading&3))}function pv(t,l,e,u){if(e.type==="stylesheet"&&(typeof u.media!="string"||matchMedia(u.media).matches!==!1)&&!(e.state.loading&4)){if(e.instance===null){var a=hu(u.href),n=l.querySelector(oa(a));if(n){l=n._p,l!==null&&typeof l=="object"&&typeof l.then=="function"&&(t.count++,t=Nn.bind(t),l.then(t,t)),e.state.loading|=4,e.instance=n,ht(n);return}n=l.ownerDocument||l,u=Wy(u),(a=Ft.get(a))&&zf(u,a),n=n.createElement("link"),ht(n);var i=n;i._p=new Promise(function(c,f){i.onload=c,i.onerror=f}),Et(n,"link",u),e.instance=n}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(e,l),(l=e.state.preload)&&!(e.state.loading&3)&&(t.count++,e=Nn.bind(t),l.addEventListener("load",e),l.addEventListener("error",e))}}var pf=0;function Av(t,l){return t.stylesheets&&t.count===0&&Bn(t,t.stylesheets),0pf?50:800)+l);return t.unsuspend=e,function(){t.unsuspend=null,clearTimeout(u),clearTimeout(a)}}:null}function Nn(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Bn(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var Cn=null;function Bn(t,l){t.stylesheets=null,t.unsuspend!==null&&(t.count++,Cn=new Map,l.forEach(Ov,t),Cn=null,Nn.call(t))}function Ov(t,l){if(!(l.state.loading&4)){var e=Cn.get(t);if(e)var u=e.get(null);else{e=new Map,Cn.set(t,e);for(var a=t.querySelectorAll("link[data-precedence],style[data-precedence]"),n=0;n"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(hh)}catch(t){console.error(t)}}hh(),Ff.exports=ga;var Hf=Ff.exports;const Cv=ee({__proto__:null,default:Vf(Hf)},[Hf]);var rh={exports:{}},Zn={};/** +`+u.stack}}var ri=Object.prototype.hasOwnProperty,vi=ot.unstable_scheduleCallback,mi=ot.unstable_cancelCallback,y0=ot.unstable_shouldYield,h0=ot.unstable_requestPaint,Rt=ot.unstable_now,r0=ot.unstable_getCurrentPriorityLevel,hs=ot.unstable_ImmediatePriority,rs=ot.unstable_UserBlockingPriority,Oa=ot.unstable_NormalPriority,v0=ot.unstable_LowPriority,vs=ot.unstable_IdlePriority,m0=ot.log,S0=ot.unstable_setDisableYieldValue,Ou=null,Nt=null;function Rl(t){if(typeof m0=="function"&&S0(t),Nt&&typeof Nt.setStrictMode=="function")try{Nt.setStrictMode(Ou,t)}catch{}}var Ct=Math.clz32?Math.clz32:E0,g0=Math.log,b0=Math.LN2;function E0(t){return t>>>=0,t===0?32:31-(g0(t)/b0|0)|0}var _a=256,Ma=262144,Da=4194304;function ce(t){var l=t&42;if(l!==0)return l;switch(t&-t){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:return t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function Ua(t,l,e){var u=t.pendingLanes;if(u===0)return 0;var a=0,n=t.suspendedLanes,i=t.pingedLanes;t=t.warmLanes;var c=u&134217727;return c!==0?(u=c&~n,u!==0?a=ce(u):(i&=c,i!==0?a=ce(i):e||(e=c&~t,e!==0&&(a=ce(e))))):(c=u&~n,c!==0?a=ce(c):i!==0?a=ce(i):e||(e=u&~t,e!==0&&(a=ce(e)))),a===0?0:l!==0&&l!==a&&!(l&n)&&(n=a&-a,e=l&-l,n>=e||n===32&&(e&4194048)!==0)?l:a}function _u(t,l){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&l)===0}function z0(t,l){switch(t){case 1:case 2:case 4:case 8:case 64:return l+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 l+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 ms(){var t=Da;return Da<<=1,!(Da&62914560)&&(Da=4194304),t}function Si(t){for(var l=[],e=0;31>e;e++)l.push(t);return l}function Mu(t,l){t.pendingLanes|=l,l!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function T0(t,l,e,u,a,n){var i=t.pendingLanes;t.pendingLanes=e,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=e,t.entangledLanes&=e,t.errorRecoveryDisabledLanes&=e,t.shellSuspendCounter=0;var c=t.entanglements,f=t.expirationTimes,d=t.hiddenUpdates;for(e=i&~e;0"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var D0=/[\n"\\]/g;function xt(t){return t.replace(D0,function(l){return"\\"+l.charCodeAt(0).toString(16)+" "})}function pi(t,l,e,u,a,n,i,c){t.name="",i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"?t.type=i:t.removeAttribute("type"),l!=null?i==="number"?(l===0&&t.value===""||t.value!=l)&&(t.value=""+Zt(l)):t.value!==""+Zt(l)&&(t.value=""+Zt(l)):i!=="submit"&&i!=="reset"||t.removeAttribute("value"),l!=null?Ai(t,i,Zt(l)):e!=null?Ai(t,i,Zt(e)):u!=null&&t.removeAttribute("value"),a==null&&n!=null&&(t.defaultChecked=!!n),a!=null&&(t.checked=a&&typeof a!="function"&&typeof a!="symbol"),c!=null&&typeof c!="function"&&typeof c!="symbol"&&typeof c!="boolean"?t.name=""+Zt(c):t.removeAttribute("name")}function Us(t,l,e,u,a,n,i,c){if(n!=null&&typeof n!="function"&&typeof n!="symbol"&&typeof n!="boolean"&&(t.type=n),l!=null||e!=null){if(!(n!=="submit"&&n!=="reset"||l!=null)){Ti(t);return}e=e!=null?""+Zt(e):"",l=l!=null?""+Zt(l):e,c||l===t.value||(t.value=l),t.defaultValue=l}u=u??a,u=typeof u!="function"&&typeof u!="symbol"&&!!u,t.checked=c?t.checked:!!u,t.defaultChecked=!!u,i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(t.name=i),Ti(t)}function Ai(t,l,e){l==="number"&&Na(t.ownerDocument)===t||t.defaultValue===""+e||(t.defaultValue=""+e)}function je(t,l,e,u){if(t=t.options,l){l={};for(var a=0;a"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ui=!1;if(dl)try{var Ru={};Object.defineProperty(Ru,"passive",{get:function(){Ui=!0}}),window.addEventListener("test",Ru,Ru),window.removeEventListener("test",Ru,Ru)}catch{Ui=!1}var Cl=null,Hi=null,Ba=null;function qs(){if(Ba)return Ba;var t,l=Hi,e=l.length,u,a="value"in Cl?Cl.value:Cl.textContent,n=a.length;for(t=0;t=Bu),Zs=" ",xs=!1;function Ls(t,l){switch(t){case"keyup":return er.indexOf(l.keyCode)!==-1;case"keydown":return l.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ks(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var Ze=!1;function ar(t,l){switch(t){case"compositionend":return Ks(l);case"keypress":return l.which!==32?null:(xs=!0,Zs);case"textInput":return t=l.data,t===Zs&&xs?null:t;default:return null}}function nr(t,l){if(Ze)return t==="compositionend"||!Yi&&Ls(t,l)?(t=qs(),Ba=Hi=Cl=null,Ze=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(l.ctrlKey||l.altKey||l.metaKey)||l.ctrlKey&&l.altKey){if(l.char&&1=l)return{node:e,offset:l-t};t=u}t:{for(;e;){if(e.nextSibling){e=e.nextSibling;break t}e=e.parentNode}e=void 0}e=Ps(e)}}function lo(t,l){return t&&l?t===l?!0:t&&t.nodeType===3?!1:l&&l.nodeType===3?lo(t,l.parentNode):"contains"in t?t.contains(l):t.compareDocumentPosition?!!(t.compareDocumentPosition(l)&16):!1:!1}function eo(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var l=Na(t.document);l instanceof t.HTMLIFrameElement;){try{var e=typeof l.contentWindow.location.href=="string"}catch{e=!1}if(e)t=l.contentWindow;else break;l=Na(t.document)}return l}function ji(t){var l=t&&t.nodeName&&t.nodeName.toLowerCase();return l&&(l==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||l==="textarea"||t.contentEditable==="true")}var hr=dl&&"documentMode"in document&&11>=document.documentMode,xe=null,Gi=null,ju=null,Xi=!1;function uo(t,l,e){var u=e.window===e?e.document:e.nodeType===9?e:e.ownerDocument;Xi||xe==null||xe!==Na(u)||(u=xe,"selectionStart"in u&&ji(u)?u={start:u.selectionStart,end:u.selectionEnd}:(u=(u.ownerDocument&&u.ownerDocument.defaultView||window).getSelection(),u={anchorNode:u.anchorNode,anchorOffset:u.anchorOffset,focusNode:u.focusNode,focusOffset:u.focusOffset}),ju&&Vu(ju,u)||(ju=u,u=Dn(Gi,"onSelect"),0>=i,a-=i,al=1<<32-Ct(l)+a|e<A?(M=z,z=null):M=z.sibling;var R=y(o,z,h[A],S);if(R===null){z===null&&(z=M);break}t&&z&&R.alternate===null&&l(o,z),s=n(R,s,A),_===null?E=R:_.sibling=R,_=R,z=M}if(A===h.length)return e(o,z),j&&hl(o,A),E;if(z===null){for(;AA?(M=z,z=null):M=z.sibling;var It=y(o,z,R.value,S);if(It===null){z===null&&(z=M);break}t&&z&&It.alternate===null&&l(o,z),s=n(It,s,A),_===null?E=It:_.sibling=It,_=It,z=M}if(R.done)return e(o,z),j&&hl(o,A),E;if(z===null){for(;!R.done;A++,R=h.next())R=m(o,R.value,S),R!==null&&(s=n(R,s,A),_===null?E=R:_.sibling=R,_=R);return j&&hl(o,A),E}for(z=u(z);!R.done;A++,R=h.next())R=v(z,o,A,R.value,S),R!==null&&(t&&R.alternate!==null&&z.delete(R.key===null?A:R.key),s=n(R,s,A),_===null?E=R:_.sibling=R,_=R);return t&&z.forEach(function(ee){return l(o,ee)}),j&&hl(o,A),E}function H(o,s,h,S){if(typeof h=="object"&&h!==null&&h.type===He&&h.key===null&&(h=h.props.children),typeof h=="object"&&h!==null){switch(h.$$typeof){case za:t:{for(var E=h.key;s!==null;){if(s.key===E){if(E=h.type,E===He){if(s.tag===7){e(o,s.sibling),S=a(s,h.props.children),S.return=o,o=S;break t}}else if(s.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===Ul&&ge(E)===s.type){e(o,s.sibling),S=a(s,h.props),Lu(S,h),S.return=o,o=S;break t}e(o,s);break}else l(o,s);s=s.sibling}h.type===He?(S=he(h.props.children,o.mode,S,h.key),S.return=o,o=S):(S=La(h.type,h.key,h.props,null,o.mode,S),Lu(S,h),S.return=o,o=S)}return i(o);case zu:t:{for(E=h.key;s!==null;){if(s.key===E)if(s.tag===4&&s.stateNode.containerInfo===h.containerInfo&&s.stateNode.implementation===h.implementation){e(o,s.sibling),S=a(s,h.children||[]),S.return=o,o=S;break t}else{e(o,s);break}else l(o,s);s=s.sibling}S=wi(h,o.mode,S),S.return=o,o=S}return i(o);case Ul:return h=ge(h),H(o,s,h,S)}if(pu(h))return b(o,s,h,S);if(Tu(h)){if(E=Tu(h),typeof E!="function")throw Error(g(150));return h=E.call(h),p(o,s,h,S)}if(typeof h.then=="function")return H(o,s,ka(h),S);if(h.$$typeof===fl)return H(o,s,wa(o,h),S);Ia(o,h)}return typeof h=="string"&&h!==""||typeof h=="number"||typeof h=="bigint"?(h=""+h,s!==null&&s.tag===6?(e(o,s.sibling),S=a(s,h),S.return=o,o=S):(e(o,s),S=Ji(h,o.mode,S),S.return=o,o=S),i(o)):e(o,s)}return function(o,s,h,S){try{xu=0;var E=H(o,s,h,S);return tu=null,E}catch(z){if(z===Pe||z===Wa)throw z;var _=Yt(29,z,null,o.mode);return _.lanes=S,_.return=o,_}finally{}}}var Ee=Mo(!0),Do=Mo(!1),jl=!1;function nc(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function ic(t,l){t=t.updateQueue,l.updateQueue===t&&(l.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function Gl(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function Xl(t,l,e){var u=t.updateQueue;if(u===null)return null;if(u=u.shared,X&2){var a=u.pending;return a===null?l.next=l:(l.next=a.next,a.next=l),u.pending=l,l=xa(t),oo(t,null,e),l}return Za(t,u,l,e),xa(t)}function Ku(t,l,e){if(l=l.updateQueue,l!==null&&(l=l.shared,(e&4194048)!==0)){var u=l.lanes;u&=t.pendingLanes,e|=u,l.lanes=e,gs(t,e)}}function cc(t,l){var e=t.updateQueue,u=t.alternate;if(u!==null&&(u=u.updateQueue,e===u)){var a=null,n=null;if(e=e.firstBaseUpdate,e!==null){do{var i={lane:e.lane,tag:e.tag,payload:e.payload,callback:null,next:null};n===null?a=n=i:n=n.next=i,e=e.next}while(e!==null);n===null?a=n=l:n=n.next=l}else a=n=l;e={baseState:u.baseState,firstBaseUpdate:a,lastBaseUpdate:n,shared:u.shared,callbacks:u.callbacks},t.updateQueue=e;return}t=e.lastBaseUpdate,t===null?e.firstBaseUpdate=l:t.next=l,e.lastBaseUpdate=l}var fc=!1;function Ju(){if(fc){var t=Ie;if(t!==null)throw t}}function wu(t,l,e,u){fc=!1;var a=t.updateQueue;jl=!1;var n=a.firstBaseUpdate,i=a.lastBaseUpdate,c=a.shared.pending;if(c!==null){a.shared.pending=null;var f=c,d=f.next;f.next=null,i===null?n=d:i.next=d,i=f;var r=t.alternate;r!==null&&(r=r.updateQueue,c=r.lastBaseUpdate,c!==i&&(c===null?r.firstBaseUpdate=d:c.next=d,r.lastBaseUpdate=f))}if(n!==null){var m=a.baseState;i=0,r=d=f=null,c=n;do{var y=c.lane&-536870913,v=y!==c.lane;if(v?(q&y)===y:(u&y)===y){y!==0&&y===ke&&(fc=!0),r!==null&&(r=r.next={lane:0,tag:c.tag,payload:c.payload,callback:null,next:null});t:{var b=t,p=c;y=l;var H=e;switch(p.tag){case 1:if(b=p.payload,typeof b=="function"){m=b.call(H,m,y);break t}m=b;break t;case 3:b.flags=b.flags&-65537|128;case 0:if(b=p.payload,y=typeof b=="function"?b.call(H,m,y):b,y==null)break t;m=F({},m,y);break t;case 2:jl=!0}}y=c.callback,y!==null&&(t.flags|=64,v&&(t.flags|=8192),v=a.callbacks,v===null?a.callbacks=[y]:v.push(y))}else v={lane:y,tag:c.tag,payload:c.payload,callback:c.callback,next:null},r===null?(d=r=v,f=m):r=r.next=v,i|=y;if(c=c.next,c===null){if(c=a.shared.pending,c===null)break;v=c,c=v.next,v.next=null,a.lastBaseUpdate=v,a.shared.pending=null}}while(!0);r===null&&(f=m),a.baseState=f,a.firstBaseUpdate=d,a.lastBaseUpdate=r,n===null&&(a.shared.lanes=0),Kl|=i,t.lanes=i,t.memoizedState=m}}function Uo(t,l){if(typeof t!="function")throw Error(g(191,t));t.call(l)}function Ho(t,l){var e=t.callbacks;if(e!==null)for(t.callbacks=null,t=0;tn?n:8;var i=O.T,c={};O.T=c,Mc(t,!1,l,e);try{var f=a(),d=O.S;if(d!==null&&d(c,f),f!==null&&typeof f=="object"&&typeof f.then=="function"){var r=Tr(f,u);Fu(t,l,r,Xt(t))}else Fu(t,l,u,Xt(t))}catch(m){Fu(t,l,{then:function(){},status:"rejected",reason:m},Xt())}finally{G.p=n,i!==null&&c.types!==null&&(i.types=c.types),O.T=i}}function Dr(){}function Oc(t,l,e,u){if(t.tag!==5)throw Error(g(476));var a=fd(t).queue;cd(t,a,l,ne,e===null?Dr:function(){return sd(t),e(u)})}function fd(t){var l=t.memoizedState;if(l!==null)return l;l={memoizedState:ne,baseState:ne,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Sl,lastRenderedState:ne},next:null};var e={};return l.next={memoizedState:e,baseState:e,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Sl,lastRenderedState:e},next:null},t.memoizedState=l,t=t.alternate,t!==null&&(t.memoizedState=l),l}function sd(t){var l=fd(t);l.next===null&&(l=t.alternate.memoizedState),Fu(t,l.next.queue,{},Xt())}function _c(){return gt(ha)}function od(){return ut().memoizedState}function dd(){return ut().memoizedState}function Ur(t){for(var l=t.return;l!==null;){switch(l.tag){case 24:case 3:var e=Xt();t=Gl(e);var u=Xl(l,t,e);u!==null&&(Ht(u,l,e),Ku(u,l,e)),l={cache:lc()},t.payload=l;return}l=l.return}}function Hr(t,l,e){var u=Xt();e={lane:u,revertLane:0,gesture:null,action:e,hasEagerState:!1,eagerState:null,next:null},sn(t)?hd(l,e):(e=Li(t,l,e,u),e!==null&&(Ht(e,t,u),rd(e,l,u)))}function yd(t,l,e){var u=Xt();Fu(t,l,e,u)}function Fu(t,l,e,u){var a={lane:u,revertLane:0,gesture:null,action:e,hasEagerState:!1,eagerState:null,next:null};if(sn(t))hd(l,a);else{var n=t.alternate;if(t.lanes===0&&(n===null||n.lanes===0)&&(n=l.lastRenderedReducer,n!==null))try{var i=l.lastRenderedState,c=n(i,e);if(a.hasEagerState=!0,a.eagerState=c,Bt(c,i))return Za(t,l,a,0),J===null&&Qa(),!1}catch{}finally{}if(e=Li(t,l,a,u),e!==null)return Ht(e,t,u),rd(e,l,u),!0}return!1}function Mc(t,l,e,u){if(u={lane:2,revertLane:nf(),gesture:null,action:u,hasEagerState:!1,eagerState:null,next:null},sn(t)){if(l)throw Error(g(479))}else l=Li(t,e,u,2),l!==null&&Ht(l,t,2)}function sn(t){var l=t.alternate;return t===U||l!==null&&l===U}function hd(t,l){eu=ln=!0;var e=t.pending;e===null?l.next=l:(l.next=e.next,e.next=l),t.pending=l}function rd(t,l,e){if(e&4194048){var u=l.lanes;u&=t.pendingLanes,e|=u,l.lanes=e,gs(t,e)}}var ku={readContext:gt,use:an,useCallback:tt,useContext:tt,useEffect:tt,useImperativeHandle:tt,useLayoutEffect:tt,useInsertionEffect:tt,useMemo:tt,useReducer:tt,useRef:tt,useState:tt,useDebugValue:tt,useDeferredValue:tt,useTransition:tt,useSyncExternalStore:tt,useId:tt,useHostTransitionStatus:tt,useFormState:tt,useActionState:tt,useOptimistic:tt,useMemoCache:tt,useCacheRefresh:tt};ku.useEffectEvent=tt;var vd={readContext:gt,use:an,useCallback:function(t,l){return pt().memoizedState=[t,l===void 0?null:l],t},useContext:gt,useEffect:Io,useImperativeHandle:function(t,l,e){e=e!=null?e.concat([t]):null,cn(4194308,4,ed.bind(null,l,t),e)},useLayoutEffect:function(t,l){return cn(4194308,4,t,l)},useInsertionEffect:function(t,l){cn(4,2,t,l)},useMemo:function(t,l){var e=pt();l=l===void 0?null:l;var u=t();if(ze){Rl(!0);try{t()}finally{Rl(!1)}}return e.memoizedState=[u,l],u},useReducer:function(t,l,e){var u=pt();if(e!==void 0){var a=e(l);if(ze){Rl(!0);try{e(l)}finally{Rl(!1)}}}else a=l;return u.memoizedState=u.baseState=a,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:a},u.queue=t,t=t.dispatch=Hr.bind(null,U,t),[u.memoizedState,t]},useRef:function(t){var l=pt();return t={current:t},l.memoizedState=t},useState:function(t){t=Ec(t);var l=t.queue,e=yd.bind(null,U,l);return l.dispatch=e,[t.memoizedState,e]},useDebugValue:pc,useDeferredValue:function(t,l){var e=pt();return Ac(e,t,l)},useTransition:function(){var t=Ec(!1);return t=cd.bind(null,U,t.queue,!0,!1),pt().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,l,e){var u=U,a=pt();if(j){if(e===void 0)throw Error(g(407));e=e()}else{if(e=l(),J===null)throw Error(g(349));q&127||qo(u,l,e)}a.memoizedState=e;var n={value:e,getSnapshot:l};return a.queue=n,Io(jo.bind(null,u,n,t),[t]),u.flags|=2048,au(9,{destroy:void 0},Vo.bind(null,u,n,e,l),null),e},useId:function(){var t=pt(),l=J.identifierPrefix;if(j){var e=nl,u=al;e=(u&~(1<<32-Ct(u)-1)).toString(32)+e,l="_"+l+"R_"+e,e=en++,0<\/script>",n=n.removeChild(n.firstChild);break;case"select":n=typeof u.is=="string"?i.createElement("select",{is:u.is}):i.createElement("select"),u.multiple?n.multiple=!0:u.size&&(n.size=u.size);break;default:n=typeof u.is=="string"?i.createElement(a,{is:u.is}):i.createElement(a)}}n[mt]=l,n[At]=u;t:for(i=l.child;i!==null;){if(i.tag===5||i.tag===6)n.appendChild(i.stateNode);else if(i.tag!==4&&i.tag!==27&&i.child!==null){i.child.return=i,i=i.child;continue}if(i===l)break t;for(;i.sibling===null;){if(i.return===null||i.return===l)break t;i=i.return}i.sibling.return=i.return,i=i.sibling}l.stateNode=n;t:switch(Et(n,a,u),a){case"button":case"input":case"select":case"textarea":u=!!u.autoFocus;break t;case"img":u=!0;break t;default:u=!1}u&&bl(l)}}return I(l),Qc(l,l.type,t===null?null:t.memoizedProps,l.pendingProps,e),null;case 6:if(t&&l.stateNode!=null)t.memoizedProps!==u&&bl(l);else{if(typeof u!="string"&&l.stateNode===null)throw Error(g(166));if(t=Hl.current,We(l)){if(t=l.stateNode,e=l.memoizedProps,u=null,a=St,a!==null)switch(a.tag){case 27:case 5:u=a.memoizedProps}t[mt]=l,t=!!(t.nodeValue===e||u!==null&&u.suppressHydrationWarning===!0||By(t.nodeValue,e)),t||ql(l,!0)}else t=Un(t).createTextNode(u),t[mt]=l,l.stateNode=t}return I(l),null;case 31:if(e=l.memoizedState,t===null||t.memoizedState!==null){if(u=We(l),e!==null){if(t===null){if(!u)throw Error(g(318));if(t=l.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(g(557));t[mt]=l}else re(),!(l.flags&128)&&(l.memoizedState=null),l.flags|=4;I(l),t=!1}else e=ki(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=e),t=!0;if(!t)return l.flags&256?(Vt(l),l):(Vt(l),null);if(l.flags&128)throw Error(g(558))}return I(l),null;case 13:if(u=l.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(a=We(l),u!==null&&u.dehydrated!==null){if(t===null){if(!a)throw Error(g(318));if(a=l.memoizedState,a=a!==null?a.dehydrated:null,!a)throw Error(g(317));a[mt]=l}else re(),!(l.flags&128)&&(l.memoizedState=null),l.flags|=4;I(l),a=!1}else a=ki(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=a),a=!0;if(!a)return l.flags&256?(Vt(l),l):(Vt(l),null)}return Vt(l),l.flags&128?(l.lanes=e,l):(e=u!==null,t=t!==null&&t.memoizedState!==null,e&&(u=l.child,a=null,u.alternate!==null&&u.alternate.memoizedState!==null&&u.alternate.memoizedState.cachePool!==null&&(a=u.alternate.memoizedState.cachePool.pool),n=null,u.memoizedState!==null&&u.memoizedState.cachePool!==null&&(n=u.memoizedState.cachePool.pool),n!==a&&(u.flags|=2048)),e!==t&&e&&(l.child.flags|=8192),rn(l,l.updateQueue),I(l),null);case 4:return Ne(),t===null&&of(l.stateNode.containerInfo),I(l),null;case 10:return vl(l.type),I(l),null;case 19:if(yt(et),u=l.memoizedState,u===null)return I(l),null;if(a=(l.flags&128)!==0,n=u.rendering,n===null)if(a)Pu(u,!1);else{if(lt!==0||t!==null&&t.flags&128)for(t=l.child;t!==null;){if(n=tn(t),n!==null){for(l.flags|=128,Pu(u,!1),t=n.updateQueue,l.updateQueue=t,rn(l,t),l.subtreeFlags=0,t=e,e=l.child;e!==null;)yo(e,t),e=e.sibling;return w(et,et.current&1|2),j&&hl(l,u.treeForkCount),l.child}t=t.sibling}u.tail!==null&&Rt()>bn&&(l.flags|=128,a=!0,Pu(u,!1),l.lanes=4194304)}else{if(!a)if(t=tn(n),t!==null){if(l.flags|=128,a=!0,t=t.updateQueue,l.updateQueue=t,rn(l,t),Pu(u,!0),u.tail===null&&u.tailMode==="hidden"&&!n.alternate&&!j)return I(l),null}else 2*Rt()-u.renderingStartTime>bn&&e!==536870912&&(l.flags|=128,a=!0,Pu(u,!1),l.lanes=4194304);u.isBackwards?(n.sibling=l.child,l.child=n):(t=u.last,t!==null?t.sibling=n:l.child=n,u.last=n)}return u.tail!==null?(t=u.tail,u.rendering=t,u.tail=t.sibling,u.renderingStartTime=Rt(),t.sibling=null,e=et.current,w(et,a?e&1|2:e&1),j&&hl(l,u.treeForkCount),t):(I(l),null);case 22:case 23:return Vt(l),oc(),u=l.memoizedState!==null,t!==null?t.memoizedState!==null!==u&&(l.flags|=8192):u&&(l.flags|=8192),u?e&536870912&&!(l.flags&128)&&(I(l),l.subtreeFlags&6&&(l.flags|=8192)):I(l),e=l.updateQueue,e!==null&&rn(l,e.retryQueue),e=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),u=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(u=l.memoizedState.cachePool.pool),u!==e&&(l.flags|=2048),t!==null&&yt(Se),null;case 24:return e=null,t!==null&&(e=t.memoizedState.cache),l.memoizedState.cache!==e&&(l.flags|=2048),vl(it),I(l),null;case 25:return null;case 30:return null}throw Error(g(156,l.tag))}function Yr(t,l){switch(Wi(l),l.tag){case 1:return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 3:return vl(it),Ne(),t=l.flags,t&65536&&!(t&128)?(l.flags=t&-65537|128,l):null;case 26:case 27:case 5:return Aa(l),null;case 31:if(l.memoizedState!==null){if(Vt(l),l.alternate===null)throw Error(g(340));re()}return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 13:if(Vt(l),t=l.memoizedState,t!==null&&t.dehydrated!==null){if(l.alternate===null)throw Error(g(340));re()}return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 19:return yt(et),null;case 4:return Ne(),null;case 10:return vl(l.type),null;case 22:case 23:return Vt(l),oc(),t!==null&&yt(Se),t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 24:return vl(it),null;case 25:return null;default:return null}}function Gd(t,l){switch(Wi(l),l.tag){case 3:vl(it),Ne();break;case 26:case 27:case 5:Aa(l);break;case 4:Ne();break;case 31:l.memoizedState!==null&&Vt(l);break;case 13:Vt(l);break;case 19:yt(et);break;case 10:vl(l.type);break;case 22:case 23:Vt(l),oc(),t!==null&&yt(Se);break;case 24:vl(it)}}function ta(t,l){try{var e=l.updateQueue,u=e!==null?e.lastEffect:null;if(u!==null){var a=u.next;e=a;do{if((e.tag&t)===t){u=void 0;var n=e.create,i=e.inst;u=n(),i.destroy=u}e=e.next}while(e!==a)}}catch(c){Z(l,l.return,c)}}function xl(t,l,e){try{var u=l.updateQueue,a=u!==null?u.lastEffect:null;if(a!==null){var n=a.next;u=n;do{if((u.tag&t)===t){var i=u.inst,c=i.destroy;if(c!==void 0){i.destroy=void 0,a=l;var f=e,d=c;try{d()}catch(r){Z(a,f,r)}}}u=u.next}while(u!==n)}}catch(r){Z(l,l.return,r)}}function Xd(t){var l=t.updateQueue;if(l!==null){var e=t.stateNode;try{Ho(l,e)}catch(u){Z(t,t.return,u)}}}function Qd(t,l,e){e.props=Te(t.type,t.memoizedProps),e.state=t.memoizedState;try{e.componentWillUnmount()}catch(u){Z(t,l,u)}}function la(t,l){try{var e=t.ref;if(e!==null){switch(t.tag){case 26:case 27:case 5:var u=t.stateNode;break;case 30:u=t.stateNode;break;default:u=t.stateNode}typeof e=="function"?t.refCleanup=e(u):e.current=u}}catch(a){Z(t,l,a)}}function il(t,l){var e=t.ref,u=t.refCleanup;if(e!==null)if(typeof u=="function")try{u()}catch(a){Z(t,l,a)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof e=="function")try{e(null)}catch(a){Z(t,l,a)}else e.current=null}function Zd(t){var l=t.type,e=t.memoizedProps,u=t.stateNode;try{t:switch(l){case"button":case"input":case"select":case"textarea":e.autoFocus&&u.focus();break t;case"img":e.src?u.src=e.src:e.srcSet&&(u.srcset=e.srcSet)}}catch(a){Z(t,t.return,a)}}function Zc(t,l,e){try{var u=t.stateNode;uv(u,t.type,e,l),u[At]=l}catch(a){Z(t,t.return,a)}}function xd(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&Fl(t.type)||t.tag===4}function xc(t){t:for(;;){for(;t.sibling===null;){if(t.return===null||xd(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.tag===27&&Fl(t.type)||t.flags&2||t.child===null||t.tag===4)continue t;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function Lc(t,l,e){var u=t.tag;if(u===5||u===6)t=t.stateNode,l?(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e).insertBefore(t,l):(l=e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,l.appendChild(t),e=e._reactRootContainer,e!=null||l.onclick!==null||(l.onclick=ol));else if(u!==4&&(u===27&&Fl(t.type)&&(e=t.stateNode,l=null),t=t.child,t!==null))for(Lc(t,l,e),t=t.sibling;t!==null;)Lc(t,l,e),t=t.sibling}function vn(t,l,e){var u=t.tag;if(u===5||u===6)t=t.stateNode,l?e.insertBefore(t,l):e.appendChild(t);else if(u!==4&&(u===27&&Fl(t.type)&&(e=t.stateNode),t=t.child,t!==null))for(vn(t,l,e),t=t.sibling;t!==null;)vn(t,l,e),t=t.sibling}function Ld(t){var l=t.stateNode,e=t.memoizedProps;try{for(var u=t.type,a=l.attributes;a.length;)l.removeAttributeNode(a[0]);Et(l,u,e),l[mt]=t,l[At]=e}catch(n){Z(t,t.return,n)}}var El=!1,st=!1,Kc=!1,Kd=typeof WeakSet=="function"?WeakSet:Set,rt=null;function qr(t,l){if(t=t.containerInfo,hf=qn,t=eo(t),ji(t)){if("selectionStart"in t)var e={start:t.selectionStart,end:t.selectionEnd};else t:{e=(e=t.ownerDocument)&&e.defaultView||window;var u=e.getSelection&&e.getSelection();if(u&&u.rangeCount!==0){e=u.anchorNode;var a=u.anchorOffset,n=u.focusNode;u=u.focusOffset;try{e.nodeType,n.nodeType}catch{e=null;break t}var i=0,c=-1,f=-1,d=0,r=0,m=t,y=null;l:for(;;){for(var v;m!==e||a!==0&&m.nodeType!==3||(c=i+a),m!==n||u!==0&&m.nodeType!==3||(f=i+u),m.nodeType===3&&(i+=m.nodeValue.length),(v=m.firstChild)!==null;)y=m,m=v;for(;;){if(m===t)break l;if(y===e&&++d===a&&(c=i),y===n&&++r===u&&(f=i),(v=m.nextSibling)!==null)break;m=y,y=m.parentNode}m=v}e=c===-1||f===-1?null:{start:c,end:f}}else e=null}e=e||{start:0,end:0}}else e=null;for(rf={focusedElem:t,selectionRange:e},qn=!1,rt=l;rt!==null;)if(l=rt,t=l.child,(l.subtreeFlags&1028)!==0&&t!==null)t.return=l,rt=t;else for(;rt!==null;){switch(l=rt,n=l.alternate,t=l.flags,l.tag){case 0:if(t&4&&(t=l.updateQueue,t=t!==null?t.events:null,t!==null))for(e=0;e title"))),Et(n,u,e),n[mt]=t,ht(n),u=n;break t;case"link":var i=ky("link","href",a).get(u+(e.href||""));if(i){for(var c=0;cH&&(i=H,H=p,p=i);var o=to(c,p),s=to(c,H);if(o&&s&&(v.rangeCount!==1||v.anchorNode!==o.node||v.anchorOffset!==o.offset||v.focusNode!==s.node||v.focusOffset!==s.offset)){var h=m.createRange();h.setStart(o.node,o.offset),v.removeAllRanges(),p>H?(v.addRange(h),v.extend(s.node,s.offset)):(h.setEnd(s.node,s.offset),v.addRange(h))}}}}for(m=[],v=c;v=v.parentNode;)v.nodeType===1&&m.push({element:v,left:v.scrollLeft,top:v.scrollTop});for(typeof c.focus=="function"&&c.focus(),c=0;ce?32:e,O.T=null,e=Ic,Ic=null;var n=wl,i=Ol;if(dt=0,su=wl=null,Ol=0,X&6)throw Error(g(331));var c=X;if(X|=4,ey(n.current),Pd(n,n.current,i,e),X=c,ca(0,!1),Nt&&typeof Nt.onPostCommitFiberRoot=="function")try{Nt.onPostCommitFiberRoot(Ou,n)}catch{}return!0}finally{G.p=a,O.T=u,Ey(t,l)}}function Ty(t,l,e){l=Kt(e,l),l=Rc(t.stateNode,l,2),t=Xl(t,l,2),t!==null&&(Mu(t,2),cl(t))}function Z(t,l,e){if(t.tag===3)Ty(t,t,e);else for(;l!==null;){if(l.tag===3){Ty(l,t,e);break}else if(l.tag===1){var u=l.stateNode;if(typeof l.type.getDerivedStateFromError=="function"||typeof u.componentDidCatch=="function"&&(Jl===null||!Jl.has(u))){t=Kt(e,t),e=pd(2),u=Xl(l,e,2),u!==null&&(Ad(e,u,l,t),Mu(u,2),cl(u));break}}l=l.return}}function ef(t,l,e){var u=t.pingCache;if(u===null){u=t.pingCache=new Gr;var a=new Set;u.set(l,a)}else a=u.get(l),a===void 0&&(a=new Set,u.set(l,a));a.has(e)||($c=!0,a.add(e),t=Lr.bind(null,t,l,e),l.then(t,t))}function Lr(t,l,e){var u=t.pingCache;u!==null&&u.delete(l),t.pingedLanes|=t.suspendedLanes&e,t.warmLanes&=~e,J===t&&(q&e)===e&&(lt===4||lt===3&&(q&62914560)===q&&300>Rt()-gn?!(X&2)&&ou(t,0):Wc|=e,fu===q&&(fu=0)),cl(t)}function py(t,l){l===0&&(l=ms()),t=ye(t,l),t!==null&&(Mu(t,l),cl(t))}function Kr(t){var l=t.memoizedState,e=0;l!==null&&(e=l.retryLane),py(t,e)}function Jr(t,l){var e=0;switch(t.tag){case 31:case 13:var u=t.stateNode,a=t.memoizedState;a!==null&&(e=a.retryLane);break;case 19:u=t.stateNode;break;case 22:u=t.stateNode._retryCache;break;default:throw Error(g(314))}u!==null&&u.delete(l),py(t,e)}function wr(t,l){return vi(t,l)}var On=null,yu=null,uf=!1,_n=!1,af=!1,Wl=0;function cl(t){t!==yu&&t.next===null&&(yu===null?On=yu=t:yu=yu.next=t),_n=!0,uf||(uf=!0,Wr())}function ca(t,l){if(!af&&_n){af=!0;do for(var e=!1,u=On;u!==null;){if(t!==0){var a=u.pendingLanes;if(a===0)var n=0;else{var i=u.suspendedLanes,c=u.pingedLanes;n=(1<<31-Ct(42|t)+1)-1,n&=a&~(i&~c),n=n&201326741?n&201326741|1:n?n|2:0}n!==0&&(e=!0,My(u,n))}else n=q,n=Ua(u,u===J?n:0,u.cancelPendingCommit!==null||u.timeoutHandle!==-1),!(n&3)||_u(u,n)||(e=!0,My(u,n));u=u.next}while(e);af=!1}}function $r(){Ay()}function Ay(){_n=uf=!1;var t=0;Wl!==0&&nv()&&(t=Wl);for(var l=Rt(),e=null,u=On;u!==null;){var a=u.next,n=Oy(u,l);n===0?(u.next=null,e===null?On=a:e.next=a,a===null&&(yu=e)):(e=u,(t!==0||n&3)&&(_n=!0)),u=a}dt!==0&&dt!==5||ca(t),Wl!==0&&(Wl=0)}function Oy(t,l){for(var e=t.suspendedLanes,u=t.pingedLanes,a=t.expirationTimes,n=t.pendingLanes&-62914561;0c)break;var r=f.transferSize,m=f.initiatorType;r&&Yy(m)&&(f=f.responseEnd,i+=r*(f"u"?null:document;function wy(t,l,e){var u=hu;if(u&&typeof l=="string"&&l){var a=xt(l);a='link[rel="'+t+'"][href="'+a+'"]',typeof e=="string"&&(a+='[crossorigin="'+e+'"]'),Jy.has(a)||(Jy.add(a),t={rel:t,crossOrigin:e,href:l},u.querySelector(a)===null&&(l=u.createElement("link"),Et(l,"link",t),ht(l),u.head.appendChild(l)))}}function rv(t){_l.D(t),wy("dns-prefetch",t,null)}function vv(t,l){_l.C(t,l),wy("preconnect",t,l)}function mv(t,l,e){_l.L(t,l,e);var u=hu;if(u&&t&&l){var a='link[rel="preload"][as="'+xt(l)+'"]';l==="image"&&e&&e.imageSrcSet?(a+='[imagesrcset="'+xt(e.imageSrcSet)+'"]',typeof e.imageSizes=="string"&&(a+='[imagesizes="'+xt(e.imageSizes)+'"]')):a+='[href="'+xt(t)+'"]';var n=a;switch(l){case"style":n=ru(t);break;case"script":n=vu(t)}kt.has(n)||(t=F({rel:"preload",href:l==="image"&&e&&e.imageSrcSet?void 0:t,as:l},e),kt.set(n,t),u.querySelector(a)!==null||l==="style"&&u.querySelector(da(n))||l==="script"&&u.querySelector(ya(n))||(l=u.createElement("link"),Et(l,"link",t),ht(l),u.head.appendChild(l)))}}function Sv(t,l){_l.m(t,l);var e=hu;if(e&&t){var u=l&&typeof l.as=="string"?l.as:"script",a='link[rel="modulepreload"][as="'+xt(u)+'"][href="'+xt(t)+'"]',n=a;switch(u){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":n=vu(t)}if(!kt.has(n)&&(t=F({rel:"modulepreload",href:t},l),kt.set(n,t),e.querySelector(a)===null)){switch(u){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(e.querySelector(ya(n)))return}u=e.createElement("link"),Et(u,"link",t),ht(u),e.head.appendChild(u)}}}function gv(t,l,e){_l.S(t,l,e);var u=hu;if(u&&t){var a=qe(u).hoistableStyles,n=ru(t);l=l||"default";var i=a.get(n);if(!i){var c={loading:0,preload:null};if(i=u.querySelector(da(n)))c.loading=5;else{t=F({rel:"stylesheet",href:t,"data-precedence":l},e),(e=kt.get(n))&&zf(t,e);var f=i=u.createElement("link");ht(f),Et(f,"link",t),f._p=new Promise(function(d,r){f.onload=d,f.onerror=r}),f.addEventListener("load",function(){c.loading|=1}),f.addEventListener("error",function(){c.loading|=2}),c.loading|=4,Rn(i,l,u)}i={type:"stylesheet",instance:i,count:1,state:c},a.set(n,i)}}}function bv(t,l){_l.X(t,l);var e=hu;if(e&&t){var u=qe(e).hoistableScripts,a=vu(t),n=u.get(a);n||(n=e.querySelector(ya(a)),n||(t=F({src:t,async:!0},l),(l=kt.get(a))&&Tf(t,l),n=e.createElement("script"),ht(n),Et(n,"link",t),e.head.appendChild(n)),n={type:"script",instance:n,count:1,state:null},u.set(a,n))}}function Ev(t,l){_l.M(t,l);var e=hu;if(e&&t){var u=qe(e).hoistableScripts,a=vu(t),n=u.get(a);n||(n=e.querySelector(ya(a)),n||(t=F({src:t,async:!0,type:"module"},l),(l=kt.get(a))&&Tf(t,l),n=e.createElement("script"),ht(n),Et(n,"link",t),e.head.appendChild(n)),n={type:"script",instance:n,count:1,state:null},u.set(a,n))}}function $y(t,l,e,u){var a=(a=Hl.current)?Hn(a):null;if(!a)throw Error(g(446));switch(t){case"meta":case"title":return null;case"style":return typeof e.precedence=="string"&&typeof e.href=="string"?(l=ru(e.href),e=qe(a).hoistableStyles,u=e.get(l),u||(u={type:"style",instance:null,count:0,state:null},e.set(l,u)),u):{type:"void",instance:null,count:0,state:null};case"link":if(e.rel==="stylesheet"&&typeof e.href=="string"&&typeof e.precedence=="string"){t=ru(e.href);var n=qe(a).hoistableStyles,i=n.get(t);if(i||(a=a.ownerDocument||a,i={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},n.set(t,i),(n=a.querySelector(da(t)))&&!n._p&&(i.instance=n,i.state.loading=5),kt.has(t)||(e={rel:"preload",as:"style",href:e.href,crossOrigin:e.crossOrigin,integrity:e.integrity,media:e.media,hrefLang:e.hrefLang,referrerPolicy:e.referrerPolicy},kt.set(t,e),n||zv(a,t,e,i.state))),l&&u===null)throw Error(g(528,""));return i}if(l&&u!==null)throw Error(g(529,""));return null;case"script":return l=e.async,e=e.src,typeof e=="string"&&l&&typeof l!="function"&&typeof l!="symbol"?(l=vu(e),e=qe(a).hoistableScripts,u=e.get(l),u||(u={type:"script",instance:null,count:0,state:null},e.set(l,u)),u):{type:"void",instance:null,count:0,state:null};default:throw Error(g(444,t))}}function ru(t){return'href="'+xt(t)+'"'}function da(t){return'link[rel="stylesheet"]['+t+"]"}function Wy(t){return F({},t,{"data-precedence":t.precedence,precedence:null})}function zv(t,l,e,u){t.querySelector('link[rel="preload"][as="style"]['+l+"]")?u.loading=1:(l=t.createElement("link"),u.preload=l,l.addEventListener("load",function(){return u.loading|=1}),l.addEventListener("error",function(){return u.loading|=2}),Et(l,"link",e),ht(l),t.head.appendChild(l))}function vu(t){return'[src="'+xt(t)+'"]'}function ya(t){return"script[async]"+t}function Fy(t,l,e){if(l.count++,l.instance===null)switch(l.type){case"style":var u=t.querySelector('style[data-href~="'+xt(e.href)+'"]');if(u)return l.instance=u,ht(u),u;var a=F({},e,{"data-href":e.href,"data-precedence":e.precedence,href:null,precedence:null});return u=(t.ownerDocument||t).createElement("style"),ht(u),Et(u,"style",a),Rn(u,e.precedence,t),l.instance=u;case"stylesheet":a=ru(e.href);var n=t.querySelector(da(a));if(n)return l.state.loading|=4,l.instance=n,ht(n),n;u=Wy(e),(a=kt.get(a))&&zf(u,a),n=(t.ownerDocument||t).createElement("link"),ht(n);var i=n;return i._p=new Promise(function(c,f){i.onload=c,i.onerror=f}),Et(n,"link",u),l.state.loading|=4,Rn(n,e.precedence,t),l.instance=n;case"script":return n=vu(e.src),(a=t.querySelector(ya(n)))?(l.instance=a,ht(a),a):(u=e,(a=kt.get(n))&&(u=F({},e),Tf(u,a)),t=t.ownerDocument||t,a=t.createElement("script"),ht(a),Et(a,"link",u),t.head.appendChild(a),l.instance=a);case"void":return null;default:throw Error(g(443,l.type))}else l.type==="stylesheet"&&!(l.state.loading&4)&&(u=l.instance,l.state.loading|=4,Rn(u,e.precedence,t));return l.instance}function Rn(t,l,e){for(var u=e.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),a=u.length?u[u.length-1]:null,n=a,i=0;i title"):null)}function Tv(t,l,e){if(e===1||l.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof l.precedence!="string"||typeof l.href!="string"||l.href==="")break;return!0;case"link":if(typeof l.rel!="string"||typeof l.href!="string"||l.href===""||l.onLoad||l.onError)break;switch(l.rel){case"stylesheet":return t=l.disabled,typeof l.precedence=="string"&&t==null;default:return!0}case"script":if(l.async&&typeof l.async!="function"&&typeof l.async!="symbol"&&!l.onLoad&&!l.onError&&l.src&&typeof l.src=="string")return!0}return!1}function Py(t){return!(t.type==="stylesheet"&&!(t.state.loading&3))}function pv(t,l,e,u){if(e.type==="stylesheet"&&(typeof u.media!="string"||matchMedia(u.media).matches!==!1)&&!(e.state.loading&4)){if(e.instance===null){var a=ru(u.href),n=l.querySelector(da(a));if(n){l=n._p,l!==null&&typeof l=="object"&&typeof l.then=="function"&&(t.count++,t=Cn.bind(t),l.then(t,t)),e.state.loading|=4,e.instance=n,ht(n);return}n=l.ownerDocument||l,u=Wy(u),(a=kt.get(a))&&zf(u,a),n=n.createElement("link"),ht(n);var i=n;i._p=new Promise(function(c,f){i.onload=c,i.onerror=f}),Et(n,"link",u),e.instance=n}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(e,l),(l=e.state.preload)&&!(e.state.loading&3)&&(t.count++,e=Cn.bind(t),l.addEventListener("load",e),l.addEventListener("error",e))}}var pf=0;function Av(t,l){return t.stylesheets&&t.count===0&&Yn(t,t.stylesheets),0pf?50:800)+l);return t.unsuspend=e,function(){t.unsuspend=null,clearTimeout(u),clearTimeout(a)}}:null}function Cn(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Yn(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var Bn=null;function Yn(t,l){t.stylesheets=null,t.unsuspend!==null&&(t.count++,Bn=new Map,l.forEach(Ov,t),Bn=null,Cn.call(t))}function Ov(t,l){if(!(l.state.loading&4)){var e=Bn.get(t);if(e)var u=e.get(null);else{e=new Map,Bn.set(t,e);for(var a=t.querySelectorAll("link[data-precedence],style[data-precedence]"),n=0;n"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(hh)}catch(t){console.error(t)}}hh(),Ff.exports=ba;var Hf=Ff.exports;const Cv=ue({__proto__:null,default:Vf(Hf)},[Hf]);var rh={exports:{}},xn={};/** * @license React * react-jsx-runtime.production.js * @@ -46,4 +46,4 @@ Error generating stack: `+u.message+` * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Bv=Symbol.for("react.transitional.element"),Yv=Symbol.for("react.fragment");function vh(t,l,e){var u=null;if(e!==void 0&&(u=""+e),l.key!==void 0&&(u=""+l.key),"key"in l){e={};for(var a in l)a!=="key"&&(e[a]=l[a])}else e=l;return l=e.ref,{$$typeof:Bv,type:t,key:u,ref:l!==void 0?l:null,props:e}}Zn.Fragment=Yv,Zn.jsx=vh,Zn.jsxs=vh,rh.exports=Zn;var Ae=rh.exports;const mh=j.createContext(null);function Sh({namespace:t,children:l}){return Ae.jsx(mh.Provider,{value:t,children:l})}function qv(){return j.useContext(mh)}function Vv(t,l){return l?`${l}-${t}`:t}function te(t,l){const e=qv();return Vv(t,l!==void 0?l:e)}function jv({id:t,tagName:l="div",namespace:e,...u}){const a=te(t,e),n=j.useRef(null);return j.useEffect(()=>{var d;const i=n.current,c=i==null?void 0:i.parentElement;if(!i||!c||!((d=window.Shiny)!=null&&d.bindAll))return;const f=(r,m)=>{console.error(`[shinyreact] ShinyOutput "${a}" ${m} failed:`,{id:a,phase:m,error:r})};try{const r=window.Shiny.bindAll(c);r&&typeof r.catch=="function"&&r.catch(m=>f(m,"bindAll"))}catch(r){f(r,"bindAll")}return()=>{var r,m;try{(m=(r=window.Shiny)==null?void 0:r.unbindAll)==null||m.call(r,i,!0)}catch(y){f(y,"unbindAll")}}},[a,l]),Wf.createElement(l,{id:a,ref:n,...u})}const mu=Symbol("MISSING"),gh="1.0";function Gv(){if(typeof document>"u")return null;const t=document.getElementById("shinyreact-config"),l=t==null?void 0:t.textContent;if(!l)return null;try{return JSON.parse(l)}catch(e){return console.error("shinyreact: could not parse #shinyreact-config JSON",e),null}}function Xv(t){if(typeof document<"u"&&document.body){const l="shinyreact-fatal-error";let e=document.getElementById(l);e||(e=document.createElement("div"),e.id=l,e.setAttribute("role","alert"),e.style.cssText="position:fixed;top:0;left:0;right:0;z-index:99999;padding:1rem 1.25rem;background:#fee2e2;color:#7f1d1d;border-bottom:4px solid #991b1b;font-family:system-ui,sans-serif;font-size:15px;line-height:1.5;white-space:pre-wrap",document.body.appendChild(e));const u=e;u.textContent="",t.split("`").forEach((a,n)=>{if(n%2===0){u.appendChild(document.createTextNode(a));return}const i=document.createElement("code");i.textContent=a,i.style.cssText="background:#fff;color:#7f1d1d;border:1px solid #f0a3a3;border-radius:4px;padding:0.1em 0.35em;font-family:ui-monospace,SFMono-Regular,monospace;font-size:0.95em",u.appendChild(i)})}throw new Error(t.replace(/`/g,""))}function Qv(t){const l=e=>e.split(".")[0];l(t)!==l(gh)&&Xv(`shinyreact protocol mismatch: the server speaks protocol \`${t}\` but this JS client supports \`${gh}\`. Upgrade the older side (the shinyreact R/Python package, or the client bundle) so the major protocol versions match.`)}function Zv(t){const l=typeof window<"u"?window:globalThis,e=l.shinyreact=l.shinyreact||{},u=e._restore,a=Gv();if(a!=null&&a.protocolVersion?Qv(a.protocolVersion):a!=null&&console.error("shinyreact: the `#shinyreact-config` tag carries no `protocolVersion`, so the client cannot verify it speaks the same protocol as the server. Upgrade the shinyreact Python/R package.".replace(/`/g,"")),u&&typeof u=="object"&&u["-applied"])return;const n=a==null?void 0:a.restore,i=Object.create(null);if(n&&typeof n=="object")for(const[c,f]of Object.entries(n))t.add(c,f),i[c]=f;e._restore={"-applied":!0,"-values":i}}let Rf=!1,xn=!1;const Nf=new Set;let bh=!1,Eh,zh,Th;function ph(){for(const t of Nf)t()}function Ah(){Rf||(Rf=!0,ph())}function Oh(t){xn!==t&&(xn=t,ph())}function xv(){if(bh||typeof document>"u")return;bh=!0,document.documentElement.classList.contains("shiny-busy")&&(xn=!0),Eh=()=>Oh(!0),zh=()=>Oh(!1),document.addEventListener("shiny:busy",Eh),document.addEventListener("shiny:idle",zh);const t=nt();if(t){t.initializedPromise.then(Ah);return}Th=()=>{const l=nt();l&&l.initializedPromise.then(Ah)},document.addEventListener("shiny:connected",Th,{once:!0})}function _h(t){return xv(),Nf.add(t),()=>{Nf.delete(t)}}function Mh(){return Rf}function Dh(){return xn}class Lv{constructor(){K(this,"messageHandlers",new Map);K(this,"initialized",!1)}init(){if(this.initialized)return;const l=nt();l&&(l.addCustomMessageHandler("shinyReactMessage",e=>{this.dispatchMessage(e.id,e.data)}),this.initialized=!0)}addHandler(l,e){this.init(),this.messageHandlers.has(l)||this.messageHandlers.set(l,new Set),this.messageHandlers.get(l).add(e)}removeHandler(l,e){const u=this.messageHandlers.get(l);u&&(u.delete(e),u.size===0&&this.messageHandlers.delete(l))}dispatchMessage(l,e){const u=this.messageHandlers.get(l);u&&u.forEach(a=>a(e))}getHandlerCount(l){const e=this.messageHandlers.get(l);return e?e.size:0}getActiveMessageIds(){return Array.from(this.messageHandlers.keys())}}const Uh=new Lv;function Hh(){const t=nt();return t?t.messageRegistry??(t.messageRegistry=Uh):Uh}function Kv(){nt()&&Hh()}class Jv{constructor(l){K(this,"id");K(this,"el");K(this,"status","pending");K(this,"hasValue",!1);K(this,"lastValue");K(this,"lastError",null);K(this,"useStateSetValueFns");K(this,"useStateSetStatusFns");K(this,"useStateSetErrorFns");this.id=l,this.useStateSetValueFns=new Set,this.useStateSetStatusFns=new Set,this.useStateSetErrorFns=new Set}hasReceivedValue(){return this.hasValue}getLastValue(){return this.lastValue}getLastError(){return this.lastError}addUseStateSetValueFn(l){this.useStateSetValueFns.add(l)}removeUseStateSetValueFn(l){this.useStateSetValueFns.delete(l)}addUseStateSetStatusFn(l){this.useStateSetStatusFns.add(l)}removeUseStateSetStatusFn(l){this.useStateSetStatusFns.delete(l)}addUseStateSetErrorFn(l){this.useStateSetErrorFns.add(l)}removeUseStateSetErrorFn(l){this.useStateSetErrorFns.delete(l)}getStatus(){return this.status}setStatus(l){this.status!==l&&(this.status=l,this.useStateSetStatusFns.forEach(e=>e(l)))}setValue(l){this.hasValue=!0,this.lastValue=l,this.useStateSetValueFns.forEach(e=>e(l)),this.status==="error"&&(this.lastError=null,this.useStateSetErrorFns.forEach(e=>e(null))),this.setStatus("ready")}setRecalculating(l){l?this.hasValue&&(this.status==="error"&&(this.lastError=null,this.useStateSetErrorFns.forEach(e=>e(null))),this.setStatus("recalculating")):this.hasValue&&this.status==="recalculating"&&this.setStatus("ready")}setError(l){this.lastError=l,this.useStateSetErrorFns.forEach(e=>e(l)),this.setStatus("error")}isEmpty(){return this.useStateSetValueFns.size===0&&this.useStateSetStatusFns.size===0&&this.useStateSetErrorFns.size===0}}class wv{constructor(){K(this,"outputs",new Map);K(this,"bindAllScheduled",!1);K(this,"containerEl")}get container(){return this.containerEl??(this.containerEl=(()=>{const l=document.createElement("div");return l.className="shiny-react-output-container",l.style.visibility="hidden",document.body.appendChild(l),l})()),this.containerEl}add(l,e,u,a){let n=this.get(l);if(!n){const i=document.createElement("div");i.className="shiny-react-output",i.id=l,this.container.appendChild(i),n=new Jv(l),n.el=i,this.outputs.set(l,n),this.scheduleBindAll()}return n.addUseStateSetValueFn(e),n.addUseStateSetStatusFn(u),n.addUseStateSetErrorFn(a),n.hasReceivedValue()&&e(n.getLastValue()),u(n.getStatus()),n.getStatus()==="error"&&a(n.getLastError()),()=>{n.removeUseStateSetValueFn(e),n.removeUseStateSetStatusFn(u),n.removeUseStateSetErrorFn(a),this.scheduleCleanup(l)}}has(l){return this.outputs.has(l)}get(l){return this.outputs.get(l)}scheduleCleanup(l){requestAnimationFrame(()=>{var u;const e=this.outputs.get(l);!e||!e.isEmpty()||(this.outputs.delete(l),(u=e.el)==null||u.remove(),this.scheduleBindAll())})}scheduleBindAll(){const l=nt();!l||!this.containerEl||this.bindAllScheduled||(this.bindAllScheduled=!0,requestAnimationFrame(()=>{var e,u;(e=l.unbindAll)==null||e.call(l,this.container),(u=l.bindAll)==null||u.call(l,this.container),this.bindAllScheduled=!1}))}}function $v(t){const l=nt();if(!l)return;class e extends l.OutputBinding{find(a){return $(a).find(".shiny-react-output")}renderValue(a,n){const i=t().get(a.id);if(!i){console.error(`Output ${a.id} not found`);return}i.setValue(n)}renderError(a,n){console.error(`Error for ${a.id}:`,n);const i=t().get(a.id);i&&i.setError(n)}showProgress(a,n){const i=t().get(a.id);if(!i){console.error(`Output ${a.id} not found`);return}i.setRecalculating(n)}}l.outputBindings.register(new e,"shiny.reactOutput")}function Cf(t,l){let e=null;const u=function(...a){const n=()=>{e=null,t(...a)};e!==null&&clearTimeout(e),e=setTimeout(n,l)};return u.setDelay=a=>{l=a},u.getDelay=()=>l,u.cancel=()=>{e!==null&&(clearTimeout(e),e=null)},u}const ma=class ma{constructor(l,e){K(this,"id");K(this,"value");K(this,"useStateSetValueFns");K(this,"shinySetInputValueDebounced");K(this,"opts",{debounceMs:100});K(this,"type");K(this,"typeFinalized",!1);this.id=l,this.value=e,this.useStateSetValueFns=new Set,this.shinySetInputValueDebounced=Cf(this.setShinyInputValue.bind(this),this.opts.debounceMs)}isEmpty(){return this.useStateSetValueFns.size===0}setShinyInputValue(l){var u,a;const e=`${this.id}:${this.type??ma.DEFAULT_TYPE}`;(a=(u=nt())==null?void 0:u.setInputValue)==null||a.call(u,e,l,this.opts)}updateDebounceDelay(l){this.shinySetInputValueDebounced.setDelay(l)}updatePriority(l){const e=this.opts.priority;e!==void 0&&e!==l&&console.warn(`[shinyreact] Input "${this.id}" priority changed from ${JSON.stringify(e)} to ${JSON.stringify(l)}. Priority is per-id here, so the most recent mount wins — if two call sites for this id disagree, the winner depends on mount order.`),this.opts.priority=l}updateType(l){if(!this.typeFinalized){this.type=l,this.typeFinalized=!0;return}if(l!==void 0&&this.type!==l)throw new Error(`Input "${this.id}" is already registered with type=${this.type===void 0?`undefined (wire id "${this.id}:${ma.DEFAULT_TYPE}")`:JSON.stringify(this.type)}. A second mount requested type=${JSON.stringify(l)}. An input's handler type changes server-side semantics and must be consistent across every useShinyInput / useSetShinyInput call for the same id.`)}addUseStateSetValueFn(l){this.useStateSetValueFns.add(l)}removeUseStateSetValueFn(l){this.useStateSetValueFns.delete(l)}setValue(l){const e=typeof l=="function"?l(this.value):l;if(this.value=e,this.useStateSetValueFns.forEach(u=>u(e)),e===mu){this.shinySetInputValueDebounced.cancel();return}this.shinySetInputValueDebounced(e)}getValue(){return this.value}};K(ma,"DEFAULT_TYPE","shinyreact.default");let Bf=ma;class Wv{constructor(){K(this,"inputs",new Map);K(this,"pendingSubscribers",new Map)}get(l){return this.inputs.get(l)}has(l){return this.inputs.has(l)}add(l,e){if(this.inputs.has(l))throw new Error(`Input ${l} already exists`);const u=new Bf(l,e);this.inputs.set(l,u);const a=this.pendingSubscribers.get(l);return a&&(a.forEach(n=>{u.addUseStateSetValueFn(n),n(u.getValue())}),this.pendingSubscribers.delete(l)),u}getOrCreate(l,e){let u=this.get(l);return u||(u=this.add(l,e)),u}subscribe(l,e){const u=this.get(l);if(u)return u.addUseStateSetValueFn(e),e(u.getValue()),()=>{const n=this.get(l);n&&n.removeUseStateSetValueFn(e)};let a=this.pendingSubscribers.get(l);return a||(a=new Set,this.pendingSubscribers.set(l,a)),a.add(e),()=>{const n=this.get(l);if(n){n.removeUseStateSetValueFn(e);return}const i=this.pendingSubscribers.get(l);i&&(i.delete(e),i.size===0&&this.pendingSubscribers.delete(l))}}remove(l){const e=this.inputs.get(l);return e&&e.shinySetInputValueDebounced.cancel(),this.inputs.delete(l)}keys(){return this.inputs.keys()}size(){return this.inputs.size}}let Rh;function Nh(){return Rh??(Rh={inputs:new Wv,outputs:new wv}),Rh}function Fv(){kt()}function kt(){const t=nt();return t?t.reactRegistry??(t.reactRegistry=Nh()):Nh()}function Ln(t,l,{debounceMs:e=100,priority:u,namespace:a,type:n}={}){if(Su(),n!==void 0&&!/^[^\s:]+$/.test(n))throw new Error(`useShinyInput("${t}"): invalid type=${JSON.stringify(n)}. Must be non-empty and contain no whitespace or ':' characters.`);const i=te(t,a),f=j.useRef(l).current;let d=f;const m=kt().inputs.get(i);m&&(d=m.getValue());const[y,v]=j.useState(d),b=Oe();j.useEffect(()=>{if(!b)return;const o=kt().inputs.getOrCreate(i,f);return e!==void 0&&o.updateDebounceDelay(e),u&&o.updatePriority(u),o.updateType(n),o.addUseStateSetValueFn(v),o.setValue(o.getValue()),()=>{o.removeUseStateSetValueFn(v)}},[i,b,e,u,f,n]);const p=j.useCallback(H=>{if(!b)return;const s=kt().inputs.get(i);if(!s){console.error(`Input ${i} not found`);return}s.setValue(H)},[i,b]);return[y,p]}const Kn=()=>{};function Ch(t,l=void 0,{namespace:e}={}){const[u,a]=j.useState(l),n=Oe();Su();const i=te(t,e),c=j.useRef(l);return j.useEffect(()=>{if(!n)return;const f=kt();return a(c.current),f.outputs.add(i,a,Kn,Kn)},[i,n]),u}function Bh(t,{namespace:l}={}){const[e,u]=j.useState("pending"),a=Oe();Su();const n=te(t,l);return j.useEffect(()=>a?kt().outputs.add(n,Kn,u,Kn):void 0,[n,a]),e}function kv(t,{namespace:l}={}){Su();const e=te(t,l),[u,a]=j.useState(()=>{const i=kt().inputs.get(e);if(!i)return;const c=i.getValue();return c===mu?void 0:c}),n=Oe();return j.useEffect(()=>n?kt().inputs.subscribe(e,f=>{a(f===mu?void 0:f)}):void 0,[e,n]),u}function Iv(t,l,{debounceMs:e=100,priority:u,namespace:a,type:n}={}){if(Su(),n!==void 0&&!/^[^\s:]+$/.test(n))throw new Error(`useSetShinyInput("${t}"): invalid type=${JSON.stringify(n)}. Must be non-empty and contain no whitespace or ':' characters.`);const i=te(t,a),f=j.useRef(l).current,d=Oe();return j.useEffect(()=>{if(!d)return;const m=kt().inputs.getOrCreate(i,f);e!==void 0&&m.updateDebounceDelay(e),u&&m.updatePriority(u),m.updateType(n),m.setValue(m.getValue())},[i,d,e,u,f,n]),j.useCallback(r=>{if(!d)return;const y=kt().inputs.get(i);if(!y){console.error(`Input ${i} not found`);return}y.setValue(r)},[i,d])}function Pv(t,l,{namespace:e}={}){const u=Oe();Su();const a=te(t,e),n=j.useRef(l);n.current=l,j.useEffect(()=>{if(!u||!a)return;const i=f=>n.current(f),c=Hh();return c.addHandler(a,i),()=>{c.removeHandler(a,i)}},[u,a])}function Oe(){return j.useSyncExternalStore(_h,Mh,Mh)}function tm(){return j.useSyncExternalStore(_h,Dh,Dh)}let Yh=!1;function Su(){Yh||(Fv(),Zv(kt().inputs),$v(()=>kt().outputs),Kv(),Yh=!0)}function lm({id:t,className:l,width:e,height:u,debounceMs:a=400,onRecalculating:n,namespace:i}){const c=te(t,i),f={namespace:null},[d,r]=Ln(`.clientdata_output_${c}_width`,mu,f),[m,y]=Ln(`.clientdata_output_${c}_height`,mu,f),[v]=Ln(`.clientdata_output_${c}_hidden`,!1,f),b=Ch(c,void 0,f),p=Bh(c,f),H=j.useRef(null),o=j.useRef(null),[s,h]=j.useState(0);j.useEffect(()=>{b&&h(E=>E+1)},[b]),j.useEffect(()=>{n&&n(p==="recalculating")},[p,n]);const S=j.useCallback(()=>{if(H.current){const E=H.current.clientWidth,_=H.current.clientHeight;E>0&&_>0&&(r(E),y(_))}},[r,y]);return j.useEffect(()=>{const E=H.current;if(!E)return;E.addEventListener("load",S);const _=Cf(()=>{E&&E.complete&&S()},a),z=new ResizeObserver(A=>{for(const M of A)M.target===E&&_()});return z.observe(E),()=>{E.removeEventListener("load",S),z.disconnect(),_.cancel()}},[H,s,r,y,a,S]),j.useEffect(()=>{if(b)return;const E=o.current;if(!E)return;const _=()=>{const M=E.clientWidth,R=E.clientHeight;M>0&&R>0&&(r(M),y(R))};_();const z=Cf(_,a),A=new ResizeObserver(()=>z());return A.observe(E),()=>{A.disconnect(),z.cancel()}},[b,r,y,a]),v?null:b?Ae.jsx("img",{ref:H,src:b.src,alt:"",className:l,style:{width:e,height:u},onLoad:S}):Ae.jsx("div",{ref:o,className:l,style:{width:e,height:u,display:"flex",alignItems:"center",justifyContent:"center",color:"#9ca3af"},children:Ae.jsx("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",style:{animation:"spin 1s linear infinite"},children:Ae.jsx("circle",{cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"2.5",strokeDasharray:"31.4 31.4",strokeLinecap:"round"})})})}class qh extends HTMLElement{constructor(){super(...arguments);K(this,"root",null);K(this,"slotContents",new Map)}captureSlots(e="[data-slot]"){const u=this.querySelectorAll(`:scope > ${e}`),a=new Set(u);u.forEach(i=>{const c=i.getAttribute("data-slot");c&&this.slotContents.set(c,Array.from(i.childNodes))});const n=Array.from(this.childNodes).filter(i=>!a.has(i));return n.length>0&&this.slotContents.set("__children__",n),this.slotContents}async mountSlot(e,u){var n,i;const a=this.slotContents.get(e);a&&u&&(a.forEach(c=>u.appendChild(c)),await((i=(n=window.Shiny)==null?void 0:n.bindAll)==null?void 0:i.call(n,u)))}get onSlotMount(){return this.mountSlot.bind(this)}getConfig(){const e={};for(const[u,a]of Object.entries(this.dataset))if(a!==void 0)try{e[u]=JSON.parse(a)}catch{e[u]=a}return e}get namespace(){return this.id||void 0}render(){const e=this.constructor.component;return e?Ae.jsx(e,{...this.getConfig()}):(console.error(`${this.constructor.name}: No static component defined`),null)}wrapWithProvider(e){return this.namespace?Ae.jsx(Sh,{namespace:this.namespace,children:e}):e}clearContent(){this.innerHTML=""}connectedCallback(){this.captureSlots(),this.clearContent(),this.root=Hf.createRoot(this),this.root.render(this.wrapWithProvider(this.render()))}disconnectedCallback(){var e,u,a;(u=(e=window.Shiny)==null?void 0:e.unbindAll)==null||u.call(e,this),(a=this.root)==null||a.unmount(),this.root=null}}K(qh,"component",null);function em(){window.shinyreact={useSetShinyInput:Iv,useShinyBusy:tm,useShinyInput:Ln,useShinyInputValue:kv,useShinyOutputStatus:Bh,useShinyOutputValue:Ch,useShinyMessageHandler:Pv,useShinyInitialized:Oe,ImageOutput:lm,MISSING:mu,ShinyModuleProvider:Sh,ShinyReactComponentElement:qh,ShinyOutput:jv,React:Wf,ReactDOM:Cv}}em(),jh()})(); + */var Bv=Symbol.for("react.transitional.element"),Yv=Symbol.for("react.fragment");function vh(t,l,e){var u=null;if(e!==void 0&&(u=""+e),l.key!==void 0&&(u=""+l.key),"key"in l){e={};for(var a in l)a!=="key"&&(e[a]=l[a])}else e=l;return l=e.ref,{$$typeof:Bv,type:t,key:u,ref:l!==void 0?l:null,props:e}}xn.Fragment=Yv,xn.jsx=vh,xn.jsxs=vh,rh.exports=xn;var Oe=rh.exports;const mh=V.createContext(null);function Sh({namespace:t,children:l}){return Oe.jsx(mh.Provider,{value:t,children:l})}function qv(){return V.useContext(mh)}function Vv(t,l){return l?`${l}-${t}`:t}function Ml(t,l){const e=qv();return Vv(t,l!==void 0?l:e)}function jv({id:t,tagName:l="div",namespace:e,...u}){const a=Ml(t,e),n=V.useRef(null);return V.useEffect(()=>{var d;const i=n.current,c=i==null?void 0:i.parentElement;if(!i||!c||!((d=window.Shiny)!=null&&d.bindAll))return;const f=(r,m)=>{console.error(`[shinyreact] ShinyOutput "${a}" ${m} failed:`,{id:a,phase:m,error:r})};try{const r=window.Shiny.bindAll(c);r&&typeof r.catch=="function"&&r.catch(m=>f(m,"bindAll"))}catch(r){f(r,"bindAll")}return()=>{var r,m;try{(m=(r=window.Shiny)==null?void 0:r.unbindAll)==null||m.call(r,i,!0)}catch(y){f(y,"unbindAll")}}},[a,l]),Wf.createElement(l,{id:a,ref:n,...u})}const Su=Symbol("MISSING"),gh="1.0";function Gv(){if(typeof document>"u")return null;const t=document.getElementById("shinyreact-config"),l=t==null?void 0:t.textContent;if(!l)return null;try{return JSON.parse(l)}catch(e){return console.error("shinyreact: could not parse #shinyreact-config JSON",e),null}}function Xv(t){if(typeof document<"u"&&document.body){const l="shinyreact-fatal-error";let e=document.getElementById(l);e||(e=document.createElement("div"),e.id=l,e.setAttribute("role","alert"),e.style.cssText="position:fixed;top:0;left:0;right:0;z-index:99999;padding:1rem 1.25rem;background:#fee2e2;color:#7f1d1d;border-bottom:4px solid #991b1b;font-family:system-ui,sans-serif;font-size:15px;line-height:1.5;white-space:pre-wrap",document.body.appendChild(e));const u=e;u.textContent="",t.split("`").forEach((a,n)=>{if(n%2===0){u.appendChild(document.createTextNode(a));return}const i=document.createElement("code");i.textContent=a,i.style.cssText="background:#fff;color:#7f1d1d;border:1px solid #f0a3a3;border-radius:4px;padding:0.1em 0.35em;font-family:ui-monospace,SFMono-Regular,monospace;font-size:0.95em",u.appendChild(i)})}throw new Error(t.replace(/`/g,""))}function Qv(t){const l=e=>e.split(".")[0];l(t)!==l(gh)&&Xv(`shinyreact protocol mismatch: the server speaks protocol \`${t}\` but this JS client supports \`${gh}\`. Upgrade the older side (the shinyreact R/Python package, or the client bundle) so the major protocol versions match.`)}function Zv(t){const l=typeof window<"u"?window:globalThis,e=l.shinyreact=l.shinyreact||{},u=e._restore,a=Gv();if(a!=null&&a.protocolVersion?Qv(a.protocolVersion):a!=null&&console.error("shinyreact: the `#shinyreact-config` tag carries no `protocolVersion`, so the client cannot verify it speaks the same protocol as the server. Upgrade the shinyreact Python/R package.".replace(/`/g,"")),u&&typeof u=="object"&&u["-applied"])return;const n=a==null?void 0:a.restore,i=Object.create(null);if(n&&typeof n=="object")for(const[c,f]of Object.entries(n))t.add(c,f),i[c]=f;e._restore={"-applied":!0,"-values":i}}let Rf=!1,Ln=!1;const Nf=new Set;let bh=!1,Eh,zh,Th;function ph(){for(const t of Nf)t()}function Ah(){Rf||(Rf=!0,ph())}function Oh(t){Ln!==t&&(Ln=t,ph())}function xv(){if(bh||typeof document>"u")return;bh=!0,document.documentElement.classList.contains("shiny-busy")&&(Ln=!0),Eh=()=>Oh(!0),zh=()=>Oh(!1),document.addEventListener("shiny:busy",Eh),document.addEventListener("shiny:idle",zh);const t=nt();if(t){t.initializedPromise.then(Ah);return}Th=()=>{const l=nt();l&&l.initializedPromise.then(Ah)},document.addEventListener("shiny:connected",Th,{once:!0})}function _h(t){return xv(),Nf.add(t),()=>{Nf.delete(t)}}function Mh(){return Rf}function Dh(){return Ln}class Lv{constructor(){K(this,"messageHandlers",new Map);K(this,"initialized",!1)}init(){if(this.initialized)return;const l=nt();l&&(l.addCustomMessageHandler("shinyReactMessage",e=>{this.dispatchMessage(e.id,e.data)}),this.initialized=!0)}addHandler(l,e){this.init(),this.messageHandlers.has(l)||this.messageHandlers.set(l,new Set),this.messageHandlers.get(l).add(e)}removeHandler(l,e){const u=this.messageHandlers.get(l);u&&(u.delete(e),u.size===0&&this.messageHandlers.delete(l))}dispatchMessage(l,e){const u=this.messageHandlers.get(l);u&&u.forEach(a=>a(e))}getHandlerCount(l){const e=this.messageHandlers.get(l);return e?e.size:0}getActiveMessageIds(){return Array.from(this.messageHandlers.keys())}}const Uh=new Lv;function Hh(){const t=nt();return t?t.messageRegistry??(t.messageRegistry=Uh):Uh}function Kv(){nt()&&Hh()}class Jv{constructor(l){K(this,"id");K(this,"el");K(this,"status","pending");K(this,"hasValue",!1);K(this,"lastValue");K(this,"lastError",null);K(this,"useStateSetValueFns");K(this,"useStateSetStatusFns");K(this,"useStateSetErrorFns");this.id=l,this.useStateSetValueFns=new Set,this.useStateSetStatusFns=new Set,this.useStateSetErrorFns=new Set}hasReceivedValue(){return this.hasValue}getLastValue(){return this.lastValue}getLastError(){return this.lastError}addUseStateSetValueFn(l){this.useStateSetValueFns.add(l)}removeUseStateSetValueFn(l){this.useStateSetValueFns.delete(l)}addUseStateSetStatusFn(l){this.useStateSetStatusFns.add(l)}removeUseStateSetStatusFn(l){this.useStateSetStatusFns.delete(l)}addUseStateSetErrorFn(l){this.useStateSetErrorFns.add(l)}removeUseStateSetErrorFn(l){this.useStateSetErrorFns.delete(l)}getStatus(){return this.status}setStatus(l){this.status!==l&&(this.status=l,this.useStateSetStatusFns.forEach(e=>e(l)))}setValue(l){this.hasValue=!0,this.lastValue=l,this.useStateSetValueFns.forEach(e=>e(l)),this.status==="error"&&(this.lastError=null,this.useStateSetErrorFns.forEach(e=>e(null))),this.setStatus("ready")}setRecalculating(l){l?this.hasValue&&(this.status==="error"&&(this.lastError=null,this.useStateSetErrorFns.forEach(e=>e(null))),this.setStatus("recalculating")):this.hasValue&&this.status==="recalculating"&&this.setStatus("ready")}setError(l){if(l.message===""){this.setValue(null);return}this.lastError=l,this.useStateSetErrorFns.forEach(e=>e(l)),this.setStatus("error")}isEmpty(){return this.useStateSetValueFns.size===0&&this.useStateSetStatusFns.size===0&&this.useStateSetErrorFns.size===0}}class wv{constructor(){K(this,"outputs",new Map);K(this,"bindAllScheduled",!1);K(this,"containerEl")}get container(){return this.containerEl??(this.containerEl=(()=>{const l=document.createElement("div");return l.className="shiny-react-output-container",l.style.visibility="hidden",document.body.appendChild(l),l})()),this.containerEl}add(l,e,u,a){let n=this.get(l);if(!n){const i=document.createElement("div");i.className="shiny-react-output",i.id=l,this.container.appendChild(i),n=new Jv(l),n.el=i,this.outputs.set(l,n),this.scheduleBindAll()}return n.addUseStateSetValueFn(e),n.addUseStateSetStatusFn(u),n.addUseStateSetErrorFn(a),n.hasReceivedValue()&&e(n.getLastValue()),u(n.getStatus()),n.getStatus()==="error"&&a(n.getLastError()),()=>{n.removeUseStateSetValueFn(e),n.removeUseStateSetStatusFn(u),n.removeUseStateSetErrorFn(a),this.scheduleCleanup(l)}}has(l){return this.outputs.has(l)}get(l){return this.outputs.get(l)}scheduleCleanup(l){requestAnimationFrame(()=>{var u;const e=this.outputs.get(l);!e||!e.isEmpty()||(this.outputs.delete(l),(u=e.el)==null||u.remove(),this.scheduleBindAll())})}scheduleBindAll(){const l=nt();!l||!this.containerEl||this.bindAllScheduled||(this.bindAllScheduled=!0,requestAnimationFrame(()=>{var e,u;(e=l.unbindAll)==null||e.call(l,this.container),(u=l.bindAll)==null||u.call(l,this.container),this.bindAllScheduled=!1}))}}function $v(t){const l=nt();if(!l)return;class e extends l.OutputBinding{find(a){return $(a).find(".shiny-react-output")}renderValue(a,n){const i=t().get(a.id);if(!i){console.error(`Output ${a.id} not found`);return}i.setValue(n)}renderError(a,n){console.error(`Error for ${a.id}:`,n);const i=t().get(a.id);i&&i.setError(n)}showProgress(a,n){const i=t().get(a.id);if(!i){console.error(`Output ${a.id} not found`);return}i.setRecalculating(n)}}l.outputBindings.register(new e,"shiny.reactOutput")}function Cf(t,l){let e=null;const u=function(...a){const n=()=>{e=null,t(...a)};e!==null&&clearTimeout(e),e=setTimeout(n,l)};return u.setDelay=a=>{l=a},u.getDelay=()=>l,u.cancel=()=>{e!==null&&(clearTimeout(e),e=null)},u}const Sa=class Sa{constructor(l,e){K(this,"id");K(this,"value");K(this,"useStateSetValueFns");K(this,"shinySetInputValueDebounced");K(this,"opts",{debounceMs:100});K(this,"type");K(this,"typeFinalized",!1);this.id=l,this.value=e,this.useStateSetValueFns=new Set,this.shinySetInputValueDebounced=Cf(this.setShinyInputValue.bind(this),this.opts.debounceMs)}isEmpty(){return this.useStateSetValueFns.size===0}setShinyInputValue(l){var u,a;const e=`${this.id}:${this.type??Sa.DEFAULT_TYPE}`;(a=(u=nt())==null?void 0:u.setInputValue)==null||a.call(u,e,l,this.opts)}updateDebounceDelay(l){this.shinySetInputValueDebounced.setDelay(l)}updatePriority(l){const e=this.opts.priority;e!==void 0&&e!==l&&console.warn(`[shinyreact] Input "${this.id}" priority changed from ${JSON.stringify(e)} to ${JSON.stringify(l)}. Priority is per-id here, so the most recent mount wins — if two call sites for this id disagree, the winner depends on mount order.`),this.opts.priority=l}updateType(l){if(!this.typeFinalized){this.type=l,this.typeFinalized=!0;return}if(l!==void 0&&this.type!==l)throw new Error(`Input "${this.id}" is already registered with type=${this.type===void 0?`undefined (wire id "${this.id}:${Sa.DEFAULT_TYPE}")`:JSON.stringify(this.type)}. A second mount requested type=${JSON.stringify(l)}. An input's handler type changes server-side semantics and must be consistent across every useShinyInput / useSetShinyInput call for the same id.`)}addUseStateSetValueFn(l){this.useStateSetValueFns.add(l)}removeUseStateSetValueFn(l){this.useStateSetValueFns.delete(l)}setValue(l){const e=typeof l=="function"?l(this.value):l;if(this.value=e,this.useStateSetValueFns.forEach(u=>u(e)),e===Su){this.shinySetInputValueDebounced.cancel();return}this.shinySetInputValueDebounced(e)}getValue(){return this.value}};K(Sa,"DEFAULT_TYPE","shinyreact.default");let Bf=Sa;class Wv{constructor(){K(this,"inputs",new Map);K(this,"pendingSubscribers",new Map)}get(l){return this.inputs.get(l)}has(l){return this.inputs.has(l)}add(l,e){if(this.inputs.has(l))throw new Error(`Input ${l} already exists`);const u=new Bf(l,e);this.inputs.set(l,u);const a=this.pendingSubscribers.get(l);return a&&(a.forEach(n=>{u.addUseStateSetValueFn(n),n(u.getValue())}),this.pendingSubscribers.delete(l)),u}getOrCreate(l,e){let u=this.get(l);return u||(u=this.add(l,e)),u}subscribe(l,e){const u=this.get(l);if(u)return u.addUseStateSetValueFn(e),e(u.getValue()),()=>{const n=this.get(l);n&&n.removeUseStateSetValueFn(e)};let a=this.pendingSubscribers.get(l);return a||(a=new Set,this.pendingSubscribers.set(l,a)),a.add(e),()=>{const n=this.get(l);if(n){n.removeUseStateSetValueFn(e);return}const i=this.pendingSubscribers.get(l);i&&(i.delete(e),i.size===0&&this.pendingSubscribers.delete(l))}}remove(l){const e=this.inputs.get(l);return e&&e.shinySetInputValueDebounced.cancel(),this.inputs.delete(l)}keys(){return this.inputs.keys()}size(){return this.inputs.size}}let Rh;function Nh(){return Rh??(Rh={inputs:new Wv,outputs:new wv}),Rh}function Fv(){Qt()}function Qt(){const t=nt();return t?t.reactRegistry??(t.reactRegistry=Nh()):Nh()}function Kn(t,l,{debounceMs:e=100,priority:u,namespace:a,type:n}={}){if(_e(),n!==void 0&&!/^[^\s:]+$/.test(n))throw new Error(`useShinyInput("${t}"): invalid type=${JSON.stringify(n)}. Must be non-empty and contain no whitespace or ':' characters.`);const i=Ml(t,a),f=V.useRef(l).current;let d=f;const m=Qt().inputs.get(i);m&&(d=m.getValue());const[y,v]=V.useState(d),b=le();V.useEffect(()=>{if(!b)return;const o=Qt().inputs.getOrCreate(i,f);return e!==void 0&&o.updateDebounceDelay(e),u&&o.updatePriority(u),o.updateType(n),o.addUseStateSetValueFn(v),o.setValue(o.getValue()),()=>{o.removeUseStateSetValueFn(v)}},[i,b,e,u,f,n]);const p=V.useCallback(H=>{if(!b)return;const s=Qt().inputs.get(i);if(!s){console.error(`Input ${i} not found`);return}s.setValue(H)},[i,b]);return[y,p]}const gu=()=>{};function Ch(t,l=void 0,{namespace:e}={}){const[u,a]=V.useState(l),n=le();_e();const i=Ml(t,e),c=V.useRef(l);return V.useEffect(()=>{if(!n)return;const f=Qt();return a(c.current),f.outputs.add(i,a,gu,gu)},[i,n]),u}function Bh(t,{namespace:l}={}){const[e,u]=V.useState("pending"),a=le();_e();const n=Ml(t,l);return V.useEffect(()=>a?Qt().outputs.add(n,gu,u,gu):void 0,[n,a]),e}function kv(t,{namespace:l}={}){const[e,u]=V.useState(null),a=le();_e();const n=Ml(t,l);return V.useEffect(()=>a?(u(null),Qt().outputs.add(n,gu,gu,u)):void 0,[n,a]),e}function Iv(t,{namespace:l}={}){_e();const e=Ml(t,l),[u,a]=V.useState(()=>{const i=Qt().inputs.get(e);if(!i)return;const c=i.getValue();return c===Su?void 0:c}),n=le();return V.useEffect(()=>n?Qt().inputs.subscribe(e,f=>{a(f===Su?void 0:f)}):void 0,[e,n]),u}function Pv(t,l,{debounceMs:e=100,priority:u,namespace:a,type:n}={}){if(_e(),n!==void 0&&!/^[^\s:]+$/.test(n))throw new Error(`useSetShinyInput("${t}"): invalid type=${JSON.stringify(n)}. Must be non-empty and contain no whitespace or ':' characters.`);const i=Ml(t,a),f=V.useRef(l).current,d=le();return V.useEffect(()=>{if(!d)return;const m=Qt().inputs.getOrCreate(i,f);e!==void 0&&m.updateDebounceDelay(e),u&&m.updatePriority(u),m.updateType(n),m.setValue(m.getValue())},[i,d,e,u,f,n]),V.useCallback(r=>{if(!d)return;const y=Qt().inputs.get(i);if(!y){console.error(`Input ${i} not found`);return}y.setValue(r)},[i,d])}function tm(t,l,{namespace:e}={}){const u=le();_e();const a=Ml(t,e),n=V.useRef(l);n.current=l,V.useEffect(()=>{if(!u||!a)return;const i=f=>n.current(f),c=Hh();return c.addHandler(a,i),()=>{c.removeHandler(a,i)}},[u,a])}function le(){return V.useSyncExternalStore(_h,Mh,Mh)}function lm(){return V.useSyncExternalStore(_h,Dh,Dh)}let Yh=!1;function _e(){Yh||(Fv(),Zv(Qt().inputs),$v(()=>Qt().outputs),Kv(),Yh=!0)}function em({id:t,className:l,width:e,height:u,debounceMs:a=400,onRecalculating:n,namespace:i}){const c=Ml(t,i),f={namespace:null},[d,r]=Kn(`.clientdata_output_${c}_width`,Su,f),[m,y]=Kn(`.clientdata_output_${c}_height`,Su,f),[v]=Kn(`.clientdata_output_${c}_hidden`,!1,f),b=Ch(c,void 0,f),p=Bh(c,f),H=V.useRef(null),o=V.useRef(null),[s,h]=V.useState(0);V.useEffect(()=>{b&&h(E=>E+1)},[b]),V.useEffect(()=>{n&&n(p==="recalculating")},[p,n]);const S=V.useCallback(()=>{if(H.current){const E=H.current.clientWidth,_=H.current.clientHeight;E>0&&_>0&&(r(E),y(_))}},[r,y]);return V.useEffect(()=>{const E=H.current;if(!E)return;E.addEventListener("load",S);const _=Cf(()=>{E&&E.complete&&S()},a),z=new ResizeObserver(A=>{for(const M of A)M.target===E&&_()});return z.observe(E),()=>{E.removeEventListener("load",S),z.disconnect(),_.cancel()}},[H,s,r,y,a,S]),V.useEffect(()=>{if(b)return;const E=o.current;if(!E)return;const _=()=>{const M=E.clientWidth,R=E.clientHeight;M>0&&R>0&&(r(M),y(R))};_();const z=Cf(_,a),A=new ResizeObserver(()=>z());return A.observe(E),()=>{A.disconnect(),z.cancel()}},[b,r,y,a]),v?null:b?Oe.jsx("img",{ref:H,src:b.src,alt:"",className:l,style:{width:e,height:u},onLoad:S}):Oe.jsx("div",{ref:o,className:l,style:{width:e,height:u,display:"flex",alignItems:"center",justifyContent:"center",color:"#9ca3af"},children:Oe.jsx("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",style:{animation:"spin 1s linear infinite"},children:Oe.jsx("circle",{cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"2.5",strokeDasharray:"31.4 31.4",strokeLinecap:"round"})})})}class qh extends HTMLElement{constructor(){super(...arguments);K(this,"root",null);K(this,"slotContents",new Map)}captureSlots(e="[data-slot]"){const u=this.querySelectorAll(`:scope > ${e}`),a=new Set(u);u.forEach(i=>{const c=i.getAttribute("data-slot");c&&this.slotContents.set(c,Array.from(i.childNodes))});const n=Array.from(this.childNodes).filter(i=>!a.has(i));return n.length>0&&this.slotContents.set("__children__",n),this.slotContents}async mountSlot(e,u){var n,i;const a=this.slotContents.get(e);a&&u&&(a.forEach(c=>u.appendChild(c)),await((i=(n=window.Shiny)==null?void 0:n.bindAll)==null?void 0:i.call(n,u)))}get onSlotMount(){return this.mountSlot.bind(this)}getConfig(){const e={};for(const[u,a]of Object.entries(this.dataset))if(a!==void 0)try{e[u]=JSON.parse(a)}catch{e[u]=a}return e}get namespace(){return this.id||void 0}render(){const e=this.constructor.component;return e?Oe.jsx(e,{...this.getConfig()}):(console.error(`${this.constructor.name}: No static component defined`),null)}wrapWithProvider(e){return this.namespace?Oe.jsx(Sh,{namespace:this.namespace,children:e}):e}clearContent(){this.innerHTML=""}connectedCallback(){this.captureSlots(),this.clearContent(),this.root=Hf.createRoot(this),this.root.render(this.wrapWithProvider(this.render()))}disconnectedCallback(){var e,u,a;(u=(e=window.Shiny)==null?void 0:e.unbindAll)==null||u.call(e,this),(a=this.root)==null||a.unmount(),this.root=null}}K(qh,"component",null);function um(){window.shinyreact={useSetShinyInput:Pv,useShinyBusy:lm,useShinyInput:Kn,useShinyInputValue:Iv,useShinyOutputError:kv,useShinyOutputStatus:Bh,useShinyOutputValue:Ch,useShinyMessageHandler:tm,useShinyInitialized:le,ImageOutput:em,MISSING:Su,ShinyModuleProvider:Sh,ShinyReactComponentElement:qh,ShinyOutput:jv,React:Wf,ReactDOM:Cv}}um(),jh()})(); diff --git a/pkg-js/src/__tests__/global.test.ts b/pkg-js/src/__tests__/global.test.ts index 312cc99..e0bd47c 100644 --- a/pkg-js/src/__tests__/global.test.ts +++ b/pkg-js/src/__tests__/global.test.ts @@ -25,6 +25,7 @@ describe("installGlobal", () => { "useShinyInput", "useShinyInputValue", "useShinyMessageHandler", + "useShinyOutputError", "useShinyOutputStatus", "useShinyOutputValue", ]); diff --git a/pkg-js/src/global.ts b/pkg-js/src/global.ts index 96de8e4..bc025d8 100644 --- a/pkg-js/src/global.ts +++ b/pkg-js/src/global.ts @@ -13,6 +13,7 @@ import { useShinyBusy, useShinyInput, useShinyInputValue, + useShinyOutputError, useShinyOutputStatus, useShinyOutputValue, useShinyMessageHandler, @@ -31,6 +32,7 @@ declare global { useShinyBusy: typeof useShinyBusy; useShinyInput: typeof useShinyInput; useShinyInputValue: typeof useShinyInputValue; + useShinyOutputError: typeof useShinyOutputError; useShinyOutputStatus: typeof useShinyOutputStatus; useShinyOutputValue: typeof useShinyOutputValue; useShinyMessageHandler: typeof useShinyMessageHandler; @@ -58,6 +60,7 @@ export function installGlobal(): void { useShinyBusy, useShinyInput, useShinyInputValue, + useShinyOutputError, useShinyOutputStatus, useShinyOutputValue, useShinyMessageHandler, diff --git a/pkg-js/src/shiny-react/__tests__/output-registry.test.ts b/pkg-js/src/shiny-react/__tests__/output-registry.test.ts index 2d993a2..debddfc 100644 --- a/pkg-js/src/shiny-react/__tests__/output-registry.test.ts +++ b/pkg-js/src/shiny-react/__tests__/output-registry.test.ts @@ -309,6 +309,27 @@ describe("OutputRegistryEntry status lifecycle", () => { expect(entry.getLastError()).toBeNull(); }); + it("an empty-message error is a silent error, delivered as a null value", () => { + // #257. `req()` in R arrives as an error with message "" (vanilla Shiny + // blanks the output); py-shiny sends a null value for the same `req()`. + // Both servers must look the same to the React component. + const entry = new OutputRegistryEntry("test"); + entry.setValue("first"); + const setStatus = vi.fn(); + const setError = vi.fn(); + const setValue = vi.fn(); + entry.addUseStateSetStatusFn(setStatus); + entry.addUseStateSetErrorFn(setError); + entry.addUseStateSetValueFn(setValue); + + entry.setError({ message: "", call: [], type: ["shiny.silent.error"] }); + + expect(entry.getStatus()).toBe("ready"); + expect(entry.getLastError()).toBeNull(); + expect(setError).not.toHaveBeenCalled(); + expect(setValue).toHaveBeenCalledWith(null); + }); + it("isEmpty considers status and error subscribers", () => { const entry = new OutputRegistryEntry("test"); expect(entry.isEmpty()).toBe(true); diff --git a/pkg-js/src/shiny-react/__tests__/use-shiny-output-error.test.tsx b/pkg-js/src/shiny-react/__tests__/use-shiny-output-error.test.tsx new file mode 100644 index 0000000..519e15d --- /dev/null +++ b/pkg-js/src/shiny-react/__tests__/use-shiny-output-error.test.tsx @@ -0,0 +1,124 @@ +import { act, renderHook } from "@testing-library/react"; +import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; +import type { ErrorsMessageValue } from "../output-registry"; +import { + _resetReactRegistryForTesting, + getReactRegistry, +} from "../react-registry"; +import { + _resetShinyReactInitializedForTesting, + useShinyOutputError, +} from "../use-shiny"; + +// Same stand-in as use-shiny-output-value.test.tsx: resolve initializedPromise +// immediately so the hook's effect runs, and let the real OutputRegistry play +// the other half of the interaction under test. +vi.mock("../get-shiny", () => ({ + getShiny: () => ({ + initializedPromise: Promise.resolve(), + outputBindings: { register: () => {} }, + OutputBinding: class {}, + addCustomMessageHandler: () => {}, + bindAll: () => {}, + unbindAll: () => {}, + }), +})); + +beforeEach(() => { + _resetReactRegistryForTesting(); + _resetShinyReactInitializedForTesting(); +}); + +afterEach(() => { + document + .querySelectorAll(".shiny-react-output-container") + .forEach((el) => el.remove()); +}); + +async function flush(): Promise { + await act(async () => { + await Promise.resolve(); + }); +} + +const boom: ErrorsMessageValue = { + message: "invalid number of 'breaks'", + call: ["hist(x, breaks = n)"], + type: undefined, +}; + +describe("useShinyOutputError", () => { + it("starts at null and delivers the server's error message", async () => { + const registry = getReactRegistry(); + const { result } = renderHook(() => useShinyOutputError("out")); + await flush(); + expect(result.current).toBeNull(); + + act(() => registry.outputs.get("out")!.setError(boom)); + await flush(); + + expect(result.current).toEqual(boom); + }); + + it("syncs a late-mounting subscriber with the cached error", async () => { + const registry = getReactRegistry(); + registry.outputs.add( + "out", + () => {}, + () => {}, + () => {}, + ); + registry.outputs.get("out")!.setError(boom); + + const { result } = renderHook(() => useShinyOutputError("out")); + await flush(); + + expect(result.current).toEqual(boom); + }); + + it("clears when a value arrives", async () => { + const registry = getReactRegistry(); + const { result } = renderHook(() => useShinyOutputError("out")); + await flush(); + + act(() => registry.outputs.get("out")!.setError(boom)); + await flush(); + act(() => registry.outputs.get("out")!.setValue("recovered")); + await flush(); + + expect(result.current).toBeNull(); + }); + + it("stays null for a silent error", async () => { + const registry = getReactRegistry(); + const { result } = renderHook(() => useShinyOutputError("out")); + await flush(); + + act(() => + registry.outputs + .get("out")! + .setError({ message: "", call: [], type: ["shiny.silent.error"] }), + ); + await flush(); + + expect(result.current).toBeNull(); + }); + + it("drops the previous id's error when the id changes", async () => { + const registry = getReactRegistry(); + const { result, rerender } = renderHook( + ({ id }: { id: string }) => useShinyOutputError(id), + { initialProps: { id: "first" } }, + ); + await flush(); + + act(() => registry.outputs.get("first")!.setError(boom)); + await flush(); + expect(result.current).toEqual(boom); + + rerender({ id: "second" }); + await flush(); + + expect(result.current).toBeNull(); + }); +}); diff --git a/pkg-js/src/shiny-react/index.ts b/pkg-js/src/shiny-react/index.ts index bf346b1..1d5b242 100644 --- a/pkg-js/src/shiny-react/index.ts +++ b/pkg-js/src/shiny-react/index.ts @@ -15,6 +15,7 @@ export { useShinyInput, useShinyInputValue, useShinyMessageHandler, + useShinyOutputError, useShinyOutputStatus, useShinyOutputValue, } from "./use-shiny"; diff --git a/pkg-js/src/shiny-react/output-registry.ts b/pkg-js/src/shiny-react/output-registry.ts index bc2c604..9ed1c44 100644 --- a/pkg-js/src/shiny-react/output-registry.ts +++ b/pkg-js/src/shiny-react/output-registry.ts @@ -4,8 +4,9 @@ import { getShiny } from "./get-shiny"; export type ErrorsMessageValue = { message: string; - call: string[]; - type?: string[]; + // `call` / `type` are R-only extras; py-shiny sends null for both. + call: string[] | null; + type?: string[] | null; }; export type OutputStatus = "pending" | "ready" | "recalculating" | "error"; @@ -124,6 +125,15 @@ export class OutputRegistryEntry { } setError(err: ErrorsMessageValue) { + // An empty message is how Shiny signals a *silent* error (`req()`): vanilla + // Shiny blanks the output element rather than showing error text. Only R + // takes this path — py-shiny sends a `null` value for `req()` — so mapping + // it to a `null` value keeps the two servers saying the same thing to the + // same React component. + if (err.message === "") { + this.setValue(null as T); + return; + } this.lastError = err; this.useStateSetErrorFns.forEach((fn) => fn(err)); this.setStatus("error"); diff --git a/pkg-js/src/shiny-react/use-shiny.ts b/pkg-js/src/shiny-react/use-shiny.ts index 5865886..7b54f57 100644 --- a/pkg-js/src/shiny-react/use-shiny.ts +++ b/pkg-js/src/shiny-react/use-shiny.ts @@ -25,6 +25,7 @@ import { import { MISSING } from "./missing"; import { createReactOutputBinding, + type ErrorsMessageValue, type OutputStatus, } from "./output-registry"; import { getReactRegistry, initializeReactRegistry } from "./react-registry"; @@ -304,6 +305,62 @@ export function useShinyOutputStatus( return status; } +/** + * Hook to subscribe to the error of a Shiny output. + * + * Returns the server's (already sanitized) error, or `null` when the output is + * not in the `"error"` state. `message` is the condition/exception text — the + * same text vanilla Shiny paints into the output element — unless the app has + * `shiny.sanitize.errors` / `sanitize_errors` on, in which case the server + * sends its generic message instead. `call` and `type` are R-only extras; + * Python sends `null` for both. + * + * Silent errors (`req()`, and `validate()` with no message) never reach this + * hook: the server sends them with an empty message, which shinyreact treats + * as a `null` value rather than an error. + * + * @param outputId The ID of the Shiny output to subscribe to. + * @param options Optional configuration object. + * @param options.namespace Module namespace to apply (or `null` to suppress + * the surrounding `ShinyModuleProvider` namespace). + * @returns The current output error, or `null`. + */ +export function useShinyOutputError( + outputId: string, + { + namespace: explicitNamespace, + }: { + namespace?: string | null; + } = {}, +): ErrorsMessageValue | null { + const [error, setError] = useState(null); + const shinyInitialized = useShinyInitialized(); + + ensureShinyReactInitialized(); + + const namespacedOutputId = useNamespacedId(outputId, explicitNamespace); + + useEffect(() => { + if (!shinyInitialized) { + return; + } + // Drop the previous id's error before subscribing to the new one, for the + // same reason `useShinyOutputValue` resets its value. + setError(null); + + const reactRegistry = getReactRegistry(); + const dispose = reactRegistry.outputs.add( + namespacedOutputId, + NOOP_SETTER, + NOOP_SETTER, + setError, + ); + return dispose; + }, [namespacedOutputId, shinyInitialized]); + + return error; +} + /** * A read-only React hook that subscribes to a Shiny input value created by a * separate producer component (typically one that calls `useShinyInput` and diff --git a/pkg-py/README.md b/pkg-py/README.md index f16b1da..739b158 100644 --- a/pkg-py/README.md +++ b/pkg-py/README.md @@ -79,6 +79,7 @@ Runnable apps live in [`examples/`](../examples/) — see the | `useSetShinyInput(id, default, opts)` | Write-only producer — registers an input and returns just the setter | | `useShinyOutputValue(id, default?)` | Consume arbitrary data sent by `@shinyreact.reactive_output` | | `useShinyOutputStatus(id)` | Output lifecycle status — `"pending" \| "ready" \| "recalculating" \| "error"` | +| `useShinyOutputError(id)` | The server's sanitized error message for an output, or `null` | | `useShinyMessageHandler(id, fn)` | Handle server-to-client custom messages | | `useShinyInitialized()` | Check whether Shiny is connected | | `useShinyBusy()` | Whether the Shiny server is currently processing a request | diff --git a/pkg-py/src/shinyreact/.agents/skills/shinyreact-build-app/SKILL.md b/pkg-py/src/shinyreact/.agents/skills/shinyreact-build-app/SKILL.md index 66d93a7..f41ba8a 100644 --- a/pkg-py/src/shinyreact/.agents/skills/shinyreact-build-app/SKILL.md +++ b/pkg-py/src/shinyreact/.agents/skills/shinyreact-build-app/SKILL.md @@ -244,6 +244,7 @@ an npm-tier build). | **Input** | `useShinyInput(id, default)` → `[value, setValue]` | `useShinyInputValue(id)` | `useSetShinyInput(id, default)` | | **Output** | — | `useShinyOutputValue(id, default?)` | — | | **Status** | | `useShinyOutputStatus(id)` → `"pending" \| "ready" \| "recalculating" \| "error"` | | +| **Error** | | `useShinyOutputError(id)` → `{message, call, type} \| null` | | Plus `useShinyInitialized()`, `useShinyBusy()`, `useShinyMessageHandler()`, and the components `ImageOutput`, `ShinyOutput`, `ShinyModuleProvider`. @@ -304,6 +305,20 @@ with `.recalculating { opacity: .6; transition: opacity 200ms }`. `"pending"` is the only state where you have no data yet; `"recalculating"` means the previous result is still valid, so show it. +**Showing the server's error text** — `useShinyOutputError(id)` returns the +same (sanitized) condition/exception message vanilla Shiny would paint into the +output element, or `null` when the output is fine: + +```jsx +const error = useShinyOutputError("foo"); +if (error) return
{error.message}
; +``` + +`req()` / `validate()` with no message are silent — they never produce an +error here, matching Shiny. With `shiny.sanitize.errors` / `sanitize_errors` +on, the server sends its generic message, so the client never has to decide +what is safe to show. + **Gate the first paint** on `useShinyInitialized()` (`if (!initialized) return null`) so the UI does not flash empty defaults during connection setup. diff --git a/pkg-py/src/shinyreact/.agents/skills/shinyreact-build-app/references/debugging.md b/pkg-py/src/shinyreact/.agents/skills/shinyreact-build-app/references/debugging.md index 71b8441..cb5d93d 100644 --- a/pkg-py/src/shinyreact/.agents/skills/shinyreact-build-app/references/debugging.md +++ b/pkg-py/src/shinyreact/.agents/skills/shinyreact-build-app/references/debugging.md @@ -1,13 +1,14 @@ # Debugging a shinyreact app The client is a normal React app, so React DevTools works. What is specific to -shinyreact is the wire, and these four hooks are the instruments — reach for +shinyreact is the wire, and these five hooks are the instruments — reach for them before adding `console.log`: | Hook | Tells you | |---|---| | `useShinyInitialized()` | whether the WebSocket handshake finished at all | | `useShinyOutputStatus(id)` | `"pending"` / `"ready"` / `"recalculating"` / `"error"` for one output | +| `useShinyOutputError(id)` | the server's sanitized error message for one output, or `null` | | `useShinyBusy()` | whether the server is processing *anything* right now | | `useShinyInputValue(id)` | what a channel currently holds, read from any component | @@ -26,4 +27,3 @@ Symptoms, in the order they actually come up: On the server, `reactive_output` is an ordinary Shiny output — print inside it, and its errors surface in the Shiny console exactly as usual. - diff --git a/pkg-py/src/shinyreact/.agents/skills/shinyreact-build-app/references/modules.md b/pkg-py/src/shinyreact/.agents/skills/shinyreact-build-app/references/modules.md index 3a88da7..f4372af 100644 --- a/pkg-py/src/shinyreact/.agents/skills/shinyreact-build-app/references/modules.md +++ b/pkg-py/src/shinyreact/.agents/skills/shinyreact-build-app/references/modules.md @@ -66,7 +66,7 @@ the `useShinyMessageHandler("ping", ...)` inside the matching provider. Every id-taking hook and component goes through one shared resolver, so the behavior is identical for `useShinyInput`, `useShinyInputValue`, `useSetShinyInput`, `useShinyOutputValue`, `useShinyOutputStatus`, -`useShinyMessageHandler`, `ShinyOutput`, and `ImageOutput`. +`useShinyOutputError`, `useShinyMessageHandler`, `ShinyOutput`, and `ImageOutput`. Each of them takes an optional `namespace`: diff --git a/pkg-py/src/shinyreact/www/shinyreact.js b/pkg-py/src/shinyreact/www/shinyreact.js index bcbc7d7..223504f 100644 --- a/pkg-py/src/shinyreact/www/shinyreact.js +++ b/pkg-py/src/shinyreact/www/shinyreact.js @@ -1,4 +1,4 @@ -var am=Object.defineProperty;var nm=(ee,nt,ue)=>nt in ee?am(ee,nt,{enumerable:!0,configurable:!0,writable:!0,value:ue}):ee[nt]=ue;var K=(ee,nt,ue)=>nm(ee,typeof nt!="symbol"?nt+"":nt,ue);(function(){"use strict";function ee(t,l){for(var e=0;eu[a]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}function nt(){return window.Shiny}let ue=!1;function jh(){if(typeof document>"u"||ue)return;ue=!0;const t=()=>{const e=nt();e&&(e.addCustomMessageHandler("shinyreact-deps",async u=>{var a,n;try{const i=e;await((a=i.renderDependenciesAsync)==null?void 0:a.call(i,u)),await((n=i.bindAll)==null?void 0:n.call(i,document.documentElement))}catch(i){console.error("[shinyreact] failed to load pushed dependencies:",i)}}),e.initializedPromise.then(()=>{var u;(u=e.setInputValue)==null||u.call(e,".shinyreact_init:shinyreact.init",1)}))};if(nt()){t();return}const l=()=>{nt()&&(document.removeEventListener("shiny:connected",l),t())};document.addEventListener("shiny:connected",l)}function Vf(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var jf={exports:{}},D={};/** +var nm=Object.defineProperty;var im=(ue,nt,ae)=>nt in ue?nm(ue,nt,{enumerable:!0,configurable:!0,writable:!0,value:ae}):ue[nt]=ae;var K=(ue,nt,ae)=>im(ue,typeof nt!="symbol"?nt+"":nt,ae);(function(){"use strict";function ue(t,l){for(var e=0;eu[a]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}function nt(){return window.Shiny}let ae=!1;function jh(){if(typeof document>"u"||ae)return;ae=!0;const t=()=>{const e=nt();e&&(e.addCustomMessageHandler("shinyreact-deps",async u=>{var a,n;try{const i=e;await((a=i.renderDependenciesAsync)==null?void 0:a.call(i,u)),await((n=i.bindAll)==null?void 0:n.call(i,document.documentElement))}catch(i){console.error("[shinyreact] failed to load pushed dependencies:",i)}}),e.initializedPromise.then(()=>{var u;(u=e.setInputValue)==null||u.call(e,".shinyreact_init:shinyreact.init",1)}))};if(nt()){t();return}const l=()=>{nt()&&(document.removeEventListener("shiny:connected",l),t())};document.addEventListener("shiny:connected",l)}function Vf(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var jf={exports:{}},D={};/** * @license React * react.production.js * @@ -6,7 +6,7 @@ var am=Object.defineProperty;var nm=(ee,nt,ue)=>nt in ee?am(ee,nt,{enumerable:!0 * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Wn=Symbol.for("react.transitional.element"),Gh=Symbol.for("react.portal"),Xh=Symbol.for("react.fragment"),Qh=Symbol.for("react.strict_mode"),Zh=Symbol.for("react.profiler"),xh=Symbol.for("react.consumer"),Lh=Symbol.for("react.context"),Kh=Symbol.for("react.forward_ref"),Jh=Symbol.for("react.suspense"),wh=Symbol.for("react.memo"),Gf=Symbol.for("react.lazy"),$h=Symbol.for("react.activity"),Xf=Symbol.iterator;function Wh(t){return t===null||typeof t!="object"?null:(t=Xf&&t[Xf]||t["@@iterator"],typeof t=="function"?t:null)}var Qf={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Zf=Object.assign,xf={};function Me(t,l,e){this.props=t,this.context=l,this.refs=xf,this.updater=e||Qf}Me.prototype.isReactComponent={},Me.prototype.setState=function(t,l){if(typeof t!="object"&&typeof t!="function"&&t!=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,t,l,"setState")},Me.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")};function Lf(){}Lf.prototype=Me.prototype;function Fn(t,l,e){this.props=t,this.context=l,this.refs=xf,this.updater=e||Qf}var kn=Fn.prototype=new Lf;kn.constructor=Fn,Zf(kn,Me.prototype),kn.isPureReactComponent=!0;var Kf=Array.isArray;function In(){}var W={H:null,A:null,T:null,S:null},Jf=Object.prototype.hasOwnProperty;function Pn(t,l,e){var u=e.ref;return{$$typeof:Wn,type:t,key:l,ref:u!==void 0?u:null,props:e}}function Fh(t,l){return Pn(t.type,l,t.props)}function ti(t){return typeof t=="object"&&t!==null&&t.$$typeof===Wn}function kh(t){var l={"=":"=0",":":"=2"};return"$"+t.replace(/[=:]/g,function(e){return l[e]})}var wf=/\/+/g;function li(t,l){return typeof t=="object"&&t!==null&&t.key!=null?kh(""+t.key):l.toString(36)}function Ih(t){switch(t.status){case"fulfilled":return t.value;case"rejected":throw t.reason;default:switch(typeof t.status=="string"?t.then(In,In):(t.status="pending",t.then(function(l){t.status==="pending"&&(t.status="fulfilled",t.value=l)},function(l){t.status==="pending"&&(t.status="rejected",t.reason=l)})),t.status){case"fulfilled":return t.value;case"rejected":throw t.reason}}throw t}function De(t,l,e,u,a){var n=typeof t;(n==="undefined"||n==="boolean")&&(t=null);var i=!1;if(t===null)i=!0;else switch(n){case"bigint":case"string":case"number":i=!0;break;case"object":switch(t.$$typeof){case Wn:case Gh:i=!0;break;case Gf:return i=t._init,De(i(t._payload),l,e,u,a)}}if(i)return a=a(t),i=u===""?"."+li(t,0):u,Kf(a)?(e="",i!=null&&(e=i.replace(wf,"$&/")+"/"),De(a,l,e,"",function(d){return d})):a!=null&&(ti(a)&&(a=Fh(a,e+(a.key==null||t&&t.key===a.key?"":(""+a.key).replace(wf,"$&/")+"/")+i)),l.push(a)),1;i=0;var c=u===""?".":u+":";if(Kf(t))for(var f=0;fnt in ee?am(ee,nt,{enumerable:!0 * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */(function(t){function l(T,Y){var N=T.length;T.push(Y);t:for(;0>>1,vt=T[at];if(0>>1;ata(qf,N))_ea($n,qf)?(T[at]=$n,T[_e]=N,at=_e):(T[at]=qf,T[wn]=N,at=wn);else if(_ea($n,N))T[at]=$n,T[_e]=N,at=_e;else break t}}return Y}function a(T,Y){var N=T.sortIndex-Y.sortIndex;return N!==0?N:T.id-Y.id}if(t.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var n=performance;t.unstable_now=function(){return n.now()}}else{var i=Date,c=i.now();t.unstable_now=function(){return i.now()-c}}var f=[],d=[],r=1,m=null,y=3,v=!1,b=!1,p=!1,H=!1,o=typeof setTimeout=="function"?setTimeout:null,s=typeof clearTimeout=="function"?clearTimeout:null,h=typeof setImmediate<"u"?setImmediate:null;function S(T){for(var Y=e(d);Y!==null;){if(Y.callback===null)u(d);else if(Y.startTime<=T)u(d),Y.sortIndex=Y.expirationTime,l(f,Y);else break;Y=e(d)}}function E(T){if(p=!1,S(T),!b)if(e(f)!==null)b=!0,_||(_=!0,le());else{var Y=e(d);Y!==null&&Yf(E,Y.startTime-T)}}var _=!1,z=-1,A=5,M=-1;function R(){return H?!0:!(t.unstable_now()-MT&&R());){var at=m.callback;if(typeof at=="function"){m.callback=null,y=m.priorityLevel;var vt=at(m.expirationTime<=T);if(T=t.unstable_now(),typeof vt=="function"){m.callback=vt,S(T),Y=!0;break l}m===e(f)&&u(f),S(T)}else u(f);m=e(f)}if(m!==null)Y=!0;else{var Jn=e(d);Jn!==null&&Yf(E,Jn.startTime-T),Y=!1}}break t}finally{m=null,y=N,v=!1}Y=void 0}}finally{Y?le():_=!1}}}var le;if(typeof h=="function")le=function(){h(It)};else if(typeof MessageChannel<"u"){var Vh=new MessageChannel,um=Vh.port2;Vh.port1.onmessage=It,le=function(){um.postMessage(null)}}else le=function(){o(It,0)};function Yf(T,Y){z=o(function(){T(t.unstable_now())},Y)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(T){T.callback=null},t.unstable_forceFrameRate=function(T){0>T||125at?(T.sortIndex=N,l(d,T),e(f)===null&&T===e(d)&&(p?(s(z),z=-1):p=!0,Yf(E,N-at))):(T.sortIndex=vt,l(f,T),b||v||(b=!0,_||(_=!0,le()))),T},t.unstable_shouldYield=R,t.unstable_wrapCallback=function(T){var Y=y;return function(){var N=y;y=Y;try{return T.apply(this,arguments)}finally{y=N}}}})(If),kf.exports=If;var l0=kf.exports,Pf={exports:{}},zt={};/** + */(function(t){function l(T,Y){var N=T.length;T.push(Y);t:for(;0>>1,vt=T[at];if(0>>1;ata(qf,N))Mea($n,qf)?(T[at]=$n,T[Me]=N,at=Me):(T[at]=qf,T[wn]=N,at=wn);else if(Mea($n,N))T[at]=$n,T[Me]=N,at=Me;else break t}}return Y}function a(T,Y){var N=T.sortIndex-Y.sortIndex;return N!==0?N:T.id-Y.id}if(t.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var n=performance;t.unstable_now=function(){return n.now()}}else{var i=Date,c=i.now();t.unstable_now=function(){return i.now()-c}}var f=[],d=[],r=1,m=null,y=3,v=!1,b=!1,p=!1,H=!1,o=typeof setTimeout=="function"?setTimeout:null,s=typeof clearTimeout=="function"?clearTimeout:null,h=typeof setImmediate<"u"?setImmediate:null;function S(T){for(var Y=e(d);Y!==null;){if(Y.callback===null)u(d);else if(Y.startTime<=T)u(d),Y.sortIndex=Y.expirationTime,l(f,Y);else break;Y=e(d)}}function E(T){if(p=!1,S(T),!b)if(e(f)!==null)b=!0,_||(_=!0,ee());else{var Y=e(d);Y!==null&&Yf(E,Y.startTime-T)}}var _=!1,z=-1,A=5,M=-1;function R(){return H?!0:!(t.unstable_now()-MT&&R());){var at=m.callback;if(typeof at=="function"){m.callback=null,y=m.priorityLevel;var vt=at(m.expirationTime<=T);if(T=t.unstable_now(),typeof vt=="function"){m.callback=vt,S(T),Y=!0;break l}m===e(f)&&u(f),S(T)}else u(f);m=e(f)}if(m!==null)Y=!0;else{var Jn=e(d);Jn!==null&&Yf(E,Jn.startTime-T),Y=!1}}break t}finally{m=null,y=N,v=!1}Y=void 0}}finally{Y?ee():_=!1}}}var ee;if(typeof h=="function")ee=function(){h(It)};else if(typeof MessageChannel<"u"){var Vh=new MessageChannel,am=Vh.port2;Vh.port1.onmessage=It,ee=function(){am.postMessage(null)}}else ee=function(){o(It,0)};function Yf(T,Y){z=o(function(){T(t.unstable_now())},Y)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(T){T.callback=null},t.unstable_forceFrameRate=function(T){0>T||125at?(T.sortIndex=N,l(d,T),e(f)===null&&T===e(d)&&(p?(s(z),z=-1):p=!0,Yf(E,N-at))):(T.sortIndex=vt,l(f,T),b||v||(b=!0,_||(_=!0,ee()))),T},t.unstable_shouldYield=R,t.unstable_wrapCallback=function(T){var Y=y;return function(){var N=y;y=Y;try{return T.apply(this,arguments)}finally{y=N}}}})(If),kf.exports=If;var l0=kf.exports,Pf={exports:{}},zt={};/** * @license React * react-dom.production.js * @@ -22,7 +22,7 @@ var am=Object.defineProperty;var nm=(ee,nt,ue)=>nt in ee?am(ee,nt,{enumerable:!0 * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var e0=j;function ts(t){var l="https://react.dev/errors/"+t;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(ls)}catch(t){console.error(t)}}ls(),Pf.exports=zt;var n0=Pf.exports;/** + */var e0=V;function ts(t){var l="https://react.dev/errors/"+t;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(ls)}catch(t){console.error(t)}}ls(),Pf.exports=zt;var n0=Pf.exports;/** * @license React * react-dom-client.production.js * @@ -30,15 +30,15 @@ var am=Object.defineProperty;var nm=(ee,nt,ue)=>nt in ee?am(ee,nt,{enumerable:!0 * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var ot=l0,es=j,i0=n0;function g(t){var l="https://react.dev/errors/"+t;if(1He||(t.current=si[He],si[He]=null,He--)}function w(t,l){He++,si[He]=t.current,t.current=l}var ul=el(null),pu=el(null),Ul=el(null),za=el(null);function Ta(t,l){switch(w(Ul,l),w(pu,t),w(ul,null),l.nodeType){case 9:case 11:t=(t=l.documentElement)&&(t=t.namespaceURI)?qy(t):0;break;default:if(t=l.tagName,l=l.namespaceURI)l=qy(l),t=Vy(l,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}yt(ul),w(ul,t)}function Re(){yt(ul),yt(pu),yt(Ul)}function oi(t){t.memoizedState!==null&&w(za,t);var l=ul.current,e=Vy(l,t.type);l!==e&&(w(pu,t),w(ul,e))}function pa(t){pu.current===t&&(yt(ul),yt(pu)),za.current===t&&(yt(za),ya._currentValue=ae)}var di,ds;function ne(t){if(di===void 0)try{throw Error()}catch(e){var l=e.stack.trim().match(/\n( *(at )?)/);di=l&&l[1]||"",ds=-1Re||(t.current=si[Re],si[Re]=null,Re--)}function w(t,l){Re++,si[Re]=t.current,t.current=l}var ul=el(null),Au=el(null),Hl=el(null),Ta=el(null);function pa(t,l){switch(w(Hl,l),w(Au,t),w(ul,null),l.nodeType){case 9:case 11:t=(t=l.documentElement)&&(t=t.namespaceURI)?qy(t):0;break;default:if(t=l.tagName,l=l.namespaceURI)l=qy(l),t=Vy(l,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}yt(ul),w(ul,t)}function Ne(){yt(ul),yt(Au),yt(Hl)}function oi(t){t.memoizedState!==null&&w(Ta,t);var l=ul.current,e=Vy(l,t.type);l!==e&&(w(Au,t),w(ul,e))}function Aa(t){Au.current===t&&(yt(ul),yt(Au)),Ta.current===t&&(yt(Ta),ha._currentValue=ne)}var di,ds;function ie(t){if(di===void 0)try{throw Error()}catch(e){var l=e.stack.trim().match(/\n( *(at )?)/);di=l&&l[1]||"",ds=-1)":-1a||f[u]!==d[a]){var r=` -`+f[u].replace(" at new "," at ");return t.displayName&&r.includes("")&&(r=r.replace("",t.displayName)),r}while(1<=u&&0<=a);break}}}finally{yi=!1,Error.prepareStackTrace=e}return(e=t?t.displayName||t.name:"")?ne(e):""}function d0(t,l){switch(t.tag){case 26:case 27:case 5:return ne(t.type);case 16:return ne("Lazy");case 13:return t.child!==l&&l!==null?ne("Suspense Fallback"):ne("Suspense");case 19:return ne("SuspenseList");case 0:case 15:return hi(t.type,!1);case 11:return hi(t.type.render,!1);case 1:return hi(t.type,!0);case 31:return ne("Activity");default:return""}}function ys(t){try{var l="",e=null;do l+=d0(t,e),e=t,t=t.return;while(t);return l}catch(u){return` +`+f[u].replace(" at new "," at ");return t.displayName&&r.includes("")&&(r=r.replace("",t.displayName)),r}while(1<=u&&0<=a);break}}}finally{yi=!1,Error.prepareStackTrace=e}return(e=t?t.displayName||t.name:"")?ie(e):""}function d0(t,l){switch(t.tag){case 26:case 27:case 5:return ie(t.type);case 16:return ie("Lazy");case 13:return t.child!==l&&l!==null?ie("Suspense Fallback"):ie("Suspense");case 19:return ie("SuspenseList");case 0:case 15:return hi(t.type,!1);case 11:return hi(t.type.render,!1);case 1:return hi(t.type,!0);case 31:return ie("Activity");default:return""}}function ys(t){try{var l="",e=null;do l+=d0(t,e),e=t,t=t.return;while(t);return l}catch(u){return` Error generating stack: `+u.message+` -`+u.stack}}var ri=Object.prototype.hasOwnProperty,vi=ot.unstable_scheduleCallback,mi=ot.unstable_cancelCallback,y0=ot.unstable_shouldYield,h0=ot.unstable_requestPaint,Rt=ot.unstable_now,r0=ot.unstable_getCurrentPriorityLevel,hs=ot.unstable_ImmediatePriority,rs=ot.unstable_UserBlockingPriority,Aa=ot.unstable_NormalPriority,v0=ot.unstable_LowPriority,vs=ot.unstable_IdlePriority,m0=ot.log,S0=ot.unstable_setDisableYieldValue,Au=null,Nt=null;function Hl(t){if(typeof m0=="function"&&S0(t),Nt&&typeof Nt.setStrictMode=="function")try{Nt.setStrictMode(Au,t)}catch{}}var Ct=Math.clz32?Math.clz32:E0,g0=Math.log,b0=Math.LN2;function E0(t){return t>>>=0,t===0?32:31-(g0(t)/b0|0)|0}var Oa=256,_a=262144,Ma=4194304;function ie(t){var l=t&42;if(l!==0)return l;switch(t&-t){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:return t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function Da(t,l,e){var u=t.pendingLanes;if(u===0)return 0;var a=0,n=t.suspendedLanes,i=t.pingedLanes;t=t.warmLanes;var c=u&134217727;return c!==0?(u=c&~n,u!==0?a=ie(u):(i&=c,i!==0?a=ie(i):e||(e=c&~t,e!==0&&(a=ie(e))))):(c=u&~n,c!==0?a=ie(c):i!==0?a=ie(i):e||(e=u&~t,e!==0&&(a=ie(e)))),a===0?0:l!==0&&l!==a&&!(l&n)&&(n=a&-a,e=l&-l,n>=e||n===32&&(e&4194048)!==0)?l:a}function Ou(t,l){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&l)===0}function z0(t,l){switch(t){case 1:case 2:case 4:case 8:case 64:return l+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 l+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 ms(){var t=Ma;return Ma<<=1,!(Ma&62914560)&&(Ma=4194304),t}function Si(t){for(var l=[],e=0;31>e;e++)l.push(t);return l}function _u(t,l){t.pendingLanes|=l,l!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function T0(t,l,e,u,a,n){var i=t.pendingLanes;t.pendingLanes=e,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=e,t.entangledLanes&=e,t.errorRecoveryDisabledLanes&=e,t.shellSuspendCounter=0;var c=t.entanglements,f=t.expirationTimes,d=t.hiddenUpdates;for(e=i&~e;0"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var D0=/[\n"\\]/g;function Zt(t){return t.replace(D0,function(l){return"\\"+l.charCodeAt(0).toString(16)+" "})}function pi(t,l,e,u,a,n,i,c){t.name="",i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"?t.type=i:t.removeAttribute("type"),l!=null?i==="number"?(l===0&&t.value===""||t.value!=l)&&(t.value=""+Qt(l)):t.value!==""+Qt(l)&&(t.value=""+Qt(l)):i!=="submit"&&i!=="reset"||t.removeAttribute("value"),l!=null?Ai(t,i,Qt(l)):e!=null?Ai(t,i,Qt(e)):u!=null&&t.removeAttribute("value"),a==null&&n!=null&&(t.defaultChecked=!!n),a!=null&&(t.checked=a&&typeof a!="function"&&typeof a!="symbol"),c!=null&&typeof c!="function"&&typeof c!="symbol"&&typeof c!="boolean"?t.name=""+Qt(c):t.removeAttribute("name")}function Us(t,l,e,u,a,n,i,c){if(n!=null&&typeof n!="function"&&typeof n!="symbol"&&typeof n!="boolean"&&(t.type=n),l!=null||e!=null){if(!(n!=="submit"&&n!=="reset"||l!=null)){Ti(t);return}e=e!=null?""+Qt(e):"",l=l!=null?""+Qt(l):e,c||l===t.value||(t.value=l),t.defaultValue=l}u=u??a,u=typeof u!="function"&&typeof u!="symbol"&&!!u,t.checked=c?t.checked:!!u,t.defaultChecked=!!u,i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(t.name=i),Ti(t)}function Ai(t,l,e){l==="number"&&Ra(t.ownerDocument)===t||t.defaultValue===""+e||(t.defaultValue=""+e)}function Ve(t,l,e,u){if(t=t.options,l){l={};for(var a=0;a"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ui=!1;if(dl)try{var Hu={};Object.defineProperty(Hu,"passive",{get:function(){Ui=!0}}),window.addEventListener("test",Hu,Hu),window.removeEventListener("test",Hu,Hu)}catch{Ui=!1}var Nl=null,Hi=null,Ca=null;function qs(){if(Ca)return Ca;var t,l=Hi,e=l.length,u,a="value"in Nl?Nl.value:Nl.textContent,n=a.length;for(t=0;t=Cu),Zs=" ",xs=!1;function Ls(t,l){switch(t){case"keyup":return er.indexOf(l.keyCode)!==-1;case"keydown":return l.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ks(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var Qe=!1;function ar(t,l){switch(t){case"compositionend":return Ks(l);case"keypress":return l.which!==32?null:(xs=!0,Zs);case"textInput":return t=l.data,t===Zs&&xs?null:t;default:return null}}function nr(t,l){if(Qe)return t==="compositionend"||!Yi&&Ls(t,l)?(t=qs(),Ca=Hi=Nl=null,Qe=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(l.ctrlKey||l.altKey||l.metaKey)||l.ctrlKey&&l.altKey){if(l.char&&1=l)return{node:e,offset:l-t};t=u}t:{for(;e;){if(e.nextSibling){e=e.nextSibling;break t}e=e.parentNode}e=void 0}e=Ps(e)}}function lo(t,l){return t&&l?t===l?!0:t&&t.nodeType===3?!1:l&&l.nodeType===3?lo(t,l.parentNode):"contains"in t?t.contains(l):t.compareDocumentPosition?!!(t.compareDocumentPosition(l)&16):!1:!1}function eo(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var l=Ra(t.document);l instanceof t.HTMLIFrameElement;){try{var e=typeof l.contentWindow.location.href=="string"}catch{e=!1}if(e)t=l.contentWindow;else break;l=Ra(t.document)}return l}function ji(t){var l=t&&t.nodeName&&t.nodeName.toLowerCase();return l&&(l==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||l==="textarea"||t.contentEditable==="true")}var hr=dl&&"documentMode"in document&&11>=document.documentMode,Ze=null,Gi=null,Vu=null,Xi=!1;function uo(t,l,e){var u=e.window===e?e.document:e.nodeType===9?e:e.ownerDocument;Xi||Ze==null||Ze!==Ra(u)||(u=Ze,"selectionStart"in u&&ji(u)?u={start:u.selectionStart,end:u.selectionEnd}:(u=(u.ownerDocument&&u.ownerDocument.defaultView||window).getSelection(),u={anchorNode:u.anchorNode,anchorOffset:u.anchorOffset,focusNode:u.focusNode,focusOffset:u.focusOffset}),Vu&&qu(Vu,u)||(Vu=u,u=Mn(Gi,"onSelect"),0>=i,a-=i,al=1<<32-Ct(l)+a|e<A?(M=z,z=null):M=z.sibling;var R=y(o,z,h[A],S);if(R===null){z===null&&(z=M);break}t&&z&&R.alternate===null&&l(o,z),s=n(R,s,A),_===null?E=R:_.sibling=R,_=R,z=M}if(A===h.length)return e(o,z),V&&hl(o,A),E;if(z===null){for(;AA?(M=z,z=null):M=z.sibling;var It=y(o,z,R.value,S);if(It===null){z===null&&(z=M);break}t&&z&&It.alternate===null&&l(o,z),s=n(It,s,A),_===null?E=It:_.sibling=It,_=It,z=M}if(R.done)return e(o,z),V&&hl(o,A),E;if(z===null){for(;!R.done;A++,R=h.next())R=m(o,R.value,S),R!==null&&(s=n(R,s,A),_===null?E=R:_.sibling=R,_=R);return V&&hl(o,A),E}for(z=u(z);!R.done;A++,R=h.next())R=v(z,o,A,R.value,S),R!==null&&(t&&R.alternate!==null&&z.delete(R.key===null?A:R.key),s=n(R,s,A),_===null?E=R:_.sibling=R,_=R);return t&&z.forEach(function(le){return l(o,le)}),V&&hl(o,A),E}function H(o,s,h,S){if(typeof h=="object"&&h!==null&&h.type===Ue&&h.key===null&&(h=h.props.children),typeof h=="object"&&h!==null){switch(h.$$typeof){case Ea:t:{for(var E=h.key;s!==null;){if(s.key===E){if(E=h.type,E===Ue){if(s.tag===7){e(o,s.sibling),S=a(s,h.props.children),S.return=o,o=S;break t}}else if(s.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===Dl&&Se(E)===s.type){e(o,s.sibling),S=a(s,h.props),xu(S,h),S.return=o,o=S;break t}e(o,s);break}else l(o,s);s=s.sibling}h.type===Ue?(S=ye(h.props.children,o.mode,S,h.key),S.return=o,o=S):(S=xa(h.type,h.key,h.props,null,o.mode,S),xu(S,h),S.return=o,o=S)}return i(o);case Eu:t:{for(E=h.key;s!==null;){if(s.key===E)if(s.tag===4&&s.stateNode.containerInfo===h.containerInfo&&s.stateNode.implementation===h.implementation){e(o,s.sibling),S=a(s,h.children||[]),S.return=o,o=S;break t}else{e(o,s);break}else l(o,s);s=s.sibling}S=wi(h,o.mode,S),S.return=o,o=S}return i(o);case Dl:return h=Se(h),H(o,s,h,S)}if(Tu(h))return b(o,s,h,S);if(zu(h)){if(E=zu(h),typeof E!="function")throw Error(g(150));return h=E.call(h),p(o,s,h,S)}if(typeof h.then=="function")return H(o,s,Fa(h),S);if(h.$$typeof===fl)return H(o,s,Ja(o,h),S);ka(o,h)}return typeof h=="string"&&h!==""||typeof h=="number"||typeof h=="bigint"?(h=""+h,s!==null&&s.tag===6?(e(o,s.sibling),S=a(s,h),S.return=o,o=S):(e(o,s),S=Ji(h,o.mode,S),S.return=o,o=S),i(o)):e(o,s)}return function(o,s,h,S){try{Zu=0;var E=H(o,s,h,S);return Pe=null,E}catch(z){if(z===Ie||z===$a)throw z;var _=Yt(29,z,null,o.mode);return _.lanes=S,_.return=o,_}finally{}}}var be=Mo(!0),Do=Mo(!1),Vl=!1;function nc(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function ic(t,l){t=t.updateQueue,l.updateQueue===t&&(l.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function jl(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function Gl(t,l,e){var u=t.updateQueue;if(u===null)return null;if(u=u.shared,X&2){var a=u.pending;return a===null?l.next=l:(l.next=a.next,a.next=l),u.pending=l,l=Za(t),oo(t,null,e),l}return Qa(t,u,l,e),Za(t)}function Lu(t,l,e){if(l=l.updateQueue,l!==null&&(l=l.shared,(e&4194048)!==0)){var u=l.lanes;u&=t.pendingLanes,e|=u,l.lanes=e,gs(t,e)}}function cc(t,l){var e=t.updateQueue,u=t.alternate;if(u!==null&&(u=u.updateQueue,e===u)){var a=null,n=null;if(e=e.firstBaseUpdate,e!==null){do{var i={lane:e.lane,tag:e.tag,payload:e.payload,callback:null,next:null};n===null?a=n=i:n=n.next=i,e=e.next}while(e!==null);n===null?a=n=l:n=n.next=l}else a=n=l;e={baseState:u.baseState,firstBaseUpdate:a,lastBaseUpdate:n,shared:u.shared,callbacks:u.callbacks},t.updateQueue=e;return}t=e.lastBaseUpdate,t===null?e.firstBaseUpdate=l:t.next=l,e.lastBaseUpdate=l}var fc=!1;function Ku(){if(fc){var t=ke;if(t!==null)throw t}}function Ju(t,l,e,u){fc=!1;var a=t.updateQueue;Vl=!1;var n=a.firstBaseUpdate,i=a.lastBaseUpdate,c=a.shared.pending;if(c!==null){a.shared.pending=null;var f=c,d=f.next;f.next=null,i===null?n=d:i.next=d,i=f;var r=t.alternate;r!==null&&(r=r.updateQueue,c=r.lastBaseUpdate,c!==i&&(c===null?r.firstBaseUpdate=d:c.next=d,r.lastBaseUpdate=f))}if(n!==null){var m=a.baseState;i=0,r=d=f=null,c=n;do{var y=c.lane&-536870913,v=y!==c.lane;if(v?(q&y)===y:(u&y)===y){y!==0&&y===Fe&&(fc=!0),r!==null&&(r=r.next={lane:0,tag:c.tag,payload:c.payload,callback:null,next:null});t:{var b=t,p=c;y=l;var H=e;switch(p.tag){case 1:if(b=p.payload,typeof b=="function"){m=b.call(H,m,y);break t}m=b;break t;case 3:b.flags=b.flags&-65537|128;case 0:if(b=p.payload,y=typeof b=="function"?b.call(H,m,y):b,y==null)break t;m=F({},m,y);break t;case 2:Vl=!0}}y=c.callback,y!==null&&(t.flags|=64,v&&(t.flags|=8192),v=a.callbacks,v===null?a.callbacks=[y]:v.push(y))}else v={lane:y,tag:c.tag,payload:c.payload,callback:c.callback,next:null},r===null?(d=r=v,f=m):r=r.next=v,i|=y;if(c=c.next,c===null){if(c=a.shared.pending,c===null)break;v=c,c=v.next,v.next=null,a.lastBaseUpdate=v,a.shared.pending=null}}while(!0);r===null&&(f=m),a.baseState=f,a.firstBaseUpdate=d,a.lastBaseUpdate=r,n===null&&(a.shared.lanes=0),Ll|=i,t.lanes=i,t.memoizedState=m}}function Uo(t,l){if(typeof t!="function")throw Error(g(191,t));t.call(l)}function Ho(t,l){var e=t.callbacks;if(e!==null)for(t.callbacks=null,t=0;tn?n:8;var i=O.T,c={};O.T=c,Mc(t,!1,l,e);try{var f=a(),d=O.S;if(d!==null&&d(c,f),f!==null&&typeof f=="object"&&typeof f.then=="function"){var r=Tr(f,u);Wu(t,l,r,Xt(t))}else Wu(t,l,u,Xt(t))}catch(m){Wu(t,l,{then:function(){},status:"rejected",reason:m},Xt())}finally{G.p=n,i!==null&&c.types!==null&&(i.types=c.types),O.T=i}}function Dr(){}function Oc(t,l,e,u){if(t.tag!==5)throw Error(g(476));var a=fd(t).queue;cd(t,a,l,ae,e===null?Dr:function(){return sd(t),e(u)})}function fd(t){var l=t.memoizedState;if(l!==null)return l;l={memoizedState:ae,baseState:ae,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Sl,lastRenderedState:ae},next:null};var e={};return l.next={memoizedState:e,baseState:e,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Sl,lastRenderedState:e},next:null},t.memoizedState=l,t=t.alternate,t!==null&&(t.memoizedState=l),l}function sd(t){var l=fd(t);l.next===null&&(l=t.alternate.memoizedState),Wu(t,l.next.queue,{},Xt())}function _c(){return gt(ya)}function od(){return ut().memoizedState}function dd(){return ut().memoizedState}function Ur(t){for(var l=t.return;l!==null;){switch(l.tag){case 24:case 3:var e=Xt();t=jl(e);var u=Gl(l,t,e);u!==null&&(Ht(u,l,e),Lu(u,l,e)),l={cache:lc()},t.payload=l;return}l=l.return}}function Hr(t,l,e){var u=Xt();e={lane:u,revertLane:0,gesture:null,action:e,hasEagerState:!1,eagerState:null,next:null},fn(t)?hd(l,e):(e=Li(t,l,e,u),e!==null&&(Ht(e,t,u),rd(e,l,u)))}function yd(t,l,e){var u=Xt();Wu(t,l,e,u)}function Wu(t,l,e,u){var a={lane:u,revertLane:0,gesture:null,action:e,hasEagerState:!1,eagerState:null,next:null};if(fn(t))hd(l,a);else{var n=t.alternate;if(t.lanes===0&&(n===null||n.lanes===0)&&(n=l.lastRenderedReducer,n!==null))try{var i=l.lastRenderedState,c=n(i,e);if(a.hasEagerState=!0,a.eagerState=c,Bt(c,i))return Qa(t,l,a,0),J===null&&Xa(),!1}catch{}finally{}if(e=Li(t,l,a,u),e!==null)return Ht(e,t,u),rd(e,l,u),!0}return!1}function Mc(t,l,e,u){if(u={lane:2,revertLane:nf(),gesture:null,action:u,hasEagerState:!1,eagerState:null,next:null},fn(t)){if(l)throw Error(g(479))}else l=Li(t,e,u,2),l!==null&&Ht(l,t,2)}function fn(t){var l=t.alternate;return t===U||l!==null&&l===U}function hd(t,l){lu=tn=!0;var e=t.pending;e===null?l.next=l:(l.next=e.next,e.next=l),t.pending=l}function rd(t,l,e){if(e&4194048){var u=l.lanes;u&=t.pendingLanes,e|=u,l.lanes=e,gs(t,e)}}var Fu={readContext:gt,use:un,useCallback:tt,useContext:tt,useEffect:tt,useImperativeHandle:tt,useLayoutEffect:tt,useInsertionEffect:tt,useMemo:tt,useReducer:tt,useRef:tt,useState:tt,useDebugValue:tt,useDeferredValue:tt,useTransition:tt,useSyncExternalStore:tt,useId:tt,useHostTransitionStatus:tt,useFormState:tt,useActionState:tt,useOptimistic:tt,useMemoCache:tt,useCacheRefresh:tt};Fu.useEffectEvent=tt;var vd={readContext:gt,use:un,useCallback:function(t,l){return pt().memoizedState=[t,l===void 0?null:l],t},useContext:gt,useEffect:Io,useImperativeHandle:function(t,l,e){e=e!=null?e.concat([t]):null,nn(4194308,4,ed.bind(null,l,t),e)},useLayoutEffect:function(t,l){return nn(4194308,4,t,l)},useInsertionEffect:function(t,l){nn(4,2,t,l)},useMemo:function(t,l){var e=pt();l=l===void 0?null:l;var u=t();if(Ee){Hl(!0);try{t()}finally{Hl(!1)}}return e.memoizedState=[u,l],u},useReducer:function(t,l,e){var u=pt();if(e!==void 0){var a=e(l);if(Ee){Hl(!0);try{e(l)}finally{Hl(!1)}}}else a=l;return u.memoizedState=u.baseState=a,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:a},u.queue=t,t=t.dispatch=Hr.bind(null,U,t),[u.memoizedState,t]},useRef:function(t){var l=pt();return t={current:t},l.memoizedState=t},useState:function(t){t=Ec(t);var l=t.queue,e=yd.bind(null,U,l);return l.dispatch=e,[t.memoizedState,e]},useDebugValue:pc,useDeferredValue:function(t,l){var e=pt();return Ac(e,t,l)},useTransition:function(){var t=Ec(!1);return t=cd.bind(null,U,t.queue,!0,!1),pt().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,l,e){var u=U,a=pt();if(V){if(e===void 0)throw Error(g(407));e=e()}else{if(e=l(),J===null)throw Error(g(349));q&127||qo(u,l,e)}a.memoizedState=e;var n={value:e,getSnapshot:l};return a.queue=n,Io(jo.bind(null,u,n,t),[t]),u.flags|=2048,uu(9,{destroy:void 0},Vo.bind(null,u,n,e,l),null),e},useId:function(){var t=pt(),l=J.identifierPrefix;if(V){var e=nl,u=al;e=(u&~(1<<32-Ct(u)-1)).toString(32)+e,l="_"+l+"R_"+e,e=ln++,0<\/script>",n=n.removeChild(n.firstChild);break;case"select":n=typeof u.is=="string"?i.createElement("select",{is:u.is}):i.createElement("select"),u.multiple?n.multiple=!0:u.size&&(n.size=u.size);break;default:n=typeof u.is=="string"?i.createElement(a,{is:u.is}):i.createElement(a)}}n[mt]=l,n[At]=u;t:for(i=l.child;i!==null;){if(i.tag===5||i.tag===6)n.appendChild(i.stateNode);else if(i.tag!==4&&i.tag!==27&&i.child!==null){i.child.return=i,i=i.child;continue}if(i===l)break t;for(;i.sibling===null;){if(i.return===null||i.return===l)break t;i=i.return}i.sibling.return=i.return,i=i.sibling}l.stateNode=n;t:switch(Et(n,a,u),a){case"button":case"input":case"select":case"textarea":u=!!u.autoFocus;break t;case"img":u=!0;break t;default:u=!1}u&&bl(l)}}return I(l),Qc(l,l.type,t===null?null:t.memoizedProps,l.pendingProps,e),null;case 6:if(t&&l.stateNode!=null)t.memoizedProps!==u&&bl(l);else{if(typeof u!="string"&&l.stateNode===null)throw Error(g(166));if(t=Ul.current,$e(l)){if(t=l.stateNode,e=l.memoizedProps,u=null,a=St,a!==null)switch(a.tag){case 27:case 5:u=a.memoizedProps}t[mt]=l,t=!!(t.nodeValue===e||u!==null&&u.suppressHydrationWarning===!0||By(t.nodeValue,e)),t||Yl(l,!0)}else t=Dn(t).createTextNode(u),t[mt]=l,l.stateNode=t}return I(l),null;case 31:if(e=l.memoizedState,t===null||t.memoizedState!==null){if(u=$e(l),e!==null){if(t===null){if(!u)throw Error(g(318));if(t=l.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(g(557));t[mt]=l}else he(),!(l.flags&128)&&(l.memoizedState=null),l.flags|=4;I(l),t=!1}else e=ki(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=e),t=!0;if(!t)return l.flags&256?(Vt(l),l):(Vt(l),null);if(l.flags&128)throw Error(g(558))}return I(l),null;case 13:if(u=l.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(a=$e(l),u!==null&&u.dehydrated!==null){if(t===null){if(!a)throw Error(g(318));if(a=l.memoizedState,a=a!==null?a.dehydrated:null,!a)throw Error(g(317));a[mt]=l}else he(),!(l.flags&128)&&(l.memoizedState=null),l.flags|=4;I(l),a=!1}else a=ki(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=a),a=!0;if(!a)return l.flags&256?(Vt(l),l):(Vt(l),null)}return Vt(l),l.flags&128?(l.lanes=e,l):(e=u!==null,t=t!==null&&t.memoizedState!==null,e&&(u=l.child,a=null,u.alternate!==null&&u.alternate.memoizedState!==null&&u.alternate.memoizedState.cachePool!==null&&(a=u.alternate.memoizedState.cachePool.pool),n=null,u.memoizedState!==null&&u.memoizedState.cachePool!==null&&(n=u.memoizedState.cachePool.pool),n!==a&&(u.flags|=2048)),e!==t&&e&&(l.child.flags|=8192),hn(l,l.updateQueue),I(l),null);case 4:return Re(),t===null&&of(l.stateNode.containerInfo),I(l),null;case 10:return vl(l.type),I(l),null;case 19:if(yt(et),u=l.memoizedState,u===null)return I(l),null;if(a=(l.flags&128)!==0,n=u.rendering,n===null)if(a)Iu(u,!1);else{if(lt!==0||t!==null&&t.flags&128)for(t=l.child;t!==null;){if(n=Pa(t),n!==null){for(l.flags|=128,Iu(u,!1),t=n.updateQueue,l.updateQueue=t,hn(l,t),l.subtreeFlags=0,t=e,e=l.child;e!==null;)yo(e,t),e=e.sibling;return w(et,et.current&1|2),V&&hl(l,u.treeForkCount),l.child}t=t.sibling}u.tail!==null&&Rt()>gn&&(l.flags|=128,a=!0,Iu(u,!1),l.lanes=4194304)}else{if(!a)if(t=Pa(n),t!==null){if(l.flags|=128,a=!0,t=t.updateQueue,l.updateQueue=t,hn(l,t),Iu(u,!0),u.tail===null&&u.tailMode==="hidden"&&!n.alternate&&!V)return I(l),null}else 2*Rt()-u.renderingStartTime>gn&&e!==536870912&&(l.flags|=128,a=!0,Iu(u,!1),l.lanes=4194304);u.isBackwards?(n.sibling=l.child,l.child=n):(t=u.last,t!==null?t.sibling=n:l.child=n,u.last=n)}return u.tail!==null?(t=u.tail,u.rendering=t,u.tail=t.sibling,u.renderingStartTime=Rt(),t.sibling=null,e=et.current,w(et,a?e&1|2:e&1),V&&hl(l,u.treeForkCount),t):(I(l),null);case 22:case 23:return Vt(l),oc(),u=l.memoizedState!==null,t!==null?t.memoizedState!==null!==u&&(l.flags|=8192):u&&(l.flags|=8192),u?e&536870912&&!(l.flags&128)&&(I(l),l.subtreeFlags&6&&(l.flags|=8192)):I(l),e=l.updateQueue,e!==null&&hn(l,e.retryQueue),e=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),u=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(u=l.memoizedState.cachePool.pool),u!==e&&(l.flags|=2048),t!==null&&yt(me),null;case 24:return e=null,t!==null&&(e=t.memoizedState.cache),l.memoizedState.cache!==e&&(l.flags|=2048),vl(it),I(l),null;case 25:return null;case 30:return null}throw Error(g(156,l.tag))}function Yr(t,l){switch(Wi(l),l.tag){case 1:return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 3:return vl(it),Re(),t=l.flags,t&65536&&!(t&128)?(l.flags=t&-65537|128,l):null;case 26:case 27:case 5:return pa(l),null;case 31:if(l.memoizedState!==null){if(Vt(l),l.alternate===null)throw Error(g(340));he()}return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 13:if(Vt(l),t=l.memoizedState,t!==null&&t.dehydrated!==null){if(l.alternate===null)throw Error(g(340));he()}return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 19:return yt(et),null;case 4:return Re(),null;case 10:return vl(l.type),null;case 22:case 23:return Vt(l),oc(),t!==null&&yt(me),t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 24:return vl(it),null;case 25:return null;default:return null}}function Gd(t,l){switch(Wi(l),l.tag){case 3:vl(it),Re();break;case 26:case 27:case 5:pa(l);break;case 4:Re();break;case 31:l.memoizedState!==null&&Vt(l);break;case 13:Vt(l);break;case 19:yt(et);break;case 10:vl(l.type);break;case 22:case 23:Vt(l),oc(),t!==null&&yt(me);break;case 24:vl(it)}}function Pu(t,l){try{var e=l.updateQueue,u=e!==null?e.lastEffect:null;if(u!==null){var a=u.next;e=a;do{if((e.tag&t)===t){u=void 0;var n=e.create,i=e.inst;u=n(),i.destroy=u}e=e.next}while(e!==a)}}catch(c){Z(l,l.return,c)}}function Zl(t,l,e){try{var u=l.updateQueue,a=u!==null?u.lastEffect:null;if(a!==null){var n=a.next;u=n;do{if((u.tag&t)===t){var i=u.inst,c=i.destroy;if(c!==void 0){i.destroy=void 0,a=l;var f=e,d=c;try{d()}catch(r){Z(a,f,r)}}}u=u.next}while(u!==n)}}catch(r){Z(l,l.return,r)}}function Xd(t){var l=t.updateQueue;if(l!==null){var e=t.stateNode;try{Ho(l,e)}catch(u){Z(t,t.return,u)}}}function Qd(t,l,e){e.props=ze(t.type,t.memoizedProps),e.state=t.memoizedState;try{e.componentWillUnmount()}catch(u){Z(t,l,u)}}function ta(t,l){try{var e=t.ref;if(e!==null){switch(t.tag){case 26:case 27:case 5:var u=t.stateNode;break;case 30:u=t.stateNode;break;default:u=t.stateNode}typeof e=="function"?t.refCleanup=e(u):e.current=u}}catch(a){Z(t,l,a)}}function il(t,l){var e=t.ref,u=t.refCleanup;if(e!==null)if(typeof u=="function")try{u()}catch(a){Z(t,l,a)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof e=="function")try{e(null)}catch(a){Z(t,l,a)}else e.current=null}function Zd(t){var l=t.type,e=t.memoizedProps,u=t.stateNode;try{t:switch(l){case"button":case"input":case"select":case"textarea":e.autoFocus&&u.focus();break t;case"img":e.src?u.src=e.src:e.srcSet&&(u.srcset=e.srcSet)}}catch(a){Z(t,t.return,a)}}function Zc(t,l,e){try{var u=t.stateNode;uv(u,t.type,e,l),u[At]=l}catch(a){Z(t,t.return,a)}}function xd(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&Wl(t.type)||t.tag===4}function xc(t){t:for(;;){for(;t.sibling===null;){if(t.return===null||xd(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.tag===27&&Wl(t.type)||t.flags&2||t.child===null||t.tag===4)continue t;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function Lc(t,l,e){var u=t.tag;if(u===5||u===6)t=t.stateNode,l?(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e).insertBefore(t,l):(l=e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,l.appendChild(t),e=e._reactRootContainer,e!=null||l.onclick!==null||(l.onclick=ol));else if(u!==4&&(u===27&&Wl(t.type)&&(e=t.stateNode,l=null),t=t.child,t!==null))for(Lc(t,l,e),t=t.sibling;t!==null;)Lc(t,l,e),t=t.sibling}function rn(t,l,e){var u=t.tag;if(u===5||u===6)t=t.stateNode,l?e.insertBefore(t,l):e.appendChild(t);else if(u!==4&&(u===27&&Wl(t.type)&&(e=t.stateNode),t=t.child,t!==null))for(rn(t,l,e),t=t.sibling;t!==null;)rn(t,l,e),t=t.sibling}function Ld(t){var l=t.stateNode,e=t.memoizedProps;try{for(var u=t.type,a=l.attributes;a.length;)l.removeAttributeNode(a[0]);Et(l,u,e),l[mt]=t,l[At]=e}catch(n){Z(t,t.return,n)}}var El=!1,st=!1,Kc=!1,Kd=typeof WeakSet=="function"?WeakSet:Set,rt=null;function qr(t,l){if(t=t.containerInfo,hf=Yn,t=eo(t),ji(t)){if("selectionStart"in t)var e={start:t.selectionStart,end:t.selectionEnd};else t:{e=(e=t.ownerDocument)&&e.defaultView||window;var u=e.getSelection&&e.getSelection();if(u&&u.rangeCount!==0){e=u.anchorNode;var a=u.anchorOffset,n=u.focusNode;u=u.focusOffset;try{e.nodeType,n.nodeType}catch{e=null;break t}var i=0,c=-1,f=-1,d=0,r=0,m=t,y=null;l:for(;;){for(var v;m!==e||a!==0&&m.nodeType!==3||(c=i+a),m!==n||u!==0&&m.nodeType!==3||(f=i+u),m.nodeType===3&&(i+=m.nodeValue.length),(v=m.firstChild)!==null;)y=m,m=v;for(;;){if(m===t)break l;if(y===e&&++d===a&&(c=i),y===n&&++r===u&&(f=i),(v=m.nextSibling)!==null)break;m=y,y=m.parentNode}m=v}e=c===-1||f===-1?null:{start:c,end:f}}else e=null}e=e||{start:0,end:0}}else e=null;for(rf={focusedElem:t,selectionRange:e},Yn=!1,rt=l;rt!==null;)if(l=rt,t=l.child,(l.subtreeFlags&1028)!==0&&t!==null)t.return=l,rt=t;else for(;rt!==null;){switch(l=rt,n=l.alternate,t=l.flags,l.tag){case 0:if(t&4&&(t=l.updateQueue,t=t!==null?t.events:null,t!==null))for(e=0;e title"))),Et(n,u,e),n[mt]=t,ht(n),u=n;break t;case"link":var i=ky("link","href",a).get(u+(e.href||""));if(i){for(var c=0;cH&&(i=H,H=p,p=i);var o=to(c,p),s=to(c,H);if(o&&s&&(v.rangeCount!==1||v.anchorNode!==o.node||v.anchorOffset!==o.offset||v.focusNode!==s.node||v.focusOffset!==s.offset)){var h=m.createRange();h.setStart(o.node,o.offset),v.removeAllRanges(),p>H?(v.addRange(h),v.extend(s.node,s.offset)):(h.setEnd(s.node,s.offset),v.addRange(h))}}}}for(m=[],v=c;v=v.parentNode;)v.nodeType===1&&m.push({element:v,left:v.scrollLeft,top:v.scrollTop});for(typeof c.focus=="function"&&c.focus(),c=0;ce?32:e,O.T=null,e=Ic,Ic=null;var n=Jl,i=Ol;if(dt=0,fu=Jl=null,Ol=0,X&6)throw Error(g(331));var c=X;if(X|=4,ey(n.current),Pd(n,n.current,i,e),X=c,ia(0,!1),Nt&&typeof Nt.onPostCommitFiberRoot=="function")try{Nt.onPostCommitFiberRoot(Au,n)}catch{}return!0}finally{G.p=a,O.T=u,Ey(t,l)}}function Ty(t,l,e){l=Lt(e,l),l=Rc(t.stateNode,l,2),t=Gl(t,l,2),t!==null&&(_u(t,2),cl(t))}function Z(t,l,e){if(t.tag===3)Ty(t,t,e);else for(;l!==null;){if(l.tag===3){Ty(l,t,e);break}else if(l.tag===1){var u=l.stateNode;if(typeof l.type.getDerivedStateFromError=="function"||typeof u.componentDidCatch=="function"&&(Kl===null||!Kl.has(u))){t=Lt(e,t),e=pd(2),u=Gl(l,e,2),u!==null&&(Ad(e,u,l,t),_u(u,2),cl(u));break}}l=l.return}}function ef(t,l,e){var u=t.pingCache;if(u===null){u=t.pingCache=new Gr;var a=new Set;u.set(l,a)}else a=u.get(l),a===void 0&&(a=new Set,u.set(l,a));a.has(e)||($c=!0,a.add(e),t=Lr.bind(null,t,l,e),l.then(t,t))}function Lr(t,l,e){var u=t.pingCache;u!==null&&u.delete(l),t.pingedLanes|=t.suspendedLanes&e,t.warmLanes&=~e,J===t&&(q&e)===e&&(lt===4||lt===3&&(q&62914560)===q&&300>Rt()-Sn?!(X&2)&&su(t,0):Wc|=e,cu===q&&(cu=0)),cl(t)}function py(t,l){l===0&&(l=ms()),t=de(t,l),t!==null&&(_u(t,l),cl(t))}function Kr(t){var l=t.memoizedState,e=0;l!==null&&(e=l.retryLane),py(t,e)}function Jr(t,l){var e=0;switch(t.tag){case 31:case 13:var u=t.stateNode,a=t.memoizedState;a!==null&&(e=a.retryLane);break;case 19:u=t.stateNode;break;case 22:u=t.stateNode._retryCache;break;default:throw Error(g(314))}u!==null&&u.delete(l),py(t,e)}function wr(t,l){return vi(t,l)}var An=null,du=null,uf=!1,On=!1,af=!1,$l=0;function cl(t){t!==du&&t.next===null&&(du===null?An=du=t:du=du.next=t),On=!0,uf||(uf=!0,Wr())}function ia(t,l){if(!af&&On){af=!0;do for(var e=!1,u=An;u!==null;){if(t!==0){var a=u.pendingLanes;if(a===0)var n=0;else{var i=u.suspendedLanes,c=u.pingedLanes;n=(1<<31-Ct(42|t)+1)-1,n&=a&~(i&~c),n=n&201326741?n&201326741|1:n?n|2:0}n!==0&&(e=!0,My(u,n))}else n=q,n=Da(u,u===J?n:0,u.cancelPendingCommit!==null||u.timeoutHandle!==-1),!(n&3)||Ou(u,n)||(e=!0,My(u,n));u=u.next}while(e);af=!1}}function $r(){Ay()}function Ay(){On=uf=!1;var t=0;$l!==0&&nv()&&(t=$l);for(var l=Rt(),e=null,u=An;u!==null;){var a=u.next,n=Oy(u,l);n===0?(u.next=null,e===null?An=a:e.next=a,a===null&&(du=e)):(e=u,(t!==0||n&3)&&(On=!0)),u=a}dt!==0&&dt!==5||ia(t),$l!==0&&($l=0)}function Oy(t,l){for(var e=t.suspendedLanes,u=t.pingedLanes,a=t.expirationTimes,n=t.pendingLanes&-62914561;0c)break;var r=f.transferSize,m=f.initiatorType;r&&Yy(m)&&(f=f.responseEnd,i+=r*(f"u"?null:document;function wy(t,l,e){var u=yu;if(u&&typeof l=="string"&&l){var a=Zt(l);a='link[rel="'+t+'"][href="'+a+'"]',typeof e=="string"&&(a+='[crossorigin="'+e+'"]'),Jy.has(a)||(Jy.add(a),t={rel:t,crossOrigin:e,href:l},u.querySelector(a)===null&&(l=u.createElement("link"),Et(l,"link",t),ht(l),u.head.appendChild(l)))}}function rv(t){_l.D(t),wy("dns-prefetch",t,null)}function vv(t,l){_l.C(t,l),wy("preconnect",t,l)}function mv(t,l,e){_l.L(t,l,e);var u=yu;if(u&&t&&l){var a='link[rel="preload"][as="'+Zt(l)+'"]';l==="image"&&e&&e.imageSrcSet?(a+='[imagesrcset="'+Zt(e.imageSrcSet)+'"]',typeof e.imageSizes=="string"&&(a+='[imagesizes="'+Zt(e.imageSizes)+'"]')):a+='[href="'+Zt(t)+'"]';var n=a;switch(l){case"style":n=hu(t);break;case"script":n=ru(t)}Ft.has(n)||(t=F({rel:"preload",href:l==="image"&&e&&e.imageSrcSet?void 0:t,as:l},e),Ft.set(n,t),u.querySelector(a)!==null||l==="style"&&u.querySelector(oa(n))||l==="script"&&u.querySelector(da(n))||(l=u.createElement("link"),Et(l,"link",t),ht(l),u.head.appendChild(l)))}}function Sv(t,l){_l.m(t,l);var e=yu;if(e&&t){var u=l&&typeof l.as=="string"?l.as:"script",a='link[rel="modulepreload"][as="'+Zt(u)+'"][href="'+Zt(t)+'"]',n=a;switch(u){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":n=ru(t)}if(!Ft.has(n)&&(t=F({rel:"modulepreload",href:t},l),Ft.set(n,t),e.querySelector(a)===null)){switch(u){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(e.querySelector(da(n)))return}u=e.createElement("link"),Et(u,"link",t),ht(u),e.head.appendChild(u)}}}function gv(t,l,e){_l.S(t,l,e);var u=yu;if(u&&t){var a=Ye(u).hoistableStyles,n=hu(t);l=l||"default";var i=a.get(n);if(!i){var c={loading:0,preload:null};if(i=u.querySelector(oa(n)))c.loading=5;else{t=F({rel:"stylesheet",href:t,"data-precedence":l},e),(e=Ft.get(n))&&zf(t,e);var f=i=u.createElement("link");ht(f),Et(f,"link",t),f._p=new Promise(function(d,r){f.onload=d,f.onerror=r}),f.addEventListener("load",function(){c.loading|=1}),f.addEventListener("error",function(){c.loading|=2}),c.loading|=4,Hn(i,l,u)}i={type:"stylesheet",instance:i,count:1,state:c},a.set(n,i)}}}function bv(t,l){_l.X(t,l);var e=yu;if(e&&t){var u=Ye(e).hoistableScripts,a=ru(t),n=u.get(a);n||(n=e.querySelector(da(a)),n||(t=F({src:t,async:!0},l),(l=Ft.get(a))&&Tf(t,l),n=e.createElement("script"),ht(n),Et(n,"link",t),e.head.appendChild(n)),n={type:"script",instance:n,count:1,state:null},u.set(a,n))}}function Ev(t,l){_l.M(t,l);var e=yu;if(e&&t){var u=Ye(e).hoistableScripts,a=ru(t),n=u.get(a);n||(n=e.querySelector(da(a)),n||(t=F({src:t,async:!0,type:"module"},l),(l=Ft.get(a))&&Tf(t,l),n=e.createElement("script"),ht(n),Et(n,"link",t),e.head.appendChild(n)),n={type:"script",instance:n,count:1,state:null},u.set(a,n))}}function $y(t,l,e,u){var a=(a=Ul.current)?Un(a):null;if(!a)throw Error(g(446));switch(t){case"meta":case"title":return null;case"style":return typeof e.precedence=="string"&&typeof e.href=="string"?(l=hu(e.href),e=Ye(a).hoistableStyles,u=e.get(l),u||(u={type:"style",instance:null,count:0,state:null},e.set(l,u)),u):{type:"void",instance:null,count:0,state:null};case"link":if(e.rel==="stylesheet"&&typeof e.href=="string"&&typeof e.precedence=="string"){t=hu(e.href);var n=Ye(a).hoistableStyles,i=n.get(t);if(i||(a=a.ownerDocument||a,i={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},n.set(t,i),(n=a.querySelector(oa(t)))&&!n._p&&(i.instance=n,i.state.loading=5),Ft.has(t)||(e={rel:"preload",as:"style",href:e.href,crossOrigin:e.crossOrigin,integrity:e.integrity,media:e.media,hrefLang:e.hrefLang,referrerPolicy:e.referrerPolicy},Ft.set(t,e),n||zv(a,t,e,i.state))),l&&u===null)throw Error(g(528,""));return i}if(l&&u!==null)throw Error(g(529,""));return null;case"script":return l=e.async,e=e.src,typeof e=="string"&&l&&typeof l!="function"&&typeof l!="symbol"?(l=ru(e),e=Ye(a).hoistableScripts,u=e.get(l),u||(u={type:"script",instance:null,count:0,state:null},e.set(l,u)),u):{type:"void",instance:null,count:0,state:null};default:throw Error(g(444,t))}}function hu(t){return'href="'+Zt(t)+'"'}function oa(t){return'link[rel="stylesheet"]['+t+"]"}function Wy(t){return F({},t,{"data-precedence":t.precedence,precedence:null})}function zv(t,l,e,u){t.querySelector('link[rel="preload"][as="style"]['+l+"]")?u.loading=1:(l=t.createElement("link"),u.preload=l,l.addEventListener("load",function(){return u.loading|=1}),l.addEventListener("error",function(){return u.loading|=2}),Et(l,"link",e),ht(l),t.head.appendChild(l))}function ru(t){return'[src="'+Zt(t)+'"]'}function da(t){return"script[async]"+t}function Fy(t,l,e){if(l.count++,l.instance===null)switch(l.type){case"style":var u=t.querySelector('style[data-href~="'+Zt(e.href)+'"]');if(u)return l.instance=u,ht(u),u;var a=F({},e,{"data-href":e.href,"data-precedence":e.precedence,href:null,precedence:null});return u=(t.ownerDocument||t).createElement("style"),ht(u),Et(u,"style",a),Hn(u,e.precedence,t),l.instance=u;case"stylesheet":a=hu(e.href);var n=t.querySelector(oa(a));if(n)return l.state.loading|=4,l.instance=n,ht(n),n;u=Wy(e),(a=Ft.get(a))&&zf(u,a),n=(t.ownerDocument||t).createElement("link"),ht(n);var i=n;return i._p=new Promise(function(c,f){i.onload=c,i.onerror=f}),Et(n,"link",u),l.state.loading|=4,Hn(n,e.precedence,t),l.instance=n;case"script":return n=ru(e.src),(a=t.querySelector(da(n)))?(l.instance=a,ht(a),a):(u=e,(a=Ft.get(n))&&(u=F({},e),Tf(u,a)),t=t.ownerDocument||t,a=t.createElement("script"),ht(a),Et(a,"link",u),t.head.appendChild(a),l.instance=a);case"void":return null;default:throw Error(g(443,l.type))}else l.type==="stylesheet"&&!(l.state.loading&4)&&(u=l.instance,l.state.loading|=4,Hn(u,e.precedence,t));return l.instance}function Hn(t,l,e){for(var u=e.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),a=u.length?u[u.length-1]:null,n=a,i=0;i title"):null)}function Tv(t,l,e){if(e===1||l.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof l.precedence!="string"||typeof l.href!="string"||l.href==="")break;return!0;case"link":if(typeof l.rel!="string"||typeof l.href!="string"||l.href===""||l.onLoad||l.onError)break;switch(l.rel){case"stylesheet":return t=l.disabled,typeof l.precedence=="string"&&t==null;default:return!0}case"script":if(l.async&&typeof l.async!="function"&&typeof l.async!="symbol"&&!l.onLoad&&!l.onError&&l.src&&typeof l.src=="string")return!0}return!1}function Py(t){return!(t.type==="stylesheet"&&!(t.state.loading&3))}function pv(t,l,e,u){if(e.type==="stylesheet"&&(typeof u.media!="string"||matchMedia(u.media).matches!==!1)&&!(e.state.loading&4)){if(e.instance===null){var a=hu(u.href),n=l.querySelector(oa(a));if(n){l=n._p,l!==null&&typeof l=="object"&&typeof l.then=="function"&&(t.count++,t=Nn.bind(t),l.then(t,t)),e.state.loading|=4,e.instance=n,ht(n);return}n=l.ownerDocument||l,u=Wy(u),(a=Ft.get(a))&&zf(u,a),n=n.createElement("link"),ht(n);var i=n;i._p=new Promise(function(c,f){i.onload=c,i.onerror=f}),Et(n,"link",u),e.instance=n}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(e,l),(l=e.state.preload)&&!(e.state.loading&3)&&(t.count++,e=Nn.bind(t),l.addEventListener("load",e),l.addEventListener("error",e))}}var pf=0;function Av(t,l){return t.stylesheets&&t.count===0&&Bn(t,t.stylesheets),0pf?50:800)+l);return t.unsuspend=e,function(){t.unsuspend=null,clearTimeout(u),clearTimeout(a)}}:null}function Nn(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Bn(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var Cn=null;function Bn(t,l){t.stylesheets=null,t.unsuspend!==null&&(t.count++,Cn=new Map,l.forEach(Ov,t),Cn=null,Nn.call(t))}function Ov(t,l){if(!(l.state.loading&4)){var e=Cn.get(t);if(e)var u=e.get(null);else{e=new Map,Cn.set(t,e);for(var a=t.querySelectorAll("link[data-precedence],style[data-precedence]"),n=0;n"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(hh)}catch(t){console.error(t)}}hh(),Ff.exports=ga;var Hf=Ff.exports;const Cv=ee({__proto__:null,default:Vf(Hf)},[Hf]);var rh={exports:{}},Zn={};/** +`+u.stack}}var ri=Object.prototype.hasOwnProperty,vi=ot.unstable_scheduleCallback,mi=ot.unstable_cancelCallback,y0=ot.unstable_shouldYield,h0=ot.unstable_requestPaint,Rt=ot.unstable_now,r0=ot.unstable_getCurrentPriorityLevel,hs=ot.unstable_ImmediatePriority,rs=ot.unstable_UserBlockingPriority,Oa=ot.unstable_NormalPriority,v0=ot.unstable_LowPriority,vs=ot.unstable_IdlePriority,m0=ot.log,S0=ot.unstable_setDisableYieldValue,Ou=null,Nt=null;function Rl(t){if(typeof m0=="function"&&S0(t),Nt&&typeof Nt.setStrictMode=="function")try{Nt.setStrictMode(Ou,t)}catch{}}var Ct=Math.clz32?Math.clz32:E0,g0=Math.log,b0=Math.LN2;function E0(t){return t>>>=0,t===0?32:31-(g0(t)/b0|0)|0}var _a=256,Ma=262144,Da=4194304;function ce(t){var l=t&42;if(l!==0)return l;switch(t&-t){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:return t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function Ua(t,l,e){var u=t.pendingLanes;if(u===0)return 0;var a=0,n=t.suspendedLanes,i=t.pingedLanes;t=t.warmLanes;var c=u&134217727;return c!==0?(u=c&~n,u!==0?a=ce(u):(i&=c,i!==0?a=ce(i):e||(e=c&~t,e!==0&&(a=ce(e))))):(c=u&~n,c!==0?a=ce(c):i!==0?a=ce(i):e||(e=u&~t,e!==0&&(a=ce(e)))),a===0?0:l!==0&&l!==a&&!(l&n)&&(n=a&-a,e=l&-l,n>=e||n===32&&(e&4194048)!==0)?l:a}function _u(t,l){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&l)===0}function z0(t,l){switch(t){case 1:case 2:case 4:case 8:case 64:return l+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 l+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 ms(){var t=Da;return Da<<=1,!(Da&62914560)&&(Da=4194304),t}function Si(t){for(var l=[],e=0;31>e;e++)l.push(t);return l}function Mu(t,l){t.pendingLanes|=l,l!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function T0(t,l,e,u,a,n){var i=t.pendingLanes;t.pendingLanes=e,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=e,t.entangledLanes&=e,t.errorRecoveryDisabledLanes&=e,t.shellSuspendCounter=0;var c=t.entanglements,f=t.expirationTimes,d=t.hiddenUpdates;for(e=i&~e;0"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var D0=/[\n"\\]/g;function xt(t){return t.replace(D0,function(l){return"\\"+l.charCodeAt(0).toString(16)+" "})}function pi(t,l,e,u,a,n,i,c){t.name="",i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"?t.type=i:t.removeAttribute("type"),l!=null?i==="number"?(l===0&&t.value===""||t.value!=l)&&(t.value=""+Zt(l)):t.value!==""+Zt(l)&&(t.value=""+Zt(l)):i!=="submit"&&i!=="reset"||t.removeAttribute("value"),l!=null?Ai(t,i,Zt(l)):e!=null?Ai(t,i,Zt(e)):u!=null&&t.removeAttribute("value"),a==null&&n!=null&&(t.defaultChecked=!!n),a!=null&&(t.checked=a&&typeof a!="function"&&typeof a!="symbol"),c!=null&&typeof c!="function"&&typeof c!="symbol"&&typeof c!="boolean"?t.name=""+Zt(c):t.removeAttribute("name")}function Us(t,l,e,u,a,n,i,c){if(n!=null&&typeof n!="function"&&typeof n!="symbol"&&typeof n!="boolean"&&(t.type=n),l!=null||e!=null){if(!(n!=="submit"&&n!=="reset"||l!=null)){Ti(t);return}e=e!=null?""+Zt(e):"",l=l!=null?""+Zt(l):e,c||l===t.value||(t.value=l),t.defaultValue=l}u=u??a,u=typeof u!="function"&&typeof u!="symbol"&&!!u,t.checked=c?t.checked:!!u,t.defaultChecked=!!u,i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(t.name=i),Ti(t)}function Ai(t,l,e){l==="number"&&Na(t.ownerDocument)===t||t.defaultValue===""+e||(t.defaultValue=""+e)}function je(t,l,e,u){if(t=t.options,l){l={};for(var a=0;a"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ui=!1;if(dl)try{var Ru={};Object.defineProperty(Ru,"passive",{get:function(){Ui=!0}}),window.addEventListener("test",Ru,Ru),window.removeEventListener("test",Ru,Ru)}catch{Ui=!1}var Cl=null,Hi=null,Ba=null;function qs(){if(Ba)return Ba;var t,l=Hi,e=l.length,u,a="value"in Cl?Cl.value:Cl.textContent,n=a.length;for(t=0;t=Bu),Zs=" ",xs=!1;function Ls(t,l){switch(t){case"keyup":return er.indexOf(l.keyCode)!==-1;case"keydown":return l.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ks(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var Ze=!1;function ar(t,l){switch(t){case"compositionend":return Ks(l);case"keypress":return l.which!==32?null:(xs=!0,Zs);case"textInput":return t=l.data,t===Zs&&xs?null:t;default:return null}}function nr(t,l){if(Ze)return t==="compositionend"||!Yi&&Ls(t,l)?(t=qs(),Ba=Hi=Cl=null,Ze=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(l.ctrlKey||l.altKey||l.metaKey)||l.ctrlKey&&l.altKey){if(l.char&&1=l)return{node:e,offset:l-t};t=u}t:{for(;e;){if(e.nextSibling){e=e.nextSibling;break t}e=e.parentNode}e=void 0}e=Ps(e)}}function lo(t,l){return t&&l?t===l?!0:t&&t.nodeType===3?!1:l&&l.nodeType===3?lo(t,l.parentNode):"contains"in t?t.contains(l):t.compareDocumentPosition?!!(t.compareDocumentPosition(l)&16):!1:!1}function eo(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var l=Na(t.document);l instanceof t.HTMLIFrameElement;){try{var e=typeof l.contentWindow.location.href=="string"}catch{e=!1}if(e)t=l.contentWindow;else break;l=Na(t.document)}return l}function ji(t){var l=t&&t.nodeName&&t.nodeName.toLowerCase();return l&&(l==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||l==="textarea"||t.contentEditable==="true")}var hr=dl&&"documentMode"in document&&11>=document.documentMode,xe=null,Gi=null,ju=null,Xi=!1;function uo(t,l,e){var u=e.window===e?e.document:e.nodeType===9?e:e.ownerDocument;Xi||xe==null||xe!==Na(u)||(u=xe,"selectionStart"in u&&ji(u)?u={start:u.selectionStart,end:u.selectionEnd}:(u=(u.ownerDocument&&u.ownerDocument.defaultView||window).getSelection(),u={anchorNode:u.anchorNode,anchorOffset:u.anchorOffset,focusNode:u.focusNode,focusOffset:u.focusOffset}),ju&&Vu(ju,u)||(ju=u,u=Dn(Gi,"onSelect"),0>=i,a-=i,al=1<<32-Ct(l)+a|e<A?(M=z,z=null):M=z.sibling;var R=y(o,z,h[A],S);if(R===null){z===null&&(z=M);break}t&&z&&R.alternate===null&&l(o,z),s=n(R,s,A),_===null?E=R:_.sibling=R,_=R,z=M}if(A===h.length)return e(o,z),j&&hl(o,A),E;if(z===null){for(;AA?(M=z,z=null):M=z.sibling;var It=y(o,z,R.value,S);if(It===null){z===null&&(z=M);break}t&&z&&It.alternate===null&&l(o,z),s=n(It,s,A),_===null?E=It:_.sibling=It,_=It,z=M}if(R.done)return e(o,z),j&&hl(o,A),E;if(z===null){for(;!R.done;A++,R=h.next())R=m(o,R.value,S),R!==null&&(s=n(R,s,A),_===null?E=R:_.sibling=R,_=R);return j&&hl(o,A),E}for(z=u(z);!R.done;A++,R=h.next())R=v(z,o,A,R.value,S),R!==null&&(t&&R.alternate!==null&&z.delete(R.key===null?A:R.key),s=n(R,s,A),_===null?E=R:_.sibling=R,_=R);return t&&z.forEach(function(ee){return l(o,ee)}),j&&hl(o,A),E}function H(o,s,h,S){if(typeof h=="object"&&h!==null&&h.type===He&&h.key===null&&(h=h.props.children),typeof h=="object"&&h!==null){switch(h.$$typeof){case za:t:{for(var E=h.key;s!==null;){if(s.key===E){if(E=h.type,E===He){if(s.tag===7){e(o,s.sibling),S=a(s,h.props.children),S.return=o,o=S;break t}}else if(s.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===Ul&&ge(E)===s.type){e(o,s.sibling),S=a(s,h.props),Lu(S,h),S.return=o,o=S;break t}e(o,s);break}else l(o,s);s=s.sibling}h.type===He?(S=he(h.props.children,o.mode,S,h.key),S.return=o,o=S):(S=La(h.type,h.key,h.props,null,o.mode,S),Lu(S,h),S.return=o,o=S)}return i(o);case zu:t:{for(E=h.key;s!==null;){if(s.key===E)if(s.tag===4&&s.stateNode.containerInfo===h.containerInfo&&s.stateNode.implementation===h.implementation){e(o,s.sibling),S=a(s,h.children||[]),S.return=o,o=S;break t}else{e(o,s);break}else l(o,s);s=s.sibling}S=wi(h,o.mode,S),S.return=o,o=S}return i(o);case Ul:return h=ge(h),H(o,s,h,S)}if(pu(h))return b(o,s,h,S);if(Tu(h)){if(E=Tu(h),typeof E!="function")throw Error(g(150));return h=E.call(h),p(o,s,h,S)}if(typeof h.then=="function")return H(o,s,ka(h),S);if(h.$$typeof===fl)return H(o,s,wa(o,h),S);Ia(o,h)}return typeof h=="string"&&h!==""||typeof h=="number"||typeof h=="bigint"?(h=""+h,s!==null&&s.tag===6?(e(o,s.sibling),S=a(s,h),S.return=o,o=S):(e(o,s),S=Ji(h,o.mode,S),S.return=o,o=S),i(o)):e(o,s)}return function(o,s,h,S){try{xu=0;var E=H(o,s,h,S);return tu=null,E}catch(z){if(z===Pe||z===Wa)throw z;var _=Yt(29,z,null,o.mode);return _.lanes=S,_.return=o,_}finally{}}}var Ee=Mo(!0),Do=Mo(!1),jl=!1;function nc(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function ic(t,l){t=t.updateQueue,l.updateQueue===t&&(l.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function Gl(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function Xl(t,l,e){var u=t.updateQueue;if(u===null)return null;if(u=u.shared,X&2){var a=u.pending;return a===null?l.next=l:(l.next=a.next,a.next=l),u.pending=l,l=xa(t),oo(t,null,e),l}return Za(t,u,l,e),xa(t)}function Ku(t,l,e){if(l=l.updateQueue,l!==null&&(l=l.shared,(e&4194048)!==0)){var u=l.lanes;u&=t.pendingLanes,e|=u,l.lanes=e,gs(t,e)}}function cc(t,l){var e=t.updateQueue,u=t.alternate;if(u!==null&&(u=u.updateQueue,e===u)){var a=null,n=null;if(e=e.firstBaseUpdate,e!==null){do{var i={lane:e.lane,tag:e.tag,payload:e.payload,callback:null,next:null};n===null?a=n=i:n=n.next=i,e=e.next}while(e!==null);n===null?a=n=l:n=n.next=l}else a=n=l;e={baseState:u.baseState,firstBaseUpdate:a,lastBaseUpdate:n,shared:u.shared,callbacks:u.callbacks},t.updateQueue=e;return}t=e.lastBaseUpdate,t===null?e.firstBaseUpdate=l:t.next=l,e.lastBaseUpdate=l}var fc=!1;function Ju(){if(fc){var t=Ie;if(t!==null)throw t}}function wu(t,l,e,u){fc=!1;var a=t.updateQueue;jl=!1;var n=a.firstBaseUpdate,i=a.lastBaseUpdate,c=a.shared.pending;if(c!==null){a.shared.pending=null;var f=c,d=f.next;f.next=null,i===null?n=d:i.next=d,i=f;var r=t.alternate;r!==null&&(r=r.updateQueue,c=r.lastBaseUpdate,c!==i&&(c===null?r.firstBaseUpdate=d:c.next=d,r.lastBaseUpdate=f))}if(n!==null){var m=a.baseState;i=0,r=d=f=null,c=n;do{var y=c.lane&-536870913,v=y!==c.lane;if(v?(q&y)===y:(u&y)===y){y!==0&&y===ke&&(fc=!0),r!==null&&(r=r.next={lane:0,tag:c.tag,payload:c.payload,callback:null,next:null});t:{var b=t,p=c;y=l;var H=e;switch(p.tag){case 1:if(b=p.payload,typeof b=="function"){m=b.call(H,m,y);break t}m=b;break t;case 3:b.flags=b.flags&-65537|128;case 0:if(b=p.payload,y=typeof b=="function"?b.call(H,m,y):b,y==null)break t;m=F({},m,y);break t;case 2:jl=!0}}y=c.callback,y!==null&&(t.flags|=64,v&&(t.flags|=8192),v=a.callbacks,v===null?a.callbacks=[y]:v.push(y))}else v={lane:y,tag:c.tag,payload:c.payload,callback:c.callback,next:null},r===null?(d=r=v,f=m):r=r.next=v,i|=y;if(c=c.next,c===null){if(c=a.shared.pending,c===null)break;v=c,c=v.next,v.next=null,a.lastBaseUpdate=v,a.shared.pending=null}}while(!0);r===null&&(f=m),a.baseState=f,a.firstBaseUpdate=d,a.lastBaseUpdate=r,n===null&&(a.shared.lanes=0),Kl|=i,t.lanes=i,t.memoizedState=m}}function Uo(t,l){if(typeof t!="function")throw Error(g(191,t));t.call(l)}function Ho(t,l){var e=t.callbacks;if(e!==null)for(t.callbacks=null,t=0;tn?n:8;var i=O.T,c={};O.T=c,Mc(t,!1,l,e);try{var f=a(),d=O.S;if(d!==null&&d(c,f),f!==null&&typeof f=="object"&&typeof f.then=="function"){var r=Tr(f,u);Fu(t,l,r,Xt(t))}else Fu(t,l,u,Xt(t))}catch(m){Fu(t,l,{then:function(){},status:"rejected",reason:m},Xt())}finally{G.p=n,i!==null&&c.types!==null&&(i.types=c.types),O.T=i}}function Dr(){}function Oc(t,l,e,u){if(t.tag!==5)throw Error(g(476));var a=fd(t).queue;cd(t,a,l,ne,e===null?Dr:function(){return sd(t),e(u)})}function fd(t){var l=t.memoizedState;if(l!==null)return l;l={memoizedState:ne,baseState:ne,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Sl,lastRenderedState:ne},next:null};var e={};return l.next={memoizedState:e,baseState:e,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Sl,lastRenderedState:e},next:null},t.memoizedState=l,t=t.alternate,t!==null&&(t.memoizedState=l),l}function sd(t){var l=fd(t);l.next===null&&(l=t.alternate.memoizedState),Fu(t,l.next.queue,{},Xt())}function _c(){return gt(ha)}function od(){return ut().memoizedState}function dd(){return ut().memoizedState}function Ur(t){for(var l=t.return;l!==null;){switch(l.tag){case 24:case 3:var e=Xt();t=Gl(e);var u=Xl(l,t,e);u!==null&&(Ht(u,l,e),Ku(u,l,e)),l={cache:lc()},t.payload=l;return}l=l.return}}function Hr(t,l,e){var u=Xt();e={lane:u,revertLane:0,gesture:null,action:e,hasEagerState:!1,eagerState:null,next:null},sn(t)?hd(l,e):(e=Li(t,l,e,u),e!==null&&(Ht(e,t,u),rd(e,l,u)))}function yd(t,l,e){var u=Xt();Fu(t,l,e,u)}function Fu(t,l,e,u){var a={lane:u,revertLane:0,gesture:null,action:e,hasEagerState:!1,eagerState:null,next:null};if(sn(t))hd(l,a);else{var n=t.alternate;if(t.lanes===0&&(n===null||n.lanes===0)&&(n=l.lastRenderedReducer,n!==null))try{var i=l.lastRenderedState,c=n(i,e);if(a.hasEagerState=!0,a.eagerState=c,Bt(c,i))return Za(t,l,a,0),J===null&&Qa(),!1}catch{}finally{}if(e=Li(t,l,a,u),e!==null)return Ht(e,t,u),rd(e,l,u),!0}return!1}function Mc(t,l,e,u){if(u={lane:2,revertLane:nf(),gesture:null,action:u,hasEagerState:!1,eagerState:null,next:null},sn(t)){if(l)throw Error(g(479))}else l=Li(t,e,u,2),l!==null&&Ht(l,t,2)}function sn(t){var l=t.alternate;return t===U||l!==null&&l===U}function hd(t,l){eu=ln=!0;var e=t.pending;e===null?l.next=l:(l.next=e.next,e.next=l),t.pending=l}function rd(t,l,e){if(e&4194048){var u=l.lanes;u&=t.pendingLanes,e|=u,l.lanes=e,gs(t,e)}}var ku={readContext:gt,use:an,useCallback:tt,useContext:tt,useEffect:tt,useImperativeHandle:tt,useLayoutEffect:tt,useInsertionEffect:tt,useMemo:tt,useReducer:tt,useRef:tt,useState:tt,useDebugValue:tt,useDeferredValue:tt,useTransition:tt,useSyncExternalStore:tt,useId:tt,useHostTransitionStatus:tt,useFormState:tt,useActionState:tt,useOptimistic:tt,useMemoCache:tt,useCacheRefresh:tt};ku.useEffectEvent=tt;var vd={readContext:gt,use:an,useCallback:function(t,l){return pt().memoizedState=[t,l===void 0?null:l],t},useContext:gt,useEffect:Io,useImperativeHandle:function(t,l,e){e=e!=null?e.concat([t]):null,cn(4194308,4,ed.bind(null,l,t),e)},useLayoutEffect:function(t,l){return cn(4194308,4,t,l)},useInsertionEffect:function(t,l){cn(4,2,t,l)},useMemo:function(t,l){var e=pt();l=l===void 0?null:l;var u=t();if(ze){Rl(!0);try{t()}finally{Rl(!1)}}return e.memoizedState=[u,l],u},useReducer:function(t,l,e){var u=pt();if(e!==void 0){var a=e(l);if(ze){Rl(!0);try{e(l)}finally{Rl(!1)}}}else a=l;return u.memoizedState=u.baseState=a,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:a},u.queue=t,t=t.dispatch=Hr.bind(null,U,t),[u.memoizedState,t]},useRef:function(t){var l=pt();return t={current:t},l.memoizedState=t},useState:function(t){t=Ec(t);var l=t.queue,e=yd.bind(null,U,l);return l.dispatch=e,[t.memoizedState,e]},useDebugValue:pc,useDeferredValue:function(t,l){var e=pt();return Ac(e,t,l)},useTransition:function(){var t=Ec(!1);return t=cd.bind(null,U,t.queue,!0,!1),pt().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,l,e){var u=U,a=pt();if(j){if(e===void 0)throw Error(g(407));e=e()}else{if(e=l(),J===null)throw Error(g(349));q&127||qo(u,l,e)}a.memoizedState=e;var n={value:e,getSnapshot:l};return a.queue=n,Io(jo.bind(null,u,n,t),[t]),u.flags|=2048,au(9,{destroy:void 0},Vo.bind(null,u,n,e,l),null),e},useId:function(){var t=pt(),l=J.identifierPrefix;if(j){var e=nl,u=al;e=(u&~(1<<32-Ct(u)-1)).toString(32)+e,l="_"+l+"R_"+e,e=en++,0<\/script>",n=n.removeChild(n.firstChild);break;case"select":n=typeof u.is=="string"?i.createElement("select",{is:u.is}):i.createElement("select"),u.multiple?n.multiple=!0:u.size&&(n.size=u.size);break;default:n=typeof u.is=="string"?i.createElement(a,{is:u.is}):i.createElement(a)}}n[mt]=l,n[At]=u;t:for(i=l.child;i!==null;){if(i.tag===5||i.tag===6)n.appendChild(i.stateNode);else if(i.tag!==4&&i.tag!==27&&i.child!==null){i.child.return=i,i=i.child;continue}if(i===l)break t;for(;i.sibling===null;){if(i.return===null||i.return===l)break t;i=i.return}i.sibling.return=i.return,i=i.sibling}l.stateNode=n;t:switch(Et(n,a,u),a){case"button":case"input":case"select":case"textarea":u=!!u.autoFocus;break t;case"img":u=!0;break t;default:u=!1}u&&bl(l)}}return I(l),Qc(l,l.type,t===null?null:t.memoizedProps,l.pendingProps,e),null;case 6:if(t&&l.stateNode!=null)t.memoizedProps!==u&&bl(l);else{if(typeof u!="string"&&l.stateNode===null)throw Error(g(166));if(t=Hl.current,We(l)){if(t=l.stateNode,e=l.memoizedProps,u=null,a=St,a!==null)switch(a.tag){case 27:case 5:u=a.memoizedProps}t[mt]=l,t=!!(t.nodeValue===e||u!==null&&u.suppressHydrationWarning===!0||By(t.nodeValue,e)),t||ql(l,!0)}else t=Un(t).createTextNode(u),t[mt]=l,l.stateNode=t}return I(l),null;case 31:if(e=l.memoizedState,t===null||t.memoizedState!==null){if(u=We(l),e!==null){if(t===null){if(!u)throw Error(g(318));if(t=l.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(g(557));t[mt]=l}else re(),!(l.flags&128)&&(l.memoizedState=null),l.flags|=4;I(l),t=!1}else e=ki(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=e),t=!0;if(!t)return l.flags&256?(Vt(l),l):(Vt(l),null);if(l.flags&128)throw Error(g(558))}return I(l),null;case 13:if(u=l.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(a=We(l),u!==null&&u.dehydrated!==null){if(t===null){if(!a)throw Error(g(318));if(a=l.memoizedState,a=a!==null?a.dehydrated:null,!a)throw Error(g(317));a[mt]=l}else re(),!(l.flags&128)&&(l.memoizedState=null),l.flags|=4;I(l),a=!1}else a=ki(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=a),a=!0;if(!a)return l.flags&256?(Vt(l),l):(Vt(l),null)}return Vt(l),l.flags&128?(l.lanes=e,l):(e=u!==null,t=t!==null&&t.memoizedState!==null,e&&(u=l.child,a=null,u.alternate!==null&&u.alternate.memoizedState!==null&&u.alternate.memoizedState.cachePool!==null&&(a=u.alternate.memoizedState.cachePool.pool),n=null,u.memoizedState!==null&&u.memoizedState.cachePool!==null&&(n=u.memoizedState.cachePool.pool),n!==a&&(u.flags|=2048)),e!==t&&e&&(l.child.flags|=8192),rn(l,l.updateQueue),I(l),null);case 4:return Ne(),t===null&&of(l.stateNode.containerInfo),I(l),null;case 10:return vl(l.type),I(l),null;case 19:if(yt(et),u=l.memoizedState,u===null)return I(l),null;if(a=(l.flags&128)!==0,n=u.rendering,n===null)if(a)Pu(u,!1);else{if(lt!==0||t!==null&&t.flags&128)for(t=l.child;t!==null;){if(n=tn(t),n!==null){for(l.flags|=128,Pu(u,!1),t=n.updateQueue,l.updateQueue=t,rn(l,t),l.subtreeFlags=0,t=e,e=l.child;e!==null;)yo(e,t),e=e.sibling;return w(et,et.current&1|2),j&&hl(l,u.treeForkCount),l.child}t=t.sibling}u.tail!==null&&Rt()>bn&&(l.flags|=128,a=!0,Pu(u,!1),l.lanes=4194304)}else{if(!a)if(t=tn(n),t!==null){if(l.flags|=128,a=!0,t=t.updateQueue,l.updateQueue=t,rn(l,t),Pu(u,!0),u.tail===null&&u.tailMode==="hidden"&&!n.alternate&&!j)return I(l),null}else 2*Rt()-u.renderingStartTime>bn&&e!==536870912&&(l.flags|=128,a=!0,Pu(u,!1),l.lanes=4194304);u.isBackwards?(n.sibling=l.child,l.child=n):(t=u.last,t!==null?t.sibling=n:l.child=n,u.last=n)}return u.tail!==null?(t=u.tail,u.rendering=t,u.tail=t.sibling,u.renderingStartTime=Rt(),t.sibling=null,e=et.current,w(et,a?e&1|2:e&1),j&&hl(l,u.treeForkCount),t):(I(l),null);case 22:case 23:return Vt(l),oc(),u=l.memoizedState!==null,t!==null?t.memoizedState!==null!==u&&(l.flags|=8192):u&&(l.flags|=8192),u?e&536870912&&!(l.flags&128)&&(I(l),l.subtreeFlags&6&&(l.flags|=8192)):I(l),e=l.updateQueue,e!==null&&rn(l,e.retryQueue),e=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),u=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(u=l.memoizedState.cachePool.pool),u!==e&&(l.flags|=2048),t!==null&&yt(Se),null;case 24:return e=null,t!==null&&(e=t.memoizedState.cache),l.memoizedState.cache!==e&&(l.flags|=2048),vl(it),I(l),null;case 25:return null;case 30:return null}throw Error(g(156,l.tag))}function Yr(t,l){switch(Wi(l),l.tag){case 1:return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 3:return vl(it),Ne(),t=l.flags,t&65536&&!(t&128)?(l.flags=t&-65537|128,l):null;case 26:case 27:case 5:return Aa(l),null;case 31:if(l.memoizedState!==null){if(Vt(l),l.alternate===null)throw Error(g(340));re()}return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 13:if(Vt(l),t=l.memoizedState,t!==null&&t.dehydrated!==null){if(l.alternate===null)throw Error(g(340));re()}return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 19:return yt(et),null;case 4:return Ne(),null;case 10:return vl(l.type),null;case 22:case 23:return Vt(l),oc(),t!==null&&yt(Se),t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 24:return vl(it),null;case 25:return null;default:return null}}function Gd(t,l){switch(Wi(l),l.tag){case 3:vl(it),Ne();break;case 26:case 27:case 5:Aa(l);break;case 4:Ne();break;case 31:l.memoizedState!==null&&Vt(l);break;case 13:Vt(l);break;case 19:yt(et);break;case 10:vl(l.type);break;case 22:case 23:Vt(l),oc(),t!==null&&yt(Se);break;case 24:vl(it)}}function ta(t,l){try{var e=l.updateQueue,u=e!==null?e.lastEffect:null;if(u!==null){var a=u.next;e=a;do{if((e.tag&t)===t){u=void 0;var n=e.create,i=e.inst;u=n(),i.destroy=u}e=e.next}while(e!==a)}}catch(c){Z(l,l.return,c)}}function xl(t,l,e){try{var u=l.updateQueue,a=u!==null?u.lastEffect:null;if(a!==null){var n=a.next;u=n;do{if((u.tag&t)===t){var i=u.inst,c=i.destroy;if(c!==void 0){i.destroy=void 0,a=l;var f=e,d=c;try{d()}catch(r){Z(a,f,r)}}}u=u.next}while(u!==n)}}catch(r){Z(l,l.return,r)}}function Xd(t){var l=t.updateQueue;if(l!==null){var e=t.stateNode;try{Ho(l,e)}catch(u){Z(t,t.return,u)}}}function Qd(t,l,e){e.props=Te(t.type,t.memoizedProps),e.state=t.memoizedState;try{e.componentWillUnmount()}catch(u){Z(t,l,u)}}function la(t,l){try{var e=t.ref;if(e!==null){switch(t.tag){case 26:case 27:case 5:var u=t.stateNode;break;case 30:u=t.stateNode;break;default:u=t.stateNode}typeof e=="function"?t.refCleanup=e(u):e.current=u}}catch(a){Z(t,l,a)}}function il(t,l){var e=t.ref,u=t.refCleanup;if(e!==null)if(typeof u=="function")try{u()}catch(a){Z(t,l,a)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof e=="function")try{e(null)}catch(a){Z(t,l,a)}else e.current=null}function Zd(t){var l=t.type,e=t.memoizedProps,u=t.stateNode;try{t:switch(l){case"button":case"input":case"select":case"textarea":e.autoFocus&&u.focus();break t;case"img":e.src?u.src=e.src:e.srcSet&&(u.srcset=e.srcSet)}}catch(a){Z(t,t.return,a)}}function Zc(t,l,e){try{var u=t.stateNode;uv(u,t.type,e,l),u[At]=l}catch(a){Z(t,t.return,a)}}function xd(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&Fl(t.type)||t.tag===4}function xc(t){t:for(;;){for(;t.sibling===null;){if(t.return===null||xd(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.tag===27&&Fl(t.type)||t.flags&2||t.child===null||t.tag===4)continue t;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function Lc(t,l,e){var u=t.tag;if(u===5||u===6)t=t.stateNode,l?(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e).insertBefore(t,l):(l=e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,l.appendChild(t),e=e._reactRootContainer,e!=null||l.onclick!==null||(l.onclick=ol));else if(u!==4&&(u===27&&Fl(t.type)&&(e=t.stateNode,l=null),t=t.child,t!==null))for(Lc(t,l,e),t=t.sibling;t!==null;)Lc(t,l,e),t=t.sibling}function vn(t,l,e){var u=t.tag;if(u===5||u===6)t=t.stateNode,l?e.insertBefore(t,l):e.appendChild(t);else if(u!==4&&(u===27&&Fl(t.type)&&(e=t.stateNode),t=t.child,t!==null))for(vn(t,l,e),t=t.sibling;t!==null;)vn(t,l,e),t=t.sibling}function Ld(t){var l=t.stateNode,e=t.memoizedProps;try{for(var u=t.type,a=l.attributes;a.length;)l.removeAttributeNode(a[0]);Et(l,u,e),l[mt]=t,l[At]=e}catch(n){Z(t,t.return,n)}}var El=!1,st=!1,Kc=!1,Kd=typeof WeakSet=="function"?WeakSet:Set,rt=null;function qr(t,l){if(t=t.containerInfo,hf=qn,t=eo(t),ji(t)){if("selectionStart"in t)var e={start:t.selectionStart,end:t.selectionEnd};else t:{e=(e=t.ownerDocument)&&e.defaultView||window;var u=e.getSelection&&e.getSelection();if(u&&u.rangeCount!==0){e=u.anchorNode;var a=u.anchorOffset,n=u.focusNode;u=u.focusOffset;try{e.nodeType,n.nodeType}catch{e=null;break t}var i=0,c=-1,f=-1,d=0,r=0,m=t,y=null;l:for(;;){for(var v;m!==e||a!==0&&m.nodeType!==3||(c=i+a),m!==n||u!==0&&m.nodeType!==3||(f=i+u),m.nodeType===3&&(i+=m.nodeValue.length),(v=m.firstChild)!==null;)y=m,m=v;for(;;){if(m===t)break l;if(y===e&&++d===a&&(c=i),y===n&&++r===u&&(f=i),(v=m.nextSibling)!==null)break;m=y,y=m.parentNode}m=v}e=c===-1||f===-1?null:{start:c,end:f}}else e=null}e=e||{start:0,end:0}}else e=null;for(rf={focusedElem:t,selectionRange:e},qn=!1,rt=l;rt!==null;)if(l=rt,t=l.child,(l.subtreeFlags&1028)!==0&&t!==null)t.return=l,rt=t;else for(;rt!==null;){switch(l=rt,n=l.alternate,t=l.flags,l.tag){case 0:if(t&4&&(t=l.updateQueue,t=t!==null?t.events:null,t!==null))for(e=0;e title"))),Et(n,u,e),n[mt]=t,ht(n),u=n;break t;case"link":var i=ky("link","href",a).get(u+(e.href||""));if(i){for(var c=0;cH&&(i=H,H=p,p=i);var o=to(c,p),s=to(c,H);if(o&&s&&(v.rangeCount!==1||v.anchorNode!==o.node||v.anchorOffset!==o.offset||v.focusNode!==s.node||v.focusOffset!==s.offset)){var h=m.createRange();h.setStart(o.node,o.offset),v.removeAllRanges(),p>H?(v.addRange(h),v.extend(s.node,s.offset)):(h.setEnd(s.node,s.offset),v.addRange(h))}}}}for(m=[],v=c;v=v.parentNode;)v.nodeType===1&&m.push({element:v,left:v.scrollLeft,top:v.scrollTop});for(typeof c.focus=="function"&&c.focus(),c=0;ce?32:e,O.T=null,e=Ic,Ic=null;var n=wl,i=Ol;if(dt=0,su=wl=null,Ol=0,X&6)throw Error(g(331));var c=X;if(X|=4,ey(n.current),Pd(n,n.current,i,e),X=c,ca(0,!1),Nt&&typeof Nt.onPostCommitFiberRoot=="function")try{Nt.onPostCommitFiberRoot(Ou,n)}catch{}return!0}finally{G.p=a,O.T=u,Ey(t,l)}}function Ty(t,l,e){l=Kt(e,l),l=Rc(t.stateNode,l,2),t=Xl(t,l,2),t!==null&&(Mu(t,2),cl(t))}function Z(t,l,e){if(t.tag===3)Ty(t,t,e);else for(;l!==null;){if(l.tag===3){Ty(l,t,e);break}else if(l.tag===1){var u=l.stateNode;if(typeof l.type.getDerivedStateFromError=="function"||typeof u.componentDidCatch=="function"&&(Jl===null||!Jl.has(u))){t=Kt(e,t),e=pd(2),u=Xl(l,e,2),u!==null&&(Ad(e,u,l,t),Mu(u,2),cl(u));break}}l=l.return}}function ef(t,l,e){var u=t.pingCache;if(u===null){u=t.pingCache=new Gr;var a=new Set;u.set(l,a)}else a=u.get(l),a===void 0&&(a=new Set,u.set(l,a));a.has(e)||($c=!0,a.add(e),t=Lr.bind(null,t,l,e),l.then(t,t))}function Lr(t,l,e){var u=t.pingCache;u!==null&&u.delete(l),t.pingedLanes|=t.suspendedLanes&e,t.warmLanes&=~e,J===t&&(q&e)===e&&(lt===4||lt===3&&(q&62914560)===q&&300>Rt()-gn?!(X&2)&&ou(t,0):Wc|=e,fu===q&&(fu=0)),cl(t)}function py(t,l){l===0&&(l=ms()),t=ye(t,l),t!==null&&(Mu(t,l),cl(t))}function Kr(t){var l=t.memoizedState,e=0;l!==null&&(e=l.retryLane),py(t,e)}function Jr(t,l){var e=0;switch(t.tag){case 31:case 13:var u=t.stateNode,a=t.memoizedState;a!==null&&(e=a.retryLane);break;case 19:u=t.stateNode;break;case 22:u=t.stateNode._retryCache;break;default:throw Error(g(314))}u!==null&&u.delete(l),py(t,e)}function wr(t,l){return vi(t,l)}var On=null,yu=null,uf=!1,_n=!1,af=!1,Wl=0;function cl(t){t!==yu&&t.next===null&&(yu===null?On=yu=t:yu=yu.next=t),_n=!0,uf||(uf=!0,Wr())}function ca(t,l){if(!af&&_n){af=!0;do for(var e=!1,u=On;u!==null;){if(t!==0){var a=u.pendingLanes;if(a===0)var n=0;else{var i=u.suspendedLanes,c=u.pingedLanes;n=(1<<31-Ct(42|t)+1)-1,n&=a&~(i&~c),n=n&201326741?n&201326741|1:n?n|2:0}n!==0&&(e=!0,My(u,n))}else n=q,n=Ua(u,u===J?n:0,u.cancelPendingCommit!==null||u.timeoutHandle!==-1),!(n&3)||_u(u,n)||(e=!0,My(u,n));u=u.next}while(e);af=!1}}function $r(){Ay()}function Ay(){_n=uf=!1;var t=0;Wl!==0&&nv()&&(t=Wl);for(var l=Rt(),e=null,u=On;u!==null;){var a=u.next,n=Oy(u,l);n===0?(u.next=null,e===null?On=a:e.next=a,a===null&&(yu=e)):(e=u,(t!==0||n&3)&&(_n=!0)),u=a}dt!==0&&dt!==5||ca(t),Wl!==0&&(Wl=0)}function Oy(t,l){for(var e=t.suspendedLanes,u=t.pingedLanes,a=t.expirationTimes,n=t.pendingLanes&-62914561;0c)break;var r=f.transferSize,m=f.initiatorType;r&&Yy(m)&&(f=f.responseEnd,i+=r*(f"u"?null:document;function wy(t,l,e){var u=hu;if(u&&typeof l=="string"&&l){var a=xt(l);a='link[rel="'+t+'"][href="'+a+'"]',typeof e=="string"&&(a+='[crossorigin="'+e+'"]'),Jy.has(a)||(Jy.add(a),t={rel:t,crossOrigin:e,href:l},u.querySelector(a)===null&&(l=u.createElement("link"),Et(l,"link",t),ht(l),u.head.appendChild(l)))}}function rv(t){_l.D(t),wy("dns-prefetch",t,null)}function vv(t,l){_l.C(t,l),wy("preconnect",t,l)}function mv(t,l,e){_l.L(t,l,e);var u=hu;if(u&&t&&l){var a='link[rel="preload"][as="'+xt(l)+'"]';l==="image"&&e&&e.imageSrcSet?(a+='[imagesrcset="'+xt(e.imageSrcSet)+'"]',typeof e.imageSizes=="string"&&(a+='[imagesizes="'+xt(e.imageSizes)+'"]')):a+='[href="'+xt(t)+'"]';var n=a;switch(l){case"style":n=ru(t);break;case"script":n=vu(t)}kt.has(n)||(t=F({rel:"preload",href:l==="image"&&e&&e.imageSrcSet?void 0:t,as:l},e),kt.set(n,t),u.querySelector(a)!==null||l==="style"&&u.querySelector(da(n))||l==="script"&&u.querySelector(ya(n))||(l=u.createElement("link"),Et(l,"link",t),ht(l),u.head.appendChild(l)))}}function Sv(t,l){_l.m(t,l);var e=hu;if(e&&t){var u=l&&typeof l.as=="string"?l.as:"script",a='link[rel="modulepreload"][as="'+xt(u)+'"][href="'+xt(t)+'"]',n=a;switch(u){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":n=vu(t)}if(!kt.has(n)&&(t=F({rel:"modulepreload",href:t},l),kt.set(n,t),e.querySelector(a)===null)){switch(u){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(e.querySelector(ya(n)))return}u=e.createElement("link"),Et(u,"link",t),ht(u),e.head.appendChild(u)}}}function gv(t,l,e){_l.S(t,l,e);var u=hu;if(u&&t){var a=qe(u).hoistableStyles,n=ru(t);l=l||"default";var i=a.get(n);if(!i){var c={loading:0,preload:null};if(i=u.querySelector(da(n)))c.loading=5;else{t=F({rel:"stylesheet",href:t,"data-precedence":l},e),(e=kt.get(n))&&zf(t,e);var f=i=u.createElement("link");ht(f),Et(f,"link",t),f._p=new Promise(function(d,r){f.onload=d,f.onerror=r}),f.addEventListener("load",function(){c.loading|=1}),f.addEventListener("error",function(){c.loading|=2}),c.loading|=4,Rn(i,l,u)}i={type:"stylesheet",instance:i,count:1,state:c},a.set(n,i)}}}function bv(t,l){_l.X(t,l);var e=hu;if(e&&t){var u=qe(e).hoistableScripts,a=vu(t),n=u.get(a);n||(n=e.querySelector(ya(a)),n||(t=F({src:t,async:!0},l),(l=kt.get(a))&&Tf(t,l),n=e.createElement("script"),ht(n),Et(n,"link",t),e.head.appendChild(n)),n={type:"script",instance:n,count:1,state:null},u.set(a,n))}}function Ev(t,l){_l.M(t,l);var e=hu;if(e&&t){var u=qe(e).hoistableScripts,a=vu(t),n=u.get(a);n||(n=e.querySelector(ya(a)),n||(t=F({src:t,async:!0,type:"module"},l),(l=kt.get(a))&&Tf(t,l),n=e.createElement("script"),ht(n),Et(n,"link",t),e.head.appendChild(n)),n={type:"script",instance:n,count:1,state:null},u.set(a,n))}}function $y(t,l,e,u){var a=(a=Hl.current)?Hn(a):null;if(!a)throw Error(g(446));switch(t){case"meta":case"title":return null;case"style":return typeof e.precedence=="string"&&typeof e.href=="string"?(l=ru(e.href),e=qe(a).hoistableStyles,u=e.get(l),u||(u={type:"style",instance:null,count:0,state:null},e.set(l,u)),u):{type:"void",instance:null,count:0,state:null};case"link":if(e.rel==="stylesheet"&&typeof e.href=="string"&&typeof e.precedence=="string"){t=ru(e.href);var n=qe(a).hoistableStyles,i=n.get(t);if(i||(a=a.ownerDocument||a,i={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},n.set(t,i),(n=a.querySelector(da(t)))&&!n._p&&(i.instance=n,i.state.loading=5),kt.has(t)||(e={rel:"preload",as:"style",href:e.href,crossOrigin:e.crossOrigin,integrity:e.integrity,media:e.media,hrefLang:e.hrefLang,referrerPolicy:e.referrerPolicy},kt.set(t,e),n||zv(a,t,e,i.state))),l&&u===null)throw Error(g(528,""));return i}if(l&&u!==null)throw Error(g(529,""));return null;case"script":return l=e.async,e=e.src,typeof e=="string"&&l&&typeof l!="function"&&typeof l!="symbol"?(l=vu(e),e=qe(a).hoistableScripts,u=e.get(l),u||(u={type:"script",instance:null,count:0,state:null},e.set(l,u)),u):{type:"void",instance:null,count:0,state:null};default:throw Error(g(444,t))}}function ru(t){return'href="'+xt(t)+'"'}function da(t){return'link[rel="stylesheet"]['+t+"]"}function Wy(t){return F({},t,{"data-precedence":t.precedence,precedence:null})}function zv(t,l,e,u){t.querySelector('link[rel="preload"][as="style"]['+l+"]")?u.loading=1:(l=t.createElement("link"),u.preload=l,l.addEventListener("load",function(){return u.loading|=1}),l.addEventListener("error",function(){return u.loading|=2}),Et(l,"link",e),ht(l),t.head.appendChild(l))}function vu(t){return'[src="'+xt(t)+'"]'}function ya(t){return"script[async]"+t}function Fy(t,l,e){if(l.count++,l.instance===null)switch(l.type){case"style":var u=t.querySelector('style[data-href~="'+xt(e.href)+'"]');if(u)return l.instance=u,ht(u),u;var a=F({},e,{"data-href":e.href,"data-precedence":e.precedence,href:null,precedence:null});return u=(t.ownerDocument||t).createElement("style"),ht(u),Et(u,"style",a),Rn(u,e.precedence,t),l.instance=u;case"stylesheet":a=ru(e.href);var n=t.querySelector(da(a));if(n)return l.state.loading|=4,l.instance=n,ht(n),n;u=Wy(e),(a=kt.get(a))&&zf(u,a),n=(t.ownerDocument||t).createElement("link"),ht(n);var i=n;return i._p=new Promise(function(c,f){i.onload=c,i.onerror=f}),Et(n,"link",u),l.state.loading|=4,Rn(n,e.precedence,t),l.instance=n;case"script":return n=vu(e.src),(a=t.querySelector(ya(n)))?(l.instance=a,ht(a),a):(u=e,(a=kt.get(n))&&(u=F({},e),Tf(u,a)),t=t.ownerDocument||t,a=t.createElement("script"),ht(a),Et(a,"link",u),t.head.appendChild(a),l.instance=a);case"void":return null;default:throw Error(g(443,l.type))}else l.type==="stylesheet"&&!(l.state.loading&4)&&(u=l.instance,l.state.loading|=4,Rn(u,e.precedence,t));return l.instance}function Rn(t,l,e){for(var u=e.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),a=u.length?u[u.length-1]:null,n=a,i=0;i title"):null)}function Tv(t,l,e){if(e===1||l.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof l.precedence!="string"||typeof l.href!="string"||l.href==="")break;return!0;case"link":if(typeof l.rel!="string"||typeof l.href!="string"||l.href===""||l.onLoad||l.onError)break;switch(l.rel){case"stylesheet":return t=l.disabled,typeof l.precedence=="string"&&t==null;default:return!0}case"script":if(l.async&&typeof l.async!="function"&&typeof l.async!="symbol"&&!l.onLoad&&!l.onError&&l.src&&typeof l.src=="string")return!0}return!1}function Py(t){return!(t.type==="stylesheet"&&!(t.state.loading&3))}function pv(t,l,e,u){if(e.type==="stylesheet"&&(typeof u.media!="string"||matchMedia(u.media).matches!==!1)&&!(e.state.loading&4)){if(e.instance===null){var a=ru(u.href),n=l.querySelector(da(a));if(n){l=n._p,l!==null&&typeof l=="object"&&typeof l.then=="function"&&(t.count++,t=Cn.bind(t),l.then(t,t)),e.state.loading|=4,e.instance=n,ht(n);return}n=l.ownerDocument||l,u=Wy(u),(a=kt.get(a))&&zf(u,a),n=n.createElement("link"),ht(n);var i=n;i._p=new Promise(function(c,f){i.onload=c,i.onerror=f}),Et(n,"link",u),e.instance=n}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(e,l),(l=e.state.preload)&&!(e.state.loading&3)&&(t.count++,e=Cn.bind(t),l.addEventListener("load",e),l.addEventListener("error",e))}}var pf=0;function Av(t,l){return t.stylesheets&&t.count===0&&Yn(t,t.stylesheets),0pf?50:800)+l);return t.unsuspend=e,function(){t.unsuspend=null,clearTimeout(u),clearTimeout(a)}}:null}function Cn(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Yn(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var Bn=null;function Yn(t,l){t.stylesheets=null,t.unsuspend!==null&&(t.count++,Bn=new Map,l.forEach(Ov,t),Bn=null,Cn.call(t))}function Ov(t,l){if(!(l.state.loading&4)){var e=Bn.get(t);if(e)var u=e.get(null);else{e=new Map,Bn.set(t,e);for(var a=t.querySelectorAll("link[data-precedence],style[data-precedence]"),n=0;n"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(hh)}catch(t){console.error(t)}}hh(),Ff.exports=ba;var Hf=Ff.exports;const Cv=ue({__proto__:null,default:Vf(Hf)},[Hf]);var rh={exports:{}},xn={};/** * @license React * react-jsx-runtime.production.js * @@ -46,4 +46,4 @@ Error generating stack: `+u.message+` * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Bv=Symbol.for("react.transitional.element"),Yv=Symbol.for("react.fragment");function vh(t,l,e){var u=null;if(e!==void 0&&(u=""+e),l.key!==void 0&&(u=""+l.key),"key"in l){e={};for(var a in l)a!=="key"&&(e[a]=l[a])}else e=l;return l=e.ref,{$$typeof:Bv,type:t,key:u,ref:l!==void 0?l:null,props:e}}Zn.Fragment=Yv,Zn.jsx=vh,Zn.jsxs=vh,rh.exports=Zn;var Ae=rh.exports;const mh=j.createContext(null);function Sh({namespace:t,children:l}){return Ae.jsx(mh.Provider,{value:t,children:l})}function qv(){return j.useContext(mh)}function Vv(t,l){return l?`${l}-${t}`:t}function te(t,l){const e=qv();return Vv(t,l!==void 0?l:e)}function jv({id:t,tagName:l="div",namespace:e,...u}){const a=te(t,e),n=j.useRef(null);return j.useEffect(()=>{var d;const i=n.current,c=i==null?void 0:i.parentElement;if(!i||!c||!((d=window.Shiny)!=null&&d.bindAll))return;const f=(r,m)=>{console.error(`[shinyreact] ShinyOutput "${a}" ${m} failed:`,{id:a,phase:m,error:r})};try{const r=window.Shiny.bindAll(c);r&&typeof r.catch=="function"&&r.catch(m=>f(m,"bindAll"))}catch(r){f(r,"bindAll")}return()=>{var r,m;try{(m=(r=window.Shiny)==null?void 0:r.unbindAll)==null||m.call(r,i,!0)}catch(y){f(y,"unbindAll")}}},[a,l]),Wf.createElement(l,{id:a,ref:n,...u})}const mu=Symbol("MISSING"),gh="1.0";function Gv(){if(typeof document>"u")return null;const t=document.getElementById("shinyreact-config"),l=t==null?void 0:t.textContent;if(!l)return null;try{return JSON.parse(l)}catch(e){return console.error("shinyreact: could not parse #shinyreact-config JSON",e),null}}function Xv(t){if(typeof document<"u"&&document.body){const l="shinyreact-fatal-error";let e=document.getElementById(l);e||(e=document.createElement("div"),e.id=l,e.setAttribute("role","alert"),e.style.cssText="position:fixed;top:0;left:0;right:0;z-index:99999;padding:1rem 1.25rem;background:#fee2e2;color:#7f1d1d;border-bottom:4px solid #991b1b;font-family:system-ui,sans-serif;font-size:15px;line-height:1.5;white-space:pre-wrap",document.body.appendChild(e));const u=e;u.textContent="",t.split("`").forEach((a,n)=>{if(n%2===0){u.appendChild(document.createTextNode(a));return}const i=document.createElement("code");i.textContent=a,i.style.cssText="background:#fff;color:#7f1d1d;border:1px solid #f0a3a3;border-radius:4px;padding:0.1em 0.35em;font-family:ui-monospace,SFMono-Regular,monospace;font-size:0.95em",u.appendChild(i)})}throw new Error(t.replace(/`/g,""))}function Qv(t){const l=e=>e.split(".")[0];l(t)!==l(gh)&&Xv(`shinyreact protocol mismatch: the server speaks protocol \`${t}\` but this JS client supports \`${gh}\`. Upgrade the older side (the shinyreact R/Python package, or the client bundle) so the major protocol versions match.`)}function Zv(t){const l=typeof window<"u"?window:globalThis,e=l.shinyreact=l.shinyreact||{},u=e._restore,a=Gv();if(a!=null&&a.protocolVersion?Qv(a.protocolVersion):a!=null&&console.error("shinyreact: the `#shinyreact-config` tag carries no `protocolVersion`, so the client cannot verify it speaks the same protocol as the server. Upgrade the shinyreact Python/R package.".replace(/`/g,"")),u&&typeof u=="object"&&u["-applied"])return;const n=a==null?void 0:a.restore,i=Object.create(null);if(n&&typeof n=="object")for(const[c,f]of Object.entries(n))t.add(c,f),i[c]=f;e._restore={"-applied":!0,"-values":i}}let Rf=!1,xn=!1;const Nf=new Set;let bh=!1,Eh,zh,Th;function ph(){for(const t of Nf)t()}function Ah(){Rf||(Rf=!0,ph())}function Oh(t){xn!==t&&(xn=t,ph())}function xv(){if(bh||typeof document>"u")return;bh=!0,document.documentElement.classList.contains("shiny-busy")&&(xn=!0),Eh=()=>Oh(!0),zh=()=>Oh(!1),document.addEventListener("shiny:busy",Eh),document.addEventListener("shiny:idle",zh);const t=nt();if(t){t.initializedPromise.then(Ah);return}Th=()=>{const l=nt();l&&l.initializedPromise.then(Ah)},document.addEventListener("shiny:connected",Th,{once:!0})}function _h(t){return xv(),Nf.add(t),()=>{Nf.delete(t)}}function Mh(){return Rf}function Dh(){return xn}class Lv{constructor(){K(this,"messageHandlers",new Map);K(this,"initialized",!1)}init(){if(this.initialized)return;const l=nt();l&&(l.addCustomMessageHandler("shinyReactMessage",e=>{this.dispatchMessage(e.id,e.data)}),this.initialized=!0)}addHandler(l,e){this.init(),this.messageHandlers.has(l)||this.messageHandlers.set(l,new Set),this.messageHandlers.get(l).add(e)}removeHandler(l,e){const u=this.messageHandlers.get(l);u&&(u.delete(e),u.size===0&&this.messageHandlers.delete(l))}dispatchMessage(l,e){const u=this.messageHandlers.get(l);u&&u.forEach(a=>a(e))}getHandlerCount(l){const e=this.messageHandlers.get(l);return e?e.size:0}getActiveMessageIds(){return Array.from(this.messageHandlers.keys())}}const Uh=new Lv;function Hh(){const t=nt();return t?t.messageRegistry??(t.messageRegistry=Uh):Uh}function Kv(){nt()&&Hh()}class Jv{constructor(l){K(this,"id");K(this,"el");K(this,"status","pending");K(this,"hasValue",!1);K(this,"lastValue");K(this,"lastError",null);K(this,"useStateSetValueFns");K(this,"useStateSetStatusFns");K(this,"useStateSetErrorFns");this.id=l,this.useStateSetValueFns=new Set,this.useStateSetStatusFns=new Set,this.useStateSetErrorFns=new Set}hasReceivedValue(){return this.hasValue}getLastValue(){return this.lastValue}getLastError(){return this.lastError}addUseStateSetValueFn(l){this.useStateSetValueFns.add(l)}removeUseStateSetValueFn(l){this.useStateSetValueFns.delete(l)}addUseStateSetStatusFn(l){this.useStateSetStatusFns.add(l)}removeUseStateSetStatusFn(l){this.useStateSetStatusFns.delete(l)}addUseStateSetErrorFn(l){this.useStateSetErrorFns.add(l)}removeUseStateSetErrorFn(l){this.useStateSetErrorFns.delete(l)}getStatus(){return this.status}setStatus(l){this.status!==l&&(this.status=l,this.useStateSetStatusFns.forEach(e=>e(l)))}setValue(l){this.hasValue=!0,this.lastValue=l,this.useStateSetValueFns.forEach(e=>e(l)),this.status==="error"&&(this.lastError=null,this.useStateSetErrorFns.forEach(e=>e(null))),this.setStatus("ready")}setRecalculating(l){l?this.hasValue&&(this.status==="error"&&(this.lastError=null,this.useStateSetErrorFns.forEach(e=>e(null))),this.setStatus("recalculating")):this.hasValue&&this.status==="recalculating"&&this.setStatus("ready")}setError(l){this.lastError=l,this.useStateSetErrorFns.forEach(e=>e(l)),this.setStatus("error")}isEmpty(){return this.useStateSetValueFns.size===0&&this.useStateSetStatusFns.size===0&&this.useStateSetErrorFns.size===0}}class wv{constructor(){K(this,"outputs",new Map);K(this,"bindAllScheduled",!1);K(this,"containerEl")}get container(){return this.containerEl??(this.containerEl=(()=>{const l=document.createElement("div");return l.className="shiny-react-output-container",l.style.visibility="hidden",document.body.appendChild(l),l})()),this.containerEl}add(l,e,u,a){let n=this.get(l);if(!n){const i=document.createElement("div");i.className="shiny-react-output",i.id=l,this.container.appendChild(i),n=new Jv(l),n.el=i,this.outputs.set(l,n),this.scheduleBindAll()}return n.addUseStateSetValueFn(e),n.addUseStateSetStatusFn(u),n.addUseStateSetErrorFn(a),n.hasReceivedValue()&&e(n.getLastValue()),u(n.getStatus()),n.getStatus()==="error"&&a(n.getLastError()),()=>{n.removeUseStateSetValueFn(e),n.removeUseStateSetStatusFn(u),n.removeUseStateSetErrorFn(a),this.scheduleCleanup(l)}}has(l){return this.outputs.has(l)}get(l){return this.outputs.get(l)}scheduleCleanup(l){requestAnimationFrame(()=>{var u;const e=this.outputs.get(l);!e||!e.isEmpty()||(this.outputs.delete(l),(u=e.el)==null||u.remove(),this.scheduleBindAll())})}scheduleBindAll(){const l=nt();!l||!this.containerEl||this.bindAllScheduled||(this.bindAllScheduled=!0,requestAnimationFrame(()=>{var e,u;(e=l.unbindAll)==null||e.call(l,this.container),(u=l.bindAll)==null||u.call(l,this.container),this.bindAllScheduled=!1}))}}function $v(t){const l=nt();if(!l)return;class e extends l.OutputBinding{find(a){return $(a).find(".shiny-react-output")}renderValue(a,n){const i=t().get(a.id);if(!i){console.error(`Output ${a.id} not found`);return}i.setValue(n)}renderError(a,n){console.error(`Error for ${a.id}:`,n);const i=t().get(a.id);i&&i.setError(n)}showProgress(a,n){const i=t().get(a.id);if(!i){console.error(`Output ${a.id} not found`);return}i.setRecalculating(n)}}l.outputBindings.register(new e,"shiny.reactOutput")}function Cf(t,l){let e=null;const u=function(...a){const n=()=>{e=null,t(...a)};e!==null&&clearTimeout(e),e=setTimeout(n,l)};return u.setDelay=a=>{l=a},u.getDelay=()=>l,u.cancel=()=>{e!==null&&(clearTimeout(e),e=null)},u}const ma=class ma{constructor(l,e){K(this,"id");K(this,"value");K(this,"useStateSetValueFns");K(this,"shinySetInputValueDebounced");K(this,"opts",{debounceMs:100});K(this,"type");K(this,"typeFinalized",!1);this.id=l,this.value=e,this.useStateSetValueFns=new Set,this.shinySetInputValueDebounced=Cf(this.setShinyInputValue.bind(this),this.opts.debounceMs)}isEmpty(){return this.useStateSetValueFns.size===0}setShinyInputValue(l){var u,a;const e=`${this.id}:${this.type??ma.DEFAULT_TYPE}`;(a=(u=nt())==null?void 0:u.setInputValue)==null||a.call(u,e,l,this.opts)}updateDebounceDelay(l){this.shinySetInputValueDebounced.setDelay(l)}updatePriority(l){const e=this.opts.priority;e!==void 0&&e!==l&&console.warn(`[shinyreact] Input "${this.id}" priority changed from ${JSON.stringify(e)} to ${JSON.stringify(l)}. Priority is per-id here, so the most recent mount wins — if two call sites for this id disagree, the winner depends on mount order.`),this.opts.priority=l}updateType(l){if(!this.typeFinalized){this.type=l,this.typeFinalized=!0;return}if(l!==void 0&&this.type!==l)throw new Error(`Input "${this.id}" is already registered with type=${this.type===void 0?`undefined (wire id "${this.id}:${ma.DEFAULT_TYPE}")`:JSON.stringify(this.type)}. A second mount requested type=${JSON.stringify(l)}. An input's handler type changes server-side semantics and must be consistent across every useShinyInput / useSetShinyInput call for the same id.`)}addUseStateSetValueFn(l){this.useStateSetValueFns.add(l)}removeUseStateSetValueFn(l){this.useStateSetValueFns.delete(l)}setValue(l){const e=typeof l=="function"?l(this.value):l;if(this.value=e,this.useStateSetValueFns.forEach(u=>u(e)),e===mu){this.shinySetInputValueDebounced.cancel();return}this.shinySetInputValueDebounced(e)}getValue(){return this.value}};K(ma,"DEFAULT_TYPE","shinyreact.default");let Bf=ma;class Wv{constructor(){K(this,"inputs",new Map);K(this,"pendingSubscribers",new Map)}get(l){return this.inputs.get(l)}has(l){return this.inputs.has(l)}add(l,e){if(this.inputs.has(l))throw new Error(`Input ${l} already exists`);const u=new Bf(l,e);this.inputs.set(l,u);const a=this.pendingSubscribers.get(l);return a&&(a.forEach(n=>{u.addUseStateSetValueFn(n),n(u.getValue())}),this.pendingSubscribers.delete(l)),u}getOrCreate(l,e){let u=this.get(l);return u||(u=this.add(l,e)),u}subscribe(l,e){const u=this.get(l);if(u)return u.addUseStateSetValueFn(e),e(u.getValue()),()=>{const n=this.get(l);n&&n.removeUseStateSetValueFn(e)};let a=this.pendingSubscribers.get(l);return a||(a=new Set,this.pendingSubscribers.set(l,a)),a.add(e),()=>{const n=this.get(l);if(n){n.removeUseStateSetValueFn(e);return}const i=this.pendingSubscribers.get(l);i&&(i.delete(e),i.size===0&&this.pendingSubscribers.delete(l))}}remove(l){const e=this.inputs.get(l);return e&&e.shinySetInputValueDebounced.cancel(),this.inputs.delete(l)}keys(){return this.inputs.keys()}size(){return this.inputs.size}}let Rh;function Nh(){return Rh??(Rh={inputs:new Wv,outputs:new wv}),Rh}function Fv(){kt()}function kt(){const t=nt();return t?t.reactRegistry??(t.reactRegistry=Nh()):Nh()}function Ln(t,l,{debounceMs:e=100,priority:u,namespace:a,type:n}={}){if(Su(),n!==void 0&&!/^[^\s:]+$/.test(n))throw new Error(`useShinyInput("${t}"): invalid type=${JSON.stringify(n)}. Must be non-empty and contain no whitespace or ':' characters.`);const i=te(t,a),f=j.useRef(l).current;let d=f;const m=kt().inputs.get(i);m&&(d=m.getValue());const[y,v]=j.useState(d),b=Oe();j.useEffect(()=>{if(!b)return;const o=kt().inputs.getOrCreate(i,f);return e!==void 0&&o.updateDebounceDelay(e),u&&o.updatePriority(u),o.updateType(n),o.addUseStateSetValueFn(v),o.setValue(o.getValue()),()=>{o.removeUseStateSetValueFn(v)}},[i,b,e,u,f,n]);const p=j.useCallback(H=>{if(!b)return;const s=kt().inputs.get(i);if(!s){console.error(`Input ${i} not found`);return}s.setValue(H)},[i,b]);return[y,p]}const Kn=()=>{};function Ch(t,l=void 0,{namespace:e}={}){const[u,a]=j.useState(l),n=Oe();Su();const i=te(t,e),c=j.useRef(l);return j.useEffect(()=>{if(!n)return;const f=kt();return a(c.current),f.outputs.add(i,a,Kn,Kn)},[i,n]),u}function Bh(t,{namespace:l}={}){const[e,u]=j.useState("pending"),a=Oe();Su();const n=te(t,l);return j.useEffect(()=>a?kt().outputs.add(n,Kn,u,Kn):void 0,[n,a]),e}function kv(t,{namespace:l}={}){Su();const e=te(t,l),[u,a]=j.useState(()=>{const i=kt().inputs.get(e);if(!i)return;const c=i.getValue();return c===mu?void 0:c}),n=Oe();return j.useEffect(()=>n?kt().inputs.subscribe(e,f=>{a(f===mu?void 0:f)}):void 0,[e,n]),u}function Iv(t,l,{debounceMs:e=100,priority:u,namespace:a,type:n}={}){if(Su(),n!==void 0&&!/^[^\s:]+$/.test(n))throw new Error(`useSetShinyInput("${t}"): invalid type=${JSON.stringify(n)}. Must be non-empty and contain no whitespace or ':' characters.`);const i=te(t,a),f=j.useRef(l).current,d=Oe();return j.useEffect(()=>{if(!d)return;const m=kt().inputs.getOrCreate(i,f);e!==void 0&&m.updateDebounceDelay(e),u&&m.updatePriority(u),m.updateType(n),m.setValue(m.getValue())},[i,d,e,u,f,n]),j.useCallback(r=>{if(!d)return;const y=kt().inputs.get(i);if(!y){console.error(`Input ${i} not found`);return}y.setValue(r)},[i,d])}function Pv(t,l,{namespace:e}={}){const u=Oe();Su();const a=te(t,e),n=j.useRef(l);n.current=l,j.useEffect(()=>{if(!u||!a)return;const i=f=>n.current(f),c=Hh();return c.addHandler(a,i),()=>{c.removeHandler(a,i)}},[u,a])}function Oe(){return j.useSyncExternalStore(_h,Mh,Mh)}function tm(){return j.useSyncExternalStore(_h,Dh,Dh)}let Yh=!1;function Su(){Yh||(Fv(),Zv(kt().inputs),$v(()=>kt().outputs),Kv(),Yh=!0)}function lm({id:t,className:l,width:e,height:u,debounceMs:a=400,onRecalculating:n,namespace:i}){const c=te(t,i),f={namespace:null},[d,r]=Ln(`.clientdata_output_${c}_width`,mu,f),[m,y]=Ln(`.clientdata_output_${c}_height`,mu,f),[v]=Ln(`.clientdata_output_${c}_hidden`,!1,f),b=Ch(c,void 0,f),p=Bh(c,f),H=j.useRef(null),o=j.useRef(null),[s,h]=j.useState(0);j.useEffect(()=>{b&&h(E=>E+1)},[b]),j.useEffect(()=>{n&&n(p==="recalculating")},[p,n]);const S=j.useCallback(()=>{if(H.current){const E=H.current.clientWidth,_=H.current.clientHeight;E>0&&_>0&&(r(E),y(_))}},[r,y]);return j.useEffect(()=>{const E=H.current;if(!E)return;E.addEventListener("load",S);const _=Cf(()=>{E&&E.complete&&S()},a),z=new ResizeObserver(A=>{for(const M of A)M.target===E&&_()});return z.observe(E),()=>{E.removeEventListener("load",S),z.disconnect(),_.cancel()}},[H,s,r,y,a,S]),j.useEffect(()=>{if(b)return;const E=o.current;if(!E)return;const _=()=>{const M=E.clientWidth,R=E.clientHeight;M>0&&R>0&&(r(M),y(R))};_();const z=Cf(_,a),A=new ResizeObserver(()=>z());return A.observe(E),()=>{A.disconnect(),z.cancel()}},[b,r,y,a]),v?null:b?Ae.jsx("img",{ref:H,src:b.src,alt:"",className:l,style:{width:e,height:u},onLoad:S}):Ae.jsx("div",{ref:o,className:l,style:{width:e,height:u,display:"flex",alignItems:"center",justifyContent:"center",color:"#9ca3af"},children:Ae.jsx("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",style:{animation:"spin 1s linear infinite"},children:Ae.jsx("circle",{cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"2.5",strokeDasharray:"31.4 31.4",strokeLinecap:"round"})})})}class qh extends HTMLElement{constructor(){super(...arguments);K(this,"root",null);K(this,"slotContents",new Map)}captureSlots(e="[data-slot]"){const u=this.querySelectorAll(`:scope > ${e}`),a=new Set(u);u.forEach(i=>{const c=i.getAttribute("data-slot");c&&this.slotContents.set(c,Array.from(i.childNodes))});const n=Array.from(this.childNodes).filter(i=>!a.has(i));return n.length>0&&this.slotContents.set("__children__",n),this.slotContents}async mountSlot(e,u){var n,i;const a=this.slotContents.get(e);a&&u&&(a.forEach(c=>u.appendChild(c)),await((i=(n=window.Shiny)==null?void 0:n.bindAll)==null?void 0:i.call(n,u)))}get onSlotMount(){return this.mountSlot.bind(this)}getConfig(){const e={};for(const[u,a]of Object.entries(this.dataset))if(a!==void 0)try{e[u]=JSON.parse(a)}catch{e[u]=a}return e}get namespace(){return this.id||void 0}render(){const e=this.constructor.component;return e?Ae.jsx(e,{...this.getConfig()}):(console.error(`${this.constructor.name}: No static component defined`),null)}wrapWithProvider(e){return this.namespace?Ae.jsx(Sh,{namespace:this.namespace,children:e}):e}clearContent(){this.innerHTML=""}connectedCallback(){this.captureSlots(),this.clearContent(),this.root=Hf.createRoot(this),this.root.render(this.wrapWithProvider(this.render()))}disconnectedCallback(){var e,u,a;(u=(e=window.Shiny)==null?void 0:e.unbindAll)==null||u.call(e,this),(a=this.root)==null||a.unmount(),this.root=null}}K(qh,"component",null);function em(){window.shinyreact={useSetShinyInput:Iv,useShinyBusy:tm,useShinyInput:Ln,useShinyInputValue:kv,useShinyOutputStatus:Bh,useShinyOutputValue:Ch,useShinyMessageHandler:Pv,useShinyInitialized:Oe,ImageOutput:lm,MISSING:mu,ShinyModuleProvider:Sh,ShinyReactComponentElement:qh,ShinyOutput:jv,React:Wf,ReactDOM:Cv}}em(),jh()})(); + */var Bv=Symbol.for("react.transitional.element"),Yv=Symbol.for("react.fragment");function vh(t,l,e){var u=null;if(e!==void 0&&(u=""+e),l.key!==void 0&&(u=""+l.key),"key"in l){e={};for(var a in l)a!=="key"&&(e[a]=l[a])}else e=l;return l=e.ref,{$$typeof:Bv,type:t,key:u,ref:l!==void 0?l:null,props:e}}xn.Fragment=Yv,xn.jsx=vh,xn.jsxs=vh,rh.exports=xn;var Oe=rh.exports;const mh=V.createContext(null);function Sh({namespace:t,children:l}){return Oe.jsx(mh.Provider,{value:t,children:l})}function qv(){return V.useContext(mh)}function Vv(t,l){return l?`${l}-${t}`:t}function Ml(t,l){const e=qv();return Vv(t,l!==void 0?l:e)}function jv({id:t,tagName:l="div",namespace:e,...u}){const a=Ml(t,e),n=V.useRef(null);return V.useEffect(()=>{var d;const i=n.current,c=i==null?void 0:i.parentElement;if(!i||!c||!((d=window.Shiny)!=null&&d.bindAll))return;const f=(r,m)=>{console.error(`[shinyreact] ShinyOutput "${a}" ${m} failed:`,{id:a,phase:m,error:r})};try{const r=window.Shiny.bindAll(c);r&&typeof r.catch=="function"&&r.catch(m=>f(m,"bindAll"))}catch(r){f(r,"bindAll")}return()=>{var r,m;try{(m=(r=window.Shiny)==null?void 0:r.unbindAll)==null||m.call(r,i,!0)}catch(y){f(y,"unbindAll")}}},[a,l]),Wf.createElement(l,{id:a,ref:n,...u})}const Su=Symbol("MISSING"),gh="1.0";function Gv(){if(typeof document>"u")return null;const t=document.getElementById("shinyreact-config"),l=t==null?void 0:t.textContent;if(!l)return null;try{return JSON.parse(l)}catch(e){return console.error("shinyreact: could not parse #shinyreact-config JSON",e),null}}function Xv(t){if(typeof document<"u"&&document.body){const l="shinyreact-fatal-error";let e=document.getElementById(l);e||(e=document.createElement("div"),e.id=l,e.setAttribute("role","alert"),e.style.cssText="position:fixed;top:0;left:0;right:0;z-index:99999;padding:1rem 1.25rem;background:#fee2e2;color:#7f1d1d;border-bottom:4px solid #991b1b;font-family:system-ui,sans-serif;font-size:15px;line-height:1.5;white-space:pre-wrap",document.body.appendChild(e));const u=e;u.textContent="",t.split("`").forEach((a,n)=>{if(n%2===0){u.appendChild(document.createTextNode(a));return}const i=document.createElement("code");i.textContent=a,i.style.cssText="background:#fff;color:#7f1d1d;border:1px solid #f0a3a3;border-radius:4px;padding:0.1em 0.35em;font-family:ui-monospace,SFMono-Regular,monospace;font-size:0.95em",u.appendChild(i)})}throw new Error(t.replace(/`/g,""))}function Qv(t){const l=e=>e.split(".")[0];l(t)!==l(gh)&&Xv(`shinyreact protocol mismatch: the server speaks protocol \`${t}\` but this JS client supports \`${gh}\`. Upgrade the older side (the shinyreact R/Python package, or the client bundle) so the major protocol versions match.`)}function Zv(t){const l=typeof window<"u"?window:globalThis,e=l.shinyreact=l.shinyreact||{},u=e._restore,a=Gv();if(a!=null&&a.protocolVersion?Qv(a.protocolVersion):a!=null&&console.error("shinyreact: the `#shinyreact-config` tag carries no `protocolVersion`, so the client cannot verify it speaks the same protocol as the server. Upgrade the shinyreact Python/R package.".replace(/`/g,"")),u&&typeof u=="object"&&u["-applied"])return;const n=a==null?void 0:a.restore,i=Object.create(null);if(n&&typeof n=="object")for(const[c,f]of Object.entries(n))t.add(c,f),i[c]=f;e._restore={"-applied":!0,"-values":i}}let Rf=!1,Ln=!1;const Nf=new Set;let bh=!1,Eh,zh,Th;function ph(){for(const t of Nf)t()}function Ah(){Rf||(Rf=!0,ph())}function Oh(t){Ln!==t&&(Ln=t,ph())}function xv(){if(bh||typeof document>"u")return;bh=!0,document.documentElement.classList.contains("shiny-busy")&&(Ln=!0),Eh=()=>Oh(!0),zh=()=>Oh(!1),document.addEventListener("shiny:busy",Eh),document.addEventListener("shiny:idle",zh);const t=nt();if(t){t.initializedPromise.then(Ah);return}Th=()=>{const l=nt();l&&l.initializedPromise.then(Ah)},document.addEventListener("shiny:connected",Th,{once:!0})}function _h(t){return xv(),Nf.add(t),()=>{Nf.delete(t)}}function Mh(){return Rf}function Dh(){return Ln}class Lv{constructor(){K(this,"messageHandlers",new Map);K(this,"initialized",!1)}init(){if(this.initialized)return;const l=nt();l&&(l.addCustomMessageHandler("shinyReactMessage",e=>{this.dispatchMessage(e.id,e.data)}),this.initialized=!0)}addHandler(l,e){this.init(),this.messageHandlers.has(l)||this.messageHandlers.set(l,new Set),this.messageHandlers.get(l).add(e)}removeHandler(l,e){const u=this.messageHandlers.get(l);u&&(u.delete(e),u.size===0&&this.messageHandlers.delete(l))}dispatchMessage(l,e){const u=this.messageHandlers.get(l);u&&u.forEach(a=>a(e))}getHandlerCount(l){const e=this.messageHandlers.get(l);return e?e.size:0}getActiveMessageIds(){return Array.from(this.messageHandlers.keys())}}const Uh=new Lv;function Hh(){const t=nt();return t?t.messageRegistry??(t.messageRegistry=Uh):Uh}function Kv(){nt()&&Hh()}class Jv{constructor(l){K(this,"id");K(this,"el");K(this,"status","pending");K(this,"hasValue",!1);K(this,"lastValue");K(this,"lastError",null);K(this,"useStateSetValueFns");K(this,"useStateSetStatusFns");K(this,"useStateSetErrorFns");this.id=l,this.useStateSetValueFns=new Set,this.useStateSetStatusFns=new Set,this.useStateSetErrorFns=new Set}hasReceivedValue(){return this.hasValue}getLastValue(){return this.lastValue}getLastError(){return this.lastError}addUseStateSetValueFn(l){this.useStateSetValueFns.add(l)}removeUseStateSetValueFn(l){this.useStateSetValueFns.delete(l)}addUseStateSetStatusFn(l){this.useStateSetStatusFns.add(l)}removeUseStateSetStatusFn(l){this.useStateSetStatusFns.delete(l)}addUseStateSetErrorFn(l){this.useStateSetErrorFns.add(l)}removeUseStateSetErrorFn(l){this.useStateSetErrorFns.delete(l)}getStatus(){return this.status}setStatus(l){this.status!==l&&(this.status=l,this.useStateSetStatusFns.forEach(e=>e(l)))}setValue(l){this.hasValue=!0,this.lastValue=l,this.useStateSetValueFns.forEach(e=>e(l)),this.status==="error"&&(this.lastError=null,this.useStateSetErrorFns.forEach(e=>e(null))),this.setStatus("ready")}setRecalculating(l){l?this.hasValue&&(this.status==="error"&&(this.lastError=null,this.useStateSetErrorFns.forEach(e=>e(null))),this.setStatus("recalculating")):this.hasValue&&this.status==="recalculating"&&this.setStatus("ready")}setError(l){if(l.message===""){this.setValue(null);return}this.lastError=l,this.useStateSetErrorFns.forEach(e=>e(l)),this.setStatus("error")}isEmpty(){return this.useStateSetValueFns.size===0&&this.useStateSetStatusFns.size===0&&this.useStateSetErrorFns.size===0}}class wv{constructor(){K(this,"outputs",new Map);K(this,"bindAllScheduled",!1);K(this,"containerEl")}get container(){return this.containerEl??(this.containerEl=(()=>{const l=document.createElement("div");return l.className="shiny-react-output-container",l.style.visibility="hidden",document.body.appendChild(l),l})()),this.containerEl}add(l,e,u,a){let n=this.get(l);if(!n){const i=document.createElement("div");i.className="shiny-react-output",i.id=l,this.container.appendChild(i),n=new Jv(l),n.el=i,this.outputs.set(l,n),this.scheduleBindAll()}return n.addUseStateSetValueFn(e),n.addUseStateSetStatusFn(u),n.addUseStateSetErrorFn(a),n.hasReceivedValue()&&e(n.getLastValue()),u(n.getStatus()),n.getStatus()==="error"&&a(n.getLastError()),()=>{n.removeUseStateSetValueFn(e),n.removeUseStateSetStatusFn(u),n.removeUseStateSetErrorFn(a),this.scheduleCleanup(l)}}has(l){return this.outputs.has(l)}get(l){return this.outputs.get(l)}scheduleCleanup(l){requestAnimationFrame(()=>{var u;const e=this.outputs.get(l);!e||!e.isEmpty()||(this.outputs.delete(l),(u=e.el)==null||u.remove(),this.scheduleBindAll())})}scheduleBindAll(){const l=nt();!l||!this.containerEl||this.bindAllScheduled||(this.bindAllScheduled=!0,requestAnimationFrame(()=>{var e,u;(e=l.unbindAll)==null||e.call(l,this.container),(u=l.bindAll)==null||u.call(l,this.container),this.bindAllScheduled=!1}))}}function $v(t){const l=nt();if(!l)return;class e extends l.OutputBinding{find(a){return $(a).find(".shiny-react-output")}renderValue(a,n){const i=t().get(a.id);if(!i){console.error(`Output ${a.id} not found`);return}i.setValue(n)}renderError(a,n){console.error(`Error for ${a.id}:`,n);const i=t().get(a.id);i&&i.setError(n)}showProgress(a,n){const i=t().get(a.id);if(!i){console.error(`Output ${a.id} not found`);return}i.setRecalculating(n)}}l.outputBindings.register(new e,"shiny.reactOutput")}function Cf(t,l){let e=null;const u=function(...a){const n=()=>{e=null,t(...a)};e!==null&&clearTimeout(e),e=setTimeout(n,l)};return u.setDelay=a=>{l=a},u.getDelay=()=>l,u.cancel=()=>{e!==null&&(clearTimeout(e),e=null)},u}const Sa=class Sa{constructor(l,e){K(this,"id");K(this,"value");K(this,"useStateSetValueFns");K(this,"shinySetInputValueDebounced");K(this,"opts",{debounceMs:100});K(this,"type");K(this,"typeFinalized",!1);this.id=l,this.value=e,this.useStateSetValueFns=new Set,this.shinySetInputValueDebounced=Cf(this.setShinyInputValue.bind(this),this.opts.debounceMs)}isEmpty(){return this.useStateSetValueFns.size===0}setShinyInputValue(l){var u,a;const e=`${this.id}:${this.type??Sa.DEFAULT_TYPE}`;(a=(u=nt())==null?void 0:u.setInputValue)==null||a.call(u,e,l,this.opts)}updateDebounceDelay(l){this.shinySetInputValueDebounced.setDelay(l)}updatePriority(l){const e=this.opts.priority;e!==void 0&&e!==l&&console.warn(`[shinyreact] Input "${this.id}" priority changed from ${JSON.stringify(e)} to ${JSON.stringify(l)}. Priority is per-id here, so the most recent mount wins — if two call sites for this id disagree, the winner depends on mount order.`),this.opts.priority=l}updateType(l){if(!this.typeFinalized){this.type=l,this.typeFinalized=!0;return}if(l!==void 0&&this.type!==l)throw new Error(`Input "${this.id}" is already registered with type=${this.type===void 0?`undefined (wire id "${this.id}:${Sa.DEFAULT_TYPE}")`:JSON.stringify(this.type)}. A second mount requested type=${JSON.stringify(l)}. An input's handler type changes server-side semantics and must be consistent across every useShinyInput / useSetShinyInput call for the same id.`)}addUseStateSetValueFn(l){this.useStateSetValueFns.add(l)}removeUseStateSetValueFn(l){this.useStateSetValueFns.delete(l)}setValue(l){const e=typeof l=="function"?l(this.value):l;if(this.value=e,this.useStateSetValueFns.forEach(u=>u(e)),e===Su){this.shinySetInputValueDebounced.cancel();return}this.shinySetInputValueDebounced(e)}getValue(){return this.value}};K(Sa,"DEFAULT_TYPE","shinyreact.default");let Bf=Sa;class Wv{constructor(){K(this,"inputs",new Map);K(this,"pendingSubscribers",new Map)}get(l){return this.inputs.get(l)}has(l){return this.inputs.has(l)}add(l,e){if(this.inputs.has(l))throw new Error(`Input ${l} already exists`);const u=new Bf(l,e);this.inputs.set(l,u);const a=this.pendingSubscribers.get(l);return a&&(a.forEach(n=>{u.addUseStateSetValueFn(n),n(u.getValue())}),this.pendingSubscribers.delete(l)),u}getOrCreate(l,e){let u=this.get(l);return u||(u=this.add(l,e)),u}subscribe(l,e){const u=this.get(l);if(u)return u.addUseStateSetValueFn(e),e(u.getValue()),()=>{const n=this.get(l);n&&n.removeUseStateSetValueFn(e)};let a=this.pendingSubscribers.get(l);return a||(a=new Set,this.pendingSubscribers.set(l,a)),a.add(e),()=>{const n=this.get(l);if(n){n.removeUseStateSetValueFn(e);return}const i=this.pendingSubscribers.get(l);i&&(i.delete(e),i.size===0&&this.pendingSubscribers.delete(l))}}remove(l){const e=this.inputs.get(l);return e&&e.shinySetInputValueDebounced.cancel(),this.inputs.delete(l)}keys(){return this.inputs.keys()}size(){return this.inputs.size}}let Rh;function Nh(){return Rh??(Rh={inputs:new Wv,outputs:new wv}),Rh}function Fv(){Qt()}function Qt(){const t=nt();return t?t.reactRegistry??(t.reactRegistry=Nh()):Nh()}function Kn(t,l,{debounceMs:e=100,priority:u,namespace:a,type:n}={}){if(_e(),n!==void 0&&!/^[^\s:]+$/.test(n))throw new Error(`useShinyInput("${t}"): invalid type=${JSON.stringify(n)}. Must be non-empty and contain no whitespace or ':' characters.`);const i=Ml(t,a),f=V.useRef(l).current;let d=f;const m=Qt().inputs.get(i);m&&(d=m.getValue());const[y,v]=V.useState(d),b=le();V.useEffect(()=>{if(!b)return;const o=Qt().inputs.getOrCreate(i,f);return e!==void 0&&o.updateDebounceDelay(e),u&&o.updatePriority(u),o.updateType(n),o.addUseStateSetValueFn(v),o.setValue(o.getValue()),()=>{o.removeUseStateSetValueFn(v)}},[i,b,e,u,f,n]);const p=V.useCallback(H=>{if(!b)return;const s=Qt().inputs.get(i);if(!s){console.error(`Input ${i} not found`);return}s.setValue(H)},[i,b]);return[y,p]}const gu=()=>{};function Ch(t,l=void 0,{namespace:e}={}){const[u,a]=V.useState(l),n=le();_e();const i=Ml(t,e),c=V.useRef(l);return V.useEffect(()=>{if(!n)return;const f=Qt();return a(c.current),f.outputs.add(i,a,gu,gu)},[i,n]),u}function Bh(t,{namespace:l}={}){const[e,u]=V.useState("pending"),a=le();_e();const n=Ml(t,l);return V.useEffect(()=>a?Qt().outputs.add(n,gu,u,gu):void 0,[n,a]),e}function kv(t,{namespace:l}={}){const[e,u]=V.useState(null),a=le();_e();const n=Ml(t,l);return V.useEffect(()=>a?(u(null),Qt().outputs.add(n,gu,gu,u)):void 0,[n,a]),e}function Iv(t,{namespace:l}={}){_e();const e=Ml(t,l),[u,a]=V.useState(()=>{const i=Qt().inputs.get(e);if(!i)return;const c=i.getValue();return c===Su?void 0:c}),n=le();return V.useEffect(()=>n?Qt().inputs.subscribe(e,f=>{a(f===Su?void 0:f)}):void 0,[e,n]),u}function Pv(t,l,{debounceMs:e=100,priority:u,namespace:a,type:n}={}){if(_e(),n!==void 0&&!/^[^\s:]+$/.test(n))throw new Error(`useSetShinyInput("${t}"): invalid type=${JSON.stringify(n)}. Must be non-empty and contain no whitespace or ':' characters.`);const i=Ml(t,a),f=V.useRef(l).current,d=le();return V.useEffect(()=>{if(!d)return;const m=Qt().inputs.getOrCreate(i,f);e!==void 0&&m.updateDebounceDelay(e),u&&m.updatePriority(u),m.updateType(n),m.setValue(m.getValue())},[i,d,e,u,f,n]),V.useCallback(r=>{if(!d)return;const y=Qt().inputs.get(i);if(!y){console.error(`Input ${i} not found`);return}y.setValue(r)},[i,d])}function tm(t,l,{namespace:e}={}){const u=le();_e();const a=Ml(t,e),n=V.useRef(l);n.current=l,V.useEffect(()=>{if(!u||!a)return;const i=f=>n.current(f),c=Hh();return c.addHandler(a,i),()=>{c.removeHandler(a,i)}},[u,a])}function le(){return V.useSyncExternalStore(_h,Mh,Mh)}function lm(){return V.useSyncExternalStore(_h,Dh,Dh)}let Yh=!1;function _e(){Yh||(Fv(),Zv(Qt().inputs),$v(()=>Qt().outputs),Kv(),Yh=!0)}function em({id:t,className:l,width:e,height:u,debounceMs:a=400,onRecalculating:n,namespace:i}){const c=Ml(t,i),f={namespace:null},[d,r]=Kn(`.clientdata_output_${c}_width`,Su,f),[m,y]=Kn(`.clientdata_output_${c}_height`,Su,f),[v]=Kn(`.clientdata_output_${c}_hidden`,!1,f),b=Ch(c,void 0,f),p=Bh(c,f),H=V.useRef(null),o=V.useRef(null),[s,h]=V.useState(0);V.useEffect(()=>{b&&h(E=>E+1)},[b]),V.useEffect(()=>{n&&n(p==="recalculating")},[p,n]);const S=V.useCallback(()=>{if(H.current){const E=H.current.clientWidth,_=H.current.clientHeight;E>0&&_>0&&(r(E),y(_))}},[r,y]);return V.useEffect(()=>{const E=H.current;if(!E)return;E.addEventListener("load",S);const _=Cf(()=>{E&&E.complete&&S()},a),z=new ResizeObserver(A=>{for(const M of A)M.target===E&&_()});return z.observe(E),()=>{E.removeEventListener("load",S),z.disconnect(),_.cancel()}},[H,s,r,y,a,S]),V.useEffect(()=>{if(b)return;const E=o.current;if(!E)return;const _=()=>{const M=E.clientWidth,R=E.clientHeight;M>0&&R>0&&(r(M),y(R))};_();const z=Cf(_,a),A=new ResizeObserver(()=>z());return A.observe(E),()=>{A.disconnect(),z.cancel()}},[b,r,y,a]),v?null:b?Oe.jsx("img",{ref:H,src:b.src,alt:"",className:l,style:{width:e,height:u},onLoad:S}):Oe.jsx("div",{ref:o,className:l,style:{width:e,height:u,display:"flex",alignItems:"center",justifyContent:"center",color:"#9ca3af"},children:Oe.jsx("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",style:{animation:"spin 1s linear infinite"},children:Oe.jsx("circle",{cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"2.5",strokeDasharray:"31.4 31.4",strokeLinecap:"round"})})})}class qh extends HTMLElement{constructor(){super(...arguments);K(this,"root",null);K(this,"slotContents",new Map)}captureSlots(e="[data-slot]"){const u=this.querySelectorAll(`:scope > ${e}`),a=new Set(u);u.forEach(i=>{const c=i.getAttribute("data-slot");c&&this.slotContents.set(c,Array.from(i.childNodes))});const n=Array.from(this.childNodes).filter(i=>!a.has(i));return n.length>0&&this.slotContents.set("__children__",n),this.slotContents}async mountSlot(e,u){var n,i;const a=this.slotContents.get(e);a&&u&&(a.forEach(c=>u.appendChild(c)),await((i=(n=window.Shiny)==null?void 0:n.bindAll)==null?void 0:i.call(n,u)))}get onSlotMount(){return this.mountSlot.bind(this)}getConfig(){const e={};for(const[u,a]of Object.entries(this.dataset))if(a!==void 0)try{e[u]=JSON.parse(a)}catch{e[u]=a}return e}get namespace(){return this.id||void 0}render(){const e=this.constructor.component;return e?Oe.jsx(e,{...this.getConfig()}):(console.error(`${this.constructor.name}: No static component defined`),null)}wrapWithProvider(e){return this.namespace?Oe.jsx(Sh,{namespace:this.namespace,children:e}):e}clearContent(){this.innerHTML=""}connectedCallback(){this.captureSlots(),this.clearContent(),this.root=Hf.createRoot(this),this.root.render(this.wrapWithProvider(this.render()))}disconnectedCallback(){var e,u,a;(u=(e=window.Shiny)==null?void 0:e.unbindAll)==null||u.call(e,this),(a=this.root)==null||a.unmount(),this.root=null}}K(qh,"component",null);function um(){window.shinyreact={useSetShinyInput:Pv,useShinyBusy:lm,useShinyInput:Kn,useShinyInputValue:Iv,useShinyOutputError:kv,useShinyOutputStatus:Bh,useShinyOutputValue:Ch,useShinyMessageHandler:tm,useShinyInitialized:le,ImageOutput:em,MISSING:Su,ShinyModuleProvider:Sh,ShinyReactComponentElement:qh,ShinyOutput:jv,React:Wf,ReactDOM:Cv}}um(),jh()})(); diff --git a/pkg-py/tests/playwright/apps/output-error/app.py b/pkg-py/tests/playwright/apps/output-error/app.py new file mode 100644 index 0000000..a3189f6 --- /dev/null +++ b/pkg-py/tests/playwright/apps/output-error/app.py @@ -0,0 +1,15 @@ +from shiny import req +from shiny.express import input +from shinyreact import reactive_output, set_react_page + +set_react_page() + + +@reactive_output +def answer(): + n = input.n() + # n < 0 is a *silent* error: no message reaches the client. + req(n is not None and n >= 0) + if n == 0: + raise ValueError("invalid number of 'breaks'") + return f"ok: {n}" diff --git a/pkg-py/tests/playwright/apps/output-error/www/app.js b/pkg-py/tests/playwright/apps/output-error/www/app.js new file mode 100644 index 0000000..64fd5ae --- /dev/null +++ b/pkg-py/tests/playwright/apps/output-error/www/app.js @@ -0,0 +1,33 @@ +const { + React, + ReactDOM, + useShinyInput, + useShinyOutputError, + useShinyOutputStatus, + useShinyOutputValue, +} = window.shinyreact; + +const h = React.createElement; + +function App() { + const [n, setN] = useShinyInput("n", 1, { debounceMs: 0 }); + const value = useShinyOutputValue("answer"); + const status = useShinyOutputStatus("answer"); + const error = useShinyOutputError("answer"); + + return h( + "div", + { "data-test": "container" }, + h("input", { + "data-test": "input", + type: "number", + value: n, + onChange: (e) => setN(Number(e.target.value)), + }), + h("span", { "data-test": "value" }, value ?? ""), + h("span", { "data-test": "status" }, status), + h("span", { "data-test": "error" }, error ? error.message : ""), + ); +} + +ReactDOM.createRoot(document.getElementById("root")).render(h(App)); diff --git a/pkg-py/tests/playwright/apps/output-error/www/index.html b/pkg-py/tests/playwright/apps/output-error/www/index.html new file mode 100644 index 0000000..d6cda32 --- /dev/null +++ b/pkg-py/tests/playwright/apps/output-error/www/index.html @@ -0,0 +1,16 @@ + +

+ Type a number. 1 renders ok: 1; 0 + renders the server's error text + invalid number of 'breaks' with status error; a + negative number is a silent req() — no error text, and the + value goes blank. +

+
+ diff --git a/pkg-py/tests/playwright/test_output_error.py b/pkg-py/tests/playwright/test_output_error.py new file mode 100644 index 0000000..8c1819f --- /dev/null +++ b/pkg-py/tests/playwright/test_output_error.py @@ -0,0 +1,47 @@ +from playwright.sync_api import Page, expect +from shiny.pytest import create_app_fixture +from shiny.run import ShinyAppProc + +output_error_app = create_app_fixture("apps/output-error/app.py") + + +def test_output_error_message_reaches_the_client( + page: Page, output_error_app: ShinyAppProc +) -> None: + """`useShinyOutputError` exposes the server exception's text, so an app can + reproduce vanilla Shiny's error UI (#257).""" + page.goto(output_error_app.url) + + value = page.locator("[data-test=value]") + status = page.locator("[data-test=status]") + error = page.locator("[data-test=error]") + + expect(value).to_have_text("ok: 1") + expect(status).to_have_text("ready") + expect(error).to_be_empty() + + page.locator("[data-test=input]").fill("0") + expect(error).to_have_text("invalid number of 'breaks'") + expect(status).to_have_text("error") + + # Recovering clears the error. + page.locator("[data-test=input]").fill("2") + expect(value).to_have_text("ok: 2") + expect(status).to_have_text("ready") + expect(error).to_be_empty() + + +def test_silent_error_delivers_no_message( + page: Page, output_error_app: ShinyAppProc +) -> None: + """`req()` stays silent: no error message, and the value blanks — matching + vanilla Shiny, which empties the output element.""" + page.goto(output_error_app.url) + + value = page.locator("[data-test=value]") + expect(value).to_have_text("ok: 1") + + page.locator("[data-test=input]").fill("-1") + expect(value).to_be_empty() + expect(page.locator("[data-test=error]")).to_be_empty() + expect(page.locator("[data-test=status]")).to_have_text("ready") diff --git a/pkg-r/inst/lib/shiny/shinyreact.js b/pkg-r/inst/lib/shiny/shinyreact.js index bcbc7d7..223504f 100644 --- a/pkg-r/inst/lib/shiny/shinyreact.js +++ b/pkg-r/inst/lib/shiny/shinyreact.js @@ -1,4 +1,4 @@ -var am=Object.defineProperty;var nm=(ee,nt,ue)=>nt in ee?am(ee,nt,{enumerable:!0,configurable:!0,writable:!0,value:ue}):ee[nt]=ue;var K=(ee,nt,ue)=>nm(ee,typeof nt!="symbol"?nt+"":nt,ue);(function(){"use strict";function ee(t,l){for(var e=0;eu[a]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}function nt(){return window.Shiny}let ue=!1;function jh(){if(typeof document>"u"||ue)return;ue=!0;const t=()=>{const e=nt();e&&(e.addCustomMessageHandler("shinyreact-deps",async u=>{var a,n;try{const i=e;await((a=i.renderDependenciesAsync)==null?void 0:a.call(i,u)),await((n=i.bindAll)==null?void 0:n.call(i,document.documentElement))}catch(i){console.error("[shinyreact] failed to load pushed dependencies:",i)}}),e.initializedPromise.then(()=>{var u;(u=e.setInputValue)==null||u.call(e,".shinyreact_init:shinyreact.init",1)}))};if(nt()){t();return}const l=()=>{nt()&&(document.removeEventListener("shiny:connected",l),t())};document.addEventListener("shiny:connected",l)}function Vf(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var jf={exports:{}},D={};/** +var nm=Object.defineProperty;var im=(ue,nt,ae)=>nt in ue?nm(ue,nt,{enumerable:!0,configurable:!0,writable:!0,value:ae}):ue[nt]=ae;var K=(ue,nt,ae)=>im(ue,typeof nt!="symbol"?nt+"":nt,ae);(function(){"use strict";function ue(t,l){for(var e=0;eu[a]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}function nt(){return window.Shiny}let ae=!1;function jh(){if(typeof document>"u"||ae)return;ae=!0;const t=()=>{const e=nt();e&&(e.addCustomMessageHandler("shinyreact-deps",async u=>{var a,n;try{const i=e;await((a=i.renderDependenciesAsync)==null?void 0:a.call(i,u)),await((n=i.bindAll)==null?void 0:n.call(i,document.documentElement))}catch(i){console.error("[shinyreact] failed to load pushed dependencies:",i)}}),e.initializedPromise.then(()=>{var u;(u=e.setInputValue)==null||u.call(e,".shinyreact_init:shinyreact.init",1)}))};if(nt()){t();return}const l=()=>{nt()&&(document.removeEventListener("shiny:connected",l),t())};document.addEventListener("shiny:connected",l)}function Vf(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var jf={exports:{}},D={};/** * @license React * react.production.js * @@ -6,7 +6,7 @@ var am=Object.defineProperty;var nm=(ee,nt,ue)=>nt in ee?am(ee,nt,{enumerable:!0 * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Wn=Symbol.for("react.transitional.element"),Gh=Symbol.for("react.portal"),Xh=Symbol.for("react.fragment"),Qh=Symbol.for("react.strict_mode"),Zh=Symbol.for("react.profiler"),xh=Symbol.for("react.consumer"),Lh=Symbol.for("react.context"),Kh=Symbol.for("react.forward_ref"),Jh=Symbol.for("react.suspense"),wh=Symbol.for("react.memo"),Gf=Symbol.for("react.lazy"),$h=Symbol.for("react.activity"),Xf=Symbol.iterator;function Wh(t){return t===null||typeof t!="object"?null:(t=Xf&&t[Xf]||t["@@iterator"],typeof t=="function"?t:null)}var Qf={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Zf=Object.assign,xf={};function Me(t,l,e){this.props=t,this.context=l,this.refs=xf,this.updater=e||Qf}Me.prototype.isReactComponent={},Me.prototype.setState=function(t,l){if(typeof t!="object"&&typeof t!="function"&&t!=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,t,l,"setState")},Me.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")};function Lf(){}Lf.prototype=Me.prototype;function Fn(t,l,e){this.props=t,this.context=l,this.refs=xf,this.updater=e||Qf}var kn=Fn.prototype=new Lf;kn.constructor=Fn,Zf(kn,Me.prototype),kn.isPureReactComponent=!0;var Kf=Array.isArray;function In(){}var W={H:null,A:null,T:null,S:null},Jf=Object.prototype.hasOwnProperty;function Pn(t,l,e){var u=e.ref;return{$$typeof:Wn,type:t,key:l,ref:u!==void 0?u:null,props:e}}function Fh(t,l){return Pn(t.type,l,t.props)}function ti(t){return typeof t=="object"&&t!==null&&t.$$typeof===Wn}function kh(t){var l={"=":"=0",":":"=2"};return"$"+t.replace(/[=:]/g,function(e){return l[e]})}var wf=/\/+/g;function li(t,l){return typeof t=="object"&&t!==null&&t.key!=null?kh(""+t.key):l.toString(36)}function Ih(t){switch(t.status){case"fulfilled":return t.value;case"rejected":throw t.reason;default:switch(typeof t.status=="string"?t.then(In,In):(t.status="pending",t.then(function(l){t.status==="pending"&&(t.status="fulfilled",t.value=l)},function(l){t.status==="pending"&&(t.status="rejected",t.reason=l)})),t.status){case"fulfilled":return t.value;case"rejected":throw t.reason}}throw t}function De(t,l,e,u,a){var n=typeof t;(n==="undefined"||n==="boolean")&&(t=null);var i=!1;if(t===null)i=!0;else switch(n){case"bigint":case"string":case"number":i=!0;break;case"object":switch(t.$$typeof){case Wn:case Gh:i=!0;break;case Gf:return i=t._init,De(i(t._payload),l,e,u,a)}}if(i)return a=a(t),i=u===""?"."+li(t,0):u,Kf(a)?(e="",i!=null&&(e=i.replace(wf,"$&/")+"/"),De(a,l,e,"",function(d){return d})):a!=null&&(ti(a)&&(a=Fh(a,e+(a.key==null||t&&t.key===a.key?"":(""+a.key).replace(wf,"$&/")+"/")+i)),l.push(a)),1;i=0;var c=u===""?".":u+":";if(Kf(t))for(var f=0;fnt in ee?am(ee,nt,{enumerable:!0 * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */(function(t){function l(T,Y){var N=T.length;T.push(Y);t:for(;0>>1,vt=T[at];if(0>>1;ata(qf,N))_ea($n,qf)?(T[at]=$n,T[_e]=N,at=_e):(T[at]=qf,T[wn]=N,at=wn);else if(_ea($n,N))T[at]=$n,T[_e]=N,at=_e;else break t}}return Y}function a(T,Y){var N=T.sortIndex-Y.sortIndex;return N!==0?N:T.id-Y.id}if(t.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var n=performance;t.unstable_now=function(){return n.now()}}else{var i=Date,c=i.now();t.unstable_now=function(){return i.now()-c}}var f=[],d=[],r=1,m=null,y=3,v=!1,b=!1,p=!1,H=!1,o=typeof setTimeout=="function"?setTimeout:null,s=typeof clearTimeout=="function"?clearTimeout:null,h=typeof setImmediate<"u"?setImmediate:null;function S(T){for(var Y=e(d);Y!==null;){if(Y.callback===null)u(d);else if(Y.startTime<=T)u(d),Y.sortIndex=Y.expirationTime,l(f,Y);else break;Y=e(d)}}function E(T){if(p=!1,S(T),!b)if(e(f)!==null)b=!0,_||(_=!0,le());else{var Y=e(d);Y!==null&&Yf(E,Y.startTime-T)}}var _=!1,z=-1,A=5,M=-1;function R(){return H?!0:!(t.unstable_now()-MT&&R());){var at=m.callback;if(typeof at=="function"){m.callback=null,y=m.priorityLevel;var vt=at(m.expirationTime<=T);if(T=t.unstable_now(),typeof vt=="function"){m.callback=vt,S(T),Y=!0;break l}m===e(f)&&u(f),S(T)}else u(f);m=e(f)}if(m!==null)Y=!0;else{var Jn=e(d);Jn!==null&&Yf(E,Jn.startTime-T),Y=!1}}break t}finally{m=null,y=N,v=!1}Y=void 0}}finally{Y?le():_=!1}}}var le;if(typeof h=="function")le=function(){h(It)};else if(typeof MessageChannel<"u"){var Vh=new MessageChannel,um=Vh.port2;Vh.port1.onmessage=It,le=function(){um.postMessage(null)}}else le=function(){o(It,0)};function Yf(T,Y){z=o(function(){T(t.unstable_now())},Y)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(T){T.callback=null},t.unstable_forceFrameRate=function(T){0>T||125at?(T.sortIndex=N,l(d,T),e(f)===null&&T===e(d)&&(p?(s(z),z=-1):p=!0,Yf(E,N-at))):(T.sortIndex=vt,l(f,T),b||v||(b=!0,_||(_=!0,le()))),T},t.unstable_shouldYield=R,t.unstable_wrapCallback=function(T){var Y=y;return function(){var N=y;y=Y;try{return T.apply(this,arguments)}finally{y=N}}}})(If),kf.exports=If;var l0=kf.exports,Pf={exports:{}},zt={};/** + */(function(t){function l(T,Y){var N=T.length;T.push(Y);t:for(;0>>1,vt=T[at];if(0>>1;ata(qf,N))Mea($n,qf)?(T[at]=$n,T[Me]=N,at=Me):(T[at]=qf,T[wn]=N,at=wn);else if(Mea($n,N))T[at]=$n,T[Me]=N,at=Me;else break t}}return Y}function a(T,Y){var N=T.sortIndex-Y.sortIndex;return N!==0?N:T.id-Y.id}if(t.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var n=performance;t.unstable_now=function(){return n.now()}}else{var i=Date,c=i.now();t.unstable_now=function(){return i.now()-c}}var f=[],d=[],r=1,m=null,y=3,v=!1,b=!1,p=!1,H=!1,o=typeof setTimeout=="function"?setTimeout:null,s=typeof clearTimeout=="function"?clearTimeout:null,h=typeof setImmediate<"u"?setImmediate:null;function S(T){for(var Y=e(d);Y!==null;){if(Y.callback===null)u(d);else if(Y.startTime<=T)u(d),Y.sortIndex=Y.expirationTime,l(f,Y);else break;Y=e(d)}}function E(T){if(p=!1,S(T),!b)if(e(f)!==null)b=!0,_||(_=!0,ee());else{var Y=e(d);Y!==null&&Yf(E,Y.startTime-T)}}var _=!1,z=-1,A=5,M=-1;function R(){return H?!0:!(t.unstable_now()-MT&&R());){var at=m.callback;if(typeof at=="function"){m.callback=null,y=m.priorityLevel;var vt=at(m.expirationTime<=T);if(T=t.unstable_now(),typeof vt=="function"){m.callback=vt,S(T),Y=!0;break l}m===e(f)&&u(f),S(T)}else u(f);m=e(f)}if(m!==null)Y=!0;else{var Jn=e(d);Jn!==null&&Yf(E,Jn.startTime-T),Y=!1}}break t}finally{m=null,y=N,v=!1}Y=void 0}}finally{Y?ee():_=!1}}}var ee;if(typeof h=="function")ee=function(){h(It)};else if(typeof MessageChannel<"u"){var Vh=new MessageChannel,am=Vh.port2;Vh.port1.onmessage=It,ee=function(){am.postMessage(null)}}else ee=function(){o(It,0)};function Yf(T,Y){z=o(function(){T(t.unstable_now())},Y)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(T){T.callback=null},t.unstable_forceFrameRate=function(T){0>T||125at?(T.sortIndex=N,l(d,T),e(f)===null&&T===e(d)&&(p?(s(z),z=-1):p=!0,Yf(E,N-at))):(T.sortIndex=vt,l(f,T),b||v||(b=!0,_||(_=!0,ee()))),T},t.unstable_shouldYield=R,t.unstable_wrapCallback=function(T){var Y=y;return function(){var N=y;y=Y;try{return T.apply(this,arguments)}finally{y=N}}}})(If),kf.exports=If;var l0=kf.exports,Pf={exports:{}},zt={};/** * @license React * react-dom.production.js * @@ -22,7 +22,7 @@ var am=Object.defineProperty;var nm=(ee,nt,ue)=>nt in ee?am(ee,nt,{enumerable:!0 * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var e0=j;function ts(t){var l="https://react.dev/errors/"+t;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(ls)}catch(t){console.error(t)}}ls(),Pf.exports=zt;var n0=Pf.exports;/** + */var e0=V;function ts(t){var l="https://react.dev/errors/"+t;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(ls)}catch(t){console.error(t)}}ls(),Pf.exports=zt;var n0=Pf.exports;/** * @license React * react-dom-client.production.js * @@ -30,15 +30,15 @@ var am=Object.defineProperty;var nm=(ee,nt,ue)=>nt in ee?am(ee,nt,{enumerable:!0 * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var ot=l0,es=j,i0=n0;function g(t){var l="https://react.dev/errors/"+t;if(1He||(t.current=si[He],si[He]=null,He--)}function w(t,l){He++,si[He]=t.current,t.current=l}var ul=el(null),pu=el(null),Ul=el(null),za=el(null);function Ta(t,l){switch(w(Ul,l),w(pu,t),w(ul,null),l.nodeType){case 9:case 11:t=(t=l.documentElement)&&(t=t.namespaceURI)?qy(t):0;break;default:if(t=l.tagName,l=l.namespaceURI)l=qy(l),t=Vy(l,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}yt(ul),w(ul,t)}function Re(){yt(ul),yt(pu),yt(Ul)}function oi(t){t.memoizedState!==null&&w(za,t);var l=ul.current,e=Vy(l,t.type);l!==e&&(w(pu,t),w(ul,e))}function pa(t){pu.current===t&&(yt(ul),yt(pu)),za.current===t&&(yt(za),ya._currentValue=ae)}var di,ds;function ne(t){if(di===void 0)try{throw Error()}catch(e){var l=e.stack.trim().match(/\n( *(at )?)/);di=l&&l[1]||"",ds=-1Re||(t.current=si[Re],si[Re]=null,Re--)}function w(t,l){Re++,si[Re]=t.current,t.current=l}var ul=el(null),Au=el(null),Hl=el(null),Ta=el(null);function pa(t,l){switch(w(Hl,l),w(Au,t),w(ul,null),l.nodeType){case 9:case 11:t=(t=l.documentElement)&&(t=t.namespaceURI)?qy(t):0;break;default:if(t=l.tagName,l=l.namespaceURI)l=qy(l),t=Vy(l,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}yt(ul),w(ul,t)}function Ne(){yt(ul),yt(Au),yt(Hl)}function oi(t){t.memoizedState!==null&&w(Ta,t);var l=ul.current,e=Vy(l,t.type);l!==e&&(w(Au,t),w(ul,e))}function Aa(t){Au.current===t&&(yt(ul),yt(Au)),Ta.current===t&&(yt(Ta),ha._currentValue=ne)}var di,ds;function ie(t){if(di===void 0)try{throw Error()}catch(e){var l=e.stack.trim().match(/\n( *(at )?)/);di=l&&l[1]||"",ds=-1)":-1a||f[u]!==d[a]){var r=` -`+f[u].replace(" at new "," at ");return t.displayName&&r.includes("")&&(r=r.replace("",t.displayName)),r}while(1<=u&&0<=a);break}}}finally{yi=!1,Error.prepareStackTrace=e}return(e=t?t.displayName||t.name:"")?ne(e):""}function d0(t,l){switch(t.tag){case 26:case 27:case 5:return ne(t.type);case 16:return ne("Lazy");case 13:return t.child!==l&&l!==null?ne("Suspense Fallback"):ne("Suspense");case 19:return ne("SuspenseList");case 0:case 15:return hi(t.type,!1);case 11:return hi(t.type.render,!1);case 1:return hi(t.type,!0);case 31:return ne("Activity");default:return""}}function ys(t){try{var l="",e=null;do l+=d0(t,e),e=t,t=t.return;while(t);return l}catch(u){return` +`+f[u].replace(" at new "," at ");return t.displayName&&r.includes("")&&(r=r.replace("",t.displayName)),r}while(1<=u&&0<=a);break}}}finally{yi=!1,Error.prepareStackTrace=e}return(e=t?t.displayName||t.name:"")?ie(e):""}function d0(t,l){switch(t.tag){case 26:case 27:case 5:return ie(t.type);case 16:return ie("Lazy");case 13:return t.child!==l&&l!==null?ie("Suspense Fallback"):ie("Suspense");case 19:return ie("SuspenseList");case 0:case 15:return hi(t.type,!1);case 11:return hi(t.type.render,!1);case 1:return hi(t.type,!0);case 31:return ie("Activity");default:return""}}function ys(t){try{var l="",e=null;do l+=d0(t,e),e=t,t=t.return;while(t);return l}catch(u){return` Error generating stack: `+u.message+` -`+u.stack}}var ri=Object.prototype.hasOwnProperty,vi=ot.unstable_scheduleCallback,mi=ot.unstable_cancelCallback,y0=ot.unstable_shouldYield,h0=ot.unstable_requestPaint,Rt=ot.unstable_now,r0=ot.unstable_getCurrentPriorityLevel,hs=ot.unstable_ImmediatePriority,rs=ot.unstable_UserBlockingPriority,Aa=ot.unstable_NormalPriority,v0=ot.unstable_LowPriority,vs=ot.unstable_IdlePriority,m0=ot.log,S0=ot.unstable_setDisableYieldValue,Au=null,Nt=null;function Hl(t){if(typeof m0=="function"&&S0(t),Nt&&typeof Nt.setStrictMode=="function")try{Nt.setStrictMode(Au,t)}catch{}}var Ct=Math.clz32?Math.clz32:E0,g0=Math.log,b0=Math.LN2;function E0(t){return t>>>=0,t===0?32:31-(g0(t)/b0|0)|0}var Oa=256,_a=262144,Ma=4194304;function ie(t){var l=t&42;if(l!==0)return l;switch(t&-t){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:return t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function Da(t,l,e){var u=t.pendingLanes;if(u===0)return 0;var a=0,n=t.suspendedLanes,i=t.pingedLanes;t=t.warmLanes;var c=u&134217727;return c!==0?(u=c&~n,u!==0?a=ie(u):(i&=c,i!==0?a=ie(i):e||(e=c&~t,e!==0&&(a=ie(e))))):(c=u&~n,c!==0?a=ie(c):i!==0?a=ie(i):e||(e=u&~t,e!==0&&(a=ie(e)))),a===0?0:l!==0&&l!==a&&!(l&n)&&(n=a&-a,e=l&-l,n>=e||n===32&&(e&4194048)!==0)?l:a}function Ou(t,l){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&l)===0}function z0(t,l){switch(t){case 1:case 2:case 4:case 8:case 64:return l+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 l+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 ms(){var t=Ma;return Ma<<=1,!(Ma&62914560)&&(Ma=4194304),t}function Si(t){for(var l=[],e=0;31>e;e++)l.push(t);return l}function _u(t,l){t.pendingLanes|=l,l!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function T0(t,l,e,u,a,n){var i=t.pendingLanes;t.pendingLanes=e,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=e,t.entangledLanes&=e,t.errorRecoveryDisabledLanes&=e,t.shellSuspendCounter=0;var c=t.entanglements,f=t.expirationTimes,d=t.hiddenUpdates;for(e=i&~e;0"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var D0=/[\n"\\]/g;function Zt(t){return t.replace(D0,function(l){return"\\"+l.charCodeAt(0).toString(16)+" "})}function pi(t,l,e,u,a,n,i,c){t.name="",i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"?t.type=i:t.removeAttribute("type"),l!=null?i==="number"?(l===0&&t.value===""||t.value!=l)&&(t.value=""+Qt(l)):t.value!==""+Qt(l)&&(t.value=""+Qt(l)):i!=="submit"&&i!=="reset"||t.removeAttribute("value"),l!=null?Ai(t,i,Qt(l)):e!=null?Ai(t,i,Qt(e)):u!=null&&t.removeAttribute("value"),a==null&&n!=null&&(t.defaultChecked=!!n),a!=null&&(t.checked=a&&typeof a!="function"&&typeof a!="symbol"),c!=null&&typeof c!="function"&&typeof c!="symbol"&&typeof c!="boolean"?t.name=""+Qt(c):t.removeAttribute("name")}function Us(t,l,e,u,a,n,i,c){if(n!=null&&typeof n!="function"&&typeof n!="symbol"&&typeof n!="boolean"&&(t.type=n),l!=null||e!=null){if(!(n!=="submit"&&n!=="reset"||l!=null)){Ti(t);return}e=e!=null?""+Qt(e):"",l=l!=null?""+Qt(l):e,c||l===t.value||(t.value=l),t.defaultValue=l}u=u??a,u=typeof u!="function"&&typeof u!="symbol"&&!!u,t.checked=c?t.checked:!!u,t.defaultChecked=!!u,i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(t.name=i),Ti(t)}function Ai(t,l,e){l==="number"&&Ra(t.ownerDocument)===t||t.defaultValue===""+e||(t.defaultValue=""+e)}function Ve(t,l,e,u){if(t=t.options,l){l={};for(var a=0;a"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ui=!1;if(dl)try{var Hu={};Object.defineProperty(Hu,"passive",{get:function(){Ui=!0}}),window.addEventListener("test",Hu,Hu),window.removeEventListener("test",Hu,Hu)}catch{Ui=!1}var Nl=null,Hi=null,Ca=null;function qs(){if(Ca)return Ca;var t,l=Hi,e=l.length,u,a="value"in Nl?Nl.value:Nl.textContent,n=a.length;for(t=0;t=Cu),Zs=" ",xs=!1;function Ls(t,l){switch(t){case"keyup":return er.indexOf(l.keyCode)!==-1;case"keydown":return l.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ks(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var Qe=!1;function ar(t,l){switch(t){case"compositionend":return Ks(l);case"keypress":return l.which!==32?null:(xs=!0,Zs);case"textInput":return t=l.data,t===Zs&&xs?null:t;default:return null}}function nr(t,l){if(Qe)return t==="compositionend"||!Yi&&Ls(t,l)?(t=qs(),Ca=Hi=Nl=null,Qe=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(l.ctrlKey||l.altKey||l.metaKey)||l.ctrlKey&&l.altKey){if(l.char&&1=l)return{node:e,offset:l-t};t=u}t:{for(;e;){if(e.nextSibling){e=e.nextSibling;break t}e=e.parentNode}e=void 0}e=Ps(e)}}function lo(t,l){return t&&l?t===l?!0:t&&t.nodeType===3?!1:l&&l.nodeType===3?lo(t,l.parentNode):"contains"in t?t.contains(l):t.compareDocumentPosition?!!(t.compareDocumentPosition(l)&16):!1:!1}function eo(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var l=Ra(t.document);l instanceof t.HTMLIFrameElement;){try{var e=typeof l.contentWindow.location.href=="string"}catch{e=!1}if(e)t=l.contentWindow;else break;l=Ra(t.document)}return l}function ji(t){var l=t&&t.nodeName&&t.nodeName.toLowerCase();return l&&(l==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||l==="textarea"||t.contentEditable==="true")}var hr=dl&&"documentMode"in document&&11>=document.documentMode,Ze=null,Gi=null,Vu=null,Xi=!1;function uo(t,l,e){var u=e.window===e?e.document:e.nodeType===9?e:e.ownerDocument;Xi||Ze==null||Ze!==Ra(u)||(u=Ze,"selectionStart"in u&&ji(u)?u={start:u.selectionStart,end:u.selectionEnd}:(u=(u.ownerDocument&&u.ownerDocument.defaultView||window).getSelection(),u={anchorNode:u.anchorNode,anchorOffset:u.anchorOffset,focusNode:u.focusNode,focusOffset:u.focusOffset}),Vu&&qu(Vu,u)||(Vu=u,u=Mn(Gi,"onSelect"),0>=i,a-=i,al=1<<32-Ct(l)+a|e<A?(M=z,z=null):M=z.sibling;var R=y(o,z,h[A],S);if(R===null){z===null&&(z=M);break}t&&z&&R.alternate===null&&l(o,z),s=n(R,s,A),_===null?E=R:_.sibling=R,_=R,z=M}if(A===h.length)return e(o,z),V&&hl(o,A),E;if(z===null){for(;AA?(M=z,z=null):M=z.sibling;var It=y(o,z,R.value,S);if(It===null){z===null&&(z=M);break}t&&z&&It.alternate===null&&l(o,z),s=n(It,s,A),_===null?E=It:_.sibling=It,_=It,z=M}if(R.done)return e(o,z),V&&hl(o,A),E;if(z===null){for(;!R.done;A++,R=h.next())R=m(o,R.value,S),R!==null&&(s=n(R,s,A),_===null?E=R:_.sibling=R,_=R);return V&&hl(o,A),E}for(z=u(z);!R.done;A++,R=h.next())R=v(z,o,A,R.value,S),R!==null&&(t&&R.alternate!==null&&z.delete(R.key===null?A:R.key),s=n(R,s,A),_===null?E=R:_.sibling=R,_=R);return t&&z.forEach(function(le){return l(o,le)}),V&&hl(o,A),E}function H(o,s,h,S){if(typeof h=="object"&&h!==null&&h.type===Ue&&h.key===null&&(h=h.props.children),typeof h=="object"&&h!==null){switch(h.$$typeof){case Ea:t:{for(var E=h.key;s!==null;){if(s.key===E){if(E=h.type,E===Ue){if(s.tag===7){e(o,s.sibling),S=a(s,h.props.children),S.return=o,o=S;break t}}else if(s.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===Dl&&Se(E)===s.type){e(o,s.sibling),S=a(s,h.props),xu(S,h),S.return=o,o=S;break t}e(o,s);break}else l(o,s);s=s.sibling}h.type===Ue?(S=ye(h.props.children,o.mode,S,h.key),S.return=o,o=S):(S=xa(h.type,h.key,h.props,null,o.mode,S),xu(S,h),S.return=o,o=S)}return i(o);case Eu:t:{for(E=h.key;s!==null;){if(s.key===E)if(s.tag===4&&s.stateNode.containerInfo===h.containerInfo&&s.stateNode.implementation===h.implementation){e(o,s.sibling),S=a(s,h.children||[]),S.return=o,o=S;break t}else{e(o,s);break}else l(o,s);s=s.sibling}S=wi(h,o.mode,S),S.return=o,o=S}return i(o);case Dl:return h=Se(h),H(o,s,h,S)}if(Tu(h))return b(o,s,h,S);if(zu(h)){if(E=zu(h),typeof E!="function")throw Error(g(150));return h=E.call(h),p(o,s,h,S)}if(typeof h.then=="function")return H(o,s,Fa(h),S);if(h.$$typeof===fl)return H(o,s,Ja(o,h),S);ka(o,h)}return typeof h=="string"&&h!==""||typeof h=="number"||typeof h=="bigint"?(h=""+h,s!==null&&s.tag===6?(e(o,s.sibling),S=a(s,h),S.return=o,o=S):(e(o,s),S=Ji(h,o.mode,S),S.return=o,o=S),i(o)):e(o,s)}return function(o,s,h,S){try{Zu=0;var E=H(o,s,h,S);return Pe=null,E}catch(z){if(z===Ie||z===$a)throw z;var _=Yt(29,z,null,o.mode);return _.lanes=S,_.return=o,_}finally{}}}var be=Mo(!0),Do=Mo(!1),Vl=!1;function nc(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function ic(t,l){t=t.updateQueue,l.updateQueue===t&&(l.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function jl(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function Gl(t,l,e){var u=t.updateQueue;if(u===null)return null;if(u=u.shared,X&2){var a=u.pending;return a===null?l.next=l:(l.next=a.next,a.next=l),u.pending=l,l=Za(t),oo(t,null,e),l}return Qa(t,u,l,e),Za(t)}function Lu(t,l,e){if(l=l.updateQueue,l!==null&&(l=l.shared,(e&4194048)!==0)){var u=l.lanes;u&=t.pendingLanes,e|=u,l.lanes=e,gs(t,e)}}function cc(t,l){var e=t.updateQueue,u=t.alternate;if(u!==null&&(u=u.updateQueue,e===u)){var a=null,n=null;if(e=e.firstBaseUpdate,e!==null){do{var i={lane:e.lane,tag:e.tag,payload:e.payload,callback:null,next:null};n===null?a=n=i:n=n.next=i,e=e.next}while(e!==null);n===null?a=n=l:n=n.next=l}else a=n=l;e={baseState:u.baseState,firstBaseUpdate:a,lastBaseUpdate:n,shared:u.shared,callbacks:u.callbacks},t.updateQueue=e;return}t=e.lastBaseUpdate,t===null?e.firstBaseUpdate=l:t.next=l,e.lastBaseUpdate=l}var fc=!1;function Ku(){if(fc){var t=ke;if(t!==null)throw t}}function Ju(t,l,e,u){fc=!1;var a=t.updateQueue;Vl=!1;var n=a.firstBaseUpdate,i=a.lastBaseUpdate,c=a.shared.pending;if(c!==null){a.shared.pending=null;var f=c,d=f.next;f.next=null,i===null?n=d:i.next=d,i=f;var r=t.alternate;r!==null&&(r=r.updateQueue,c=r.lastBaseUpdate,c!==i&&(c===null?r.firstBaseUpdate=d:c.next=d,r.lastBaseUpdate=f))}if(n!==null){var m=a.baseState;i=0,r=d=f=null,c=n;do{var y=c.lane&-536870913,v=y!==c.lane;if(v?(q&y)===y:(u&y)===y){y!==0&&y===Fe&&(fc=!0),r!==null&&(r=r.next={lane:0,tag:c.tag,payload:c.payload,callback:null,next:null});t:{var b=t,p=c;y=l;var H=e;switch(p.tag){case 1:if(b=p.payload,typeof b=="function"){m=b.call(H,m,y);break t}m=b;break t;case 3:b.flags=b.flags&-65537|128;case 0:if(b=p.payload,y=typeof b=="function"?b.call(H,m,y):b,y==null)break t;m=F({},m,y);break t;case 2:Vl=!0}}y=c.callback,y!==null&&(t.flags|=64,v&&(t.flags|=8192),v=a.callbacks,v===null?a.callbacks=[y]:v.push(y))}else v={lane:y,tag:c.tag,payload:c.payload,callback:c.callback,next:null},r===null?(d=r=v,f=m):r=r.next=v,i|=y;if(c=c.next,c===null){if(c=a.shared.pending,c===null)break;v=c,c=v.next,v.next=null,a.lastBaseUpdate=v,a.shared.pending=null}}while(!0);r===null&&(f=m),a.baseState=f,a.firstBaseUpdate=d,a.lastBaseUpdate=r,n===null&&(a.shared.lanes=0),Ll|=i,t.lanes=i,t.memoizedState=m}}function Uo(t,l){if(typeof t!="function")throw Error(g(191,t));t.call(l)}function Ho(t,l){var e=t.callbacks;if(e!==null)for(t.callbacks=null,t=0;tn?n:8;var i=O.T,c={};O.T=c,Mc(t,!1,l,e);try{var f=a(),d=O.S;if(d!==null&&d(c,f),f!==null&&typeof f=="object"&&typeof f.then=="function"){var r=Tr(f,u);Wu(t,l,r,Xt(t))}else Wu(t,l,u,Xt(t))}catch(m){Wu(t,l,{then:function(){},status:"rejected",reason:m},Xt())}finally{G.p=n,i!==null&&c.types!==null&&(i.types=c.types),O.T=i}}function Dr(){}function Oc(t,l,e,u){if(t.tag!==5)throw Error(g(476));var a=fd(t).queue;cd(t,a,l,ae,e===null?Dr:function(){return sd(t),e(u)})}function fd(t){var l=t.memoizedState;if(l!==null)return l;l={memoizedState:ae,baseState:ae,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Sl,lastRenderedState:ae},next:null};var e={};return l.next={memoizedState:e,baseState:e,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Sl,lastRenderedState:e},next:null},t.memoizedState=l,t=t.alternate,t!==null&&(t.memoizedState=l),l}function sd(t){var l=fd(t);l.next===null&&(l=t.alternate.memoizedState),Wu(t,l.next.queue,{},Xt())}function _c(){return gt(ya)}function od(){return ut().memoizedState}function dd(){return ut().memoizedState}function Ur(t){for(var l=t.return;l!==null;){switch(l.tag){case 24:case 3:var e=Xt();t=jl(e);var u=Gl(l,t,e);u!==null&&(Ht(u,l,e),Lu(u,l,e)),l={cache:lc()},t.payload=l;return}l=l.return}}function Hr(t,l,e){var u=Xt();e={lane:u,revertLane:0,gesture:null,action:e,hasEagerState:!1,eagerState:null,next:null},fn(t)?hd(l,e):(e=Li(t,l,e,u),e!==null&&(Ht(e,t,u),rd(e,l,u)))}function yd(t,l,e){var u=Xt();Wu(t,l,e,u)}function Wu(t,l,e,u){var a={lane:u,revertLane:0,gesture:null,action:e,hasEagerState:!1,eagerState:null,next:null};if(fn(t))hd(l,a);else{var n=t.alternate;if(t.lanes===0&&(n===null||n.lanes===0)&&(n=l.lastRenderedReducer,n!==null))try{var i=l.lastRenderedState,c=n(i,e);if(a.hasEagerState=!0,a.eagerState=c,Bt(c,i))return Qa(t,l,a,0),J===null&&Xa(),!1}catch{}finally{}if(e=Li(t,l,a,u),e!==null)return Ht(e,t,u),rd(e,l,u),!0}return!1}function Mc(t,l,e,u){if(u={lane:2,revertLane:nf(),gesture:null,action:u,hasEagerState:!1,eagerState:null,next:null},fn(t)){if(l)throw Error(g(479))}else l=Li(t,e,u,2),l!==null&&Ht(l,t,2)}function fn(t){var l=t.alternate;return t===U||l!==null&&l===U}function hd(t,l){lu=tn=!0;var e=t.pending;e===null?l.next=l:(l.next=e.next,e.next=l),t.pending=l}function rd(t,l,e){if(e&4194048){var u=l.lanes;u&=t.pendingLanes,e|=u,l.lanes=e,gs(t,e)}}var Fu={readContext:gt,use:un,useCallback:tt,useContext:tt,useEffect:tt,useImperativeHandle:tt,useLayoutEffect:tt,useInsertionEffect:tt,useMemo:tt,useReducer:tt,useRef:tt,useState:tt,useDebugValue:tt,useDeferredValue:tt,useTransition:tt,useSyncExternalStore:tt,useId:tt,useHostTransitionStatus:tt,useFormState:tt,useActionState:tt,useOptimistic:tt,useMemoCache:tt,useCacheRefresh:tt};Fu.useEffectEvent=tt;var vd={readContext:gt,use:un,useCallback:function(t,l){return pt().memoizedState=[t,l===void 0?null:l],t},useContext:gt,useEffect:Io,useImperativeHandle:function(t,l,e){e=e!=null?e.concat([t]):null,nn(4194308,4,ed.bind(null,l,t),e)},useLayoutEffect:function(t,l){return nn(4194308,4,t,l)},useInsertionEffect:function(t,l){nn(4,2,t,l)},useMemo:function(t,l){var e=pt();l=l===void 0?null:l;var u=t();if(Ee){Hl(!0);try{t()}finally{Hl(!1)}}return e.memoizedState=[u,l],u},useReducer:function(t,l,e){var u=pt();if(e!==void 0){var a=e(l);if(Ee){Hl(!0);try{e(l)}finally{Hl(!1)}}}else a=l;return u.memoizedState=u.baseState=a,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:a},u.queue=t,t=t.dispatch=Hr.bind(null,U,t),[u.memoizedState,t]},useRef:function(t){var l=pt();return t={current:t},l.memoizedState=t},useState:function(t){t=Ec(t);var l=t.queue,e=yd.bind(null,U,l);return l.dispatch=e,[t.memoizedState,e]},useDebugValue:pc,useDeferredValue:function(t,l){var e=pt();return Ac(e,t,l)},useTransition:function(){var t=Ec(!1);return t=cd.bind(null,U,t.queue,!0,!1),pt().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,l,e){var u=U,a=pt();if(V){if(e===void 0)throw Error(g(407));e=e()}else{if(e=l(),J===null)throw Error(g(349));q&127||qo(u,l,e)}a.memoizedState=e;var n={value:e,getSnapshot:l};return a.queue=n,Io(jo.bind(null,u,n,t),[t]),u.flags|=2048,uu(9,{destroy:void 0},Vo.bind(null,u,n,e,l),null),e},useId:function(){var t=pt(),l=J.identifierPrefix;if(V){var e=nl,u=al;e=(u&~(1<<32-Ct(u)-1)).toString(32)+e,l="_"+l+"R_"+e,e=ln++,0<\/script>",n=n.removeChild(n.firstChild);break;case"select":n=typeof u.is=="string"?i.createElement("select",{is:u.is}):i.createElement("select"),u.multiple?n.multiple=!0:u.size&&(n.size=u.size);break;default:n=typeof u.is=="string"?i.createElement(a,{is:u.is}):i.createElement(a)}}n[mt]=l,n[At]=u;t:for(i=l.child;i!==null;){if(i.tag===5||i.tag===6)n.appendChild(i.stateNode);else if(i.tag!==4&&i.tag!==27&&i.child!==null){i.child.return=i,i=i.child;continue}if(i===l)break t;for(;i.sibling===null;){if(i.return===null||i.return===l)break t;i=i.return}i.sibling.return=i.return,i=i.sibling}l.stateNode=n;t:switch(Et(n,a,u),a){case"button":case"input":case"select":case"textarea":u=!!u.autoFocus;break t;case"img":u=!0;break t;default:u=!1}u&&bl(l)}}return I(l),Qc(l,l.type,t===null?null:t.memoizedProps,l.pendingProps,e),null;case 6:if(t&&l.stateNode!=null)t.memoizedProps!==u&&bl(l);else{if(typeof u!="string"&&l.stateNode===null)throw Error(g(166));if(t=Ul.current,$e(l)){if(t=l.stateNode,e=l.memoizedProps,u=null,a=St,a!==null)switch(a.tag){case 27:case 5:u=a.memoizedProps}t[mt]=l,t=!!(t.nodeValue===e||u!==null&&u.suppressHydrationWarning===!0||By(t.nodeValue,e)),t||Yl(l,!0)}else t=Dn(t).createTextNode(u),t[mt]=l,l.stateNode=t}return I(l),null;case 31:if(e=l.memoizedState,t===null||t.memoizedState!==null){if(u=$e(l),e!==null){if(t===null){if(!u)throw Error(g(318));if(t=l.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(g(557));t[mt]=l}else he(),!(l.flags&128)&&(l.memoizedState=null),l.flags|=4;I(l),t=!1}else e=ki(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=e),t=!0;if(!t)return l.flags&256?(Vt(l),l):(Vt(l),null);if(l.flags&128)throw Error(g(558))}return I(l),null;case 13:if(u=l.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(a=$e(l),u!==null&&u.dehydrated!==null){if(t===null){if(!a)throw Error(g(318));if(a=l.memoizedState,a=a!==null?a.dehydrated:null,!a)throw Error(g(317));a[mt]=l}else he(),!(l.flags&128)&&(l.memoizedState=null),l.flags|=4;I(l),a=!1}else a=ki(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=a),a=!0;if(!a)return l.flags&256?(Vt(l),l):(Vt(l),null)}return Vt(l),l.flags&128?(l.lanes=e,l):(e=u!==null,t=t!==null&&t.memoizedState!==null,e&&(u=l.child,a=null,u.alternate!==null&&u.alternate.memoizedState!==null&&u.alternate.memoizedState.cachePool!==null&&(a=u.alternate.memoizedState.cachePool.pool),n=null,u.memoizedState!==null&&u.memoizedState.cachePool!==null&&(n=u.memoizedState.cachePool.pool),n!==a&&(u.flags|=2048)),e!==t&&e&&(l.child.flags|=8192),hn(l,l.updateQueue),I(l),null);case 4:return Re(),t===null&&of(l.stateNode.containerInfo),I(l),null;case 10:return vl(l.type),I(l),null;case 19:if(yt(et),u=l.memoizedState,u===null)return I(l),null;if(a=(l.flags&128)!==0,n=u.rendering,n===null)if(a)Iu(u,!1);else{if(lt!==0||t!==null&&t.flags&128)for(t=l.child;t!==null;){if(n=Pa(t),n!==null){for(l.flags|=128,Iu(u,!1),t=n.updateQueue,l.updateQueue=t,hn(l,t),l.subtreeFlags=0,t=e,e=l.child;e!==null;)yo(e,t),e=e.sibling;return w(et,et.current&1|2),V&&hl(l,u.treeForkCount),l.child}t=t.sibling}u.tail!==null&&Rt()>gn&&(l.flags|=128,a=!0,Iu(u,!1),l.lanes=4194304)}else{if(!a)if(t=Pa(n),t!==null){if(l.flags|=128,a=!0,t=t.updateQueue,l.updateQueue=t,hn(l,t),Iu(u,!0),u.tail===null&&u.tailMode==="hidden"&&!n.alternate&&!V)return I(l),null}else 2*Rt()-u.renderingStartTime>gn&&e!==536870912&&(l.flags|=128,a=!0,Iu(u,!1),l.lanes=4194304);u.isBackwards?(n.sibling=l.child,l.child=n):(t=u.last,t!==null?t.sibling=n:l.child=n,u.last=n)}return u.tail!==null?(t=u.tail,u.rendering=t,u.tail=t.sibling,u.renderingStartTime=Rt(),t.sibling=null,e=et.current,w(et,a?e&1|2:e&1),V&&hl(l,u.treeForkCount),t):(I(l),null);case 22:case 23:return Vt(l),oc(),u=l.memoizedState!==null,t!==null?t.memoizedState!==null!==u&&(l.flags|=8192):u&&(l.flags|=8192),u?e&536870912&&!(l.flags&128)&&(I(l),l.subtreeFlags&6&&(l.flags|=8192)):I(l),e=l.updateQueue,e!==null&&hn(l,e.retryQueue),e=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),u=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(u=l.memoizedState.cachePool.pool),u!==e&&(l.flags|=2048),t!==null&&yt(me),null;case 24:return e=null,t!==null&&(e=t.memoizedState.cache),l.memoizedState.cache!==e&&(l.flags|=2048),vl(it),I(l),null;case 25:return null;case 30:return null}throw Error(g(156,l.tag))}function Yr(t,l){switch(Wi(l),l.tag){case 1:return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 3:return vl(it),Re(),t=l.flags,t&65536&&!(t&128)?(l.flags=t&-65537|128,l):null;case 26:case 27:case 5:return pa(l),null;case 31:if(l.memoizedState!==null){if(Vt(l),l.alternate===null)throw Error(g(340));he()}return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 13:if(Vt(l),t=l.memoizedState,t!==null&&t.dehydrated!==null){if(l.alternate===null)throw Error(g(340));he()}return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 19:return yt(et),null;case 4:return Re(),null;case 10:return vl(l.type),null;case 22:case 23:return Vt(l),oc(),t!==null&&yt(me),t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 24:return vl(it),null;case 25:return null;default:return null}}function Gd(t,l){switch(Wi(l),l.tag){case 3:vl(it),Re();break;case 26:case 27:case 5:pa(l);break;case 4:Re();break;case 31:l.memoizedState!==null&&Vt(l);break;case 13:Vt(l);break;case 19:yt(et);break;case 10:vl(l.type);break;case 22:case 23:Vt(l),oc(),t!==null&&yt(me);break;case 24:vl(it)}}function Pu(t,l){try{var e=l.updateQueue,u=e!==null?e.lastEffect:null;if(u!==null){var a=u.next;e=a;do{if((e.tag&t)===t){u=void 0;var n=e.create,i=e.inst;u=n(),i.destroy=u}e=e.next}while(e!==a)}}catch(c){Z(l,l.return,c)}}function Zl(t,l,e){try{var u=l.updateQueue,a=u!==null?u.lastEffect:null;if(a!==null){var n=a.next;u=n;do{if((u.tag&t)===t){var i=u.inst,c=i.destroy;if(c!==void 0){i.destroy=void 0,a=l;var f=e,d=c;try{d()}catch(r){Z(a,f,r)}}}u=u.next}while(u!==n)}}catch(r){Z(l,l.return,r)}}function Xd(t){var l=t.updateQueue;if(l!==null){var e=t.stateNode;try{Ho(l,e)}catch(u){Z(t,t.return,u)}}}function Qd(t,l,e){e.props=ze(t.type,t.memoizedProps),e.state=t.memoizedState;try{e.componentWillUnmount()}catch(u){Z(t,l,u)}}function ta(t,l){try{var e=t.ref;if(e!==null){switch(t.tag){case 26:case 27:case 5:var u=t.stateNode;break;case 30:u=t.stateNode;break;default:u=t.stateNode}typeof e=="function"?t.refCleanup=e(u):e.current=u}}catch(a){Z(t,l,a)}}function il(t,l){var e=t.ref,u=t.refCleanup;if(e!==null)if(typeof u=="function")try{u()}catch(a){Z(t,l,a)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof e=="function")try{e(null)}catch(a){Z(t,l,a)}else e.current=null}function Zd(t){var l=t.type,e=t.memoizedProps,u=t.stateNode;try{t:switch(l){case"button":case"input":case"select":case"textarea":e.autoFocus&&u.focus();break t;case"img":e.src?u.src=e.src:e.srcSet&&(u.srcset=e.srcSet)}}catch(a){Z(t,t.return,a)}}function Zc(t,l,e){try{var u=t.stateNode;uv(u,t.type,e,l),u[At]=l}catch(a){Z(t,t.return,a)}}function xd(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&Wl(t.type)||t.tag===4}function xc(t){t:for(;;){for(;t.sibling===null;){if(t.return===null||xd(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.tag===27&&Wl(t.type)||t.flags&2||t.child===null||t.tag===4)continue t;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function Lc(t,l,e){var u=t.tag;if(u===5||u===6)t=t.stateNode,l?(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e).insertBefore(t,l):(l=e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,l.appendChild(t),e=e._reactRootContainer,e!=null||l.onclick!==null||(l.onclick=ol));else if(u!==4&&(u===27&&Wl(t.type)&&(e=t.stateNode,l=null),t=t.child,t!==null))for(Lc(t,l,e),t=t.sibling;t!==null;)Lc(t,l,e),t=t.sibling}function rn(t,l,e){var u=t.tag;if(u===5||u===6)t=t.stateNode,l?e.insertBefore(t,l):e.appendChild(t);else if(u!==4&&(u===27&&Wl(t.type)&&(e=t.stateNode),t=t.child,t!==null))for(rn(t,l,e),t=t.sibling;t!==null;)rn(t,l,e),t=t.sibling}function Ld(t){var l=t.stateNode,e=t.memoizedProps;try{for(var u=t.type,a=l.attributes;a.length;)l.removeAttributeNode(a[0]);Et(l,u,e),l[mt]=t,l[At]=e}catch(n){Z(t,t.return,n)}}var El=!1,st=!1,Kc=!1,Kd=typeof WeakSet=="function"?WeakSet:Set,rt=null;function qr(t,l){if(t=t.containerInfo,hf=Yn,t=eo(t),ji(t)){if("selectionStart"in t)var e={start:t.selectionStart,end:t.selectionEnd};else t:{e=(e=t.ownerDocument)&&e.defaultView||window;var u=e.getSelection&&e.getSelection();if(u&&u.rangeCount!==0){e=u.anchorNode;var a=u.anchorOffset,n=u.focusNode;u=u.focusOffset;try{e.nodeType,n.nodeType}catch{e=null;break t}var i=0,c=-1,f=-1,d=0,r=0,m=t,y=null;l:for(;;){for(var v;m!==e||a!==0&&m.nodeType!==3||(c=i+a),m!==n||u!==0&&m.nodeType!==3||(f=i+u),m.nodeType===3&&(i+=m.nodeValue.length),(v=m.firstChild)!==null;)y=m,m=v;for(;;){if(m===t)break l;if(y===e&&++d===a&&(c=i),y===n&&++r===u&&(f=i),(v=m.nextSibling)!==null)break;m=y,y=m.parentNode}m=v}e=c===-1||f===-1?null:{start:c,end:f}}else e=null}e=e||{start:0,end:0}}else e=null;for(rf={focusedElem:t,selectionRange:e},Yn=!1,rt=l;rt!==null;)if(l=rt,t=l.child,(l.subtreeFlags&1028)!==0&&t!==null)t.return=l,rt=t;else for(;rt!==null;){switch(l=rt,n=l.alternate,t=l.flags,l.tag){case 0:if(t&4&&(t=l.updateQueue,t=t!==null?t.events:null,t!==null))for(e=0;e title"))),Et(n,u,e),n[mt]=t,ht(n),u=n;break t;case"link":var i=ky("link","href",a).get(u+(e.href||""));if(i){for(var c=0;cH&&(i=H,H=p,p=i);var o=to(c,p),s=to(c,H);if(o&&s&&(v.rangeCount!==1||v.anchorNode!==o.node||v.anchorOffset!==o.offset||v.focusNode!==s.node||v.focusOffset!==s.offset)){var h=m.createRange();h.setStart(o.node,o.offset),v.removeAllRanges(),p>H?(v.addRange(h),v.extend(s.node,s.offset)):(h.setEnd(s.node,s.offset),v.addRange(h))}}}}for(m=[],v=c;v=v.parentNode;)v.nodeType===1&&m.push({element:v,left:v.scrollLeft,top:v.scrollTop});for(typeof c.focus=="function"&&c.focus(),c=0;ce?32:e,O.T=null,e=Ic,Ic=null;var n=Jl,i=Ol;if(dt=0,fu=Jl=null,Ol=0,X&6)throw Error(g(331));var c=X;if(X|=4,ey(n.current),Pd(n,n.current,i,e),X=c,ia(0,!1),Nt&&typeof Nt.onPostCommitFiberRoot=="function")try{Nt.onPostCommitFiberRoot(Au,n)}catch{}return!0}finally{G.p=a,O.T=u,Ey(t,l)}}function Ty(t,l,e){l=Lt(e,l),l=Rc(t.stateNode,l,2),t=Gl(t,l,2),t!==null&&(_u(t,2),cl(t))}function Z(t,l,e){if(t.tag===3)Ty(t,t,e);else for(;l!==null;){if(l.tag===3){Ty(l,t,e);break}else if(l.tag===1){var u=l.stateNode;if(typeof l.type.getDerivedStateFromError=="function"||typeof u.componentDidCatch=="function"&&(Kl===null||!Kl.has(u))){t=Lt(e,t),e=pd(2),u=Gl(l,e,2),u!==null&&(Ad(e,u,l,t),_u(u,2),cl(u));break}}l=l.return}}function ef(t,l,e){var u=t.pingCache;if(u===null){u=t.pingCache=new Gr;var a=new Set;u.set(l,a)}else a=u.get(l),a===void 0&&(a=new Set,u.set(l,a));a.has(e)||($c=!0,a.add(e),t=Lr.bind(null,t,l,e),l.then(t,t))}function Lr(t,l,e){var u=t.pingCache;u!==null&&u.delete(l),t.pingedLanes|=t.suspendedLanes&e,t.warmLanes&=~e,J===t&&(q&e)===e&&(lt===4||lt===3&&(q&62914560)===q&&300>Rt()-Sn?!(X&2)&&su(t,0):Wc|=e,cu===q&&(cu=0)),cl(t)}function py(t,l){l===0&&(l=ms()),t=de(t,l),t!==null&&(_u(t,l),cl(t))}function Kr(t){var l=t.memoizedState,e=0;l!==null&&(e=l.retryLane),py(t,e)}function Jr(t,l){var e=0;switch(t.tag){case 31:case 13:var u=t.stateNode,a=t.memoizedState;a!==null&&(e=a.retryLane);break;case 19:u=t.stateNode;break;case 22:u=t.stateNode._retryCache;break;default:throw Error(g(314))}u!==null&&u.delete(l),py(t,e)}function wr(t,l){return vi(t,l)}var An=null,du=null,uf=!1,On=!1,af=!1,$l=0;function cl(t){t!==du&&t.next===null&&(du===null?An=du=t:du=du.next=t),On=!0,uf||(uf=!0,Wr())}function ia(t,l){if(!af&&On){af=!0;do for(var e=!1,u=An;u!==null;){if(t!==0){var a=u.pendingLanes;if(a===0)var n=0;else{var i=u.suspendedLanes,c=u.pingedLanes;n=(1<<31-Ct(42|t)+1)-1,n&=a&~(i&~c),n=n&201326741?n&201326741|1:n?n|2:0}n!==0&&(e=!0,My(u,n))}else n=q,n=Da(u,u===J?n:0,u.cancelPendingCommit!==null||u.timeoutHandle!==-1),!(n&3)||Ou(u,n)||(e=!0,My(u,n));u=u.next}while(e);af=!1}}function $r(){Ay()}function Ay(){On=uf=!1;var t=0;$l!==0&&nv()&&(t=$l);for(var l=Rt(),e=null,u=An;u!==null;){var a=u.next,n=Oy(u,l);n===0?(u.next=null,e===null?An=a:e.next=a,a===null&&(du=e)):(e=u,(t!==0||n&3)&&(On=!0)),u=a}dt!==0&&dt!==5||ia(t),$l!==0&&($l=0)}function Oy(t,l){for(var e=t.suspendedLanes,u=t.pingedLanes,a=t.expirationTimes,n=t.pendingLanes&-62914561;0c)break;var r=f.transferSize,m=f.initiatorType;r&&Yy(m)&&(f=f.responseEnd,i+=r*(f"u"?null:document;function wy(t,l,e){var u=yu;if(u&&typeof l=="string"&&l){var a=Zt(l);a='link[rel="'+t+'"][href="'+a+'"]',typeof e=="string"&&(a+='[crossorigin="'+e+'"]'),Jy.has(a)||(Jy.add(a),t={rel:t,crossOrigin:e,href:l},u.querySelector(a)===null&&(l=u.createElement("link"),Et(l,"link",t),ht(l),u.head.appendChild(l)))}}function rv(t){_l.D(t),wy("dns-prefetch",t,null)}function vv(t,l){_l.C(t,l),wy("preconnect",t,l)}function mv(t,l,e){_l.L(t,l,e);var u=yu;if(u&&t&&l){var a='link[rel="preload"][as="'+Zt(l)+'"]';l==="image"&&e&&e.imageSrcSet?(a+='[imagesrcset="'+Zt(e.imageSrcSet)+'"]',typeof e.imageSizes=="string"&&(a+='[imagesizes="'+Zt(e.imageSizes)+'"]')):a+='[href="'+Zt(t)+'"]';var n=a;switch(l){case"style":n=hu(t);break;case"script":n=ru(t)}Ft.has(n)||(t=F({rel:"preload",href:l==="image"&&e&&e.imageSrcSet?void 0:t,as:l},e),Ft.set(n,t),u.querySelector(a)!==null||l==="style"&&u.querySelector(oa(n))||l==="script"&&u.querySelector(da(n))||(l=u.createElement("link"),Et(l,"link",t),ht(l),u.head.appendChild(l)))}}function Sv(t,l){_l.m(t,l);var e=yu;if(e&&t){var u=l&&typeof l.as=="string"?l.as:"script",a='link[rel="modulepreload"][as="'+Zt(u)+'"][href="'+Zt(t)+'"]',n=a;switch(u){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":n=ru(t)}if(!Ft.has(n)&&(t=F({rel:"modulepreload",href:t},l),Ft.set(n,t),e.querySelector(a)===null)){switch(u){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(e.querySelector(da(n)))return}u=e.createElement("link"),Et(u,"link",t),ht(u),e.head.appendChild(u)}}}function gv(t,l,e){_l.S(t,l,e);var u=yu;if(u&&t){var a=Ye(u).hoistableStyles,n=hu(t);l=l||"default";var i=a.get(n);if(!i){var c={loading:0,preload:null};if(i=u.querySelector(oa(n)))c.loading=5;else{t=F({rel:"stylesheet",href:t,"data-precedence":l},e),(e=Ft.get(n))&&zf(t,e);var f=i=u.createElement("link");ht(f),Et(f,"link",t),f._p=new Promise(function(d,r){f.onload=d,f.onerror=r}),f.addEventListener("load",function(){c.loading|=1}),f.addEventListener("error",function(){c.loading|=2}),c.loading|=4,Hn(i,l,u)}i={type:"stylesheet",instance:i,count:1,state:c},a.set(n,i)}}}function bv(t,l){_l.X(t,l);var e=yu;if(e&&t){var u=Ye(e).hoistableScripts,a=ru(t),n=u.get(a);n||(n=e.querySelector(da(a)),n||(t=F({src:t,async:!0},l),(l=Ft.get(a))&&Tf(t,l),n=e.createElement("script"),ht(n),Et(n,"link",t),e.head.appendChild(n)),n={type:"script",instance:n,count:1,state:null},u.set(a,n))}}function Ev(t,l){_l.M(t,l);var e=yu;if(e&&t){var u=Ye(e).hoistableScripts,a=ru(t),n=u.get(a);n||(n=e.querySelector(da(a)),n||(t=F({src:t,async:!0,type:"module"},l),(l=Ft.get(a))&&Tf(t,l),n=e.createElement("script"),ht(n),Et(n,"link",t),e.head.appendChild(n)),n={type:"script",instance:n,count:1,state:null},u.set(a,n))}}function $y(t,l,e,u){var a=(a=Ul.current)?Un(a):null;if(!a)throw Error(g(446));switch(t){case"meta":case"title":return null;case"style":return typeof e.precedence=="string"&&typeof e.href=="string"?(l=hu(e.href),e=Ye(a).hoistableStyles,u=e.get(l),u||(u={type:"style",instance:null,count:0,state:null},e.set(l,u)),u):{type:"void",instance:null,count:0,state:null};case"link":if(e.rel==="stylesheet"&&typeof e.href=="string"&&typeof e.precedence=="string"){t=hu(e.href);var n=Ye(a).hoistableStyles,i=n.get(t);if(i||(a=a.ownerDocument||a,i={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},n.set(t,i),(n=a.querySelector(oa(t)))&&!n._p&&(i.instance=n,i.state.loading=5),Ft.has(t)||(e={rel:"preload",as:"style",href:e.href,crossOrigin:e.crossOrigin,integrity:e.integrity,media:e.media,hrefLang:e.hrefLang,referrerPolicy:e.referrerPolicy},Ft.set(t,e),n||zv(a,t,e,i.state))),l&&u===null)throw Error(g(528,""));return i}if(l&&u!==null)throw Error(g(529,""));return null;case"script":return l=e.async,e=e.src,typeof e=="string"&&l&&typeof l!="function"&&typeof l!="symbol"?(l=ru(e),e=Ye(a).hoistableScripts,u=e.get(l),u||(u={type:"script",instance:null,count:0,state:null},e.set(l,u)),u):{type:"void",instance:null,count:0,state:null};default:throw Error(g(444,t))}}function hu(t){return'href="'+Zt(t)+'"'}function oa(t){return'link[rel="stylesheet"]['+t+"]"}function Wy(t){return F({},t,{"data-precedence":t.precedence,precedence:null})}function zv(t,l,e,u){t.querySelector('link[rel="preload"][as="style"]['+l+"]")?u.loading=1:(l=t.createElement("link"),u.preload=l,l.addEventListener("load",function(){return u.loading|=1}),l.addEventListener("error",function(){return u.loading|=2}),Et(l,"link",e),ht(l),t.head.appendChild(l))}function ru(t){return'[src="'+Zt(t)+'"]'}function da(t){return"script[async]"+t}function Fy(t,l,e){if(l.count++,l.instance===null)switch(l.type){case"style":var u=t.querySelector('style[data-href~="'+Zt(e.href)+'"]');if(u)return l.instance=u,ht(u),u;var a=F({},e,{"data-href":e.href,"data-precedence":e.precedence,href:null,precedence:null});return u=(t.ownerDocument||t).createElement("style"),ht(u),Et(u,"style",a),Hn(u,e.precedence,t),l.instance=u;case"stylesheet":a=hu(e.href);var n=t.querySelector(oa(a));if(n)return l.state.loading|=4,l.instance=n,ht(n),n;u=Wy(e),(a=Ft.get(a))&&zf(u,a),n=(t.ownerDocument||t).createElement("link"),ht(n);var i=n;return i._p=new Promise(function(c,f){i.onload=c,i.onerror=f}),Et(n,"link",u),l.state.loading|=4,Hn(n,e.precedence,t),l.instance=n;case"script":return n=ru(e.src),(a=t.querySelector(da(n)))?(l.instance=a,ht(a),a):(u=e,(a=Ft.get(n))&&(u=F({},e),Tf(u,a)),t=t.ownerDocument||t,a=t.createElement("script"),ht(a),Et(a,"link",u),t.head.appendChild(a),l.instance=a);case"void":return null;default:throw Error(g(443,l.type))}else l.type==="stylesheet"&&!(l.state.loading&4)&&(u=l.instance,l.state.loading|=4,Hn(u,e.precedence,t));return l.instance}function Hn(t,l,e){for(var u=e.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),a=u.length?u[u.length-1]:null,n=a,i=0;i title"):null)}function Tv(t,l,e){if(e===1||l.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof l.precedence!="string"||typeof l.href!="string"||l.href==="")break;return!0;case"link":if(typeof l.rel!="string"||typeof l.href!="string"||l.href===""||l.onLoad||l.onError)break;switch(l.rel){case"stylesheet":return t=l.disabled,typeof l.precedence=="string"&&t==null;default:return!0}case"script":if(l.async&&typeof l.async!="function"&&typeof l.async!="symbol"&&!l.onLoad&&!l.onError&&l.src&&typeof l.src=="string")return!0}return!1}function Py(t){return!(t.type==="stylesheet"&&!(t.state.loading&3))}function pv(t,l,e,u){if(e.type==="stylesheet"&&(typeof u.media!="string"||matchMedia(u.media).matches!==!1)&&!(e.state.loading&4)){if(e.instance===null){var a=hu(u.href),n=l.querySelector(oa(a));if(n){l=n._p,l!==null&&typeof l=="object"&&typeof l.then=="function"&&(t.count++,t=Nn.bind(t),l.then(t,t)),e.state.loading|=4,e.instance=n,ht(n);return}n=l.ownerDocument||l,u=Wy(u),(a=Ft.get(a))&&zf(u,a),n=n.createElement("link"),ht(n);var i=n;i._p=new Promise(function(c,f){i.onload=c,i.onerror=f}),Et(n,"link",u),e.instance=n}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(e,l),(l=e.state.preload)&&!(e.state.loading&3)&&(t.count++,e=Nn.bind(t),l.addEventListener("load",e),l.addEventListener("error",e))}}var pf=0;function Av(t,l){return t.stylesheets&&t.count===0&&Bn(t,t.stylesheets),0pf?50:800)+l);return t.unsuspend=e,function(){t.unsuspend=null,clearTimeout(u),clearTimeout(a)}}:null}function Nn(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Bn(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var Cn=null;function Bn(t,l){t.stylesheets=null,t.unsuspend!==null&&(t.count++,Cn=new Map,l.forEach(Ov,t),Cn=null,Nn.call(t))}function Ov(t,l){if(!(l.state.loading&4)){var e=Cn.get(t);if(e)var u=e.get(null);else{e=new Map,Cn.set(t,e);for(var a=t.querySelectorAll("link[data-precedence],style[data-precedence]"),n=0;n"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(hh)}catch(t){console.error(t)}}hh(),Ff.exports=ga;var Hf=Ff.exports;const Cv=ee({__proto__:null,default:Vf(Hf)},[Hf]);var rh={exports:{}},Zn={};/** +`+u.stack}}var ri=Object.prototype.hasOwnProperty,vi=ot.unstable_scheduleCallback,mi=ot.unstable_cancelCallback,y0=ot.unstable_shouldYield,h0=ot.unstable_requestPaint,Rt=ot.unstable_now,r0=ot.unstable_getCurrentPriorityLevel,hs=ot.unstable_ImmediatePriority,rs=ot.unstable_UserBlockingPriority,Oa=ot.unstable_NormalPriority,v0=ot.unstable_LowPriority,vs=ot.unstable_IdlePriority,m0=ot.log,S0=ot.unstable_setDisableYieldValue,Ou=null,Nt=null;function Rl(t){if(typeof m0=="function"&&S0(t),Nt&&typeof Nt.setStrictMode=="function")try{Nt.setStrictMode(Ou,t)}catch{}}var Ct=Math.clz32?Math.clz32:E0,g0=Math.log,b0=Math.LN2;function E0(t){return t>>>=0,t===0?32:31-(g0(t)/b0|0)|0}var _a=256,Ma=262144,Da=4194304;function ce(t){var l=t&42;if(l!==0)return l;switch(t&-t){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:return t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function Ua(t,l,e){var u=t.pendingLanes;if(u===0)return 0;var a=0,n=t.suspendedLanes,i=t.pingedLanes;t=t.warmLanes;var c=u&134217727;return c!==0?(u=c&~n,u!==0?a=ce(u):(i&=c,i!==0?a=ce(i):e||(e=c&~t,e!==0&&(a=ce(e))))):(c=u&~n,c!==0?a=ce(c):i!==0?a=ce(i):e||(e=u&~t,e!==0&&(a=ce(e)))),a===0?0:l!==0&&l!==a&&!(l&n)&&(n=a&-a,e=l&-l,n>=e||n===32&&(e&4194048)!==0)?l:a}function _u(t,l){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&l)===0}function z0(t,l){switch(t){case 1:case 2:case 4:case 8:case 64:return l+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 l+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 ms(){var t=Da;return Da<<=1,!(Da&62914560)&&(Da=4194304),t}function Si(t){for(var l=[],e=0;31>e;e++)l.push(t);return l}function Mu(t,l){t.pendingLanes|=l,l!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function T0(t,l,e,u,a,n){var i=t.pendingLanes;t.pendingLanes=e,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=e,t.entangledLanes&=e,t.errorRecoveryDisabledLanes&=e,t.shellSuspendCounter=0;var c=t.entanglements,f=t.expirationTimes,d=t.hiddenUpdates;for(e=i&~e;0"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var D0=/[\n"\\]/g;function xt(t){return t.replace(D0,function(l){return"\\"+l.charCodeAt(0).toString(16)+" "})}function pi(t,l,e,u,a,n,i,c){t.name="",i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"?t.type=i:t.removeAttribute("type"),l!=null?i==="number"?(l===0&&t.value===""||t.value!=l)&&(t.value=""+Zt(l)):t.value!==""+Zt(l)&&(t.value=""+Zt(l)):i!=="submit"&&i!=="reset"||t.removeAttribute("value"),l!=null?Ai(t,i,Zt(l)):e!=null?Ai(t,i,Zt(e)):u!=null&&t.removeAttribute("value"),a==null&&n!=null&&(t.defaultChecked=!!n),a!=null&&(t.checked=a&&typeof a!="function"&&typeof a!="symbol"),c!=null&&typeof c!="function"&&typeof c!="symbol"&&typeof c!="boolean"?t.name=""+Zt(c):t.removeAttribute("name")}function Us(t,l,e,u,a,n,i,c){if(n!=null&&typeof n!="function"&&typeof n!="symbol"&&typeof n!="boolean"&&(t.type=n),l!=null||e!=null){if(!(n!=="submit"&&n!=="reset"||l!=null)){Ti(t);return}e=e!=null?""+Zt(e):"",l=l!=null?""+Zt(l):e,c||l===t.value||(t.value=l),t.defaultValue=l}u=u??a,u=typeof u!="function"&&typeof u!="symbol"&&!!u,t.checked=c?t.checked:!!u,t.defaultChecked=!!u,i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(t.name=i),Ti(t)}function Ai(t,l,e){l==="number"&&Na(t.ownerDocument)===t||t.defaultValue===""+e||(t.defaultValue=""+e)}function je(t,l,e,u){if(t=t.options,l){l={};for(var a=0;a"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ui=!1;if(dl)try{var Ru={};Object.defineProperty(Ru,"passive",{get:function(){Ui=!0}}),window.addEventListener("test",Ru,Ru),window.removeEventListener("test",Ru,Ru)}catch{Ui=!1}var Cl=null,Hi=null,Ba=null;function qs(){if(Ba)return Ba;var t,l=Hi,e=l.length,u,a="value"in Cl?Cl.value:Cl.textContent,n=a.length;for(t=0;t=Bu),Zs=" ",xs=!1;function Ls(t,l){switch(t){case"keyup":return er.indexOf(l.keyCode)!==-1;case"keydown":return l.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ks(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var Ze=!1;function ar(t,l){switch(t){case"compositionend":return Ks(l);case"keypress":return l.which!==32?null:(xs=!0,Zs);case"textInput":return t=l.data,t===Zs&&xs?null:t;default:return null}}function nr(t,l){if(Ze)return t==="compositionend"||!Yi&&Ls(t,l)?(t=qs(),Ba=Hi=Cl=null,Ze=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(l.ctrlKey||l.altKey||l.metaKey)||l.ctrlKey&&l.altKey){if(l.char&&1=l)return{node:e,offset:l-t};t=u}t:{for(;e;){if(e.nextSibling){e=e.nextSibling;break t}e=e.parentNode}e=void 0}e=Ps(e)}}function lo(t,l){return t&&l?t===l?!0:t&&t.nodeType===3?!1:l&&l.nodeType===3?lo(t,l.parentNode):"contains"in t?t.contains(l):t.compareDocumentPosition?!!(t.compareDocumentPosition(l)&16):!1:!1}function eo(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var l=Na(t.document);l instanceof t.HTMLIFrameElement;){try{var e=typeof l.contentWindow.location.href=="string"}catch{e=!1}if(e)t=l.contentWindow;else break;l=Na(t.document)}return l}function ji(t){var l=t&&t.nodeName&&t.nodeName.toLowerCase();return l&&(l==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||l==="textarea"||t.contentEditable==="true")}var hr=dl&&"documentMode"in document&&11>=document.documentMode,xe=null,Gi=null,ju=null,Xi=!1;function uo(t,l,e){var u=e.window===e?e.document:e.nodeType===9?e:e.ownerDocument;Xi||xe==null||xe!==Na(u)||(u=xe,"selectionStart"in u&&ji(u)?u={start:u.selectionStart,end:u.selectionEnd}:(u=(u.ownerDocument&&u.ownerDocument.defaultView||window).getSelection(),u={anchorNode:u.anchorNode,anchorOffset:u.anchorOffset,focusNode:u.focusNode,focusOffset:u.focusOffset}),ju&&Vu(ju,u)||(ju=u,u=Dn(Gi,"onSelect"),0>=i,a-=i,al=1<<32-Ct(l)+a|e<A?(M=z,z=null):M=z.sibling;var R=y(o,z,h[A],S);if(R===null){z===null&&(z=M);break}t&&z&&R.alternate===null&&l(o,z),s=n(R,s,A),_===null?E=R:_.sibling=R,_=R,z=M}if(A===h.length)return e(o,z),j&&hl(o,A),E;if(z===null){for(;AA?(M=z,z=null):M=z.sibling;var It=y(o,z,R.value,S);if(It===null){z===null&&(z=M);break}t&&z&&It.alternate===null&&l(o,z),s=n(It,s,A),_===null?E=It:_.sibling=It,_=It,z=M}if(R.done)return e(o,z),j&&hl(o,A),E;if(z===null){for(;!R.done;A++,R=h.next())R=m(o,R.value,S),R!==null&&(s=n(R,s,A),_===null?E=R:_.sibling=R,_=R);return j&&hl(o,A),E}for(z=u(z);!R.done;A++,R=h.next())R=v(z,o,A,R.value,S),R!==null&&(t&&R.alternate!==null&&z.delete(R.key===null?A:R.key),s=n(R,s,A),_===null?E=R:_.sibling=R,_=R);return t&&z.forEach(function(ee){return l(o,ee)}),j&&hl(o,A),E}function H(o,s,h,S){if(typeof h=="object"&&h!==null&&h.type===He&&h.key===null&&(h=h.props.children),typeof h=="object"&&h!==null){switch(h.$$typeof){case za:t:{for(var E=h.key;s!==null;){if(s.key===E){if(E=h.type,E===He){if(s.tag===7){e(o,s.sibling),S=a(s,h.props.children),S.return=o,o=S;break t}}else if(s.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===Ul&&ge(E)===s.type){e(o,s.sibling),S=a(s,h.props),Lu(S,h),S.return=o,o=S;break t}e(o,s);break}else l(o,s);s=s.sibling}h.type===He?(S=he(h.props.children,o.mode,S,h.key),S.return=o,o=S):(S=La(h.type,h.key,h.props,null,o.mode,S),Lu(S,h),S.return=o,o=S)}return i(o);case zu:t:{for(E=h.key;s!==null;){if(s.key===E)if(s.tag===4&&s.stateNode.containerInfo===h.containerInfo&&s.stateNode.implementation===h.implementation){e(o,s.sibling),S=a(s,h.children||[]),S.return=o,o=S;break t}else{e(o,s);break}else l(o,s);s=s.sibling}S=wi(h,o.mode,S),S.return=o,o=S}return i(o);case Ul:return h=ge(h),H(o,s,h,S)}if(pu(h))return b(o,s,h,S);if(Tu(h)){if(E=Tu(h),typeof E!="function")throw Error(g(150));return h=E.call(h),p(o,s,h,S)}if(typeof h.then=="function")return H(o,s,ka(h),S);if(h.$$typeof===fl)return H(o,s,wa(o,h),S);Ia(o,h)}return typeof h=="string"&&h!==""||typeof h=="number"||typeof h=="bigint"?(h=""+h,s!==null&&s.tag===6?(e(o,s.sibling),S=a(s,h),S.return=o,o=S):(e(o,s),S=Ji(h,o.mode,S),S.return=o,o=S),i(o)):e(o,s)}return function(o,s,h,S){try{xu=0;var E=H(o,s,h,S);return tu=null,E}catch(z){if(z===Pe||z===Wa)throw z;var _=Yt(29,z,null,o.mode);return _.lanes=S,_.return=o,_}finally{}}}var Ee=Mo(!0),Do=Mo(!1),jl=!1;function nc(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function ic(t,l){t=t.updateQueue,l.updateQueue===t&&(l.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function Gl(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function Xl(t,l,e){var u=t.updateQueue;if(u===null)return null;if(u=u.shared,X&2){var a=u.pending;return a===null?l.next=l:(l.next=a.next,a.next=l),u.pending=l,l=xa(t),oo(t,null,e),l}return Za(t,u,l,e),xa(t)}function Ku(t,l,e){if(l=l.updateQueue,l!==null&&(l=l.shared,(e&4194048)!==0)){var u=l.lanes;u&=t.pendingLanes,e|=u,l.lanes=e,gs(t,e)}}function cc(t,l){var e=t.updateQueue,u=t.alternate;if(u!==null&&(u=u.updateQueue,e===u)){var a=null,n=null;if(e=e.firstBaseUpdate,e!==null){do{var i={lane:e.lane,tag:e.tag,payload:e.payload,callback:null,next:null};n===null?a=n=i:n=n.next=i,e=e.next}while(e!==null);n===null?a=n=l:n=n.next=l}else a=n=l;e={baseState:u.baseState,firstBaseUpdate:a,lastBaseUpdate:n,shared:u.shared,callbacks:u.callbacks},t.updateQueue=e;return}t=e.lastBaseUpdate,t===null?e.firstBaseUpdate=l:t.next=l,e.lastBaseUpdate=l}var fc=!1;function Ju(){if(fc){var t=Ie;if(t!==null)throw t}}function wu(t,l,e,u){fc=!1;var a=t.updateQueue;jl=!1;var n=a.firstBaseUpdate,i=a.lastBaseUpdate,c=a.shared.pending;if(c!==null){a.shared.pending=null;var f=c,d=f.next;f.next=null,i===null?n=d:i.next=d,i=f;var r=t.alternate;r!==null&&(r=r.updateQueue,c=r.lastBaseUpdate,c!==i&&(c===null?r.firstBaseUpdate=d:c.next=d,r.lastBaseUpdate=f))}if(n!==null){var m=a.baseState;i=0,r=d=f=null,c=n;do{var y=c.lane&-536870913,v=y!==c.lane;if(v?(q&y)===y:(u&y)===y){y!==0&&y===ke&&(fc=!0),r!==null&&(r=r.next={lane:0,tag:c.tag,payload:c.payload,callback:null,next:null});t:{var b=t,p=c;y=l;var H=e;switch(p.tag){case 1:if(b=p.payload,typeof b=="function"){m=b.call(H,m,y);break t}m=b;break t;case 3:b.flags=b.flags&-65537|128;case 0:if(b=p.payload,y=typeof b=="function"?b.call(H,m,y):b,y==null)break t;m=F({},m,y);break t;case 2:jl=!0}}y=c.callback,y!==null&&(t.flags|=64,v&&(t.flags|=8192),v=a.callbacks,v===null?a.callbacks=[y]:v.push(y))}else v={lane:y,tag:c.tag,payload:c.payload,callback:c.callback,next:null},r===null?(d=r=v,f=m):r=r.next=v,i|=y;if(c=c.next,c===null){if(c=a.shared.pending,c===null)break;v=c,c=v.next,v.next=null,a.lastBaseUpdate=v,a.shared.pending=null}}while(!0);r===null&&(f=m),a.baseState=f,a.firstBaseUpdate=d,a.lastBaseUpdate=r,n===null&&(a.shared.lanes=0),Kl|=i,t.lanes=i,t.memoizedState=m}}function Uo(t,l){if(typeof t!="function")throw Error(g(191,t));t.call(l)}function Ho(t,l){var e=t.callbacks;if(e!==null)for(t.callbacks=null,t=0;tn?n:8;var i=O.T,c={};O.T=c,Mc(t,!1,l,e);try{var f=a(),d=O.S;if(d!==null&&d(c,f),f!==null&&typeof f=="object"&&typeof f.then=="function"){var r=Tr(f,u);Fu(t,l,r,Xt(t))}else Fu(t,l,u,Xt(t))}catch(m){Fu(t,l,{then:function(){},status:"rejected",reason:m},Xt())}finally{G.p=n,i!==null&&c.types!==null&&(i.types=c.types),O.T=i}}function Dr(){}function Oc(t,l,e,u){if(t.tag!==5)throw Error(g(476));var a=fd(t).queue;cd(t,a,l,ne,e===null?Dr:function(){return sd(t),e(u)})}function fd(t){var l=t.memoizedState;if(l!==null)return l;l={memoizedState:ne,baseState:ne,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Sl,lastRenderedState:ne},next:null};var e={};return l.next={memoizedState:e,baseState:e,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Sl,lastRenderedState:e},next:null},t.memoizedState=l,t=t.alternate,t!==null&&(t.memoizedState=l),l}function sd(t){var l=fd(t);l.next===null&&(l=t.alternate.memoizedState),Fu(t,l.next.queue,{},Xt())}function _c(){return gt(ha)}function od(){return ut().memoizedState}function dd(){return ut().memoizedState}function Ur(t){for(var l=t.return;l!==null;){switch(l.tag){case 24:case 3:var e=Xt();t=Gl(e);var u=Xl(l,t,e);u!==null&&(Ht(u,l,e),Ku(u,l,e)),l={cache:lc()},t.payload=l;return}l=l.return}}function Hr(t,l,e){var u=Xt();e={lane:u,revertLane:0,gesture:null,action:e,hasEagerState:!1,eagerState:null,next:null},sn(t)?hd(l,e):(e=Li(t,l,e,u),e!==null&&(Ht(e,t,u),rd(e,l,u)))}function yd(t,l,e){var u=Xt();Fu(t,l,e,u)}function Fu(t,l,e,u){var a={lane:u,revertLane:0,gesture:null,action:e,hasEagerState:!1,eagerState:null,next:null};if(sn(t))hd(l,a);else{var n=t.alternate;if(t.lanes===0&&(n===null||n.lanes===0)&&(n=l.lastRenderedReducer,n!==null))try{var i=l.lastRenderedState,c=n(i,e);if(a.hasEagerState=!0,a.eagerState=c,Bt(c,i))return Za(t,l,a,0),J===null&&Qa(),!1}catch{}finally{}if(e=Li(t,l,a,u),e!==null)return Ht(e,t,u),rd(e,l,u),!0}return!1}function Mc(t,l,e,u){if(u={lane:2,revertLane:nf(),gesture:null,action:u,hasEagerState:!1,eagerState:null,next:null},sn(t)){if(l)throw Error(g(479))}else l=Li(t,e,u,2),l!==null&&Ht(l,t,2)}function sn(t){var l=t.alternate;return t===U||l!==null&&l===U}function hd(t,l){eu=ln=!0;var e=t.pending;e===null?l.next=l:(l.next=e.next,e.next=l),t.pending=l}function rd(t,l,e){if(e&4194048){var u=l.lanes;u&=t.pendingLanes,e|=u,l.lanes=e,gs(t,e)}}var ku={readContext:gt,use:an,useCallback:tt,useContext:tt,useEffect:tt,useImperativeHandle:tt,useLayoutEffect:tt,useInsertionEffect:tt,useMemo:tt,useReducer:tt,useRef:tt,useState:tt,useDebugValue:tt,useDeferredValue:tt,useTransition:tt,useSyncExternalStore:tt,useId:tt,useHostTransitionStatus:tt,useFormState:tt,useActionState:tt,useOptimistic:tt,useMemoCache:tt,useCacheRefresh:tt};ku.useEffectEvent=tt;var vd={readContext:gt,use:an,useCallback:function(t,l){return pt().memoizedState=[t,l===void 0?null:l],t},useContext:gt,useEffect:Io,useImperativeHandle:function(t,l,e){e=e!=null?e.concat([t]):null,cn(4194308,4,ed.bind(null,l,t),e)},useLayoutEffect:function(t,l){return cn(4194308,4,t,l)},useInsertionEffect:function(t,l){cn(4,2,t,l)},useMemo:function(t,l){var e=pt();l=l===void 0?null:l;var u=t();if(ze){Rl(!0);try{t()}finally{Rl(!1)}}return e.memoizedState=[u,l],u},useReducer:function(t,l,e){var u=pt();if(e!==void 0){var a=e(l);if(ze){Rl(!0);try{e(l)}finally{Rl(!1)}}}else a=l;return u.memoizedState=u.baseState=a,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:a},u.queue=t,t=t.dispatch=Hr.bind(null,U,t),[u.memoizedState,t]},useRef:function(t){var l=pt();return t={current:t},l.memoizedState=t},useState:function(t){t=Ec(t);var l=t.queue,e=yd.bind(null,U,l);return l.dispatch=e,[t.memoizedState,e]},useDebugValue:pc,useDeferredValue:function(t,l){var e=pt();return Ac(e,t,l)},useTransition:function(){var t=Ec(!1);return t=cd.bind(null,U,t.queue,!0,!1),pt().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,l,e){var u=U,a=pt();if(j){if(e===void 0)throw Error(g(407));e=e()}else{if(e=l(),J===null)throw Error(g(349));q&127||qo(u,l,e)}a.memoizedState=e;var n={value:e,getSnapshot:l};return a.queue=n,Io(jo.bind(null,u,n,t),[t]),u.flags|=2048,au(9,{destroy:void 0},Vo.bind(null,u,n,e,l),null),e},useId:function(){var t=pt(),l=J.identifierPrefix;if(j){var e=nl,u=al;e=(u&~(1<<32-Ct(u)-1)).toString(32)+e,l="_"+l+"R_"+e,e=en++,0<\/script>",n=n.removeChild(n.firstChild);break;case"select":n=typeof u.is=="string"?i.createElement("select",{is:u.is}):i.createElement("select"),u.multiple?n.multiple=!0:u.size&&(n.size=u.size);break;default:n=typeof u.is=="string"?i.createElement(a,{is:u.is}):i.createElement(a)}}n[mt]=l,n[At]=u;t:for(i=l.child;i!==null;){if(i.tag===5||i.tag===6)n.appendChild(i.stateNode);else if(i.tag!==4&&i.tag!==27&&i.child!==null){i.child.return=i,i=i.child;continue}if(i===l)break t;for(;i.sibling===null;){if(i.return===null||i.return===l)break t;i=i.return}i.sibling.return=i.return,i=i.sibling}l.stateNode=n;t:switch(Et(n,a,u),a){case"button":case"input":case"select":case"textarea":u=!!u.autoFocus;break t;case"img":u=!0;break t;default:u=!1}u&&bl(l)}}return I(l),Qc(l,l.type,t===null?null:t.memoizedProps,l.pendingProps,e),null;case 6:if(t&&l.stateNode!=null)t.memoizedProps!==u&&bl(l);else{if(typeof u!="string"&&l.stateNode===null)throw Error(g(166));if(t=Hl.current,We(l)){if(t=l.stateNode,e=l.memoizedProps,u=null,a=St,a!==null)switch(a.tag){case 27:case 5:u=a.memoizedProps}t[mt]=l,t=!!(t.nodeValue===e||u!==null&&u.suppressHydrationWarning===!0||By(t.nodeValue,e)),t||ql(l,!0)}else t=Un(t).createTextNode(u),t[mt]=l,l.stateNode=t}return I(l),null;case 31:if(e=l.memoizedState,t===null||t.memoizedState!==null){if(u=We(l),e!==null){if(t===null){if(!u)throw Error(g(318));if(t=l.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(g(557));t[mt]=l}else re(),!(l.flags&128)&&(l.memoizedState=null),l.flags|=4;I(l),t=!1}else e=ki(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=e),t=!0;if(!t)return l.flags&256?(Vt(l),l):(Vt(l),null);if(l.flags&128)throw Error(g(558))}return I(l),null;case 13:if(u=l.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(a=We(l),u!==null&&u.dehydrated!==null){if(t===null){if(!a)throw Error(g(318));if(a=l.memoizedState,a=a!==null?a.dehydrated:null,!a)throw Error(g(317));a[mt]=l}else re(),!(l.flags&128)&&(l.memoizedState=null),l.flags|=4;I(l),a=!1}else a=ki(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=a),a=!0;if(!a)return l.flags&256?(Vt(l),l):(Vt(l),null)}return Vt(l),l.flags&128?(l.lanes=e,l):(e=u!==null,t=t!==null&&t.memoizedState!==null,e&&(u=l.child,a=null,u.alternate!==null&&u.alternate.memoizedState!==null&&u.alternate.memoizedState.cachePool!==null&&(a=u.alternate.memoizedState.cachePool.pool),n=null,u.memoizedState!==null&&u.memoizedState.cachePool!==null&&(n=u.memoizedState.cachePool.pool),n!==a&&(u.flags|=2048)),e!==t&&e&&(l.child.flags|=8192),rn(l,l.updateQueue),I(l),null);case 4:return Ne(),t===null&&of(l.stateNode.containerInfo),I(l),null;case 10:return vl(l.type),I(l),null;case 19:if(yt(et),u=l.memoizedState,u===null)return I(l),null;if(a=(l.flags&128)!==0,n=u.rendering,n===null)if(a)Pu(u,!1);else{if(lt!==0||t!==null&&t.flags&128)for(t=l.child;t!==null;){if(n=tn(t),n!==null){for(l.flags|=128,Pu(u,!1),t=n.updateQueue,l.updateQueue=t,rn(l,t),l.subtreeFlags=0,t=e,e=l.child;e!==null;)yo(e,t),e=e.sibling;return w(et,et.current&1|2),j&&hl(l,u.treeForkCount),l.child}t=t.sibling}u.tail!==null&&Rt()>bn&&(l.flags|=128,a=!0,Pu(u,!1),l.lanes=4194304)}else{if(!a)if(t=tn(n),t!==null){if(l.flags|=128,a=!0,t=t.updateQueue,l.updateQueue=t,rn(l,t),Pu(u,!0),u.tail===null&&u.tailMode==="hidden"&&!n.alternate&&!j)return I(l),null}else 2*Rt()-u.renderingStartTime>bn&&e!==536870912&&(l.flags|=128,a=!0,Pu(u,!1),l.lanes=4194304);u.isBackwards?(n.sibling=l.child,l.child=n):(t=u.last,t!==null?t.sibling=n:l.child=n,u.last=n)}return u.tail!==null?(t=u.tail,u.rendering=t,u.tail=t.sibling,u.renderingStartTime=Rt(),t.sibling=null,e=et.current,w(et,a?e&1|2:e&1),j&&hl(l,u.treeForkCount),t):(I(l),null);case 22:case 23:return Vt(l),oc(),u=l.memoizedState!==null,t!==null?t.memoizedState!==null!==u&&(l.flags|=8192):u&&(l.flags|=8192),u?e&536870912&&!(l.flags&128)&&(I(l),l.subtreeFlags&6&&(l.flags|=8192)):I(l),e=l.updateQueue,e!==null&&rn(l,e.retryQueue),e=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),u=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(u=l.memoizedState.cachePool.pool),u!==e&&(l.flags|=2048),t!==null&&yt(Se),null;case 24:return e=null,t!==null&&(e=t.memoizedState.cache),l.memoizedState.cache!==e&&(l.flags|=2048),vl(it),I(l),null;case 25:return null;case 30:return null}throw Error(g(156,l.tag))}function Yr(t,l){switch(Wi(l),l.tag){case 1:return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 3:return vl(it),Ne(),t=l.flags,t&65536&&!(t&128)?(l.flags=t&-65537|128,l):null;case 26:case 27:case 5:return Aa(l),null;case 31:if(l.memoizedState!==null){if(Vt(l),l.alternate===null)throw Error(g(340));re()}return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 13:if(Vt(l),t=l.memoizedState,t!==null&&t.dehydrated!==null){if(l.alternate===null)throw Error(g(340));re()}return t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 19:return yt(et),null;case 4:return Ne(),null;case 10:return vl(l.type),null;case 22:case 23:return Vt(l),oc(),t!==null&&yt(Se),t=l.flags,t&65536?(l.flags=t&-65537|128,l):null;case 24:return vl(it),null;case 25:return null;default:return null}}function Gd(t,l){switch(Wi(l),l.tag){case 3:vl(it),Ne();break;case 26:case 27:case 5:Aa(l);break;case 4:Ne();break;case 31:l.memoizedState!==null&&Vt(l);break;case 13:Vt(l);break;case 19:yt(et);break;case 10:vl(l.type);break;case 22:case 23:Vt(l),oc(),t!==null&&yt(Se);break;case 24:vl(it)}}function ta(t,l){try{var e=l.updateQueue,u=e!==null?e.lastEffect:null;if(u!==null){var a=u.next;e=a;do{if((e.tag&t)===t){u=void 0;var n=e.create,i=e.inst;u=n(),i.destroy=u}e=e.next}while(e!==a)}}catch(c){Z(l,l.return,c)}}function xl(t,l,e){try{var u=l.updateQueue,a=u!==null?u.lastEffect:null;if(a!==null){var n=a.next;u=n;do{if((u.tag&t)===t){var i=u.inst,c=i.destroy;if(c!==void 0){i.destroy=void 0,a=l;var f=e,d=c;try{d()}catch(r){Z(a,f,r)}}}u=u.next}while(u!==n)}}catch(r){Z(l,l.return,r)}}function Xd(t){var l=t.updateQueue;if(l!==null){var e=t.stateNode;try{Ho(l,e)}catch(u){Z(t,t.return,u)}}}function Qd(t,l,e){e.props=Te(t.type,t.memoizedProps),e.state=t.memoizedState;try{e.componentWillUnmount()}catch(u){Z(t,l,u)}}function la(t,l){try{var e=t.ref;if(e!==null){switch(t.tag){case 26:case 27:case 5:var u=t.stateNode;break;case 30:u=t.stateNode;break;default:u=t.stateNode}typeof e=="function"?t.refCleanup=e(u):e.current=u}}catch(a){Z(t,l,a)}}function il(t,l){var e=t.ref,u=t.refCleanup;if(e!==null)if(typeof u=="function")try{u()}catch(a){Z(t,l,a)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof e=="function")try{e(null)}catch(a){Z(t,l,a)}else e.current=null}function Zd(t){var l=t.type,e=t.memoizedProps,u=t.stateNode;try{t:switch(l){case"button":case"input":case"select":case"textarea":e.autoFocus&&u.focus();break t;case"img":e.src?u.src=e.src:e.srcSet&&(u.srcset=e.srcSet)}}catch(a){Z(t,t.return,a)}}function Zc(t,l,e){try{var u=t.stateNode;uv(u,t.type,e,l),u[At]=l}catch(a){Z(t,t.return,a)}}function xd(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&Fl(t.type)||t.tag===4}function xc(t){t:for(;;){for(;t.sibling===null;){if(t.return===null||xd(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.tag===27&&Fl(t.type)||t.flags&2||t.child===null||t.tag===4)continue t;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function Lc(t,l,e){var u=t.tag;if(u===5||u===6)t=t.stateNode,l?(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e).insertBefore(t,l):(l=e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,l.appendChild(t),e=e._reactRootContainer,e!=null||l.onclick!==null||(l.onclick=ol));else if(u!==4&&(u===27&&Fl(t.type)&&(e=t.stateNode,l=null),t=t.child,t!==null))for(Lc(t,l,e),t=t.sibling;t!==null;)Lc(t,l,e),t=t.sibling}function vn(t,l,e){var u=t.tag;if(u===5||u===6)t=t.stateNode,l?e.insertBefore(t,l):e.appendChild(t);else if(u!==4&&(u===27&&Fl(t.type)&&(e=t.stateNode),t=t.child,t!==null))for(vn(t,l,e),t=t.sibling;t!==null;)vn(t,l,e),t=t.sibling}function Ld(t){var l=t.stateNode,e=t.memoizedProps;try{for(var u=t.type,a=l.attributes;a.length;)l.removeAttributeNode(a[0]);Et(l,u,e),l[mt]=t,l[At]=e}catch(n){Z(t,t.return,n)}}var El=!1,st=!1,Kc=!1,Kd=typeof WeakSet=="function"?WeakSet:Set,rt=null;function qr(t,l){if(t=t.containerInfo,hf=qn,t=eo(t),ji(t)){if("selectionStart"in t)var e={start:t.selectionStart,end:t.selectionEnd};else t:{e=(e=t.ownerDocument)&&e.defaultView||window;var u=e.getSelection&&e.getSelection();if(u&&u.rangeCount!==0){e=u.anchorNode;var a=u.anchorOffset,n=u.focusNode;u=u.focusOffset;try{e.nodeType,n.nodeType}catch{e=null;break t}var i=0,c=-1,f=-1,d=0,r=0,m=t,y=null;l:for(;;){for(var v;m!==e||a!==0&&m.nodeType!==3||(c=i+a),m!==n||u!==0&&m.nodeType!==3||(f=i+u),m.nodeType===3&&(i+=m.nodeValue.length),(v=m.firstChild)!==null;)y=m,m=v;for(;;){if(m===t)break l;if(y===e&&++d===a&&(c=i),y===n&&++r===u&&(f=i),(v=m.nextSibling)!==null)break;m=y,y=m.parentNode}m=v}e=c===-1||f===-1?null:{start:c,end:f}}else e=null}e=e||{start:0,end:0}}else e=null;for(rf={focusedElem:t,selectionRange:e},qn=!1,rt=l;rt!==null;)if(l=rt,t=l.child,(l.subtreeFlags&1028)!==0&&t!==null)t.return=l,rt=t;else for(;rt!==null;){switch(l=rt,n=l.alternate,t=l.flags,l.tag){case 0:if(t&4&&(t=l.updateQueue,t=t!==null?t.events:null,t!==null))for(e=0;e title"))),Et(n,u,e),n[mt]=t,ht(n),u=n;break t;case"link":var i=ky("link","href",a).get(u+(e.href||""));if(i){for(var c=0;cH&&(i=H,H=p,p=i);var o=to(c,p),s=to(c,H);if(o&&s&&(v.rangeCount!==1||v.anchorNode!==o.node||v.anchorOffset!==o.offset||v.focusNode!==s.node||v.focusOffset!==s.offset)){var h=m.createRange();h.setStart(o.node,o.offset),v.removeAllRanges(),p>H?(v.addRange(h),v.extend(s.node,s.offset)):(h.setEnd(s.node,s.offset),v.addRange(h))}}}}for(m=[],v=c;v=v.parentNode;)v.nodeType===1&&m.push({element:v,left:v.scrollLeft,top:v.scrollTop});for(typeof c.focus=="function"&&c.focus(),c=0;ce?32:e,O.T=null,e=Ic,Ic=null;var n=wl,i=Ol;if(dt=0,su=wl=null,Ol=0,X&6)throw Error(g(331));var c=X;if(X|=4,ey(n.current),Pd(n,n.current,i,e),X=c,ca(0,!1),Nt&&typeof Nt.onPostCommitFiberRoot=="function")try{Nt.onPostCommitFiberRoot(Ou,n)}catch{}return!0}finally{G.p=a,O.T=u,Ey(t,l)}}function Ty(t,l,e){l=Kt(e,l),l=Rc(t.stateNode,l,2),t=Xl(t,l,2),t!==null&&(Mu(t,2),cl(t))}function Z(t,l,e){if(t.tag===3)Ty(t,t,e);else for(;l!==null;){if(l.tag===3){Ty(l,t,e);break}else if(l.tag===1){var u=l.stateNode;if(typeof l.type.getDerivedStateFromError=="function"||typeof u.componentDidCatch=="function"&&(Jl===null||!Jl.has(u))){t=Kt(e,t),e=pd(2),u=Xl(l,e,2),u!==null&&(Ad(e,u,l,t),Mu(u,2),cl(u));break}}l=l.return}}function ef(t,l,e){var u=t.pingCache;if(u===null){u=t.pingCache=new Gr;var a=new Set;u.set(l,a)}else a=u.get(l),a===void 0&&(a=new Set,u.set(l,a));a.has(e)||($c=!0,a.add(e),t=Lr.bind(null,t,l,e),l.then(t,t))}function Lr(t,l,e){var u=t.pingCache;u!==null&&u.delete(l),t.pingedLanes|=t.suspendedLanes&e,t.warmLanes&=~e,J===t&&(q&e)===e&&(lt===4||lt===3&&(q&62914560)===q&&300>Rt()-gn?!(X&2)&&ou(t,0):Wc|=e,fu===q&&(fu=0)),cl(t)}function py(t,l){l===0&&(l=ms()),t=ye(t,l),t!==null&&(Mu(t,l),cl(t))}function Kr(t){var l=t.memoizedState,e=0;l!==null&&(e=l.retryLane),py(t,e)}function Jr(t,l){var e=0;switch(t.tag){case 31:case 13:var u=t.stateNode,a=t.memoizedState;a!==null&&(e=a.retryLane);break;case 19:u=t.stateNode;break;case 22:u=t.stateNode._retryCache;break;default:throw Error(g(314))}u!==null&&u.delete(l),py(t,e)}function wr(t,l){return vi(t,l)}var On=null,yu=null,uf=!1,_n=!1,af=!1,Wl=0;function cl(t){t!==yu&&t.next===null&&(yu===null?On=yu=t:yu=yu.next=t),_n=!0,uf||(uf=!0,Wr())}function ca(t,l){if(!af&&_n){af=!0;do for(var e=!1,u=On;u!==null;){if(t!==0){var a=u.pendingLanes;if(a===0)var n=0;else{var i=u.suspendedLanes,c=u.pingedLanes;n=(1<<31-Ct(42|t)+1)-1,n&=a&~(i&~c),n=n&201326741?n&201326741|1:n?n|2:0}n!==0&&(e=!0,My(u,n))}else n=q,n=Ua(u,u===J?n:0,u.cancelPendingCommit!==null||u.timeoutHandle!==-1),!(n&3)||_u(u,n)||(e=!0,My(u,n));u=u.next}while(e);af=!1}}function $r(){Ay()}function Ay(){_n=uf=!1;var t=0;Wl!==0&&nv()&&(t=Wl);for(var l=Rt(),e=null,u=On;u!==null;){var a=u.next,n=Oy(u,l);n===0?(u.next=null,e===null?On=a:e.next=a,a===null&&(yu=e)):(e=u,(t!==0||n&3)&&(_n=!0)),u=a}dt!==0&&dt!==5||ca(t),Wl!==0&&(Wl=0)}function Oy(t,l){for(var e=t.suspendedLanes,u=t.pingedLanes,a=t.expirationTimes,n=t.pendingLanes&-62914561;0c)break;var r=f.transferSize,m=f.initiatorType;r&&Yy(m)&&(f=f.responseEnd,i+=r*(f"u"?null:document;function wy(t,l,e){var u=hu;if(u&&typeof l=="string"&&l){var a=xt(l);a='link[rel="'+t+'"][href="'+a+'"]',typeof e=="string"&&(a+='[crossorigin="'+e+'"]'),Jy.has(a)||(Jy.add(a),t={rel:t,crossOrigin:e,href:l},u.querySelector(a)===null&&(l=u.createElement("link"),Et(l,"link",t),ht(l),u.head.appendChild(l)))}}function rv(t){_l.D(t),wy("dns-prefetch",t,null)}function vv(t,l){_l.C(t,l),wy("preconnect",t,l)}function mv(t,l,e){_l.L(t,l,e);var u=hu;if(u&&t&&l){var a='link[rel="preload"][as="'+xt(l)+'"]';l==="image"&&e&&e.imageSrcSet?(a+='[imagesrcset="'+xt(e.imageSrcSet)+'"]',typeof e.imageSizes=="string"&&(a+='[imagesizes="'+xt(e.imageSizes)+'"]')):a+='[href="'+xt(t)+'"]';var n=a;switch(l){case"style":n=ru(t);break;case"script":n=vu(t)}kt.has(n)||(t=F({rel:"preload",href:l==="image"&&e&&e.imageSrcSet?void 0:t,as:l},e),kt.set(n,t),u.querySelector(a)!==null||l==="style"&&u.querySelector(da(n))||l==="script"&&u.querySelector(ya(n))||(l=u.createElement("link"),Et(l,"link",t),ht(l),u.head.appendChild(l)))}}function Sv(t,l){_l.m(t,l);var e=hu;if(e&&t){var u=l&&typeof l.as=="string"?l.as:"script",a='link[rel="modulepreload"][as="'+xt(u)+'"][href="'+xt(t)+'"]',n=a;switch(u){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":n=vu(t)}if(!kt.has(n)&&(t=F({rel:"modulepreload",href:t},l),kt.set(n,t),e.querySelector(a)===null)){switch(u){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(e.querySelector(ya(n)))return}u=e.createElement("link"),Et(u,"link",t),ht(u),e.head.appendChild(u)}}}function gv(t,l,e){_l.S(t,l,e);var u=hu;if(u&&t){var a=qe(u).hoistableStyles,n=ru(t);l=l||"default";var i=a.get(n);if(!i){var c={loading:0,preload:null};if(i=u.querySelector(da(n)))c.loading=5;else{t=F({rel:"stylesheet",href:t,"data-precedence":l},e),(e=kt.get(n))&&zf(t,e);var f=i=u.createElement("link");ht(f),Et(f,"link",t),f._p=new Promise(function(d,r){f.onload=d,f.onerror=r}),f.addEventListener("load",function(){c.loading|=1}),f.addEventListener("error",function(){c.loading|=2}),c.loading|=4,Rn(i,l,u)}i={type:"stylesheet",instance:i,count:1,state:c},a.set(n,i)}}}function bv(t,l){_l.X(t,l);var e=hu;if(e&&t){var u=qe(e).hoistableScripts,a=vu(t),n=u.get(a);n||(n=e.querySelector(ya(a)),n||(t=F({src:t,async:!0},l),(l=kt.get(a))&&Tf(t,l),n=e.createElement("script"),ht(n),Et(n,"link",t),e.head.appendChild(n)),n={type:"script",instance:n,count:1,state:null},u.set(a,n))}}function Ev(t,l){_l.M(t,l);var e=hu;if(e&&t){var u=qe(e).hoistableScripts,a=vu(t),n=u.get(a);n||(n=e.querySelector(ya(a)),n||(t=F({src:t,async:!0,type:"module"},l),(l=kt.get(a))&&Tf(t,l),n=e.createElement("script"),ht(n),Et(n,"link",t),e.head.appendChild(n)),n={type:"script",instance:n,count:1,state:null},u.set(a,n))}}function $y(t,l,e,u){var a=(a=Hl.current)?Hn(a):null;if(!a)throw Error(g(446));switch(t){case"meta":case"title":return null;case"style":return typeof e.precedence=="string"&&typeof e.href=="string"?(l=ru(e.href),e=qe(a).hoistableStyles,u=e.get(l),u||(u={type:"style",instance:null,count:0,state:null},e.set(l,u)),u):{type:"void",instance:null,count:0,state:null};case"link":if(e.rel==="stylesheet"&&typeof e.href=="string"&&typeof e.precedence=="string"){t=ru(e.href);var n=qe(a).hoistableStyles,i=n.get(t);if(i||(a=a.ownerDocument||a,i={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},n.set(t,i),(n=a.querySelector(da(t)))&&!n._p&&(i.instance=n,i.state.loading=5),kt.has(t)||(e={rel:"preload",as:"style",href:e.href,crossOrigin:e.crossOrigin,integrity:e.integrity,media:e.media,hrefLang:e.hrefLang,referrerPolicy:e.referrerPolicy},kt.set(t,e),n||zv(a,t,e,i.state))),l&&u===null)throw Error(g(528,""));return i}if(l&&u!==null)throw Error(g(529,""));return null;case"script":return l=e.async,e=e.src,typeof e=="string"&&l&&typeof l!="function"&&typeof l!="symbol"?(l=vu(e),e=qe(a).hoistableScripts,u=e.get(l),u||(u={type:"script",instance:null,count:0,state:null},e.set(l,u)),u):{type:"void",instance:null,count:0,state:null};default:throw Error(g(444,t))}}function ru(t){return'href="'+xt(t)+'"'}function da(t){return'link[rel="stylesheet"]['+t+"]"}function Wy(t){return F({},t,{"data-precedence":t.precedence,precedence:null})}function zv(t,l,e,u){t.querySelector('link[rel="preload"][as="style"]['+l+"]")?u.loading=1:(l=t.createElement("link"),u.preload=l,l.addEventListener("load",function(){return u.loading|=1}),l.addEventListener("error",function(){return u.loading|=2}),Et(l,"link",e),ht(l),t.head.appendChild(l))}function vu(t){return'[src="'+xt(t)+'"]'}function ya(t){return"script[async]"+t}function Fy(t,l,e){if(l.count++,l.instance===null)switch(l.type){case"style":var u=t.querySelector('style[data-href~="'+xt(e.href)+'"]');if(u)return l.instance=u,ht(u),u;var a=F({},e,{"data-href":e.href,"data-precedence":e.precedence,href:null,precedence:null});return u=(t.ownerDocument||t).createElement("style"),ht(u),Et(u,"style",a),Rn(u,e.precedence,t),l.instance=u;case"stylesheet":a=ru(e.href);var n=t.querySelector(da(a));if(n)return l.state.loading|=4,l.instance=n,ht(n),n;u=Wy(e),(a=kt.get(a))&&zf(u,a),n=(t.ownerDocument||t).createElement("link"),ht(n);var i=n;return i._p=new Promise(function(c,f){i.onload=c,i.onerror=f}),Et(n,"link",u),l.state.loading|=4,Rn(n,e.precedence,t),l.instance=n;case"script":return n=vu(e.src),(a=t.querySelector(ya(n)))?(l.instance=a,ht(a),a):(u=e,(a=kt.get(n))&&(u=F({},e),Tf(u,a)),t=t.ownerDocument||t,a=t.createElement("script"),ht(a),Et(a,"link",u),t.head.appendChild(a),l.instance=a);case"void":return null;default:throw Error(g(443,l.type))}else l.type==="stylesheet"&&!(l.state.loading&4)&&(u=l.instance,l.state.loading|=4,Rn(u,e.precedence,t));return l.instance}function Rn(t,l,e){for(var u=e.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),a=u.length?u[u.length-1]:null,n=a,i=0;i title"):null)}function Tv(t,l,e){if(e===1||l.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof l.precedence!="string"||typeof l.href!="string"||l.href==="")break;return!0;case"link":if(typeof l.rel!="string"||typeof l.href!="string"||l.href===""||l.onLoad||l.onError)break;switch(l.rel){case"stylesheet":return t=l.disabled,typeof l.precedence=="string"&&t==null;default:return!0}case"script":if(l.async&&typeof l.async!="function"&&typeof l.async!="symbol"&&!l.onLoad&&!l.onError&&l.src&&typeof l.src=="string")return!0}return!1}function Py(t){return!(t.type==="stylesheet"&&!(t.state.loading&3))}function pv(t,l,e,u){if(e.type==="stylesheet"&&(typeof u.media!="string"||matchMedia(u.media).matches!==!1)&&!(e.state.loading&4)){if(e.instance===null){var a=ru(u.href),n=l.querySelector(da(a));if(n){l=n._p,l!==null&&typeof l=="object"&&typeof l.then=="function"&&(t.count++,t=Cn.bind(t),l.then(t,t)),e.state.loading|=4,e.instance=n,ht(n);return}n=l.ownerDocument||l,u=Wy(u),(a=kt.get(a))&&zf(u,a),n=n.createElement("link"),ht(n);var i=n;i._p=new Promise(function(c,f){i.onload=c,i.onerror=f}),Et(n,"link",u),e.instance=n}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(e,l),(l=e.state.preload)&&!(e.state.loading&3)&&(t.count++,e=Cn.bind(t),l.addEventListener("load",e),l.addEventListener("error",e))}}var pf=0;function Av(t,l){return t.stylesheets&&t.count===0&&Yn(t,t.stylesheets),0pf?50:800)+l);return t.unsuspend=e,function(){t.unsuspend=null,clearTimeout(u),clearTimeout(a)}}:null}function Cn(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Yn(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var Bn=null;function Yn(t,l){t.stylesheets=null,t.unsuspend!==null&&(t.count++,Bn=new Map,l.forEach(Ov,t),Bn=null,Cn.call(t))}function Ov(t,l){if(!(l.state.loading&4)){var e=Bn.get(t);if(e)var u=e.get(null);else{e=new Map,Bn.set(t,e);for(var a=t.querySelectorAll("link[data-precedence],style[data-precedence]"),n=0;n"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(hh)}catch(t){console.error(t)}}hh(),Ff.exports=ba;var Hf=Ff.exports;const Cv=ue({__proto__:null,default:Vf(Hf)},[Hf]);var rh={exports:{}},xn={};/** * @license React * react-jsx-runtime.production.js * @@ -46,4 +46,4 @@ Error generating stack: `+u.message+` * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Bv=Symbol.for("react.transitional.element"),Yv=Symbol.for("react.fragment");function vh(t,l,e){var u=null;if(e!==void 0&&(u=""+e),l.key!==void 0&&(u=""+l.key),"key"in l){e={};for(var a in l)a!=="key"&&(e[a]=l[a])}else e=l;return l=e.ref,{$$typeof:Bv,type:t,key:u,ref:l!==void 0?l:null,props:e}}Zn.Fragment=Yv,Zn.jsx=vh,Zn.jsxs=vh,rh.exports=Zn;var Ae=rh.exports;const mh=j.createContext(null);function Sh({namespace:t,children:l}){return Ae.jsx(mh.Provider,{value:t,children:l})}function qv(){return j.useContext(mh)}function Vv(t,l){return l?`${l}-${t}`:t}function te(t,l){const e=qv();return Vv(t,l!==void 0?l:e)}function jv({id:t,tagName:l="div",namespace:e,...u}){const a=te(t,e),n=j.useRef(null);return j.useEffect(()=>{var d;const i=n.current,c=i==null?void 0:i.parentElement;if(!i||!c||!((d=window.Shiny)!=null&&d.bindAll))return;const f=(r,m)=>{console.error(`[shinyreact] ShinyOutput "${a}" ${m} failed:`,{id:a,phase:m,error:r})};try{const r=window.Shiny.bindAll(c);r&&typeof r.catch=="function"&&r.catch(m=>f(m,"bindAll"))}catch(r){f(r,"bindAll")}return()=>{var r,m;try{(m=(r=window.Shiny)==null?void 0:r.unbindAll)==null||m.call(r,i,!0)}catch(y){f(y,"unbindAll")}}},[a,l]),Wf.createElement(l,{id:a,ref:n,...u})}const mu=Symbol("MISSING"),gh="1.0";function Gv(){if(typeof document>"u")return null;const t=document.getElementById("shinyreact-config"),l=t==null?void 0:t.textContent;if(!l)return null;try{return JSON.parse(l)}catch(e){return console.error("shinyreact: could not parse #shinyreact-config JSON",e),null}}function Xv(t){if(typeof document<"u"&&document.body){const l="shinyreact-fatal-error";let e=document.getElementById(l);e||(e=document.createElement("div"),e.id=l,e.setAttribute("role","alert"),e.style.cssText="position:fixed;top:0;left:0;right:0;z-index:99999;padding:1rem 1.25rem;background:#fee2e2;color:#7f1d1d;border-bottom:4px solid #991b1b;font-family:system-ui,sans-serif;font-size:15px;line-height:1.5;white-space:pre-wrap",document.body.appendChild(e));const u=e;u.textContent="",t.split("`").forEach((a,n)=>{if(n%2===0){u.appendChild(document.createTextNode(a));return}const i=document.createElement("code");i.textContent=a,i.style.cssText="background:#fff;color:#7f1d1d;border:1px solid #f0a3a3;border-radius:4px;padding:0.1em 0.35em;font-family:ui-monospace,SFMono-Regular,monospace;font-size:0.95em",u.appendChild(i)})}throw new Error(t.replace(/`/g,""))}function Qv(t){const l=e=>e.split(".")[0];l(t)!==l(gh)&&Xv(`shinyreact protocol mismatch: the server speaks protocol \`${t}\` but this JS client supports \`${gh}\`. Upgrade the older side (the shinyreact R/Python package, or the client bundle) so the major protocol versions match.`)}function Zv(t){const l=typeof window<"u"?window:globalThis,e=l.shinyreact=l.shinyreact||{},u=e._restore,a=Gv();if(a!=null&&a.protocolVersion?Qv(a.protocolVersion):a!=null&&console.error("shinyreact: the `#shinyreact-config` tag carries no `protocolVersion`, so the client cannot verify it speaks the same protocol as the server. Upgrade the shinyreact Python/R package.".replace(/`/g,"")),u&&typeof u=="object"&&u["-applied"])return;const n=a==null?void 0:a.restore,i=Object.create(null);if(n&&typeof n=="object")for(const[c,f]of Object.entries(n))t.add(c,f),i[c]=f;e._restore={"-applied":!0,"-values":i}}let Rf=!1,xn=!1;const Nf=new Set;let bh=!1,Eh,zh,Th;function ph(){for(const t of Nf)t()}function Ah(){Rf||(Rf=!0,ph())}function Oh(t){xn!==t&&(xn=t,ph())}function xv(){if(bh||typeof document>"u")return;bh=!0,document.documentElement.classList.contains("shiny-busy")&&(xn=!0),Eh=()=>Oh(!0),zh=()=>Oh(!1),document.addEventListener("shiny:busy",Eh),document.addEventListener("shiny:idle",zh);const t=nt();if(t){t.initializedPromise.then(Ah);return}Th=()=>{const l=nt();l&&l.initializedPromise.then(Ah)},document.addEventListener("shiny:connected",Th,{once:!0})}function _h(t){return xv(),Nf.add(t),()=>{Nf.delete(t)}}function Mh(){return Rf}function Dh(){return xn}class Lv{constructor(){K(this,"messageHandlers",new Map);K(this,"initialized",!1)}init(){if(this.initialized)return;const l=nt();l&&(l.addCustomMessageHandler("shinyReactMessage",e=>{this.dispatchMessage(e.id,e.data)}),this.initialized=!0)}addHandler(l,e){this.init(),this.messageHandlers.has(l)||this.messageHandlers.set(l,new Set),this.messageHandlers.get(l).add(e)}removeHandler(l,e){const u=this.messageHandlers.get(l);u&&(u.delete(e),u.size===0&&this.messageHandlers.delete(l))}dispatchMessage(l,e){const u=this.messageHandlers.get(l);u&&u.forEach(a=>a(e))}getHandlerCount(l){const e=this.messageHandlers.get(l);return e?e.size:0}getActiveMessageIds(){return Array.from(this.messageHandlers.keys())}}const Uh=new Lv;function Hh(){const t=nt();return t?t.messageRegistry??(t.messageRegistry=Uh):Uh}function Kv(){nt()&&Hh()}class Jv{constructor(l){K(this,"id");K(this,"el");K(this,"status","pending");K(this,"hasValue",!1);K(this,"lastValue");K(this,"lastError",null);K(this,"useStateSetValueFns");K(this,"useStateSetStatusFns");K(this,"useStateSetErrorFns");this.id=l,this.useStateSetValueFns=new Set,this.useStateSetStatusFns=new Set,this.useStateSetErrorFns=new Set}hasReceivedValue(){return this.hasValue}getLastValue(){return this.lastValue}getLastError(){return this.lastError}addUseStateSetValueFn(l){this.useStateSetValueFns.add(l)}removeUseStateSetValueFn(l){this.useStateSetValueFns.delete(l)}addUseStateSetStatusFn(l){this.useStateSetStatusFns.add(l)}removeUseStateSetStatusFn(l){this.useStateSetStatusFns.delete(l)}addUseStateSetErrorFn(l){this.useStateSetErrorFns.add(l)}removeUseStateSetErrorFn(l){this.useStateSetErrorFns.delete(l)}getStatus(){return this.status}setStatus(l){this.status!==l&&(this.status=l,this.useStateSetStatusFns.forEach(e=>e(l)))}setValue(l){this.hasValue=!0,this.lastValue=l,this.useStateSetValueFns.forEach(e=>e(l)),this.status==="error"&&(this.lastError=null,this.useStateSetErrorFns.forEach(e=>e(null))),this.setStatus("ready")}setRecalculating(l){l?this.hasValue&&(this.status==="error"&&(this.lastError=null,this.useStateSetErrorFns.forEach(e=>e(null))),this.setStatus("recalculating")):this.hasValue&&this.status==="recalculating"&&this.setStatus("ready")}setError(l){this.lastError=l,this.useStateSetErrorFns.forEach(e=>e(l)),this.setStatus("error")}isEmpty(){return this.useStateSetValueFns.size===0&&this.useStateSetStatusFns.size===0&&this.useStateSetErrorFns.size===0}}class wv{constructor(){K(this,"outputs",new Map);K(this,"bindAllScheduled",!1);K(this,"containerEl")}get container(){return this.containerEl??(this.containerEl=(()=>{const l=document.createElement("div");return l.className="shiny-react-output-container",l.style.visibility="hidden",document.body.appendChild(l),l})()),this.containerEl}add(l,e,u,a){let n=this.get(l);if(!n){const i=document.createElement("div");i.className="shiny-react-output",i.id=l,this.container.appendChild(i),n=new Jv(l),n.el=i,this.outputs.set(l,n),this.scheduleBindAll()}return n.addUseStateSetValueFn(e),n.addUseStateSetStatusFn(u),n.addUseStateSetErrorFn(a),n.hasReceivedValue()&&e(n.getLastValue()),u(n.getStatus()),n.getStatus()==="error"&&a(n.getLastError()),()=>{n.removeUseStateSetValueFn(e),n.removeUseStateSetStatusFn(u),n.removeUseStateSetErrorFn(a),this.scheduleCleanup(l)}}has(l){return this.outputs.has(l)}get(l){return this.outputs.get(l)}scheduleCleanup(l){requestAnimationFrame(()=>{var u;const e=this.outputs.get(l);!e||!e.isEmpty()||(this.outputs.delete(l),(u=e.el)==null||u.remove(),this.scheduleBindAll())})}scheduleBindAll(){const l=nt();!l||!this.containerEl||this.bindAllScheduled||(this.bindAllScheduled=!0,requestAnimationFrame(()=>{var e,u;(e=l.unbindAll)==null||e.call(l,this.container),(u=l.bindAll)==null||u.call(l,this.container),this.bindAllScheduled=!1}))}}function $v(t){const l=nt();if(!l)return;class e extends l.OutputBinding{find(a){return $(a).find(".shiny-react-output")}renderValue(a,n){const i=t().get(a.id);if(!i){console.error(`Output ${a.id} not found`);return}i.setValue(n)}renderError(a,n){console.error(`Error for ${a.id}:`,n);const i=t().get(a.id);i&&i.setError(n)}showProgress(a,n){const i=t().get(a.id);if(!i){console.error(`Output ${a.id} not found`);return}i.setRecalculating(n)}}l.outputBindings.register(new e,"shiny.reactOutput")}function Cf(t,l){let e=null;const u=function(...a){const n=()=>{e=null,t(...a)};e!==null&&clearTimeout(e),e=setTimeout(n,l)};return u.setDelay=a=>{l=a},u.getDelay=()=>l,u.cancel=()=>{e!==null&&(clearTimeout(e),e=null)},u}const ma=class ma{constructor(l,e){K(this,"id");K(this,"value");K(this,"useStateSetValueFns");K(this,"shinySetInputValueDebounced");K(this,"opts",{debounceMs:100});K(this,"type");K(this,"typeFinalized",!1);this.id=l,this.value=e,this.useStateSetValueFns=new Set,this.shinySetInputValueDebounced=Cf(this.setShinyInputValue.bind(this),this.opts.debounceMs)}isEmpty(){return this.useStateSetValueFns.size===0}setShinyInputValue(l){var u,a;const e=`${this.id}:${this.type??ma.DEFAULT_TYPE}`;(a=(u=nt())==null?void 0:u.setInputValue)==null||a.call(u,e,l,this.opts)}updateDebounceDelay(l){this.shinySetInputValueDebounced.setDelay(l)}updatePriority(l){const e=this.opts.priority;e!==void 0&&e!==l&&console.warn(`[shinyreact] Input "${this.id}" priority changed from ${JSON.stringify(e)} to ${JSON.stringify(l)}. Priority is per-id here, so the most recent mount wins — if two call sites for this id disagree, the winner depends on mount order.`),this.opts.priority=l}updateType(l){if(!this.typeFinalized){this.type=l,this.typeFinalized=!0;return}if(l!==void 0&&this.type!==l)throw new Error(`Input "${this.id}" is already registered with type=${this.type===void 0?`undefined (wire id "${this.id}:${ma.DEFAULT_TYPE}")`:JSON.stringify(this.type)}. A second mount requested type=${JSON.stringify(l)}. An input's handler type changes server-side semantics and must be consistent across every useShinyInput / useSetShinyInput call for the same id.`)}addUseStateSetValueFn(l){this.useStateSetValueFns.add(l)}removeUseStateSetValueFn(l){this.useStateSetValueFns.delete(l)}setValue(l){const e=typeof l=="function"?l(this.value):l;if(this.value=e,this.useStateSetValueFns.forEach(u=>u(e)),e===mu){this.shinySetInputValueDebounced.cancel();return}this.shinySetInputValueDebounced(e)}getValue(){return this.value}};K(ma,"DEFAULT_TYPE","shinyreact.default");let Bf=ma;class Wv{constructor(){K(this,"inputs",new Map);K(this,"pendingSubscribers",new Map)}get(l){return this.inputs.get(l)}has(l){return this.inputs.has(l)}add(l,e){if(this.inputs.has(l))throw new Error(`Input ${l} already exists`);const u=new Bf(l,e);this.inputs.set(l,u);const a=this.pendingSubscribers.get(l);return a&&(a.forEach(n=>{u.addUseStateSetValueFn(n),n(u.getValue())}),this.pendingSubscribers.delete(l)),u}getOrCreate(l,e){let u=this.get(l);return u||(u=this.add(l,e)),u}subscribe(l,e){const u=this.get(l);if(u)return u.addUseStateSetValueFn(e),e(u.getValue()),()=>{const n=this.get(l);n&&n.removeUseStateSetValueFn(e)};let a=this.pendingSubscribers.get(l);return a||(a=new Set,this.pendingSubscribers.set(l,a)),a.add(e),()=>{const n=this.get(l);if(n){n.removeUseStateSetValueFn(e);return}const i=this.pendingSubscribers.get(l);i&&(i.delete(e),i.size===0&&this.pendingSubscribers.delete(l))}}remove(l){const e=this.inputs.get(l);return e&&e.shinySetInputValueDebounced.cancel(),this.inputs.delete(l)}keys(){return this.inputs.keys()}size(){return this.inputs.size}}let Rh;function Nh(){return Rh??(Rh={inputs:new Wv,outputs:new wv}),Rh}function Fv(){kt()}function kt(){const t=nt();return t?t.reactRegistry??(t.reactRegistry=Nh()):Nh()}function Ln(t,l,{debounceMs:e=100,priority:u,namespace:a,type:n}={}){if(Su(),n!==void 0&&!/^[^\s:]+$/.test(n))throw new Error(`useShinyInput("${t}"): invalid type=${JSON.stringify(n)}. Must be non-empty and contain no whitespace or ':' characters.`);const i=te(t,a),f=j.useRef(l).current;let d=f;const m=kt().inputs.get(i);m&&(d=m.getValue());const[y,v]=j.useState(d),b=Oe();j.useEffect(()=>{if(!b)return;const o=kt().inputs.getOrCreate(i,f);return e!==void 0&&o.updateDebounceDelay(e),u&&o.updatePriority(u),o.updateType(n),o.addUseStateSetValueFn(v),o.setValue(o.getValue()),()=>{o.removeUseStateSetValueFn(v)}},[i,b,e,u,f,n]);const p=j.useCallback(H=>{if(!b)return;const s=kt().inputs.get(i);if(!s){console.error(`Input ${i} not found`);return}s.setValue(H)},[i,b]);return[y,p]}const Kn=()=>{};function Ch(t,l=void 0,{namespace:e}={}){const[u,a]=j.useState(l),n=Oe();Su();const i=te(t,e),c=j.useRef(l);return j.useEffect(()=>{if(!n)return;const f=kt();return a(c.current),f.outputs.add(i,a,Kn,Kn)},[i,n]),u}function Bh(t,{namespace:l}={}){const[e,u]=j.useState("pending"),a=Oe();Su();const n=te(t,l);return j.useEffect(()=>a?kt().outputs.add(n,Kn,u,Kn):void 0,[n,a]),e}function kv(t,{namespace:l}={}){Su();const e=te(t,l),[u,a]=j.useState(()=>{const i=kt().inputs.get(e);if(!i)return;const c=i.getValue();return c===mu?void 0:c}),n=Oe();return j.useEffect(()=>n?kt().inputs.subscribe(e,f=>{a(f===mu?void 0:f)}):void 0,[e,n]),u}function Iv(t,l,{debounceMs:e=100,priority:u,namespace:a,type:n}={}){if(Su(),n!==void 0&&!/^[^\s:]+$/.test(n))throw new Error(`useSetShinyInput("${t}"): invalid type=${JSON.stringify(n)}. Must be non-empty and contain no whitespace or ':' characters.`);const i=te(t,a),f=j.useRef(l).current,d=Oe();return j.useEffect(()=>{if(!d)return;const m=kt().inputs.getOrCreate(i,f);e!==void 0&&m.updateDebounceDelay(e),u&&m.updatePriority(u),m.updateType(n),m.setValue(m.getValue())},[i,d,e,u,f,n]),j.useCallback(r=>{if(!d)return;const y=kt().inputs.get(i);if(!y){console.error(`Input ${i} not found`);return}y.setValue(r)},[i,d])}function Pv(t,l,{namespace:e}={}){const u=Oe();Su();const a=te(t,e),n=j.useRef(l);n.current=l,j.useEffect(()=>{if(!u||!a)return;const i=f=>n.current(f),c=Hh();return c.addHandler(a,i),()=>{c.removeHandler(a,i)}},[u,a])}function Oe(){return j.useSyncExternalStore(_h,Mh,Mh)}function tm(){return j.useSyncExternalStore(_h,Dh,Dh)}let Yh=!1;function Su(){Yh||(Fv(),Zv(kt().inputs),$v(()=>kt().outputs),Kv(),Yh=!0)}function lm({id:t,className:l,width:e,height:u,debounceMs:a=400,onRecalculating:n,namespace:i}){const c=te(t,i),f={namespace:null},[d,r]=Ln(`.clientdata_output_${c}_width`,mu,f),[m,y]=Ln(`.clientdata_output_${c}_height`,mu,f),[v]=Ln(`.clientdata_output_${c}_hidden`,!1,f),b=Ch(c,void 0,f),p=Bh(c,f),H=j.useRef(null),o=j.useRef(null),[s,h]=j.useState(0);j.useEffect(()=>{b&&h(E=>E+1)},[b]),j.useEffect(()=>{n&&n(p==="recalculating")},[p,n]);const S=j.useCallback(()=>{if(H.current){const E=H.current.clientWidth,_=H.current.clientHeight;E>0&&_>0&&(r(E),y(_))}},[r,y]);return j.useEffect(()=>{const E=H.current;if(!E)return;E.addEventListener("load",S);const _=Cf(()=>{E&&E.complete&&S()},a),z=new ResizeObserver(A=>{for(const M of A)M.target===E&&_()});return z.observe(E),()=>{E.removeEventListener("load",S),z.disconnect(),_.cancel()}},[H,s,r,y,a,S]),j.useEffect(()=>{if(b)return;const E=o.current;if(!E)return;const _=()=>{const M=E.clientWidth,R=E.clientHeight;M>0&&R>0&&(r(M),y(R))};_();const z=Cf(_,a),A=new ResizeObserver(()=>z());return A.observe(E),()=>{A.disconnect(),z.cancel()}},[b,r,y,a]),v?null:b?Ae.jsx("img",{ref:H,src:b.src,alt:"",className:l,style:{width:e,height:u},onLoad:S}):Ae.jsx("div",{ref:o,className:l,style:{width:e,height:u,display:"flex",alignItems:"center",justifyContent:"center",color:"#9ca3af"},children:Ae.jsx("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",style:{animation:"spin 1s linear infinite"},children:Ae.jsx("circle",{cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"2.5",strokeDasharray:"31.4 31.4",strokeLinecap:"round"})})})}class qh extends HTMLElement{constructor(){super(...arguments);K(this,"root",null);K(this,"slotContents",new Map)}captureSlots(e="[data-slot]"){const u=this.querySelectorAll(`:scope > ${e}`),a=new Set(u);u.forEach(i=>{const c=i.getAttribute("data-slot");c&&this.slotContents.set(c,Array.from(i.childNodes))});const n=Array.from(this.childNodes).filter(i=>!a.has(i));return n.length>0&&this.slotContents.set("__children__",n),this.slotContents}async mountSlot(e,u){var n,i;const a=this.slotContents.get(e);a&&u&&(a.forEach(c=>u.appendChild(c)),await((i=(n=window.Shiny)==null?void 0:n.bindAll)==null?void 0:i.call(n,u)))}get onSlotMount(){return this.mountSlot.bind(this)}getConfig(){const e={};for(const[u,a]of Object.entries(this.dataset))if(a!==void 0)try{e[u]=JSON.parse(a)}catch{e[u]=a}return e}get namespace(){return this.id||void 0}render(){const e=this.constructor.component;return e?Ae.jsx(e,{...this.getConfig()}):(console.error(`${this.constructor.name}: No static component defined`),null)}wrapWithProvider(e){return this.namespace?Ae.jsx(Sh,{namespace:this.namespace,children:e}):e}clearContent(){this.innerHTML=""}connectedCallback(){this.captureSlots(),this.clearContent(),this.root=Hf.createRoot(this),this.root.render(this.wrapWithProvider(this.render()))}disconnectedCallback(){var e,u,a;(u=(e=window.Shiny)==null?void 0:e.unbindAll)==null||u.call(e,this),(a=this.root)==null||a.unmount(),this.root=null}}K(qh,"component",null);function em(){window.shinyreact={useSetShinyInput:Iv,useShinyBusy:tm,useShinyInput:Ln,useShinyInputValue:kv,useShinyOutputStatus:Bh,useShinyOutputValue:Ch,useShinyMessageHandler:Pv,useShinyInitialized:Oe,ImageOutput:lm,MISSING:mu,ShinyModuleProvider:Sh,ShinyReactComponentElement:qh,ShinyOutput:jv,React:Wf,ReactDOM:Cv}}em(),jh()})(); + */var Bv=Symbol.for("react.transitional.element"),Yv=Symbol.for("react.fragment");function vh(t,l,e){var u=null;if(e!==void 0&&(u=""+e),l.key!==void 0&&(u=""+l.key),"key"in l){e={};for(var a in l)a!=="key"&&(e[a]=l[a])}else e=l;return l=e.ref,{$$typeof:Bv,type:t,key:u,ref:l!==void 0?l:null,props:e}}xn.Fragment=Yv,xn.jsx=vh,xn.jsxs=vh,rh.exports=xn;var Oe=rh.exports;const mh=V.createContext(null);function Sh({namespace:t,children:l}){return Oe.jsx(mh.Provider,{value:t,children:l})}function qv(){return V.useContext(mh)}function Vv(t,l){return l?`${l}-${t}`:t}function Ml(t,l){const e=qv();return Vv(t,l!==void 0?l:e)}function jv({id:t,tagName:l="div",namespace:e,...u}){const a=Ml(t,e),n=V.useRef(null);return V.useEffect(()=>{var d;const i=n.current,c=i==null?void 0:i.parentElement;if(!i||!c||!((d=window.Shiny)!=null&&d.bindAll))return;const f=(r,m)=>{console.error(`[shinyreact] ShinyOutput "${a}" ${m} failed:`,{id:a,phase:m,error:r})};try{const r=window.Shiny.bindAll(c);r&&typeof r.catch=="function"&&r.catch(m=>f(m,"bindAll"))}catch(r){f(r,"bindAll")}return()=>{var r,m;try{(m=(r=window.Shiny)==null?void 0:r.unbindAll)==null||m.call(r,i,!0)}catch(y){f(y,"unbindAll")}}},[a,l]),Wf.createElement(l,{id:a,ref:n,...u})}const Su=Symbol("MISSING"),gh="1.0";function Gv(){if(typeof document>"u")return null;const t=document.getElementById("shinyreact-config"),l=t==null?void 0:t.textContent;if(!l)return null;try{return JSON.parse(l)}catch(e){return console.error("shinyreact: could not parse #shinyreact-config JSON",e),null}}function Xv(t){if(typeof document<"u"&&document.body){const l="shinyreact-fatal-error";let e=document.getElementById(l);e||(e=document.createElement("div"),e.id=l,e.setAttribute("role","alert"),e.style.cssText="position:fixed;top:0;left:0;right:0;z-index:99999;padding:1rem 1.25rem;background:#fee2e2;color:#7f1d1d;border-bottom:4px solid #991b1b;font-family:system-ui,sans-serif;font-size:15px;line-height:1.5;white-space:pre-wrap",document.body.appendChild(e));const u=e;u.textContent="",t.split("`").forEach((a,n)=>{if(n%2===0){u.appendChild(document.createTextNode(a));return}const i=document.createElement("code");i.textContent=a,i.style.cssText="background:#fff;color:#7f1d1d;border:1px solid #f0a3a3;border-radius:4px;padding:0.1em 0.35em;font-family:ui-monospace,SFMono-Regular,monospace;font-size:0.95em",u.appendChild(i)})}throw new Error(t.replace(/`/g,""))}function Qv(t){const l=e=>e.split(".")[0];l(t)!==l(gh)&&Xv(`shinyreact protocol mismatch: the server speaks protocol \`${t}\` but this JS client supports \`${gh}\`. Upgrade the older side (the shinyreact R/Python package, or the client bundle) so the major protocol versions match.`)}function Zv(t){const l=typeof window<"u"?window:globalThis,e=l.shinyreact=l.shinyreact||{},u=e._restore,a=Gv();if(a!=null&&a.protocolVersion?Qv(a.protocolVersion):a!=null&&console.error("shinyreact: the `#shinyreact-config` tag carries no `protocolVersion`, so the client cannot verify it speaks the same protocol as the server. Upgrade the shinyreact Python/R package.".replace(/`/g,"")),u&&typeof u=="object"&&u["-applied"])return;const n=a==null?void 0:a.restore,i=Object.create(null);if(n&&typeof n=="object")for(const[c,f]of Object.entries(n))t.add(c,f),i[c]=f;e._restore={"-applied":!0,"-values":i}}let Rf=!1,Ln=!1;const Nf=new Set;let bh=!1,Eh,zh,Th;function ph(){for(const t of Nf)t()}function Ah(){Rf||(Rf=!0,ph())}function Oh(t){Ln!==t&&(Ln=t,ph())}function xv(){if(bh||typeof document>"u")return;bh=!0,document.documentElement.classList.contains("shiny-busy")&&(Ln=!0),Eh=()=>Oh(!0),zh=()=>Oh(!1),document.addEventListener("shiny:busy",Eh),document.addEventListener("shiny:idle",zh);const t=nt();if(t){t.initializedPromise.then(Ah);return}Th=()=>{const l=nt();l&&l.initializedPromise.then(Ah)},document.addEventListener("shiny:connected",Th,{once:!0})}function _h(t){return xv(),Nf.add(t),()=>{Nf.delete(t)}}function Mh(){return Rf}function Dh(){return Ln}class Lv{constructor(){K(this,"messageHandlers",new Map);K(this,"initialized",!1)}init(){if(this.initialized)return;const l=nt();l&&(l.addCustomMessageHandler("shinyReactMessage",e=>{this.dispatchMessage(e.id,e.data)}),this.initialized=!0)}addHandler(l,e){this.init(),this.messageHandlers.has(l)||this.messageHandlers.set(l,new Set),this.messageHandlers.get(l).add(e)}removeHandler(l,e){const u=this.messageHandlers.get(l);u&&(u.delete(e),u.size===0&&this.messageHandlers.delete(l))}dispatchMessage(l,e){const u=this.messageHandlers.get(l);u&&u.forEach(a=>a(e))}getHandlerCount(l){const e=this.messageHandlers.get(l);return e?e.size:0}getActiveMessageIds(){return Array.from(this.messageHandlers.keys())}}const Uh=new Lv;function Hh(){const t=nt();return t?t.messageRegistry??(t.messageRegistry=Uh):Uh}function Kv(){nt()&&Hh()}class Jv{constructor(l){K(this,"id");K(this,"el");K(this,"status","pending");K(this,"hasValue",!1);K(this,"lastValue");K(this,"lastError",null);K(this,"useStateSetValueFns");K(this,"useStateSetStatusFns");K(this,"useStateSetErrorFns");this.id=l,this.useStateSetValueFns=new Set,this.useStateSetStatusFns=new Set,this.useStateSetErrorFns=new Set}hasReceivedValue(){return this.hasValue}getLastValue(){return this.lastValue}getLastError(){return this.lastError}addUseStateSetValueFn(l){this.useStateSetValueFns.add(l)}removeUseStateSetValueFn(l){this.useStateSetValueFns.delete(l)}addUseStateSetStatusFn(l){this.useStateSetStatusFns.add(l)}removeUseStateSetStatusFn(l){this.useStateSetStatusFns.delete(l)}addUseStateSetErrorFn(l){this.useStateSetErrorFns.add(l)}removeUseStateSetErrorFn(l){this.useStateSetErrorFns.delete(l)}getStatus(){return this.status}setStatus(l){this.status!==l&&(this.status=l,this.useStateSetStatusFns.forEach(e=>e(l)))}setValue(l){this.hasValue=!0,this.lastValue=l,this.useStateSetValueFns.forEach(e=>e(l)),this.status==="error"&&(this.lastError=null,this.useStateSetErrorFns.forEach(e=>e(null))),this.setStatus("ready")}setRecalculating(l){l?this.hasValue&&(this.status==="error"&&(this.lastError=null,this.useStateSetErrorFns.forEach(e=>e(null))),this.setStatus("recalculating")):this.hasValue&&this.status==="recalculating"&&this.setStatus("ready")}setError(l){if(l.message===""){this.setValue(null);return}this.lastError=l,this.useStateSetErrorFns.forEach(e=>e(l)),this.setStatus("error")}isEmpty(){return this.useStateSetValueFns.size===0&&this.useStateSetStatusFns.size===0&&this.useStateSetErrorFns.size===0}}class wv{constructor(){K(this,"outputs",new Map);K(this,"bindAllScheduled",!1);K(this,"containerEl")}get container(){return this.containerEl??(this.containerEl=(()=>{const l=document.createElement("div");return l.className="shiny-react-output-container",l.style.visibility="hidden",document.body.appendChild(l),l})()),this.containerEl}add(l,e,u,a){let n=this.get(l);if(!n){const i=document.createElement("div");i.className="shiny-react-output",i.id=l,this.container.appendChild(i),n=new Jv(l),n.el=i,this.outputs.set(l,n),this.scheduleBindAll()}return n.addUseStateSetValueFn(e),n.addUseStateSetStatusFn(u),n.addUseStateSetErrorFn(a),n.hasReceivedValue()&&e(n.getLastValue()),u(n.getStatus()),n.getStatus()==="error"&&a(n.getLastError()),()=>{n.removeUseStateSetValueFn(e),n.removeUseStateSetStatusFn(u),n.removeUseStateSetErrorFn(a),this.scheduleCleanup(l)}}has(l){return this.outputs.has(l)}get(l){return this.outputs.get(l)}scheduleCleanup(l){requestAnimationFrame(()=>{var u;const e=this.outputs.get(l);!e||!e.isEmpty()||(this.outputs.delete(l),(u=e.el)==null||u.remove(),this.scheduleBindAll())})}scheduleBindAll(){const l=nt();!l||!this.containerEl||this.bindAllScheduled||(this.bindAllScheduled=!0,requestAnimationFrame(()=>{var e,u;(e=l.unbindAll)==null||e.call(l,this.container),(u=l.bindAll)==null||u.call(l,this.container),this.bindAllScheduled=!1}))}}function $v(t){const l=nt();if(!l)return;class e extends l.OutputBinding{find(a){return $(a).find(".shiny-react-output")}renderValue(a,n){const i=t().get(a.id);if(!i){console.error(`Output ${a.id} not found`);return}i.setValue(n)}renderError(a,n){console.error(`Error for ${a.id}:`,n);const i=t().get(a.id);i&&i.setError(n)}showProgress(a,n){const i=t().get(a.id);if(!i){console.error(`Output ${a.id} not found`);return}i.setRecalculating(n)}}l.outputBindings.register(new e,"shiny.reactOutput")}function Cf(t,l){let e=null;const u=function(...a){const n=()=>{e=null,t(...a)};e!==null&&clearTimeout(e),e=setTimeout(n,l)};return u.setDelay=a=>{l=a},u.getDelay=()=>l,u.cancel=()=>{e!==null&&(clearTimeout(e),e=null)},u}const Sa=class Sa{constructor(l,e){K(this,"id");K(this,"value");K(this,"useStateSetValueFns");K(this,"shinySetInputValueDebounced");K(this,"opts",{debounceMs:100});K(this,"type");K(this,"typeFinalized",!1);this.id=l,this.value=e,this.useStateSetValueFns=new Set,this.shinySetInputValueDebounced=Cf(this.setShinyInputValue.bind(this),this.opts.debounceMs)}isEmpty(){return this.useStateSetValueFns.size===0}setShinyInputValue(l){var u,a;const e=`${this.id}:${this.type??Sa.DEFAULT_TYPE}`;(a=(u=nt())==null?void 0:u.setInputValue)==null||a.call(u,e,l,this.opts)}updateDebounceDelay(l){this.shinySetInputValueDebounced.setDelay(l)}updatePriority(l){const e=this.opts.priority;e!==void 0&&e!==l&&console.warn(`[shinyreact] Input "${this.id}" priority changed from ${JSON.stringify(e)} to ${JSON.stringify(l)}. Priority is per-id here, so the most recent mount wins — if two call sites for this id disagree, the winner depends on mount order.`),this.opts.priority=l}updateType(l){if(!this.typeFinalized){this.type=l,this.typeFinalized=!0;return}if(l!==void 0&&this.type!==l)throw new Error(`Input "${this.id}" is already registered with type=${this.type===void 0?`undefined (wire id "${this.id}:${Sa.DEFAULT_TYPE}")`:JSON.stringify(this.type)}. A second mount requested type=${JSON.stringify(l)}. An input's handler type changes server-side semantics and must be consistent across every useShinyInput / useSetShinyInput call for the same id.`)}addUseStateSetValueFn(l){this.useStateSetValueFns.add(l)}removeUseStateSetValueFn(l){this.useStateSetValueFns.delete(l)}setValue(l){const e=typeof l=="function"?l(this.value):l;if(this.value=e,this.useStateSetValueFns.forEach(u=>u(e)),e===Su){this.shinySetInputValueDebounced.cancel();return}this.shinySetInputValueDebounced(e)}getValue(){return this.value}};K(Sa,"DEFAULT_TYPE","shinyreact.default");let Bf=Sa;class Wv{constructor(){K(this,"inputs",new Map);K(this,"pendingSubscribers",new Map)}get(l){return this.inputs.get(l)}has(l){return this.inputs.has(l)}add(l,e){if(this.inputs.has(l))throw new Error(`Input ${l} already exists`);const u=new Bf(l,e);this.inputs.set(l,u);const a=this.pendingSubscribers.get(l);return a&&(a.forEach(n=>{u.addUseStateSetValueFn(n),n(u.getValue())}),this.pendingSubscribers.delete(l)),u}getOrCreate(l,e){let u=this.get(l);return u||(u=this.add(l,e)),u}subscribe(l,e){const u=this.get(l);if(u)return u.addUseStateSetValueFn(e),e(u.getValue()),()=>{const n=this.get(l);n&&n.removeUseStateSetValueFn(e)};let a=this.pendingSubscribers.get(l);return a||(a=new Set,this.pendingSubscribers.set(l,a)),a.add(e),()=>{const n=this.get(l);if(n){n.removeUseStateSetValueFn(e);return}const i=this.pendingSubscribers.get(l);i&&(i.delete(e),i.size===0&&this.pendingSubscribers.delete(l))}}remove(l){const e=this.inputs.get(l);return e&&e.shinySetInputValueDebounced.cancel(),this.inputs.delete(l)}keys(){return this.inputs.keys()}size(){return this.inputs.size}}let Rh;function Nh(){return Rh??(Rh={inputs:new Wv,outputs:new wv}),Rh}function Fv(){Qt()}function Qt(){const t=nt();return t?t.reactRegistry??(t.reactRegistry=Nh()):Nh()}function Kn(t,l,{debounceMs:e=100,priority:u,namespace:a,type:n}={}){if(_e(),n!==void 0&&!/^[^\s:]+$/.test(n))throw new Error(`useShinyInput("${t}"): invalid type=${JSON.stringify(n)}. Must be non-empty and contain no whitespace or ':' characters.`);const i=Ml(t,a),f=V.useRef(l).current;let d=f;const m=Qt().inputs.get(i);m&&(d=m.getValue());const[y,v]=V.useState(d),b=le();V.useEffect(()=>{if(!b)return;const o=Qt().inputs.getOrCreate(i,f);return e!==void 0&&o.updateDebounceDelay(e),u&&o.updatePriority(u),o.updateType(n),o.addUseStateSetValueFn(v),o.setValue(o.getValue()),()=>{o.removeUseStateSetValueFn(v)}},[i,b,e,u,f,n]);const p=V.useCallback(H=>{if(!b)return;const s=Qt().inputs.get(i);if(!s){console.error(`Input ${i} not found`);return}s.setValue(H)},[i,b]);return[y,p]}const gu=()=>{};function Ch(t,l=void 0,{namespace:e}={}){const[u,a]=V.useState(l),n=le();_e();const i=Ml(t,e),c=V.useRef(l);return V.useEffect(()=>{if(!n)return;const f=Qt();return a(c.current),f.outputs.add(i,a,gu,gu)},[i,n]),u}function Bh(t,{namespace:l}={}){const[e,u]=V.useState("pending"),a=le();_e();const n=Ml(t,l);return V.useEffect(()=>a?Qt().outputs.add(n,gu,u,gu):void 0,[n,a]),e}function kv(t,{namespace:l}={}){const[e,u]=V.useState(null),a=le();_e();const n=Ml(t,l);return V.useEffect(()=>a?(u(null),Qt().outputs.add(n,gu,gu,u)):void 0,[n,a]),e}function Iv(t,{namespace:l}={}){_e();const e=Ml(t,l),[u,a]=V.useState(()=>{const i=Qt().inputs.get(e);if(!i)return;const c=i.getValue();return c===Su?void 0:c}),n=le();return V.useEffect(()=>n?Qt().inputs.subscribe(e,f=>{a(f===Su?void 0:f)}):void 0,[e,n]),u}function Pv(t,l,{debounceMs:e=100,priority:u,namespace:a,type:n}={}){if(_e(),n!==void 0&&!/^[^\s:]+$/.test(n))throw new Error(`useSetShinyInput("${t}"): invalid type=${JSON.stringify(n)}. Must be non-empty and contain no whitespace or ':' characters.`);const i=Ml(t,a),f=V.useRef(l).current,d=le();return V.useEffect(()=>{if(!d)return;const m=Qt().inputs.getOrCreate(i,f);e!==void 0&&m.updateDebounceDelay(e),u&&m.updatePriority(u),m.updateType(n),m.setValue(m.getValue())},[i,d,e,u,f,n]),V.useCallback(r=>{if(!d)return;const y=Qt().inputs.get(i);if(!y){console.error(`Input ${i} not found`);return}y.setValue(r)},[i,d])}function tm(t,l,{namespace:e}={}){const u=le();_e();const a=Ml(t,e),n=V.useRef(l);n.current=l,V.useEffect(()=>{if(!u||!a)return;const i=f=>n.current(f),c=Hh();return c.addHandler(a,i),()=>{c.removeHandler(a,i)}},[u,a])}function le(){return V.useSyncExternalStore(_h,Mh,Mh)}function lm(){return V.useSyncExternalStore(_h,Dh,Dh)}let Yh=!1;function _e(){Yh||(Fv(),Zv(Qt().inputs),$v(()=>Qt().outputs),Kv(),Yh=!0)}function em({id:t,className:l,width:e,height:u,debounceMs:a=400,onRecalculating:n,namespace:i}){const c=Ml(t,i),f={namespace:null},[d,r]=Kn(`.clientdata_output_${c}_width`,Su,f),[m,y]=Kn(`.clientdata_output_${c}_height`,Su,f),[v]=Kn(`.clientdata_output_${c}_hidden`,!1,f),b=Ch(c,void 0,f),p=Bh(c,f),H=V.useRef(null),o=V.useRef(null),[s,h]=V.useState(0);V.useEffect(()=>{b&&h(E=>E+1)},[b]),V.useEffect(()=>{n&&n(p==="recalculating")},[p,n]);const S=V.useCallback(()=>{if(H.current){const E=H.current.clientWidth,_=H.current.clientHeight;E>0&&_>0&&(r(E),y(_))}},[r,y]);return V.useEffect(()=>{const E=H.current;if(!E)return;E.addEventListener("load",S);const _=Cf(()=>{E&&E.complete&&S()},a),z=new ResizeObserver(A=>{for(const M of A)M.target===E&&_()});return z.observe(E),()=>{E.removeEventListener("load",S),z.disconnect(),_.cancel()}},[H,s,r,y,a,S]),V.useEffect(()=>{if(b)return;const E=o.current;if(!E)return;const _=()=>{const M=E.clientWidth,R=E.clientHeight;M>0&&R>0&&(r(M),y(R))};_();const z=Cf(_,a),A=new ResizeObserver(()=>z());return A.observe(E),()=>{A.disconnect(),z.cancel()}},[b,r,y,a]),v?null:b?Oe.jsx("img",{ref:H,src:b.src,alt:"",className:l,style:{width:e,height:u},onLoad:S}):Oe.jsx("div",{ref:o,className:l,style:{width:e,height:u,display:"flex",alignItems:"center",justifyContent:"center",color:"#9ca3af"},children:Oe.jsx("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",style:{animation:"spin 1s linear infinite"},children:Oe.jsx("circle",{cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"2.5",strokeDasharray:"31.4 31.4",strokeLinecap:"round"})})})}class qh extends HTMLElement{constructor(){super(...arguments);K(this,"root",null);K(this,"slotContents",new Map)}captureSlots(e="[data-slot]"){const u=this.querySelectorAll(`:scope > ${e}`),a=new Set(u);u.forEach(i=>{const c=i.getAttribute("data-slot");c&&this.slotContents.set(c,Array.from(i.childNodes))});const n=Array.from(this.childNodes).filter(i=>!a.has(i));return n.length>0&&this.slotContents.set("__children__",n),this.slotContents}async mountSlot(e,u){var n,i;const a=this.slotContents.get(e);a&&u&&(a.forEach(c=>u.appendChild(c)),await((i=(n=window.Shiny)==null?void 0:n.bindAll)==null?void 0:i.call(n,u)))}get onSlotMount(){return this.mountSlot.bind(this)}getConfig(){const e={};for(const[u,a]of Object.entries(this.dataset))if(a!==void 0)try{e[u]=JSON.parse(a)}catch{e[u]=a}return e}get namespace(){return this.id||void 0}render(){const e=this.constructor.component;return e?Oe.jsx(e,{...this.getConfig()}):(console.error(`${this.constructor.name}: No static component defined`),null)}wrapWithProvider(e){return this.namespace?Oe.jsx(Sh,{namespace:this.namespace,children:e}):e}clearContent(){this.innerHTML=""}connectedCallback(){this.captureSlots(),this.clearContent(),this.root=Hf.createRoot(this),this.root.render(this.wrapWithProvider(this.render()))}disconnectedCallback(){var e,u,a;(u=(e=window.Shiny)==null?void 0:e.unbindAll)==null||u.call(e,this),(a=this.root)==null||a.unmount(),this.root=null}}K(qh,"component",null);function um(){window.shinyreact={useSetShinyInput:Pv,useShinyBusy:lm,useShinyInput:Kn,useShinyInputValue:Iv,useShinyOutputError:kv,useShinyOutputStatus:Bh,useShinyOutputValue:Ch,useShinyMessageHandler:tm,useShinyInitialized:le,ImageOutput:em,MISSING:Su,ShinyModuleProvider:Sh,ShinyReactComponentElement:qh,ShinyOutput:jv,React:Wf,ReactDOM:Cv}}um(),jh()})(); diff --git a/pkg-r/inst/skills/shinyreact-build-app/SKILL.md b/pkg-r/inst/skills/shinyreact-build-app/SKILL.md index 66d93a7..f41ba8a 100644 --- a/pkg-r/inst/skills/shinyreact-build-app/SKILL.md +++ b/pkg-r/inst/skills/shinyreact-build-app/SKILL.md @@ -244,6 +244,7 @@ an npm-tier build). | **Input** | `useShinyInput(id, default)` → `[value, setValue]` | `useShinyInputValue(id)` | `useSetShinyInput(id, default)` | | **Output** | — | `useShinyOutputValue(id, default?)` | — | | **Status** | | `useShinyOutputStatus(id)` → `"pending" \| "ready" \| "recalculating" \| "error"` | | +| **Error** | | `useShinyOutputError(id)` → `{message, call, type} \| null` | | Plus `useShinyInitialized()`, `useShinyBusy()`, `useShinyMessageHandler()`, and the components `ImageOutput`, `ShinyOutput`, `ShinyModuleProvider`. @@ -304,6 +305,20 @@ with `.recalculating { opacity: .6; transition: opacity 200ms }`. `"pending"` is the only state where you have no data yet; `"recalculating"` means the previous result is still valid, so show it. +**Showing the server's error text** — `useShinyOutputError(id)` returns the +same (sanitized) condition/exception message vanilla Shiny would paint into the +output element, or `null` when the output is fine: + +```jsx +const error = useShinyOutputError("foo"); +if (error) return
{error.message}
; +``` + +`req()` / `validate()` with no message are silent — they never produce an +error here, matching Shiny. With `shiny.sanitize.errors` / `sanitize_errors` +on, the server sends its generic message, so the client never has to decide +what is safe to show. + **Gate the first paint** on `useShinyInitialized()` (`if (!initialized) return null`) so the UI does not flash empty defaults during connection setup. diff --git a/pkg-r/inst/skills/shinyreact-build-app/references/debugging.md b/pkg-r/inst/skills/shinyreact-build-app/references/debugging.md index 71b8441..cb5d93d 100644 --- a/pkg-r/inst/skills/shinyreact-build-app/references/debugging.md +++ b/pkg-r/inst/skills/shinyreact-build-app/references/debugging.md @@ -1,13 +1,14 @@ # Debugging a shinyreact app The client is a normal React app, so React DevTools works. What is specific to -shinyreact is the wire, and these four hooks are the instruments — reach for +shinyreact is the wire, and these five hooks are the instruments — reach for them before adding `console.log`: | Hook | Tells you | |---|---| | `useShinyInitialized()` | whether the WebSocket handshake finished at all | | `useShinyOutputStatus(id)` | `"pending"` / `"ready"` / `"recalculating"` / `"error"` for one output | +| `useShinyOutputError(id)` | the server's sanitized error message for one output, or `null` | | `useShinyBusy()` | whether the server is processing *anything* right now | | `useShinyInputValue(id)` | what a channel currently holds, read from any component | @@ -26,4 +27,3 @@ Symptoms, in the order they actually come up: On the server, `reactive_output` is an ordinary Shiny output — print inside it, and its errors surface in the Shiny console exactly as usual. - diff --git a/pkg-r/inst/skills/shinyreact-build-app/references/modules.md b/pkg-r/inst/skills/shinyreact-build-app/references/modules.md index 3a88da7..f4372af 100644 --- a/pkg-r/inst/skills/shinyreact-build-app/references/modules.md +++ b/pkg-r/inst/skills/shinyreact-build-app/references/modules.md @@ -66,7 +66,7 @@ the `useShinyMessageHandler("ping", ...)` inside the matching provider. Every id-taking hook and component goes through one shared resolver, so the behavior is identical for `useShinyInput`, `useShinyInputValue`, `useSetShinyInput`, `useShinyOutputValue`, `useShinyOutputStatus`, -`useShinyMessageHandler`, `ShinyOutput`, and `ImageOutput`. +`useShinyOutputError`, `useShinyMessageHandler`, `ShinyOutput`, and `ImageOutput`. Each of them takes an optional `namespace`: