ima2-gen 1.1.4 → 1.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,31 @@
1
+ (function(){const a=document.createElement("link").relList;if(a&&a.supports&&a.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))o(s);new MutationObserver(s=>{for(const c of s)if(c.type==="childList")for(const d of c.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&o(d)}).observe(document,{childList:!0,subtree:!0});function l(s){const c={};return s.integrity&&(c.integrity=s.integrity),s.referrerPolicy&&(c.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?c.credentials="include":s.crossOrigin==="anonymous"?c.credentials="omit":c.credentials="same-origin",c}function o(s){if(s.ep)return;s.ep=!0;const c=l(s);fetch(s.href,c)}})();function P0(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Id={exports:{}},yo={};var $g;function b1(){if($g)return yo;$g=1;var t=Symbol.for("react.transitional.element"),a=Symbol.for("react.fragment");function l(o,s,c){var d=null;if(c!==void 0&&(d=""+c),s.key!==void 0&&(d=""+s.key),"key"in s){c={};for(var m in s)m!=="key"&&(c[m]=s[m])}else c=s;return s=c.ref,{$$typeof:t,type:o,key:d,ref:s!==void 0?s:null,props:c}}return yo.Fragment=a,yo.jsx=l,yo.jsxs=l,yo}var Fg;function S1(){return Fg||(Fg=1,Id.exports=b1()),Id.exports}var f=S1(),Ld={exports:{}},Ee={};var Xg;function w1(){if(Xg)return Ee;Xg=1;var t=Symbol.for("react.transitional.element"),a=Symbol.for("react.portal"),l=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),c=Symbol.for("react.consumer"),d=Symbol.for("react.context"),m=Symbol.for("react.forward_ref"),y=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),g=Symbol.for("react.lazy"),v=Symbol.for("react.activity"),x=Symbol.iterator;function S(R){return R===null||typeof R!="object"?null:(R=x&&R[x]||R["@@iterator"],typeof R=="function"?R:null)}var N={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},_=Object.assign,D={};function j(R,q,V){this.props=R,this.context=q,this.refs=D,this.updater=V||N}j.prototype.isReactComponent={},j.prototype.setState=function(R,q){if(typeof R!="object"&&typeof R!="function"&&R!=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,R,q,"setState")},j.prototype.forceUpdate=function(R){this.updater.enqueueForceUpdate(this,R,"forceUpdate")};function A(){}A.prototype=j.prototype;function E(R,q,V){this.props=R,this.context=q,this.refs=D,this.updater=V||N}var w=E.prototype=new A;w.constructor=E,_(w,j.prototype),w.isPureReactComponent=!0;var B=Array.isArray;function O(){}var k={H:null,A:null,T:null,S:null},F=Object.prototype.hasOwnProperty;function K(R,q,V){var W=V.ref;return{$$typeof:t,type:R,key:q,ref:W!==void 0?W:null,props:V}}function de(R,q){return K(R.type,q,R.props)}function X(R){return typeof R=="object"&&R!==null&&R.$$typeof===t}function te(R){var q={"=":"=0",":":"=2"};return"$"+R.replace(/[=:]/g,function(V){return q[V]})}var se=/\/+/g;function z(R,q){return typeof R=="object"&&R!==null&&R.key!=null?te(""+R.key):q.toString(36)}function M(R){switch(R.status){case"fulfilled":return R.value;case"rejected":throw R.reason;default:switch(typeof R.status=="string"?R.then(O,O):(R.status="pending",R.then(function(q){R.status==="pending"&&(R.status="fulfilled",R.value=q)},function(q){R.status==="pending"&&(R.status="rejected",R.reason=q)})),R.status){case"fulfilled":return R.value;case"rejected":throw R.reason}}throw R}function T(R,q,V,W,fe){var $=typeof R;($==="undefined"||$==="boolean")&&(R=null);var le=!1;if(R===null)le=!0;else switch($){case"bigint":case"string":case"number":le=!0;break;case"object":switch(R.$$typeof){case t:case a:le=!0;break;case g:return le=R._init,T(le(R._payload),q,V,W,fe)}}if(le)return fe=fe(R),le=W===""?"."+z(R,0):W,B(fe)?(V="",le!=null&&(V=le.replace(se,"$&/")+"/"),T(fe,q,V,"",function(be){return be})):fe!=null&&(X(fe)&&(fe=de(fe,V+(fe.key==null||R&&R.key===fe.key?"":(""+fe.key).replace(se,"$&/")+"/")+le)),q.push(fe)),1;le=0;var ce=W===""?".":W+":";if(B(R))for(var ue=0;ue<R.length;ue++)W=R[ue],$=ce+z(W,ue),le+=T(W,q,V,$,fe);else if(ue=S(R),typeof ue=="function")for(R=ue.call(R),ue=0;!(W=R.next()).done;)W=W.value,$=ce+z(W,ue++),le+=T(W,q,V,$,fe);else if($==="object"){if(typeof R.then=="function")return T(M(R),q,V,W,fe);throw q=String(R),Error("Objects are not valid as a React child (found: "+(q==="[object Object]"?"object with keys {"+Object.keys(R).join(", ")+"}":q)+"). If you meant to render a collection of children, use an array instead.")}return le}function I(R,q,V){if(R==null)return R;var W=[],fe=0;return T(R,W,"","",function($){return q.call(V,$,fe++)}),W}function U(R){if(R._status===-1){var q=R._result;q=q(),q.then(function(V){(R._status===0||R._status===-1)&&(R._status=1,R._result=V)},function(V){(R._status===0||R._status===-1)&&(R._status=2,R._result=V)}),R._status===-1&&(R._status=0,R._result=q)}if(R._status===1)return R._result.default;throw R._result}var Z=typeof reportError=="function"?reportError:function(R){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var q=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof R=="object"&&R!==null&&typeof R.message=="string"?String(R.message):String(R),error:R});if(!window.dispatchEvent(q))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",R);return}console.error(R)},ae={map:I,forEach:function(R,q,V){I(R,function(){q.apply(this,arguments)},V)},count:function(R){var q=0;return I(R,function(){q++}),q},toArray:function(R){return I(R,function(q){return q})||[]},only:function(R){if(!X(R))throw Error("React.Children.only expected to receive a single React element child.");return R}};return Ee.Activity=v,Ee.Children=ae,Ee.Component=j,Ee.Fragment=l,Ee.Profiler=s,Ee.PureComponent=E,Ee.StrictMode=o,Ee.Suspense=y,Ee.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=k,Ee.__COMPILER_RUNTIME={__proto__:null,c:function(R){return k.H.useMemoCache(R)}},Ee.cache=function(R){return function(){return R.apply(null,arguments)}},Ee.cacheSignal=function(){return null},Ee.cloneElement=function(R,q,V){if(R==null)throw Error("The argument must be a React element, but you passed "+R+".");var W=_({},R.props),fe=R.key;if(q!=null)for($ in q.key!==void 0&&(fe=""+q.key),q)!F.call(q,$)||$==="key"||$==="__self"||$==="__source"||$==="ref"&&q.ref===void 0||(W[$]=q[$]);var $=arguments.length-2;if($===1)W.children=V;else if(1<$){for(var le=Array($),ce=0;ce<$;ce++)le[ce]=arguments[ce+2];W.children=le}return K(R.type,fe,W)},Ee.createContext=function(R){return R={$$typeof:d,_currentValue:R,_currentValue2:R,_threadCount:0,Provider:null,Consumer:null},R.Provider=R,R.Consumer={$$typeof:c,_context:R},R},Ee.createElement=function(R,q,V){var W,fe={},$=null;if(q!=null)for(W in q.key!==void 0&&($=""+q.key),q)F.call(q,W)&&W!=="key"&&W!=="__self"&&W!=="__source"&&(fe[W]=q[W]);var le=arguments.length-2;if(le===1)fe.children=V;else if(1<le){for(var ce=Array(le),ue=0;ue<le;ue++)ce[ue]=arguments[ue+2];fe.children=ce}if(R&&R.defaultProps)for(W in le=R.defaultProps,le)fe[W]===void 0&&(fe[W]=le[W]);return K(R,$,fe)},Ee.createRef=function(){return{current:null}},Ee.forwardRef=function(R){return{$$typeof:m,render:R}},Ee.isValidElement=X,Ee.lazy=function(R){return{$$typeof:g,_payload:{_status:-1,_result:R},_init:U}},Ee.memo=function(R,q){return{$$typeof:p,type:R,compare:q===void 0?null:q}},Ee.startTransition=function(R){var q=k.T,V={};k.T=V;try{var W=R(),fe=k.S;fe!==null&&fe(V,W),typeof W=="object"&&W!==null&&typeof W.then=="function"&&W.then(O,Z)}catch($){Z($)}finally{q!==null&&V.types!==null&&(q.types=V.types),k.T=q}},Ee.unstable_useCacheRefresh=function(){return k.H.useCacheRefresh()},Ee.use=function(R){return k.H.use(R)},Ee.useActionState=function(R,q,V){return k.H.useActionState(R,q,V)},Ee.useCallback=function(R,q){return k.H.useCallback(R,q)},Ee.useContext=function(R){return k.H.useContext(R)},Ee.useDebugValue=function(){},Ee.useDeferredValue=function(R,q){return k.H.useDeferredValue(R,q)},Ee.useEffect=function(R,q){return k.H.useEffect(R,q)},Ee.useEffectEvent=function(R){return k.H.useEffectEvent(R)},Ee.useId=function(){return k.H.useId()},Ee.useImperativeHandle=function(R,q,V){return k.H.useImperativeHandle(R,q,V)},Ee.useInsertionEffect=function(R,q){return k.H.useInsertionEffect(R,q)},Ee.useLayoutEffect=function(R,q){return k.H.useLayoutEffect(R,q)},Ee.useMemo=function(R,q){return k.H.useMemo(R,q)},Ee.useOptimistic=function(R,q){return k.H.useOptimistic(R,q)},Ee.useReducer=function(R,q,V){return k.H.useReducer(R,q,V)},Ee.useRef=function(R){return k.H.useRef(R)},Ee.useState=function(R){return k.H.useState(R)},Ee.useSyncExternalStore=function(R,q,V){return k.H.useSyncExternalStore(R,q,V)},Ee.useTransition=function(){return k.H.useTransition()},Ee.version="19.2.5",Ee}var Zg;function Go(){return Zg||(Zg=1,Ld.exports=w1()),Ld.exports}var L=Go();const Eo=P0(L);var Hd={exports:{}},vo={},kd={exports:{}},Bd={};var Kg;function N1(){return Kg||(Kg=1,(function(t){function a(T,I){var U=T.length;T.push(I);e:for(;0<U;){var Z=U-1>>>1,ae=T[Z];if(0<s(ae,I))T[Z]=I,T[U]=ae,U=Z;else break e}}function l(T){return T.length===0?null:T[0]}function o(T){if(T.length===0)return null;var I=T[0],U=T.pop();if(U!==I){T[0]=U;e:for(var Z=0,ae=T.length,R=ae>>>1;Z<R;){var q=2*(Z+1)-1,V=T[q],W=q+1,fe=T[W];if(0>s(V,U))W<ae&&0>s(fe,V)?(T[Z]=fe,T[W]=U,Z=W):(T[Z]=V,T[q]=U,Z=q);else if(W<ae&&0>s(fe,U))T[Z]=fe,T[W]=U,Z=W;else break e}}return I}function s(T,I){var U=T.sortIndex-I.sortIndex;return U!==0?U:T.id-I.id}if(t.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var c=performance;t.unstable_now=function(){return c.now()}}else{var d=Date,m=d.now();t.unstable_now=function(){return d.now()-m}}var y=[],p=[],g=1,v=null,x=3,S=!1,N=!1,_=!1,D=!1,j=typeof setTimeout=="function"?setTimeout:null,A=typeof clearTimeout=="function"?clearTimeout:null,E=typeof setImmediate<"u"?setImmediate:null;function w(T){for(var I=l(p);I!==null;){if(I.callback===null)o(p);else if(I.startTime<=T)o(p),I.sortIndex=I.expirationTime,a(y,I);else break;I=l(p)}}function B(T){if(_=!1,w(T),!N)if(l(y)!==null)N=!0,O||(O=!0,te());else{var I=l(p);I!==null&&M(B,I.startTime-T)}}var O=!1,k=-1,F=5,K=-1;function de(){return D?!0:!(t.unstable_now()-K<F)}function X(){if(D=!1,O){var T=t.unstable_now();K=T;var I=!0;try{e:{N=!1,_&&(_=!1,A(k),k=-1),S=!0;var U=x;try{t:{for(w(T),v=l(y);v!==null&&!(v.expirationTime>T&&de());){var Z=v.callback;if(typeof Z=="function"){v.callback=null,x=v.priorityLevel;var ae=Z(v.expirationTime<=T);if(T=t.unstable_now(),typeof ae=="function"){v.callback=ae,w(T),I=!0;break t}v===l(y)&&o(y),w(T)}else o(y);v=l(y)}if(v!==null)I=!0;else{var R=l(p);R!==null&&M(B,R.startTime-T),I=!1}}break e}finally{v=null,x=U,S=!1}I=void 0}}finally{I?te():O=!1}}}var te;if(typeof E=="function")te=function(){E(X)};else if(typeof MessageChannel<"u"){var se=new MessageChannel,z=se.port2;se.port1.onmessage=X,te=function(){z.postMessage(null)}}else te=function(){j(X,0)};function M(T,I){k=j(function(){T(t.unstable_now())},I)}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||125<T?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):F=0<T?Math.floor(1e3/T):5},t.unstable_getCurrentPriorityLevel=function(){return x},t.unstable_next=function(T){switch(x){case 1:case 2:case 3:var I=3;break;default:I=x}var U=x;x=I;try{return T()}finally{x=U}},t.unstable_requestPaint=function(){D=!0},t.unstable_runWithPriority=function(T,I){switch(T){case 1:case 2:case 3:case 4:case 5:break;default:T=3}var U=x;x=T;try{return I()}finally{x=U}},t.unstable_scheduleCallback=function(T,I,U){var Z=t.unstable_now();switch(typeof U=="object"&&U!==null?(U=U.delay,U=typeof U=="number"&&0<U?Z+U:Z):U=Z,T){case 1:var ae=-1;break;case 2:ae=250;break;case 5:ae=1073741823;break;case 4:ae=1e4;break;default:ae=5e3}return ae=U+ae,T={id:g++,callback:I,priorityLevel:T,startTime:U,expirationTime:ae,sortIndex:-1},U>Z?(T.sortIndex=U,a(p,T),l(y)===null&&T===l(p)&&(_?(A(k),k=-1):_=!0,M(B,U-Z))):(T.sortIndex=ae,a(y,T),N||S||(N=!0,O||(O=!0,te()))),T},t.unstable_shouldYield=de,t.unstable_wrapCallback=function(T){var I=x;return function(){var U=x;x=I;try{return T.apply(this,arguments)}finally{x=U}}}})(Bd)),Bd}var Qg;function _1(){return Qg||(Qg=1,kd.exports=N1()),kd.exports}var qd={exports:{}},vt={};var Jg;function E1(){if(Jg)return vt;Jg=1;var t=Go();function a(y){var p="https://react.dev/errors/"+y;if(1<arguments.length){p+="?args[]="+encodeURIComponent(arguments[1]);for(var g=2;g<arguments.length;g++)p+="&args[]="+encodeURIComponent(arguments[g])}return"Minified React error #"+y+"; visit "+p+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function l(){}var o={d:{f:l,r:function(){throw Error(a(522))},D:l,C:l,L:l,m:l,X:l,S:l,M:l},p:0,findDOMNode:null},s=Symbol.for("react.portal");function c(y,p,g){var v=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:s,key:v==null?null:""+v,children:y,containerInfo:p,implementation:g}}var d=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function m(y,p){if(y==="font")return"";if(typeof p=="string")return p==="use-credentials"?p:""}return vt.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=o,vt.createPortal=function(y,p){var g=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!p||p.nodeType!==1&&p.nodeType!==9&&p.nodeType!==11)throw Error(a(299));return c(y,p,null,g)},vt.flushSync=function(y){var p=d.T,g=o.p;try{if(d.T=null,o.p=2,y)return y()}finally{d.T=p,o.p=g,o.d.f()}},vt.preconnect=function(y,p){typeof y=="string"&&(p?(p=p.crossOrigin,p=typeof p=="string"?p==="use-credentials"?p:"":void 0):p=null,o.d.C(y,p))},vt.prefetchDNS=function(y){typeof y=="string"&&o.d.D(y)},vt.preinit=function(y,p){if(typeof y=="string"&&p&&typeof p.as=="string"){var g=p.as,v=m(g,p.crossOrigin),x=typeof p.integrity=="string"?p.integrity:void 0,S=typeof p.fetchPriority=="string"?p.fetchPriority:void 0;g==="style"?o.d.S(y,typeof p.precedence=="string"?p.precedence:void 0,{crossOrigin:v,integrity:x,fetchPriority:S}):g==="script"&&o.d.X(y,{crossOrigin:v,integrity:x,fetchPriority:S,nonce:typeof p.nonce=="string"?p.nonce:void 0})}},vt.preinitModule=function(y,p){if(typeof y=="string")if(typeof p=="object"&&p!==null){if(p.as==null||p.as==="script"){var g=m(p.as,p.crossOrigin);o.d.M(y,{crossOrigin:g,integrity:typeof p.integrity=="string"?p.integrity:void 0,nonce:typeof p.nonce=="string"?p.nonce:void 0})}}else p==null&&o.d.M(y)},vt.preload=function(y,p){if(typeof y=="string"&&typeof p=="object"&&p!==null&&typeof p.as=="string"){var g=p.as,v=m(g,p.crossOrigin);o.d.L(y,g,{crossOrigin:v,integrity:typeof p.integrity=="string"?p.integrity:void 0,nonce:typeof p.nonce=="string"?p.nonce:void 0,type:typeof p.type=="string"?p.type:void 0,fetchPriority:typeof p.fetchPriority=="string"?p.fetchPriority:void 0,referrerPolicy:typeof p.referrerPolicy=="string"?p.referrerPolicy:void 0,imageSrcSet:typeof p.imageSrcSet=="string"?p.imageSrcSet:void 0,imageSizes:typeof p.imageSizes=="string"?p.imageSizes:void 0,media:typeof p.media=="string"?p.media:void 0})}},vt.preloadModule=function(y,p){if(typeof y=="string")if(p){var g=m(p.as,p.crossOrigin);o.d.m(y,{as:typeof p.as=="string"&&p.as!=="script"?p.as:void 0,crossOrigin:g,integrity:typeof p.integrity=="string"?p.integrity:void 0})}else o.d.m(y)},vt.requestFormReset=function(y){o.d.r(y)},vt.unstable_batchedUpdates=function(y,p){return y(p)},vt.useFormState=function(y,p,g){return d.H.useFormState(y,p,g)},vt.useFormStatus=function(){return d.H.useHostTransitionStatus()},vt.version="19.2.5",vt}var Wg;function $0(){if(Wg)return qd.exports;Wg=1;function t(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(a){console.error(a)}}return t(),qd.exports=E1(),qd.exports}var ey;function C1(){if(ey)return vo;ey=1;var t=_1(),a=Go(),l=$0();function o(e){var n="https://react.dev/errors/"+e;if(1<arguments.length){n+="?args[]="+encodeURIComponent(arguments[1]);for(var i=2;i<arguments.length;i++)n+="&args[]="+encodeURIComponent(arguments[i])}return"Minified React error #"+e+"; visit "+n+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function s(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function c(e){var n=e,i=e;if(e.alternate)for(;n.return;)n=n.return;else{e=n;do n=e,(n.flags&4098)!==0&&(i=n.return),e=n.return;while(e)}return n.tag===3?i:null}function d(e){if(e.tag===13){var n=e.memoizedState;if(n===null&&(e=e.alternate,e!==null&&(n=e.memoizedState)),n!==null)return n.dehydrated}return null}function m(e){if(e.tag===31){var n=e.memoizedState;if(n===null&&(e=e.alternate,e!==null&&(n=e.memoizedState)),n!==null)return n.dehydrated}return null}function y(e){if(c(e)!==e)throw Error(o(188))}function p(e){var n=e.alternate;if(!n){if(n=c(e),n===null)throw Error(o(188));return n!==e?null:e}for(var i=e,r=n;;){var u=i.return;if(u===null)break;var h=u.alternate;if(h===null){if(r=u.return,r!==null){i=r;continue}break}if(u.child===h.child){for(h=u.child;h;){if(h===i)return y(u),e;if(h===r)return y(u),n;h=h.sibling}throw Error(o(188))}if(i.return!==r.return)i=u,r=h;else{for(var b=!1,C=u.child;C;){if(C===i){b=!0,i=u,r=h;break}if(C===r){b=!0,r=u,i=h;break}C=C.sibling}if(!b){for(C=h.child;C;){if(C===i){b=!0,i=h,r=u;break}if(C===r){b=!0,r=h,i=u;break}C=C.sibling}if(!b)throw Error(o(189))}}if(i.alternate!==r)throw Error(o(190))}if(i.tag!==3)throw Error(o(188));return i.stateNode.current===i?e:n}function g(e){var n=e.tag;if(n===5||n===26||n===27||n===6)return e;for(e=e.child;e!==null;){if(n=g(e),n!==null)return n;e=e.sibling}return null}var v=Object.assign,x=Symbol.for("react.element"),S=Symbol.for("react.transitional.element"),N=Symbol.for("react.portal"),_=Symbol.for("react.fragment"),D=Symbol.for("react.strict_mode"),j=Symbol.for("react.profiler"),A=Symbol.for("react.consumer"),E=Symbol.for("react.context"),w=Symbol.for("react.forward_ref"),B=Symbol.for("react.suspense"),O=Symbol.for("react.suspense_list"),k=Symbol.for("react.memo"),F=Symbol.for("react.lazy"),K=Symbol.for("react.activity"),de=Symbol.for("react.memo_cache_sentinel"),X=Symbol.iterator;function te(e){return e===null||typeof e!="object"?null:(e=X&&e[X]||e["@@iterator"],typeof e=="function"?e:null)}var se=Symbol.for("react.client.reference");function z(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===se?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case _:return"Fragment";case j:return"Profiler";case D:return"StrictMode";case B:return"Suspense";case O:return"SuspenseList";case K:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case N:return"Portal";case E:return e.displayName||"Context";case A:return(e._context.displayName||"Context")+".Consumer";case w:var n=e.render;return e=e.displayName,e||(e=n.displayName||n.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case k:return n=e.displayName||null,n!==null?n:z(e.type)||"Memo";case F:n=e._payload,e=e._init;try{return z(e(n))}catch{}}return null}var M=Array.isArray,T=a.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,I=l.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,U={pending:!1,data:null,method:null,action:null},Z=[],ae=-1;function R(e){return{current:e}}function q(e){0>ae||(e.current=Z[ae],Z[ae]=null,ae--)}function V(e,n){ae++,Z[ae]=e.current,e.current=n}var W=R(null),fe=R(null),$=R(null),le=R(null);function ce(e,n){switch(V($,n),V(fe,e),V(W,null),n.nodeType){case 9:case 11:e=(e=n.documentElement)&&(e=e.namespaceURI)?pg(e):0;break;default:if(e=n.tagName,n=n.namespaceURI)n=pg(n),e=gg(n,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}q(W),V(W,e)}function ue(){q(W),q(fe),q($)}function be(e){e.memoizedState!==null&&V(le,e);var n=W.current,i=gg(n,e.type);n!==i&&(V(fe,e),V(W,i))}function ve(e){fe.current===e&&(q(W),q(fe)),le.current===e&&(q(le),ho._currentValue=U)}var xe,_e;function je(e){if(xe===void 0)try{throw Error()}catch(i){var n=i.stack.trim().match(/\n( *(at )?)/);xe=n&&n[1]||"",_e=-1<i.stack.indexOf(`
2
+ at`)?" (<anonymous>)":-1<i.stack.indexOf("@")?"@unknown:0:0":""}return`
3
+ `+xe+e+_e}var Ue=!1;function ke(e,n){if(!e||Ue)return"";Ue=!0;var i=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={DetermineComponentFrameRoot:function(){try{if(n){var re=function(){throw Error()};if(Object.defineProperty(re.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(re,[])}catch(ne){var ee=ne}Reflect.construct(e,[],re)}else{try{re.call()}catch(ne){ee=ne}e.call(re.prototype)}}else{try{throw Error()}catch(ne){ee=ne}(re=e())&&typeof re.catch=="function"&&re.catch(function(){})}}catch(ne){if(ne&&ee&&typeof ne.stack=="string")return[ne.stack,ee.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var u=Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,"name");u&&u.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var h=r.DetermineComponentFrameRoot(),b=h[0],C=h[1];if(b&&C){var H=b.split(`
4
+ `),J=C.split(`
5
+ `);for(u=r=0;r<H.length&&!H[r].includes("DetermineComponentFrameRoot");)r++;for(;u<J.length&&!J[u].includes("DetermineComponentFrameRoot");)u++;if(r===H.length||u===J.length)for(r=H.length-1,u=J.length-1;1<=r&&0<=u&&H[r]!==J[u];)u--;for(;1<=r&&0<=u;r--,u--)if(H[r]!==J[u]){if(r!==1||u!==1)do if(r--,u--,0>u||H[r]!==J[u]){var ie=`
6
+ `+H[r].replace(" at new "," at ");return e.displayName&&ie.includes("<anonymous>")&&(ie=ie.replace("<anonymous>",e.displayName)),ie}while(1<=r&&0<=u);break}}}finally{Ue=!1,Error.prepareStackTrace=i}return(i=e?e.displayName||e.name:"")?je(i):""}function ut(e,n){switch(e.tag){case 26:case 27:case 5:return je(e.type);case 16:return je("Lazy");case 13:return e.child!==n&&n!==null?je("Suspense Fallback"):je("Suspense");case 19:return je("SuspenseList");case 0:case 15:return ke(e.type,!1);case 11:return ke(e.type.render,!1);case 1:return ke(e.type,!0);case 31:return je("Activity");default:return""}}function Zt(e){try{var n="",i=null;do n+=ut(e,i),i=e,e=e.return;while(e);return n}catch(r){return`
7
+ Error generating stack: `+r.message+`
8
+ `+r.stack}}var zt=Object.prototype.hasOwnProperty,Kt=t.unstable_scheduleCallback,xn=t.unstable_cancelCallback,ja=t.unstable_shouldYield,za=t.unstable_requestPaint,ft=t.unstable_now,gi=t.unstable_getCurrentPriorityLevel,bn=t.unstable_ImmediatePriority,Fn=t.unstable_UserBlockingPriority,Ra=t.unstable_NormalPriority,vc=t.unstable_LowPriority,yi=t.unstable_IdlePriority,xc=t.log,bc=t.unstable_setDisableYieldValue,Da=null,xt=null;function sn(e){if(typeof xc=="function"&&bc(e),xt&&typeof xt.setStrictMode=="function")try{xt.setStrictMode(Da,e)}catch{}}var bt=Math.clz32?Math.clz32:Nc,Sc=Math.log,wc=Math.LN2;function Nc(e){return e>>>=0,e===0?32:31-(Sc(e)/wc|0)|0}var vi=256,xi=262144,bi=4194304;function Sn(e){var n=e&42;if(n!==0)return n;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Si(e,n,i){var r=e.pendingLanes;if(r===0)return 0;var u=0,h=e.suspendedLanes,b=e.pingedLanes;e=e.warmLanes;var C=r&134217727;return C!==0?(r=C&~h,r!==0?u=Sn(r):(b&=C,b!==0?u=Sn(b):i||(i=C&~e,i!==0&&(u=Sn(i))))):(C=r&~h,C!==0?u=Sn(C):b!==0?u=Sn(b):i||(i=r&~e,i!==0&&(u=Sn(i)))),u===0?0:n!==0&&n!==u&&(n&h)===0&&(h=u&-u,i=n&-n,h>=i||h===32&&(i&4194048)!==0)?n:u}function Oa(e,n){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&n)===0}function _c(e,n){switch(e){case 1:case 2:case 4:case 8:case 64:return n+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 n+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 Ko(){var e=bi;return bi<<=1,(bi&62914560)===0&&(bi=4194304),e}function Nl(e){for(var n=[],i=0;31>i;i++)n.push(e);return n}function Ia(e,n){e.pendingLanes|=n,n!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Ec(e,n,i,r,u,h){var b=e.pendingLanes;e.pendingLanes=i,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=i,e.entangledLanes&=i,e.errorRecoveryDisabledLanes&=i,e.shellSuspendCounter=0;var C=e.entanglements,H=e.expirationTimes,J=e.hiddenUpdates;for(i=b&~i;0<i;){var ie=31-bt(i),re=1<<ie;C[ie]=0,H[ie]=-1;var ee=J[ie];if(ee!==null)for(J[ie]=null,ie=0;ie<ee.length;ie++){var ne=ee[ie];ne!==null&&(ne.lane&=-536870913)}i&=~re}r!==0&&Qo(e,r,0),h!==0&&u===0&&e.tag!==0&&(e.suspendedLanes|=h&~(b&~n))}function Qo(e,n,i){e.pendingLanes|=n,e.suspendedLanes&=~n;var r=31-bt(n);e.entangledLanes|=n,e.entanglements[r]=e.entanglements[r]|1073741824|i&261930}function Jo(e,n){var i=e.entangledLanes|=n;for(e=e.entanglements;i;){var r=31-bt(i),u=1<<r;u&n|e[r]&n&&(e[r]|=n),i&=~u}}function Wo(e,n){var i=n&-n;return i=(i&42)!==0?1:_l(i),(i&(e.suspendedLanes|n))!==0?0:i}function _l(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;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:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function El(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function er(){var e=I.p;return e!==0?e:(e=window.event,e===void 0?32:Bg(e.type))}function tr(e,n){var i=I.p;try{return I.p=e,n()}finally{I.p=i}}var cn=Math.random().toString(36).slice(2),st="__reactFiber$"+cn,yt="__reactProps$"+cn,wn="__reactContainer$"+cn,wi="__reactEvents$"+cn,nr="__reactListeners$"+cn,Cc="__reactHandles$"+cn,ar="__reactResources$"+cn,La="__reactMarker$"+cn;function Cl(e){delete e[st],delete e[yt],delete e[wi],delete e[nr],delete e[Cc]}function Xn(e){var n=e[st];if(n)return n;for(var i=e.parentNode;i;){if(n=i[wn]||i[st]){if(i=n.alternate,n.child!==null||i!==null&&i.child!==null)for(e=Ng(e);e!==null;){if(i=e[st])return i;e=Ng(e)}return n}e=i,i=e.parentNode}return null}function Zn(e){if(e=e[st]||e[wn]){var n=e.tag;if(n===5||n===6||n===13||n===31||n===26||n===27||n===3)return e}return null}function Kn(e){var n=e.tag;if(n===5||n===26||n===27||n===6)return e.stateNode;throw Error(o(33))}function Qn(e){var n=e[ar];return n||(n=e[ar]={hoistableStyles:new Map,hoistableScripts:new Map}),n}function nt(e){e[La]=!0}var ir=new Set,lr={};function Nn(e,n){Jn(e,n),Jn(e+"Capture",n)}function Jn(e,n){for(lr[e]=n,e=0;e<n.length;e++)ir.add(n[e])}var Tc=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),Tl={},or={};function Mc(e){return zt.call(or,e)?!0:zt.call(Tl,e)?!1:Tc.test(e)?or[e]=!0:(Tl[e]=!0,!1)}function Ni(e,n,i){if(Mc(n))if(i===null)e.removeAttribute(n);else{switch(typeof i){case"undefined":case"function":case"symbol":e.removeAttribute(n);return;case"boolean":var r=n.toLowerCase().slice(0,5);if(r!=="data-"&&r!=="aria-"){e.removeAttribute(n);return}}e.setAttribute(n,""+i)}}function _i(e,n,i){if(i===null)e.removeAttribute(n);else{switch(typeof i){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(n);return}e.setAttribute(n,""+i)}}function Qt(e,n,i,r){if(r===null)e.removeAttribute(i);else{switch(typeof r){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(i);return}e.setAttributeNS(n,i,""+r)}}function wt(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function rr(e){var n=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(n==="checkbox"||n==="radio")}function Ac(e,n,i){var r=Object.getOwnPropertyDescriptor(e.constructor.prototype,n);if(!e.hasOwnProperty(n)&&typeof r<"u"&&typeof r.get=="function"&&typeof r.set=="function"){var u=r.get,h=r.set;return Object.defineProperty(e,n,{configurable:!0,get:function(){return u.call(this)},set:function(b){i=""+b,h.call(this,b)}}),Object.defineProperty(e,n,{enumerable:r.enumerable}),{getValue:function(){return i},setValue:function(b){i=""+b},stopTracking:function(){e._valueTracker=null,delete e[n]}}}}function Ei(e){if(!e._valueTracker){var n=rr(e)?"checked":"value";e._valueTracker=Ac(e,n,""+e[n])}}function sr(e){if(!e)return!1;var n=e._valueTracker;if(!n)return!0;var i=n.getValue(),r="";return e&&(r=rr(e)?e.checked?"true":"false":e.value),e=r,e!==i?(n.setValue(e),!0):!1}function Ha(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var jc=/[\n"\\]/g;function Nt(e){return e.replace(jc,function(n){return"\\"+n.charCodeAt(0).toString(16)+" "})}function ka(e,n,i,r,u,h,b,C){e.name="",b!=null&&typeof b!="function"&&typeof b!="symbol"&&typeof b!="boolean"?e.type=b:e.removeAttribute("type"),n!=null?b==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+wt(n)):e.value!==""+wt(n)&&(e.value=""+wt(n)):b!=="submit"&&b!=="reset"||e.removeAttribute("value"),n!=null?Ml(e,b,wt(n)):i!=null?Ml(e,b,wt(i)):r!=null&&e.removeAttribute("value"),u==null&&h!=null&&(e.defaultChecked=!!h),u!=null&&(e.checked=u&&typeof u!="function"&&typeof u!="symbol"),C!=null&&typeof C!="function"&&typeof C!="symbol"&&typeof C!="boolean"?e.name=""+wt(C):e.removeAttribute("name")}function cr(e,n,i,r,u,h,b,C){if(h!=null&&typeof h!="function"&&typeof h!="symbol"&&typeof h!="boolean"&&(e.type=h),n!=null||i!=null){if(!(h!=="submit"&&h!=="reset"||n!=null)){Ei(e);return}i=i!=null?""+wt(i):"",n=n!=null?""+wt(n):i,C||n===e.value||(e.value=n),e.defaultValue=n}r=r??u,r=typeof r!="function"&&typeof r!="symbol"&&!!r,e.checked=C?e.checked:!!r,e.defaultChecked=!!r,b!=null&&typeof b!="function"&&typeof b!="symbol"&&typeof b!="boolean"&&(e.name=b),Ei(e)}function Ml(e,n,i){n==="number"&&Ha(e.ownerDocument)===e||e.defaultValue===""+i||(e.defaultValue=""+i)}function _n(e,n,i,r){if(e=e.options,n){n={};for(var u=0;u<i.length;u++)n["$"+i[u]]=!0;for(i=0;i<e.length;i++)u=n.hasOwnProperty("$"+e[i].value),e[i].selected!==u&&(e[i].selected=u),u&&r&&(e[i].defaultSelected=!0)}else{for(i=""+wt(i),n=null,u=0;u<e.length;u++){if(e[u].value===i){e[u].selected=!0,r&&(e[u].defaultSelected=!0);return}n!==null||e[u].disabled||(n=e[u])}n!==null&&(n.selected=!0)}}function uh(e,n,i){if(n!=null&&(n=""+wt(n),n!==e.value&&(e.value=n),i==null)){e.defaultValue!==n&&(e.defaultValue=n);return}e.defaultValue=i!=null?""+wt(i):""}function dh(e,n,i,r){if(n==null){if(r!=null){if(i!=null)throw Error(o(92));if(M(r)){if(1<r.length)throw Error(o(93));r=r[0]}i=r}i==null&&(i=""),n=i}i=wt(n),e.defaultValue=i,r=e.textContent,r===i&&r!==""&&r!==null&&(e.value=r),Ei(e)}function Ci(e,n){if(n){var i=e.firstChild;if(i&&i===e.lastChild&&i.nodeType===3){i.nodeValue=n;return}}e.textContent=n}var pb=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function fh(e,n,i){var r=n.indexOf("--")===0;i==null||typeof i=="boolean"||i===""?r?e.setProperty(n,""):n==="float"?e.cssFloat="":e[n]="":r?e.setProperty(n,i):typeof i!="number"||i===0||pb.has(n)?n==="float"?e.cssFloat=i:e[n]=(""+i).trim():e[n]=i+"px"}function hh(e,n,i){if(n!=null&&typeof n!="object")throw Error(o(62));if(e=e.style,i!=null){for(var r in i)!i.hasOwnProperty(r)||n!=null&&n.hasOwnProperty(r)||(r.indexOf("--")===0?e.setProperty(r,""):r==="float"?e.cssFloat="":e[r]="");for(var u in n)r=n[u],n.hasOwnProperty(u)&&i[u]!==r&&fh(e,u,r)}else for(var h in n)n.hasOwnProperty(h)&&fh(e,h,n[h])}function zc(e){if(e.indexOf("-")===-1)return!1;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var gb=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),yb=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function ur(e){return yb.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function En(){}var Rc=null;function Dc(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Ti=null,Mi=null;function mh(e){var n=Zn(e);if(n&&(e=n.stateNode)){var i=e[yt]||null;e:switch(e=n.stateNode,n.type){case"input":if(ka(e,i.value,i.defaultValue,i.defaultValue,i.checked,i.defaultChecked,i.type,i.name),n=i.name,i.type==="radio"&&n!=null){for(i=e;i.parentNode;)i=i.parentNode;for(i=i.querySelectorAll('input[name="'+Nt(""+n)+'"][type="radio"]'),n=0;n<i.length;n++){var r=i[n];if(r!==e&&r.form===e.form){var u=r[yt]||null;if(!u)throw Error(o(90));ka(r,u.value,u.defaultValue,u.defaultValue,u.checked,u.defaultChecked,u.type,u.name)}}for(n=0;n<i.length;n++)r=i[n],r.form===e.form&&sr(r)}break e;case"textarea":uh(e,i.value,i.defaultValue);break e;case"select":n=i.value,n!=null&&_n(e,!!i.multiple,n,!1)}}}var Oc=!1;function ph(e,n,i){if(Oc)return e(n,i);Oc=!0;try{var r=e(n);return r}finally{if(Oc=!1,(Ti!==null||Mi!==null)&&(Qr(),Ti&&(n=Ti,e=Mi,Mi=Ti=null,mh(n),e)))for(n=0;n<e.length;n++)mh(e[n])}}function Al(e,n){var i=e.stateNode;if(i===null)return null;var r=i[yt]||null;if(r===null)return null;i=r[n];e:switch(n){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(e=e.type,r=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!r;break e;default:e=!1}if(e)return null;if(i&&typeof i!="function")throw Error(o(231,n,typeof i));return i}var Cn=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ic=!1;if(Cn)try{var jl={};Object.defineProperty(jl,"passive",{get:function(){Ic=!0}}),window.addEventListener("test",jl,jl),window.removeEventListener("test",jl,jl)}catch{Ic=!1}var Wn=null,Lc=null,dr=null;function gh(){if(dr)return dr;var e,n=Lc,i=n.length,r,u="value"in Wn?Wn.value:Wn.textContent,h=u.length;for(e=0;e<i&&n[e]===u[e];e++);var b=i-e;for(r=1;r<=b&&n[i-r]===u[h-r];r++);return dr=u.slice(e,1<r?1-r:void 0)}function fr(e){var n=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&n===13&&(e=13)):e=n,e===10&&(e=13),32<=e||e===13?e:0}function hr(){return!0}function yh(){return!1}function _t(e){function n(i,r,u,h,b){this._reactName=i,this._targetInst=u,this.type=r,this.nativeEvent=h,this.target=b,this.currentTarget=null;for(var C in e)e.hasOwnProperty(C)&&(i=e[C],this[C]=i?i(h):h[C]);return this.isDefaultPrevented=(h.defaultPrevented!=null?h.defaultPrevented:h.returnValue===!1)?hr:yh,this.isPropagationStopped=yh,this}return v(n.prototype,{preventDefault:function(){this.defaultPrevented=!0;var i=this.nativeEvent;i&&(i.preventDefault?i.preventDefault():typeof i.returnValue!="unknown"&&(i.returnValue=!1),this.isDefaultPrevented=hr)},stopPropagation:function(){var i=this.nativeEvent;i&&(i.stopPropagation?i.stopPropagation():typeof i.cancelBubble!="unknown"&&(i.cancelBubble=!0),this.isPropagationStopped=hr)},persist:function(){},isPersistent:hr}),n}var Ba={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},mr=_t(Ba),zl=v({},Ba,{view:0,detail:0}),vb=_t(zl),Hc,kc,Rl,pr=v({},zl,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:qc,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==Rl&&(Rl&&e.type==="mousemove"?(Hc=e.screenX-Rl.screenX,kc=e.screenY-Rl.screenY):kc=Hc=0,Rl=e),Hc)},movementY:function(e){return"movementY"in e?e.movementY:kc}}),vh=_t(pr),xb=v({},pr,{dataTransfer:0}),bb=_t(xb),Sb=v({},zl,{relatedTarget:0}),Bc=_t(Sb),wb=v({},Ba,{animationName:0,elapsedTime:0,pseudoElement:0}),Nb=_t(wb),_b=v({},Ba,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),Eb=_t(_b),Cb=v({},Ba,{data:0}),xh=_t(Cb),Tb={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Mb={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Ab={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function jb(e){var n=this.nativeEvent;return n.getModifierState?n.getModifierState(e):(e=Ab[e])?!!n[e]:!1}function qc(){return jb}var zb=v({},zl,{key:function(e){if(e.key){var n=Tb[e.key]||e.key;if(n!=="Unidentified")return n}return e.type==="keypress"?(e=fr(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?Mb[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:qc,charCode:function(e){return e.type==="keypress"?fr(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?fr(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),Rb=_t(zb),Db=v({},pr,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),bh=_t(Db),Ob=v({},zl,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:qc}),Ib=_t(Ob),Lb=v({},Ba,{propertyName:0,elapsedTime:0,pseudoElement:0}),Hb=_t(Lb),kb=v({},pr,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),Bb=_t(kb),qb=v({},Ba,{newState:0,oldState:0}),Ub=_t(qb),Gb=[9,13,27,32],Uc=Cn&&"CompositionEvent"in window,Dl=null;Cn&&"documentMode"in document&&(Dl=document.documentMode);var Vb=Cn&&"TextEvent"in window&&!Dl,Sh=Cn&&(!Uc||Dl&&8<Dl&&11>=Dl),wh=" ",Nh=!1;function _h(e,n){switch(e){case"keyup":return Gb.indexOf(n.keyCode)!==-1;case"keydown":return n.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Eh(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Ai=!1;function Yb(e,n){switch(e){case"compositionend":return Eh(n);case"keypress":return n.which!==32?null:(Nh=!0,wh);case"textInput":return e=n.data,e===wh&&Nh?null:e;default:return null}}function Pb(e,n){if(Ai)return e==="compositionend"||!Uc&&_h(e,n)?(e=gh(),dr=Lc=Wn=null,Ai=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(n.ctrlKey||n.altKey||n.metaKey)||n.ctrlKey&&n.altKey){if(n.char&&1<n.char.length)return n.char;if(n.which)return String.fromCharCode(n.which)}return null;case"compositionend":return Sh&&n.locale!=="ko"?null:n.data;default:return null}}var $b={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Ch(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n==="input"?!!$b[e.type]:n==="textarea"}function Th(e,n,i,r){Ti?Mi?Mi.push(r):Mi=[r]:Ti=r,n=is(n,"onChange"),0<n.length&&(i=new mr("onChange","change",null,i,r),e.push({event:i,listeners:n}))}var Ol=null,Il=null;function Fb(e){cg(e,0)}function gr(e){var n=Kn(e);if(sr(n))return e}function Mh(e,n){if(e==="change")return n}var Ah=!1;if(Cn){var Gc;if(Cn){var Vc="oninput"in document;if(!Vc){var jh=document.createElement("div");jh.setAttribute("oninput","return;"),Vc=typeof jh.oninput=="function"}Gc=Vc}else Gc=!1;Ah=Gc&&(!document.documentMode||9<document.documentMode)}function zh(){Ol&&(Ol.detachEvent("onpropertychange",Rh),Il=Ol=null)}function Rh(e){if(e.propertyName==="value"&&gr(Il)){var n=[];Th(n,Il,e,Dc(e)),ph(Fb,n)}}function Xb(e,n,i){e==="focusin"?(zh(),Ol=n,Il=i,Ol.attachEvent("onpropertychange",Rh)):e==="focusout"&&zh()}function Zb(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return gr(Il)}function Kb(e,n){if(e==="click")return gr(n)}function Qb(e,n){if(e==="input"||e==="change")return gr(n)}function Jb(e,n){return e===n&&(e!==0||1/e===1/n)||e!==e&&n!==n}var Rt=typeof Object.is=="function"?Object.is:Jb;function Ll(e,n){if(Rt(e,n))return!0;if(typeof e!="object"||e===null||typeof n!="object"||n===null)return!1;var i=Object.keys(e),r=Object.keys(n);if(i.length!==r.length)return!1;for(r=0;r<i.length;r++){var u=i[r];if(!zt.call(n,u)||!Rt(e[u],n[u]))return!1}return!0}function Dh(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Oh(e,n){var i=Dh(e);e=0;for(var r;i;){if(i.nodeType===3){if(r=e+i.textContent.length,e<=n&&r>=n)return{node:i,offset:n-e};e=r}e:{for(;i;){if(i.nextSibling){i=i.nextSibling;break e}i=i.parentNode}i=void 0}i=Dh(i)}}function Ih(e,n){return e&&n?e===n?!0:e&&e.nodeType===3?!1:n&&n.nodeType===3?Ih(e,n.parentNode):"contains"in e?e.contains(n):e.compareDocumentPosition?!!(e.compareDocumentPosition(n)&16):!1:!1}function Lh(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var n=Ha(e.document);n instanceof e.HTMLIFrameElement;){try{var i=typeof n.contentWindow.location.href=="string"}catch{i=!1}if(i)e=n.contentWindow;else break;n=Ha(e.document)}return n}function Yc(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n&&(n==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||n==="textarea"||e.contentEditable==="true")}var Wb=Cn&&"documentMode"in document&&11>=document.documentMode,ji=null,Pc=null,Hl=null,$c=!1;function Hh(e,n,i){var r=i.window===i?i.document:i.nodeType===9?i:i.ownerDocument;$c||ji==null||ji!==Ha(r)||(r=ji,"selectionStart"in r&&Yc(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Hl&&Ll(Hl,r)||(Hl=r,r=is(Pc,"onSelect"),0<r.length&&(n=new mr("onSelect","select",null,n,i),e.push({event:n,listeners:r}),n.target=ji)))}function qa(e,n){var i={};return i[e.toLowerCase()]=n.toLowerCase(),i["Webkit"+e]="webkit"+n,i["Moz"+e]="moz"+n,i}var zi={animationend:qa("Animation","AnimationEnd"),animationiteration:qa("Animation","AnimationIteration"),animationstart:qa("Animation","AnimationStart"),transitionrun:qa("Transition","TransitionRun"),transitionstart:qa("Transition","TransitionStart"),transitioncancel:qa("Transition","TransitionCancel"),transitionend:qa("Transition","TransitionEnd")},Fc={},kh={};Cn&&(kh=document.createElement("div").style,"AnimationEvent"in window||(delete zi.animationend.animation,delete zi.animationiteration.animation,delete zi.animationstart.animation),"TransitionEvent"in window||delete zi.transitionend.transition);function Ua(e){if(Fc[e])return Fc[e];if(!zi[e])return e;var n=zi[e],i;for(i in n)if(n.hasOwnProperty(i)&&i in kh)return Fc[e]=n[i];return e}var Bh=Ua("animationend"),qh=Ua("animationiteration"),Uh=Ua("animationstart"),eS=Ua("transitionrun"),tS=Ua("transitionstart"),nS=Ua("transitioncancel"),Gh=Ua("transitionend"),Vh=new Map,Xc="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");Xc.push("scrollEnd");function Jt(e,n){Vh.set(e,n),Nn(n,[e])}var yr=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var n=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(n))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},Ut=[],Ri=0,Zc=0;function vr(){for(var e=Ri,n=Zc=Ri=0;n<e;){var i=Ut[n];Ut[n++]=null;var r=Ut[n];Ut[n++]=null;var u=Ut[n];Ut[n++]=null;var h=Ut[n];if(Ut[n++]=null,r!==null&&u!==null){var b=r.pending;b===null?u.next=u:(u.next=b.next,b.next=u),r.pending=u}h!==0&&Yh(i,u,h)}}function xr(e,n,i,r){Ut[Ri++]=e,Ut[Ri++]=n,Ut[Ri++]=i,Ut[Ri++]=r,Zc|=r,e.lanes|=r,e=e.alternate,e!==null&&(e.lanes|=r)}function Kc(e,n,i,r){return xr(e,n,i,r),br(e)}function Ga(e,n){return xr(e,null,null,n),br(e)}function Yh(e,n,i){e.lanes|=i;var r=e.alternate;r!==null&&(r.lanes|=i);for(var u=!1,h=e.return;h!==null;)h.childLanes|=i,r=h.alternate,r!==null&&(r.childLanes|=i),h.tag===22&&(e=h.stateNode,e===null||e._visibility&1||(u=!0)),e=h,h=h.return;return e.tag===3?(h=e.stateNode,u&&n!==null&&(u=31-bt(i),e=h.hiddenUpdates,r=e[u],r===null?e[u]=[n]:r.push(n),n.lane=i|536870912),h):null}function br(e){if(50<lo)throw lo=0,ld=null,Error(o(185));for(var n=e.return;n!==null;)e=n,n=e.return;return e.tag===3?e.stateNode:null}var Di={};function aS(e,n,i,r){this.tag=e,this.key=i,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=n,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Dt(e,n,i,r){return new aS(e,n,i,r)}function Qc(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Tn(e,n){var i=e.alternate;return i===null?(i=Dt(e.tag,n,e.key,e.mode),i.elementType=e.elementType,i.type=e.type,i.stateNode=e.stateNode,i.alternate=e,e.alternate=i):(i.pendingProps=n,i.type=e.type,i.flags=0,i.subtreeFlags=0,i.deletions=null),i.flags=e.flags&65011712,i.childLanes=e.childLanes,i.lanes=e.lanes,i.child=e.child,i.memoizedProps=e.memoizedProps,i.memoizedState=e.memoizedState,i.updateQueue=e.updateQueue,n=e.dependencies,i.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext},i.sibling=e.sibling,i.index=e.index,i.ref=e.ref,i.refCleanup=e.refCleanup,i}function Ph(e,n){e.flags&=65011714;var i=e.alternate;return i===null?(e.childLanes=0,e.lanes=n,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=i.childLanes,e.lanes=i.lanes,e.child=i.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=i.memoizedProps,e.memoizedState=i.memoizedState,e.updateQueue=i.updateQueue,e.type=i.type,n=i.dependencies,e.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext}),e}function Sr(e,n,i,r,u,h){var b=0;if(r=e,typeof e=="function")Qc(e)&&(b=1);else if(typeof e=="string")b=s1(e,i,W.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case K:return e=Dt(31,i,n,u),e.elementType=K,e.lanes=h,e;case _:return Va(i.children,u,h,n);case D:b=8,u|=24;break;case j:return e=Dt(12,i,n,u|2),e.elementType=j,e.lanes=h,e;case B:return e=Dt(13,i,n,u),e.elementType=B,e.lanes=h,e;case O:return e=Dt(19,i,n,u),e.elementType=O,e.lanes=h,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case E:b=10;break e;case A:b=9;break e;case w:b=11;break e;case k:b=14;break e;case F:b=16,r=null;break e}b=29,i=Error(o(130,e===null?"null":typeof e,"")),r=null}return n=Dt(b,i,n,u),n.elementType=e,n.type=r,n.lanes=h,n}function Va(e,n,i,r){return e=Dt(7,e,r,n),e.lanes=i,e}function Jc(e,n,i){return e=Dt(6,e,null,n),e.lanes=i,e}function $h(e){var n=Dt(18,null,null,0);return n.stateNode=e,n}function Wc(e,n,i){return n=Dt(4,e.children!==null?e.children:[],e.key,n),n.lanes=i,n.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},n}var Fh=new WeakMap;function Gt(e,n){if(typeof e=="object"&&e!==null){var i=Fh.get(e);return i!==void 0?i:(n={value:e,source:n,stack:Zt(n)},Fh.set(e,n),n)}return{value:e,source:n,stack:Zt(n)}}var Oi=[],Ii=0,wr=null,kl=0,Vt=[],Yt=0,ea=null,un=1,dn="";function Mn(e,n){Oi[Ii++]=kl,Oi[Ii++]=wr,wr=e,kl=n}function Xh(e,n,i){Vt[Yt++]=un,Vt[Yt++]=dn,Vt[Yt++]=ea,ea=e;var r=un;e=dn;var u=32-bt(r)-1;r&=~(1<<u),i+=1;var h=32-bt(n)+u;if(30<h){var b=u-u%5;h=(r&(1<<b)-1).toString(32),r>>=b,u-=b,un=1<<32-bt(n)+u|i<<u|r,dn=h+e}else un=1<<h|i<<u|r,dn=e}function eu(e){e.return!==null&&(Mn(e,1),Xh(e,1,0))}function tu(e){for(;e===wr;)wr=Oi[--Ii],Oi[Ii]=null,kl=Oi[--Ii],Oi[Ii]=null;for(;e===ea;)ea=Vt[--Yt],Vt[Yt]=null,dn=Vt[--Yt],Vt[Yt]=null,un=Vt[--Yt],Vt[Yt]=null}function Zh(e,n){Vt[Yt++]=un,Vt[Yt++]=dn,Vt[Yt++]=ea,un=n.id,dn=n.overflow,ea=e}var ht=null,$e=null,De=!1,ta=null,Pt=!1,nu=Error(o(519));function na(e){var n=Error(o(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw Bl(Gt(n,e)),nu}function Kh(e){var n=e.stateNode,i=e.type,r=e.memoizedProps;switch(n[st]=e,n[yt]=r,i){case"dialog":Ae("cancel",n),Ae("close",n);break;case"iframe":case"object":case"embed":Ae("load",n);break;case"video":case"audio":for(i=0;i<ro.length;i++)Ae(ro[i],n);break;case"source":Ae("error",n);break;case"img":case"image":case"link":Ae("error",n),Ae("load",n);break;case"details":Ae("toggle",n);break;case"input":Ae("invalid",n),cr(n,r.value,r.defaultValue,r.checked,r.defaultChecked,r.type,r.name,!0);break;case"select":Ae("invalid",n);break;case"textarea":Ae("invalid",n),dh(n,r.value,r.defaultValue,r.children)}i=r.children,typeof i!="string"&&typeof i!="number"&&typeof i!="bigint"||n.textContent===""+i||r.suppressHydrationWarning===!0||hg(n.textContent,i)?(r.popover!=null&&(Ae("beforetoggle",n),Ae("toggle",n)),r.onScroll!=null&&Ae("scroll",n),r.onScrollEnd!=null&&Ae("scrollend",n),r.onClick!=null&&(n.onclick=En),n=!0):n=!1,n||na(e,!0)}function Qh(e){for(ht=e.return;ht;)switch(ht.tag){case 5:case 31:case 13:Pt=!1;return;case 27:case 3:Pt=!0;return;default:ht=ht.return}}function Li(e){if(e!==ht)return!1;if(!De)return Qh(e),De=!0,!1;var n=e.tag,i;if((i=n!==3&&n!==27)&&((i=n===5)&&(i=e.type,i=!(i!=="form"&&i!=="button")||bd(e.type,e.memoizedProps)),i=!i),i&&$e&&na(e),Qh(e),n===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(o(317));$e=wg(e)}else if(n===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(o(317));$e=wg(e)}else n===27?(n=$e,ga(e.type)?(e=Ed,Ed=null,$e=e):$e=n):$e=ht?Ft(e.stateNode.nextSibling):null;return!0}function Ya(){$e=ht=null,De=!1}function au(){var e=ta;return e!==null&&(Mt===null?Mt=e:Mt.push.apply(Mt,e),ta=null),e}function Bl(e){ta===null?ta=[e]:ta.push(e)}var iu=R(null),Pa=null,An=null;function aa(e,n,i){V(iu,n._currentValue),n._currentValue=i}function jn(e){e._currentValue=iu.current,q(iu)}function lu(e,n,i){for(;e!==null;){var r=e.alternate;if((e.childLanes&n)!==n?(e.childLanes|=n,r!==null&&(r.childLanes|=n)):r!==null&&(r.childLanes&n)!==n&&(r.childLanes|=n),e===i)break;e=e.return}}function ou(e,n,i,r){var u=e.child;for(u!==null&&(u.return=e);u!==null;){var h=u.dependencies;if(h!==null){var b=u.child;h=h.firstContext;e:for(;h!==null;){var C=h;h=u;for(var H=0;H<n.length;H++)if(C.context===n[H]){h.lanes|=i,C=h.alternate,C!==null&&(C.lanes|=i),lu(h.return,i,e),r||(b=null);break e}h=C.next}}else if(u.tag===18){if(b=u.return,b===null)throw Error(o(341));b.lanes|=i,h=b.alternate,h!==null&&(h.lanes|=i),lu(b,i,e),b=null}else b=u.child;if(b!==null)b.return=u;else for(b=u;b!==null;){if(b===e){b=null;break}if(u=b.sibling,u!==null){u.return=b.return,b=u;break}b=b.return}u=b}}function Hi(e,n,i,r){e=null;for(var u=n,h=!1;u!==null;){if(!h){if((u.flags&524288)!==0)h=!0;else if((u.flags&262144)!==0)break}if(u.tag===10){var b=u.alternate;if(b===null)throw Error(o(387));if(b=b.memoizedProps,b!==null){var C=u.type;Rt(u.pendingProps.value,b.value)||(e!==null?e.push(C):e=[C])}}else if(u===le.current){if(b=u.alternate,b===null)throw Error(o(387));b.memoizedState.memoizedState!==u.memoizedState.memoizedState&&(e!==null?e.push(ho):e=[ho])}u=u.return}e!==null&&ou(n,e,i,r),n.flags|=262144}function Nr(e){for(e=e.firstContext;e!==null;){if(!Rt(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function $a(e){Pa=e,An=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function mt(e){return Jh(Pa,e)}function _r(e,n){return Pa===null&&$a(e),Jh(e,n)}function Jh(e,n){var i=n._currentValue;if(n={context:n,memoizedValue:i,next:null},An===null){if(e===null)throw Error(o(308));An=n,e.dependencies={lanes:0,firstContext:n},e.flags|=524288}else An=An.next=n;return i}var iS=typeof AbortController<"u"?AbortController:function(){var e=[],n=this.signal={aborted:!1,addEventListener:function(i,r){e.push(r)}};this.abort=function(){n.aborted=!0,e.forEach(function(i){return i()})}},lS=t.unstable_scheduleCallback,oS=t.unstable_NormalPriority,at={$$typeof:E,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function ru(){return{controller:new iS,data:new Map,refCount:0}}function ql(e){e.refCount--,e.refCount===0&&lS(oS,function(){e.controller.abort()})}var Ul=null,su=0,ki=0,Bi=null;function rS(e,n){if(Ul===null){var i=Ul=[];su=0,ki=dd(),Bi={status:"pending",value:void 0,then:function(r){i.push(r)}}}return su++,n.then(Wh,Wh),n}function Wh(){if(--su===0&&Ul!==null){Bi!==null&&(Bi.status="fulfilled");var e=Ul;Ul=null,ki=0,Bi=null;for(var n=0;n<e.length;n++)(0,e[n])()}}function sS(e,n){var i=[],r={status:"pending",value:null,reason:null,then:function(u){i.push(u)}};return e.then(function(){r.status="fulfilled",r.value=n;for(var u=0;u<i.length;u++)(0,i[u])(n)},function(u){for(r.status="rejected",r.reason=u,u=0;u<i.length;u++)(0,i[u])(void 0)}),r}var em=T.S;T.S=function(e,n){Hp=ft(),typeof n=="object"&&n!==null&&typeof n.then=="function"&&rS(e,n),em!==null&&em(e,n)};var Fa=R(null);function cu(){var e=Fa.current;return e!==null?e:Pe.pooledCache}function Er(e,n){n===null?V(Fa,Fa.current):V(Fa,n.pool)}function tm(){var e=cu();return e===null?null:{parent:at._currentValue,pool:e}}var qi=Error(o(460)),uu=Error(o(474)),Cr=Error(o(542)),Tr={then:function(){}};function nm(e){return e=e.status,e==="fulfilled"||e==="rejected"}function am(e,n,i){switch(i=e[i],i===void 0?e.push(n):i!==n&&(n.then(En,En),n=i),n.status){case"fulfilled":return n.value;case"rejected":throw e=n.reason,lm(e),e;default:if(typeof n.status=="string")n.then(En,En);else{if(e=Pe,e!==null&&100<e.shellSuspendCounter)throw Error(o(482));e=n,e.status="pending",e.then(function(r){if(n.status==="pending"){var u=n;u.status="fulfilled",u.value=r}},function(r){if(n.status==="pending"){var u=n;u.status="rejected",u.reason=r}})}switch(n.status){case"fulfilled":return n.value;case"rejected":throw e=n.reason,lm(e),e}throw Za=n,qi}}function Xa(e){try{var n=e._init;return n(e._payload)}catch(i){throw i!==null&&typeof i=="object"&&typeof i.then=="function"?(Za=i,qi):i}}var Za=null;function im(){if(Za===null)throw Error(o(459));var e=Za;return Za=null,e}function lm(e){if(e===qi||e===Cr)throw Error(o(483))}var Ui=null,Gl=0;function Mr(e){var n=Gl;return Gl+=1,Ui===null&&(Ui=[]),am(Ui,e,n)}function Vl(e,n){n=n.props.ref,e.ref=n!==void 0?n:null}function Ar(e,n){throw n.$$typeof===x?Error(o(525)):(e=Object.prototype.toString.call(n),Error(o(31,e==="[object Object]"?"object with keys {"+Object.keys(n).join(", ")+"}":e)))}function om(e){function n(P,G){if(e){var Q=P.deletions;Q===null?(P.deletions=[G],P.flags|=16):Q.push(G)}}function i(P,G){if(!e)return null;for(;G!==null;)n(P,G),G=G.sibling;return null}function r(P){for(var G=new Map;P!==null;)P.key!==null?G.set(P.key,P):G.set(P.index,P),P=P.sibling;return G}function u(P,G){return P=Tn(P,G),P.index=0,P.sibling=null,P}function h(P,G,Q){return P.index=Q,e?(Q=P.alternate,Q!==null?(Q=Q.index,Q<G?(P.flags|=67108866,G):Q):(P.flags|=67108866,G)):(P.flags|=1048576,G)}function b(P){return e&&P.alternate===null&&(P.flags|=67108866),P}function C(P,G,Q,oe){return G===null||G.tag!==6?(G=Jc(Q,P.mode,oe),G.return=P,G):(G=u(G,Q),G.return=P,G)}function H(P,G,Q,oe){var ye=Q.type;return ye===_?ie(P,G,Q.props.children,oe,Q.key):G!==null&&(G.elementType===ye||typeof ye=="object"&&ye!==null&&ye.$$typeof===F&&Xa(ye)===G.type)?(G=u(G,Q.props),Vl(G,Q),G.return=P,G):(G=Sr(Q.type,Q.key,Q.props,null,P.mode,oe),Vl(G,Q),G.return=P,G)}function J(P,G,Q,oe){return G===null||G.tag!==4||G.stateNode.containerInfo!==Q.containerInfo||G.stateNode.implementation!==Q.implementation?(G=Wc(Q,P.mode,oe),G.return=P,G):(G=u(G,Q.children||[]),G.return=P,G)}function ie(P,G,Q,oe,ye){return G===null||G.tag!==7?(G=Va(Q,P.mode,oe,ye),G.return=P,G):(G=u(G,Q),G.return=P,G)}function re(P,G,Q){if(typeof G=="string"&&G!==""||typeof G=="number"||typeof G=="bigint")return G=Jc(""+G,P.mode,Q),G.return=P,G;if(typeof G=="object"&&G!==null){switch(G.$$typeof){case S:return Q=Sr(G.type,G.key,G.props,null,P.mode,Q),Vl(Q,G),Q.return=P,Q;case N:return G=Wc(G,P.mode,Q),G.return=P,G;case F:return G=Xa(G),re(P,G,Q)}if(M(G)||te(G))return G=Va(G,P.mode,Q,null),G.return=P,G;if(typeof G.then=="function")return re(P,Mr(G),Q);if(G.$$typeof===E)return re(P,_r(P,G),Q);Ar(P,G)}return null}function ee(P,G,Q,oe){var ye=G!==null?G.key:null;if(typeof Q=="string"&&Q!==""||typeof Q=="number"||typeof Q=="bigint")return ye!==null?null:C(P,G,""+Q,oe);if(typeof Q=="object"&&Q!==null){switch(Q.$$typeof){case S:return Q.key===ye?H(P,G,Q,oe):null;case N:return Q.key===ye?J(P,G,Q,oe):null;case F:return Q=Xa(Q),ee(P,G,Q,oe)}if(M(Q)||te(Q))return ye!==null?null:ie(P,G,Q,oe,null);if(typeof Q.then=="function")return ee(P,G,Mr(Q),oe);if(Q.$$typeof===E)return ee(P,G,_r(P,Q),oe);Ar(P,Q)}return null}function ne(P,G,Q,oe,ye){if(typeof oe=="string"&&oe!==""||typeof oe=="number"||typeof oe=="bigint")return P=P.get(Q)||null,C(G,P,""+oe,ye);if(typeof oe=="object"&&oe!==null){switch(oe.$$typeof){case S:return P=P.get(oe.key===null?Q:oe.key)||null,H(G,P,oe,ye);case N:return P=P.get(oe.key===null?Q:oe.key)||null,J(G,P,oe,ye);case F:return oe=Xa(oe),ne(P,G,Q,oe,ye)}if(M(oe)||te(oe))return P=P.get(Q)||null,ie(G,P,oe,ye,null);if(typeof oe.then=="function")return ne(P,G,Q,Mr(oe),ye);if(oe.$$typeof===E)return ne(P,G,Q,_r(G,oe),ye);Ar(G,oe)}return null}function he(P,G,Q,oe){for(var ye=null,Ie=null,me=G,Te=G=0,Re=null;me!==null&&Te<Q.length;Te++){me.index>Te?(Re=me,me=null):Re=me.sibling;var Le=ee(P,me,Q[Te],oe);if(Le===null){me===null&&(me=Re);break}e&&me&&Le.alternate===null&&n(P,me),G=h(Le,G,Te),Ie===null?ye=Le:Ie.sibling=Le,Ie=Le,me=Re}if(Te===Q.length)return i(P,me),De&&Mn(P,Te),ye;if(me===null){for(;Te<Q.length;Te++)me=re(P,Q[Te],oe),me!==null&&(G=h(me,G,Te),Ie===null?ye=me:Ie.sibling=me,Ie=me);return De&&Mn(P,Te),ye}for(me=r(me);Te<Q.length;Te++)Re=ne(me,P,Te,Q[Te],oe),Re!==null&&(e&&Re.alternate!==null&&me.delete(Re.key===null?Te:Re.key),G=h(Re,G,Te),Ie===null?ye=Re:Ie.sibling=Re,Ie=Re);return e&&me.forEach(function(Sa){return n(P,Sa)}),De&&Mn(P,Te),ye}function Se(P,G,Q,oe){if(Q==null)throw Error(o(151));for(var ye=null,Ie=null,me=G,Te=G=0,Re=null,Le=Q.next();me!==null&&!Le.done;Te++,Le=Q.next()){me.index>Te?(Re=me,me=null):Re=me.sibling;var Sa=ee(P,me,Le.value,oe);if(Sa===null){me===null&&(me=Re);break}e&&me&&Sa.alternate===null&&n(P,me),G=h(Sa,G,Te),Ie===null?ye=Sa:Ie.sibling=Sa,Ie=Sa,me=Re}if(Le.done)return i(P,me),De&&Mn(P,Te),ye;if(me===null){for(;!Le.done;Te++,Le=Q.next())Le=re(P,Le.value,oe),Le!==null&&(G=h(Le,G,Te),Ie===null?ye=Le:Ie.sibling=Le,Ie=Le);return De&&Mn(P,Te),ye}for(me=r(me);!Le.done;Te++,Le=Q.next())Le=ne(me,P,Te,Le.value,oe),Le!==null&&(e&&Le.alternate!==null&&me.delete(Le.key===null?Te:Le.key),G=h(Le,G,Te),Ie===null?ye=Le:Ie.sibling=Le,Ie=Le);return e&&me.forEach(function(x1){return n(P,x1)}),De&&Mn(P,Te),ye}function Ye(P,G,Q,oe){if(typeof Q=="object"&&Q!==null&&Q.type===_&&Q.key===null&&(Q=Q.props.children),typeof Q=="object"&&Q!==null){switch(Q.$$typeof){case S:e:{for(var ye=Q.key;G!==null;){if(G.key===ye){if(ye=Q.type,ye===_){if(G.tag===7){i(P,G.sibling),oe=u(G,Q.props.children),oe.return=P,P=oe;break e}}else if(G.elementType===ye||typeof ye=="object"&&ye!==null&&ye.$$typeof===F&&Xa(ye)===G.type){i(P,G.sibling),oe=u(G,Q.props),Vl(oe,Q),oe.return=P,P=oe;break e}i(P,G);break}else n(P,G);G=G.sibling}Q.type===_?(oe=Va(Q.props.children,P.mode,oe,Q.key),oe.return=P,P=oe):(oe=Sr(Q.type,Q.key,Q.props,null,P.mode,oe),Vl(oe,Q),oe.return=P,P=oe)}return b(P);case N:e:{for(ye=Q.key;G!==null;){if(G.key===ye)if(G.tag===4&&G.stateNode.containerInfo===Q.containerInfo&&G.stateNode.implementation===Q.implementation){i(P,G.sibling),oe=u(G,Q.children||[]),oe.return=P,P=oe;break e}else{i(P,G);break}else n(P,G);G=G.sibling}oe=Wc(Q,P.mode,oe),oe.return=P,P=oe}return b(P);case F:return Q=Xa(Q),Ye(P,G,Q,oe)}if(M(Q))return he(P,G,Q,oe);if(te(Q)){if(ye=te(Q),typeof ye!="function")throw Error(o(150));return Q=ye.call(Q),Se(P,G,Q,oe)}if(typeof Q.then=="function")return Ye(P,G,Mr(Q),oe);if(Q.$$typeof===E)return Ye(P,G,_r(P,Q),oe);Ar(P,Q)}return typeof Q=="string"&&Q!==""||typeof Q=="number"||typeof Q=="bigint"?(Q=""+Q,G!==null&&G.tag===6?(i(P,G.sibling),oe=u(G,Q),oe.return=P,P=oe):(i(P,G),oe=Jc(Q,P.mode,oe),oe.return=P,P=oe),b(P)):i(P,G)}return function(P,G,Q,oe){try{Gl=0;var ye=Ye(P,G,Q,oe);return Ui=null,ye}catch(me){if(me===qi||me===Cr)throw me;var Ie=Dt(29,me,null,P.mode);return Ie.lanes=oe,Ie.return=P,Ie}}}var Ka=om(!0),rm=om(!1),ia=!1;function du(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function fu(e,n){e=e.updateQueue,n.updateQueue===e&&(n.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function la(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function oa(e,n,i){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,(He&2)!==0){var u=r.pending;return u===null?n.next=n:(n.next=u.next,u.next=n),r.pending=n,n=br(e),Yh(e,null,i),n}return xr(e,r,n,i),br(e)}function Yl(e,n,i){if(n=n.updateQueue,n!==null&&(n=n.shared,(i&4194048)!==0)){var r=n.lanes;r&=e.pendingLanes,i|=r,n.lanes=i,Jo(e,i)}}function hu(e,n){var i=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,i===r)){var u=null,h=null;if(i=i.firstBaseUpdate,i!==null){do{var b={lane:i.lane,tag:i.tag,payload:i.payload,callback:null,next:null};h===null?u=h=b:h=h.next=b,i=i.next}while(i!==null);h===null?u=h=n:h=h.next=n}else u=h=n;i={baseState:r.baseState,firstBaseUpdate:u,lastBaseUpdate:h,shared:r.shared,callbacks:r.callbacks},e.updateQueue=i;return}e=i.lastBaseUpdate,e===null?i.firstBaseUpdate=n:e.next=n,i.lastBaseUpdate=n}var mu=!1;function Pl(){if(mu){var e=Bi;if(e!==null)throw e}}function $l(e,n,i,r){mu=!1;var u=e.updateQueue;ia=!1;var h=u.firstBaseUpdate,b=u.lastBaseUpdate,C=u.shared.pending;if(C!==null){u.shared.pending=null;var H=C,J=H.next;H.next=null,b===null?h=J:b.next=J,b=H;var ie=e.alternate;ie!==null&&(ie=ie.updateQueue,C=ie.lastBaseUpdate,C!==b&&(C===null?ie.firstBaseUpdate=J:C.next=J,ie.lastBaseUpdate=H))}if(h!==null){var re=u.baseState;b=0,ie=J=H=null,C=h;do{var ee=C.lane&-536870913,ne=ee!==C.lane;if(ne?(ze&ee)===ee:(r&ee)===ee){ee!==0&&ee===ki&&(mu=!0),ie!==null&&(ie=ie.next={lane:0,tag:C.tag,payload:C.payload,callback:null,next:null});e:{var he=e,Se=C;ee=n;var Ye=i;switch(Se.tag){case 1:if(he=Se.payload,typeof he=="function"){re=he.call(Ye,re,ee);break e}re=he;break e;case 3:he.flags=he.flags&-65537|128;case 0:if(he=Se.payload,ee=typeof he=="function"?he.call(Ye,re,ee):he,ee==null)break e;re=v({},re,ee);break e;case 2:ia=!0}}ee=C.callback,ee!==null&&(e.flags|=64,ne&&(e.flags|=8192),ne=u.callbacks,ne===null?u.callbacks=[ee]:ne.push(ee))}else ne={lane:ee,tag:C.tag,payload:C.payload,callback:C.callback,next:null},ie===null?(J=ie=ne,H=re):ie=ie.next=ne,b|=ee;if(C=C.next,C===null){if(C=u.shared.pending,C===null)break;ne=C,C=ne.next,ne.next=null,u.lastBaseUpdate=ne,u.shared.pending=null}}while(!0);ie===null&&(H=re),u.baseState=H,u.firstBaseUpdate=J,u.lastBaseUpdate=ie,h===null&&(u.shared.lanes=0),da|=b,e.lanes=b,e.memoizedState=re}}function sm(e,n){if(typeof e!="function")throw Error(o(191,e));e.call(n)}function cm(e,n){var i=e.callbacks;if(i!==null)for(e.callbacks=null,e=0;e<i.length;e++)sm(i[e],n)}var Gi=R(null),jr=R(0);function um(e,n){e=Bn,V(jr,e),V(Gi,n),Bn=e|n.baseLanes}function pu(){V(jr,Bn),V(Gi,Gi.current)}function gu(){Bn=jr.current,q(Gi),q(jr)}var Ot=R(null),$t=null;function ra(e){var n=e.alternate;V(et,et.current&1),V(Ot,e),$t===null&&(n===null||Gi.current!==null||n.memoizedState!==null)&&($t=e)}function yu(e){V(et,et.current),V(Ot,e),$t===null&&($t=e)}function dm(e){e.tag===22?(V(et,et.current),V(Ot,e),$t===null&&($t=e)):sa()}function sa(){V(et,et.current),V(Ot,Ot.current)}function It(e){q(Ot),$t===e&&($t=null),q(et)}var et=R(0);function zr(e){for(var n=e;n!==null;){if(n.tag===13){var i=n.memoizedState;if(i!==null&&(i=i.dehydrated,i===null||Nd(i)||_d(i)))return n}else if(n.tag===19&&(n.memoizedProps.revealOrder==="forwards"||n.memoizedProps.revealOrder==="backwards"||n.memoizedProps.revealOrder==="unstable_legacy-backwards"||n.memoizedProps.revealOrder==="together")){if((n.flags&128)!==0)return n}else if(n.child!==null){n.child.return=n,n=n.child;continue}if(n===e)break;for(;n.sibling===null;){if(n.return===null||n.return===e)return null;n=n.return}n.sibling.return=n.return,n=n.sibling}return null}var zn=0,Ce=null,Ge=null,it=null,Rr=!1,Vi=!1,Qa=!1,Dr=0,Fl=0,Yi=null,cS=0;function Qe(){throw Error(o(321))}function vu(e,n){if(n===null)return!1;for(var i=0;i<n.length&&i<e.length;i++)if(!Rt(e[i],n[i]))return!1;return!0}function xu(e,n,i,r,u,h){return zn=h,Ce=n,n.memoizedState=null,n.updateQueue=null,n.lanes=0,T.H=e===null||e.memoizedState===null?Xm:Ou,Qa=!1,h=i(r,u),Qa=!1,Vi&&(h=hm(n,i,r,u)),fm(e),h}function fm(e){T.H=Kl;var n=Ge!==null&&Ge.next!==null;if(zn=0,it=Ge=Ce=null,Rr=!1,Fl=0,Yi=null,n)throw Error(o(300));e===null||lt||(e=e.dependencies,e!==null&&Nr(e)&&(lt=!0))}function hm(e,n,i,r){Ce=e;var u=0;do{if(Vi&&(Yi=null),Fl=0,Vi=!1,25<=u)throw Error(o(301));if(u+=1,it=Ge=null,e.updateQueue!=null){var h=e.updateQueue;h.lastEffect=null,h.events=null,h.stores=null,h.memoCache!=null&&(h.memoCache.index=0)}T.H=Zm,h=n(i,r)}while(Vi);return h}function uS(){var e=T.H,n=e.useState()[0];return n=typeof n.then=="function"?Xl(n):n,e=e.useState()[0],(Ge!==null?Ge.memoizedState:null)!==e&&(Ce.flags|=1024),n}function bu(){var e=Dr!==0;return Dr=0,e}function Su(e,n,i){n.updateQueue=e.updateQueue,n.flags&=-2053,e.lanes&=~i}function wu(e){if(Rr){for(e=e.memoizedState;e!==null;){var n=e.queue;n!==null&&(n.pending=null),e=e.next}Rr=!1}zn=0,it=Ge=Ce=null,Vi=!1,Fl=Dr=0,Yi=null}function St(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return it===null?Ce.memoizedState=it=e:it=it.next=e,it}function tt(){if(Ge===null){var e=Ce.alternate;e=e!==null?e.memoizedState:null}else e=Ge.next;var n=it===null?Ce.memoizedState:it.next;if(n!==null)it=n,Ge=e;else{if(e===null)throw Ce.alternate===null?Error(o(467)):Error(o(310));Ge=e,e={memoizedState:Ge.memoizedState,baseState:Ge.baseState,baseQueue:Ge.baseQueue,queue:Ge.queue,next:null},it===null?Ce.memoizedState=it=e:it=it.next=e}return it}function Or(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Xl(e){var n=Fl;return Fl+=1,Yi===null&&(Yi=[]),e=am(Yi,e,n),n=Ce,(it===null?n.memoizedState:it.next)===null&&(n=n.alternate,T.H=n===null||n.memoizedState===null?Xm:Ou),e}function Ir(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return Xl(e);if(e.$$typeof===E)return mt(e)}throw Error(o(438,String(e)))}function Nu(e){var n=null,i=Ce.updateQueue;if(i!==null&&(n=i.memoCache),n==null){var r=Ce.alternate;r!==null&&(r=r.updateQueue,r!==null&&(r=r.memoCache,r!=null&&(n={data:r.data.map(function(u){return u.slice()}),index:0})))}if(n==null&&(n={data:[],index:0}),i===null&&(i=Or(),Ce.updateQueue=i),i.memoCache=n,i=n.data[n.index],i===void 0)for(i=n.data[n.index]=Array(e),r=0;r<e;r++)i[r]=de;return n.index++,i}function Rn(e,n){return typeof n=="function"?n(e):n}function Lr(e){var n=tt();return _u(n,Ge,e)}function _u(e,n,i){var r=e.queue;if(r===null)throw Error(o(311));r.lastRenderedReducer=i;var u=e.baseQueue,h=r.pending;if(h!==null){if(u!==null){var b=u.next;u.next=h.next,h.next=b}n.baseQueue=u=h,r.pending=null}if(h=e.baseState,u===null)e.memoizedState=h;else{n=u.next;var C=b=null,H=null,J=n,ie=!1;do{var re=J.lane&-536870913;if(re!==J.lane?(ze&re)===re:(zn&re)===re){var ee=J.revertLane;if(ee===0)H!==null&&(H=H.next={lane:0,revertLane:0,gesture:null,action:J.action,hasEagerState:J.hasEagerState,eagerState:J.eagerState,next:null}),re===ki&&(ie=!0);else if((zn&ee)===ee){J=J.next,ee===ki&&(ie=!0);continue}else re={lane:0,revertLane:J.revertLane,gesture:null,action:J.action,hasEagerState:J.hasEagerState,eagerState:J.eagerState,next:null},H===null?(C=H=re,b=h):H=H.next=re,Ce.lanes|=ee,da|=ee;re=J.action,Qa&&i(h,re),h=J.hasEagerState?J.eagerState:i(h,re)}else ee={lane:re,revertLane:J.revertLane,gesture:J.gesture,action:J.action,hasEagerState:J.hasEagerState,eagerState:J.eagerState,next:null},H===null?(C=H=ee,b=h):H=H.next=ee,Ce.lanes|=re,da|=re;J=J.next}while(J!==null&&J!==n);if(H===null?b=h:H.next=C,!Rt(h,e.memoizedState)&&(lt=!0,ie&&(i=Bi,i!==null)))throw i;e.memoizedState=h,e.baseState=b,e.baseQueue=H,r.lastRenderedState=h}return u===null&&(r.lanes=0),[e.memoizedState,r.dispatch]}function Eu(e){var n=tt(),i=n.queue;if(i===null)throw Error(o(311));i.lastRenderedReducer=e;var r=i.dispatch,u=i.pending,h=n.memoizedState;if(u!==null){i.pending=null;var b=u=u.next;do h=e(h,b.action),b=b.next;while(b!==u);Rt(h,n.memoizedState)||(lt=!0),n.memoizedState=h,n.baseQueue===null&&(n.baseState=h),i.lastRenderedState=h}return[h,r]}function mm(e,n,i){var r=Ce,u=tt(),h=De;if(h){if(i===void 0)throw Error(o(407));i=i()}else i=n();var b=!Rt((Ge||u).memoizedState,i);if(b&&(u.memoizedState=i,lt=!0),u=u.queue,Mu(ym.bind(null,r,u,e),[e]),u.getSnapshot!==n||b||it!==null&&it.memoizedState.tag&1){if(r.flags|=2048,Pi(9,{destroy:void 0},gm.bind(null,r,u,i,n),null),Pe===null)throw Error(o(349));h||(zn&127)!==0||pm(r,n,i)}return i}function pm(e,n,i){e.flags|=16384,e={getSnapshot:n,value:i},n=Ce.updateQueue,n===null?(n=Or(),Ce.updateQueue=n,n.stores=[e]):(i=n.stores,i===null?n.stores=[e]:i.push(e))}function gm(e,n,i,r){n.value=i,n.getSnapshot=r,vm(n)&&xm(e)}function ym(e,n,i){return i(function(){vm(n)&&xm(e)})}function vm(e){var n=e.getSnapshot;e=e.value;try{var i=n();return!Rt(e,i)}catch{return!0}}function xm(e){var n=Ga(e,2);n!==null&&At(n,e,2)}function Cu(e){var n=St();if(typeof e=="function"){var i=e;if(e=i(),Qa){sn(!0);try{i()}finally{sn(!1)}}}return n.memoizedState=n.baseState=e,n.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Rn,lastRenderedState:e},n}function bm(e,n,i,r){return e.baseState=i,_u(e,Ge,typeof r=="function"?r:Rn)}function dS(e,n,i,r,u){if(Br(e))throw Error(o(485));if(e=n.action,e!==null){var h={payload:u,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(b){h.listeners.push(b)}};T.T!==null?i(!0):h.isTransition=!1,r(h),i=n.pending,i===null?(h.next=n.pending=h,Sm(n,h)):(h.next=i.next,n.pending=i.next=h)}}function Sm(e,n){var i=n.action,r=n.payload,u=e.state;if(n.isTransition){var h=T.T,b={};T.T=b;try{var C=i(u,r),H=T.S;H!==null&&H(b,C),wm(e,n,C)}catch(J){Tu(e,n,J)}finally{h!==null&&b.types!==null&&(h.types=b.types),T.T=h}}else try{h=i(u,r),wm(e,n,h)}catch(J){Tu(e,n,J)}}function wm(e,n,i){i!==null&&typeof i=="object"&&typeof i.then=="function"?i.then(function(r){Nm(e,n,r)},function(r){return Tu(e,n,r)}):Nm(e,n,i)}function Nm(e,n,i){n.status="fulfilled",n.value=i,_m(n),e.state=i,n=e.pending,n!==null&&(i=n.next,i===n?e.pending=null:(i=i.next,n.next=i,Sm(e,i)))}function Tu(e,n,i){var r=e.pending;if(e.pending=null,r!==null){r=r.next;do n.status="rejected",n.reason=i,_m(n),n=n.next;while(n!==r)}e.action=null}function _m(e){e=e.listeners;for(var n=0;n<e.length;n++)(0,e[n])()}function Em(e,n){return n}function Cm(e,n){if(De){var i=Pe.formState;if(i!==null){e:{var r=Ce;if(De){if($e){t:{for(var u=$e,h=Pt;u.nodeType!==8;){if(!h){u=null;break t}if(u=Ft(u.nextSibling),u===null){u=null;break t}}h=u.data,u=h==="F!"||h==="F"?u:null}if(u){$e=Ft(u.nextSibling),r=u.data==="F!";break e}}na(r)}r=!1}r&&(n=i[0])}}return i=St(),i.memoizedState=i.baseState=n,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Em,lastRenderedState:n},i.queue=r,i=Pm.bind(null,Ce,r),r.dispatch=i,r=Cu(!1),h=Du.bind(null,Ce,!1,r.queue),r=St(),u={state:n,dispatch:null,action:e,pending:null},r.queue=u,i=dS.bind(null,Ce,u,h,i),u.dispatch=i,r.memoizedState=e,[n,i,!1]}function Tm(e){var n=tt();return Mm(n,Ge,e)}function Mm(e,n,i){if(n=_u(e,n,Em)[0],e=Lr(Rn)[0],typeof n=="object"&&n!==null&&typeof n.then=="function")try{var r=Xl(n)}catch(b){throw b===qi?Cr:b}else r=n;n=tt();var u=n.queue,h=u.dispatch;return i!==n.memoizedState&&(Ce.flags|=2048,Pi(9,{destroy:void 0},fS.bind(null,u,i),null)),[r,h,e]}function fS(e,n){e.action=n}function Am(e){var n=tt(),i=Ge;if(i!==null)return Mm(n,i,e);tt(),n=n.memoizedState,i=tt();var r=i.queue.dispatch;return i.memoizedState=e,[n,r,!1]}function Pi(e,n,i,r){return e={tag:e,create:i,deps:r,inst:n,next:null},n=Ce.updateQueue,n===null&&(n=Or(),Ce.updateQueue=n),i=n.lastEffect,i===null?n.lastEffect=e.next=e:(r=i.next,i.next=e,e.next=r,n.lastEffect=e),e}function jm(){return tt().memoizedState}function Hr(e,n,i,r){var u=St();Ce.flags|=e,u.memoizedState=Pi(1|n,{destroy:void 0},i,r===void 0?null:r)}function kr(e,n,i,r){var u=tt();r=r===void 0?null:r;var h=u.memoizedState.inst;Ge!==null&&r!==null&&vu(r,Ge.memoizedState.deps)?u.memoizedState=Pi(n,h,i,r):(Ce.flags|=e,u.memoizedState=Pi(1|n,h,i,r))}function zm(e,n){Hr(8390656,8,e,n)}function Mu(e,n){kr(2048,8,e,n)}function hS(e){Ce.flags|=4;var n=Ce.updateQueue;if(n===null)n=Or(),Ce.updateQueue=n,n.events=[e];else{var i=n.events;i===null?n.events=[e]:i.push(e)}}function Rm(e){var n=tt().memoizedState;return hS({ref:n,nextImpl:e}),function(){if((He&2)!==0)throw Error(o(440));return n.impl.apply(void 0,arguments)}}function Dm(e,n){return kr(4,2,e,n)}function Om(e,n){return kr(4,4,e,n)}function Im(e,n){if(typeof n=="function"){e=e();var i=n(e);return function(){typeof i=="function"?i():n(null)}}if(n!=null)return e=e(),n.current=e,function(){n.current=null}}function Lm(e,n,i){i=i!=null?i.concat([e]):null,kr(4,4,Im.bind(null,n,e),i)}function Au(){}function Hm(e,n){var i=tt();n=n===void 0?null:n;var r=i.memoizedState;return n!==null&&vu(n,r[1])?r[0]:(i.memoizedState=[e,n],e)}function km(e,n){var i=tt();n=n===void 0?null:n;var r=i.memoizedState;if(n!==null&&vu(n,r[1]))return r[0];if(r=e(),Qa){sn(!0);try{e()}finally{sn(!1)}}return i.memoizedState=[r,n],r}function ju(e,n,i){return i===void 0||(zn&1073741824)!==0&&(ze&261930)===0?e.memoizedState=n:(e.memoizedState=i,e=Bp(),Ce.lanes|=e,da|=e,i)}function Bm(e,n,i,r){return Rt(i,n)?i:Gi.current!==null?(e=ju(e,i,r),Rt(e,n)||(lt=!0),e):(zn&42)===0||(zn&1073741824)!==0&&(ze&261930)===0?(lt=!0,e.memoizedState=i):(e=Bp(),Ce.lanes|=e,da|=e,n)}function qm(e,n,i,r,u){var h=I.p;I.p=h!==0&&8>h?h:8;var b=T.T,C={};T.T=C,Du(e,!1,n,i);try{var H=u(),J=T.S;if(J!==null&&J(C,H),H!==null&&typeof H=="object"&&typeof H.then=="function"){var ie=sS(H,r);Zl(e,n,ie,kt(e))}else Zl(e,n,r,kt(e))}catch(re){Zl(e,n,{then:function(){},status:"rejected",reason:re},kt())}finally{I.p=h,b!==null&&C.types!==null&&(b.types=C.types),T.T=b}}function mS(){}function zu(e,n,i,r){if(e.tag!==5)throw Error(o(476));var u=Um(e).queue;qm(e,u,n,U,i===null?mS:function(){return Gm(e),i(r)})}function Um(e){var n=e.memoizedState;if(n!==null)return n;n={memoizedState:U,baseState:U,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Rn,lastRenderedState:U},next:null};var i={};return n.next={memoizedState:i,baseState:i,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Rn,lastRenderedState:i},next:null},e.memoizedState=n,e=e.alternate,e!==null&&(e.memoizedState=n),n}function Gm(e){var n=Um(e);n.next===null&&(n=e.alternate.memoizedState),Zl(e,n.next.queue,{},kt())}function Ru(){return mt(ho)}function Vm(){return tt().memoizedState}function Ym(){return tt().memoizedState}function pS(e){for(var n=e.return;n!==null;){switch(n.tag){case 24:case 3:var i=kt();e=la(i);var r=oa(n,e,i);r!==null&&(At(r,n,i),Yl(r,n,i)),n={cache:ru()},e.payload=n;return}n=n.return}}function gS(e,n,i){var r=kt();i={lane:r,revertLane:0,gesture:null,action:i,hasEagerState:!1,eagerState:null,next:null},Br(e)?$m(n,i):(i=Kc(e,n,i,r),i!==null&&(At(i,e,r),Fm(i,n,r)))}function Pm(e,n,i){var r=kt();Zl(e,n,i,r)}function Zl(e,n,i,r){var u={lane:r,revertLane:0,gesture:null,action:i,hasEagerState:!1,eagerState:null,next:null};if(Br(e))$m(n,u);else{var h=e.alternate;if(e.lanes===0&&(h===null||h.lanes===0)&&(h=n.lastRenderedReducer,h!==null))try{var b=n.lastRenderedState,C=h(b,i);if(u.hasEagerState=!0,u.eagerState=C,Rt(C,b))return xr(e,n,u,0),Pe===null&&vr(),!1}catch{}if(i=Kc(e,n,u,r),i!==null)return At(i,e,r),Fm(i,n,r),!0}return!1}function Du(e,n,i,r){if(r={lane:2,revertLane:dd(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},Br(e)){if(n)throw Error(o(479))}else n=Kc(e,i,r,2),n!==null&&At(n,e,2)}function Br(e){var n=e.alternate;return e===Ce||n!==null&&n===Ce}function $m(e,n){Vi=Rr=!0;var i=e.pending;i===null?n.next=n:(n.next=i.next,i.next=n),e.pending=n}function Fm(e,n,i){if((i&4194048)!==0){var r=n.lanes;r&=e.pendingLanes,i|=r,n.lanes=i,Jo(e,i)}}var Kl={readContext:mt,use:Ir,useCallback:Qe,useContext:Qe,useEffect:Qe,useImperativeHandle:Qe,useLayoutEffect:Qe,useInsertionEffect:Qe,useMemo:Qe,useReducer:Qe,useRef:Qe,useState:Qe,useDebugValue:Qe,useDeferredValue:Qe,useTransition:Qe,useSyncExternalStore:Qe,useId:Qe,useHostTransitionStatus:Qe,useFormState:Qe,useActionState:Qe,useOptimistic:Qe,useMemoCache:Qe,useCacheRefresh:Qe};Kl.useEffectEvent=Qe;var Xm={readContext:mt,use:Ir,useCallback:function(e,n){return St().memoizedState=[e,n===void 0?null:n],e},useContext:mt,useEffect:zm,useImperativeHandle:function(e,n,i){i=i!=null?i.concat([e]):null,Hr(4194308,4,Im.bind(null,n,e),i)},useLayoutEffect:function(e,n){return Hr(4194308,4,e,n)},useInsertionEffect:function(e,n){Hr(4,2,e,n)},useMemo:function(e,n){var i=St();n=n===void 0?null:n;var r=e();if(Qa){sn(!0);try{e()}finally{sn(!1)}}return i.memoizedState=[r,n],r},useReducer:function(e,n,i){var r=St();if(i!==void 0){var u=i(n);if(Qa){sn(!0);try{i(n)}finally{sn(!1)}}}else u=n;return r.memoizedState=r.baseState=u,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:u},r.queue=e,e=e.dispatch=gS.bind(null,Ce,e),[r.memoizedState,e]},useRef:function(e){var n=St();return e={current:e},n.memoizedState=e},useState:function(e){e=Cu(e);var n=e.queue,i=Pm.bind(null,Ce,n);return n.dispatch=i,[e.memoizedState,i]},useDebugValue:Au,useDeferredValue:function(e,n){var i=St();return ju(i,e,n)},useTransition:function(){var e=Cu(!1);return e=qm.bind(null,Ce,e.queue,!0,!1),St().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,n,i){var r=Ce,u=St();if(De){if(i===void 0)throw Error(o(407));i=i()}else{if(i=n(),Pe===null)throw Error(o(349));(ze&127)!==0||pm(r,n,i)}u.memoizedState=i;var h={value:i,getSnapshot:n};return u.queue=h,zm(ym.bind(null,r,h,e),[e]),r.flags|=2048,Pi(9,{destroy:void 0},gm.bind(null,r,h,i,n),null),i},useId:function(){var e=St(),n=Pe.identifierPrefix;if(De){var i=dn,r=un;i=(r&~(1<<32-bt(r)-1)).toString(32)+i,n="_"+n+"R_"+i,i=Dr++,0<i&&(n+="H"+i.toString(32)),n+="_"}else i=cS++,n="_"+n+"r_"+i.toString(32)+"_";return e.memoizedState=n},useHostTransitionStatus:Ru,useFormState:Cm,useActionState:Cm,useOptimistic:function(e){var n=St();n.memoizedState=n.baseState=e;var i={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return n.queue=i,n=Du.bind(null,Ce,!0,i),i.dispatch=n,[e,n]},useMemoCache:Nu,useCacheRefresh:function(){return St().memoizedState=pS.bind(null,Ce)},useEffectEvent:function(e){var n=St(),i={impl:e};return n.memoizedState=i,function(){if((He&2)!==0)throw Error(o(440));return i.impl.apply(void 0,arguments)}}},Ou={readContext:mt,use:Ir,useCallback:Hm,useContext:mt,useEffect:Mu,useImperativeHandle:Lm,useInsertionEffect:Dm,useLayoutEffect:Om,useMemo:km,useReducer:Lr,useRef:jm,useState:function(){return Lr(Rn)},useDebugValue:Au,useDeferredValue:function(e,n){var i=tt();return Bm(i,Ge.memoizedState,e,n)},useTransition:function(){var e=Lr(Rn)[0],n=tt().memoizedState;return[typeof e=="boolean"?e:Xl(e),n]},useSyncExternalStore:mm,useId:Vm,useHostTransitionStatus:Ru,useFormState:Tm,useActionState:Tm,useOptimistic:function(e,n){var i=tt();return bm(i,Ge,e,n)},useMemoCache:Nu,useCacheRefresh:Ym};Ou.useEffectEvent=Rm;var Zm={readContext:mt,use:Ir,useCallback:Hm,useContext:mt,useEffect:Mu,useImperativeHandle:Lm,useInsertionEffect:Dm,useLayoutEffect:Om,useMemo:km,useReducer:Eu,useRef:jm,useState:function(){return Eu(Rn)},useDebugValue:Au,useDeferredValue:function(e,n){var i=tt();return Ge===null?ju(i,e,n):Bm(i,Ge.memoizedState,e,n)},useTransition:function(){var e=Eu(Rn)[0],n=tt().memoizedState;return[typeof e=="boolean"?e:Xl(e),n]},useSyncExternalStore:mm,useId:Vm,useHostTransitionStatus:Ru,useFormState:Am,useActionState:Am,useOptimistic:function(e,n){var i=tt();return Ge!==null?bm(i,Ge,e,n):(i.baseState=e,[e,i.queue.dispatch])},useMemoCache:Nu,useCacheRefresh:Ym};Zm.useEffectEvent=Rm;function Iu(e,n,i,r){n=e.memoizedState,i=i(r,n),i=i==null?n:v({},n,i),e.memoizedState=i,e.lanes===0&&(e.updateQueue.baseState=i)}var Lu={enqueueSetState:function(e,n,i){e=e._reactInternals;var r=kt(),u=la(r);u.payload=n,i!=null&&(u.callback=i),n=oa(e,u,r),n!==null&&(At(n,e,r),Yl(n,e,r))},enqueueReplaceState:function(e,n,i){e=e._reactInternals;var r=kt(),u=la(r);u.tag=1,u.payload=n,i!=null&&(u.callback=i),n=oa(e,u,r),n!==null&&(At(n,e,r),Yl(n,e,r))},enqueueForceUpdate:function(e,n){e=e._reactInternals;var i=kt(),r=la(i);r.tag=2,n!=null&&(r.callback=n),n=oa(e,r,i),n!==null&&(At(n,e,i),Yl(n,e,i))}};function Km(e,n,i,r,u,h,b){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(r,h,b):n.prototype&&n.prototype.isPureReactComponent?!Ll(i,r)||!Ll(u,h):!0}function Qm(e,n,i,r){e=n.state,typeof n.componentWillReceiveProps=="function"&&n.componentWillReceiveProps(i,r),typeof n.UNSAFE_componentWillReceiveProps=="function"&&n.UNSAFE_componentWillReceiveProps(i,r),n.state!==e&&Lu.enqueueReplaceState(n,n.state,null)}function Ja(e,n){var i=n;if("ref"in n){i={};for(var r in n)r!=="ref"&&(i[r]=n[r])}if(e=e.defaultProps){i===n&&(i=v({},i));for(var u in e)i[u]===void 0&&(i[u]=e[u])}return i}function Jm(e){yr(e)}function Wm(e){console.error(e)}function ep(e){yr(e)}function qr(e,n){try{var i=e.onUncaughtError;i(n.value,{componentStack:n.stack})}catch(r){setTimeout(function(){throw r})}}function tp(e,n,i){try{var r=e.onCaughtError;r(i.value,{componentStack:i.stack,errorBoundary:n.tag===1?n.stateNode:null})}catch(u){setTimeout(function(){throw u})}}function Hu(e,n,i){return i=la(i),i.tag=3,i.payload={element:null},i.callback=function(){qr(e,n)},i}function np(e){return e=la(e),e.tag=3,e}function ap(e,n,i,r){var u=i.type.getDerivedStateFromError;if(typeof u=="function"){var h=r.value;e.payload=function(){return u(h)},e.callback=function(){tp(n,i,r)}}var b=i.stateNode;b!==null&&typeof b.componentDidCatch=="function"&&(e.callback=function(){tp(n,i,r),typeof u!="function"&&(fa===null?fa=new Set([this]):fa.add(this));var C=r.stack;this.componentDidCatch(r.value,{componentStack:C!==null?C:""})})}function yS(e,n,i,r,u){if(i.flags|=32768,r!==null&&typeof r=="object"&&typeof r.then=="function"){if(n=i.alternate,n!==null&&Hi(n,i,u,!0),i=Ot.current,i!==null){switch(i.tag){case 31:case 13:return $t===null?Jr():i.alternate===null&&Je===0&&(Je=3),i.flags&=-257,i.flags|=65536,i.lanes=u,r===Tr?i.flags|=16384:(n=i.updateQueue,n===null?i.updateQueue=new Set([r]):n.add(r),sd(e,r,u)),!1;case 22:return i.flags|=65536,r===Tr?i.flags|=16384:(n=i.updateQueue,n===null?(n={transitions:null,markerInstances:null,retryQueue:new Set([r])},i.updateQueue=n):(i=n.retryQueue,i===null?n.retryQueue=new Set([r]):i.add(r)),sd(e,r,u)),!1}throw Error(o(435,i.tag))}return sd(e,r,u),Jr(),!1}if(De)return n=Ot.current,n!==null?((n.flags&65536)===0&&(n.flags|=256),n.flags|=65536,n.lanes=u,r!==nu&&(e=Error(o(422),{cause:r}),Bl(Gt(e,i)))):(r!==nu&&(n=Error(o(423),{cause:r}),Bl(Gt(n,i))),e=e.current.alternate,e.flags|=65536,u&=-u,e.lanes|=u,r=Gt(r,i),u=Hu(e.stateNode,r,u),hu(e,u),Je!==4&&(Je=2)),!1;var h=Error(o(520),{cause:r});if(h=Gt(h,i),io===null?io=[h]:io.push(h),Je!==4&&(Je=2),n===null)return!0;r=Gt(r,i),i=n;do{switch(i.tag){case 3:return i.flags|=65536,e=u&-u,i.lanes|=e,e=Hu(i.stateNode,r,e),hu(i,e),!1;case 1:if(n=i.type,h=i.stateNode,(i.flags&128)===0&&(typeof n.getDerivedStateFromError=="function"||h!==null&&typeof h.componentDidCatch=="function"&&(fa===null||!fa.has(h))))return i.flags|=65536,u&=-u,i.lanes|=u,u=np(u),ap(u,e,i,r),hu(i,u),!1}i=i.return}while(i!==null);return!1}var ku=Error(o(461)),lt=!1;function pt(e,n,i,r){n.child=e===null?rm(n,null,i,r):Ka(n,e.child,i,r)}function ip(e,n,i,r,u){i=i.render;var h=n.ref;if("ref"in r){var b={};for(var C in r)C!=="ref"&&(b[C]=r[C])}else b=r;return $a(n),r=xu(e,n,i,b,h,u),C=bu(),e!==null&&!lt?(Su(e,n,u),Dn(e,n,u)):(De&&C&&eu(n),n.flags|=1,pt(e,n,r,u),n.child)}function lp(e,n,i,r,u){if(e===null){var h=i.type;return typeof h=="function"&&!Qc(h)&&h.defaultProps===void 0&&i.compare===null?(n.tag=15,n.type=h,op(e,n,h,r,u)):(e=Sr(i.type,null,r,n,n.mode,u),e.ref=n.ref,e.return=n,n.child=e)}if(h=e.child,!$u(e,u)){var b=h.memoizedProps;if(i=i.compare,i=i!==null?i:Ll,i(b,r)&&e.ref===n.ref)return Dn(e,n,u)}return n.flags|=1,e=Tn(h,r),e.ref=n.ref,e.return=n,n.child=e}function op(e,n,i,r,u){if(e!==null){var h=e.memoizedProps;if(Ll(h,r)&&e.ref===n.ref)if(lt=!1,n.pendingProps=r=h,$u(e,u))(e.flags&131072)!==0&&(lt=!0);else return n.lanes=e.lanes,Dn(e,n,u)}return Bu(e,n,i,r,u)}function rp(e,n,i,r){var u=r.children,h=e!==null?e.memoizedState:null;if(e===null&&n.stateNode===null&&(n.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),r.mode==="hidden"){if((n.flags&128)!==0){if(h=h!==null?h.baseLanes|i:i,e!==null){for(r=n.child=e.child,u=0;r!==null;)u=u|r.lanes|r.childLanes,r=r.sibling;r=u&~h}else r=0,n.child=null;return sp(e,n,h,i,r)}if((i&536870912)!==0)n.memoizedState={baseLanes:0,cachePool:null},e!==null&&Er(n,h!==null?h.cachePool:null),h!==null?um(n,h):pu(),dm(n);else return r=n.lanes=536870912,sp(e,n,h!==null?h.baseLanes|i:i,i,r)}else h!==null?(Er(n,h.cachePool),um(n,h),sa(),n.memoizedState=null):(e!==null&&Er(n,null),pu(),sa());return pt(e,n,u,i),n.child}function Ql(e,n){return e!==null&&e.tag===22||n.stateNode!==null||(n.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),n.sibling}function sp(e,n,i,r,u){var h=cu();return h=h===null?null:{parent:at._currentValue,pool:h},n.memoizedState={baseLanes:i,cachePool:h},e!==null&&Er(n,null),pu(),dm(n),e!==null&&Hi(e,n,r,!0),n.childLanes=u,null}function Ur(e,n){return n=Vr({mode:n.mode,children:n.children},e.mode),n.ref=e.ref,e.child=n,n.return=e,n}function cp(e,n,i){return Ka(n,e.child,null,i),e=Ur(n,n.pendingProps),e.flags|=2,It(n),n.memoizedState=null,e}function vS(e,n,i){var r=n.pendingProps,u=(n.flags&128)!==0;if(n.flags&=-129,e===null){if(De){if(r.mode==="hidden")return e=Ur(n,r),n.lanes=536870912,Ql(null,e);if(yu(n),(e=$e)?(e=Sg(e,Pt),e=e!==null&&e.data==="&"?e:null,e!==null&&(n.memoizedState={dehydrated:e,treeContext:ea!==null?{id:un,overflow:dn}:null,retryLane:536870912,hydrationErrors:null},i=$h(e),i.return=n,n.child=i,ht=n,$e=null)):e=null,e===null)throw na(n);return n.lanes=536870912,null}return Ur(n,r)}var h=e.memoizedState;if(h!==null){var b=h.dehydrated;if(yu(n),u)if(n.flags&256)n.flags&=-257,n=cp(e,n,i);else if(n.memoizedState!==null)n.child=e.child,n.flags|=128,n=null;else throw Error(o(558));else if(lt||Hi(e,n,i,!1),u=(i&e.childLanes)!==0,lt||u){if(r=Pe,r!==null&&(b=Wo(r,i),b!==0&&b!==h.retryLane))throw h.retryLane=b,Ga(e,b),At(r,e,b),ku;Jr(),n=cp(e,n,i)}else e=h.treeContext,$e=Ft(b.nextSibling),ht=n,De=!0,ta=null,Pt=!1,e!==null&&Zh(n,e),n=Ur(n,r),n.flags|=4096;return n}return e=Tn(e.child,{mode:r.mode,children:r.children}),e.ref=n.ref,n.child=e,e.return=n,e}function Gr(e,n){var i=n.ref;if(i===null)e!==null&&e.ref!==null&&(n.flags|=4194816);else{if(typeof i!="function"&&typeof i!="object")throw Error(o(284));(e===null||e.ref!==i)&&(n.flags|=4194816)}}function Bu(e,n,i,r,u){return $a(n),i=xu(e,n,i,r,void 0,u),r=bu(),e!==null&&!lt?(Su(e,n,u),Dn(e,n,u)):(De&&r&&eu(n),n.flags|=1,pt(e,n,i,u),n.child)}function up(e,n,i,r,u,h){return $a(n),n.updateQueue=null,i=hm(n,r,i,u),fm(e),r=bu(),e!==null&&!lt?(Su(e,n,h),Dn(e,n,h)):(De&&r&&eu(n),n.flags|=1,pt(e,n,i,h),n.child)}function dp(e,n,i,r,u){if($a(n),n.stateNode===null){var h=Di,b=i.contextType;typeof b=="object"&&b!==null&&(h=mt(b)),h=new i(r,h),n.memoizedState=h.state!==null&&h.state!==void 0?h.state:null,h.updater=Lu,n.stateNode=h,h._reactInternals=n,h=n.stateNode,h.props=r,h.state=n.memoizedState,h.refs={},du(n),b=i.contextType,h.context=typeof b=="object"&&b!==null?mt(b):Di,h.state=n.memoizedState,b=i.getDerivedStateFromProps,typeof b=="function"&&(Iu(n,i,b,r),h.state=n.memoizedState),typeof i.getDerivedStateFromProps=="function"||typeof h.getSnapshotBeforeUpdate=="function"||typeof h.UNSAFE_componentWillMount!="function"&&typeof h.componentWillMount!="function"||(b=h.state,typeof h.componentWillMount=="function"&&h.componentWillMount(),typeof h.UNSAFE_componentWillMount=="function"&&h.UNSAFE_componentWillMount(),b!==h.state&&Lu.enqueueReplaceState(h,h.state,null),$l(n,r,h,u),Pl(),h.state=n.memoizedState),typeof h.componentDidMount=="function"&&(n.flags|=4194308),r=!0}else if(e===null){h=n.stateNode;var C=n.memoizedProps,H=Ja(i,C);h.props=H;var J=h.context,ie=i.contextType;b=Di,typeof ie=="object"&&ie!==null&&(b=mt(ie));var re=i.getDerivedStateFromProps;ie=typeof re=="function"||typeof h.getSnapshotBeforeUpdate=="function",C=n.pendingProps!==C,ie||typeof h.UNSAFE_componentWillReceiveProps!="function"&&typeof h.componentWillReceiveProps!="function"||(C||J!==b)&&Qm(n,h,r,b),ia=!1;var ee=n.memoizedState;h.state=ee,$l(n,r,h,u),Pl(),J=n.memoizedState,C||ee!==J||ia?(typeof re=="function"&&(Iu(n,i,re,r),J=n.memoizedState),(H=ia||Km(n,i,H,r,ee,J,b))?(ie||typeof h.UNSAFE_componentWillMount!="function"&&typeof h.componentWillMount!="function"||(typeof h.componentWillMount=="function"&&h.componentWillMount(),typeof h.UNSAFE_componentWillMount=="function"&&h.UNSAFE_componentWillMount()),typeof h.componentDidMount=="function"&&(n.flags|=4194308)):(typeof h.componentDidMount=="function"&&(n.flags|=4194308),n.memoizedProps=r,n.memoizedState=J),h.props=r,h.state=J,h.context=b,r=H):(typeof h.componentDidMount=="function"&&(n.flags|=4194308),r=!1)}else{h=n.stateNode,fu(e,n),b=n.memoizedProps,ie=Ja(i,b),h.props=ie,re=n.pendingProps,ee=h.context,J=i.contextType,H=Di,typeof J=="object"&&J!==null&&(H=mt(J)),C=i.getDerivedStateFromProps,(J=typeof C=="function"||typeof h.getSnapshotBeforeUpdate=="function")||typeof h.UNSAFE_componentWillReceiveProps!="function"&&typeof h.componentWillReceiveProps!="function"||(b!==re||ee!==H)&&Qm(n,h,r,H),ia=!1,ee=n.memoizedState,h.state=ee,$l(n,r,h,u),Pl();var ne=n.memoizedState;b!==re||ee!==ne||ia||e!==null&&e.dependencies!==null&&Nr(e.dependencies)?(typeof C=="function"&&(Iu(n,i,C,r),ne=n.memoizedState),(ie=ia||Km(n,i,ie,r,ee,ne,H)||e!==null&&e.dependencies!==null&&Nr(e.dependencies))?(J||typeof h.UNSAFE_componentWillUpdate!="function"&&typeof h.componentWillUpdate!="function"||(typeof h.componentWillUpdate=="function"&&h.componentWillUpdate(r,ne,H),typeof h.UNSAFE_componentWillUpdate=="function"&&h.UNSAFE_componentWillUpdate(r,ne,H)),typeof h.componentDidUpdate=="function"&&(n.flags|=4),typeof h.getSnapshotBeforeUpdate=="function"&&(n.flags|=1024)):(typeof h.componentDidUpdate!="function"||b===e.memoizedProps&&ee===e.memoizedState||(n.flags|=4),typeof h.getSnapshotBeforeUpdate!="function"||b===e.memoizedProps&&ee===e.memoizedState||(n.flags|=1024),n.memoizedProps=r,n.memoizedState=ne),h.props=r,h.state=ne,h.context=H,r=ie):(typeof h.componentDidUpdate!="function"||b===e.memoizedProps&&ee===e.memoizedState||(n.flags|=4),typeof h.getSnapshotBeforeUpdate!="function"||b===e.memoizedProps&&ee===e.memoizedState||(n.flags|=1024),r=!1)}return h=r,Gr(e,n),r=(n.flags&128)!==0,h||r?(h=n.stateNode,i=r&&typeof i.getDerivedStateFromError!="function"?null:h.render(),n.flags|=1,e!==null&&r?(n.child=Ka(n,e.child,null,u),n.child=Ka(n,null,i,u)):pt(e,n,i,u),n.memoizedState=h.state,e=n.child):e=Dn(e,n,u),e}function fp(e,n,i,r){return Ya(),n.flags|=256,pt(e,n,i,r),n.child}var qu={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Uu(e){return{baseLanes:e,cachePool:tm()}}function Gu(e,n,i){return e=e!==null?e.childLanes&~i:0,n&&(e|=Ht),e}function hp(e,n,i){var r=n.pendingProps,u=!1,h=(n.flags&128)!==0,b;if((b=h)||(b=e!==null&&e.memoizedState===null?!1:(et.current&2)!==0),b&&(u=!0,n.flags&=-129),b=(n.flags&32)!==0,n.flags&=-33,e===null){if(De){if(u?ra(n):sa(),(e=$e)?(e=Sg(e,Pt),e=e!==null&&e.data!=="&"?e:null,e!==null&&(n.memoizedState={dehydrated:e,treeContext:ea!==null?{id:un,overflow:dn}:null,retryLane:536870912,hydrationErrors:null},i=$h(e),i.return=n,n.child=i,ht=n,$e=null)):e=null,e===null)throw na(n);return _d(e)?n.lanes=32:n.lanes=536870912,null}var C=r.children;return r=r.fallback,u?(sa(),u=n.mode,C=Vr({mode:"hidden",children:C},u),r=Va(r,u,i,null),C.return=n,r.return=n,C.sibling=r,n.child=C,r=n.child,r.memoizedState=Uu(i),r.childLanes=Gu(e,b,i),n.memoizedState=qu,Ql(null,r)):(ra(n),Vu(n,C))}var H=e.memoizedState;if(H!==null&&(C=H.dehydrated,C!==null)){if(h)n.flags&256?(ra(n),n.flags&=-257,n=Yu(e,n,i)):n.memoizedState!==null?(sa(),n.child=e.child,n.flags|=128,n=null):(sa(),C=r.fallback,u=n.mode,r=Vr({mode:"visible",children:r.children},u),C=Va(C,u,i,null),C.flags|=2,r.return=n,C.return=n,r.sibling=C,n.child=r,Ka(n,e.child,null,i),r=n.child,r.memoizedState=Uu(i),r.childLanes=Gu(e,b,i),n.memoizedState=qu,n=Ql(null,r));else if(ra(n),_d(C)){if(b=C.nextSibling&&C.nextSibling.dataset,b)var J=b.dgst;b=J,r=Error(o(419)),r.stack="",r.digest=b,Bl({value:r,source:null,stack:null}),n=Yu(e,n,i)}else if(lt||Hi(e,n,i,!1),b=(i&e.childLanes)!==0,lt||b){if(b=Pe,b!==null&&(r=Wo(b,i),r!==0&&r!==H.retryLane))throw H.retryLane=r,Ga(e,r),At(b,e,r),ku;Nd(C)||Jr(),n=Yu(e,n,i)}else Nd(C)?(n.flags|=192,n.child=e.child,n=null):(e=H.treeContext,$e=Ft(C.nextSibling),ht=n,De=!0,ta=null,Pt=!1,e!==null&&Zh(n,e),n=Vu(n,r.children),n.flags|=4096);return n}return u?(sa(),C=r.fallback,u=n.mode,H=e.child,J=H.sibling,r=Tn(H,{mode:"hidden",children:r.children}),r.subtreeFlags=H.subtreeFlags&65011712,J!==null?C=Tn(J,C):(C=Va(C,u,i,null),C.flags|=2),C.return=n,r.return=n,r.sibling=C,n.child=r,Ql(null,r),r=n.child,C=e.child.memoizedState,C===null?C=Uu(i):(u=C.cachePool,u!==null?(H=at._currentValue,u=u.parent!==H?{parent:H,pool:H}:u):u=tm(),C={baseLanes:C.baseLanes|i,cachePool:u}),r.memoizedState=C,r.childLanes=Gu(e,b,i),n.memoizedState=qu,Ql(e.child,r)):(ra(n),i=e.child,e=i.sibling,i=Tn(i,{mode:"visible",children:r.children}),i.return=n,i.sibling=null,e!==null&&(b=n.deletions,b===null?(n.deletions=[e],n.flags|=16):b.push(e)),n.child=i,n.memoizedState=null,i)}function Vu(e,n){return n=Vr({mode:"visible",children:n},e.mode),n.return=e,e.child=n}function Vr(e,n){return e=Dt(22,e,null,n),e.lanes=0,e}function Yu(e,n,i){return Ka(n,e.child,null,i),e=Vu(n,n.pendingProps.children),e.flags|=2,n.memoizedState=null,e}function mp(e,n,i){e.lanes|=n;var r=e.alternate;r!==null&&(r.lanes|=n),lu(e.return,n,i)}function Pu(e,n,i,r,u,h){var b=e.memoizedState;b===null?e.memoizedState={isBackwards:n,rendering:null,renderingStartTime:0,last:r,tail:i,tailMode:u,treeForkCount:h}:(b.isBackwards=n,b.rendering=null,b.renderingStartTime=0,b.last=r,b.tail=i,b.tailMode=u,b.treeForkCount=h)}function pp(e,n,i){var r=n.pendingProps,u=r.revealOrder,h=r.tail;r=r.children;var b=et.current,C=(b&2)!==0;if(C?(b=b&1|2,n.flags|=128):b&=1,V(et,b),pt(e,n,r,i),r=De?kl:0,!C&&e!==null&&(e.flags&128)!==0)e:for(e=n.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&mp(e,i,n);else if(e.tag===19)mp(e,i,n);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===n)break e;for(;e.sibling===null;){if(e.return===null||e.return===n)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(u){case"forwards":for(i=n.child,u=null;i!==null;)e=i.alternate,e!==null&&zr(e)===null&&(u=i),i=i.sibling;i=u,i===null?(u=n.child,n.child=null):(u=i.sibling,i.sibling=null),Pu(n,!1,u,i,h,r);break;case"backwards":case"unstable_legacy-backwards":for(i=null,u=n.child,n.child=null;u!==null;){if(e=u.alternate,e!==null&&zr(e)===null){n.child=u;break}e=u.sibling,u.sibling=i,i=u,u=e}Pu(n,!0,i,null,h,r);break;case"together":Pu(n,!1,null,null,void 0,r);break;default:n.memoizedState=null}return n.child}function Dn(e,n,i){if(e!==null&&(n.dependencies=e.dependencies),da|=n.lanes,(i&n.childLanes)===0)if(e!==null){if(Hi(e,n,i,!1),(i&n.childLanes)===0)return null}else return null;if(e!==null&&n.child!==e.child)throw Error(o(153));if(n.child!==null){for(e=n.child,i=Tn(e,e.pendingProps),n.child=i,i.return=n;e.sibling!==null;)e=e.sibling,i=i.sibling=Tn(e,e.pendingProps),i.return=n;i.sibling=null}return n.child}function $u(e,n){return(e.lanes&n)!==0?!0:(e=e.dependencies,!!(e!==null&&Nr(e)))}function xS(e,n,i){switch(n.tag){case 3:ce(n,n.stateNode.containerInfo),aa(n,at,e.memoizedState.cache),Ya();break;case 27:case 5:be(n);break;case 4:ce(n,n.stateNode.containerInfo);break;case 10:aa(n,n.type,n.memoizedProps.value);break;case 31:if(n.memoizedState!==null)return n.flags|=128,yu(n),null;break;case 13:var r=n.memoizedState;if(r!==null)return r.dehydrated!==null?(ra(n),n.flags|=128,null):(i&n.child.childLanes)!==0?hp(e,n,i):(ra(n),e=Dn(e,n,i),e!==null?e.sibling:null);ra(n);break;case 19:var u=(e.flags&128)!==0;if(r=(i&n.childLanes)!==0,r||(Hi(e,n,i,!1),r=(i&n.childLanes)!==0),u){if(r)return pp(e,n,i);n.flags|=128}if(u=n.memoizedState,u!==null&&(u.rendering=null,u.tail=null,u.lastEffect=null),V(et,et.current),r)break;return null;case 22:return n.lanes=0,rp(e,n,i,n.pendingProps);case 24:aa(n,at,e.memoizedState.cache)}return Dn(e,n,i)}function gp(e,n,i){if(e!==null)if(e.memoizedProps!==n.pendingProps)lt=!0;else{if(!$u(e,i)&&(n.flags&128)===0)return lt=!1,xS(e,n,i);lt=(e.flags&131072)!==0}else lt=!1,De&&(n.flags&1048576)!==0&&Xh(n,kl,n.index);switch(n.lanes=0,n.tag){case 16:e:{var r=n.pendingProps;if(e=Xa(n.elementType),n.type=e,typeof e=="function")Qc(e)?(r=Ja(e,r),n.tag=1,n=dp(null,n,e,r,i)):(n.tag=0,n=Bu(null,n,e,r,i));else{if(e!=null){var u=e.$$typeof;if(u===w){n.tag=11,n=ip(null,n,e,r,i);break e}else if(u===k){n.tag=14,n=lp(null,n,e,r,i);break e}}throw n=z(e)||e,Error(o(306,n,""))}}return n;case 0:return Bu(e,n,n.type,n.pendingProps,i);case 1:return r=n.type,u=Ja(r,n.pendingProps),dp(e,n,r,u,i);case 3:e:{if(ce(n,n.stateNode.containerInfo),e===null)throw Error(o(387));r=n.pendingProps;var h=n.memoizedState;u=h.element,fu(e,n),$l(n,r,null,i);var b=n.memoizedState;if(r=b.cache,aa(n,at,r),r!==h.cache&&ou(n,[at],i,!0),Pl(),r=b.element,h.isDehydrated)if(h={element:r,isDehydrated:!1,cache:b.cache},n.updateQueue.baseState=h,n.memoizedState=h,n.flags&256){n=fp(e,n,r,i);break e}else if(r!==u){u=Gt(Error(o(424)),n),Bl(u),n=fp(e,n,r,i);break e}else for(e=n.stateNode.containerInfo,e.nodeType===9?e=e.body:e=e.nodeName==="HTML"?e.ownerDocument.body:e,$e=Ft(e.firstChild),ht=n,De=!0,ta=null,Pt=!0,i=rm(n,null,r,i),n.child=i;i;)i.flags=i.flags&-3|4096,i=i.sibling;else{if(Ya(),r===u){n=Dn(e,n,i);break e}pt(e,n,r,i)}n=n.child}return n;case 26:return Gr(e,n),e===null?(i=Tg(n.type,null,n.pendingProps,null))?n.memoizedState=i:De||(i=n.type,e=n.pendingProps,r=ls($.current).createElement(i),r[st]=n,r[yt]=e,gt(r,i,e),nt(r),n.stateNode=r):n.memoizedState=Tg(n.type,e.memoizedProps,n.pendingProps,e.memoizedState),null;case 27:return be(n),e===null&&De&&(r=n.stateNode=_g(n.type,n.pendingProps,$.current),ht=n,Pt=!0,u=$e,ga(n.type)?(Ed=u,$e=Ft(r.firstChild)):$e=u),pt(e,n,n.pendingProps.children,i),Gr(e,n),e===null&&(n.flags|=4194304),n.child;case 5:return e===null&&De&&((u=r=$e)&&(r=ZS(r,n.type,n.pendingProps,Pt),r!==null?(n.stateNode=r,ht=n,$e=Ft(r.firstChild),Pt=!1,u=!0):u=!1),u||na(n)),be(n),u=n.type,h=n.pendingProps,b=e!==null?e.memoizedProps:null,r=h.children,bd(u,h)?r=null:b!==null&&bd(u,b)&&(n.flags|=32),n.memoizedState!==null&&(u=xu(e,n,uS,null,null,i),ho._currentValue=u),Gr(e,n),pt(e,n,r,i),n.child;case 6:return e===null&&De&&((e=i=$e)&&(i=KS(i,n.pendingProps,Pt),i!==null?(n.stateNode=i,ht=n,$e=null,e=!0):e=!1),e||na(n)),null;case 13:return hp(e,n,i);case 4:return ce(n,n.stateNode.containerInfo),r=n.pendingProps,e===null?n.child=Ka(n,null,r,i):pt(e,n,r,i),n.child;case 11:return ip(e,n,n.type,n.pendingProps,i);case 7:return pt(e,n,n.pendingProps,i),n.child;case 8:return pt(e,n,n.pendingProps.children,i),n.child;case 12:return pt(e,n,n.pendingProps.children,i),n.child;case 10:return r=n.pendingProps,aa(n,n.type,r.value),pt(e,n,r.children,i),n.child;case 9:return u=n.type._context,r=n.pendingProps.children,$a(n),u=mt(u),r=r(u),n.flags|=1,pt(e,n,r,i),n.child;case 14:return lp(e,n,n.type,n.pendingProps,i);case 15:return op(e,n,n.type,n.pendingProps,i);case 19:return pp(e,n,i);case 31:return vS(e,n,i);case 22:return rp(e,n,i,n.pendingProps);case 24:return $a(n),r=mt(at),e===null?(u=cu(),u===null&&(u=Pe,h=ru(),u.pooledCache=h,h.refCount++,h!==null&&(u.pooledCacheLanes|=i),u=h),n.memoizedState={parent:r,cache:u},du(n),aa(n,at,u)):((e.lanes&i)!==0&&(fu(e,n),$l(n,null,null,i),Pl()),u=e.memoizedState,h=n.memoizedState,u.parent!==r?(u={parent:r,cache:r},n.memoizedState=u,n.lanes===0&&(n.memoizedState=n.updateQueue.baseState=u),aa(n,at,r)):(r=h.cache,aa(n,at,r),r!==u.cache&&ou(n,[at],i,!0))),pt(e,n,n.pendingProps.children,i),n.child;case 29:throw n.pendingProps}throw Error(o(156,n.tag))}function On(e){e.flags|=4}function Fu(e,n,i,r,u){if((n=(e.mode&32)!==0)&&(n=!1),n){if(e.flags|=16777216,(u&335544128)===u)if(e.stateNode.complete)e.flags|=8192;else if(Vp())e.flags|=8192;else throw Za=Tr,uu}else e.flags&=-16777217}function yp(e,n){if(n.type!=="stylesheet"||(n.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!Rg(n))if(Vp())e.flags|=8192;else throw Za=Tr,uu}function Yr(e,n){n!==null&&(e.flags|=4),e.flags&16384&&(n=e.tag!==22?Ko():536870912,e.lanes|=n,Zi|=n)}function Jl(e,n){if(!De)switch(e.tailMode){case"hidden":n=e.tail;for(var i=null;n!==null;)n.alternate!==null&&(i=n),n=n.sibling;i===null?e.tail=null:i.sibling=null;break;case"collapsed":i=e.tail;for(var r=null;i!==null;)i.alternate!==null&&(r=i),i=i.sibling;r===null?n||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Fe(e){var n=e.alternate!==null&&e.alternate.child===e.child,i=0,r=0;if(n)for(var u=e.child;u!==null;)i|=u.lanes|u.childLanes,r|=u.subtreeFlags&65011712,r|=u.flags&65011712,u.return=e,u=u.sibling;else for(u=e.child;u!==null;)i|=u.lanes|u.childLanes,r|=u.subtreeFlags,r|=u.flags,u.return=e,u=u.sibling;return e.subtreeFlags|=r,e.childLanes=i,n}function bS(e,n,i){var r=n.pendingProps;switch(tu(n),n.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Fe(n),null;case 1:return Fe(n),null;case 3:return i=n.stateNode,r=null,e!==null&&(r=e.memoizedState.cache),n.memoizedState.cache!==r&&(n.flags|=2048),jn(at),ue(),i.pendingContext&&(i.context=i.pendingContext,i.pendingContext=null),(e===null||e.child===null)&&(Li(n)?On(n):e===null||e.memoizedState.isDehydrated&&(n.flags&256)===0||(n.flags|=1024,au())),Fe(n),null;case 26:var u=n.type,h=n.memoizedState;return e===null?(On(n),h!==null?(Fe(n),yp(n,h)):(Fe(n),Fu(n,u,null,r,i))):h?h!==e.memoizedState?(On(n),Fe(n),yp(n,h)):(Fe(n),n.flags&=-16777217):(e=e.memoizedProps,e!==r&&On(n),Fe(n),Fu(n,u,e,r,i)),null;case 27:if(ve(n),i=$.current,u=n.type,e!==null&&n.stateNode!=null)e.memoizedProps!==r&&On(n);else{if(!r){if(n.stateNode===null)throw Error(o(166));return Fe(n),null}e=W.current,Li(n)?Kh(n):(e=_g(u,r,i),n.stateNode=e,On(n))}return Fe(n),null;case 5:if(ve(n),u=n.type,e!==null&&n.stateNode!=null)e.memoizedProps!==r&&On(n);else{if(!r){if(n.stateNode===null)throw Error(o(166));return Fe(n),null}if(h=W.current,Li(n))Kh(n);else{var b=ls($.current);switch(h){case 1:h=b.createElementNS("http://www.w3.org/2000/svg",u);break;case 2:h=b.createElementNS("http://www.w3.org/1998/Math/MathML",u);break;default:switch(u){case"svg":h=b.createElementNS("http://www.w3.org/2000/svg",u);break;case"math":h=b.createElementNS("http://www.w3.org/1998/Math/MathML",u);break;case"script":h=b.createElement("div"),h.innerHTML="<script><\/script>",h=h.removeChild(h.firstChild);break;case"select":h=typeof r.is=="string"?b.createElement("select",{is:r.is}):b.createElement("select"),r.multiple?h.multiple=!0:r.size&&(h.size=r.size);break;default:h=typeof r.is=="string"?b.createElement(u,{is:r.is}):b.createElement(u)}}h[st]=n,h[yt]=r;e:for(b=n.child;b!==null;){if(b.tag===5||b.tag===6)h.appendChild(b.stateNode);else if(b.tag!==4&&b.tag!==27&&b.child!==null){b.child.return=b,b=b.child;continue}if(b===n)break e;for(;b.sibling===null;){if(b.return===null||b.return===n)break e;b=b.return}b.sibling.return=b.return,b=b.sibling}n.stateNode=h;e:switch(gt(h,u,r),u){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}r&&On(n)}}return Fe(n),Fu(n,n.type,e===null?null:e.memoizedProps,n.pendingProps,i),null;case 6:if(e&&n.stateNode!=null)e.memoizedProps!==r&&On(n);else{if(typeof r!="string"&&n.stateNode===null)throw Error(o(166));if(e=$.current,Li(n)){if(e=n.stateNode,i=n.memoizedProps,r=null,u=ht,u!==null)switch(u.tag){case 27:case 5:r=u.memoizedProps}e[st]=n,e=!!(e.nodeValue===i||r!==null&&r.suppressHydrationWarning===!0||hg(e.nodeValue,i)),e||na(n,!0)}else e=ls(e).createTextNode(r),e[st]=n,n.stateNode=e}return Fe(n),null;case 31:if(i=n.memoizedState,e===null||e.memoizedState!==null){if(r=Li(n),i!==null){if(e===null){if(!r)throw Error(o(318));if(e=n.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(o(557));e[st]=n}else Ya(),(n.flags&128)===0&&(n.memoizedState=null),n.flags|=4;Fe(n),e=!1}else i=au(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),e=!0;if(!e)return n.flags&256?(It(n),n):(It(n),null);if((n.flags&128)!==0)throw Error(o(558))}return Fe(n),null;case 13:if(r=n.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(u=Li(n),r!==null&&r.dehydrated!==null){if(e===null){if(!u)throw Error(o(318));if(u=n.memoizedState,u=u!==null?u.dehydrated:null,!u)throw Error(o(317));u[st]=n}else Ya(),(n.flags&128)===0&&(n.memoizedState=null),n.flags|=4;Fe(n),u=!1}else u=au(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=u),u=!0;if(!u)return n.flags&256?(It(n),n):(It(n),null)}return It(n),(n.flags&128)!==0?(n.lanes=i,n):(i=r!==null,e=e!==null&&e.memoizedState!==null,i&&(r=n.child,u=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(u=r.alternate.memoizedState.cachePool.pool),h=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(h=r.memoizedState.cachePool.pool),h!==u&&(r.flags|=2048)),i!==e&&i&&(n.child.flags|=8192),Yr(n,n.updateQueue),Fe(n),null);case 4:return ue(),e===null&&pd(n.stateNode.containerInfo),Fe(n),null;case 10:return jn(n.type),Fe(n),null;case 19:if(q(et),r=n.memoizedState,r===null)return Fe(n),null;if(u=(n.flags&128)!==0,h=r.rendering,h===null)if(u)Jl(r,!1);else{if(Je!==0||e!==null&&(e.flags&128)!==0)for(e=n.child;e!==null;){if(h=zr(e),h!==null){for(n.flags|=128,Jl(r,!1),e=h.updateQueue,n.updateQueue=e,Yr(n,e),n.subtreeFlags=0,e=i,i=n.child;i!==null;)Ph(i,e),i=i.sibling;return V(et,et.current&1|2),De&&Mn(n,r.treeForkCount),n.child}e=e.sibling}r.tail!==null&&ft()>Zr&&(n.flags|=128,u=!0,Jl(r,!1),n.lanes=4194304)}else{if(!u)if(e=zr(h),e!==null){if(n.flags|=128,u=!0,e=e.updateQueue,n.updateQueue=e,Yr(n,e),Jl(r,!0),r.tail===null&&r.tailMode==="hidden"&&!h.alternate&&!De)return Fe(n),null}else 2*ft()-r.renderingStartTime>Zr&&i!==536870912&&(n.flags|=128,u=!0,Jl(r,!1),n.lanes=4194304);r.isBackwards?(h.sibling=n.child,n.child=h):(e=r.last,e!==null?e.sibling=h:n.child=h,r.last=h)}return r.tail!==null?(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=ft(),e.sibling=null,i=et.current,V(et,u?i&1|2:i&1),De&&Mn(n,r.treeForkCount),e):(Fe(n),null);case 22:case 23:return It(n),gu(),r=n.memoizedState!==null,e!==null?e.memoizedState!==null!==r&&(n.flags|=8192):r&&(n.flags|=8192),r?(i&536870912)!==0&&(n.flags&128)===0&&(Fe(n),n.subtreeFlags&6&&(n.flags|=8192)):Fe(n),i=n.updateQueue,i!==null&&Yr(n,i.retryQueue),i=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(i=e.memoizedState.cachePool.pool),r=null,n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(r=n.memoizedState.cachePool.pool),r!==i&&(n.flags|=2048),e!==null&&q(Fa),null;case 24:return i=null,e!==null&&(i=e.memoizedState.cache),n.memoizedState.cache!==i&&(n.flags|=2048),jn(at),Fe(n),null;case 25:return null;case 30:return null}throw Error(o(156,n.tag))}function SS(e,n){switch(tu(n),n.tag){case 1:return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 3:return jn(at),ue(),e=n.flags,(e&65536)!==0&&(e&128)===0?(n.flags=e&-65537|128,n):null;case 26:case 27:case 5:return ve(n),null;case 31:if(n.memoizedState!==null){if(It(n),n.alternate===null)throw Error(o(340));Ya()}return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 13:if(It(n),e=n.memoizedState,e!==null&&e.dehydrated!==null){if(n.alternate===null)throw Error(o(340));Ya()}return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 19:return q(et),null;case 4:return ue(),null;case 10:return jn(n.type),null;case 22:case 23:return It(n),gu(),e!==null&&q(Fa),e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 24:return jn(at),null;case 25:return null;default:return null}}function vp(e,n){switch(tu(n),n.tag){case 3:jn(at),ue();break;case 26:case 27:case 5:ve(n);break;case 4:ue();break;case 31:n.memoizedState!==null&&It(n);break;case 13:It(n);break;case 19:q(et);break;case 10:jn(n.type);break;case 22:case 23:It(n),gu(),e!==null&&q(Fa);break;case 24:jn(at)}}function Wl(e,n){try{var i=n.updateQueue,r=i!==null?i.lastEffect:null;if(r!==null){var u=r.next;i=u;do{if((i.tag&e)===e){r=void 0;var h=i.create,b=i.inst;r=h(),b.destroy=r}i=i.next}while(i!==u)}}catch(C){qe(n,n.return,C)}}function ca(e,n,i){try{var r=n.updateQueue,u=r!==null?r.lastEffect:null;if(u!==null){var h=u.next;r=h;do{if((r.tag&e)===e){var b=r.inst,C=b.destroy;if(C!==void 0){b.destroy=void 0,u=n;var H=i,J=C;try{J()}catch(ie){qe(u,H,ie)}}}r=r.next}while(r!==h)}}catch(ie){qe(n,n.return,ie)}}function xp(e){var n=e.updateQueue;if(n!==null){var i=e.stateNode;try{cm(n,i)}catch(r){qe(e,e.return,r)}}}function bp(e,n,i){i.props=Ja(e.type,e.memoizedProps),i.state=e.memoizedState;try{i.componentWillUnmount()}catch(r){qe(e,n,r)}}function eo(e,n){try{var i=e.ref;if(i!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:r=e.stateNode;break;default:r=e.stateNode}typeof i=="function"?e.refCleanup=i(r):i.current=r}}catch(u){qe(e,n,u)}}function fn(e,n){var i=e.ref,r=e.refCleanup;if(i!==null)if(typeof r=="function")try{r()}catch(u){qe(e,n,u)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof i=="function")try{i(null)}catch(u){qe(e,n,u)}else i.current=null}function Sp(e){var n=e.type,i=e.memoizedProps,r=e.stateNode;try{e:switch(n){case"button":case"input":case"select":case"textarea":i.autoFocus&&r.focus();break e;case"img":i.src?r.src=i.src:i.srcSet&&(r.srcset=i.srcSet)}}catch(u){qe(e,e.return,u)}}function Xu(e,n,i){try{var r=e.stateNode;VS(r,e.type,i,n),r[yt]=n}catch(u){qe(e,e.return,u)}}function wp(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&ga(e.type)||e.tag===4}function Zu(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||wp(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&ga(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Ku(e,n,i){var r=e.tag;if(r===5||r===6)e=e.stateNode,n?(i.nodeType===9?i.body:i.nodeName==="HTML"?i.ownerDocument.body:i).insertBefore(e,n):(n=i.nodeType===9?i.body:i.nodeName==="HTML"?i.ownerDocument.body:i,n.appendChild(e),i=i._reactRootContainer,i!=null||n.onclick!==null||(n.onclick=En));else if(r!==4&&(r===27&&ga(e.type)&&(i=e.stateNode,n=null),e=e.child,e!==null))for(Ku(e,n,i),e=e.sibling;e!==null;)Ku(e,n,i),e=e.sibling}function Pr(e,n,i){var r=e.tag;if(r===5||r===6)e=e.stateNode,n?i.insertBefore(e,n):i.appendChild(e);else if(r!==4&&(r===27&&ga(e.type)&&(i=e.stateNode),e=e.child,e!==null))for(Pr(e,n,i),e=e.sibling;e!==null;)Pr(e,n,i),e=e.sibling}function Np(e){var n=e.stateNode,i=e.memoizedProps;try{for(var r=e.type,u=n.attributes;u.length;)n.removeAttributeNode(u[0]);gt(n,r,i),n[st]=e,n[yt]=i}catch(h){qe(e,e.return,h)}}var In=!1,ot=!1,Qu=!1,_p=typeof WeakSet=="function"?WeakSet:Set,dt=null;function wS(e,n){if(e=e.containerInfo,vd=fs,e=Lh(e),Yc(e)){if("selectionStart"in e)var i={start:e.selectionStart,end:e.selectionEnd};else e:{i=(i=e.ownerDocument)&&i.defaultView||window;var r=i.getSelection&&i.getSelection();if(r&&r.rangeCount!==0){i=r.anchorNode;var u=r.anchorOffset,h=r.focusNode;r=r.focusOffset;try{i.nodeType,h.nodeType}catch{i=null;break e}var b=0,C=-1,H=-1,J=0,ie=0,re=e,ee=null;t:for(;;){for(var ne;re!==i||u!==0&&re.nodeType!==3||(C=b+u),re!==h||r!==0&&re.nodeType!==3||(H=b+r),re.nodeType===3&&(b+=re.nodeValue.length),(ne=re.firstChild)!==null;)ee=re,re=ne;for(;;){if(re===e)break t;if(ee===i&&++J===u&&(C=b),ee===h&&++ie===r&&(H=b),(ne=re.nextSibling)!==null)break;re=ee,ee=re.parentNode}re=ne}i=C===-1||H===-1?null:{start:C,end:H}}else i=null}i=i||{start:0,end:0}}else i=null;for(xd={focusedElem:e,selectionRange:i},fs=!1,dt=n;dt!==null;)if(n=dt,e=n.child,(n.subtreeFlags&1028)!==0&&e!==null)e.return=n,dt=e;else for(;dt!==null;){switch(n=dt,h=n.alternate,e=n.flags,n.tag){case 0:if((e&4)!==0&&(e=n.updateQueue,e=e!==null?e.events:null,e!==null))for(i=0;i<e.length;i++)u=e[i],u.ref.impl=u.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&h!==null){e=void 0,i=n,u=h.memoizedProps,h=h.memoizedState,r=i.stateNode;try{var he=Ja(i.type,u);e=r.getSnapshotBeforeUpdate(he,h),r.__reactInternalSnapshotBeforeUpdate=e}catch(Se){qe(i,i.return,Se)}}break;case 3:if((e&1024)!==0){if(e=n.stateNode.containerInfo,i=e.nodeType,i===9)wd(e);else if(i===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":wd(e);break;default:e.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((e&1024)!==0)throw Error(o(163))}if(e=n.sibling,e!==null){e.return=n.return,dt=e;break}dt=n.return}}function Ep(e,n,i){var r=i.flags;switch(i.tag){case 0:case 11:case 15:Hn(e,i),r&4&&Wl(5,i);break;case 1:if(Hn(e,i),r&4)if(e=i.stateNode,n===null)try{e.componentDidMount()}catch(b){qe(i,i.return,b)}else{var u=Ja(i.type,n.memoizedProps);n=n.memoizedState;try{e.componentDidUpdate(u,n,e.__reactInternalSnapshotBeforeUpdate)}catch(b){qe(i,i.return,b)}}r&64&&xp(i),r&512&&eo(i,i.return);break;case 3:if(Hn(e,i),r&64&&(e=i.updateQueue,e!==null)){if(n=null,i.child!==null)switch(i.child.tag){case 27:case 5:n=i.child.stateNode;break;case 1:n=i.child.stateNode}try{cm(e,n)}catch(b){qe(i,i.return,b)}}break;case 27:n===null&&r&4&&Np(i);case 26:case 5:Hn(e,i),n===null&&r&4&&Sp(i),r&512&&eo(i,i.return);break;case 12:Hn(e,i);break;case 31:Hn(e,i),r&4&&Mp(e,i);break;case 13:Hn(e,i),r&4&&Ap(e,i),r&64&&(e=i.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(i=zS.bind(null,i),QS(e,i))));break;case 22:if(r=i.memoizedState!==null||In,!r){n=n!==null&&n.memoizedState!==null||ot,u=In;var h=ot;In=r,(ot=n)&&!h?kn(e,i,(i.subtreeFlags&8772)!==0):Hn(e,i),In=u,ot=h}break;case 30:break;default:Hn(e,i)}}function Cp(e){var n=e.alternate;n!==null&&(e.alternate=null,Cp(n)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(n=e.stateNode,n!==null&&Cl(n)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var Xe=null,Et=!1;function Ln(e,n,i){for(i=i.child;i!==null;)Tp(e,n,i),i=i.sibling}function Tp(e,n,i){if(xt&&typeof xt.onCommitFiberUnmount=="function")try{xt.onCommitFiberUnmount(Da,i)}catch{}switch(i.tag){case 26:ot||fn(i,n),Ln(e,n,i),i.memoizedState?i.memoizedState.count--:i.stateNode&&(i=i.stateNode,i.parentNode.removeChild(i));break;case 27:ot||fn(i,n);var r=Xe,u=Et;ga(i.type)&&(Xe=i.stateNode,Et=!1),Ln(e,n,i),co(i.stateNode),Xe=r,Et=u;break;case 5:ot||fn(i,n);case 6:if(r=Xe,u=Et,Xe=null,Ln(e,n,i),Xe=r,Et=u,Xe!==null)if(Et)try{(Xe.nodeType===9?Xe.body:Xe.nodeName==="HTML"?Xe.ownerDocument.body:Xe).removeChild(i.stateNode)}catch(h){qe(i,n,h)}else try{Xe.removeChild(i.stateNode)}catch(h){qe(i,n,h)}break;case 18:Xe!==null&&(Et?(e=Xe,xg(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,i.stateNode),al(e)):xg(Xe,i.stateNode));break;case 4:r=Xe,u=Et,Xe=i.stateNode.containerInfo,Et=!0,Ln(e,n,i),Xe=r,Et=u;break;case 0:case 11:case 14:case 15:ca(2,i,n),ot||ca(4,i,n),Ln(e,n,i);break;case 1:ot||(fn(i,n),r=i.stateNode,typeof r.componentWillUnmount=="function"&&bp(i,n,r)),Ln(e,n,i);break;case 21:Ln(e,n,i);break;case 22:ot=(r=ot)||i.memoizedState!==null,Ln(e,n,i),ot=r;break;default:Ln(e,n,i)}}function Mp(e,n){if(n.memoizedState===null&&(e=n.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{al(e)}catch(i){qe(n,n.return,i)}}}function Ap(e,n){if(n.memoizedState===null&&(e=n.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{al(e)}catch(i){qe(n,n.return,i)}}function NS(e){switch(e.tag){case 31:case 13:case 19:var n=e.stateNode;return n===null&&(n=e.stateNode=new _p),n;case 22:return e=e.stateNode,n=e._retryCache,n===null&&(n=e._retryCache=new _p),n;default:throw Error(o(435,e.tag))}}function $r(e,n){var i=NS(e);n.forEach(function(r){if(!i.has(r)){i.add(r);var u=RS.bind(null,e,r);r.then(u,u)}})}function Ct(e,n){var i=n.deletions;if(i!==null)for(var r=0;r<i.length;r++){var u=i[r],h=e,b=n,C=b;e:for(;C!==null;){switch(C.tag){case 27:if(ga(C.type)){Xe=C.stateNode,Et=!1;break e}break;case 5:Xe=C.stateNode,Et=!1;break e;case 3:case 4:Xe=C.stateNode.containerInfo,Et=!0;break e}C=C.return}if(Xe===null)throw Error(o(160));Tp(h,b,u),Xe=null,Et=!1,h=u.alternate,h!==null&&(h.return=null),u.return=null}if(n.subtreeFlags&13886)for(n=n.child;n!==null;)jp(n,e),n=n.sibling}var Wt=null;function jp(e,n){var i=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:Ct(n,e),Tt(e),r&4&&(ca(3,e,e.return),Wl(3,e),ca(5,e,e.return));break;case 1:Ct(n,e),Tt(e),r&512&&(ot||i===null||fn(i,i.return)),r&64&&In&&(e=e.updateQueue,e!==null&&(r=e.callbacks,r!==null&&(i=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=i===null?r:i.concat(r))));break;case 26:var u=Wt;if(Ct(n,e),Tt(e),r&512&&(ot||i===null||fn(i,i.return)),r&4){var h=i!==null?i.memoizedState:null;if(r=e.memoizedState,i===null)if(r===null)if(e.stateNode===null){e:{r=e.type,i=e.memoizedProps,u=u.ownerDocument||u;t:switch(r){case"title":h=u.getElementsByTagName("title")[0],(!h||h[La]||h[st]||h.namespaceURI==="http://www.w3.org/2000/svg"||h.hasAttribute("itemprop"))&&(h=u.createElement(r),u.head.insertBefore(h,u.querySelector("head > title"))),gt(h,r,i),h[st]=e,nt(h),r=h;break e;case"link":var b=jg("link","href",u).get(r+(i.href||""));if(b){for(var C=0;C<b.length;C++)if(h=b[C],h.getAttribute("href")===(i.href==null||i.href===""?null:i.href)&&h.getAttribute("rel")===(i.rel==null?null:i.rel)&&h.getAttribute("title")===(i.title==null?null:i.title)&&h.getAttribute("crossorigin")===(i.crossOrigin==null?null:i.crossOrigin)){b.splice(C,1);break t}}h=u.createElement(r),gt(h,r,i),u.head.appendChild(h);break;case"meta":if(b=jg("meta","content",u).get(r+(i.content||""))){for(C=0;C<b.length;C++)if(h=b[C],h.getAttribute("content")===(i.content==null?null:""+i.content)&&h.getAttribute("name")===(i.name==null?null:i.name)&&h.getAttribute("property")===(i.property==null?null:i.property)&&h.getAttribute("http-equiv")===(i.httpEquiv==null?null:i.httpEquiv)&&h.getAttribute("charset")===(i.charSet==null?null:i.charSet)){b.splice(C,1);break t}}h=u.createElement(r),gt(h,r,i),u.head.appendChild(h);break;default:throw Error(o(468,r))}h[st]=e,nt(h),r=h}e.stateNode=r}else zg(u,e.type,e.stateNode);else e.stateNode=Ag(u,r,e.memoizedProps);else h!==r?(h===null?i.stateNode!==null&&(i=i.stateNode,i.parentNode.removeChild(i)):h.count--,r===null?zg(u,e.type,e.stateNode):Ag(u,r,e.memoizedProps)):r===null&&e.stateNode!==null&&Xu(e,e.memoizedProps,i.memoizedProps)}break;case 27:Ct(n,e),Tt(e),r&512&&(ot||i===null||fn(i,i.return)),i!==null&&r&4&&Xu(e,e.memoizedProps,i.memoizedProps);break;case 5:if(Ct(n,e),Tt(e),r&512&&(ot||i===null||fn(i,i.return)),e.flags&32){u=e.stateNode;try{Ci(u,"")}catch(he){qe(e,e.return,he)}}r&4&&e.stateNode!=null&&(u=e.memoizedProps,Xu(e,u,i!==null?i.memoizedProps:u)),r&1024&&(Qu=!0);break;case 6:if(Ct(n,e),Tt(e),r&4){if(e.stateNode===null)throw Error(o(162));r=e.memoizedProps,i=e.stateNode;try{i.nodeValue=r}catch(he){qe(e,e.return,he)}}break;case 3:if(ss=null,u=Wt,Wt=os(n.containerInfo),Ct(n,e),Wt=u,Tt(e),r&4&&i!==null&&i.memoizedState.isDehydrated)try{al(n.containerInfo)}catch(he){qe(e,e.return,he)}Qu&&(Qu=!1,zp(e));break;case 4:r=Wt,Wt=os(e.stateNode.containerInfo),Ct(n,e),Tt(e),Wt=r;break;case 12:Ct(n,e),Tt(e);break;case 31:Ct(n,e),Tt(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,$r(e,r)));break;case 13:Ct(n,e),Tt(e),e.child.flags&8192&&e.memoizedState!==null!=(i!==null&&i.memoizedState!==null)&&(Xr=ft()),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,$r(e,r)));break;case 22:u=e.memoizedState!==null;var H=i!==null&&i.memoizedState!==null,J=In,ie=ot;if(In=J||u,ot=ie||H,Ct(n,e),ot=ie,In=J,Tt(e),r&8192)e:for(n=e.stateNode,n._visibility=u?n._visibility&-2:n._visibility|1,u&&(i===null||H||In||ot||Wa(e)),i=null,n=e;;){if(n.tag===5||n.tag===26){if(i===null){H=i=n;try{if(h=H.stateNode,u)b=h.style,typeof b.setProperty=="function"?b.setProperty("display","none","important"):b.display="none";else{C=H.stateNode;var re=H.memoizedProps.style,ee=re!=null&&re.hasOwnProperty("display")?re.display:null;C.style.display=ee==null||typeof ee=="boolean"?"":(""+ee).trim()}}catch(he){qe(H,H.return,he)}}}else if(n.tag===6){if(i===null){H=n;try{H.stateNode.nodeValue=u?"":H.memoizedProps}catch(he){qe(H,H.return,he)}}}else if(n.tag===18){if(i===null){H=n;try{var ne=H.stateNode;u?bg(ne,!0):bg(H.stateNode,!1)}catch(he){qe(H,H.return,he)}}}else if((n.tag!==22&&n.tag!==23||n.memoizedState===null||n===e)&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===e)break e;for(;n.sibling===null;){if(n.return===null||n.return===e)break e;i===n&&(i=null),n=n.return}i===n&&(i=null),n.sibling.return=n.return,n=n.sibling}r&4&&(r=e.updateQueue,r!==null&&(i=r.retryQueue,i!==null&&(r.retryQueue=null,$r(e,i))));break;case 19:Ct(n,e),Tt(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,$r(e,r)));break;case 30:break;case 21:break;default:Ct(n,e),Tt(e)}}function Tt(e){var n=e.flags;if(n&2){try{for(var i,r=e.return;r!==null;){if(wp(r)){i=r;break}r=r.return}if(i==null)throw Error(o(160));switch(i.tag){case 27:var u=i.stateNode,h=Zu(e);Pr(e,h,u);break;case 5:var b=i.stateNode;i.flags&32&&(Ci(b,""),i.flags&=-33);var C=Zu(e);Pr(e,C,b);break;case 3:case 4:var H=i.stateNode.containerInfo,J=Zu(e);Ku(e,J,H);break;default:throw Error(o(161))}}catch(ie){qe(e,e.return,ie)}e.flags&=-3}n&4096&&(e.flags&=-4097)}function zp(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var n=e;zp(n),n.tag===5&&n.flags&1024&&n.stateNode.reset(),e=e.sibling}}function Hn(e,n){if(n.subtreeFlags&8772)for(n=n.child;n!==null;)Ep(e,n.alternate,n),n=n.sibling}function Wa(e){for(e=e.child;e!==null;){var n=e;switch(n.tag){case 0:case 11:case 14:case 15:ca(4,n,n.return),Wa(n);break;case 1:fn(n,n.return);var i=n.stateNode;typeof i.componentWillUnmount=="function"&&bp(n,n.return,i),Wa(n);break;case 27:co(n.stateNode);case 26:case 5:fn(n,n.return),Wa(n);break;case 22:n.memoizedState===null&&Wa(n);break;case 30:Wa(n);break;default:Wa(n)}e=e.sibling}}function kn(e,n,i){for(i=i&&(n.subtreeFlags&8772)!==0,n=n.child;n!==null;){var r=n.alternate,u=e,h=n,b=h.flags;switch(h.tag){case 0:case 11:case 15:kn(u,h,i),Wl(4,h);break;case 1:if(kn(u,h,i),r=h,u=r.stateNode,typeof u.componentDidMount=="function")try{u.componentDidMount()}catch(J){qe(r,r.return,J)}if(r=h,u=r.updateQueue,u!==null){var C=r.stateNode;try{var H=u.shared.hiddenCallbacks;if(H!==null)for(u.shared.hiddenCallbacks=null,u=0;u<H.length;u++)sm(H[u],C)}catch(J){qe(r,r.return,J)}}i&&b&64&&xp(h),eo(h,h.return);break;case 27:Np(h);case 26:case 5:kn(u,h,i),i&&r===null&&b&4&&Sp(h),eo(h,h.return);break;case 12:kn(u,h,i);break;case 31:kn(u,h,i),i&&b&4&&Mp(u,h);break;case 13:kn(u,h,i),i&&b&4&&Ap(u,h);break;case 22:h.memoizedState===null&&kn(u,h,i),eo(h,h.return);break;case 30:break;default:kn(u,h,i)}n=n.sibling}}function Ju(e,n){var i=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(i=e.memoizedState.cachePool.pool),e=null,n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(e=n.memoizedState.cachePool.pool),e!==i&&(e!=null&&e.refCount++,i!=null&&ql(i))}function Wu(e,n){e=null,n.alternate!==null&&(e=n.alternate.memoizedState.cache),n=n.memoizedState.cache,n!==e&&(n.refCount++,e!=null&&ql(e))}function en(e,n,i,r){if(n.subtreeFlags&10256)for(n=n.child;n!==null;)Rp(e,n,i,r),n=n.sibling}function Rp(e,n,i,r){var u=n.flags;switch(n.tag){case 0:case 11:case 15:en(e,n,i,r),u&2048&&Wl(9,n);break;case 1:en(e,n,i,r);break;case 3:en(e,n,i,r),u&2048&&(e=null,n.alternate!==null&&(e=n.alternate.memoizedState.cache),n=n.memoizedState.cache,n!==e&&(n.refCount++,e!=null&&ql(e)));break;case 12:if(u&2048){en(e,n,i,r),e=n.stateNode;try{var h=n.memoizedProps,b=h.id,C=h.onPostCommit;typeof C=="function"&&C(b,n.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(H){qe(n,n.return,H)}}else en(e,n,i,r);break;case 31:en(e,n,i,r);break;case 13:en(e,n,i,r);break;case 23:break;case 22:h=n.stateNode,b=n.alternate,n.memoizedState!==null?h._visibility&2?en(e,n,i,r):to(e,n):h._visibility&2?en(e,n,i,r):(h._visibility|=2,$i(e,n,i,r,(n.subtreeFlags&10256)!==0||!1)),u&2048&&Ju(b,n);break;case 24:en(e,n,i,r),u&2048&&Wu(n.alternate,n);break;default:en(e,n,i,r)}}function $i(e,n,i,r,u){for(u=u&&((n.subtreeFlags&10256)!==0||!1),n=n.child;n!==null;){var h=e,b=n,C=i,H=r,J=b.flags;switch(b.tag){case 0:case 11:case 15:$i(h,b,C,H,u),Wl(8,b);break;case 23:break;case 22:var ie=b.stateNode;b.memoizedState!==null?ie._visibility&2?$i(h,b,C,H,u):to(h,b):(ie._visibility|=2,$i(h,b,C,H,u)),u&&J&2048&&Ju(b.alternate,b);break;case 24:$i(h,b,C,H,u),u&&J&2048&&Wu(b.alternate,b);break;default:$i(h,b,C,H,u)}n=n.sibling}}function to(e,n){if(n.subtreeFlags&10256)for(n=n.child;n!==null;){var i=e,r=n,u=r.flags;switch(r.tag){case 22:to(i,r),u&2048&&Ju(r.alternate,r);break;case 24:to(i,r),u&2048&&Wu(r.alternate,r);break;default:to(i,r)}n=n.sibling}}var no=8192;function Fi(e,n,i){if(e.subtreeFlags&no)for(e=e.child;e!==null;)Dp(e,n,i),e=e.sibling}function Dp(e,n,i){switch(e.tag){case 26:Fi(e,n,i),e.flags&no&&e.memoizedState!==null&&c1(i,Wt,e.memoizedState,e.memoizedProps);break;case 5:Fi(e,n,i);break;case 3:case 4:var r=Wt;Wt=os(e.stateNode.containerInfo),Fi(e,n,i),Wt=r;break;case 22:e.memoizedState===null&&(r=e.alternate,r!==null&&r.memoizedState!==null?(r=no,no=16777216,Fi(e,n,i),no=r):Fi(e,n,i));break;default:Fi(e,n,i)}}function Op(e){var n=e.alternate;if(n!==null&&(e=n.child,e!==null)){n.child=null;do n=e.sibling,e.sibling=null,e=n;while(e!==null)}}function ao(e){var n=e.deletions;if((e.flags&16)!==0){if(n!==null)for(var i=0;i<n.length;i++){var r=n[i];dt=r,Lp(r,e)}Op(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)Ip(e),e=e.sibling}function Ip(e){switch(e.tag){case 0:case 11:case 15:ao(e),e.flags&2048&&ca(9,e,e.return);break;case 3:ao(e);break;case 12:ao(e);break;case 22:var n=e.stateNode;e.memoizedState!==null&&n._visibility&2&&(e.return===null||e.return.tag!==13)?(n._visibility&=-3,Fr(e)):ao(e);break;default:ao(e)}}function Fr(e){var n=e.deletions;if((e.flags&16)!==0){if(n!==null)for(var i=0;i<n.length;i++){var r=n[i];dt=r,Lp(r,e)}Op(e)}for(e=e.child;e!==null;){switch(n=e,n.tag){case 0:case 11:case 15:ca(8,n,n.return),Fr(n);break;case 22:i=n.stateNode,i._visibility&2&&(i._visibility&=-3,Fr(n));break;default:Fr(n)}e=e.sibling}}function Lp(e,n){for(;dt!==null;){var i=dt;switch(i.tag){case 0:case 11:case 15:ca(8,i,n);break;case 23:case 22:if(i.memoizedState!==null&&i.memoizedState.cachePool!==null){var r=i.memoizedState.cachePool.pool;r!=null&&r.refCount++}break;case 24:ql(i.memoizedState.cache)}if(r=i.child,r!==null)r.return=i,dt=r;else e:for(i=e;dt!==null;){r=dt;var u=r.sibling,h=r.return;if(Cp(r),r===i){dt=null;break e}if(u!==null){u.return=h,dt=u;break e}dt=h}}}var _S={getCacheForType:function(e){var n=mt(at),i=n.data.get(e);return i===void 0&&(i=e(),n.data.set(e,i)),i},cacheSignal:function(){return mt(at).controller.signal}},ES=typeof WeakMap=="function"?WeakMap:Map,He=0,Pe=null,Me=null,ze=0,Be=0,Lt=null,ua=!1,Xi=!1,ed=!1,Bn=0,Je=0,da=0,ei=0,td=0,Ht=0,Zi=0,io=null,Mt=null,nd=!1,Xr=0,Hp=0,Zr=1/0,Kr=null,fa=null,ct=0,ha=null,Ki=null,qn=0,ad=0,id=null,kp=null,lo=0,ld=null;function kt(){return(He&2)!==0&&ze!==0?ze&-ze:T.T!==null?dd():er()}function Bp(){if(Ht===0)if((ze&536870912)===0||De){var e=xi;xi<<=1,(xi&3932160)===0&&(xi=262144),Ht=e}else Ht=536870912;return e=Ot.current,e!==null&&(e.flags|=32),Ht}function At(e,n,i){(e===Pe&&(Be===2||Be===9)||e.cancelPendingCommit!==null)&&(Qi(e,0),ma(e,ze,Ht,!1)),Ia(e,i),((He&2)===0||e!==Pe)&&(e===Pe&&((He&2)===0&&(ei|=i),Je===4&&ma(e,ze,Ht,!1)),hn(e))}function qp(e,n,i){if((He&6)!==0)throw Error(o(327));var r=!i&&(n&127)===0&&(n&e.expiredLanes)===0||Oa(e,n),u=r?MS(e,n):rd(e,n,!0),h=r;do{if(u===0){Xi&&!r&&ma(e,n,0,!1);break}else{if(i=e.current.alternate,h&&!CS(i)){u=rd(e,n,!1),h=!1;continue}if(u===2){if(h=n,e.errorRecoveryDisabledLanes&h)var b=0;else b=e.pendingLanes&-536870913,b=b!==0?b:b&536870912?536870912:0;if(b!==0){n=b;e:{var C=e;u=io;var H=C.current.memoizedState.isDehydrated;if(H&&(Qi(C,b).flags|=256),b=rd(C,b,!1),b!==2){if(ed&&!H){C.errorRecoveryDisabledLanes|=h,ei|=h,u=4;break e}h=Mt,Mt=u,h!==null&&(Mt===null?Mt=h:Mt.push.apply(Mt,h))}u=b}if(h=!1,u!==2)continue}}if(u===1){Qi(e,0),ma(e,n,0,!0);break}e:{switch(r=e,h=u,h){case 0:case 1:throw Error(o(345));case 4:if((n&4194048)!==n)break;case 6:ma(r,n,Ht,!ua);break e;case 2:Mt=null;break;case 3:case 5:break;default:throw Error(o(329))}if((n&62914560)===n&&(u=Xr+300-ft(),10<u)){if(ma(r,n,Ht,!ua),Si(r,0,!0)!==0)break e;qn=n,r.timeoutHandle=yg(Up.bind(null,r,i,Mt,Kr,nd,n,Ht,ei,Zi,ua,h,"Throttled",-0,0),u);break e}Up(r,i,Mt,Kr,nd,n,Ht,ei,Zi,ua,h,null,-0,0)}}break}while(!0);hn(e)}function Up(e,n,i,r,u,h,b,C,H,J,ie,re,ee,ne){if(e.timeoutHandle=-1,re=n.subtreeFlags,re&8192||(re&16785408)===16785408){re={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:En},Dp(n,h,re);var he=(h&62914560)===h?Xr-ft():(h&4194048)===h?Hp-ft():0;if(he=u1(re,he),he!==null){qn=h,e.cancelPendingCommit=he(Zp.bind(null,e,n,h,i,r,u,b,C,H,ie,re,null,ee,ne)),ma(e,h,b,!J);return}}Zp(e,n,h,i,r,u,b,C,H)}function CS(e){for(var n=e;;){var i=n.tag;if((i===0||i===11||i===15)&&n.flags&16384&&(i=n.updateQueue,i!==null&&(i=i.stores,i!==null)))for(var r=0;r<i.length;r++){var u=i[r],h=u.getSnapshot;u=u.value;try{if(!Rt(h(),u))return!1}catch{return!1}}if(i=n.child,n.subtreeFlags&16384&&i!==null)i.return=n,n=i;else{if(n===e)break;for(;n.sibling===null;){if(n.return===null||n.return===e)return!0;n=n.return}n.sibling.return=n.return,n=n.sibling}}return!0}function ma(e,n,i,r){n&=~td,n&=~ei,e.suspendedLanes|=n,e.pingedLanes&=~n,r&&(e.warmLanes|=n),r=e.expirationTimes;for(var u=n;0<u;){var h=31-bt(u),b=1<<h;r[h]=-1,u&=~b}i!==0&&Qo(e,i,n)}function Qr(){return(He&6)===0?(oo(0),!1):!0}function od(){if(Me!==null){if(Be===0)var e=Me.return;else e=Me,An=Pa=null,wu(e),Ui=null,Gl=0,e=Me;for(;e!==null;)vp(e.alternate,e),e=e.return;Me=null}}function Qi(e,n){var i=e.timeoutHandle;i!==-1&&(e.timeoutHandle=-1,$S(i)),i=e.cancelPendingCommit,i!==null&&(e.cancelPendingCommit=null,i()),qn=0,od(),Pe=e,Me=i=Tn(e.current,null),ze=n,Be=0,Lt=null,ua=!1,Xi=Oa(e,n),ed=!1,Zi=Ht=td=ei=da=Je=0,Mt=io=null,nd=!1,(n&8)!==0&&(n|=n&32);var r=e.entangledLanes;if(r!==0)for(e=e.entanglements,r&=n;0<r;){var u=31-bt(r),h=1<<u;n|=e[u],r&=~h}return Bn=n,vr(),i}function Gp(e,n){Ce=null,T.H=Kl,n===qi||n===Cr?(n=im(),Be=3):n===uu?(n=im(),Be=4):Be=n===ku?8:n!==null&&typeof n=="object"&&typeof n.then=="function"?6:1,Lt=n,Me===null&&(Je=1,qr(e,Gt(n,e.current)))}function Vp(){var e=Ot.current;return e===null?!0:(ze&4194048)===ze?$t===null:(ze&62914560)===ze||(ze&536870912)!==0?e===$t:!1}function Yp(){var e=T.H;return T.H=Kl,e===null?Kl:e}function Pp(){var e=T.A;return T.A=_S,e}function Jr(){Je=4,ua||(ze&4194048)!==ze&&Ot.current!==null||(Xi=!0),(da&134217727)===0&&(ei&134217727)===0||Pe===null||ma(Pe,ze,Ht,!1)}function rd(e,n,i){var r=He;He|=2;var u=Yp(),h=Pp();(Pe!==e||ze!==n)&&(Kr=null,Qi(e,n)),n=!1;var b=Je;e:do try{if(Be!==0&&Me!==null){var C=Me,H=Lt;switch(Be){case 8:od(),b=6;break e;case 3:case 2:case 9:case 6:Ot.current===null&&(n=!0);var J=Be;if(Be=0,Lt=null,Ji(e,C,H,J),i&&Xi){b=0;break e}break;default:J=Be,Be=0,Lt=null,Ji(e,C,H,J)}}TS(),b=Je;break}catch(ie){Gp(e,ie)}while(!0);return n&&e.shellSuspendCounter++,An=Pa=null,He=r,T.H=u,T.A=h,Me===null&&(Pe=null,ze=0,vr()),b}function TS(){for(;Me!==null;)$p(Me)}function MS(e,n){var i=He;He|=2;var r=Yp(),u=Pp();Pe!==e||ze!==n?(Kr=null,Zr=ft()+500,Qi(e,n)):Xi=Oa(e,n);e:do try{if(Be!==0&&Me!==null){n=Me;var h=Lt;t:switch(Be){case 1:Be=0,Lt=null,Ji(e,n,h,1);break;case 2:case 9:if(nm(h)){Be=0,Lt=null,Fp(n);break}n=function(){Be!==2&&Be!==9||Pe!==e||(Be=7),hn(e)},h.then(n,n);break e;case 3:Be=7;break e;case 4:Be=5;break e;case 7:nm(h)?(Be=0,Lt=null,Fp(n)):(Be=0,Lt=null,Ji(e,n,h,7));break;case 5:var b=null;switch(Me.tag){case 26:b=Me.memoizedState;case 5:case 27:var C=Me;if(b?Rg(b):C.stateNode.complete){Be=0,Lt=null;var H=C.sibling;if(H!==null)Me=H;else{var J=C.return;J!==null?(Me=J,Wr(J)):Me=null}break t}}Be=0,Lt=null,Ji(e,n,h,5);break;case 6:Be=0,Lt=null,Ji(e,n,h,6);break;case 8:od(),Je=6;break e;default:throw Error(o(462))}}AS();break}catch(ie){Gp(e,ie)}while(!0);return An=Pa=null,T.H=r,T.A=u,He=i,Me!==null?0:(Pe=null,ze=0,vr(),Je)}function AS(){for(;Me!==null&&!ja();)$p(Me)}function $p(e){var n=gp(e.alternate,e,Bn);e.memoizedProps=e.pendingProps,n===null?Wr(e):Me=n}function Fp(e){var n=e,i=n.alternate;switch(n.tag){case 15:case 0:n=up(i,n,n.pendingProps,n.type,void 0,ze);break;case 11:n=up(i,n,n.pendingProps,n.type.render,n.ref,ze);break;case 5:wu(n);default:vp(i,n),n=Me=Ph(n,Bn),n=gp(i,n,Bn)}e.memoizedProps=e.pendingProps,n===null?Wr(e):Me=n}function Ji(e,n,i,r){An=Pa=null,wu(n),Ui=null,Gl=0;var u=n.return;try{if(yS(e,u,n,i,ze)){Je=1,qr(e,Gt(i,e.current)),Me=null;return}}catch(h){if(u!==null)throw Me=u,h;Je=1,qr(e,Gt(i,e.current)),Me=null;return}n.flags&32768?(De||r===1?e=!0:Xi||(ze&536870912)!==0?e=!1:(ua=e=!0,(r===2||r===9||r===3||r===6)&&(r=Ot.current,r!==null&&r.tag===13&&(r.flags|=16384))),Xp(n,e)):Wr(n)}function Wr(e){var n=e;do{if((n.flags&32768)!==0){Xp(n,ua);return}e=n.return;var i=bS(n.alternate,n,Bn);if(i!==null){Me=i;return}if(n=n.sibling,n!==null){Me=n;return}Me=n=e}while(n!==null);Je===0&&(Je=5)}function Xp(e,n){do{var i=SS(e.alternate,e);if(i!==null){i.flags&=32767,Me=i;return}if(i=e.return,i!==null&&(i.flags|=32768,i.subtreeFlags=0,i.deletions=null),!n&&(e=e.sibling,e!==null)){Me=e;return}Me=e=i}while(e!==null);Je=6,Me=null}function Zp(e,n,i,r,u,h,b,C,H){e.cancelPendingCommit=null;do es();while(ct!==0);if((He&6)!==0)throw Error(o(327));if(n!==null){if(n===e.current)throw Error(o(177));if(h=n.lanes|n.childLanes,h|=Zc,Ec(e,i,h,b,C,H),e===Pe&&(Me=Pe=null,ze=0),Ki=n,ha=e,qn=i,ad=h,id=u,kp=r,(n.subtreeFlags&10256)!==0||(n.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,DS(Ra,function(){return eg(),null})):(e.callbackNode=null,e.callbackPriority=0),r=(n.flags&13878)!==0,(n.subtreeFlags&13878)!==0||r){r=T.T,T.T=null,u=I.p,I.p=2,b=He,He|=4;try{wS(e,n,i)}finally{He=b,I.p=u,T.T=r}}ct=1,Kp(),Qp(),Jp()}}function Kp(){if(ct===1){ct=0;var e=ha,n=Ki,i=(n.flags&13878)!==0;if((n.subtreeFlags&13878)!==0||i){i=T.T,T.T=null;var r=I.p;I.p=2;var u=He;He|=4;try{jp(n,e);var h=xd,b=Lh(e.containerInfo),C=h.focusedElem,H=h.selectionRange;if(b!==C&&C&&C.ownerDocument&&Ih(C.ownerDocument.documentElement,C)){if(H!==null&&Yc(C)){var J=H.start,ie=H.end;if(ie===void 0&&(ie=J),"selectionStart"in C)C.selectionStart=J,C.selectionEnd=Math.min(ie,C.value.length);else{var re=C.ownerDocument||document,ee=re&&re.defaultView||window;if(ee.getSelection){var ne=ee.getSelection(),he=C.textContent.length,Se=Math.min(H.start,he),Ye=H.end===void 0?Se:Math.min(H.end,he);!ne.extend&&Se>Ye&&(b=Ye,Ye=Se,Se=b);var P=Oh(C,Se),G=Oh(C,Ye);if(P&&G&&(ne.rangeCount!==1||ne.anchorNode!==P.node||ne.anchorOffset!==P.offset||ne.focusNode!==G.node||ne.focusOffset!==G.offset)){var Q=re.createRange();Q.setStart(P.node,P.offset),ne.removeAllRanges(),Se>Ye?(ne.addRange(Q),ne.extend(G.node,G.offset)):(Q.setEnd(G.node,G.offset),ne.addRange(Q))}}}}for(re=[],ne=C;ne=ne.parentNode;)ne.nodeType===1&&re.push({element:ne,left:ne.scrollLeft,top:ne.scrollTop});for(typeof C.focus=="function"&&C.focus(),C=0;C<re.length;C++){var oe=re[C];oe.element.scrollLeft=oe.left,oe.element.scrollTop=oe.top}}fs=!!vd,xd=vd=null}finally{He=u,I.p=r,T.T=i}}e.current=n,ct=2}}function Qp(){if(ct===2){ct=0;var e=ha,n=Ki,i=(n.flags&8772)!==0;if((n.subtreeFlags&8772)!==0||i){i=T.T,T.T=null;var r=I.p;I.p=2;var u=He;He|=4;try{Ep(e,n.alternate,n)}finally{He=u,I.p=r,T.T=i}}ct=3}}function Jp(){if(ct===4||ct===3){ct=0,za();var e=ha,n=Ki,i=qn,r=kp;(n.subtreeFlags&10256)!==0||(n.flags&10256)!==0?ct=5:(ct=0,Ki=ha=null,Wp(e,e.pendingLanes));var u=e.pendingLanes;if(u===0&&(fa=null),El(i),n=n.stateNode,xt&&typeof xt.onCommitFiberRoot=="function")try{xt.onCommitFiberRoot(Da,n,void 0,(n.current.flags&128)===128)}catch{}if(r!==null){n=T.T,u=I.p,I.p=2,T.T=null;try{for(var h=e.onRecoverableError,b=0;b<r.length;b++){var C=r[b];h(C.value,{componentStack:C.stack})}}finally{T.T=n,I.p=u}}(qn&3)!==0&&es(),hn(e),u=e.pendingLanes,(i&261930)!==0&&(u&42)!==0?e===ld?lo++:(lo=0,ld=e):lo=0,oo(0)}}function Wp(e,n){(e.pooledCacheLanes&=n)===0&&(n=e.pooledCache,n!=null&&(e.pooledCache=null,ql(n)))}function es(){return Kp(),Qp(),Jp(),eg()}function eg(){if(ct!==5)return!1;var e=ha,n=ad;ad=0;var i=El(qn),r=T.T,u=I.p;try{I.p=32>i?32:i,T.T=null,i=id,id=null;var h=ha,b=qn;if(ct=0,Ki=ha=null,qn=0,(He&6)!==0)throw Error(o(331));var C=He;if(He|=4,Ip(h.current),Rp(h,h.current,b,i),He=C,oo(0,!1),xt&&typeof xt.onPostCommitFiberRoot=="function")try{xt.onPostCommitFiberRoot(Da,h)}catch{}return!0}finally{I.p=u,T.T=r,Wp(e,n)}}function tg(e,n,i){n=Gt(i,n),n=Hu(e.stateNode,n,2),e=oa(e,n,2),e!==null&&(Ia(e,2),hn(e))}function qe(e,n,i){if(e.tag===3)tg(e,e,i);else for(;n!==null;){if(n.tag===3){tg(n,e,i);break}else if(n.tag===1){var r=n.stateNode;if(typeof n.type.getDerivedStateFromError=="function"||typeof r.componentDidCatch=="function"&&(fa===null||!fa.has(r))){e=Gt(i,e),i=np(2),r=oa(n,i,2),r!==null&&(ap(i,r,n,e),Ia(r,2),hn(r));break}}n=n.return}}function sd(e,n,i){var r=e.pingCache;if(r===null){r=e.pingCache=new ES;var u=new Set;r.set(n,u)}else u=r.get(n),u===void 0&&(u=new Set,r.set(n,u));u.has(i)||(ed=!0,u.add(i),e=jS.bind(null,e,n,i),n.then(e,e))}function jS(e,n,i){var r=e.pingCache;r!==null&&r.delete(n),e.pingedLanes|=e.suspendedLanes&i,e.warmLanes&=~i,Pe===e&&(ze&i)===i&&(Je===4||Je===3&&(ze&62914560)===ze&&300>ft()-Xr?(He&2)===0&&Qi(e,0):td|=i,Zi===ze&&(Zi=0)),hn(e)}function ng(e,n){n===0&&(n=Ko()),e=Ga(e,n),e!==null&&(Ia(e,n),hn(e))}function zS(e){var n=e.memoizedState,i=0;n!==null&&(i=n.retryLane),ng(e,i)}function RS(e,n){var i=0;switch(e.tag){case 31:case 13:var r=e.stateNode,u=e.memoizedState;u!==null&&(i=u.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(o(314))}r!==null&&r.delete(n),ng(e,i)}function DS(e,n){return Kt(e,n)}var ts=null,Wi=null,cd=!1,ns=!1,ud=!1,pa=0;function hn(e){e!==Wi&&e.next===null&&(Wi===null?ts=Wi=e:Wi=Wi.next=e),ns=!0,cd||(cd=!0,IS())}function oo(e,n){if(!ud&&ns){ud=!0;do for(var i=!1,r=ts;r!==null;){if(e!==0){var u=r.pendingLanes;if(u===0)var h=0;else{var b=r.suspendedLanes,C=r.pingedLanes;h=(1<<31-bt(42|e)+1)-1,h&=u&~(b&~C),h=h&201326741?h&201326741|1:h?h|2:0}h!==0&&(i=!0,og(r,h))}else h=ze,h=Si(r,r===Pe?h:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),(h&3)===0||Oa(r,h)||(i=!0,og(r,h));r=r.next}while(i);ud=!1}}function OS(){ag()}function ag(){ns=cd=!1;var e=0;pa!==0&&PS()&&(e=pa);for(var n=ft(),i=null,r=ts;r!==null;){var u=r.next,h=ig(r,n);h===0?(r.next=null,i===null?ts=u:i.next=u,u===null&&(Wi=i)):(i=r,(e!==0||(h&3)!==0)&&(ns=!0)),r=u}ct!==0&&ct!==5||oo(e),pa!==0&&(pa=0)}function ig(e,n){for(var i=e.suspendedLanes,r=e.pingedLanes,u=e.expirationTimes,h=e.pendingLanes&-62914561;0<h;){var b=31-bt(h),C=1<<b,H=u[b];H===-1?((C&i)===0||(C&r)!==0)&&(u[b]=_c(C,n)):H<=n&&(e.expiredLanes|=C),h&=~C}if(n=Pe,i=ze,i=Si(e,e===n?i:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r=e.callbackNode,i===0||e===n&&(Be===2||Be===9)||e.cancelPendingCommit!==null)return r!==null&&r!==null&&xn(r),e.callbackNode=null,e.callbackPriority=0;if((i&3)===0||Oa(e,i)){if(n=i&-i,n===e.callbackPriority)return n;switch(r!==null&&xn(r),El(i)){case 2:case 8:i=Fn;break;case 32:i=Ra;break;case 268435456:i=yi;break;default:i=Ra}return r=lg.bind(null,e),i=Kt(i,r),e.callbackPriority=n,e.callbackNode=i,n}return r!==null&&r!==null&&xn(r),e.callbackPriority=2,e.callbackNode=null,2}function lg(e,n){if(ct!==0&&ct!==5)return e.callbackNode=null,e.callbackPriority=0,null;var i=e.callbackNode;if(es()&&e.callbackNode!==i)return null;var r=ze;return r=Si(e,e===Pe?r:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r===0?null:(qp(e,r,n),ig(e,ft()),e.callbackNode!=null&&e.callbackNode===i?lg.bind(null,e):null)}function og(e,n){if(es())return null;qp(e,n,!0)}function IS(){FS(function(){(He&6)!==0?Kt(bn,OS):ag()})}function dd(){if(pa===0){var e=ki;e===0&&(e=vi,vi<<=1,(vi&261888)===0&&(vi=256)),pa=e}return pa}function rg(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:ur(""+e)}function sg(e,n){var i=n.ownerDocument.createElement("input");return i.name=n.name,i.value=n.value,e.id&&i.setAttribute("form",e.id),n.parentNode.insertBefore(i,n),e=new FormData(e),i.parentNode.removeChild(i),e}function LS(e,n,i,r,u){if(n==="submit"&&i&&i.stateNode===u){var h=rg((u[yt]||null).action),b=r.submitter;b&&(n=(n=b[yt]||null)?rg(n.formAction):b.getAttribute("formAction"),n!==null&&(h=n,b=null));var C=new mr("action","action",null,r,u);e.push({event:C,listeners:[{instance:null,listener:function(){if(r.defaultPrevented){if(pa!==0){var H=b?sg(u,b):new FormData(u);zu(i,{pending:!0,data:H,method:u.method,action:h},null,H)}}else typeof h=="function"&&(C.preventDefault(),H=b?sg(u,b):new FormData(u),zu(i,{pending:!0,data:H,method:u.method,action:h},h,H))},currentTarget:u}]})}}for(var fd=0;fd<Xc.length;fd++){var hd=Xc[fd],HS=hd.toLowerCase(),kS=hd[0].toUpperCase()+hd.slice(1);Jt(HS,"on"+kS)}Jt(Bh,"onAnimationEnd"),Jt(qh,"onAnimationIteration"),Jt(Uh,"onAnimationStart"),Jt("dblclick","onDoubleClick"),Jt("focusin","onFocus"),Jt("focusout","onBlur"),Jt(eS,"onTransitionRun"),Jt(tS,"onTransitionStart"),Jt(nS,"onTransitionCancel"),Jt(Gh,"onTransitionEnd"),Jn("onMouseEnter",["mouseout","mouseover"]),Jn("onMouseLeave",["mouseout","mouseover"]),Jn("onPointerEnter",["pointerout","pointerover"]),Jn("onPointerLeave",["pointerout","pointerover"]),Nn("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),Nn("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),Nn("onBeforeInput",["compositionend","keypress","textInput","paste"]),Nn("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),Nn("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),Nn("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var ro="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),BS=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(ro));function cg(e,n){n=(n&4)!==0;for(var i=0;i<e.length;i++){var r=e[i],u=r.event;r=r.listeners;e:{var h=void 0;if(n)for(var b=r.length-1;0<=b;b--){var C=r[b],H=C.instance,J=C.currentTarget;if(C=C.listener,H!==h&&u.isPropagationStopped())break e;h=C,u.currentTarget=J;try{h(u)}catch(ie){yr(ie)}u.currentTarget=null,h=H}else for(b=0;b<r.length;b++){if(C=r[b],H=C.instance,J=C.currentTarget,C=C.listener,H!==h&&u.isPropagationStopped())break e;h=C,u.currentTarget=J;try{h(u)}catch(ie){yr(ie)}u.currentTarget=null,h=H}}}}function Ae(e,n){var i=n[wi];i===void 0&&(i=n[wi]=new Set);var r=e+"__bubble";i.has(r)||(ug(n,e,2,!1),i.add(r))}function md(e,n,i){var r=0;n&&(r|=4),ug(i,e,r,n)}var as="_reactListening"+Math.random().toString(36).slice(2);function pd(e){if(!e[as]){e[as]=!0,ir.forEach(function(i){i!=="selectionchange"&&(BS.has(i)||md(i,!1,e),md(i,!0,e))});var n=e.nodeType===9?e:e.ownerDocument;n===null||n[as]||(n[as]=!0,md("selectionchange",!1,n))}}function ug(e,n,i,r){switch(Bg(n)){case 2:var u=h1;break;case 8:u=m1;break;default:u=jd}i=u.bind(null,n,i,e),u=void 0,!Ic||n!=="touchstart"&&n!=="touchmove"&&n!=="wheel"||(u=!0),r?u!==void 0?e.addEventListener(n,i,{capture:!0,passive:u}):e.addEventListener(n,i,!0):u!==void 0?e.addEventListener(n,i,{passive:u}):e.addEventListener(n,i,!1)}function gd(e,n,i,r,u){var h=r;if((n&1)===0&&(n&2)===0&&r!==null)e:for(;;){if(r===null)return;var b=r.tag;if(b===3||b===4){var C=r.stateNode.containerInfo;if(C===u)break;if(b===4)for(b=r.return;b!==null;){var H=b.tag;if((H===3||H===4)&&b.stateNode.containerInfo===u)return;b=b.return}for(;C!==null;){if(b=Xn(C),b===null)return;if(H=b.tag,H===5||H===6||H===26||H===27){r=h=b;continue e}C=C.parentNode}}r=r.return}ph(function(){var J=h,ie=Dc(i),re=[];e:{var ee=Vh.get(e);if(ee!==void 0){var ne=mr,he=e;switch(e){case"keypress":if(fr(i)===0)break e;case"keydown":case"keyup":ne=Rb;break;case"focusin":he="focus",ne=Bc;break;case"focusout":he="blur",ne=Bc;break;case"beforeblur":case"afterblur":ne=Bc;break;case"click":if(i.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":ne=vh;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":ne=bb;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":ne=Ib;break;case Bh:case qh:case Uh:ne=Nb;break;case Gh:ne=Hb;break;case"scroll":case"scrollend":ne=vb;break;case"wheel":ne=Bb;break;case"copy":case"cut":case"paste":ne=Eb;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":ne=bh;break;case"toggle":case"beforetoggle":ne=Ub}var Se=(n&4)!==0,Ye=!Se&&(e==="scroll"||e==="scrollend"),P=Se?ee!==null?ee+"Capture":null:ee;Se=[];for(var G=J,Q;G!==null;){var oe=G;if(Q=oe.stateNode,oe=oe.tag,oe!==5&&oe!==26&&oe!==27||Q===null||P===null||(oe=Al(G,P),oe!=null&&Se.push(so(G,oe,Q))),Ye)break;G=G.return}0<Se.length&&(ee=new ne(ee,he,null,i,ie),re.push({event:ee,listeners:Se}))}}if((n&7)===0){e:{if(ee=e==="mouseover"||e==="pointerover",ne=e==="mouseout"||e==="pointerout",ee&&i!==Rc&&(he=i.relatedTarget||i.fromElement)&&(Xn(he)||he[wn]))break e;if((ne||ee)&&(ee=ie.window===ie?ie:(ee=ie.ownerDocument)?ee.defaultView||ee.parentWindow:window,ne?(he=i.relatedTarget||i.toElement,ne=J,he=he?Xn(he):null,he!==null&&(Ye=c(he),Se=he.tag,he!==Ye||Se!==5&&Se!==27&&Se!==6)&&(he=null)):(ne=null,he=J),ne!==he)){if(Se=vh,oe="onMouseLeave",P="onMouseEnter",G="mouse",(e==="pointerout"||e==="pointerover")&&(Se=bh,oe="onPointerLeave",P="onPointerEnter",G="pointer"),Ye=ne==null?ee:Kn(ne),Q=he==null?ee:Kn(he),ee=new Se(oe,G+"leave",ne,i,ie),ee.target=Ye,ee.relatedTarget=Q,oe=null,Xn(ie)===J&&(Se=new Se(P,G+"enter",he,i,ie),Se.target=Q,Se.relatedTarget=Ye,oe=Se),Ye=oe,ne&&he)t:{for(Se=qS,P=ne,G=he,Q=0,oe=P;oe;oe=Se(oe))Q++;oe=0;for(var ye=G;ye;ye=Se(ye))oe++;for(;0<Q-oe;)P=Se(P),Q--;for(;0<oe-Q;)G=Se(G),oe--;for(;Q--;){if(P===G||G!==null&&P===G.alternate){Se=P;break t}P=Se(P),G=Se(G)}Se=null}else Se=null;ne!==null&&dg(re,ee,ne,Se,!1),he!==null&&Ye!==null&&dg(re,Ye,he,Se,!0)}}e:{if(ee=J?Kn(J):window,ne=ee.nodeName&&ee.nodeName.toLowerCase(),ne==="select"||ne==="input"&&ee.type==="file")var Ie=Mh;else if(Ch(ee))if(Ah)Ie=Qb;else{Ie=Zb;var me=Xb}else ne=ee.nodeName,!ne||ne.toLowerCase()!=="input"||ee.type!=="checkbox"&&ee.type!=="radio"?J&&zc(J.elementType)&&(Ie=Mh):Ie=Kb;if(Ie&&(Ie=Ie(e,J))){Th(re,Ie,i,ie);break e}me&&me(e,ee,J),e==="focusout"&&J&&ee.type==="number"&&J.memoizedProps.value!=null&&Ml(ee,"number",ee.value)}switch(me=J?Kn(J):window,e){case"focusin":(Ch(me)||me.contentEditable==="true")&&(ji=me,Pc=J,Hl=null);break;case"focusout":Hl=Pc=ji=null;break;case"mousedown":$c=!0;break;case"contextmenu":case"mouseup":case"dragend":$c=!1,Hh(re,i,ie);break;case"selectionchange":if(Wb)break;case"keydown":case"keyup":Hh(re,i,ie)}var Te;if(Uc)e:{switch(e){case"compositionstart":var Re="onCompositionStart";break e;case"compositionend":Re="onCompositionEnd";break e;case"compositionupdate":Re="onCompositionUpdate";break e}Re=void 0}else Ai?_h(e,i)&&(Re="onCompositionEnd"):e==="keydown"&&i.keyCode===229&&(Re="onCompositionStart");Re&&(Sh&&i.locale!=="ko"&&(Ai||Re!=="onCompositionStart"?Re==="onCompositionEnd"&&Ai&&(Te=gh()):(Wn=ie,Lc="value"in Wn?Wn.value:Wn.textContent,Ai=!0)),me=is(J,Re),0<me.length&&(Re=new xh(Re,e,null,i,ie),re.push({event:Re,listeners:me}),Te?Re.data=Te:(Te=Eh(i),Te!==null&&(Re.data=Te)))),(Te=Vb?Yb(e,i):Pb(e,i))&&(Re=is(J,"onBeforeInput"),0<Re.length&&(me=new xh("onBeforeInput","beforeinput",null,i,ie),re.push({event:me,listeners:Re}),me.data=Te)),LS(re,e,J,i,ie)}cg(re,n)})}function so(e,n,i){return{instance:e,listener:n,currentTarget:i}}function is(e,n){for(var i=n+"Capture",r=[];e!==null;){var u=e,h=u.stateNode;if(u=u.tag,u!==5&&u!==26&&u!==27||h===null||(u=Al(e,i),u!=null&&r.unshift(so(e,u,h)),u=Al(e,n),u!=null&&r.push(so(e,u,h))),e.tag===3)return r;e=e.return}return[]}function qS(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function dg(e,n,i,r,u){for(var h=n._reactName,b=[];i!==null&&i!==r;){var C=i,H=C.alternate,J=C.stateNode;if(C=C.tag,H!==null&&H===r)break;C!==5&&C!==26&&C!==27||J===null||(H=J,u?(J=Al(i,h),J!=null&&b.unshift(so(i,J,H))):u||(J=Al(i,h),J!=null&&b.push(so(i,J,H)))),i=i.return}b.length!==0&&e.push({event:n,listeners:b})}var US=/\r\n?/g,GS=/\u0000|\uFFFD/g;function fg(e){return(typeof e=="string"?e:""+e).replace(US,`
9
+ `).replace(GS,"")}function hg(e,n){return n=fg(n),fg(e)===n}function Ve(e,n,i,r,u,h){switch(i){case"children":typeof r=="string"?n==="body"||n==="textarea"&&r===""||Ci(e,r):(typeof r=="number"||typeof r=="bigint")&&n!=="body"&&Ci(e,""+r);break;case"className":_i(e,"class",r);break;case"tabIndex":_i(e,"tabindex",r);break;case"dir":case"role":case"viewBox":case"width":case"height":_i(e,i,r);break;case"style":hh(e,r,h);break;case"data":if(n!=="object"){_i(e,"data",r);break}case"src":case"href":if(r===""&&(n!=="a"||i!=="href")){e.removeAttribute(i);break}if(r==null||typeof r=="function"||typeof r=="symbol"||typeof r=="boolean"){e.removeAttribute(i);break}r=ur(""+r),e.setAttribute(i,r);break;case"action":case"formAction":if(typeof r=="function"){e.setAttribute(i,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof h=="function"&&(i==="formAction"?(n!=="input"&&Ve(e,n,"name",u.name,u,null),Ve(e,n,"formEncType",u.formEncType,u,null),Ve(e,n,"formMethod",u.formMethod,u,null),Ve(e,n,"formTarget",u.formTarget,u,null)):(Ve(e,n,"encType",u.encType,u,null),Ve(e,n,"method",u.method,u,null),Ve(e,n,"target",u.target,u,null)));if(r==null||typeof r=="symbol"||typeof r=="boolean"){e.removeAttribute(i);break}r=ur(""+r),e.setAttribute(i,r);break;case"onClick":r!=null&&(e.onclick=En);break;case"onScroll":r!=null&&Ae("scroll",e);break;case"onScrollEnd":r!=null&&Ae("scrollend",e);break;case"dangerouslySetInnerHTML":if(r!=null){if(typeof r!="object"||!("__html"in r))throw Error(o(61));if(i=r.__html,i!=null){if(u.children!=null)throw Error(o(60));e.innerHTML=i}}break;case"multiple":e.multiple=r&&typeof r!="function"&&typeof r!="symbol";break;case"muted":e.muted=r&&typeof r!="function"&&typeof r!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(r==null||typeof r=="function"||typeof r=="boolean"||typeof r=="symbol"){e.removeAttribute("xlink:href");break}i=ur(""+r),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",i);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":r!=null&&typeof r!="function"&&typeof r!="symbol"?e.setAttribute(i,""+r):e.removeAttribute(i);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":r&&typeof r!="function"&&typeof r!="symbol"?e.setAttribute(i,""):e.removeAttribute(i);break;case"capture":case"download":r===!0?e.setAttribute(i,""):r!==!1&&r!=null&&typeof r!="function"&&typeof r!="symbol"?e.setAttribute(i,r):e.removeAttribute(i);break;case"cols":case"rows":case"size":case"span":r!=null&&typeof r!="function"&&typeof r!="symbol"&&!isNaN(r)&&1<=r?e.setAttribute(i,r):e.removeAttribute(i);break;case"rowSpan":case"start":r==null||typeof r=="function"||typeof r=="symbol"||isNaN(r)?e.removeAttribute(i):e.setAttribute(i,r);break;case"popover":Ae("beforetoggle",e),Ae("toggle",e),Ni(e,"popover",r);break;case"xlinkActuate":Qt(e,"http://www.w3.org/1999/xlink","xlink:actuate",r);break;case"xlinkArcrole":Qt(e,"http://www.w3.org/1999/xlink","xlink:arcrole",r);break;case"xlinkRole":Qt(e,"http://www.w3.org/1999/xlink","xlink:role",r);break;case"xlinkShow":Qt(e,"http://www.w3.org/1999/xlink","xlink:show",r);break;case"xlinkTitle":Qt(e,"http://www.w3.org/1999/xlink","xlink:title",r);break;case"xlinkType":Qt(e,"http://www.w3.org/1999/xlink","xlink:type",r);break;case"xmlBase":Qt(e,"http://www.w3.org/XML/1998/namespace","xml:base",r);break;case"xmlLang":Qt(e,"http://www.w3.org/XML/1998/namespace","xml:lang",r);break;case"xmlSpace":Qt(e,"http://www.w3.org/XML/1998/namespace","xml:space",r);break;case"is":Ni(e,"is",r);break;case"innerText":case"textContent":break;default:(!(2<i.length)||i[0]!=="o"&&i[0]!=="O"||i[1]!=="n"&&i[1]!=="N")&&(i=gb.get(i)||i,Ni(e,i,r))}}function yd(e,n,i,r,u,h){switch(i){case"style":hh(e,r,h);break;case"dangerouslySetInnerHTML":if(r!=null){if(typeof r!="object"||!("__html"in r))throw Error(o(61));if(i=r.__html,i!=null){if(u.children!=null)throw Error(o(60));e.innerHTML=i}}break;case"children":typeof r=="string"?Ci(e,r):(typeof r=="number"||typeof r=="bigint")&&Ci(e,""+r);break;case"onScroll":r!=null&&Ae("scroll",e);break;case"onScrollEnd":r!=null&&Ae("scrollend",e);break;case"onClick":r!=null&&(e.onclick=En);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!lr.hasOwnProperty(i))e:{if(i[0]==="o"&&i[1]==="n"&&(u=i.endsWith("Capture"),n=i.slice(2,u?i.length-7:void 0),h=e[yt]||null,h=h!=null?h[i]:null,typeof h=="function"&&e.removeEventListener(n,h,u),typeof r=="function")){typeof h!="function"&&h!==null&&(i in e?e[i]=null:e.hasAttribute(i)&&e.removeAttribute(i)),e.addEventListener(n,r,u);break e}i in e?e[i]=r:r===!0?e.setAttribute(i,""):Ni(e,i,r)}}}function gt(e,n,i){switch(n){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":Ae("error",e),Ae("load",e);var r=!1,u=!1,h;for(h in i)if(i.hasOwnProperty(h)){var b=i[h];if(b!=null)switch(h){case"src":r=!0;break;case"srcSet":u=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(o(137,n));default:Ve(e,n,h,b,i,null)}}u&&Ve(e,n,"srcSet",i.srcSet,i,null),r&&Ve(e,n,"src",i.src,i,null);return;case"input":Ae("invalid",e);var C=h=b=u=null,H=null,J=null;for(r in i)if(i.hasOwnProperty(r)){var ie=i[r];if(ie!=null)switch(r){case"name":u=ie;break;case"type":b=ie;break;case"checked":H=ie;break;case"defaultChecked":J=ie;break;case"value":h=ie;break;case"defaultValue":C=ie;break;case"children":case"dangerouslySetInnerHTML":if(ie!=null)throw Error(o(137,n));break;default:Ve(e,n,r,ie,i,null)}}cr(e,h,C,H,J,b,u,!1);return;case"select":Ae("invalid",e),r=b=h=null;for(u in i)if(i.hasOwnProperty(u)&&(C=i[u],C!=null))switch(u){case"value":h=C;break;case"defaultValue":b=C;break;case"multiple":r=C;default:Ve(e,n,u,C,i,null)}n=h,i=b,e.multiple=!!r,n!=null?_n(e,!!r,n,!1):i!=null&&_n(e,!!r,i,!0);return;case"textarea":Ae("invalid",e),h=u=r=null;for(b in i)if(i.hasOwnProperty(b)&&(C=i[b],C!=null))switch(b){case"value":r=C;break;case"defaultValue":u=C;break;case"children":h=C;break;case"dangerouslySetInnerHTML":if(C!=null)throw Error(o(91));break;default:Ve(e,n,b,C,i,null)}dh(e,r,u,h);return;case"option":for(H in i)i.hasOwnProperty(H)&&(r=i[H],r!=null)&&(H==="selected"?e.selected=r&&typeof r!="function"&&typeof r!="symbol":Ve(e,n,H,r,i,null));return;case"dialog":Ae("beforetoggle",e),Ae("toggle",e),Ae("cancel",e),Ae("close",e);break;case"iframe":case"object":Ae("load",e);break;case"video":case"audio":for(r=0;r<ro.length;r++)Ae(ro[r],e);break;case"image":Ae("error",e),Ae("load",e);break;case"details":Ae("toggle",e);break;case"embed":case"source":case"link":Ae("error",e),Ae("load",e);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(J in i)if(i.hasOwnProperty(J)&&(r=i[J],r!=null))switch(J){case"children":case"dangerouslySetInnerHTML":throw Error(o(137,n));default:Ve(e,n,J,r,i,null)}return;default:if(zc(n)){for(ie in i)i.hasOwnProperty(ie)&&(r=i[ie],r!==void 0&&yd(e,n,ie,r,i,void 0));return}}for(C in i)i.hasOwnProperty(C)&&(r=i[C],r!=null&&Ve(e,n,C,r,i,null))}function VS(e,n,i,r){switch(n){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var u=null,h=null,b=null,C=null,H=null,J=null,ie=null;for(ne in i){var re=i[ne];if(i.hasOwnProperty(ne)&&re!=null)switch(ne){case"checked":break;case"value":break;case"defaultValue":H=re;default:r.hasOwnProperty(ne)||Ve(e,n,ne,null,r,re)}}for(var ee in r){var ne=r[ee];if(re=i[ee],r.hasOwnProperty(ee)&&(ne!=null||re!=null))switch(ee){case"type":h=ne;break;case"name":u=ne;break;case"checked":J=ne;break;case"defaultChecked":ie=ne;break;case"value":b=ne;break;case"defaultValue":C=ne;break;case"children":case"dangerouslySetInnerHTML":if(ne!=null)throw Error(o(137,n));break;default:ne!==re&&Ve(e,n,ee,ne,r,re)}}ka(e,b,C,H,J,ie,h,u);return;case"select":ne=b=C=ee=null;for(h in i)if(H=i[h],i.hasOwnProperty(h)&&H!=null)switch(h){case"value":break;case"multiple":ne=H;default:r.hasOwnProperty(h)||Ve(e,n,h,null,r,H)}for(u in r)if(h=r[u],H=i[u],r.hasOwnProperty(u)&&(h!=null||H!=null))switch(u){case"value":ee=h;break;case"defaultValue":C=h;break;case"multiple":b=h;default:h!==H&&Ve(e,n,u,h,r,H)}n=C,i=b,r=ne,ee!=null?_n(e,!!i,ee,!1):!!r!=!!i&&(n!=null?_n(e,!!i,n,!0):_n(e,!!i,i?[]:"",!1));return;case"textarea":ne=ee=null;for(C in i)if(u=i[C],i.hasOwnProperty(C)&&u!=null&&!r.hasOwnProperty(C))switch(C){case"value":break;case"children":break;default:Ve(e,n,C,null,r,u)}for(b in r)if(u=r[b],h=i[b],r.hasOwnProperty(b)&&(u!=null||h!=null))switch(b){case"value":ee=u;break;case"defaultValue":ne=u;break;case"children":break;case"dangerouslySetInnerHTML":if(u!=null)throw Error(o(91));break;default:u!==h&&Ve(e,n,b,u,r,h)}uh(e,ee,ne);return;case"option":for(var he in i)ee=i[he],i.hasOwnProperty(he)&&ee!=null&&!r.hasOwnProperty(he)&&(he==="selected"?e.selected=!1:Ve(e,n,he,null,r,ee));for(H in r)ee=r[H],ne=i[H],r.hasOwnProperty(H)&&ee!==ne&&(ee!=null||ne!=null)&&(H==="selected"?e.selected=ee&&typeof ee!="function"&&typeof ee!="symbol":Ve(e,n,H,ee,r,ne));return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var Se in i)ee=i[Se],i.hasOwnProperty(Se)&&ee!=null&&!r.hasOwnProperty(Se)&&Ve(e,n,Se,null,r,ee);for(J in r)if(ee=r[J],ne=i[J],r.hasOwnProperty(J)&&ee!==ne&&(ee!=null||ne!=null))switch(J){case"children":case"dangerouslySetInnerHTML":if(ee!=null)throw Error(o(137,n));break;default:Ve(e,n,J,ee,r,ne)}return;default:if(zc(n)){for(var Ye in i)ee=i[Ye],i.hasOwnProperty(Ye)&&ee!==void 0&&!r.hasOwnProperty(Ye)&&yd(e,n,Ye,void 0,r,ee);for(ie in r)ee=r[ie],ne=i[ie],!r.hasOwnProperty(ie)||ee===ne||ee===void 0&&ne===void 0||yd(e,n,ie,ee,r,ne);return}}for(var P in i)ee=i[P],i.hasOwnProperty(P)&&ee!=null&&!r.hasOwnProperty(P)&&Ve(e,n,P,null,r,ee);for(re in r)ee=r[re],ne=i[re],!r.hasOwnProperty(re)||ee===ne||ee==null&&ne==null||Ve(e,n,re,ee,r,ne)}function mg(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function YS(){if(typeof performance.getEntriesByType=="function"){for(var e=0,n=0,i=performance.getEntriesByType("resource"),r=0;r<i.length;r++){var u=i[r],h=u.transferSize,b=u.initiatorType,C=u.duration;if(h&&C&&mg(b)){for(b=0,C=u.responseEnd,r+=1;r<i.length;r++){var H=i[r],J=H.startTime;if(J>C)break;var ie=H.transferSize,re=H.initiatorType;ie&&mg(re)&&(H=H.responseEnd,b+=ie*(H<C?1:(C-J)/(H-J)))}if(--r,n+=8*(h+b)/(u.duration/1e3),e++,10<e)break}}if(0<e)return n/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e=="number")?e:5}var vd=null,xd=null;function ls(e){return e.nodeType===9?e:e.ownerDocument}function pg(e){switch(e){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function gg(e,n){if(e===0)switch(n){case"svg":return 1;case"math":return 2;default:return 0}return e===1&&n==="foreignObject"?0:e}function bd(e,n){return e==="textarea"||e==="noscript"||typeof n.children=="string"||typeof n.children=="number"||typeof n.children=="bigint"||typeof n.dangerouslySetInnerHTML=="object"&&n.dangerouslySetInnerHTML!==null&&n.dangerouslySetInnerHTML.__html!=null}var Sd=null;function PS(){var e=window.event;return e&&e.type==="popstate"?e===Sd?!1:(Sd=e,!0):(Sd=null,!1)}var yg=typeof setTimeout=="function"?setTimeout:void 0,$S=typeof clearTimeout=="function"?clearTimeout:void 0,vg=typeof Promise=="function"?Promise:void 0,FS=typeof queueMicrotask=="function"?queueMicrotask:typeof vg<"u"?function(e){return vg.resolve(null).then(e).catch(XS)}:yg;function XS(e){setTimeout(function(){throw e})}function ga(e){return e==="head"}function xg(e,n){var i=n,r=0;do{var u=i.nextSibling;if(e.removeChild(i),u&&u.nodeType===8)if(i=u.data,i==="/$"||i==="/&"){if(r===0){e.removeChild(u),al(n);return}r--}else if(i==="$"||i==="$?"||i==="$~"||i==="$!"||i==="&")r++;else if(i==="html")co(e.ownerDocument.documentElement);else if(i==="head"){i=e.ownerDocument.head,co(i);for(var h=i.firstChild;h;){var b=h.nextSibling,C=h.nodeName;h[La]||C==="SCRIPT"||C==="STYLE"||C==="LINK"&&h.rel.toLowerCase()==="stylesheet"||i.removeChild(h),h=b}}else i==="body"&&co(e.ownerDocument.body);i=u}while(i);al(n)}function bg(e,n){var i=e;e=0;do{var r=i.nextSibling;if(i.nodeType===1?n?(i._stashedDisplay=i.style.display,i.style.display="none"):(i.style.display=i._stashedDisplay||"",i.getAttribute("style")===""&&i.removeAttribute("style")):i.nodeType===3&&(n?(i._stashedText=i.nodeValue,i.nodeValue=""):i.nodeValue=i._stashedText||""),r&&r.nodeType===8)if(i=r.data,i==="/$"){if(e===0)break;e--}else i!=="$"&&i!=="$?"&&i!=="$~"&&i!=="$!"||e++;i=r}while(i)}function wd(e){var n=e.firstChild;for(n&&n.nodeType===10&&(n=n.nextSibling);n;){var i=n;switch(n=n.nextSibling,i.nodeName){case"HTML":case"HEAD":case"BODY":wd(i),Cl(i);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(i.rel.toLowerCase()==="stylesheet")continue}e.removeChild(i)}}function ZS(e,n,i,r){for(;e.nodeType===1;){var u=i;if(e.nodeName.toLowerCase()!==n.toLowerCase()){if(!r&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(r){if(!e[La])switch(n){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(h=e.getAttribute("rel"),h==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(h!==u.rel||e.getAttribute("href")!==(u.href==null||u.href===""?null:u.href)||e.getAttribute("crossorigin")!==(u.crossOrigin==null?null:u.crossOrigin)||e.getAttribute("title")!==(u.title==null?null:u.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(h=e.getAttribute("src"),(h!==(u.src==null?null:u.src)||e.getAttribute("type")!==(u.type==null?null:u.type)||e.getAttribute("crossorigin")!==(u.crossOrigin==null?null:u.crossOrigin))&&h&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(n==="input"&&e.type==="hidden"){var h=u.name==null?null:""+u.name;if(u.type==="hidden"&&e.getAttribute("name")===h)return e}else return e;if(e=Ft(e.nextSibling),e===null)break}return null}function KS(e,n,i){if(n==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!i||(e=Ft(e.nextSibling),e===null))return null;return e}function Sg(e,n){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!n||(e=Ft(e.nextSibling),e===null))return null;return e}function Nd(e){return e.data==="$?"||e.data==="$~"}function _d(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function QS(e,n){var i=e.ownerDocument;if(e.data==="$~")e._reactRetry=n;else if(e.data!=="$?"||i.readyState!=="loading")n();else{var r=function(){n(),i.removeEventListener("DOMContentLoaded",r)};i.addEventListener("DOMContentLoaded",r),e._reactRetry=r}}function Ft(e){for(;e!=null;e=e.nextSibling){var n=e.nodeType;if(n===1||n===3)break;if(n===8){if(n=e.data,n==="$"||n==="$!"||n==="$?"||n==="$~"||n==="&"||n==="F!"||n==="F")break;if(n==="/$"||n==="/&")return null}}return e}var Ed=null;function wg(e){e=e.nextSibling;for(var n=0;e;){if(e.nodeType===8){var i=e.data;if(i==="/$"||i==="/&"){if(n===0)return Ft(e.nextSibling);n--}else i!=="$"&&i!=="$!"&&i!=="$?"&&i!=="$~"&&i!=="&"||n++}e=e.nextSibling}return null}function Ng(e){e=e.previousSibling;for(var n=0;e;){if(e.nodeType===8){var i=e.data;if(i==="$"||i==="$!"||i==="$?"||i==="$~"||i==="&"){if(n===0)return e;n--}else i!=="/$"&&i!=="/&"||n++}e=e.previousSibling}return null}function _g(e,n,i){switch(n=ls(i),e){case"html":if(e=n.documentElement,!e)throw Error(o(452));return e;case"head":if(e=n.head,!e)throw Error(o(453));return e;case"body":if(e=n.body,!e)throw Error(o(454));return e;default:throw Error(o(451))}}function co(e){for(var n=e.attributes;n.length;)e.removeAttributeNode(n[0]);Cl(e)}var Xt=new Map,Eg=new Set;function os(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var Un=I.d;I.d={f:JS,r:WS,D:e1,C:t1,L:n1,m:a1,X:l1,S:i1,M:o1};function JS(){var e=Un.f(),n=Qr();return e||n}function WS(e){var n=Zn(e);n!==null&&n.tag===5&&n.type==="form"?Gm(n):Un.r(e)}var el=typeof document>"u"?null:document;function Cg(e,n,i){var r=el;if(r&&typeof n=="string"&&n){var u=Nt(n);u='link[rel="'+e+'"][href="'+u+'"]',typeof i=="string"&&(u+='[crossorigin="'+i+'"]'),Eg.has(u)||(Eg.add(u),e={rel:e,crossOrigin:i,href:n},r.querySelector(u)===null&&(n=r.createElement("link"),gt(n,"link",e),nt(n),r.head.appendChild(n)))}}function e1(e){Un.D(e),Cg("dns-prefetch",e,null)}function t1(e,n){Un.C(e,n),Cg("preconnect",e,n)}function n1(e,n,i){Un.L(e,n,i);var r=el;if(r&&e&&n){var u='link[rel="preload"][as="'+Nt(n)+'"]';n==="image"&&i&&i.imageSrcSet?(u+='[imagesrcset="'+Nt(i.imageSrcSet)+'"]',typeof i.imageSizes=="string"&&(u+='[imagesizes="'+Nt(i.imageSizes)+'"]')):u+='[href="'+Nt(e)+'"]';var h=u;switch(n){case"style":h=tl(e);break;case"script":h=nl(e)}Xt.has(h)||(e=v({rel:"preload",href:n==="image"&&i&&i.imageSrcSet?void 0:e,as:n},i),Xt.set(h,e),r.querySelector(u)!==null||n==="style"&&r.querySelector(uo(h))||n==="script"&&r.querySelector(fo(h))||(n=r.createElement("link"),gt(n,"link",e),nt(n),r.head.appendChild(n)))}}function a1(e,n){Un.m(e,n);var i=el;if(i&&e){var r=n&&typeof n.as=="string"?n.as:"script",u='link[rel="modulepreload"][as="'+Nt(r)+'"][href="'+Nt(e)+'"]',h=u;switch(r){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":h=nl(e)}if(!Xt.has(h)&&(e=v({rel:"modulepreload",href:e},n),Xt.set(h,e),i.querySelector(u)===null)){switch(r){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(i.querySelector(fo(h)))return}r=i.createElement("link"),gt(r,"link",e),nt(r),i.head.appendChild(r)}}}function i1(e,n,i){Un.S(e,n,i);var r=el;if(r&&e){var u=Qn(r).hoistableStyles,h=tl(e);n=n||"default";var b=u.get(h);if(!b){var C={loading:0,preload:null};if(b=r.querySelector(uo(h)))C.loading=5;else{e=v({rel:"stylesheet",href:e,"data-precedence":n},i),(i=Xt.get(h))&&Cd(e,i);var H=b=r.createElement("link");nt(H),gt(H,"link",e),H._p=new Promise(function(J,ie){H.onload=J,H.onerror=ie}),H.addEventListener("load",function(){C.loading|=1}),H.addEventListener("error",function(){C.loading|=2}),C.loading|=4,rs(b,n,r)}b={type:"stylesheet",instance:b,count:1,state:C},u.set(h,b)}}}function l1(e,n){Un.X(e,n);var i=el;if(i&&e){var r=Qn(i).hoistableScripts,u=nl(e),h=r.get(u);h||(h=i.querySelector(fo(u)),h||(e=v({src:e,async:!0},n),(n=Xt.get(u))&&Td(e,n),h=i.createElement("script"),nt(h),gt(h,"link",e),i.head.appendChild(h)),h={type:"script",instance:h,count:1,state:null},r.set(u,h))}}function o1(e,n){Un.M(e,n);var i=el;if(i&&e){var r=Qn(i).hoistableScripts,u=nl(e),h=r.get(u);h||(h=i.querySelector(fo(u)),h||(e=v({src:e,async:!0,type:"module"},n),(n=Xt.get(u))&&Td(e,n),h=i.createElement("script"),nt(h),gt(h,"link",e),i.head.appendChild(h)),h={type:"script",instance:h,count:1,state:null},r.set(u,h))}}function Tg(e,n,i,r){var u=(u=$.current)?os(u):null;if(!u)throw Error(o(446));switch(e){case"meta":case"title":return null;case"style":return typeof i.precedence=="string"&&typeof i.href=="string"?(n=tl(i.href),i=Qn(u).hoistableStyles,r=i.get(n),r||(r={type:"style",instance:null,count:0,state:null},i.set(n,r)),r):{type:"void",instance:null,count:0,state:null};case"link":if(i.rel==="stylesheet"&&typeof i.href=="string"&&typeof i.precedence=="string"){e=tl(i.href);var h=Qn(u).hoistableStyles,b=h.get(e);if(b||(u=u.ownerDocument||u,b={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},h.set(e,b),(h=u.querySelector(uo(e)))&&!h._p&&(b.instance=h,b.state.loading=5),Xt.has(e)||(i={rel:"preload",as:"style",href:i.href,crossOrigin:i.crossOrigin,integrity:i.integrity,media:i.media,hrefLang:i.hrefLang,referrerPolicy:i.referrerPolicy},Xt.set(e,i),h||r1(u,e,i,b.state))),n&&r===null)throw Error(o(528,""));return b}if(n&&r!==null)throw Error(o(529,""));return null;case"script":return n=i.async,i=i.src,typeof i=="string"&&n&&typeof n!="function"&&typeof n!="symbol"?(n=nl(i),i=Qn(u).hoistableScripts,r=i.get(n),r||(r={type:"script",instance:null,count:0,state:null},i.set(n,r)),r):{type:"void",instance:null,count:0,state:null};default:throw Error(o(444,e))}}function tl(e){return'href="'+Nt(e)+'"'}function uo(e){return'link[rel="stylesheet"]['+e+"]"}function Mg(e){return v({},e,{"data-precedence":e.precedence,precedence:null})}function r1(e,n,i,r){e.querySelector('link[rel="preload"][as="style"]['+n+"]")?r.loading=1:(n=e.createElement("link"),r.preload=n,n.addEventListener("load",function(){return r.loading|=1}),n.addEventListener("error",function(){return r.loading|=2}),gt(n,"link",i),nt(n),e.head.appendChild(n))}function nl(e){return'[src="'+Nt(e)+'"]'}function fo(e){return"script[async]"+e}function Ag(e,n,i){if(n.count++,n.instance===null)switch(n.type){case"style":var r=e.querySelector('style[data-href~="'+Nt(i.href)+'"]');if(r)return n.instance=r,nt(r),r;var u=v({},i,{"data-href":i.href,"data-precedence":i.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement("style"),nt(r),gt(r,"style",u),rs(r,i.precedence,e),n.instance=r;case"stylesheet":u=tl(i.href);var h=e.querySelector(uo(u));if(h)return n.state.loading|=4,n.instance=h,nt(h),h;r=Mg(i),(u=Xt.get(u))&&Cd(r,u),h=(e.ownerDocument||e).createElement("link"),nt(h);var b=h;return b._p=new Promise(function(C,H){b.onload=C,b.onerror=H}),gt(h,"link",r),n.state.loading|=4,rs(h,i.precedence,e),n.instance=h;case"script":return h=nl(i.src),(u=e.querySelector(fo(h)))?(n.instance=u,nt(u),u):(r=i,(u=Xt.get(h))&&(r=v({},i),Td(r,u)),e=e.ownerDocument||e,u=e.createElement("script"),nt(u),gt(u,"link",r),e.head.appendChild(u),n.instance=u);case"void":return null;default:throw Error(o(443,n.type))}else n.type==="stylesheet"&&(n.state.loading&4)===0&&(r=n.instance,n.state.loading|=4,rs(r,i.precedence,e));return n.instance}function rs(e,n,i){for(var r=i.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),u=r.length?r[r.length-1]:null,h=u,b=0;b<r.length;b++){var C=r[b];if(C.dataset.precedence===n)h=C;else if(h!==u)break}h?h.parentNode.insertBefore(e,h.nextSibling):(n=i.nodeType===9?i.head:i,n.insertBefore(e,n.firstChild))}function Cd(e,n){e.crossOrigin==null&&(e.crossOrigin=n.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=n.referrerPolicy),e.title==null&&(e.title=n.title)}function Td(e,n){e.crossOrigin==null&&(e.crossOrigin=n.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=n.referrerPolicy),e.integrity==null&&(e.integrity=n.integrity)}var ss=null;function jg(e,n,i){if(ss===null){var r=new Map,u=ss=new Map;u.set(i,r)}else u=ss,r=u.get(i),r||(r=new Map,u.set(i,r));if(r.has(e))return r;for(r.set(e,null),i=i.getElementsByTagName(e),u=0;u<i.length;u++){var h=i[u];if(!(h[La]||h[st]||e==="link"&&h.getAttribute("rel")==="stylesheet")&&h.namespaceURI!=="http://www.w3.org/2000/svg"){var b=h.getAttribute(n)||"";b=e+b;var C=r.get(b);C?C.push(h):r.set(b,[h])}}return r}function zg(e,n,i){e=e.ownerDocument||e,e.head.insertBefore(i,n==="title"?e.querySelector("head > title"):null)}function s1(e,n,i){if(i===1||n.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof n.precedence!="string"||typeof n.href!="string"||n.href==="")break;return!0;case"link":if(typeof n.rel!="string"||typeof n.href!="string"||n.href===""||n.onLoad||n.onError)break;return n.rel==="stylesheet"?(e=n.disabled,typeof n.precedence=="string"&&e==null):!0;case"script":if(n.async&&typeof n.async!="function"&&typeof n.async!="symbol"&&!n.onLoad&&!n.onError&&n.src&&typeof n.src=="string")return!0}return!1}function Rg(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function c1(e,n,i,r){if(i.type==="stylesheet"&&(typeof r.media!="string"||matchMedia(r.media).matches!==!1)&&(i.state.loading&4)===0){if(i.instance===null){var u=tl(r.href),h=n.querySelector(uo(u));if(h){n=h._p,n!==null&&typeof n=="object"&&typeof n.then=="function"&&(e.count++,e=cs.bind(e),n.then(e,e)),i.state.loading|=4,i.instance=h,nt(h);return}h=n.ownerDocument||n,r=Mg(r),(u=Xt.get(u))&&Cd(r,u),h=h.createElement("link"),nt(h);var b=h;b._p=new Promise(function(C,H){b.onload=C,b.onerror=H}),gt(h,"link",r),i.instance=h}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(i,n),(n=i.state.preload)&&(i.state.loading&3)===0&&(e.count++,i=cs.bind(e),n.addEventListener("load",i),n.addEventListener("error",i))}}var Md=0;function u1(e,n){return e.stylesheets&&e.count===0&&ds(e,e.stylesheets),0<e.count||0<e.imgCount?function(i){var r=setTimeout(function(){if(e.stylesheets&&ds(e,e.stylesheets),e.unsuspend){var h=e.unsuspend;e.unsuspend=null,h()}},6e4+n);0<e.imgBytes&&Md===0&&(Md=62500*YS());var u=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&ds(e,e.stylesheets),e.unsuspend)){var h=e.unsuspend;e.unsuspend=null,h()}},(e.imgBytes>Md?50:800)+n);return e.unsuspend=i,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(u)}}:null}function cs(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)ds(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var us=null;function ds(e,n){e.stylesheets=null,e.unsuspend!==null&&(e.count++,us=new Map,n.forEach(d1,e),us=null,cs.call(e))}function d1(e,n){if(!(n.state.loading&4)){var i=us.get(e);if(i)var r=i.get(null);else{i=new Map,us.set(e,i);for(var u=e.querySelectorAll("link[data-precedence],style[data-precedence]"),h=0;h<u.length;h++){var b=u[h];(b.nodeName==="LINK"||b.getAttribute("media")!=="not all")&&(i.set(b.dataset.precedence,b),r=b)}r&&i.set(null,r)}u=n.instance,b=u.getAttribute("data-precedence"),h=i.get(b)||r,h===r&&i.set(null,u),i.set(b,u),this.count++,r=cs.bind(this),u.addEventListener("load",r),u.addEventListener("error",r),h?h.parentNode.insertBefore(u,h.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(u,e.firstChild)),n.state.loading|=4}}var ho={$$typeof:E,Provider:null,Consumer:null,_currentValue:U,_currentValue2:U,_threadCount:0};function f1(e,n,i,r,u,h,b,C,H){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=Nl(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Nl(0),this.hiddenUpdates=Nl(null),this.identifierPrefix=r,this.onUncaughtError=u,this.onCaughtError=h,this.onRecoverableError=b,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=H,this.incompleteTransitions=new Map}function Dg(e,n,i,r,u,h,b,C,H,J,ie,re){return e=new f1(e,n,i,b,H,J,ie,re,C),n=1,h===!0&&(n|=24),h=Dt(3,null,null,n),e.current=h,h.stateNode=e,n=ru(),n.refCount++,e.pooledCache=n,n.refCount++,h.memoizedState={element:r,isDehydrated:i,cache:n},du(h),e}function Og(e){return e?(e=Di,e):Di}function Ig(e,n,i,r,u,h){u=Og(u),r.context===null?r.context=u:r.pendingContext=u,r=la(n),r.payload={element:i},h=h===void 0?null:h,h!==null&&(r.callback=h),i=oa(e,r,n),i!==null&&(At(i,e,n),Yl(i,e,n))}function Lg(e,n){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var i=e.retryLane;e.retryLane=i!==0&&i<n?i:n}}function Ad(e,n){Lg(e,n),(e=e.alternate)&&Lg(e,n)}function Hg(e){if(e.tag===13||e.tag===31){var n=Ga(e,67108864);n!==null&&At(n,e,67108864),Ad(e,67108864)}}function kg(e){if(e.tag===13||e.tag===31){var n=kt();n=_l(n);var i=Ga(e,n);i!==null&&At(i,e,n),Ad(e,n)}}var fs=!0;function h1(e,n,i,r){var u=T.T;T.T=null;var h=I.p;try{I.p=2,jd(e,n,i,r)}finally{I.p=h,T.T=u}}function m1(e,n,i,r){var u=T.T;T.T=null;var h=I.p;try{I.p=8,jd(e,n,i,r)}finally{I.p=h,T.T=u}}function jd(e,n,i,r){if(fs){var u=zd(r);if(u===null)gd(e,n,r,hs,i),qg(e,r);else if(g1(u,e,n,i,r))r.stopPropagation();else if(qg(e,r),n&4&&-1<p1.indexOf(e)){for(;u!==null;){var h=Zn(u);if(h!==null)switch(h.tag){case 3:if(h=h.stateNode,h.current.memoizedState.isDehydrated){var b=Sn(h.pendingLanes);if(b!==0){var C=h;for(C.pendingLanes|=2,C.entangledLanes|=2;b;){var H=1<<31-bt(b);C.entanglements[1]|=H,b&=~H}hn(h),(He&6)===0&&(Zr=ft()+500,oo(0))}}break;case 31:case 13:C=Ga(h,2),C!==null&&At(C,h,2),Qr(),Ad(h,2)}if(h=zd(r),h===null&&gd(e,n,r,hs,i),h===u)break;u=h}u!==null&&r.stopPropagation()}else gd(e,n,r,null,i)}}function zd(e){return e=Dc(e),Rd(e)}var hs=null;function Rd(e){if(hs=null,e=Xn(e),e!==null){var n=c(e);if(n===null)e=null;else{var i=n.tag;if(i===13){if(e=d(n),e!==null)return e;e=null}else if(i===31){if(e=m(n),e!==null)return e;e=null}else if(i===3){if(n.stateNode.current.memoizedState.isDehydrated)return n.tag===3?n.stateNode.containerInfo:null;e=null}else n!==e&&(e=null)}}return hs=e,null}function Bg(e){switch(e){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(gi()){case bn:return 2;case Fn:return 8;case Ra:case vc:return 32;case yi:return 268435456;default:return 32}default:return 32}}var Dd=!1,ya=null,va=null,xa=null,mo=new Map,po=new Map,ba=[],p1="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function qg(e,n){switch(e){case"focusin":case"focusout":ya=null;break;case"dragenter":case"dragleave":va=null;break;case"mouseover":case"mouseout":xa=null;break;case"pointerover":case"pointerout":mo.delete(n.pointerId);break;case"gotpointercapture":case"lostpointercapture":po.delete(n.pointerId)}}function go(e,n,i,r,u,h){return e===null||e.nativeEvent!==h?(e={blockedOn:n,domEventName:i,eventSystemFlags:r,nativeEvent:h,targetContainers:[u]},n!==null&&(n=Zn(n),n!==null&&Hg(n)),e):(e.eventSystemFlags|=r,n=e.targetContainers,u!==null&&n.indexOf(u)===-1&&n.push(u),e)}function g1(e,n,i,r,u){switch(n){case"focusin":return ya=go(ya,e,n,i,r,u),!0;case"dragenter":return va=go(va,e,n,i,r,u),!0;case"mouseover":return xa=go(xa,e,n,i,r,u),!0;case"pointerover":var h=u.pointerId;return mo.set(h,go(mo.get(h)||null,e,n,i,r,u)),!0;case"gotpointercapture":return h=u.pointerId,po.set(h,go(po.get(h)||null,e,n,i,r,u)),!0}return!1}function Ug(e){var n=Xn(e.target);if(n!==null){var i=c(n);if(i!==null){if(n=i.tag,n===13){if(n=d(i),n!==null){e.blockedOn=n,tr(e.priority,function(){kg(i)});return}}else if(n===31){if(n=m(i),n!==null){e.blockedOn=n,tr(e.priority,function(){kg(i)});return}}else if(n===3&&i.stateNode.current.memoizedState.isDehydrated){e.blockedOn=i.tag===3?i.stateNode.containerInfo:null;return}}}e.blockedOn=null}function ms(e){if(e.blockedOn!==null)return!1;for(var n=e.targetContainers;0<n.length;){var i=zd(e.nativeEvent);if(i===null){i=e.nativeEvent;var r=new i.constructor(i.type,i);Rc=r,i.target.dispatchEvent(r),Rc=null}else return n=Zn(i),n!==null&&Hg(n),e.blockedOn=i,!1;n.shift()}return!0}function Gg(e,n,i){ms(e)&&i.delete(n)}function y1(){Dd=!1,ya!==null&&ms(ya)&&(ya=null),va!==null&&ms(va)&&(va=null),xa!==null&&ms(xa)&&(xa=null),mo.forEach(Gg),po.forEach(Gg)}function ps(e,n){e.blockedOn===n&&(e.blockedOn=null,Dd||(Dd=!0,t.unstable_scheduleCallback(t.unstable_NormalPriority,y1)))}var gs=null;function Vg(e){gs!==e&&(gs=e,t.unstable_scheduleCallback(t.unstable_NormalPriority,function(){gs===e&&(gs=null);for(var n=0;n<e.length;n+=3){var i=e[n],r=e[n+1],u=e[n+2];if(typeof r!="function"){if(Rd(r||i)===null)continue;break}var h=Zn(i);h!==null&&(e.splice(n,3),n-=3,zu(h,{pending:!0,data:u,method:i.method,action:r},r,u))}}))}function al(e){function n(H){return ps(H,e)}ya!==null&&ps(ya,e),va!==null&&ps(va,e),xa!==null&&ps(xa,e),mo.forEach(n),po.forEach(n);for(var i=0;i<ba.length;i++){var r=ba[i];r.blockedOn===e&&(r.blockedOn=null)}for(;0<ba.length&&(i=ba[0],i.blockedOn===null);)Ug(i),i.blockedOn===null&&ba.shift();if(i=(e.ownerDocument||e).$$reactFormReplay,i!=null)for(r=0;r<i.length;r+=3){var u=i[r],h=i[r+1],b=u[yt]||null;if(typeof h=="function")b||Vg(i);else if(b){var C=null;if(h&&h.hasAttribute("formAction")){if(u=h,b=h[yt]||null)C=b.formAction;else if(Rd(u)!==null)continue}else C=b.action;typeof C=="function"?i[r+1]=C:(i.splice(r,3),r-=3),Vg(i)}}}function Yg(){function e(h){h.canIntercept&&h.info==="react-transition"&&h.intercept({handler:function(){return new Promise(function(b){return u=b})},focusReset:"manual",scroll:"manual"})}function n(){u!==null&&(u(),u=null),r||setTimeout(i,20)}function i(){if(!r&&!navigation.transition){var h=navigation.currentEntry;h&&h.url!=null&&navigation.navigate(h.url,{state:h.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var r=!1,u=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",n),navigation.addEventListener("navigateerror",n),setTimeout(i,100),function(){r=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",n),navigation.removeEventListener("navigateerror",n),u!==null&&(u(),u=null)}}}function Od(e){this._internalRoot=e}ys.prototype.render=Od.prototype.render=function(e){var n=this._internalRoot;if(n===null)throw Error(o(409));var i=n.current,r=kt();Ig(i,r,e,n,null,null)},ys.prototype.unmount=Od.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var n=e.containerInfo;Ig(e.current,2,null,e,null,null),Qr(),n[wn]=null}};function ys(e){this._internalRoot=e}ys.prototype.unstable_scheduleHydration=function(e){if(e){var n=er();e={blockedOn:null,target:e,priority:n};for(var i=0;i<ba.length&&n!==0&&n<ba[i].priority;i++);ba.splice(i,0,e),i===0&&Ug(e)}};var Pg=a.version;if(Pg!=="19.2.5")throw Error(o(527,Pg,"19.2.5"));I.findDOMNode=function(e){var n=e._reactInternals;if(n===void 0)throw typeof e.render=="function"?Error(o(188)):(e=Object.keys(e).join(","),Error(o(268,e)));return e=p(n),e=e!==null?g(e):null,e=e===null?null:e.stateNode,e};var v1={bundleType:0,version:"19.2.5",rendererPackageName:"react-dom",currentDispatcherRef:T,reconcilerVersion:"19.2.5"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var vs=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!vs.isDisabled&&vs.supportsFiber)try{Da=vs.inject(v1),xt=vs}catch{}}return vo.createRoot=function(e,n){if(!s(e))throw Error(o(299));var i=!1,r="",u=Jm,h=Wm,b=ep;return n!=null&&(n.unstable_strictMode===!0&&(i=!0),n.identifierPrefix!==void 0&&(r=n.identifierPrefix),n.onUncaughtError!==void 0&&(u=n.onUncaughtError),n.onCaughtError!==void 0&&(h=n.onCaughtError),n.onRecoverableError!==void 0&&(b=n.onRecoverableError)),n=Dg(e,1,!1,null,null,i,r,null,u,h,b,Yg),e[wn]=n.current,pd(e),new Od(n)},vo.hydrateRoot=function(e,n,i){if(!s(e))throw Error(o(299));var r=!1,u="",h=Jm,b=Wm,C=ep,H=null;return i!=null&&(i.unstable_strictMode===!0&&(r=!0),i.identifierPrefix!==void 0&&(u=i.identifierPrefix),i.onUncaughtError!==void 0&&(h=i.onUncaughtError),i.onCaughtError!==void 0&&(b=i.onCaughtError),i.onRecoverableError!==void 0&&(C=i.onRecoverableError),i.formState!==void 0&&(H=i.formState)),n=Dg(e,1,!0,n,i??null,r,u,H,h,b,C,Yg),n.context=Og(null),i=n.current,r=kt(),r=_l(r),u=la(r),u.callback=null,oa(i,u,r),i=r,n.current.lanes=i,Ia(n,i),hn(n),e[wn]=n.current,pd(e),new ys(n)},vo.version="19.2.5",vo}var ty;function T1(){if(ty)return Hd.exports;ty=1;function t(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(a){console.error(a)}}return t(),Hd.exports=C1(),Hd.exports}var M1=T1();const ny=t=>{let a;const l=new Set,o=(p,g)=>{const v=typeof p=="function"?p(a):p;if(!Object.is(v,a)){const x=a;a=g??(typeof v!="object"||v===null)?v:Object.assign({},a,v),l.forEach(S=>S(a,x))}},s=()=>a,m={setState:o,getState:s,getInitialState:()=>y,subscribe:p=>(l.add(p),()=>l.delete(p))},y=a=t(o,s,m);return m},A1=(t=>t?ny(t):ny),j1=t=>t;function z1(t,a=j1){const l=Eo.useSyncExternalStore(t.subscribe,Eo.useCallback(()=>a(t.getState()),[t,a]),Eo.useCallback(()=>a(t.getInitialState()),[t,a]));return Eo.useDebugValue(l),l}const ay=t=>{const a=A1(t),l=o=>z1(a,o);return Object.assign(l,a),l},F0=(t=>t?ay(t):ay),X0=["default","gpt","claude","gemini","grok"];function iy(t){return Array.isArray(t.images)}function R1(t){let a="message";const l=[];for(const s of t.split(`
10
+ `))s.startsWith("event:")&&(a=s.slice(6).trim()),s.startsWith("data:")&&l.push(s.slice(5).trimStart());if(l.length===0)return null;const o=l.join(`
11
+ `);return!o||o==="[DONE]"?null:{event:a,data:JSON.parse(o)}}async function D1(t,a={}){const l=await fetch("/api/node/generate",{method:"POST",headers:{"Content-Type":"application/json",Accept:"text/event-stream"},body:JSON.stringify(t)});if(!(l.headers.get("content-type")??"").includes("text/event-stream")){const y=await l.json().catch(()=>({}));if(!l.ok){const p=y,g=p?.error?.message??`Request failed: ${l.status}`,v=new Error(g);throw v.code=p?.error?.code,v.status=p?.status??l.status,v}return y}if(!l.ok||!l.body)throw new Error(`Request failed: ${l.status}`);const s=l.body.getReader(),c=new TextDecoder;let d="",m=null;for(;;){const{done:y,value:p}=await s.read();if(y)break;d+=c.decode(p,{stream:!0});let g=d.indexOf(`
12
+
13
+ `);for(;g!==-1;){const v=d.slice(0,g);d=d.slice(g+2);const x=R1(v);if(x){if(x.event==="partial")a.onPartial?.(x.data);else if(x.event==="phase")a.onPhase?.(x.data);else if(x.event==="done")m=x.data;else if(x.event==="error"){const S=x.data,N=S?.error?.message??"Node generation failed",_=new Error(N);throw _.code=S?.error?.code,_.status=S?.status,_}}g=d.indexOf(`
14
+
15
+ `)}}if(!m)throw new Error("Node stream ended without a final image");return m}async function We(t,a){const l=await fetch(t,a),o=await l.json().catch(()=>({}));if(!l.ok){const s=o.error,c=o.code,d=typeof s=="string"?s:s?.message??`Request failed: ${l.status}`,m=new Error(d);throw m.status=l.status,typeof s!="string"&&s?.code?m.code=s.code:c&&(m.code=c),typeof o.currentVersion=="number"&&(m.currentVersion=o.currentVersion),m}return o}function Ud(t){const a=new URLSearchParams;t?.kind&&a.set("kind",t.kind),t?.sessionId&&a.set("sessionId",t.sessionId),t?.includeTerminal&&a.set("includeTerminal","1");const l=a.size>0?`?${a.toString()}`:"";return We(`/api/inflight${l}`)}async function ly(t){await fetch(`/api/inflight/${encodeURIComponent(t)}`,{method:"DELETE"}).catch(()=>{})}function O1(){return We("/api/oauth/status")}function I1(){return We("/api/billing")}function L1(t){return We("/api/generate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}function H1(t){let a=null;const l=[];for(const s of t.split(`
16
+ `))s.startsWith("event:")&&(a=s.slice(6).trim()),s.startsWith("data:")&&l.push(s.slice(5).trimStart());if(l.length===0)return null;const o=l.join(`
17
+ `);return!o||o==="[DONE]"?null:{event:a,data:JSON.parse(o)}}async function k1(t,a={},l={}){const o=await fetch("/api/generate/multimode",{method:"POST",headers:{"Content-Type":"application/json",Accept:"text/event-stream"},body:JSON.stringify(t),signal:l.signal});if(!(o.headers.get("content-type")??"").includes("text/event-stream")){const p=await o.json().catch(()=>({}));if(!o.ok){const g=p,v=new Error(g.error??`Request failed: ${o.status}`);throw v.code=g.code,v.status=g.status??o.status,v}return p}if(!o.ok||!o.body)throw new Error(`Request failed: ${o.status}`);const c=o.body.getReader(),d=new TextDecoder;let m="",y=null;for(;;){const{done:p,value:g}=await c.read();if(p)break;m+=d.decode(g,{stream:!0});let v=m.indexOf(`
18
+
19
+ `);for(;v!==-1;){const x=m.slice(0,v);m=m.slice(v+2);const S=H1(x);if(S){if(S.event==="partial")a.onPartial?.(S.data);else if(S.event==="image")a.onImage?.(S.data);else if(S.event==="phase")a.onPhase?.(S.data);else if(S.event==="done")y=S.data;else if(S.event==="error"){const N=S.data,_=new Error(N.error??"Multimode generation failed");throw _.code=N.code,_.status=N.status,_}}v=m.indexOf(`
20
+
21
+ `)}}if(!y)throw new Error("Multimode stream ended without a final payload");return y}let xo=null;function Z0(){if(!xo){const t=localStorage.getItem("ima2.browserId");t?xo=t:(xo=`${Date.now().toString(36)}_${Math.random().toString(36).slice(2,9)}`,localStorage.setItem("ima2.browserId",xo))}return xo}function Bf(t,a){const l={...a?.headers,"X-Ima2-Browser-Id":Z0()};return We(t,{...a,headers:l})}function xf(t={}){const a=new URLSearchParams;return a.set("limit",String(t.limit??50)),t.since!=null&&a.set("since",String(t.since)),t.cursor&&(a.set("before",String(t.cursor.before)),a.set("beforeFilename",t.cursor.beforeFilename)),t.sessionId&&a.set("sessionId",t.sessionId),Bf(`/api/history?${a.toString()}`)}function B1(t={}){const a=new URLSearchParams;return a.set("groupBy","session"),a.set("limit",String(t.limit??200)),t.cursor&&(a.set("before",String(t.cursor.before)),a.set("beforeFilename",t.cursor.beforeFilename)),Bf(`/api/history?${a.toString()}`)}function q1(t){return Bf("/api/history/favorite",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({filename:t})})}async function U1(){return(await We("/api/storage/status")).data}function G1(){return We("/api/storage/open-generated-dir",{method:"POST"})}function V1(t){return We(`/api/history/${encodeURIComponent(t)}`,{method:"DELETE"})}function Y1(t){return We(`/api/history/${encodeURIComponent(t)}/permanent`,{method:"DELETE"})}function P1(t,a){return We(`/api/history/${encodeURIComponent(t)}/restore`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({trashId:a})})}function $1(t){return We("/api/metadata/read",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}function F1(){return We("/api/sessions")}function X1(t){return We("/api/sessions",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:t})})}function K0(t){return We(`/api/sessions/${encodeURIComponent(t)}`)}function Z1(t,a){return We(`/api/sessions/${encodeURIComponent(t)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:a})})}function K1(t){return We(`/api/sessions/${encodeURIComponent(t)}`,{method:"DELETE"})}function Q1(t,a,l,o,s={}){const c={"Content-Type":"application/json","If-Match":String(a)};return s.saveId&&(c["X-Ima2-Graph-Save-Id"]=s.saveId),s.saveReason&&(c["X-Ima2-Graph-Save-Reason"]=s.saveReason),s.tabId&&(c["X-Ima2-Tab-Id"]=s.tabId),We(`/api/sessions/${encodeURIComponent(t)}/graph`,{method:"PUT",headers:c,body:JSON.stringify({nodes:l,edges:o})})}function J1(t){const a=new URLSearchParams;return We(`/api/prompts?${a.toString()}`)}function W1(t){return We("/api/prompts",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}function ew(t){return We(`/api/prompts/${encodeURIComponent(t)}`,{method:"DELETE"})}function tw(t){return We(`/api/prompts/${encodeURIComponent(t)}/favorite`,{method:"POST"})}function nw(t){return We("/api/prompts/import",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}function aw(t){return new Promise((a,l)=>{const o=new FileReader;o.onload=()=>a(String(o.result)),o.onerror=()=>l(o.error),o.readAsDataURL(t)})}function iw(t,a=256){return new Promise(l=>{const o=new Image;o.onload=()=>{const s=Math.min(1,a/Math.max(o.width,o.height)),c=document.createElement("canvas");c.width=o.width*s,c.height=o.height*s;const d=c.getContext("2d");if(!d)return l(t);d.drawImage(o,0,0,c.width,c.height),l(c.toDataURL("image/jpeg",.6))},o.onerror=()=>l(t),o.src=t})}const lw={maxB64Bytes:6e6,preserveTransparency:!1,maxEdge:4096,qualityLadder:[.85,.7,.55]},oy=16777216;function ow(t,a,l){let o=t,s=a;if(o<=0||s<=0)return{w:1,h:1};const c=Math.max(o,s);if(c>l){const d=l/c;o=Math.round(o*d),s=Math.round(s*d)}if(o*s>oy){const d=Math.sqrt(oy/(o*s));o=Math.max(1,Math.floor(o*d)),s=Math.max(1,Math.floor(s*d))}return{w:o,h:s}}function Gd(t){return new Promise((a,l)=>{const o=new FileReader;o.onload=()=>{typeof o.result=="string"?a(o.result):l(new Error("FileReader returned non-string"))},o.onerror=()=>l(o.error??new Error("FileReader failed")),o.readAsDataURL(t)})}function ry(t,a,l){return new Promise((o,s)=>{t.toBlob(c=>c?o(c):s(new Error("canvas.toBlob returned null")),a,l)})}function Vd(t){const a=t.indexOf(",");return a<0?t.length:t.length-a-1}async function bf(t,a={}){const l={...lw,...a},o=await Gd(t);if(Vd(o)<=l.maxB64Bytes)return o;let s;try{s=await createImageBitmap(t)}catch(c){throw new Error("이미지 디코드 실패. JPEG/PNG로 변환 후 다시 시도해 주세요.",{cause:c})}try{const{w:c,h:d}=ow(s.width,s.height,l.maxEdge),m=document.createElement("canvas");m.width=c,m.height=d;const y=m.getContext("2d");if(!y)throw new Error("canvas 2d context unavailable");if(y.drawImage(s,0,0,c,d),l.preserveTransparency){const p=await ry(m,"image/png"),g=await Gd(p);if(Vd(g)>l.maxB64Bytes)throw new Error("이미지 압축 실패. JPEG/PNG로 미리 변환 후 다시 시도해 주세요.");return g}for(const p of l.qualityLadder){const g=await ry(m,"image/jpeg",p),v=await Gd(g);if(Vd(v)<=l.maxB64Bytes)return v}throw new Error("이미지 압축 실패. JPEG/PNG로 미리 변환 후 다시 시도해 주세요.")}finally{s.close?.()}}function xs(t){const a=(t.type||"").toLowerCase();if(a.includes("heic")||a.includes("heif"))return!0;const l=(t.name||"").toLowerCase();return l.endsWith(".heic")||l.endsWith(".heif")}function sy(t){return(t.type||"").toLowerCase()==="image/png"}const rw={ok:"확인",cancel:"취소",delete:"삭제",close:"닫기",saving:"저장 중...",loading:"불러오는 중..."},sw={localStorageFull:"로컬 저장소가 가득 차서 최근 상태가 저장되지 않을 수 있습니다.",refLimitExceeded:"참조 이미지는 최대 5장까지 추가할 수 있습니다. 초과한 이미지는 제외되었습니다.",refTooLarge:"이미지가 너무 큽니다. JPEG/PNG로 미리 변환하거나 해상도를 낮춰 다시 시도해 주세요.",refNotBase64:"이미지 파일이 손상되었거나 지원하지 않는 형식입니다.",refEmpty:"빈 이미지 파일입니다. 다른 파일을 선택해 주세요.",refHeicUnsupported:"HEIC/HEIF는 지원하지 않습니다. JPEG 또는 PNG로 변환 후 다시 시도해 주세요.",noCurrentImageForRef:"참조로 사용할 현재 이미지가 없습니다.",refSlotFull:"참조 이미지 슬롯이 가득 찼습니다. 최대 5장까지 가능합니다.",currentImageLoadFailed:"현재 이미지를 불러오지 못했습니다.",addedCurrentAsRef:"현재 이미지를 참조에 추가했습니다.",sessionLoadFailed:"세션을 불러오지 못했습니다.",sessionCreateFailed:"세션을 만들지 못했습니다.",sessionRenameFailed:"세션 이름을 바꾸지 못했습니다.",sessionDeleteFailed:"세션을 삭제하지 못했습니다.",promptRequired:"프롬프트를 입력하세요.",nodeCreated:"노드 {id} 생성 완료 ({elapsed}초)",nodeCreateFailed:"노드 생성에 실패했습니다.",generatedBatch:"{count}장을 {elapsed}초 만에 생성했습니다.",generatedSingle:"{elapsed}초 만에 생성했습니다.",generateFailed:"생성에 실패했습니다.",sessionReloadedElsewhere:"그래프 버전이 달라져 최신 그래프를 다시 불러왔습니다.",promptCopied:"프롬프트를 복사했습니다",imageCopied:"클립보드에 복사했습니다",copyFailed:"복사에 실패했습니다",openGeneratedDirFailed:"이미지 폴더를 열지 못했습니다. ima2 doctor로 저장 경로를 확인해 주세요.",openGeneratedDirOpened:"생성 이미지 폴더를 열었습니다.",noPromptToFork:"가져올 프롬프트가 없습니다",forkStarted:"이 이미지의 프롬프트를 가져왔습니다. 수정 후 다시 생성하세요"},cw={queued:"대기 중",streaming:"생성 중",decoding:"마무리 중"},uw={title:"크기",width:"가로",height:"세로",hint:"16px 단위, 최대 변 3840, 비율 3:1 이하, 65.5만-829만 픽셀",autoLabel:"자동",autoSub:"모델 추천",customLabel:"직접 입력",customSub:"자유 설정",customPlus:"+ 직접",customSlots:"저장 크기",customSlot:"커스텀",customSlotLimit:"커스텀 크기는 최대 3개",saveCustomSlot:"커스텀 크기 저장",replaceCustomSlot:"슬롯 교체",ratioFree:"자유",ratio21x9:"21:9",normalizedPreview:"전송 크기",noAdjustment:"조정 없음",squareMaxHint:"829만 픽셀 제한 때문에 정사각형 최대는 {size}입니다.",adjustedReasons:{snap:"16px 보정",maxEdge:"최대 변",ratio:"비율 제한",minPixels:"최소 픽셀",maxPixels:"최대 픽셀",min:"최소 변",max:"최대 변",pixels:"픽셀 제한"}},dw={title:"크기 조정이 필요합니다",body:"입력한 크기가 이미지 생성 제한을 벗어나 자동 조정이 필요합니다.",requested:"요청한 크기",adjusted:"조정될 크기",approve:"승인 후 생성",cancel:"취소",reasonRatio:"비율 제한 3:1을 초과했습니다.",reasonPixels:"최대 픽셀 수 제한을 초과했습니다.",reasonMinPixels:"요청한 이미지의 픽셀 수가 너무 적습니다.",reasonMin:"최소 크기보다 작습니다.",reasonMax:"최대 크기보다 큽니다.",reasonSnap:"16px 단위에 맞춰야 합니다."},fw={title:"품질",lowLabel:"낮음",lowSub:"빠름",mediumLabel:"중간",mediumSub:"균형",highLabel:"높음",highSub:"최상"},hw={title:"모더레이션",autoLabel:"자동",autoSub:"표준 필터",lowLabel:"낮음",lowSub:"완화 필터",explain:"자동은 표준 안전 필터를 사용합니다. 낮음은 제한을 조금 완화해 경계선 프롬프트가 더 통과할 수 있습니다."},mw={title:"포맷"},pw={title:"개수",customPlus:"+n",customLabel:"직접 입력 개수",highCountHint:"고품질이나 참조 이미지에서는 시간이 더 걸릴 수 있습니다.",minMaxHint:"1-8장까지 가능합니다.",decrease:"개수 줄이기",increase:"개수 늘리기"},gw={label:"멀티모드",tooltip:"한 프롬프트로 단계별 시퀀스를 생성합니다",shortHint:"단계별 생성",maxStages:"최대 단계",highCountHint:"단계가 많으면 몇 분 걸릴 수 있습니다.",minMaxHint:"1-8단계까지 가능합니다.",composerBadge:"시퀀스 · 최대 {count}장",composerAriaLabel:"멀티모드 프롬프트 입력창, 최대 {count}개의 별도 이미지",promptPlaceholder:"단계별로 만들 장면을 입력하세요. 콜라주가 아니라 별도 이미지로 요청합니다.",promptPlaceholderWithRefs:"첨부한 참조를 바탕으로 단계별 시퀀스를 입력하세요.",toggleDisabledGenerating:"현재 생성이 끝난 뒤 변경할 수 있습니다",sequenceTitle:"멀티모드 시퀀스",sequenceProgress:"{returned}/{requested}장",stageLabel:"{index}단계",generating:"생성 중...",partialAlt:"멀티모드 중간 미리보기",partial:"{requested}장 중 {returned}장을 {elapsed}초 만에 생성했습니다.",complete:"{requested}장 중 {returned}장을 {elapsed}초 만에 생성했습니다.",empty:"반환된 이미지 없음",error:"생성 실패",cancel:"취소"},yw={restoreTitle:"이미지 설정 복원",restoreBody:"이 이미지에 ima2 생성 정보가 있습니다. 프롬프트와 설정을 적용하거나 참조 이미지만 추가할 수 있습니다.",applySettings:"설정 적용",useAsReferenceOnly:"참조만 추가",noMetadata:"ima2 메타데이터가 없습니다.",invalidMetadata:"이미지 메타데이터가 올바르지 않습니다.",unsupportedFormat:"PNG, JPEG, WebP 메타데이터만 복원할 수 있습니다.",readFailed:"메타데이터를 읽지 못했습니다.",applied:"이미지 설정을 복원했습니다.",sourceXmp:"XMP",sourcePngComment:"PNG comment",imageAlt:"드롭한 이미지 미리보기",prompt:"프롬프트",size:"크기",quality:"품질",model:"모델",source:"출처"},vw={button:"생성",buttonLoading:"생성 중 ({n})"},xw={label:"API 상태",checking:"확인 중...",offline:"오프라인",remaining:"${remaining} 남음",thisMonth:"이번 달 ${amount}",oauthFree:"OAuth 무료 사용 가능",apiDisabled:"API 키 비활성화됨 (OAuth 전용)",oauthMode:"OAuth 모드"},bw={openGalleryAria:"갤러리 열기",openGalleryTitle:"전체 갤러리 열기"},Sw={closeSettings:"설정 닫기",detailSettings:"세부 설정",toggleShow:"세부 설정 보기",toggleHide:"세부 설정 숨기기",open:"열기",close:"닫기"},ww={label:"프롬프트",refCount:"참조 {count}/{max}",refChipTitle:"참조 이미지 {n}",refChipAlt:"참조 이미지 {n}",refRemoveAria:"참조 이미지 {n} 제거",placeholder:"원하는 이미지를 설명하고, 드래그 앤 드롭이나 붙여넣기로 참조 이미지를 추가할 수 있어요...",placeholderWithRefs:"첨부한 이미지로 무엇을 만들지 설명해 주세요...",attach:"첨부",attachTitle:"참조 이미지 첨부",useCurrent:"현재 결과 사용",useCurrentTitle:"현재 결과를 참조로 사용",directMode:"Direct",directModeActive:"1:1 Direct 켜짐",directModeTitle:"프롬프트를 원문 그대로 전달 (Direct 모드)",hint:"Ctrl + Enter로 생성",dropHere:"놓아서 참조 이미지로 추가 ({max}장까지)"},Nw={resultAlt:"생성 결과",imageViewerAria:"생성 이미지 뷰어. 좌우 방향키로 이전 또는 다음 이미지를 볼 수 있습니다.",tokens:"{n} 토큰",open:"캔버스 열기",openAria:"캔버스 모드에서 이미지 열기",close:"캔버스 닫기"},_w={today:"오늘",yesterday:"어제",thisWeek:"이번 주",earlier:"이전",imageAltFallback:"생성 이미지",deleteTitle:"삭제 (10초 내 복구 가능)",deleteAria:"이미지 삭제",ariaLabel:"이미지 갤러리",title:"갤러리",total:"총 {n}장",totalFiltered:" / 전체 {n}장",sortByAria:"정렬 기준",sortByDate:"날짜",sortBySession:"세션",favoriteFilterAria:"즐겨찾기 필터",filterAll:"전체",filterFavorites:"즐겨찾기",searchPlaceholder:"프롬프트나 파일명을 검색",searchDisabledPlaceholder:"세션 보기에서는 검색이 비활성화됩니다",closeAria:"갤러리 닫기",closeTitle:"닫기 (Esc)",sessionLabel:"세션 {name}",standalone:"독립 이미지",emptySessions:"아직 저장된 세션이 없습니다.",emptyAll:"아직 생성된 이미지가 없습니다. 먼저 하나 만들어보세요.",emptyFavorites:"아직 즐겨찾기한 이미지가 없습니다.",noResults:"검색 결과가 없습니다.",storageNoticeTitle:"저장 위치 안내",storageNoticeRecoverable:"놀라게 해드려 죄송합니다. 최근 버전에서 갤러리 저장 위치가 설치 폴더에서 사용자 데이터 폴더로 바뀌었습니다. 예전 이미지가 이전 generated 폴더에 남아 있을 수 있어요. ima2 doctor를 실행하거나 복구 안내를 확인해 주세요.",storageNoticeNotFound:"놀라게 해드려 죄송합니다. 현재 이 컴퓨터에서 이전 generated 폴더를 찾지 못했습니다. 업데이트 중 예전 전역 설치 폴더가 교체된 경우 자동 복구가 어려울 수 있습니다. ima2 doctor와 복구 안내의 수동 검색 방법을 확인해 주세요.",storageNoticeUnknown:"저장 위치 상태를 확인하지 못했습니다. 업데이트 후 갤러리가 비어 보인다면 ima2 doctor로 이미지 폴더를 확인해 주세요.",openGeneratedDir:"폴더 열기",openGeneratedDirTitle:"생성 이미지 폴더 열기",cardNewsSet:"카드뉴스 세트",cardNewsCard:"카드뉴스 카드",openCardNewsSet:"세트 열기",openCardNewsSetFailed:"카드뉴스 세트를 열지 못했습니다.",copyCardNewsSetPath:"경로 복사",cardNewsPathCopied:"카드뉴스 세트 경로를 복사했습니다.",downloadCardNewsManifest:"매니페스트",cardNewsCount:"{n}장",deleted:"삭제됨: {filename}",undo:"되돌리기",secondsSuffix:"{n}초",permanentDeleted:"완전 삭제됨: {filename}",deleteFailed:"이미지를 삭제하지 못했습니다.",restoreFailed:"이미지를 복구하지 못했습니다.",favoriteTitle:"즐겨찾기 추가",unfavoriteTitle:"즐겨찾기 해제",favoriteAria:"즐겨찾기 추가",unfavoriteAria:"즐겨찾기 해제"},Ew={empty:"비어 있음",pending:"생성 중",reconciling:"동기화 중",reconcilingPhase:"동기화 중 · {phase}",ready:"완료 · {elapsed}s",readyWithSearch:"완료 · {elapsed}s · 검색 {searches}",stale:"오래된 상태",staleWithError:"오래된 상태: {error}",assetMissing:"에셋 누락",assetMissingWithError:"에셋 누락: {error}",error:"오류: {error}",errorUnknown:"알 수 없음",nodeImageAlt:"노드 이미지",partialImageAlt:"노드 중간 이미지 미리보기",noAsset:"에셋 없음",stateStale:"상태 오래됨",noImage:"이미지 없음",editPromptPlaceholder:"수정 프롬프트...",promptPlaceholder:"프롬프트...",regenerate:"재생성",newVariation:"새 변형",generate:"생성",generateTitle:"노드 이미지 생성",addChild:"자식",addChildTitle:"자식 노드 추가",duplicateBranch:"복제",duplicateBranchTitle:"새 브랜치 루트로 복제",deleteTitle:"삭제",regenerateTitle:"현재 노드 이미지를 제자리에서 다시 생성",newVariationTitle:"같은 부모 아래 새 변형 노드를 생성",parentImageRequired:"부모 이미지를 먼저 생성해야 합니다.",attachRef:"첨부",attachRefTitle:"노드 참조 이미지 첨부",refAlt:"노드 참조 이미지 {n}",removeRef:"참조 이미지 {n} 제거",dropRefs:"이미지를 여기에 놓기",nodeRefsUnsupportedForEdit:"추가 참조 이미지는 현재 루트 노드에서만 지원합니다.",nodeRefsUsedWithParent:"부모 이미지와 함께 참조로 사용됩니다.",classicRefsParkedTitle:"클래식 참조 이미지가 보관 중입니다",classicRefsParkedBody:"이 이미지는 클래식 작성창용이라 노드 모드 생성에는 사용되지 않습니다.",clearParkedRefs:"보관된 참조 비우기"},Cw={selectionOn:"선택중",selectionOff:"선택",selectAll:"전체",summary:"선택 {selected} · 미생성 {missing} · 영향 {stale}",generateMissing:"미생성",regenerateSelected:"재생성",stopRemaining:"중단",stopping:"중단중",clear:"해제",noneSelected:"선택된 노드가 없습니다.",parentRequired:"부모 이미지가 준비되지 않은 선택 노드가 {count}개 있습니다.",nothingToRun:"생성할 선택 노드가 없습니다.",stopQueued:"현재 노드가 끝나면 남은 작업을 중단합니다.",failed:"{done}/{total} 완료 후 중단되었습니다.",finished:"{done}/{total} 노드 작업 완료",staleBecauseParentChanged:"상위 노드가 재생성되어 다시 확인이 필요합니다."},Tw={disconnect:"끊기",disconnectTitle:"선택한 연결선 끊기",disconnected:"연결선을 끊었습니다.",parentConflict:"한 노드에는 부모 연결을 하나만 둘 수 있습니다."},Mw={authTitle:"인증 방식",apiLabel:"API 키",oauthNotReady:"OAuth 프록시가 아직 준비되지 않았습니다.",codexLoginRequired:"Codex 로그인이 필요합니다.",codexLoginHint:"터미널에서 `codex login`을 실행한 뒤 이 페이지를 새로고침하세요.",oauthStarting:"OAuth 프록시가 시작 중입니다. 몇 초 후 다시 시도하세요.",serverUnreachable:"서버에 연결할 수 없습니다. 백엔드가 실행 중인지 확인하세요.",apiInvalid:"API 키가 없거나 유효하지 않습니다. 서버의 .env 파일에서 OPENAI_API_KEY를 확인하세요.",availableTitle:"{name} 사용 가능",availableAria:"{name}: 사용 가능",unavailableAria:"{name}: 사용 불가",availableSr:"(사용 가능)",unavailableSr:"(사용 불가)"},Aw={free:"무료",approx:"약 ${amount}",multimodeApprox:"최대 약 ${amount} ({count}장)",label:"예상 비용"},jw={download:"다운로드",copyImage:"이미지 복사",copyPrompt:"프롬프트 복사",continueHere:"여기서 이어서",continueHereTitle:"이 이미지의 프롬프트를 가져와 이어서 작업",delete:"삭제",deleteTitle:"휴지통으로 이동",more:"더보기",permanentDelete:"완전 삭제",permanentDeleteConfirm:'"{filename}" 이미지를 완전히 삭제할까요? 이 작업은 되돌릴 수 없습니다.'},zw={switchTitle:"세션 전환",loading:"불러오는 중...",newSession:"새 세션",newSessionTitle:"새 세션",renameTitle:"이름 변경",renamePrompt:"세션 이름",deleteTitle:"삭제",deleteConfirm:'"{title}" 세션을 삭제할까요? 이 작업은 되돌릴 수 없습니다.',empty:"아직 세션이 없습니다",firstGraph:"첫 번째 그래프",untitled:"제목 없는 세션",assetAbortedError:"생성이 정상적으로 끝나지 않았습니다. 이 노드에서 다시 시도하세요."},Rw={ariaLabel:"UI 모드",classic:"기본",node:"노드",cardNews:"카드뉴스"},Dw={workspace:"카드뉴스 작업공간",composer:"카드뉴스",composerHint:"템플릿은 스냅샷 기준이고, 출력 크기는 별도로 지정합니다.",topic:"주제",topicPlaceholder:"예: 중간고사 역전 플랜",audience:"대상",audiencePlaceholder:"예: 학부모",goal:"목표",goalPlaceholder:"예: 상담 신청",brief:"내용",briefPlaceholder:"카드뉴스에 들어갈 핵심 내용과 금지사항을 적어주세요.",outputSize:"출력 크기",customSize:"직접",draft:"초안 만들기",drafting:"초안 작성 중...",generateSet:"세트 생성",batchGenerate:"일괄 생성",generating:"생성 중...",generated:"{count}장 생성 완료.",missingGeneratedCard:"생성 응답에 이 카드가 포함되지 않았습니다.",error:"카드 생성에 실패했습니다.",imageTemplate:"이미지 템플릿",roleTemplate:"카드 구조",newTemplateLater:"커스텀 템플릿은 dev MVP 이후에 지원합니다",emptyTitle:"초안 대기 중",emptyBody:"왼쪽 설정으로 카드 덱을 준비합니다.",inspector:"카드 편집",cardTitle:"카드 제목",headline:"제목",body:"본문",visualPrompt:"이미지 프롬프트",summaryCopy:"요약 문구",designPrompt:"장면 / 디자인 프롬프트",textFields:"텍스트 박스",addTextField:"텍스트 박스 추가",removeTextField:"삭제",noTextFields:"아직 텍스트 박스가 없습니다.",textFieldText:"텍스트",textKind:"종류",placement:"위치",renderMode:"표시 방식",hierarchyLabel:"위계",textTooLong:"권장 길이를 초과했습니다.",selectTextField:"텍스트 박스 선택: {text}",textKinds:{headline:"제목",body:"설명 텍스트",caption:"캡션",cta:"행동 유도",badge:"배지",number:"숫자"},renderModes:{"in-image":"이미지에 표시","ui-only":"메모만"},hierarchy:{primary:"주요",secondary:"보조",supporting:"부가"},placements:{"top-left":"좌측 상단","top-center":"상단 중앙","top-right":"우측 상단","center-left":"좌측 중앙",center:"중앙","center-right":"우측 중앙","bottom-left":"좌측 하단","bottom-center":"하단 중앙","bottom-right":"우측 하단",free:"직접 지정"},roles:{cover:"표지",hook:"후킹",problem:"문제",insight:"인사이트",example:"예시",data:"데이터",summary:"요약",cta:"행동 유도"},locked:"잠김",unlocked:"열림",noCard:"선택된 카드 없음",generatedMeta:"생성 메타데이터",lockedHelp:"잠긴 카드는 일괄 생성과 재시도에서 제외됩니다.",retryCard:"이 카드 재시도",actions:{copyPrompt:"프롬프트 복사",copyCopy:"문구 복사",openImage:"이미지 열기",downloadCard:"다운로드"},status:{draft:"초안",queued:"대기",generating:"생성 중",generated:"완료",error:"오류",skipped:"제외",locked:"잠김"},progress:{generating:"생성 중 {done}/{total}",summary:"완료 {done}/{total}",detail:"대기 {queued} · 오류 {errors} · 제외 {skipped}",cardGenerating:"이 카드를 생성 중입니다."},planner:{structured:"구조화 JSON",jsonMode:"JSON 모드",repaired:"보정됨",fallback:"기본 초안",jsonOnlyHelp:"초안은 JSON만 만들고 이미지는 나중에 생성합니다.",error:"초안 생성 실패"}},Ow={appName:"이미지 생성기",imageModelLabel:"모델",imageModelAria:"이미지 모델 선택",nodeModeHint:"노드 모드에서는 노드를 눌러 프롬프트를 수정한 뒤 생성하세요. 오른쪽 패널의 설정 (품질/크기)은 새로 만드는 모든 결과에 적용됩니다."},Iw={openAria:"설정 열기",openTitle:"설정",closeAria:"설정 닫기",closeTitle:"캔버스로 돌아가기",navAria:"설정 섹션",contentAria:"설정 내용",jumpTo:"{section} 섹션으로 이동",eyebrow:"작업공간 설정",title:"설정",subtitle:"계정, 화면, 앞으로 늘어날 작업공간 옵션을 이곳에 모아 생성 흐름은 가볍게 유지합니다.",sections:{account:{title:"계정",hint:"OAuth 상태"},generation:{title:"생성",hint:"모델 기본값"},appearance:{title:"화면",hint:"라이트/다크"},language:{title:"언어",hint:"UI 문구"},future:{title:"예정",hint:"확장 공간"}},account:{primaryEyebrow:"현재 공급자",oauthTitle:"OAuth 사용 중",oauthBody:"현재 생성은 Codex OAuth 세션으로 실행됩니다. 이 빌드에서는 API-Key 생성 모드가 비활성화되어 있습니다.",apiSourceEnv:"OPENAI_API_KEY 감지됨",apiSourceConfig:"config.json API 키 감지됨",apiTitle:"Configured but disabled",apiBody:"env/config에서 API 키를 찾았지만, 지금 ima2-gen은 OAuth 전용으로 동작합니다. 이 상태 표시를 숨기고 싶을 때만 키를 제거하세요.",apiDisabled:"비활성화",apiUnknown:"상태 불명"},imageModel:{title:"이미지 모델",body:"앞으로 생성 요청에 사용할 OAuth 이미지 모델을 선택합니다.",gpt54Mini:"GPT-5.4 Mini",gpt54:"GPT-5.4",gpt55:"GPT-5.5",gpt53CodexSpark:"GPT-5.3 Codex Spark — 이미지 생성 미지원",unsupportedHelp:"기본값은 GPT-5.4 Mini입니다. GPT-5.3 Codex Spark는 OAuth 모델 상태에 보일 수 있지만 image_generation 도구를 지원하지 않습니다."},appearance:{themeTitle:"테마",themeBody:"이 기기에서 사용할 테마 스타일과 밝기를 선택합니다."},language:{title:"언어",body:"생성 프롬프트와 무관하게 인터페이스 언어만 바꿉니다."},future:{title:"나중을 위한 자리",body:"OAuth 복구 도구나 작업공간 옵션이 실제로 필요해지면 이곳에 추가합니다."}},Lw={loading:"세션 불러오는 중...",addFirst:"+ 첫 노드 추가",addRootTitle:"루트 노드 추가",hint:"핸들을 빈 공간으로 드래그하면 새 브랜치가 생깁니다. Delete 또는 Backspace로 삭제할 수 있습니다."},Hw={title:"{provider} 사용 불가",ariaLabel:"{provider} 사용 불가"},kw={label:"언어",ko:"한국어",en:"English"},Bw={label:"테마",modeLabel:"밝기",styleLabel:"테마 스타일",system:"시스템",dark:"다크",light:"라이트",family:{default:"기본",gpt:"GPT",claude:"Claude",gemini:"Gemini",grok:"Grok"}},qw={close:"닫기",details:"자세한 원본 오류 보기",unknown:{title:"알 수 없는 오류가 발생했어요",body:"잠시 후 다시 시도해 주세요. 문제가 계속되면 원본 오류 메시지를 복사해 제보해 주세요."},moderationRefused:{title:"프롬프트가 모더레이션에 걸렸어요",body:"표현 수위를 낮추거나 다른 문구로 바꿔 보세요. 레퍼런스 이미지의 선정적/폭력적 요소도 영향을 줄 수 있어요.",cta:"프롬프트 수정"},emptyResponse:{title:"이미지가 돌아오지 않았어요",body:"Codex가 응답을 보냈지만 이미지 데이터가 비어 있었어요. 모더레이션 문제가 아니라 일시적 오류이거나 지원되지 않는 옵션 조합일 수 있어요. 다시 시도하거나 크기·품질·모델을 바꿔 보세요.",cta:"다시 시도"},upstream5xx:{title:"OpenAI 서버가 혼잡합니다",body:"잠시 후 다시 시도하면 대부분 해결돼요. 상태 페이지(status.openai.com)도 확인해 보세요.",cta:"다시 시도"},authChatgptExpired:{title:"Codex ChatGPT 로그인이 만료됐어요",body:"터미널에서 `npx @openai/codex login`을 다시 실행한 뒤 앱을 새로고침해 주세요.",cta:"새로고침"},authApiKeyInvalid:{title:"API 키 인증 실패",body:"키가 잘못됐거나 한도/조직 권한 문제예요. 본 앱은 API-Key 모드가 비활성화되어 있어 OAuth(ChatGPT 로그인)로 전환하는 편이 좋아요.",cta:"확인"},networkFailed:{title:"네트워크 연결 실패",body:"OpenAI 또는 로컬 런타임 서비스에 연결하지 못했어요. 먼저 새로고침하고, 계속되면 VPN/방화벽과 `ima2 doctor`에 표시되는 포트를 확인해 주세요.",cta:"새로고침"},oauthUnavailable:{title:"OAuth 프록시를 사용할 수 없어요",body:"OAuth 프록시가 아직 시작 중이거나, 사용할 수 없거나, fallback 포트로 이동했을 수 있어요. 먼저 새로고침하고, 계속되면 `ima2 doctor`의 OAuth URL을 확인해 주세요.",cta:"새로고침"},invalidRequest:{title:"이미지 요청을 수정해야 해요",body:"생성 요청의 일부 값이 올바르지 않습니다. 아래 원본 오류를 확인한 뒤 프롬프트나 크기를 수정해 다시 시도해 주세요.",cta:"입력 수정"},apikeyDisabled:{title:"API-Key 모드가 비활성화되어 있어요",body:"본 앱은 OAuth(ChatGPT 로그인) 전용으로 동작합니다. 공급자를 OAuth로 전환해 주세요.",cta:"확인"}},Uw={title:"프롬프트 라이브러리",saveTitle:"프롬프트 라이브러리에 저장",save:"저장",saved:"프롬프트를 저장했습니다",saveFailed:"저장에 실패했습니다",name:"이름",tags:"태그",search:"프롬프트 검색...",favorites:"즐겨찾기",load:"불러오기",insert:"삽입",inserted:"프롬프트를 삽입했습니다",removeInserted:"삽입한 프롬프트 {name} 제거",favorite:"즐겨찾기",unfavorite:"즐겨찾기 해제",empty:"저장된 프롬프트가 없어요.",content:"내용",copy:"복사",untitled:"제목 없음",addNew:"새 프롬프트 추가",import:"불러오기",importFiles:".txt 또는 .md 파일 불러오기",dropImport:".txt 또는 .md 파일을 놓으면 프롬프트로 가져옵니다",imported:"프롬프트 {count}개를 가져왔습니다",importFailed:"가져오기에 실패했습니다",importNoValidFiles:".txt 또는 .md 프롬프트 파일이 없습니다."},Gw={common:rw,toast:sw,inflight:cw,size:uw,sizeConfirm:dw,quality:fw,moderation:hw,format:mw,count:pw,multimode:gw,metadata:yw,generate:vw,billing:xw,history:bw,panel:Sw,prompt:ww,canvas:Nw,gallery:_w,node:Ew,nodeBatch:Cw,edge:Tw,provider:Mw,cost:Aw,result:jw,session:zw,uiMode:Rw,cardNews:Dw,sidebar:Ow,settings:Iw,nodeCanvas:Lw,apiDisabled:Hw,language:kw,theme:Bw,errorCard:qw,promptLibrary:Uw},Vw={ok:"OK",cancel:"Cancel",delete:"Delete",close:"Close",saving:"Saving...",loading:"Loading..."},Yw={localStorageFull:"Local storage is full — recent state may not persist.",refLimitExceeded:"References are capped at 5. Extra images were dropped.",refTooLarge:"Image is too large. Convert to JPEG/PNG or lower the resolution and try again.",refNotBase64:"Image file is corrupted or uses an unsupported encoding.",refEmpty:"Empty image file. Please pick a different file.",refHeicUnsupported:"HEIC/HEIF is not supported. Convert to JPEG or PNG and try again.",noCurrentImageForRef:"No current image to use as reference.",refSlotFull:"Reference slots are full (max 5).",currentImageLoadFailed:"Failed to load current image.",addedCurrentAsRef:"Added current image as a reference.",sessionLoadFailed:"Failed to load session.",sessionCreateFailed:"Failed to create session.",sessionRenameFailed:"Failed to rename session.",sessionDeleteFailed:"Failed to delete session.",promptRequired:"Enter a prompt.",nodeCreated:"Node {id} created ({elapsed}s)",nodeCreateFailed:"Node generation failed.",generatedBatch:"Generated {count} images in {elapsed}s.",generatedSingle:"Generated in {elapsed}s.",generateFailed:"Generation failed.",sessionReloadedElsewhere:"Graph version changed, so the latest graph was reloaded.",promptCopied:"Prompt copied",imageCopied:"Copied to clipboard",copyFailed:"Copy failed",openGeneratedDirFailed:"Could not open the image folder. Run ima2 doctor to check the storage path.",openGeneratedDirOpened:"Opened the generated image folder.",noPromptToFork:"No prompt to fork",forkStarted:"Prompt imported. Edit and generate again."},Pw={queued:"Queued",streaming:"Generating",decoding:"Finalizing"},$w={title:"Size",width:"Width",height:"Height",hint:"16px steps, max edge 3840, ratio up to 3:1, 655K–8.29M pixels",autoLabel:"Auto",autoSub:"Model pick",customLabel:"Custom",customSub:"Free form",customPlus:"+ Custom",customSlots:"Saved sizes",customSlot:"Custom",customSlotLimit:"Up to 3 custom sizes",saveCustomSlot:"Save custom size",replaceCustomSlot:"Replace slot",ratioFree:"Free",ratio21x9:"21:9",normalizedPreview:"Will send",noAdjustment:"No adjustment",squareMaxHint:"Square maximum is {size} because of the 8.29M pixel limit.",adjustedReasons:{snap:"snapped to 16px",maxEdge:"max edge",ratio:"ratio limit",minPixels:"minimum pixels",maxPixels:"maximum pixels",min:"minimum edge",max:"maximum edge",pixels:"pixel limit"}},Fw={title:"Size adjustment required",body:"The requested size is outside the image generation limits.",requested:"Requested size",adjusted:"Adjusted size",approve:"Approve and generate",cancel:"Cancel",reasonRatio:"The ratio exceeds the 3:1 limit.",reasonPixels:"The maximum pixel limit is exceeded.",reasonMinPixels:"The requested image has too few pixels.",reasonMin:"The size is below the minimum.",reasonMax:"The size is above the maximum.",reasonSnap:"The size must align to 16px increments."},Xw={title:"Quality",lowLabel:"Low",lowSub:"Fast",mediumLabel:"Medium",mediumSub:"Balanced",highLabel:"High",highSub:"Best"},Zw={title:"Moderation",autoLabel:"Auto",autoSub:"Standard filter",lowLabel:"Low",lowSub:"Relaxed filter",explain:"Auto uses the standard safety filter. Low relaxes limits so borderline prompts may pass through."},Kw={title:"Format"},Qw={title:"Count",customPlus:"+n",customLabel:"Custom count",highCountHint:"Higher counts can take longer with references or high quality.",minMaxHint:"Use 1–8 images.",decrease:"Decrease count",increase:"Increase count"},Jw={label:"Multimode",tooltip:"Generate a staged sequence from one prompt",shortHint:"one prompt sequence",maxStages:"Max stages",highCountHint:"Higher stage counts can take several minutes.",minMaxHint:"Use 1–8 stages.",composerBadge:"Sequence · up to {count}",composerAriaLabel:"Multimode prompt composer, up to {count} separate images",promptPlaceholder:"Describe the sequence. The app will ask for separate images, not a collage.",promptPlaceholderWithRefs:"Describe the staged sequence using the attached references.",toggleDisabledGenerating:"Wait for the current generation to finish",sequenceTitle:"Multimode sequence",sequenceProgress:"{returned}/{requested} images",stageLabel:"Stage {index}",generating:"Generating...",partialAlt:"Partial multimode preview",partial:"Generated {returned}/{requested} images in {elapsed}s.",complete:"Generated {returned}/{requested} images in {elapsed}s.",empty:"No image returned",error:"Generation failed",cancel:"Cancel"},Ww={restoreTitle:"Restore image settings",restoreBody:"This image contains ima2 generation metadata. Apply its prompt and settings, or attach it as a reference only.",applySettings:"Apply settings",useAsReferenceOnly:"Reference only",noMetadata:"No ima2 metadata found.",invalidMetadata:"Invalid image metadata.",unsupportedFormat:"Only PNG, JPEG, and WebP metadata can be restored.",readFailed:"Could not read image metadata.",applied:"Image settings restored.",sourceXmp:"XMP",sourcePngComment:"PNG comment",imageAlt:"Dropped image preview",prompt:"Prompt",size:"Size",quality:"Quality",model:"Model",source:"Source"},eN={button:"Generate",buttonLoading:"Generating ({n})"},tN={label:"API Status",checking:"Checking...",offline:"Offline",remaining:"${remaining} remaining",thisMonth:"${amount} this month",oauthFree:"OAuth · free via codex",apiDisabled:"API key disabled (OAuth only)",oauthMode:"OAuth mode"},nN={openGalleryAria:"Open gallery",openGalleryTitle:"Open full gallery"},aN={closeSettings:"Close settings",detailSettings:"Settings",toggleShow:"Show settings",toggleHide:"Hide settings",open:"Open",close:"Close"},iN={label:"Prompt",refCount:"Refs {count}/{max}",refChipTitle:"Reference {n}",refChipAlt:"Reference {n}",refRemoveAria:"Remove reference {n}",placeholder:"Describe the image you want. Drag & drop or paste to attach reference images...",placeholderWithRefs:"Describe what to do with the attached images...",attach:"Attach",attachTitle:"Attach reference images",useCurrent:"Use current",useCurrentTitle:"Use current result as a reference",directMode:"Direct",directModeActive:"1:1 Direct on",directModeTitle:"Pass prompt through verbatim (Direct mode)",hint:"Ctrl + Enter to generate",dropHere:"Drop to attach as reference (up to {max})"},lN={resultAlt:"result",imageViewerAria:"Generated image viewer. Use left and right arrow keys to move between images.",tokens:"{n} tokens",open:"Open Canvas",openAria:"Open image in canvas mode",close:"Close Canvas"},oN={today:"Today",yesterday:"Yesterday",thisWeek:"This week",earlier:"Earlier",imageAltFallback:"Generated image",deleteTitle:"Delete (10s undo)",deleteAria:"Delete image",ariaLabel:"Image gallery",title:"Gallery",total:"{n} total",totalFiltered:" / {n} total",sortByAria:"Sort by",sortByDate:"Date",sortBySession:"Session",favoriteFilterAria:"Favorite filter",filterAll:"All",filterFavorites:"Favorites",searchPlaceholder:"Search prompts or filenames",searchDisabledPlaceholder:"Search is disabled in session view",closeAria:"Close gallery",closeTitle:"Close (Esc)",sessionLabel:"Session {name}",standalone:"Standalone images",emptySessions:"No sessions saved yet.",emptyAll:"No images yet. Create one first.",emptyFavorites:"No favorite images yet.",noResults:"No results.",storageNoticeTitle:"Storage notice",storageNoticeRecoverable:"Sorry for the scare. Recent versions moved the gallery folder from the installed package to your user data folder. Your old images may still be in the previous generated folder. Run ima2 doctor or open the recovery guide.",storageNoticeNotFound:"Sorry for the scare. We could not find a previous generated folder on this machine. If the old global install folder was replaced during update, automatic recovery may not be possible. Run ima2 doctor and check the recovery guide for manual search steps.",storageNoticeUnknown:"Storage status could not be checked. If the gallery looks empty after an update, run ima2 doctor to inspect the image folder.",openGeneratedDir:"Open folder",openGeneratedDirTitle:"Open generated image folder",cardNewsSet:"Card News set",cardNewsCard:"Card News card",openCardNewsSet:"Open set",openCardNewsSetFailed:"Could not open the Card News set.",copyCardNewsSetPath:"Copy path",cardNewsPathCopied:"Card News set path copied.",downloadCardNewsManifest:"Manifest",cardNewsCount:"{n} cards",deleted:"Deleted: {filename}",undo:"Undo",secondsSuffix:"{n}s",permanentDeleted:"Permanently deleted: {filename}",deleteFailed:"Could not delete image.",restoreFailed:"Could not restore image.",favoriteTitle:"Add to favorites",unfavoriteTitle:"Remove from favorites",favoriteAria:"Add to favorites",unfavoriteAria:"Remove from favorites"},rN={empty:"Empty",pending:"Generating",reconciling:"Syncing",reconcilingPhase:"Syncing · {phase}",ready:"Done · {elapsed}s",readyWithSearch:"Done · {elapsed}s · searched {searches}",stale:"Stale",staleWithError:"Stale: {error}",assetMissing:"Asset missing",assetMissingWithError:"Asset missing: {error}",error:"Error: {error}",errorUnknown:"unknown",nodeImageAlt:"Node image",partialImageAlt:"Partial node image preview",noAsset:"No asset",stateStale:"State stale",noImage:"No image",editPromptPlaceholder:"Edit prompt...",promptPlaceholder:"Prompt...",regenerate:"Regen",newVariation:"New variant",generate:"Gen",generateTitle:"Generate node image",addChild:"Child",addChildTitle:"Add child node",duplicateBranch:"Branch",duplicateBranchTitle:"Duplicate as a new branch root",deleteTitle:"Delete",regenerateTitle:"Regenerate this node in place",newVariationTitle:"Create a new sibling variant under the same parent",parentImageRequired:"Generate the parent image first.",attachRef:"Attach",attachRefTitle:"Attach node reference images",refAlt:"Node reference {n}",removeRef:"Remove reference {n}",dropRefs:"Drop images here",nodeRefsUnsupportedForEdit:"Extra references are only supported on root nodes for now.",nodeRefsUsedWithParent:"Used together with the parent image.",classicRefsParkedTitle:"Classic references are parked",classicRefsParkedBody:"These images belong to the classic composer and are inactive in node mode.",clearParkedRefs:"Clear parked references"},sN={selectionOn:"Selecting",selectionOff:"Select",selectAll:"Select all",summary:"{selected} selected · {missing} missing · {stale} affected",generateMissing:"Generate missing",regenerateSelected:"Regenerate selected",stopRemaining:"Stop remaining",stopping:"Stopping",clear:"Clear",noneSelected:"No nodes selected.",parentRequired:"{count} selected node(s) need a ready parent image first.",nothingToRun:"No selected nodes need generation.",stopQueued:"The current node will finish, then the remaining queue will stop.",failed:"Stopped after {done}/{total} node(s).",finished:"Finished {done}/{total} node(s).",staleBecauseParentChanged:"An upstream node was regenerated; refresh this node when needed."},cN={disconnect:"Disconnect",disconnectTitle:"Disconnect selected edge",disconnected:"Connection removed.",parentConflict:"A node can only have one parent connection."},uN={authTitle:"Authentication",apiLabel:"API Key",oauthNotReady:"OAuth proxy is not ready yet.",codexLoginRequired:"Codex login required.",codexLoginHint:"Run `codex login` in your terminal, then refresh this page.",oauthStarting:"OAuth proxy is starting. Try again in a few seconds.",serverUnreachable:"Cannot reach the server. Make sure the backend is running.",apiInvalid:"API key is missing or invalid. Check OPENAI_API_KEY in the server's .env.",availableTitle:"{name} available",availableAria:"{name}: available",unavailableAria:"{name}: unavailable",availableSr:"(available)",unavailableSr:"(unavailable)"},dN={free:"free",approx:"~${amount}",multimodeApprox:"up to ~${amount} ({count})",label:"Est. cost"},fN={download:"Download",copyImage:"Copy image",copyPrompt:"Copy prompt",continueHere:"Continue here",continueHereTitle:"Import this image's prompt and keep working",delete:"Delete",deleteTitle:"Move to trash",more:"More",permanentDelete:"Permanently delete",permanentDeleteConfirm:'Permanently delete "{filename}"? This cannot be undone.'},hN={switchTitle:"Switch session",loading:"Loading...",newSession:"New session",newSessionTitle:"New session",renameTitle:"Rename",renamePrompt:"Session name",deleteTitle:"Delete",deleteConfirm:'Delete session "{title}"? This cannot be undone.',empty:"No sessions yet",firstGraph:"My first graph",untitled:"Untitled session",assetAbortedError:"Generation did not finish cleanly. Retry from this node."},mN={ariaLabel:"UI mode",classic:"Classic",node:"Node",cardNews:"Card News"},pN={workspace:"Card News workspace",composer:"Card News",composerHint:"Templates are visual snapshots; output size is set separately.",topic:"Topic",topicPlaceholder:"e.g. Exam comeback plan",audience:"Audience",audiencePlaceholder:"e.g. Parents",goal:"Goal",goalPlaceholder:"e.g. Book a consultation",brief:"Brief",briefPlaceholder:"Describe the card news content, required points, and exclusions.",outputSize:"Output size",customSize:"Custom",draft:"Draft outline",drafting:"Drafting...",generateSet:"Generate set",batchGenerate:"Batch generate",generating:"Generating...",generated:"Generated {count} cards.",missingGeneratedCard:"The generation response did not include this card.",error:"Card generation failed.",imageTemplate:"Image template",roleTemplate:"Card structure",newTemplateLater:"Custom templates are planned after the dev MVP",emptyTitle:"Waiting for a draft",emptyBody:"Use the left setup panel to prepare the card deck.",inspector:"Card inspector",cardTitle:"Card title",headline:"Headline",body:"Body",visualPrompt:"Image prompt",summaryCopy:"Summary copy",designPrompt:"Scene / design prompt",textFields:"Text boxes",addTextField:"Add text box",removeTextField:"Remove",noTextFields:"No text boxes yet.",textFieldText:"Text",textKind:"Kind",placement:"Placement",renderMode:"Render mode",hierarchyLabel:"Hierarchy",textTooLong:"Text exceeds the suggested length.",selectTextField:"Select text box: {text}",textKinds:{headline:"Headline",body:"Supporting text",caption:"Caption",cta:"CTA",badge:"Badge",number:"Number"},renderModes:{"in-image":"In image","ui-only":"UI only"},hierarchy:{primary:"Primary",secondary:"Secondary",supporting:"Supporting"},placements:{"top-left":"Top-left","top-center":"Top-center","top-right":"Top-right","center-left":"Center-left",center:"Center","center-right":"Center-right","bottom-left":"Bottom-left","bottom-center":"Bottom-center","bottom-right":"Bottom-right",free:"Free"},roles:{cover:"Cover",hook:"Hook",problem:"Problem",insight:"Insight",example:"Example",data:"Data",summary:"Summary",cta:"CTA"},locked:"Locked",unlocked:"Unlocked",noCard:"No card selected",generatedMeta:"Generated metadata",lockedHelp:"Locked cards are excluded from batch generation and retry.",retryCard:"Retry this card",actions:{copyPrompt:"Copy prompt",copyCopy:"Copy copy",openImage:"Open image",downloadCard:"Download"},status:{draft:"Draft",queued:"Queued",generating:"Generating",generated:"Done",error:"Error",skipped:"Skipped",locked:"Locked"},progress:{generating:"Generating {done}/{total}",summary:"Done {done}/{total}",detail:"{queued} queued · {errors} errors · {skipped} skipped",cardGenerating:"Generating this card."},planner:{structured:"Structured JSON",jsonMode:"JSON mode",repaired:"Repaired",fallback:"Fallback draft",jsonOnlyHelp:"Draft creates JSON only. Images are generated later.",error:"Draft failed"}},gN={appName:"Image Generator",imageModelLabel:"Model",imageModelAria:"Choose image model",nodeModeHint:"In node mode, click a node to edit its prompt and generate. Settings on the right panel (quality/size) apply to every new result."},yN={openAria:"Open settings",openTitle:"Settings",closeAria:"Close settings",closeTitle:"Return to canvas",navAria:"Settings sections",contentAria:"Settings content",jumpTo:"Jump to {section}",eyebrow:"Workspace settings",title:"Settings",subtitle:"Account, display, and future workspace controls live here so the generator stays focused.",sections:{account:{title:"Account",hint:"OAuth status"},generation:{title:"Generation",hint:"Model defaults"},appearance:{title:"Appearance",hint:"Light and dark"},language:{title:"Language",hint:"Interface copy"},future:{title:"Future",hint:"Reserved"}},account:{primaryEyebrow:"Active provider",oauthTitle:"OAuth is active",oauthBody:"Generation currently runs through your Codex OAuth session. API-key generation remains disabled in this build.",apiSourceEnv:"OPENAI_API_KEY detected",apiSourceConfig:"config.json API key detected",apiTitle:"Configured but disabled",apiBody:"ima2-gen found an API key in env/config, but the app is OAuth-only right now. Remove the key only if you do not want this status shown.",apiDisabled:"Disabled",apiUnknown:"Status unknown"},imageModel:{title:"Image model",body:"Choose the OAuth model used for future image generations.",gpt54Mini:"GPT-5.4 Mini",gpt54:"GPT-5.4",gpt55:"GPT-5.5",gpt53CodexSpark:"GPT-5.3 Codex Spark — unsupported for images",unsupportedHelp:"Default is GPT-5.4 Mini. GPT-5.3 Codex Spark may appear in OAuth model status, but it does not support the image_generation tool."},appearance:{themeTitle:"Theme",themeBody:"Pick a theme style and brightness for this device."},language:{title:"Language",body:"Switch the UI language without changing generated content."},future:{title:"Reserved for later",body:"Future provider repair and workspace controls will appear here when they become useful."}},vN={loading:"Loading session...",addFirst:"+ Add first node",addRootTitle:"Add root node",hint:"Drag a handle into empty space to branch. Press Delete or Backspace to remove."},xN={title:"{provider} unavailable",ariaLabel:"{provider} unavailable"},bN={label:"Language",ko:"한국어",en:"English"},SN={label:"Theme",modeLabel:"Brightness",styleLabel:"Theme style",system:"System",dark:"Dark",light:"Light",family:{default:"Default",gpt:"GPT",claude:"Claude",gemini:"Gemini",grok:"Grok"}},wN={close:"Close",details:"Show raw error details",unknown:{title:"An unexpected error occurred",body:"Please try again shortly. If it persists, copy the raw error message below and report it."},moderationRefused:{title:"Prompt blocked by moderation",body:"Soften the wording or rephrase. Sensitive/violent content in reference images can also trigger this.",cta:"Edit prompt"},emptyResponse:{title:"No image was returned",body:"Codex responded but didn't include image data. This isn't a moderation block — it's likely a transient hiccup or an unsupported size/quality/model combination. Retry, or try a different size or model.",cta:"Retry"},upstream5xx:{title:"OpenAI is currently busy",body:"Retrying usually resolves this. Check status.openai.com if it persists.",cta:"Retry"},authChatgptExpired:{title:"Codex ChatGPT session expired",body:"Run `npx @openai/codex login` in your terminal, then reload this app.",cta:"Reload"},authApiKeyInvalid:{title:"API key authentication failed",body:"The key is invalid, revoked, out of quota, or tied to the wrong org. This app runs in OAuth mode, so switch to ChatGPT login.",cta:"OK"},networkFailed:{title:"Network connection failed",body:"Could not reach OpenAI or the local runtime service. Reload first; if it persists, check VPN/firewall and the port shown by `ima2 doctor`.",cta:"Reload"},oauthUnavailable:{title:"OAuth proxy unavailable",body:"The OAuth proxy is starting, unavailable, or moved to a fallback port. Reload first; if it persists, run `ima2 doctor` and check the reported OAuth URL.",cta:"Reload"},invalidRequest:{title:"Image request needs changes",body:"One or more generation parameters are invalid. Check the raw error details below, then edit the prompt or size and try again.",cta:"Edit input"},apikeyDisabled:{title:"API-key mode is disabled",body:"This app is OAuth-only (ChatGPT login). Switch the provider to OAuth.",cta:"OK"}},NN={title:"Prompt Library",saveTitle:"Save to Prompt Library",save:"Save",saved:"Prompt saved",saveFailed:"Save failed",name:"Name",tags:"Tags",search:"Search prompts...",favorites:"Favorites",load:"Load",insert:"Insert",inserted:"Prompt inserted",removeInserted:"Remove inserted prompt {name}",favorite:"Favorite",unfavorite:"Unfavorite",empty:"No saved prompts yet.",content:"Content",copy:"Copy",untitled:"Untitled",addNew:"Add new prompt",import:"Import",importFiles:"Import .txt or .md files",dropImport:"Drop .txt or .md files to import prompts",imported:"Imported {count} prompt(s)",importFailed:"Import failed",importNoValidFiles:"No .txt or .md prompt files found."},_N={common:Vw,toast:Yw,inflight:Pw,size:$w,sizeConfirm:Fw,quality:Xw,moderation:Zw,format:Kw,count:Qw,multimode:Jw,metadata:Ww,generate:eN,billing:tN,history:nN,panel:aN,prompt:iN,canvas:lN,gallery:oN,node:rN,nodeBatch:sN,edge:cN,provider:uN,cost:dN,result:fN,session:hN,uiMode:mN,cardNews:pN,sidebar:gN,settings:yN,nodeCanvas:vN,apiDisabled:xN,language:bN,theme:SN,errorCard:wN,promptLibrary:NN},cy={ko:Gw,en:_N};function uy(t,a){return a.split(".").reduce((l,o)=>{if(l!=null)return l[o]},t)}function EN(t,a){return t.replace(/\{(\w+)\}/g,(l,o)=>o in a?String(a[o]):`{${o}}`)}function pe(t,a){const l=Y.getState().locale;return Q0(l,t,a)}function Q0(t,a,l){const o=uy(cy[t],a),s=typeof o=="string"?o:uy(cy.en,a),c=typeof s=="string"?s:a;return l?EN(c,l):c}function Ne(){const t=Y(a=>a.locale);return{locale:t,t:(a,l)=>Q0(t,a,l)}}const CN=["ko","en"];function TN(){try{const t=localStorage.getItem("ima2.locale");if(t==="ko"||t==="en")return t}catch{}return typeof navigator<"u"&&(navigator.language||"").toLowerCase().startsWith("ko")?"ko":"en"}function MN(t){try{localStorage.setItem("ima2.locale",t)}catch{}}function AN(t){return Math.round(t/16)*16}const ii=16,qf=3840,Yd=655360,Ls=8294400,jN=3,sl=3,dy=Math.floor(Math.sqrt(Ls)/ii)*ii,J0=ii,zN=qf,bs=jN;function fy(t){return Math.floor(t/16)*16}function $s(t){return Math.ceil(t/16)*16}function tn(t){return Math.min(zN,Math.max(J0,t))}function Aa(t,a){const l=typeof t=="number"?t:Number.parseInt(t,10);return Number.isFinite(l)?l:a}function ci(t,a){t.includes(a)||t.push(a)}function hy(t,a){const l=AN(t);return l!==t&&ci(a,"snap"),l}function my(t,a){return t<J0&&ci(a,"min"),t>qf&&ci(a,"maxEdge"),tn(t)}function py(t,a,l){return t>a*bs?(ci(l,"ratio"),{w:t,h:tn($s(t/bs))}):a>t*bs?(ci(l,"ratio"),{w:tn($s(a/bs)),h:a}):{w:t,h:a}}function RN(t,a,l){if(t*a<Yd){ci(l,"minPixels");const d=Math.sqrt(Yd/(t*a));let m=tn($s(t*d)),y=tn($s(a*d));for(;m*y<Yd;)m<=y?m=tn(m+ii):y=tn(y+ii);return{w:m,h:y}}if(t*a<=Ls)return{w:t,h:a};ci(l,"maxPixels");const o=Math.sqrt(Ls/(t*a));let s=tn(fy(t*o)),c=tn(fy(a*o));for(;s*c>Ls;)s>=c?s=tn(s-ii):c=tn(c-ii);return{w:s,h:c}}function Uf(t,a,l,o){const s=[],c=Aa(t,l),d=Aa(a,o);let m=my(hy(c,s),s),y=my(hy(d,s),s);return{w:m,h:y}=py(m,y,s),{w:m,h:y}=RN(m,y,s),{w:m,h:y}=py(m,y,s),{requestedW:c,requestedH:d,w:m,h:y,adjusted:m!==c||y!==d,reasons:s}}function W0(t,a,l,o){const s=Uf(t,a,l,o);return{w:s.w,h:s.h}}const DN=[{id:"free",label:"Free",w:0,h:0},{id:"1:1",label:"1:1",w:1,h:1},{id:"3:2",label:"3:2",w:3,h:2},{id:"2:3",label:"2:3",w:2,h:3},{id:"16:9",label:"16:9",w:16,h:9},{id:"9:16",label:"9:16",w:9,h:16},{id:"21:9",label:"21:9",w:21,h:9},{id:"9:21",label:"9:21",w:9,h:21}];function ON(t,a){return`${t}x${a}`}function IN(t,a=1024){if(t.id==="free")return null;const l=a,o=t.w>=t.h,s=o?Math.round(l*t.w/t.h):l,c=o?l:Math.round(l*t.h/t.w);return W0(s,c,s,c)}function lc(t){const a=W0(t.w,t.h,2400,1024);return{...t,w:a.w,h:a.h,label:t.label||`${a.w}×${a.h}`}}function hl(t){return t.slice(0,sl).map(lc)}function LN(t,a){const l=lc(a),o=t.findIndex(s=>s.id===l.id);return o>=0?hl(t.map((s,c)=>c===o?l:s)):t.length>=sl?hl(t):hl([...t,l])}function HN(t,a,l){const o=lc({...l,id:a});return hl(t.map(s=>s.id===a?o:s))}const kN=[{value:"1024x1024",label:"1024×1024",sub:"1:1"},{value:"1536x1024",label:"1536×1024",sub:"3:2"},{value:"1024x1536",label:"1024×1536",sub:"2:3"}],BN=[{value:"1360x1024",label:"1360×1024",sub:"4:3"},{value:"1024x1360",label:"1024×1360",sub:"3:4"},{value:"1824x1024",label:"1824×1024",sub:"16:9"}],qN=[{value:"1024x1824",label:"1024×1824",sub:"9:16"},{value:"2048x2048",label:"2048×2048",sub:"2K 1:1"},{value:"2048x1152",label:"2048×1152",sub:"2K 16:9"}],UN=[{value:"1152x2048",label:"1152×2048",sub:"2K 9:16"},{value:"3840x2160",label:"3840×2160",sub:"4K 16:9"},{value:"2160x3840",label:"2160×3840",sub:"4K 9:16"}];function GN(){return[{value:"auto",label:pe("size.autoLabel"),sub:pe("size.autoSub")},{value:"custom",label:pe("size.customLabel"),sub:pe("size.customSub")}]}const VN="gpt-5.4-mini",ev="ima2.imageModel",cl=[{value:"gpt-5.4-mini",shortLabel:"5.4m",fullLabelKey:"settings.imageModel.gpt54Mini"},{value:"gpt-5.4",shortLabel:"5.4",fullLabelKey:"settings.imageModel.gpt54"},{value:"gpt-5.5",shortLabel:"5.5",fullLabelKey:"settings.imageModel.gpt55"}],YN=[{value:"gpt-5.3-codex-spark",fullLabelKey:"settings.imageModel.gpt53CodexSpark"}];function tv(t){return cl.some(a=>a.value===t)}function nv(t){return t?cl.find(a=>a.value===t)?.shortLabel??t:null}const il=()=>"nc_"+Math.random().toString(36).slice(2,10);function gy(t,a){return{x:t*360,y:a*320}}function PN(t,a){return t.find(l=>l.target===a)??null}function $N(t,a,l){return t.some(o=>o.target===l&&o.source!==a)}function Ea(t,a){const l=new Map(t.map(o=>[o.id,o]));return t.map(o=>{const s=PN(a,o.id),d=(s?l.get(s.source):null)?.data.serverNodeId??null;return o.data.parentServerNodeId===d?o:{...o,data:{...o.data,parentServerNodeId:d}}})}const FN=360,av=320;function XN(t,a,l){const o=new Set(l.filter(s=>s.source===t).map(s=>s.target));return a.filter(s=>o.has(s.id))}function yy(t){const a=t.filter(o=>!o.data.parentServerNodeId);if(a.length===0)return gy(0,0);const l=Math.max(...a.map(o=>o.position.y));return{x:gy(0,0).x,y:l+av}}function vy(t,a,l){const o=XN(t.id,a,l),s=t.position.x+FN;if(o.length===0)return{x:s,y:t.position.y};const c=Math.max(...o.map(d=>d.position.y));return{x:s,y:c+av}}const iv="ima2.nodeRefs.v1";function Gf(){try{const t=localStorage.getItem(iv);if(!t)return{};const a=JSON.parse(t);return a&&typeof a=="object"?a:{}}catch{return{}}}function lv(t){try{localStorage.setItem(iv,JSON.stringify(t))}catch{}}function ZN(t,a){if(!t)return[];const l=Gf()[t]?.[a];return Array.isArray(l)?l.filter(o=>typeof o=="string"):[]}function Hs(t,a,l){if(!t)return;const o=Gf(),s={...o[t]??{}};l.length===0?delete s[a]:s[a]=l,o[t]=s,lv(o)}function Pd(t,a){Hs(t,a,[])}function KN(t,a){if(!t)return;const l=Gf(),o=l[t];if(!o)return;const s=new Set(a);for(const c of Object.keys(o))s.has(c)||delete o[c];l[t]=o,lv(l)}function QN(t,a,l){const o=new Set(t.map(m=>m.id));if(!o.has(l))return[];const s=new Map;for(const m of o)s.set(m,new Set);for(const m of a)!o.has(m.source)||!o.has(m.target)||(s.get(m.source)?.add(m.target),s.get(m.target)?.add(m.source));const c=new Set,d=[l];for(let m=0;m<d.length;m++){const y=d[m];if(!c.has(y)){c.add(y);for(const p of s.get(y)??[])c.has(p)||d.push(p)}}return t.filter(m=>c.has(m.id)).map(m=>m.id)}function ov(t){return t.filter(a=>a.selected).map(a=>a.id)}function Mo(t,a){const l=new Set(a);return t.map(o=>({...o,selected:l.has(o.id)}))}function JN(t,a,l,o){const s=new Set(QN(t,a,l));if(!s.size)return t;if(!o)return Mo(t,s);const c=t.find(y=>y.id===l),d=t.some(y=>s.has(y.id)&&y.selected),m=new Set(ov(t));if(d)c?.selected?m.delete(l):m.add(l);else for(const y of s)m.add(y);return Mo(t,m)}function rv(t){return t.data.status==="ready"&&!!t.data.imageUrl}function WN(t,a,l){const o=new Set(l),s=new Set(t.map(v=>v.id)),c=new Map,d=new Map;for(const v of o)s.has(v)&&(c.set(v,0),d.set(v,[]));for(const v of a)!o.has(v.source)||!o.has(v.target)||(d.get(v.source)?.push(v.target),c.set(v.target,(c.get(v.target)??0)+1));const m=t.map(v=>v.id),y=m.filter(v=>o.has(v)&&(c.get(v)??0)===0),p=[];for(let v=0;v<y.length;v++){const x=y[v];p.push(x);for(const S of d.get(x)??[])c.set(S,(c.get(S)??0)-1),(c.get(S)??0)===0&&y.push(S)}const g=new Set(p);return p.concat(m.filter(v=>o.has(v)&&!g.has(v)))}function sv(t,a){const l=new Set(a),o=new Set,s=new Map;for(const d of t){const m=s.get(d.source)??[];m.push(d.target),s.set(d.source,m)}const c=[...l];for(let d=0;d<c.length;d++)for(const m of s.get(c[d])??[])l.has(m)||o.has(m)||(o.add(m),c.push(m));return[...o]}function e_(t,a,l){const o=new Set(l);return t.filter(s=>s.source===a&&!o.has(s.target)).map(s=>s.target)}function t_(t,a,l){const o=new Set(l),s=new Map(t.map(d=>[d.id,d])),c=[];for(const d of a){if(!o.has(d.target)||o.has(d.source))continue;s.get(d.source)?.data.serverNodeId||c.push(d.target)}return c}const Ao={REF_TOO_LARGE:{surface:"toast",toastKey:"toast.refTooLarge"},REF_NOT_BASE64:{surface:"toast",toastKey:"toast.refNotBase64"},REF_EMPTY:{surface:"toast",toastKey:"toast.refEmpty"},REF_TOO_MANY:{surface:"toast",toastKey:"toast.refLimitExceeded"},MODERATION_REFUSED:{surface:"card",cardKey:"errorCard.moderationRefused",cta:"dismiss"},SAFETY_REFUSAL:{surface:"card",cardKey:"errorCard.moderationRefused",cta:"dismiss"},EMPTY_RESPONSE:{surface:"card",cardKey:"errorCard.emptyResponse",cta:"dismiss"},UPSTREAM_5XX:{surface:"card",cardKey:"errorCard.upstream5xx",cta:"retry"},AUTH_CHATGPT_EXPIRED:{surface:"card",cardKey:"errorCard.authChatgptExpired",cta:"reauth"},AUTH_API_KEY_INVALID:{surface:"card",cardKey:"errorCard.authApiKeyInvalid",cta:"dismiss"},NETWORK_FAILED:{surface:"card",cardKey:"errorCard.networkFailed",cta:"reload"},OAUTH_UNAVAILABLE:{surface:"card",cardKey:"errorCard.oauthUnavailable",cta:"reload"},INVALID_REQUEST:{surface:"card",cardKey:"errorCard.invalidRequest",cta:"dismiss"},INVALID_MODERATION:{surface:"toast",toastKey:"toast.generateFailed"},APIKEY_DISABLED:{surface:"card",cardKey:"errorCard.apikeyDisabled",cta:"dismiss"},DB_ERROR:{surface:"toast",toastKey:"toast.generateFailed"},UNKNOWN:{surface:"toast",toastKey:"toast.generateFailed"}};function n_(t){const a=(t||"").toLowerCase();return a?a.includes("moderation_blocked")||a.includes("moderation refused")?"MODERATION_REFUSED":a.includes("no image data returned")?"EMPTY_RESPONSE":a.includes("token is expired")||a.includes("sign in again")||a.includes("access token")&&a.includes("expired")||a.includes("token")&&a.includes("expired")&&!a.includes("api key")?"AUTH_CHATGPT_EXPIRED":a.includes("incorrect api key")||a.includes("invalid authentication")||a.includes("exceeded your current quota")||a.includes("incorrect organization")?"AUTH_API_KEY_INVALID":a.includes("failed to fetch")||a.includes("econnrefused")||a.includes("econnreset")||a.includes("enotfound")||a.includes("etimedout")||a.includes("network error")?"NETWORK_FAILED":a.includes("oauth")&&(a.includes("not running")||a.includes("unavailable")||a.includes("not ready"))?"OAUTH_UNAVAILABLE":a.includes("invalid_request_error")||a.includes("invalid_value")||a.includes("invalid size")||a.includes("invalid request")||a.includes("requested resolution")||a.includes("minimum pixel budget")||a.includes("unsupported value")?"INVALID_REQUEST":a.includes("an error occurred while processing")||/\b5\d\d\b/.test(a)?"UPSTREAM_5XX":"UNKNOWN":"UNKNOWN"}function a_(t){const a=t,l=typeof a?.message=="string"?a.message:String(t??""),o=typeof a?.code=="string"?a.code:"",s=o&&o in Ao?o:n_(l),c=Ao[s]??Ao.UNKNOWN;return{code:s,spec:c,message:l}}function $d(t,a){const{code:l,spec:o,message:s}=a_(t);if(o.surface==="card")a.showErrorCard(l,{fallbackMessage:s});else{const c=o.toastKey?pe(o.toastKey):s||pe("toast.generateFailed");a.showToast(c,!0)}return{code:l,message:s}}const Vf=!0,cv=!1;function i_(t,a){return a?a.filename&&t.filename===a.filename?!0:t.image===a.image:!1}function l_(t,a){return t.findIndex(l=>i_(l,a))}function o_(t,a,l){if(t.length===0)return null;if(l==="first")return t[0]??null;if(l==="last")return t[t.length-1]??null;const o=l_(t,a);if(o<0)return null;const s=l==="previous"?o-1:o+1;return t[s]??null}function xy(t,a){const l=t.findIndex(o=>o.filename===a);return l<0?null:t[l+1]??t[l-1]??null}function r_(){try{const t=localStorage.getItem("ima2.rightPanelOpen");return t===null?!0:JSON.parse(t)===!0}catch{return!0}}function s_(){try{const t=localStorage.getItem("ima2.uiMode");if(t==="card-news")return cv?t:"classic";if(t==="node")return Vf?t:"classic";if(t==="classic")return t}catch{}return"classic"}function Fd(){try{const t=localStorage.getItem("ima2:theme");if(t==="system"||t==="dark"||t==="light")return t}catch{}return"system"}function by(){try{const t=localStorage.getItem("ima2:themeFamily");if(t&&X0.includes(t))return t}catch{}return"default"}function Sy(){try{const t=localStorage.getItem(ev);if(tv(t))return t}catch{}return VN}function wy(t){try{localStorage.setItem(ev,t)}catch{}}function Ss(t){return t==="dark"||t==="light"?t:typeof window>"u"||typeof window.matchMedia!="function"?"dark":window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}const uv=18e4;function Xd(t,a){return[...a.map(l=>l.text.trim()).filter(Boolean),t.trim()].filter(Boolean).join(`
22
+
23
+ `)}function Zd(t){const a=t.meta??{},l=t.kind==="classic"||t.kind==="node"||t.kind==="multimode"?t.kind:a.kind==="classic"||a.kind==="node"||a.kind==="multimode"?a.kind:void 0;return{id:t.requestId,prompt:typeof t.prompt=="string"?t.prompt:"",startedAt:t.startedAt,phase:typeof t.phase=="string"?t.phase:void 0,sessionId:typeof a.sessionId=="string"?a.sessionId:null,parentNodeId:typeof a.parentNodeId=="string"?a.parentNodeId:null,clientNodeId:typeof a.clientNodeId=="string"?a.clientNodeId:null,kind:l}}function Kd(){try{const t=localStorage.getItem("ima2.inFlight");if(!t)return[];const a=JSON.parse(t);if(!Array.isArray(a))return[];const l=Date.now();return a.filter(o=>o&&typeof o.id=="string"&&typeof o.prompt=="string"&&typeof o.startedAt=="number"&&l-o.startedAt<uv).map(o=>({id:o.id,prompt:o.prompt,startedAt:o.startedAt,phase:typeof o.phase=="string"?o.phase:void 0,sessionId:typeof o.sessionId=="string"?o.sessionId:null,parentNodeId:typeof o.parentNodeId=="string"?o.parentNodeId:null,clientNodeId:typeof o.clientNodeId=="string"?o.clientNodeId:null,kind:o.kind==="classic"||o.kind==="node"||o.kind==="multimode"?o.kind:void 0}))}catch{return[]}}function Gn(t){try{localStorage.setItem("ima2.inFlight",JSON.stringify(t))}catch(a){const l=window;if(!l.__ima2QuotaWarned){l.__ima2QuotaWarned=!0,console.warn("[ima2] localStorage write failed:",a);try{Y.getState().showToast(pe("toast.localStorageFull"),!0)}catch{}}}}function Ny(){try{const t=localStorage.getItem("ima2.selectedFilename");return typeof t=="string"&&t.length>0?t:null}catch{return null}}function ti(t){try{t?localStorage.setItem("ima2.selectedFilename",t):localStorage.removeItem("ima2.selectedFilename")}catch{}}function c_(){try{const t=localStorage.getItem("ima2.activeSessionId");return typeof t=="string"&&t.length>0?t:null}catch{return null}}function Qd(t){try{t?localStorage.setItem("ima2.activeSessionId",t):localStorage.removeItem("ima2.activeSessionId")}catch{}}const ul=500,wa=5;function u_(t){return t==="classic"||t==="edit"||t==="generate"||t==="card-news-card"||t==="card-news-set"?t:null}function _y(t){return{image:t.url,url:t.url,filename:t.filename,thumb:t.url,prompt:t.prompt??void 0,size:t.size??void 0,quality:t.quality??void 0,format:t.format,model:t.model??void 0,provider:t.provider,usage:t.usage??void 0,createdAt:t.createdAt,sessionId:t.sessionId??null,nodeId:t.nodeId??null,clientNodeId:t.clientNodeId??null,requestId:t.requestId??null,kind:u_(t.kind),setId:t.setId??null,cardId:t.cardId??null,cardOrder:t.cardOrder??null,headline:t.headline??null,body:t.body??null,cards:t.cards,refsCount:t.refsCount??0,isFavorite:t.isFavorite??!1,sequenceId:t.sequenceId??null,sequenceIndex:t.sequenceIndex??null,sequenceTotalRequested:t.sequenceTotalRequested??null,sequenceTotalReturned:t.sequenceTotalReturned??null,sequenceStatus:t.sequenceStatus??null}}function Jd(t){return t.replace(/^data:[^;]+;base64,/,"")}async function Ey(t,a="reference.png"){const l=await fetch(t);if(!l.ok)throw new Error(`reference fetch failed: ${l.status}`);const o=await l.blob(),s=new File([o],a,{type:o.type||"image/png"});return bf(s,{preserveTransparency:!1})}const ll="source-right",bo="target-left";function ws(t,a,l,o){return`${t}:${l??"auto"}->${a}:${o??"auto"}`}function d_(t,a){return t&&t.startsWith(`${a}-`)?t:null}function f_(t){switch(t){case"source-top":return"target-bottom";case"source-right":return"target-left";case"source-bottom":return"target-top";case"source-left":return"target-right";default:return null}}function dv(t){const a=t.nodes.map(o=>{const s=o.data??{},c=typeof s.imageUrl=="string"&&s.imageUrl.length>0?s.imageUrl:null,d=typeof s.serverNodeId=="string"&&s.serverNodeId.length>0?`/generated/${s.serverNodeId}.png`:null,m=c??d,y={clientId:o.id,serverNodeId:s.serverNodeId??null,parentServerNodeId:s.parentServerNodeId??null,prompt:typeof s.prompt=="string"?s.prompt:"",imageUrl:m,status:s.status??(m?"ready":"empty"),pendingRequestId:s.pendingRequestId??null,recoveryRequestId:s.recoveryRequestId??null,pendingPhase:s.pendingPhase??null,pendingStartedAt:typeof s.pendingStartedAt=="number"?s.pendingStartedAt:null,partialImageUrl:null,error:s.error,elapsed:s.elapsed,webSearchCalls:s.webSearchCalls,model:s.model??null,size:s.size??null,referenceImages:ZN(t.id,o.id)};return{id:o.id,type:"imageNode",position:{x:o.x,y:o.y},data:y}}),l=t.edges.map(o=>{const s=o.data??{};return{id:o.id,source:o.source,target:o.target,sourceHandle:typeof s.sourceHandle=="string"?s.sourceHandle:null,targetHandle:typeof s.targetHandle=="string"?s.targetHandle:null}});return{graphNodes:Ea(a,l),graphEdges:l,graphVersion:t.graphVersion}}function h_(t,a){return`${t}x${a}`}function Wd(t){return Math.min(8,Math.max(1,Math.trunc(t||1)))}const m_=new Set(["1024x1024","1536x1024","1024x1536","1360x1024","1024x1360","1824x1024","1024x1824","2048x2048","2048x1152","1152x2048","3840x2160","2160x3840","auto","custom"]);function p_(t){if(typeof t!="string")return{};if(m_.has(t))return{preset:t};const a=/^(\d+)x(\d+)$/.exec(t);if(!a)return{};const l=Number(a[1]),o=Number(a[2]);return!Number.isFinite(l)||!Number.isFinite(o)?{}:{preset:"custom",w:l,h:o}}function g_(t){return t==="low"||t==="medium"||t==="high"}function y_(t){return t==="png"||t==="jpeg"||t==="webp"}function v_(t){return t==="low"||t==="auto"}function x_(t,a){const l={},o=a.userPrompt||a.prompt;typeof o=="string"&&(l.prompt=o),g_(a.quality)&&(l.quality=a.quality),y_(a.format)&&(l.format=a.format),v_(a.moderation)&&(l.moderation=a.moderation),(a.promptMode==="auto"||a.promptMode==="direct")&&(l.promptMode=a.promptMode),a.model&&tv(a.model)&&(l.imageModel=a.model);const s=p_(a.size);return s.preset&&(l.sizePreset=s.preset),s.preset==="custom"&&s.w&&s.h&&(l.customW=Aa(s.w,t.customW),l.customH=Aa(s.h,t.customH)),l}function Ns(t,a){if(t.sizePreset!=="custom")return null;const l=Uf(t.customW,t.customH,t.customW,t.customH);return l.adjusted?{requestedW:l.requestedW,requestedH:l.requestedH,adjustedW:l.w,adjustedH:l.h,reasons:l.reasons,continuation:a}:null}const Y=F0((t,a)=>({provider:"oauth",quality:"medium",sizePreset:"1024x1024",customW:1920,customH:1088,format:"png",moderation:"low",count:1,multimode:!1,multimodeMaxImages:4,multimodeSequence:null,multimodeAbortController:null,promptMode:"auto",prompt:"",insertedPrompts:[],referenceImages:[],promptLibraryOpen:!1,promptLibrary:{prompts:[],folders:[]},promptLibraryLoading:!1,galleryFavorites:new Set,browserId:Z0(),canvasOpen:!1,canvasZoom:1,addReferences:async l=>{const o=wa-a().referenceImages.length,s=l.slice(0,Math.max(0,o)),c=s.filter(xs),d=s.filter(g=>!xs(g)),y=(await Promise.all(d.map(async g=>{try{return await bf(g,{preserveTransparency:sy(g)})}catch(v){return console.warn("[addReferences] compress failed",v),null}}))).filter(g=>!!g);t(g=>({referenceImages:[...g.referenceImages,...y].slice(0,wa)})),c.length>0&&a().showToast(pe("toast.refHeicUnsupported"),!0),d.length-y.length>0&&a().showToast(pe("toast.refTooLarge"),!0),l.length>o&&a().showToast(pe("toast.refLimitExceeded"),!0)},addReferenceDataUrl:l=>{t(o=>o.referenceImages.length>=wa?o:{referenceImages:[...o.referenceImages,l]})},metadataRestore:null,readDroppedImageMetadata:async(l,o=null)=>{if(!l.type.startsWith("image/"))return!1;let s="";try{s=await aw(l);const c=await $1({filename:l.name,dataUrl:s});return c.metadata?(t({metadataRestore:{filename:l.name,image:s,metadata:c.metadata,source:c.source??"xmp",targetNodeId:o}}),!0):!1}catch{return a().showToast(pe("metadata.readFailed"),!0),!1}},applyMetadataRestore:()=>{const l=a().metadataRestore;if(!l)return;const o=x_(a(),l.metadata);if(o.imageModel&&wy(o.imageModel),l.targetNodeId&&typeof o.prompt=="string"){const s=o.prompt;t({...o,metadataRestore:null,graphNodes:a().graphNodes.map(c=>c.id===l.targetNodeId?{...c,data:{...c.data,prompt:s}}:c)}),a().scheduleGraphSave()}else t({...o,metadataRestore:null});a().showToast(pe("metadata.applied"))},cancelMetadataRestore:()=>t({metadataRestore:null}),addMetadataRestoreAsReference:()=>{const l=a().metadataRestore;l&&(l.targetNodeId?a().addNodeReferenceDataUrl(l.targetNodeId,l.image):a().addReferenceDataUrl(l.image),t({metadataRestore:null}))},removeReference:l=>{t(o=>({referenceImages:o.referenceImages.filter((s,c)=>c!==l)}))},clearReferences:()=>t({referenceImages:[]}),useCurrentAsReference:async()=>{const l=a().currentImage;if(!l){a().showToast(pe("toast.noCurrentImageForRef"),!0);return}if(a().referenceImages.length>=wa){a().showToast(pe("toast.refSlotFull"),!0);return}let o;try{o=await Ey(l.image,l.filename||"current-reference.png")}catch{a().showToast(pe("toast.currentImageLoadFailed"),!0);return}t(s=>({referenceImages:[...s.referenceImages,o].slice(0,wa)})),a().showToast(pe("toast.addedCurrentAsRef"))},activeGenerations:Kd().length,unseenGeneratedCount:0,inFlight:Kd(),startInFlightPolling:()=>{if(typeof window>"u")return;const l=window;if(l.__ima2InflightTimer)return;const o=async()=>{if(a().inFlight.length===0){l.__ima2InflightTimer&&(clearInterval(l.__ima2InflightTimer),l.__ima2InflightTimer=void 0);return}try{const c=a().uiMode==="node"?"node":"classic",d=c==="node"?a().activeSessionId??void 0:void 0,{jobs:m}=await Ud({kind:c,sessionId:d}),y=new Map(m.map(S=>[S.requestId,S]));let p=!1;const g=Date.now(),v=5e3,x=[];for(const S of a().inFlight){if(!((S.kind??"classic")===c&&(c!=="node"||(S.sessionId??null)===(d??null)))){x.push(S);continue}if(!y.has(S.id)&&g-S.startedAt>v){p=!0;continue}const D=y.get(S.id);if(D){const j=Zd(D),A={...S,phase:j.phase,sessionId:j.sessionId,parentNodeId:j.parentNodeId,clientNodeId:j.clientNodeId,kind:j.kind};(A.phase!==S.phase||A.sessionId!==S.sessionId||A.parentNodeId!==S.parentNodeId||A.clientNodeId!==S.clientNodeId||A.kind!==S.kind)&&(p=!0),x.push(A)}else x.push(S)}p&&(Gn(x),t({inFlight:x,activeGenerations:x.length}))}catch{}try{const c=a().history.reduce((x,S)=>S.createdAt&&S.createdAt>x?S.createdAt:x,0),{items:d}=await xf({limit:ul,since:c}),m=d.map(_y),y=a().history,p=m.filter(x=>!y.some(S=>S.filename===x.filename));p.length>0&&t(x=>{const S=x.currentImage??p[0];return!x.currentImage&&p[0]?.filename&&ti(p[0].filename),{history:[...p,...x.history].slice(0,ul),currentImage:S}});const g=Date.now(),v=a().inFlight.filter(x=>g-x.startedAt<uv);v.length!==a().inFlight.length&&(Gn(v),t({inFlight:v,activeGenerations:v.length}))}catch{}};l.__ima2InflightTimer=window.setInterval(o,1500)},reconcileInflight:async()=>{try{const l=a().uiMode==="node"?"node":"classic",o=l==="node"?a().activeSessionId??void 0:void 0,{jobs:s}=await Ud({kind:l,sessionId:o}),c=new Map(s.map(g=>[g.requestId,g])),d=Date.now(),y=a().inFlight.flatMap(g=>{const v=c.get(g.id);if(v){const N=Zd(v);return[{...g,...N,prompt:g.prompt||N.prompt}]}return(g.kind??"classic")===l&&(l!=="node"||(g.sessionId??null)===(o??null))?d-g.startedAt<1e4?[g]:[]:[g]}),p=new Set(y.map(g=>g.id));for(const g of s)p.has(g.requestId)||y.push(Zd(g));Gn(y),t({inFlight:y,activeGenerations:y.length}),y.length>0&&a().startInFlightPolling()}catch{}},syncFromStorage:()=>{const l=Kd(),o=Ny(),s=Sy();t(c=>({inFlight:l,activeGenerations:l.length,imageModel:s,currentImage:o&&c.currentImage?.filename!==o?c.history.find(d=>d.filename===o)??c.currentImage:c.currentImage})),l.length>0&&a().startInFlightPolling()},currentImage:null,history:[],trashPending:null,toast:null,customSizeConfirm:null,errorCard:null,rightPanelOpen:r_(),toggleRightPanel:()=>t(l=>{const o=!l.rightPanelOpen;try{localStorage.setItem("ima2.rightPanelOpen",JSON.stringify(o))}catch{}return{rightPanelOpen:o}}),galleryOpen:!1,openGallery:()=>t({galleryOpen:!0}),closeGallery:()=>t({galleryOpen:!1}),imageModel:Sy(),settingsOpen:!1,activeSettingsSection:"account",openSettings:(l="account")=>t({settingsOpen:!0,activeSettingsSection:l}),closeSettings:()=>t({settingsOpen:!1}),toggleSettings:()=>t(l=>({settingsOpen:!l.settingsOpen,activeSettingsSection:l.settingsOpen?l.activeSettingsSection:"account"})),setActiveSettingsSection:l=>t({activeSettingsSection:l}),uiMode:s_(),setUIMode:l=>{const o=l==="card-news"&&!cv?"classic":l;try{localStorage.setItem("ima2.uiMode",o)}catch{}t({uiMode:o})},theme:Fd(),resolvedTheme:Ss(Fd()),themeFamily:by(),setTheme:l=>{try{localStorage.setItem("ima2:theme",l)}catch{}t({theme:l,resolvedTheme:Ss(l)})},setThemeFamily:l=>{try{localStorage.setItem("ima2:themeFamily",l)}catch{}t({themeFamily:l})},syncThemeFromStorage:()=>{const l=Fd();t({theme:l,resolvedTheme:Ss(l)})},syncThemeFamilyFromStorage:()=>{t({themeFamily:by()})},refreshResolvedTheme:()=>{t(l=>({resolvedTheme:Ss(l.theme)}))},locale:TN(),setLocale:l=>{MN(l),t({locale:l})},graphNodes:[],graphEdges:[],setGraphNodes:l=>{t({graphNodes:Ea(l,a().graphEdges)}),a().scheduleGraphSave()},setGraphEdges:l=>{t({graphEdges:l,graphNodes:Ea(a().graphNodes,l)}),a().scheduleGraphSave()},disconnectEdge:l=>{a().disconnectEdges([l])},disconnectEdges:l=>{const o=new Set(l);if(o.size===0)return;const s=a().graphEdges.filter(y=>o.has(y.id));if(s.length===0)return;const c=a().graphEdges.filter(y=>!o.has(y.id)),d=new Set(s.map(y=>y.target)),m=a().graphNodes.map(y=>{if(!d.has(y.id))return y;const p=c.find(v=>v.target===y.id),g=p?a().graphNodes.find(v=>v.id===p.source):null;return{...y,data:{...y.data,parentServerNodeId:g?.data.serverNodeId??null}}});t({graphNodes:Ea(m,c),graphEdges:c}),a().scheduleGraphSave(),a().flushGraphSave("edge-disconnect"),a().showToast(pe("edge.disconnected"))},nodeSelectionMode:!1,nodeBatchRunning:!1,nodeBatchStopping:!1,toggleNodeSelectionMode:()=>{const l=!a().nodeSelectionMode;t({nodeSelectionMode:l,...l?{}:{graphNodes:Mo(a().graphNodes,[])}})},selectAllGraphNodes:()=>{t({graphNodes:Mo(a().graphNodes,a().graphNodes.map(l=>l.id))})},selectNodeGraph:(l,o)=>{t({graphNodes:JN(a().graphNodes,a().graphEdges,l,o)})},clearNodeSelection:()=>{t({graphNodes:Mo(a().graphNodes,[])})},cancelNodeBatch:()=>{a().nodeBatchRunning&&(t({nodeBatchStopping:!0}),a().showToast(pe("nodeBatch.stopQueued")))},sessions:[],activeSessionId:null,activeSessionGraphVersion:null,sessionLoading:!1,async loadSessions(){try{const{sessions:l}=await F1();if(t({sessions:l}),!a().activeSessionId){const s=c_(),c=s?l.some(d=>d.id===s):!1;s&&c?await a().switchSession(s):await a().createAndSwitchSession(pe("session.firstGraph"))}}catch(l){console.warn("[sessions] load failed:",l)}},async switchSession(l){t({sessionLoading:!0}),await a().flushGraphSave("switch-session");try{const{session:o}=await K0(l),{graphNodes:s,graphEdges:c,graphVersion:d}=dv(o);t({activeSessionId:l,activeSessionGraphVersion:d,graphNodes:s,graphEdges:c,sessionLoading:!1}),Qd(l),await a().reconcileGraphPending().catch(()=>{})}catch(o){console.warn("[sessions] switch failed:",o),t({sessionLoading:!1}),a().showToast(pe("toast.sessionLoadFailed"),!0)}},async reconcileGraphPending(){const l=a().activeSessionId;if(!l)return;if(a().graphNodes.filter(s=>s.data?.pendingRequestId&&(s.data.status==="pending"||s.data.status==="reconciling")).length>0){let s=[];try{s=(await Ud({kind:"node",sessionId:l})).jobs}catch{s=[]}const c=new Map(s.map(p=>[p.requestId,p.phase])),d=Date.now(),m=1e4,y=a().graphNodes.map(p=>{const g=p.data?.pendingRequestId;if(!g||p.data.status!=="pending"&&p.data.status!=="reconciling")return p;if(c.has(g)){const S=c.get(g)??null;return{...p,data:{...p.data,status:"reconciling",pendingPhase:S}}}const v=p.data.pendingStartedAt??0;if(v&&d-v<m)return{...p,data:{...p.data,status:"reconciling"}};const x=!!p.data.imageUrl||!!p.data.serverNodeId;return{...p,data:{...p.data,pendingRequestId:null,pendingPhase:null,pendingStartedAt:null,partialImageUrl:null,status:x?"ready":"stale",error:x?void 0:pe("session.assetAbortedError")}}});t({graphNodes:y})}await gv(a,t).catch(()=>{})},async createAndSwitchSession(l){l==null&&(l=pe("session.untitled"));try{const{session:o}=await X1(l);t({sessions:[o,...a().sessions],activeSessionId:o.id,activeSessionGraphVersion:o.graphVersion,graphNodes:[],graphEdges:[]}),Qd(o.id)}catch(o){console.warn("[sessions] create failed:",o),a().showToast(pe("toast.sessionCreateFailed"),!0)}},async renameCurrentSession(l){const o=a().activeSessionId;if(o)try{await Z1(o,l),t({sessions:a().sessions.map(s=>s.id===o?{...s,title:l,updatedAt:Date.now()}:s)})}catch{a().showToast(pe("toast.sessionRenameFailed"),!0)}},async deleteSessionById(l){try{await K1(l);const o=a().sessions.filter(s=>s.id!==l);t({sessions:o}),a().activeSessionId===l&&(t({activeSessionId:null,activeSessionGraphVersion:null,graphNodes:[],graphEdges:[]}),Qd(null),o.length>0?await a().switchSession(o[0].id):await a().createAndSwitchSession(pe("session.firstGraph")))}catch{a().showToast(pe("toast.sessionDeleteFailed"),!0)}},scheduleGraphSave(){vv(a,t)},async flushGraphSave(l="manual"){await N_(a,t,l)},addRootNode:()=>{const l=il(),o={id:l,type:"imageNode",position:yy(a().graphNodes),data:{clientId:l,serverNodeId:null,parentServerNodeId:null,prompt:"",imageUrl:null,status:"empty",pendingRequestId:null,pendingPhase:null}};return t({graphNodes:[...a().graphNodes,o]}),a().scheduleGraphSave(),l},addChildNode:l=>{const o=a().graphNodes.find(m=>m.id===l);if(!o)return l;const s=il(),c={id:s,type:"imageNode",position:vy(o,a().graphNodes,a().graphEdges),data:{clientId:s,serverNodeId:null,parentServerNodeId:o.data.serverNodeId,prompt:"",imageUrl:null,status:"empty",pendingRequestId:null,pendingPhase:null}},d={id:ws(l,s,ll,bo),source:l,target:s,sourceHandle:ll,targetHandle:bo};return t({graphNodes:[...a().graphNodes,c],graphEdges:[...a().graphEdges,d]}),a().scheduleGraphSave(),s},addSiblingNode:l=>{const o=a().graphNodes.find(g=>g.id===l);if(!o)return l;const s=a().graphEdges.find(g=>g.target===l);if(!s){const g=il(),v={id:g,type:"imageNode",position:yy(a().graphNodes),data:{clientId:g,serverNodeId:null,parentServerNodeId:null,prompt:o.data.prompt,imageUrl:null,status:"empty",pendingRequestId:null,pendingPhase:null}};return t({graphNodes:[...a().graphNodes,v]}),a().scheduleGraphSave(),g}const c=s.source,d=a().graphNodes.find(g=>g.id===c);if(!d)return l;const m=il(),y={id:m,type:"imageNode",position:vy(d,a().graphNodes,a().graphEdges),data:{clientId:m,serverNodeId:null,parentServerNodeId:o.data.parentServerNodeId,prompt:o.data.prompt,imageUrl:null,status:"empty",pendingRequestId:null,pendingPhase:null}},p={id:ws(c,m,ll,bo),source:c,target:m,sourceHandle:ll,targetHandle:bo};return t({graphNodes:[...a().graphNodes,y],graphEdges:[...a().graphEdges,p]}),a().scheduleGraphSave(),m},updateNodePrompt:(l,o)=>{t({graphNodes:a().graphNodes.map(s=>s.id===l?{...s,data:{...s.data,prompt:o}}:s)}),a().scheduleGraphSave()},addNodeReferences:async(l,o)=>{const s=a().graphNodes.find(S=>S.id===l);if(!s)return;const c=s.data.referenceImages??[],d=wa-c.length;if(d<=0){a().showToast(pe("toast.refLimitExceeded"),!0);return}const m=o.slice(0,Math.max(0,d)),y=m.filter(xs),p=m.filter(S=>!xs(S)),v=(await Promise.all(p.map(async S=>{try{return await bf(S,{preserveTransparency:sy(S)})}catch(N){return console.warn("[addNodeReferences] compress failed",N),null}}))).filter(S=>!!S);if(v.length>0){const S=a().activeSessionId;t({graphNodes:a().graphNodes.map(N=>{if(N.id!==l)return N;const _=[...N.data.referenceImages??[],...v].slice(0,wa);return Hs(S,l,_),{...N,data:{...N.data,referenceImages:_}}})}),a().scheduleGraphSave()}y.length>0&&a().showToast(pe("toast.refHeicUnsupported"),!0),p.length-v.length>0&&a().showToast(pe("toast.refTooLarge"),!0),o.length>d&&a().showToast(pe("toast.refLimitExceeded"),!0)},addNodeReferenceDataUrl:(l,o)=>{a().graphNodes.find(c=>c.id===l)&&(t({graphNodes:a().graphNodes.map(c=>{if(c.id!==l)return c;const d=c.data.referenceImages??[];if(d.length>=wa)return c;const m=[...d,o];return Hs(a().activeSessionId,l,m),{...c,data:{...c.data,referenceImages:m}}})}),a().scheduleGraphSave())},removeNodeReference:(l,o)=>{t({graphNodes:a().graphNodes.map(s=>{if(s.id!==l)return s;const c=(s.data.referenceImages??[]).filter((d,m)=>m!==o);return Hs(a().activeSessionId,l,c),{...s,data:{...s.data,referenceImages:c}}})}),a().scheduleGraphSave()},clearNodeReferences:l=>{Pd(a().activeSessionId,l),t({graphNodes:a().graphNodes.map(o=>o.id===l?{...o,data:{...o.data,referenceImages:void 0}}:o)}),a().scheduleGraphSave()},duplicateBranchRoot:l=>{const o=a().graphNodes.find(d=>d.id===l);if(!o)return l;const s=il();a().graphNodes.filter(d=>!d.data.parentServerNodeId).length;const c={id:s,type:"imageNode",position:{x:o.position.x+420,y:o.position.y+40},data:{clientId:s,serverNodeId:null,parentServerNodeId:null,prompt:o.data.prompt,imageUrl:null,status:"empty",pendingRequestId:null,pendingPhase:null}};if(t({graphNodes:[...a().graphNodes,c]}),a().scheduleGraphSave(),o.data.imageUrl){const d=o.data.imageUrl;(async()=>{try{const m=await Ey(d,"node-reference.png");t({graphNodes:a().graphNodes.map(y=>y.id===s?{...y,data:{...y.data,referenceImages:[m]}}:y)})}catch{}})()}return s},async generateNode(l){const o=a().graphNodes.find(d=>d.id===l);if(!o)return;const{prompt:s}=o.data;if(!s.trim()){a().showToast(pe("toast.promptRequired"),!0);return}const c=Ns(a(),{kind:"node",clientId:l});if(c){t({customSizeConfirm:c});return}await a().runGenerateNode(l)},async generateNodeInPlace(l){const o=a().graphNodes.find(c=>c.id===l);if(!o)return;if(!o.data.prompt.trim()){a().showToast(pe("toast.promptRequired"),!0);return}const s=Ns(a(),{kind:"node-in-place",clientId:l});if(s){t({customSizeConfirm:s});return}await a().runGenerateNodeInPlace(l)},async generateNodeVariation(l,o){const s=a().graphNodes.find(d=>d.id===l);if(!s)return;if(!s.data.prompt.trim()){a().showToast(pe("toast.promptRequired"),!0);return}if(!o){const d=Ns(a(),{kind:"node-variation",clientId:l});if(d){t({customSizeConfirm:d});return}}const c=a().addSiblingNode(l);await a().runGenerateNodeInPlace(c,{sizeOverride:o})},async runGenerateNode(l,o){const c=a().graphNodes.find(d=>d.id===l)?.data.status==="ready"?a().addSiblingNode(l):l;await a().runGenerateNodeInPlace(c,{sizeOverride:o})},async runGenerateNodeInPlace(l,o={}){const s=a().graphNodes,c=Ea(s,a().graphEdges);c.some((w,B)=>w.data.parentServerNodeId!==s[B]?.data.parentServerNodeId)&&t({graphNodes:c});const d=c.find(w=>w.id===l);if(!d)return null;const{prompt:m,parentServerNodeId:y}=d.data;if(!m.trim())return a().showToast(pe("toast.promptRequired"),!0),null;const p=d.data.referenceImages??[],g=a(),v=o.sizeOverride??g.getResolvedSize(),x=o.parentServerNodeIdOverride!==void 0?o.parentServerNodeIdOverride:y;if(a().graphEdges.find(w=>w.target===l)&&!x)return a().showToast(pe("node.parentImageRequired"),!0),null;const N=g.activeSessionId,_=Date.now(),D=Math.random().toString(36).slice(2,6),j=`fn_${l}_${_}_${D}`,A=[...g.inFlight,{id:j,prompt:m,startedAt:_,kind:"node",sessionId:N,clientNodeId:l}];Gn(A),t({graphNodes:a().graphNodes.map(w=>w.id===l?{...w,data:{...w.data,status:"pending",pendingRequestId:j,recoveryRequestId:j,pendingPhase:"queued",pendingStartedAt:_,partialImageUrl:null,error:void 0,size:v}}:w),activeGenerations:g.activeGenerations+1,inFlight:A}),a().startInFlightPolling();let E=!0;try{const w=await D1({parentNodeId:x,prompt:m,quality:g.quality,size:v,format:g.format,moderation:g.moderation,model:g.imageModel,requestId:j,sessionId:N,clientNodeId:l,contextMode:"parent-plus-refs",searchMode:"on",...p.length?{references:p.map(Jd)}:{}},{onPartial:B=>{a().activeSessionId===N&&t({graphNodes:a().graphNodes.map(O=>O.id===l?{...O,data:{...O.data,status:"pending",partialImageUrl:B.image,pendingPhase:"partial"}}:O)})},onPhase:B=>{a().activeSessionId===N&&B.phase&&t({graphNodes:a().graphNodes.map(O=>O.id===l?{...O,data:{...O.data,pendingPhase:B.phase??O.data.pendingPhase}}:O)})}});return a().activeSessionId===N&&(t({graphNodes:a().graphNodes.map(B=>{if(B.id!==l)return B;const O={...B.data};return delete O.partialImageUrl,{...B,data:{...O,serverNodeId:w.nodeId,imageUrl:w.url,status:"ready",pendingRequestId:null,recoveryRequestId:null,pendingPhase:null,pendingStartedAt:null,elapsed:w.elapsed,webSearchCalls:w.webSearchCalls,model:w.model??null,size:w.size??v}}})}),E=!0,o.suppressToast||a().showToast(pe("toast.nodeCreated",{id:w.nodeId.slice(0,8),elapsed:w.elapsed}))),w.nodeId}catch(w){const B=w instanceof Error?w.message:pe("toast.nodeCreateFailed");return a().activeSessionId===N&&(t({graphNodes:a().graphNodes.map(O=>O.id===l?{...O,data:{...O.data,status:"error",pendingRequestId:null,pendingPhase:null,pendingStartedAt:null,partialImageUrl:null,error:B}}:O)}),E=!0,$d(w,a())),null}finally{const w=a().inFlight.filter(B=>B.id!==j);Gn(w),t({activeGenerations:Math.max(0,a().activeGenerations-1),inFlight:w}),a().activeSessionId===N&&E&&(a().scheduleGraphSave(),a().flushGraphSave("node-complete"))}},async runNodeBatch(l){if(a().nodeBatchRunning)return;const o=ov(a().graphNodes);if(o.length===0){a().showToast(pe("nodeBatch.noneSelected"),!0);return}const s=t_(a().graphNodes,a().graphEdges,o);if(s.length>0){a().showToast(pe("nodeBatch.parentRequired",{count:s.length}),!0);return}const c=WN(a().graphNodes,a().graphEdges,o),d=new Set(o),m=c.filter(g=>{if(l==="regenerate-all")return!0;const v=a().graphNodes.find(x=>x.id===g);return v?!rv(v):!1});if(m.length===0){a().showToast(pe("nodeBatch.nothingToRun"));return}t({nodeBatchRunning:!0,nodeBatchStopping:!1});const y=new Map;let p=0;try{for(const g of m){if(a().nodeBatchStopping)break;const v=a().graphEdges.find(D=>D.target===g),x=v?y.get(v.source)??a().graphNodes.find(D=>D.id===g)?.data.parentServerNodeId??null:null,S=await a().runGenerateNodeInPlace(g,{parentServerNodeIdOverride:x,suppressToast:!0});if(!S){a().showToast(pe("nodeBatch.failed",{done:p,total:m.length}),!0);break}p+=1,y.set(g,S);const N=e_(a().graphEdges,g,d),_=new Set(sv(a().graphEdges,d));t({graphNodes:a().graphNodes.map(D=>_.has(D.id)?{...D,data:{...D.data,status:"stale",parentServerNodeId:N.includes(D.id)?S:D.data.parentServerNodeId,error:pe("nodeBatch.staleBecauseParentChanged")}}:D)})}a().showToast(pe("nodeBatch.finished",{done:p,total:m.length})),a().scheduleGraphSave()}finally{t({nodeBatchRunning:!1,nodeBatchStopping:!1})}},deleteNode:l=>{const s=a().graphNodes.find(m=>m.id===l)?.data?.pendingRequestId;s&&ly(s),Pd(a().activeSessionId,l);const c=a().graphNodes.filter(m=>m.id!==l),d=a().graphEdges.filter(m=>m.source!==l&&m.target!==l);t({graphNodes:Ea(c,d),graphEdges:d}),a().scheduleGraphSave()},deleteNodes:l=>{const o=new Set(l);for(const d of o)Pd(a().activeSessionId,d);for(const d of a().graphNodes)o.has(d.id)&&d.data?.pendingRequestId&&ly(d.data.pendingRequestId);const s=a().graphNodes.filter(d=>!o.has(d.id)),c=a().graphEdges.filter(d=>!o.has(d.source)&&!o.has(d.target));t({graphNodes:Ea(s,c),graphEdges:c}),a().scheduleGraphSave()},addChildNodeAt:(l,o,s=ll)=>{const c=a().graphNodes.find(v=>v.id===l);if(!c)return l;const d=il(),m=d_(s,"source")??ll,y=f_(m)??bo,p={id:d,type:"imageNode",position:o,data:{clientId:d,serverNodeId:null,parentServerNodeId:c.data.serverNodeId,prompt:"",imageUrl:null,status:"empty",pendingRequestId:null,pendingPhase:null}},g={id:ws(l,d,m,y),source:l,target:d,sourceHandle:m,targetHandle:y};return t({graphNodes:[...a().graphNodes,p],graphEdges:[...a().graphEdges,g]}),a().scheduleGraphSave(),d},connectNodes:(l,o,s=null,c=null)=>{if(l===o||a().graphEdges.find(p=>p.source===l&&p.target===o))return;if($N(a().graphEdges,l,o)){a().showToast(pe("edge.parentConflict"),!0);return}if(!a().graphNodes.find(p=>p.id===l))return;const y=[...a().graphEdges,{id:ws(l,o,s,c),source:l,target:o,sourceHandle:s,targetHandle:c}];t({graphNodes:Ea(a().graphNodes,y),graphEdges:y}),a().scheduleGraphSave()},setProvider:l=>t({provider:l}),setQuality:l=>t({quality:l}),setSizePreset:l=>t({sizePreset:l}),setCustomSize:(l,o)=>t(s=>({customW:Aa(l,s.customW),customH:Aa(o,s.customH)})),setFormat:l=>t({format:l}),setModeration:l=>t({moderation:l}),setImageModel:l=>{wy(l),t({imageModel:l})},setCount:l=>t({count:Wd(l)}),setMultimode:l=>{l&&a().uiMode!=="classic"||t({multimode:l,multimodeSequence:l?a().multimodeSequence:null})},setMultimodeMaxImages:l=>t({multimodeMaxImages:Wd(l)}),setPromptMode:l=>t({promptMode:l}),setPrompt:l=>t({prompt:l}),insertPromptToComposer:l=>t(o=>({insertedPrompts:o.insertedPrompts.some(c=>c.id===l.id)?o.insertedPrompts:[...o.insertedPrompts,l]})),removeInsertedPromptFromComposer:l=>t(o=>({insertedPrompts:o.insertedPrompts.filter(s=>s.id!==l)})),clearInsertedPrompts:()=>t({insertedPrompts:[]}),selectHistory:l=>{ti(l.filename??null),t({currentImage:l,unseenGeneratedCount:0})},markGeneratedResultsSeen:()=>t({unseenGeneratedCount:0}),selectHistoryShortcutTarget:l=>{const o=o_(a().history,a().currentImage,l);o&&a().selectHistory(o)},trashHistoryItem:async l=>{if(!l.filename)return;const o=l.filename,s=a().currentImage,c=s?.filename===o,d=c?xy(a().history,o):s;try{const m=await V1(o);t(y=>({history:y.history.filter(p=>p.filename!==o),currentImage:d,trashPending:{filename:o,trashId:m.trashId,item:l,expiresAt:Date.now()+9500}})),c&&ti(d?.filename??null)}catch(m){console.error("[history] trash failed",m),a().showToast(pe("gallery.deleteFailed"),!0)}},restorePendingTrash:async()=>{const l=a().trashPending;if(l)try{await P1(l.filename,l.trashId),a().addHistoryItem(l.item),t({trashPending:null})}catch(o){console.error("[history] restore failed",o),a().showToast(pe("gallery.restoreFailed"),!0)}},clearPendingTrash:()=>t({trashPending:null}),permanentlyDeleteHistoryItemByClick:async l=>{if(!l.filename)return;const o=l.filename;if(!window.confirm(pe("result.permanentDeleteConfirm",{filename:o})))return;const c=a().currentImage,d=c?.filename===o,m=d?xy(a().history,o):c;try{await Y1(o),t(y=>({history:y.history.filter(p=>p.filename!==o),currentImage:m,trashPending:y.trashPending?.filename===o?null:y.trashPending})),d&&ti(m?.filename??null),a().showToast(pe("gallery.permanentDeleted",{filename:o}))}catch(y){console.error("[history] permanent delete failed",y),a().showToast(pe("gallery.deleteFailed"),!0)}},removeFromHistory:l=>{const o=a(),s=o.history.filter(d=>d.filename!==l),c=o.currentImage&&o.currentImage.filename===l?null:o.currentImage;t({history:s,currentImage:c}),c===null&&ti(null)},addHistoryItem:l=>{const o=a();if(o.history.some(d=>l.filename&&d.filename===l.filename))return;const c={...l,createdAt:l.createdAt||Date.now()};t({history:[c,...o.history].slice(0,ul)})},getResolvedSize:()=>{const{sizePreset:l,customW:o,customH:s}=a();return l==="custom"?`${o}x${s}`:l},async generate(){const l=a();if(!Xd(l.prompt,l.insertedPrompts))return;const s=l.uiMode==="classic"&&l.multimode,c=Ns(l,{kind:s?"multimode":"classic"});if(c){t({customSizeConfirm:c});return}if(s){await a().generateMultimode();return}await a().runGenerate()},async generateMultimode(l){const o=a();if(o.uiMode!=="classic"||o.multimodeAbortController)return;const s=Xd(o.prompt,o.insertedPrompts);if(!s)return;const c=l??o.getResolvedSize(),d=`mm_${Date.now()}_${Math.random().toString(36).slice(2,7)}`,m=new AbortController,y=Date.now(),p=Wd(o.multimodeMaxImages),g=[...o.inFlight,{id:d,prompt:s,startedAt:y,kind:"multimode"}],v={sequenceId:d,requestId:d,requested:p,returned:0,images:[],partials:[],status:"pending"};Gn(g),t({activeGenerations:o.activeGenerations+1,inFlight:g,multimodeAbortController:m,multimodeSequence:v}),a().startInFlightPolling();try{const x=await k1({prompt:s,quality:o.quality,size:c,format:o.format,moderation:o.moderation,provider:o.provider,maxImages:p,model:o.imageModel,requestId:d,mode:o.promptMode,...o.referenceImages.length?{references:o.referenceImages.map(Jd)}:{}},{onPartial:_=>{t(D=>{const j=D.multimodeSequence;return!j||j.requestId!==d?{}:{multimodeSequence:{...j,partials:[...j.partials,{image:_.image,index:_.index??null}].slice(-p)}}})},onImage:_=>{t(D=>{const j=D.multimodeSequence;return!j||j.requestId!==d?{}:j.images.some(E=>E.filename&&E.filename===_.filename)?{}:{multimodeSequence:{...j,sequenceId:_.sequenceId??j.sequenceId,returned:j.images.length+1,images:[...j.images,_],status:"partial"}}})}},{signal:m.signal}),S=x.images.map(_=>({..._,prompt:s,elapsed:Number.parseFloat(x.elapsed),provider:x.provider,usage:x.usage,quality:x.quality??o.quality,size:x.size??c,model:x.model??o.imageModel}));for(const _ of S)await ef(_,t,a);t({multimodeSequence:{sequenceId:x.sequenceId,requestId:d,requested:x.requested,returned:x.returned,images:S,partials:[],status:x.status,elapsed:x.elapsed}});const N=x.status==="complete"?"multimode.complete":"multimode.partial";a().showToast(pe(N,{returned:x.returned,requested:x.requested,elapsed:x.elapsed}))}catch(x){x.name==="AbortError"?t(S=>{const N=S.multimodeSequence;return!N||N.requestId!==d?{}:{multimodeSequence:{...N,status:N.images.length>0?"partial":"empty"}}}):(t(S=>{const N=S.multimodeSequence;return!N||N.requestId!==d?{}:{multimodeSequence:{...N,status:"error",error:x.message}}}),$d(x,a()))}finally{const x=a().inFlight.filter(S=>S.id!==d);Gn(x),t({activeGenerations:Math.max(0,a().activeGenerations-1),inFlight:x,multimodeAbortController:null})}},cancelMultimode:()=>{a().multimodeAbortController?.abort(),t(l=>{const o=l.multimodeSequence;return o?{multimodeAbortController:null,multimodeSequence:{...o,status:o.images.length>0?"partial":"empty"}}:{multimodeAbortController:null}})},async runGenerate(l){const o=a(),s=Xd(o.prompt,o.insertedPrompts);if(!s)return;const c=l??o.getResolvedSize(),d=`f_${Date.now()}_${Math.random().toString(36).slice(2,7)}`,m=Date.now(),y=[...o.inFlight,{id:d,prompt:s,startedAt:m}];Gn(y),t({activeGenerations:o.activeGenerations+1,inFlight:y}),a().startInFlightPolling();try{const p={prompt:s,quality:o.quality,size:c,format:o.format,moderation:o.moderation,provider:o.provider,n:o.count,model:o.imageModel,requestId:d,mode:o.promptMode,...o.referenceImages.length?{references:o.referenceImages.map(Jd)}:{}},g=await L1(p);if(iy(g)&&g.images.length>1){for(const v of g.images){const x={image:v.image,filename:v.filename,prompt:s,elapsed:g.elapsed,provider:g.provider,usage:g.usage,quality:g.quality??o.quality,size:g.size??c,model:g.model??o.imageModel};await ef(x,t,a)}a().showToast(pe("toast.generatedBatch",{count:g.images.length,elapsed:g.elapsed}))}else{let v;if(iy(g)){const x=g.images[0];v={image:x.image,filename:x.filename,prompt:s,elapsed:g.elapsed,provider:g.provider,usage:g.usage,quality:g.quality??o.quality,size:g.size??c,model:g.model??o.imageModel}}else v={image:g.image,filename:g.filename,prompt:s,elapsed:g.elapsed,provider:g.provider,usage:g.usage,quality:g.quality??o.quality,size:g.size??c,model:g.model??o.imageModel};await ef(v,t,a),a().showToast(pe("toast.generatedSingle",{elapsed:g.elapsed}))}}catch(p){$d(p,a())}finally{const p=a().inFlight.filter(g=>g.id!==d);Gn(p),t({activeGenerations:Math.max(0,a().activeGenerations-1),inFlight:p})}},async confirmCustomSizeAdjustment(){const l=a().customSizeConfirm;if(!l)return;const o=h_(l.adjustedW,l.adjustedH);if(t({customW:l.adjustedW,customH:l.adjustedH,customSizeConfirm:null}),l.continuation.kind==="classic"){await a().runGenerate(o);return}if(l.continuation.kind==="multimode"){await a().generateMultimode(o);return}if(l.continuation.kind==="node-in-place"){await a().runGenerateNodeInPlace(l.continuation.clientId,{sizeOverride:o});return}if(l.continuation.kind==="node-variation"){await a().generateNodeVariation(l.continuation.clientId,o);return}await a().runGenerateNode(l.continuation.clientId,o)},cancelCustomSizeAdjustment:()=>t({customSizeConfirm:null}),hydrateHistory(){(async()=>{try{const o=(await xf({limit:ul})).items.map(_y);if(o.length>0){const s=Ny(),c=s?o.find(d=>d.filename===s):null;t({history:o,currentImage:c??o[0]}),c||ti(o[0]?.filename??null)}}catch(l){console.warn("[history] load failed:",l)}})()},showToast(l,o=!1){t({toast:{message:l,error:o,id:Date.now()+Math.random()}})},showErrorCard(l,o){t({errorCard:{code:l,fallbackMessage:o?.fallbackMessage,id:Date.now()+Math.random()}})},dismissErrorCard(){t({errorCard:null})},togglePromptLibrary(){t(l=>({promptLibraryOpen:!l.promptLibraryOpen}))},async loadPromptLibrary(){t({promptLibraryLoading:!0});try{const l=await J1();t({promptLibrary:{prompts:l.prompts,folders:l.folders},promptLibraryLoading:!1})}catch(l){console.error("[PromptLibrary] load failed",l),t({promptLibraryLoading:!1})}},async savePromptToLibrary(l){try{await W1(l),await a().loadPromptLibrary(),a().showToast(pe("promptLibrary.saved"))}catch(o){console.error("[PromptLibrary] save failed",o),a().showToast(pe("promptLibrary.saveFailed"),!0)}},async deletePromptFromLibrary(l){try{await ew(l),await a().loadPromptLibrary()}catch(o){console.error("[PromptLibrary] delete failed",o)}},async togglePromptFavorite(l){try{await tw(l),await a().loadPromptLibrary()}catch(o){console.error("[PromptLibrary] favorite toggle failed",o)}},async importPromptsToLibrary(l){try{const o=[];for(const c of l){if(!/\.(txt|md)$/i.test(c.name))continue;const d=await c.text();if(!d.trim())continue;const m=c.name.replace(/\.(txt|md)$/i,"");o.push({name:m.trim()||pe("promptLibrary.untitled"),text:d.trim(),tags:[]})}if(o.length===0){a().showToast(pe("promptLibrary.importNoValidFiles"),!0);return}const s=await nw({prompts:o});await a().loadPromptLibrary(),a().showToast(pe("promptLibrary.imported",{count:s.promptsImported}))}catch(o){console.error("[PromptLibrary] import failed",o),a().showToast(pe("promptLibrary.importFailed"),!0)}},async toggleGalleryFavorite(l){try{const o=await q1(l);t(s=>{const c=new Set(s.galleryFavorites);return o.isFavorite?c.add(l):c.delete(l),{galleryFavorites:c}}),t(s=>({history:s.history.map(c=>c.filename===l?{...c,isFavorite:o.isFavorite}:c)}))}catch(o){console.error("[GalleryFavorite] toggle failed",o)}},openCanvas:()=>t({canvasOpen:!0,canvasZoom:1}),closeCanvas:()=>t({canvasOpen:!1}),setCanvasZoom:l=>t({canvasZoom:Math.max(.5,Math.min(3,l))}),resetCanvasZoom:()=>t({canvasZoom:1})})),b_=800,Cy="ima2.graphTabId";let pn=null,ks=!1,Bs=!1,ai=null,fv=0;function hv(){try{const t=sessionStorage.getItem(Cy);if(t)return t;const a=`tab_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`;return sessionStorage.setItem(Cy,a),a}catch{return"tab_unavailable"}}function mv(t){const a={...t};return delete a.referenceImages,delete a.partialImageUrl,t.status==="pending"||t.status==="reconciling"?{...a,status:"empty",pendingRequestId:null,recoveryRequestId:t.pendingRequestId??t.recoveryRequestId??null,pendingPhase:null,pendingStartedAt:null,error:void 0}:a}function pv(t){return t.map(a=>({id:a.id,source:a.source,target:a.target,data:{sourceHandle:a.sourceHandle??null,targetHandle:a.targetHandle??null}}))}async function gv(t,a){const l=t().activeSessionId;if(!l||t().graphNodes.filter(m=>!m.data.imageUrl&&!m.data.serverNodeId).length===0)return;let s=[];try{s=(await xf({sessionId:l,limit:ul})).items}catch{return}let c=!1;const d=t().graphNodes.map(m=>{if(m.data.imageUrl||m.data.serverNodeId)return m;const y=m.data.pendingStartedAt??0,p=m.data.pendingRequestId??m.data.recoveryRequestId??null,v=(p?s.find(x=>(x.sessionId??null)===l&&(x.requestId??null)===p):null)??s.find(x=>(x.sessionId??null)===l&&(x.clientNodeId??null)===m.id&&(!y||(x.createdAt??0)>=y));return v?(c=!0,{...m,data:{...m.data,status:"ready",imageUrl:v.url,serverNodeId:v.nodeId??m.data.serverNodeId,size:v.size??m.data.size??null,pendingRequestId:null,recoveryRequestId:null,pendingPhase:null,pendingStartedAt:null,partialImageUrl:null,error:void 0}}):m});c&&(a({graphNodes:d}),vv(t,a,"recovery"))}async function S_(t,a){const l=t().activeSessionId;if(!l)return;const{session:o}=await K0(l),{graphNodes:s,graphEdges:c,graphVersion:d}=dv(o);a({graphNodes:s,graphEdges:c,activeSessionGraphVersion:d}),t().showToast(pe("toast.sessionReloadedElsewhere"),!0),await gv(t,a).catch(()=>{})}async function w_(t,a,l){const o=t().activeSessionId,s=t().activeSessionGraphVersion;if(!o||s==null)return"skipped";const{graphNodes:c,graphEdges:d}=t(),m=c.map(g=>({id:g.id,x:g.position.x,y:g.position.y,data:mv(g.data)})),y=pv(d),p=`gs_${Date.now().toString(36)}_${++fv}`;try{const g=await Q1(o,s,m,y,{saveId:p,saveReason:l,tabId:hv()});return t().activeSessionId!==o?"skipped":(KN(o,t().graphNodes.map(v=>v.id)),a({activeSessionGraphVersion:g.graphVersion}),"saved")}catch(g){return g.status===409?(await S_(t,a),"conflict"):(console.warn("[sessions] save failed:",g),"failed")}}async function yv(t,a,l){if(ks){Bs=!0,ai&&await ai;return}ks=!0,ai=(async()=>{let o=l;do{Bs=!1;const s=await w_(t,a,o);if(s==="conflict"||s==="failed")break;o="queued"}while(Bs)})().finally(()=>{ks=!1,ai=null}),await ai}function vv(t,a,l="debounced"){const o=t();o.activeSessionId&&(o.sessionLoading||(pn&&clearTimeout(pn),pn=setTimeout(()=>{pn=null,yv(t,a,l)},b_)))}async function N_(t,a,l="manual"){let o=!1;if(pn&&(clearTimeout(pn),pn=null,o=!0),ks){Bs=!0,ai&&await ai;return}o&&await yv(t,a,l)}function __(t){const a=t();if(!a.activeSessionId||a.activeSessionGraphVersion==null)return;pn&&(clearTimeout(pn),pn=null);const l=a.graphNodes.map(d=>({id:d.id,x:d.position.x,y:d.position.y,data:mv(d.data)})),o=pv(a.graphEdges),s=`/api/sessions/${encodeURIComponent(a.activeSessionId)}/graph`,c=JSON.stringify({nodes:l,edges:o});try{fetch(s,{method:"PUT",headers:{"Content-Type":"application/json","If-Match":String(a.activeSessionGraphVersion),"X-Ima2-Graph-Save-Id":`gs_${Date.now().toString(36)}_${++fv}`,"X-Ima2-Graph-Save-Reason":"beforeunload","X-Ima2-Tab-Id":hv()},body:c,keepalive:!0})}catch{}}async function ef(t,a,l){const o=await iw(t.image).catch(()=>t.image),s=t.filename?`/generated/${t.filename}`:t.image,c={...t,thumb:o,url:s,createdAt:t.createdAt||Date.now()},d=[c,...l().history].slice(0,ul);ti(c.filename??null),a({history:d,currentImage:c,unseenGeneratedCount:l().unseenGeneratedCount+1})}function E_(){const{t}=Ne(),a=Y(o=>o.uiMode),l=Y(o=>o.setUIMode);return f.jsxs("div",{className:"ui-mode-switch",role:"tablist","aria-label":t("uiMode.ariaLabel"),children:[f.jsx("button",{type:"button",role:"tab","aria-selected":a==="classic",className:`ui-mode-switch__tab${a==="classic"?" active":""}`,onClick:()=>l("classic"),children:t("uiMode.classic")}),f.jsx("button",{type:"button",role:"tab","aria-selected":a==="node",className:`ui-mode-switch__tab${a==="node"?" active":""}`,onClick:()=>l("node"),children:t("uiMode.node")}),null]})}function Yf({text:t,mode:a,onClose:l}){const{t:o}=Ne(),s=Y(N=>N.savePromptToLibrary),[c,d]=L.useState(t.slice(0,30)),[m,y]=L.useState(t),[p,g]=L.useState(""),[v,x]=L.useState(!1),S=async()=>{m.trim()&&(x(!0),await s({name:c.trim()||m.slice(0,30),text:m.trim(),tags:p.split(",").map(N=>N.trim()).filter(Boolean),mode:a||void 0}),x(!1),l())};return f.jsxs("div",{className:"save-prompt-popover",onClick:N=>N.stopPropagation(),children:[f.jsxs("div",{className:"save-prompt-popover__header",children:[f.jsx("span",{children:o("promptLibrary.saveTitle")}),f.jsx("button",{className:"save-prompt-popover__close",onClick:l,"aria-label":o("common.close"),children:"×"})]}),f.jsxs("div",{className:"save-prompt-popover__body",children:[f.jsxs("label",{children:[o("promptLibrary.name"),f.jsx("input",{type:"text",value:c,onChange:N=>d(N.target.value),placeholder:m.slice(0,30)})]}),f.jsxs("label",{children:[o("promptLibrary.content"),f.jsx("textarea",{value:m,onChange:N=>y(N.target.value),placeholder:"Enter prompt...",rows:4,autoFocus:!0})]}),f.jsxs("label",{children:[o("promptLibrary.tags"),f.jsx("input",{type:"text",value:p,onChange:N=>g(N.target.value),placeholder:"cta, product, summer"})]})]}),f.jsx("div",{className:"save-prompt-popover__footer",children:f.jsx("button",{onClick:S,disabled:v||!m.trim(),className:"save-prompt-popover__save",children:o(v?"common.saving":"promptLibrary.save")})})]})}const ol=5;function C_(){const t=Y(M=>M.prompt),a=Y(M=>M.setPrompt),l=Y(M=>M.insertedPrompts),o=Y(M=>M.removeInsertedPromptFromComposer),s=Y(M=>M.generate),{t:c}=Ne(),d=Y(M=>M.referenceImages),m=Y(M=>M.addReferences),y=Y(M=>M.readDroppedImageMetadata),p=Y(M=>M.removeReference),g=Y(M=>M.useCurrentAsReference),v=Y(M=>M.currentImage),x=L.useRef(null),S=L.useRef(null),[N,_]=L.useState(!1),[D,j]=L.useState(!1),A=Y(M=>M.promptMode),E=Y(M=>M.setPromptMode),w=Y(M=>M.multimode),B=Y(M=>M.multimodeMaxImages),O=A==="direct",k=d.length<ol,F=w?d.length>0?c("multimode.promptPlaceholderWithRefs"):c("multimode.promptPlaceholder"):d.length>0?c("prompt.placeholderWithRefs"):c("prompt.placeholder"),K=async M=>{M.length!==0&&(M.length===1&&await y(M[0])||await m(M))},de=M=>{M.preventDefault(),_(!1);const T=Array.from(M.dataTransfer.files).filter(I=>I.type.startsWith("image/"));T.length>0&&K(T)},X=M=>{M.preventDefault(),N||_(!0)},te=M=>{M.currentTarget.contains(M.relatedTarget)||_(!1)},se=M=>{if(!M)return[];const T=[];for(const I of Array.from(M)){if(I.kind!=="file"||!I.type.startsWith("image/"))continue;const U=I.getAsFile();U&&T.push(U)}return T},z=M=>{if(!k)return;const T=se(M.clipboardData?.items??null);if(T.length===0)return;M.preventDefault();const I=ol-d.length;m(T.slice(0,I))};return L.useLayoutEffect(()=>{const M=S.current;M&&(M.style.height="auto",M.style.height=`${M.scrollHeight}px`)},[t]),L.useEffect(()=>{const M=T=>{const I=T.target,U=I?.tagName;if(U==="INPUT"||U==="TEXTAREA"||I?.isContentEditable)return;const Z=se(T.clipboardData?.items??null);if(Z.length===0||d.length>=ol)return;T.preventDefault();const ae=ol-d.length;m(Z.slice(0,ae))};return window.addEventListener("paste",M),()=>window.removeEventListener("paste",M)},[d.length,m]),f.jsxs("div",{className:`composer${N?" composer--drag":""}${O&&!w?" composer--direct":""}${w?" composer--multimode":""}`,role:"group","aria-label":w?c("multimode.composerAriaLabel",{count:B}):c("prompt.label"),onDrop:de,onDragOver:X,onDragLeave:te,onPaste:z,children:[f.jsxs("div",{className:"composer__header",children:[f.jsx("span",{className:"section-title composer__label",children:c("prompt.label")}),f.jsxs("div",{className:"composer__header-meta",children:[w&&f.jsx("span",{className:"composer__mode-badge",children:c("multimode.composerBadge",{count:B})}),O&&f.jsx("span",{className:"composer__direct-badge",children:c("prompt.directModeActive")}),d.length>0&&f.jsx("span",{className:"composer__count",children:c("prompt.refCount",{count:d.length,max:ol})})]})]}),d.length>0&&f.jsx("div",{className:"composer__chips",children:d.map((M,T)=>f.jsxs("div",{className:"composer__chip",title:c("prompt.refChipTitle",{n:T+1}),children:[f.jsx("img",{src:M,alt:c("prompt.refChipAlt",{n:T+1})}),f.jsx("button",{type:"button",className:"composer__chip-remove",onClick:()=>p(T),"aria-label":c("prompt.refRemoveAria",{n:T+1}),children:"×"})]},T))}),l.length>0&&f.jsx("div",{className:"composer__prompt-chips",children:l.map(M=>f.jsxs("div",{className:"composer__prompt-chip",title:M.name,children:[f.jsx("span",{className:"composer__prompt-chip-plus","aria-hidden":"true",children:"+"}),f.jsx("span",{className:"composer__prompt-chip-title",children:M.name}),f.jsx("button",{type:"button",className:"composer__prompt-chip-remove",onClick:()=>o(M.id),"aria-label":c("promptLibrary.removeInserted",{name:M.name}),children:"×"})]},M.id))}),f.jsx("textarea",{ref:S,className:"prompt-area composer__textarea",value:t,placeholder:F,onChange:M=>a(M.target.value),onKeyDown:M=>{M.key==="Enter"&&(M.metaKey||M.ctrlKey)&&(M.preventDefault(),s())}}),f.jsxs("div",{className:"composer__toolbar",children:[f.jsxs("button",{type:"button",className:"composer__tool",onClick:()=>k&&x.current?.click(),disabled:!k,title:c("prompt.attachTitle"),"aria-label":c("prompt.attachTitle"),children:[f.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:f.jsx("path",{d:"M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48"})}),f.jsx("span",{children:c("prompt.attach")})]}),f.jsxs("button",{type:"button",className:"composer__tool",onClick:()=>{g()},disabled:!v||!k,title:c("prompt.useCurrentTitle"),children:[f.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[f.jsx("polyline",{points:"23 4 23 10 17 10"}),f.jsx("path",{d:"M20.49 15a9 9 0 1 1-2.12-9.36L23 10"})]}),f.jsx("span",{children:c("prompt.useCurrent")})]}),f.jsxs("button",{type:"button",className:`composer__tool${O?" composer__tool--on":""}`,onClick:()=>E(O?"auto":"direct"),title:c("prompt.directModeTitle"),"aria-label":c("prompt.directModeTitle"),"aria-pressed":O,children:[f.jsx("span",{"aria-hidden":"true",style:{fontWeight:700,fontSize:11},children:"1:1"}),f.jsx("span",{children:c("prompt.directMode")})]}),f.jsxs("div",{style:{position:"relative"},children:[f.jsxs("button",{type:"button",className:"composer__tool",onClick:()=>j(M=>!M),disabled:!t.trim(),title:c("promptLibrary.saveTitle"),"aria-label":c("promptLibrary.saveTitle"),children:[f.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:f.jsx("path",{d:"M19 21l-7-5-7 5V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z"})}),f.jsx("span",{children:c("promptLibrary.save")})]}),D&&f.jsx(Yf,{text:t,mode:A,onClose:()=>j(!1)})]}),f.jsx("span",{className:"composer__hint",children:c("prompt.hint")})]}),N&&f.jsx("div",{className:"composer__dropzone","aria-hidden":"true",children:c("prompt.dropHere",{max:ol})}),f.jsx("input",{ref:x,type:"file",accept:"image/*",multiple:!0,hidden:!0,onChange:M=>{const T=Array.from(M.target.files??[]);T.length>0&&K(T),M.target.value=""}})]})}function T_(){const t=Y(c=>c.activeGenerations),a=Y(c=>c.generate),{t:l}=Ne(),o=t>0,s=o?l("generate.buttonLoading",{n:t}):l("generate.button");return f.jsx("button",{type:"button",className:`generate-btn${o?" loading":""}`,onClick:()=>{a()},children:s})}function M_(t,a=28){const l=t.trim().replace(/\s+/g," ");return l.length>a?`${l.slice(0,a)}...`:l}function Ty(){const t=Y(o=>o.inFlight),{t:a}=Ne(),l={queued:a("inflight.queued"),streaming:a("inflight.streaming"),decoding:a("inflight.decoding")};return t.length===0?null:f.jsx("ul",{className:"in-flight-list",children:t.map(o=>{const s=o.phase?l[o.phase]??o.phase:a("inflight.queued");return f.jsxs("li",{className:"in-flight-item","data-phase":o.phase??"queued",children:[f.jsx("span",{className:"in-flight-prompt",children:M_(o.prompt)}),f.jsx("span",{className:"in-flight-phase",children:s}),f.jsx("span",{className:"in-flight-spinner","aria-hidden":"true"})]},o.id)})})}function A_(){const{t}=Ne(),a=Y(x=>x.sessions),l=Y(x=>x.activeSessionId),o=Y(x=>x.switchSession),s=Y(x=>x.createAndSwitchSession),c=Y(x=>x.renameCurrentSession),d=Y(x=>x.deleteSessionById),[m,y]=L.useState(!1),p=a.find(x=>x.id===l),g=()=>{const x=window.prompt(t("session.renamePrompt"),p?.title??t("session.newSession"));x&&x.trim()&&c(x.trim())},v=(x,S)=>{window.confirm(t("session.deleteConfirm",{title:S}))&&d(x)};return f.jsxs("div",{className:"session-picker",children:[f.jsxs("div",{className:"session-picker-row",children:[f.jsxs("button",{type:"button",className:"session-current",onClick:()=>y(x=>!x),title:t("session.switchTitle"),children:[f.jsx("span",{className:"session-title",children:p?.title??t("session.loading")}),f.jsx("span",{className:"session-caret",children:m?"▴":"▾"})]}),f.jsx("button",{type:"button",className:"session-btn",onClick:()=>{s(t("session.newSession"))},title:t("session.newSessionTitle"),children:"+"}),f.jsx("button",{type:"button",className:"session-btn",onClick:g,title:t("session.renameTitle"),disabled:!p,children:"✎"})]}),m&&f.jsxs("ul",{className:"session-list",children:[a.map(x=>f.jsxs("li",{className:x.id===l?"is-active":"",children:[f.jsxs("button",{type:"button",className:"session-item",onClick:()=>{y(!1),o(x.id)},children:[f.jsx("span",{className:"session-item-title",children:x.title}),f.jsx("span",{className:"session-item-count",children:x.nodeCount})]}),f.jsx("button",{type:"button",className:"session-del",onClick:()=>v(x.id,x.title),title:t("session.deleteTitle"),children:"×"})]},x.id)),a.length===0&&f.jsx("li",{className:"session-empty",children:t("session.empty")})]})]})}function j_(){const{t}=Ne(),a=Y(o=>o.settingsOpen),l=Y(o=>o.toggleSettings);return f.jsx("button",{type:"button",className:`settings-button${a?" is-active":""}`,onClick:l,"aria-label":t("settings.openAria"),"aria-pressed":a,title:t("settings.openTitle"),children:f.jsxs("svg",{viewBox:"0 0 24 24","aria-hidden":"true",children:[f.jsx("path",{d:"M12 8.2a3.8 3.8 0 1 0 0 7.6 3.8 3.8 0 0 0 0-7.6Zm0 5.7a1.9 1.9 0 1 1 0-3.8 1.9 1.9 0 0 1 0 3.8Z"}),f.jsx("path",{d:"m20.3 13.4.1-1.4-.1-1.4-2.2-.5a6.9 6.9 0 0 0-.6-1.3l1.2-1.9a9.6 9.6 0 0 0-2-2l-1.9 1.2c-.4-.2-.9-.4-1.3-.6L13 3.3a9.5 9.5 0 0 0-2.8 0l-.5 2.2c-.5.2-.9.3-1.3.6L6.5 4.9a9.6 9.6 0 0 0-2 2l1.2 1.9c-.2.4-.4.9-.6 1.3l-2.2.5a9.5 9.5 0 0 0 0 2.8l2.2.5c.2.5.3.9.6 1.3l-1.2 1.9a9.6 9.6 0 0 0 2 2l1.9-1.2c.4.2.9.4 1.3.6l.5 2.2a9.5 9.5 0 0 0 2.8 0l.5-2.2c.5-.2.9-.3 1.3-.6l1.9 1.2a9.6 9.6 0 0 0 2-2l-1.2-1.9c.2-.4.4-.9.6-1.3l2.2-.5Z"})]})})}function xv({variant:t}){const{t:a}=Ne(),[l,o]=L.useState(!1),s=L.useRef(null),c=Y(g=>g.imageModel),d=Y(g=>g.setImageModel),m=t==="settings"?"settings-image-model":"sidebar-image-model",y=cl.find(g=>g.value===c)??cl[0],p=g=>{d(g.target.value)};return L.useEffect(()=>{if(t!=="sidebar"||!l)return;const g=x=>{const S=x.target;S instanceof Node&&(s.current?.contains(S)||o(!1))},v=x=>{x.key==="Escape"&&o(!1)};return document.addEventListener("pointerdown",g),document.addEventListener("keydown",v),()=>{document.removeEventListener("pointerdown",g),document.removeEventListener("keydown",v)}},[l,t]),t==="sidebar"?f.jsxs("div",{ref:s,className:"image-model-select image-model-select--sidebar",children:[f.jsx("button",{id:m,type:"button",className:"image-model-select__trigger","aria-haspopup":"listbox","aria-expanded":l,"aria-label":a("sidebar.imageModelAria"),onClick:()=>o(g=>!g),children:y.shortLabel}),l?f.jsx("div",{className:"image-model-select__menu",role:"listbox","aria-label":a("sidebar.imageModelAria"),children:cl.map(g=>f.jsxs("button",{type:"button",className:`image-model-select__item${g.value===c?" is-active":""}`,role:"option","aria-selected":g.value===c,onClick:()=>{d(g.value),o(!1)},children:[f.jsx("span",{children:g.shortLabel}),f.jsx("small",{children:a(g.fullLabelKey)})]},g.value))}):null]}):f.jsx("div",{className:"image-model-select image-model-select--settings",children:f.jsxs("select",{id:m,value:c,onChange:p,children:[cl.map(g=>f.jsx("option",{value:g.value,children:a(g.fullLabelKey)},g.value)),YN.map(g=>f.jsx("option",{value:g.value,disabled:!0,children:a(g.fullLabelKey)},g.value))]})})}function bv(t){return{...t,textFields:Array.isArray(t.textFields)?t.textFields:[]}}function jo(t){return{...t,cards:Array.isArray(t.cards)?t.cards.map(bv):[]}}async function pi(t,a){const l=await fetch(t,a),o=await l.json().catch(()=>({}));if(!l.ok){const s=o,c=typeof s.error=="string"?s.error:s.error?.message||`Request failed: ${l.status}`,d=new Error(c);throw typeof s.error!="string"&&(d.code=s.error?.code),d}return o}function z_(){return pi("/api/cardnews/image-templates")}function R_(){return pi("/api/cardnews/role-templates")}async function D_(t){const a=await pi("/api/cardnews/draft",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});return{...a,plan:jo(a.plan)}}function O_(t){return pi("/api/cardnews/jobs",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}function I_(t){return pi(`/api/cardnews/jobs/${encodeURIComponent(t)}`)}async function L_(t){const l=(await pi(`/api/cardnews/cards/${encodeURIComponent(t.card.id)}/regenerate`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...t,cards:[t.card]})})).cards.find(o=>o.id===t.card.id);if(!l)throw new Error("Regenerated card not found");return{card:l}}function My(t){return pi(`/api/cardnews/sets/${encodeURIComponent(t)}`).then(a=>({...a,plan:jo(a.plan)}))}function H_(t){return`/api/cardnews/sets/${encodeURIComponent(t)}/manifest?download=1`}function k_(t){return t[0]?.id||"academy-lesson-square"}function B_(t){return t.find(a=>a.id==="mid-5")?.id||t[0]?.id||"mid-5"}function q_(t){return Math.round(t/16)*16}function Fs(t){return Math.min(qf,Math.max(1024,q_(t)))}function Ay(t){return t.outputSizePreset!=="custom"?t.outputSizePreset:`${Fs(t.customW)}x${Fs(t.customH)}`}function Sv(t){if(t){if(typeof t=="string")return t;if(typeof t=="object"&&"message"in t){const a=t.message;return typeof a=="string"?a:void 0}return String(t)}}function U_(t,a){const l=a.status||"generated";return{...t,...a,textFields:Array.isArray(a.textFields)?a.textFields:t.textFields,status:l,error:l==="error"?Sv(a.error)||pe("cardNews.error"):void 0}}function G_(t){return new Promise(a=>setTimeout(a,t))}function tf(t,a){const l=new Map(a.cards.map(o=>[o.id,o]));return{...t,cards:t.cards.map(o=>{const s=l.get(o.id);return s?{...o,...s,textFields:Array.isArray(s.textFields)?s.textFields:o.textFields,status:s.status||o.status,error:Sv(s.error)}:o})}}const we=F0((t,a)=>({templates:[],roleTemplates:[],activePlan:null,selectedCardId:null,selectedTextFieldId:null,topic:"",audience:"",goal:"",contentBrief:"",imageTemplateId:"academy-lesson-square",roleTemplateId:"mid-5",outputSizePreset:"2048x2048",customW:2048,customH:2048,loading:!1,generating:!1,error:null,draftError:null,plannerMeta:null,async hydrate(){if(!(a().loading||a().templates.length>0)){t({loading:!0,error:null});try{const[l,o]=await Promise.all([z_(),R_()]);t({templates:l.templates,roleTemplates:o.templates,imageTemplateId:k_(l.templates),roleTemplateId:B_(o.templates),loading:!1})}catch(l){t({loading:!1,error:l instanceof Error?l.message:String(l)})}}},setBriefField(l,o){t({[l]:o})},setImageTemplate(l){t({imageTemplateId:l})},setRoleTemplate(l){t({roleTemplateId:l})},setOutputSizePreset(l){t({outputSizePreset:l})},setCustomSize(l,o){t({customW:Fs(l),customH:Fs(o)})},async draft(){const l=a();t({loading:!0,error:null,draftError:null});try{const{plan:o,planner:s}=await D_({topic:l.topic,audience:l.audience,goal:l.goal,contentBrief:l.contentBrief,imageTemplateId:l.imageTemplateId,roleTemplateId:l.roleTemplateId,size:Ay(l)});t({activePlan:jo(o),selectedCardId:o.cards[0]?.id||null,selectedTextFieldId:null,plannerMeta:s||null,loading:!1})}catch(o){const s=o instanceof Error?o.message:String(o);t({loading:!1,draftError:s,error:s})}},updateCard(l,o){t(s=>({activePlan:s.activePlan?{...s.activePlan,cards:s.activePlan.cards.map(c=>c.id===l?{...c,...o}:c)}:null}))},updateTextField(l,o,s){t(c=>({activePlan:c.activePlan?{...c.activePlan,cards:c.activePlan.cards.map(d=>d.id!==l||d.locked?d:{...d,textFields:d.textFields.map(m=>m.id===o?{...m,...s,source:s.source||"user"}:m)})}:null}))},addTextField(l,o){t(s=>({activePlan:s.activePlan?{...s.activePlan,cards:s.activePlan.cards.map(c=>c.id===l&&!c.locked?{...c,textFields:[...c.textFields,{...o,source:"user"}]}:c)}:null,selectedTextFieldId:o.id}))},removeTextField(l,o){t(s=>({activePlan:s.activePlan?{...s.activePlan,cards:s.activePlan.cards.map(c=>c.id===l&&!c.locked?{...c,textFields:c.textFields.filter(d=>d.id!==o)}:c)}:null,selectedTextFieldId:s.selectedTextFieldId===o?null:s.selectedTextFieldId}))},selectCard(l){t({selectedCardId:l,selectedTextFieldId:null})},selectTextField(l){t({selectedTextFieldId:l})},getGenerationSummary(){const l=a().activePlan?.cards||[];return{total:l.length,done:l.filter(o=>o.status==="generated").length,queued:l.filter(o=>o.status==="queued").length,generating:l.filter(o=>o.status==="generating").length,errors:l.filter(o=>o.status==="error").length,skipped:l.filter(o=>o.locked||o.status==="skipped").length}},async generateSet(){const l=a();if(!l.activePlan)return;const o=Y.getState();t({generating:!0,error:null,activePlan:{...l.activePlan,cards:l.activePlan.cards.map(s=>s.locked?{...s,status:"skipped"}:{...s,status:"queued",error:void 0})}});try{const s=a().activePlan||l.activePlan;let d=await O_({...s,size:Ay(l),quality:o.quality,moderation:o.moderation,model:o.imageModel,sessionId:o.activeSessionId});for(t(y=>({activePlan:y.activePlan?tf(y.activePlan,d):y.activePlan}));["queued","running"].includes(d.status);)await G_(900),d=await I_(d.jobId),t(y=>({activePlan:y.activePlan?tf(y.activePlan,d):y.activePlan}));const m=await My(d.setId).catch(()=>null);t(y=>({generating:!1,activePlan:m?.plan?jo(m.plan):y.activePlan?tf(y.activePlan,d):y.activePlan,selectedTextFieldId:null})),o.showToast(pe("cardNews.generated",{count:d.generated}))}catch(s){const c=s instanceof Error?s.message:String(s);t(d=>({generating:!1,error:c,activePlan:d.activePlan?{...d.activePlan,cards:d.activePlan.cards.map(m=>m.status==="queued"||m.status==="generating"?{...m,status:"error",error:c}:m)}:d.activePlan}))}},async retryCard(l){const s=a().activePlan,c=s?.cards.find(m=>m.id===l);if(!s||!c||c.locked||!["draft","error"].includes(c.status))return;const d=Y.getState();t({error:null,activePlan:{...s,cards:s.cards.map(m=>m.id===l?{...m,status:"generating",error:void 0}:m)}});try{const{card:m}=await L_({setId:s.setId,card:c,quality:d.quality,moderation:d.moderation,model:d.imageModel});t(y=>({activePlan:y.activePlan?{...y.activePlan,cards:y.activePlan.cards.map(p=>p.id===l?U_(p,bv(m)):p)}:y.activePlan}))}catch(m){const y=m instanceof Error?m.message:String(m);t(p=>({error:y,activePlan:p.activePlan?{...p.activePlan,cards:p.activePlan.cards.map(g=>g.id===l?{...g,status:"error",error:y}:g)}:p.activePlan}))}},async loadSet(l){t({loading:!0,error:null,selectedTextFieldId:null});try{const{plan:o}=await My(l);t({activePlan:jo(o),selectedCardId:o.cards[0]?.id||null,selectedTextFieldId:null,loading:!1})}catch(o){t({loading:!1,error:o instanceof Error?o.message:String(o)})}}}));function V_(){const{t}=Ne(),a=we(w=>w.hydrate),l=we(w=>w.topic),o=we(w=>w.audience),s=we(w=>w.goal),c=we(w=>w.contentBrief),d=we(w=>w.outputSizePreset),m=we(w=>w.customW),y=we(w=>w.customH),p=we(w=>w.setBriefField),g=we(w=>w.setOutputSizePreset),v=we(w=>w.setCustomSize),x=we(w=>w.draft),S=we(w=>w.loading),N=we(w=>w.generating),_=we(w=>w.draftError),D=we(w=>w.generateSet),j=we(w=>w.activePlan),A=j?.cards||[],E={total:A.length,done:A.filter(w=>w.status==="generated").length};return L.useEffect(()=>{a()},[a]),f.jsxs("section",{className:"card-news-composer","aria-label":t("cardNews.composer"),children:[f.jsx("div",{className:"card-news-composer__head",children:f.jsxs("div",{children:[f.jsx("div",{className:"section-title",children:t("cardNews.composer")}),f.jsx("p",{children:t("cardNews.composerHint")})]})}),f.jsxs("label",{className:"card-news-field",children:[f.jsx("span",{children:t("cardNews.topic")}),f.jsx("input",{value:l,placeholder:t("cardNews.topicPlaceholder"),onChange:w=>p("topic",w.target.value)})]}),f.jsxs("label",{className:"card-news-field",children:[f.jsx("span",{children:t("cardNews.audience")}),f.jsx("input",{value:o,placeholder:t("cardNews.audiencePlaceholder"),onChange:w=>p("audience",w.target.value)})]}),f.jsxs("label",{className:"card-news-field",children:[f.jsx("span",{children:t("cardNews.goal")}),f.jsx("input",{value:s,placeholder:t("cardNews.goalPlaceholder"),onChange:w=>p("goal",w.target.value)})]}),f.jsxs("label",{className:"card-news-field",children:[f.jsx("span",{children:t("cardNews.brief")}),f.jsx("textarea",{value:c,placeholder:t("cardNews.briefPlaceholder"),onChange:w=>p("contentBrief",w.target.value)})]}),f.jsxs("div",{className:"card-news-field",children:[f.jsx("span",{children:t("cardNews.outputSize")}),f.jsx("div",{className:"card-news-size-row",role:"group","aria-label":t("cardNews.outputSize"),children:["1024x1024","2048x2048","custom"].map(w=>f.jsx("button",{type:"button",className:`option-btn${d===w?" active":""}`,onClick:()=>g(w),children:w==="custom"?t("cardNews.customSize"):w==="1024x1024"?"1024²":"2048²"},w))}),d==="custom"?f.jsxs("div",{className:"card-news-custom-size",children:[f.jsx("input",{className:"custom-size-input",type:"text",inputMode:"numeric",value:m,onChange:w=>v(Number.parseInt(w.target.value,10)||m,y),"aria-label":t("size.width")}),f.jsx("span",{children:"×"}),f.jsx("input",{className:"custom-size-input",type:"text",inputMode:"numeric",value:y,onChange:w=>v(m,Number.parseInt(w.target.value,10)||y),"aria-label":t("size.height")})]}):null]}),f.jsxs("button",{type:"button",className:"generate-btn card-news-draft-btn",onClick:()=>{x()},disabled:S||!l.trim(),children:[S?f.jsx("span",{className:"card-news-spinner","aria-hidden":"true"}):null,t(S?"cardNews.drafting":"cardNews.draft")]}),_?f.jsx("div",{className:"card-news-error",role:"alert",children:_}):null,S?f.jsxs("div",{className:"card-news-inline-status",role:"status",children:[f.jsx("span",{className:"card-news-spinner","aria-hidden":"true"}),f.jsx("span",{children:t("cardNews.drafting")})]}):null,f.jsxs("button",{type:"button",className:"composer__tool card-news-generate-btn",onClick:()=>{D()},disabled:!j||N||j.cards.every(w=>w.locked),children:[N?f.jsx("span",{className:"card-news-spinner","aria-hidden":"true"}):null,N?t("cardNews.progress.generating",{done:E.done,total:E.total}):t("cardNews.batchGenerate")]})]})}function Y_(){const{t}=Ne(),a=Y(c=>c.uiMode),l=Y(c=>c.referenceImages),o=Y(c=>c.clearReferences),s=a==="node"&&Vf?"node":"classic";return f.jsx("aside",{className:"sidebar",children:f.jsxs("div",{className:"sidebar__scroll",children:[f.jsxs("div",{className:"logo",children:[f.jsx("div",{className:"logo-mark","aria-hidden":"true"}),f.jsxs("div",{className:"logo-copy",children:[f.jsx("div",{className:"logo-title",children:"ima2-gen"}),f.jsx("div",{className:"logo-subtitle",children:"gpt-image-2 studio"})]}),f.jsxs("div",{className:"logo-actions",children:[f.jsx(P_,{}),f.jsx(xv,{variant:"sidebar"}),f.jsx(j_,{})]})]}),f.jsx(E_,{}),s==="classic"?f.jsxs(f.Fragment,{children:[f.jsx(C_,{}),f.jsx(T_,{}),f.jsx(Ty,{})]}):s==="card-news"?f.jsx(f.Fragment,{children:f.jsx(V_,{})}):f.jsxs(f.Fragment,{children:[f.jsx(A_,{}),l.length>0?f.jsxs("div",{className:"node-mode-ref-warning",role:"status",children:[f.jsx("strong",{children:t("node.classicRefsParkedTitle")}),f.jsx("span",{children:t("node.classicRefsParkedBody")}),f.jsx("button",{type:"button",onClick:o,children:t("node.clearParkedRefs")})]}):null,f.jsx("div",{className:"sidebar__node-hint",children:t("sidebar.nodeModeHint")}),f.jsx(Ty,{})]})]})})}function P_(){const{t}=Ne(),a=Y(l=>l.togglePromptLibrary);return f.jsx("button",{type:"button",className:"settings-button",onClick:a,title:t("promptLibrary.title"),"aria-label":t("promptLibrary.title"),children:f.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:f.jsx("path",{d:"M19 21l-7-5-7 5V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z"})})})}function $_(){const{t}=Ne(),a=Y(x=>x.currentImage),l=Y(x=>x.showToast),o=Y(x=>x.setPrompt),s=Y(x=>x.trashHistoryItem),c=Y(x=>x.permanentlyDeleteHistoryItemByClick),d=Y(x=>x.canvasOpen),m=Y(x=>x.openCanvas);if(!a)return null;const y=()=>{const x=document.createElement("a");x.href=a.image,x.download=a.filename||"generated.png",x.click()},p=async()=>{try{const S=await(await fetch(a.image)).blob();await navigator.clipboard.write([new ClipboardItem({[S.type]:S})]),l(t("toast.imageCopied"))}catch{l(t("toast.copyFailed"),!0)}},g=()=>{a.prompt&&(navigator.clipboard.writeText(a.prompt),l(t("toast.promptCopied")))},v=async()=>{if(!a.prompt){l(t("toast.noPromptToFork"),!0);return}o(a.prompt);try{await Y.getState().useCurrentAsReference()}catch{}const x=document.querySelector('textarea[name="prompt"], textarea#prompt, .sidebar textarea');x&&(x.focus(),x.setSelectionRange(x.value.length,x.value.length)),l(t("toast.forkStarted"))};return f.jsxs("div",{className:"result-actions",children:[f.jsx("button",{type:"button",className:"action-btn",onClick:y,children:t("result.download")}),f.jsx("button",{type:"button",className:"action-btn",onClick:p,children:t("result.copyImage")}),f.jsx("button",{type:"button",className:"action-btn",onClick:g,children:t("result.copyPrompt")}),f.jsx("button",{type:"button",className:"action-btn action-btn--primary",onClick:v,title:t("result.continueHereTitle"),children:t("result.continueHere")}),!d&&f.jsx("button",{type:"button",className:"action-btn",onClick:m,title:t("canvas.open"),"aria-label":t("canvas.openAria"),children:f.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"2","aria-hidden":"true",children:f.jsx("path",{d:"M4 4h8v8M12 4l-8 8"})})}),a.filename&&f.jsxs(f.Fragment,{children:[f.jsx("button",{type:"button",className:"action-btn action-btn--danger",onClick:()=>{s(a)},title:t("result.deleteTitle"),children:t("result.delete")}),f.jsxs("details",{className:"result-actions__more",children:[f.jsx("summary",{className:"action-btn",children:t("result.more")}),f.jsx("button",{type:"button",className:"result-actions__danger-item",onClick:()=>{c(a)},children:t("result.permanentDelete")})]})]})]})}function F_(){const t=Y(c=>c.multimodeSequence),a=Y(c=>c.cancelMultimode),l=Y(c=>c.activeGenerations),{t:o}=Ne();if(!t)return null;const s=Array.from({length:t.requested},(c,d)=>{const m=t.images[d],y=t.partials.find(p=>p.index===d||p.index==null);return{index:d,image:m,partial:y}});return f.jsxs("section",{className:"multimode-sequence","aria-live":"polite",children:[f.jsxs("div",{className:"multimode-sequence__header",children:[f.jsxs("div",{children:[f.jsx("div",{className:"multimode-sequence__title",children:o("multimode.sequenceTitle")}),f.jsx("div",{className:"multimode-sequence__meta",children:o("multimode.sequenceProgress",{returned:t.returned,requested:t.requested})})]}),l>0?f.jsx("button",{type:"button",className:"secondary-btn",onClick:a,children:o("multimode.cancel")}):null]}),f.jsx("div",{className:`multimode-sequence__grid count-${Math.min(t.requested,4)}`,children:s.map(({index:c,image:d,partial:m})=>f.jsxs("article",{className:`multimode-sequence__slot${d?" done":""}`,children:[f.jsx("div",{className:"multimode-sequence__badge",children:o("multimode.stageLabel",{index:c+1})}),d?f.jsx("img",{src:d.url??d.image,alt:o("canvas.resultAlt")}):m?f.jsx("img",{src:m.image,alt:o("multimode.partialAlt")}):f.jsx("div",{className:"multimode-sequence__empty",children:t.status==="error"?o("multimode.error"):t.status==="empty"?o("multimode.empty"):o("multimode.generating")})]},d?.filename??c))})]})}function Sf(t){return t instanceof HTMLElement?t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement||t instanceof HTMLSelectElement||t instanceof HTMLButtonElement||t.isContentEditable:!1}function X_(t){return t==="low"?"l":t==="medium"?"m":t==="high"?"h":t??null}function Z_(t){if(!t)return null;const a=t.match(/^(\d+)x\1$/);return a?`${a[1]}²`:t.replace("x","×")}function jy(){const t=Y(w=>w.currentImage),a=Y(w=>w.multimodeSequence),l=Y(w=>w.selectHistoryShortcutTarget),o=Y(w=>w.trashHistoryItem),s=Y(w=>w.markGeneratedResultsSeen),c=Y(w=>w.activeGenerations),d=Y(w=>w.quality),m=Y(w=>w.getResolvedSize),y=Y(w=>w.showToast),p=Y(w=>w.canvasOpen),g=Y(w=>w.openCanvas),v=Y(w=>w.closeCanvas),x=Y(w=>w.canvasZoom),{t:S}=Ne(),N=()=>{t?.prompt&&(navigator.clipboard.writeText(t.prompt),y(S("toast.promptCopied")))},_=X_(t?.quality??d),D=Z_(t?.size??m()),j=nv(t?.model),A=w=>{if(w.key==="Delete"||w.key==="Backspace"){if(w.shiftKey||!t)return;w.preventDefault(),o(t);return}w.key!=="ArrowLeft"&&w.key!=="ArrowRight"&&w.key!=="Home"&&w.key!=="End"||w.target===w.currentTarget&&(Sf(w.target)||(w.preventDefault(),w.key==="ArrowLeft"?l("previous"):w.key==="ArrowRight"?l("next"):w.key==="Home"?l("first"):w.key==="End"&&l("last")))},E=w=>{Sf(w.target)||(s(),w.currentTarget.focus())};return f.jsxs("main",{className:`canvas${p?" canvas--mode-open":""}`,children:[p&&f.jsxs("div",{className:"canvas-mode-topbar",children:[f.jsx("span",{className:"canvas-mode-topbar__label",children:"Canvas Mode"}),f.jsxs("button",{type:"button",className:"canvas-mode-close",onClick:v,"aria-label":S("canvas.close"),children:[f.jsx("kbd",{children:"ESC"}),f.jsx("span",{children:S("canvas.close")})]})]}),f.jsx("div",{className:`progress-bar${c>0?" active":""}`}),a?f.jsx(F_,{}):t?f.jsxs("div",{className:"result-container visible",tabIndex:0,onMouseDown:E,onKeyDown:A,"aria-label":S("canvas.imageViewerAria"),children:[f.jsx("img",{className:"result-img",src:t.url??t.image,alt:S("canvas.resultAlt"),onDoubleClick:w=>{w.stopPropagation(),g()},style:{cursor:p?"default":"zoom-in",transform:p?`scale(${x})`:void 0,transition:p?"transform 0.2s ease":void 0}},t.filename??t.url??t.image),t.prompt?f.jsx("div",{className:"result-prompt",onClick:N,children:t.prompt}):null,f.jsx("div",{className:"result-meta",children:[t.elapsed!=null?`${t.elapsed}s`:null,t.usage?S("canvas.tokens",{n:t.usage.total_tokens??"?"}):null,_,D,j,t.provider??null].filter(w=>!!w).join(" · ")}),f.jsx($_,{})]}):null]})}function rt(t){if(typeof t=="string"||typeof t=="number")return""+t;let a="";if(Array.isArray(t))for(let l=0,o;l<t.length;l++)(o=rt(t[l]))!==""&&(a+=(a&&" ")+o);else for(let l in t)t[l]&&(a+=(a&&" ")+l);return a}var K_={value:()=>{}};function oc(){for(var t=0,a=arguments.length,l={},o;t<a;++t){if(!(o=arguments[t]+"")||o in l||/[\s.]/.test(o))throw new Error("illegal type: "+o);l[o]=[]}return new qs(l)}function qs(t){this._=t}function Q_(t,a){return t.trim().split(/^|\s+/).map(function(l){var o="",s=l.indexOf(".");if(s>=0&&(o=l.slice(s+1),l=l.slice(0,s)),l&&!a.hasOwnProperty(l))throw new Error("unknown type: "+l);return{type:l,name:o}})}qs.prototype=oc.prototype={constructor:qs,on:function(t,a){var l=this._,o=Q_(t+"",l),s,c=-1,d=o.length;if(arguments.length<2){for(;++c<d;)if((s=(t=o[c]).type)&&(s=J_(l[s],t.name)))return s;return}if(a!=null&&typeof a!="function")throw new Error("invalid callback: "+a);for(;++c<d;)if(s=(t=o[c]).type)l[s]=zy(l[s],t.name,a);else if(a==null)for(s in l)l[s]=zy(l[s],t.name,null);return this},copy:function(){var t={},a=this._;for(var l in a)t[l]=a[l].slice();return new qs(t)},call:function(t,a){if((s=arguments.length-2)>0)for(var l=new Array(s),o=0,s,c;o<s;++o)l[o]=arguments[o+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(c=this._[t],o=0,s=c.length;o<s;++o)c[o].value.apply(a,l)},apply:function(t,a,l){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var o=this._[t],s=0,c=o.length;s<c;++s)o[s].value.apply(a,l)}};function J_(t,a){for(var l=0,o=t.length,s;l<o;++l)if((s=t[l]).name===a)return s.value}function zy(t,a,l){for(var o=0,s=t.length;o<s;++o)if(t[o].name===a){t[o]=K_,t=t.slice(0,o).concat(t.slice(o+1));break}return l!=null&&t.push({name:a,value:l}),t}var wf="http://www.w3.org/1999/xhtml";const Ry={svg:"http://www.w3.org/2000/svg",xhtml:wf,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function rc(t){var a=t+="",l=a.indexOf(":");return l>=0&&(a=t.slice(0,l))!=="xmlns"&&(t=t.slice(l+1)),Ry.hasOwnProperty(a)?{space:Ry[a],local:t}:t}function W_(t){return function(){var a=this.ownerDocument,l=this.namespaceURI;return l===wf&&a.documentElement.namespaceURI===wf?a.createElement(t):a.createElementNS(l,t)}}function e2(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function wv(t){var a=rc(t);return(a.local?e2:W_)(a)}function t2(){}function Pf(t){return t==null?t2:function(){return this.querySelector(t)}}function n2(t){typeof t!="function"&&(t=Pf(t));for(var a=this._groups,l=a.length,o=new Array(l),s=0;s<l;++s)for(var c=a[s],d=c.length,m=o[s]=new Array(d),y,p,g=0;g<d;++g)(y=c[g])&&(p=t.call(y,y.__data__,g,c))&&("__data__"in y&&(p.__data__=y.__data__),m[g]=p);return new qt(o,this._parents)}function a2(t){return t==null?[]:Array.isArray(t)?t:Array.from(t)}function i2(){return[]}function Nv(t){return t==null?i2:function(){return this.querySelectorAll(t)}}function l2(t){return function(){return a2(t.apply(this,arguments))}}function o2(t){typeof t=="function"?t=l2(t):t=Nv(t);for(var a=this._groups,l=a.length,o=[],s=[],c=0;c<l;++c)for(var d=a[c],m=d.length,y,p=0;p<m;++p)(y=d[p])&&(o.push(t.call(y,y.__data__,p,d)),s.push(y));return new qt(o,s)}function _v(t){return function(){return this.matches(t)}}function Ev(t){return function(a){return a.matches(t)}}var r2=Array.prototype.find;function s2(t){return function(){return r2.call(this.children,t)}}function c2(){return this.firstElementChild}function u2(t){return this.select(t==null?c2:s2(typeof t=="function"?t:Ev(t)))}var d2=Array.prototype.filter;function f2(){return Array.from(this.children)}function h2(t){return function(){return d2.call(this.children,t)}}function m2(t){return this.selectAll(t==null?f2:h2(typeof t=="function"?t:Ev(t)))}function p2(t){typeof t!="function"&&(t=_v(t));for(var a=this._groups,l=a.length,o=new Array(l),s=0;s<l;++s)for(var c=a[s],d=c.length,m=o[s]=[],y,p=0;p<d;++p)(y=c[p])&&t.call(y,y.__data__,p,c)&&m.push(y);return new qt(o,this._parents)}function Cv(t){return new Array(t.length)}function g2(){return new qt(this._enter||this._groups.map(Cv),this._parents)}function Xs(t,a){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=a}Xs.prototype={constructor:Xs,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,a){return this._parent.insertBefore(t,a)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};function y2(t){return function(){return t}}function v2(t,a,l,o,s,c){for(var d=0,m,y=a.length,p=c.length;d<p;++d)(m=a[d])?(m.__data__=c[d],o[d]=m):l[d]=new Xs(t,c[d]);for(;d<y;++d)(m=a[d])&&(s[d]=m)}function x2(t,a,l,o,s,c,d){var m,y,p=new Map,g=a.length,v=c.length,x=new Array(g),S;for(m=0;m<g;++m)(y=a[m])&&(x[m]=S=d.call(y,y.__data__,m,a)+"",p.has(S)?s[m]=y:p.set(S,y));for(m=0;m<v;++m)S=d.call(t,c[m],m,c)+"",(y=p.get(S))?(o[m]=y,y.__data__=c[m],p.delete(S)):l[m]=new Xs(t,c[m]);for(m=0;m<g;++m)(y=a[m])&&p.get(x[m])===y&&(s[m]=y)}function b2(t){return t.__data__}function S2(t,a){if(!arguments.length)return Array.from(this,b2);var l=a?x2:v2,o=this._parents,s=this._groups;typeof t!="function"&&(t=y2(t));for(var c=s.length,d=new Array(c),m=new Array(c),y=new Array(c),p=0;p<c;++p){var g=o[p],v=s[p],x=v.length,S=w2(t.call(g,g&&g.__data__,p,o)),N=S.length,_=m[p]=new Array(N),D=d[p]=new Array(N),j=y[p]=new Array(x);l(g,v,_,D,j,S,a);for(var A=0,E=0,w,B;A<N;++A)if(w=_[A]){for(A>=E&&(E=A+1);!(B=D[E])&&++E<N;);w._next=B||null}}return d=new qt(d,o),d._enter=m,d._exit=y,d}function w2(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function N2(){return new qt(this._exit||this._groups.map(Cv),this._parents)}function _2(t,a,l){var o=this.enter(),s=this,c=this.exit();return typeof t=="function"?(o=t(o),o&&(o=o.selection())):o=o.append(t+""),a!=null&&(s=a(s),s&&(s=s.selection())),l==null?c.remove():l(c),o&&s?o.merge(s).order():s}function E2(t){for(var a=t.selection?t.selection():t,l=this._groups,o=a._groups,s=l.length,c=o.length,d=Math.min(s,c),m=new Array(s),y=0;y<d;++y)for(var p=l[y],g=o[y],v=p.length,x=m[y]=new Array(v),S,N=0;N<v;++N)(S=p[N]||g[N])&&(x[N]=S);for(;y<s;++y)m[y]=l[y];return new qt(m,this._parents)}function C2(){for(var t=this._groups,a=-1,l=t.length;++a<l;)for(var o=t[a],s=o.length-1,c=o[s],d;--s>=0;)(d=o[s])&&(c&&d.compareDocumentPosition(c)^4&&c.parentNode.insertBefore(d,c),c=d);return this}function T2(t){t||(t=M2);function a(v,x){return v&&x?t(v.__data__,x.__data__):!v-!x}for(var l=this._groups,o=l.length,s=new Array(o),c=0;c<o;++c){for(var d=l[c],m=d.length,y=s[c]=new Array(m),p,g=0;g<m;++g)(p=d[g])&&(y[g]=p);y.sort(a)}return new qt(s,this._parents).order()}function M2(t,a){return t<a?-1:t>a?1:t>=a?0:NaN}function A2(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function j2(){return Array.from(this)}function z2(){for(var t=this._groups,a=0,l=t.length;a<l;++a)for(var o=t[a],s=0,c=o.length;s<c;++s){var d=o[s];if(d)return d}return null}function R2(){let t=0;for(const a of this)++t;return t}function D2(){return!this.node()}function O2(t){for(var a=this._groups,l=0,o=a.length;l<o;++l)for(var s=a[l],c=0,d=s.length,m;c<d;++c)(m=s[c])&&t.call(m,m.__data__,c,s);return this}function I2(t){return function(){this.removeAttribute(t)}}function L2(t){return function(){this.removeAttributeNS(t.space,t.local)}}function H2(t,a){return function(){this.setAttribute(t,a)}}function k2(t,a){return function(){this.setAttributeNS(t.space,t.local,a)}}function B2(t,a){return function(){var l=a.apply(this,arguments);l==null?this.removeAttribute(t):this.setAttribute(t,l)}}function q2(t,a){return function(){var l=a.apply(this,arguments);l==null?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,l)}}function U2(t,a){var l=rc(t);if(arguments.length<2){var o=this.node();return l.local?o.getAttributeNS(l.space,l.local):o.getAttribute(l)}return this.each((a==null?l.local?L2:I2:typeof a=="function"?l.local?q2:B2:l.local?k2:H2)(l,a))}function Tv(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function G2(t){return function(){this.style.removeProperty(t)}}function V2(t,a,l){return function(){this.style.setProperty(t,a,l)}}function Y2(t,a,l){return function(){var o=a.apply(this,arguments);o==null?this.style.removeProperty(t):this.style.setProperty(t,o,l)}}function P2(t,a,l){return arguments.length>1?this.each((a==null?G2:typeof a=="function"?Y2:V2)(t,a,l??"")):gl(this.node(),t)}function gl(t,a){return t.style.getPropertyValue(a)||Tv(t).getComputedStyle(t,null).getPropertyValue(a)}function $2(t){return function(){delete this[t]}}function F2(t,a){return function(){this[t]=a}}function X2(t,a){return function(){var l=a.apply(this,arguments);l==null?delete this[t]:this[t]=l}}function Z2(t,a){return arguments.length>1?this.each((a==null?$2:typeof a=="function"?X2:F2)(t,a)):this.node()[t]}function Mv(t){return t.trim().split(/^|\s+/)}function $f(t){return t.classList||new Av(t)}function Av(t){this._node=t,this._names=Mv(t.getAttribute("class")||"")}Av.prototype={add:function(t){var a=this._names.indexOf(t);a<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var a=this._names.indexOf(t);a>=0&&(this._names.splice(a,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function jv(t,a){for(var l=$f(t),o=-1,s=a.length;++o<s;)l.add(a[o])}function zv(t,a){for(var l=$f(t),o=-1,s=a.length;++o<s;)l.remove(a[o])}function K2(t){return function(){jv(this,t)}}function Q2(t){return function(){zv(this,t)}}function J2(t,a){return function(){(a.apply(this,arguments)?jv:zv)(this,t)}}function W2(t,a){var l=Mv(t+"");if(arguments.length<2){for(var o=$f(this.node()),s=-1,c=l.length;++s<c;)if(!o.contains(l[s]))return!1;return!0}return this.each((typeof a=="function"?J2:a?K2:Q2)(l,a))}function eE(){this.textContent=""}function tE(t){return function(){this.textContent=t}}function nE(t){return function(){var a=t.apply(this,arguments);this.textContent=a??""}}function aE(t){return arguments.length?this.each(t==null?eE:(typeof t=="function"?nE:tE)(t)):this.node().textContent}function iE(){this.innerHTML=""}function lE(t){return function(){this.innerHTML=t}}function oE(t){return function(){var a=t.apply(this,arguments);this.innerHTML=a??""}}function rE(t){return arguments.length?this.each(t==null?iE:(typeof t=="function"?oE:lE)(t)):this.node().innerHTML}function sE(){this.nextSibling&&this.parentNode.appendChild(this)}function cE(){return this.each(sE)}function uE(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function dE(){return this.each(uE)}function fE(t){var a=typeof t=="function"?t:wv(t);return this.select(function(){return this.appendChild(a.apply(this,arguments))})}function hE(){return null}function mE(t,a){var l=typeof t=="function"?t:wv(t),o=a==null?hE:typeof a=="function"?a:Pf(a);return this.select(function(){return this.insertBefore(l.apply(this,arguments),o.apply(this,arguments)||null)})}function pE(){var t=this.parentNode;t&&t.removeChild(this)}function gE(){return this.each(pE)}function yE(){var t=this.cloneNode(!1),a=this.parentNode;return a?a.insertBefore(t,this.nextSibling):t}function vE(){var t=this.cloneNode(!0),a=this.parentNode;return a?a.insertBefore(t,this.nextSibling):t}function xE(t){return this.select(t?vE:yE)}function bE(t){return arguments.length?this.property("__data__",t):this.node().__data__}function SE(t){return function(a){t.call(this,a,this.__data__)}}function wE(t){return t.trim().split(/^|\s+/).map(function(a){var l="",o=a.indexOf(".");return o>=0&&(l=a.slice(o+1),a=a.slice(0,o)),{type:a,name:l}})}function NE(t){return function(){var a=this.__on;if(a){for(var l=0,o=-1,s=a.length,c;l<s;++l)c=a[l],(!t.type||c.type===t.type)&&c.name===t.name?this.removeEventListener(c.type,c.listener,c.options):a[++o]=c;++o?a.length=o:delete this.__on}}}function _E(t,a,l){return function(){var o=this.__on,s,c=SE(a);if(o){for(var d=0,m=o.length;d<m;++d)if((s=o[d]).type===t.type&&s.name===t.name){this.removeEventListener(s.type,s.listener,s.options),this.addEventListener(s.type,s.listener=c,s.options=l),s.value=a;return}}this.addEventListener(t.type,c,l),s={type:t.type,name:t.name,value:a,listener:c,options:l},o?o.push(s):this.__on=[s]}}function EE(t,a,l){var o=wE(t+""),s,c=o.length,d;if(arguments.length<2){var m=this.node().__on;if(m){for(var y=0,p=m.length,g;y<p;++y)for(s=0,g=m[y];s<c;++s)if((d=o[s]).type===g.type&&d.name===g.name)return g.value}return}for(m=a?_E:NE,s=0;s<c;++s)this.each(m(o[s],a,l));return this}function Rv(t,a,l){var o=Tv(t),s=o.CustomEvent;typeof s=="function"?s=new s(a,l):(s=o.document.createEvent("Event"),l?(s.initEvent(a,l.bubbles,l.cancelable),s.detail=l.detail):s.initEvent(a,!1,!1)),t.dispatchEvent(s)}function CE(t,a){return function(){return Rv(this,t,a)}}function TE(t,a){return function(){return Rv(this,t,a.apply(this,arguments))}}function ME(t,a){return this.each((typeof a=="function"?TE:CE)(t,a))}function*AE(){for(var t=this._groups,a=0,l=t.length;a<l;++a)for(var o=t[a],s=0,c=o.length,d;s<c;++s)(d=o[s])&&(yield d)}var Dv=[null];function qt(t,a){this._groups=t,this._parents=a}function Vo(){return new qt([[document.documentElement]],Dv)}function jE(){return this}qt.prototype=Vo.prototype={constructor:qt,select:n2,selectAll:o2,selectChild:u2,selectChildren:m2,filter:p2,data:S2,enter:g2,exit:N2,join:_2,merge:E2,selection:jE,order:C2,sort:T2,call:A2,nodes:j2,node:z2,size:R2,empty:D2,each:O2,attr:U2,style:P2,property:Z2,classed:W2,text:aE,html:rE,raise:cE,lower:dE,append:fE,insert:mE,remove:gE,clone:xE,datum:bE,on:EE,dispatch:ME,[Symbol.iterator]:AE};function Bt(t){return typeof t=="string"?new qt([[document.querySelector(t)]],[document.documentElement]):new qt([[t]],Dv)}function zE(t){let a;for(;a=t.sourceEvent;)t=a;return t}function nn(t,a){if(t=zE(t),a===void 0&&(a=t.currentTarget),a){var l=a.ownerSVGElement||a;if(l.createSVGPoint){var o=l.createSVGPoint();return o.x=t.clientX,o.y=t.clientY,o=o.matrixTransform(a.getScreenCTM().inverse()),[o.x,o.y]}if(a.getBoundingClientRect){var s=a.getBoundingClientRect();return[t.clientX-s.left-a.clientLeft,t.clientY-s.top-a.clientTop]}}return[t.pageX,t.pageY]}const RE={passive:!1},Do={capture:!0,passive:!1};function nf(t){t.stopImmediatePropagation()}function ml(t){t.preventDefault(),t.stopImmediatePropagation()}function Ov(t){var a=t.document.documentElement,l=Bt(t).on("dragstart.drag",ml,Do);"onselectstart"in a?l.on("selectstart.drag",ml,Do):(a.__noselect=a.style.MozUserSelect,a.style.MozUserSelect="none")}function Iv(t,a){var l=t.document.documentElement,o=Bt(t).on("dragstart.drag",null);a&&(o.on("click.drag",ml,Do),setTimeout(function(){o.on("click.drag",null)},0)),"onselectstart"in l?o.on("selectstart.drag",null):(l.style.MozUserSelect=l.__noselect,delete l.__noselect)}const _s=t=>()=>t;function Nf(t,{sourceEvent:a,subject:l,target:o,identifier:s,active:c,x:d,y:m,dx:y,dy:p,dispatch:g}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:a,enumerable:!0,configurable:!0},subject:{value:l,enumerable:!0,configurable:!0},target:{value:o,enumerable:!0,configurable:!0},identifier:{value:s,enumerable:!0,configurable:!0},active:{value:c,enumerable:!0,configurable:!0},x:{value:d,enumerable:!0,configurable:!0},y:{value:m,enumerable:!0,configurable:!0},dx:{value:y,enumerable:!0,configurable:!0},dy:{value:p,enumerable:!0,configurable:!0},_:{value:g}})}Nf.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};function DE(t){return!t.ctrlKey&&!t.button}function OE(){return this.parentNode}function IE(t,a){return a??{x:t.x,y:t.y}}function LE(){return navigator.maxTouchPoints||"ontouchstart"in this}function Lv(){var t=DE,a=OE,l=IE,o=LE,s={},c=oc("start","drag","end"),d=0,m,y,p,g,v=0;function x(w){w.on("mousedown.drag",S).filter(o).on("touchstart.drag",D).on("touchmove.drag",j,RE).on("touchend.drag touchcancel.drag",A).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function S(w,B){if(!(g||!t.call(this,w,B))){var O=E(this,a.call(this,w,B),w,B,"mouse");O&&(Bt(w.view).on("mousemove.drag",N,Do).on("mouseup.drag",_,Do),Ov(w.view),nf(w),p=!1,m=w.clientX,y=w.clientY,O("start",w))}}function N(w){if(ml(w),!p){var B=w.clientX-m,O=w.clientY-y;p=B*B+O*O>v}s.mouse("drag",w)}function _(w){Bt(w.view).on("mousemove.drag mouseup.drag",null),Iv(w.view,p),ml(w),s.mouse("end",w)}function D(w,B){if(t.call(this,w,B)){var O=w.changedTouches,k=a.call(this,w,B),F=O.length,K,de;for(K=0;K<F;++K)(de=E(this,k,w,B,O[K].identifier,O[K]))&&(nf(w),de("start",w,O[K]))}}function j(w){var B=w.changedTouches,O=B.length,k,F;for(k=0;k<O;++k)(F=s[B[k].identifier])&&(ml(w),F("drag",w,B[k]))}function A(w){var B=w.changedTouches,O=B.length,k,F;for(g&&clearTimeout(g),g=setTimeout(function(){g=null},500),k=0;k<O;++k)(F=s[B[k].identifier])&&(nf(w),F("end",w,B[k]))}function E(w,B,O,k,F,K){var de=c.copy(),X=nn(K||O,B),te,se,z;if((z=l.call(w,new Nf("beforestart",{sourceEvent:O,target:x,identifier:F,active:d,x:X[0],y:X[1],dx:0,dy:0,dispatch:de}),k))!=null)return te=z.x-X[0]||0,se=z.y-X[1]||0,function M(T,I,U){var Z=X,ae;switch(T){case"start":s[F]=M,ae=d++;break;case"end":delete s[F],--d;case"drag":X=nn(U||I,B),ae=d;break}de.call(T,w,new Nf(T,{sourceEvent:I,subject:z,target:x,identifier:F,active:ae,x:X[0]+te,y:X[1]+se,dx:X[0]-Z[0],dy:X[1]-Z[1],dispatch:de}),k)}}return x.filter=function(w){return arguments.length?(t=typeof w=="function"?w:_s(!!w),x):t},x.container=function(w){return arguments.length?(a=typeof w=="function"?w:_s(w),x):a},x.subject=function(w){return arguments.length?(l=typeof w=="function"?w:_s(w),x):l},x.touchable=function(w){return arguments.length?(o=typeof w=="function"?w:_s(!!w),x):o},x.on=function(){var w=c.on.apply(c,arguments);return w===c?x:w},x.clickDistance=function(w){return arguments.length?(v=(w=+w)*w,x):Math.sqrt(v)},x}function Ff(t,a,l){t.prototype=a.prototype=l,l.constructor=t}function Hv(t,a){var l=Object.create(t.prototype);for(var o in a)l[o]=a[o];return l}function Yo(){}var Oo=.7,Zs=1/Oo,pl="\\s*([+-]?\\d+)\\s*",Io="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",gn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",HE=/^#([0-9a-f]{3,8})$/,kE=new RegExp(`^rgb\\(${pl},${pl},${pl}\\)$`),BE=new RegExp(`^rgb\\(${gn},${gn},${gn}\\)$`),qE=new RegExp(`^rgba\\(${pl},${pl},${pl},${Io}\\)$`),UE=new RegExp(`^rgba\\(${gn},${gn},${gn},${Io}\\)$`),GE=new RegExp(`^hsl\\(${Io},${gn},${gn}\\)$`),VE=new RegExp(`^hsla\\(${Io},${gn},${gn},${Io}\\)$`),Dy={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Ff(Yo,ui,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:Oy,formatHex:Oy,formatHex8:YE,formatHsl:PE,formatRgb:Iy,toString:Iy});function Oy(){return this.rgb().formatHex()}function YE(){return this.rgb().formatHex8()}function PE(){return kv(this).formatHsl()}function Iy(){return this.rgb().formatRgb()}function ui(t){var a,l;return t=(t+"").trim().toLowerCase(),(a=HE.exec(t))?(l=a[1].length,a=parseInt(a[1],16),l===6?Ly(a):l===3?new jt(a>>8&15|a>>4&240,a>>4&15|a&240,(a&15)<<4|a&15,1):l===8?Es(a>>24&255,a>>16&255,a>>8&255,(a&255)/255):l===4?Es(a>>12&15|a>>8&240,a>>8&15|a>>4&240,a>>4&15|a&240,((a&15)<<4|a&15)/255):null):(a=kE.exec(t))?new jt(a[1],a[2],a[3],1):(a=BE.exec(t))?new jt(a[1]*255/100,a[2]*255/100,a[3]*255/100,1):(a=qE.exec(t))?Es(a[1],a[2],a[3],a[4]):(a=UE.exec(t))?Es(a[1]*255/100,a[2]*255/100,a[3]*255/100,a[4]):(a=GE.exec(t))?By(a[1],a[2]/100,a[3]/100,1):(a=VE.exec(t))?By(a[1],a[2]/100,a[3]/100,a[4]):Dy.hasOwnProperty(t)?Ly(Dy[t]):t==="transparent"?new jt(NaN,NaN,NaN,0):null}function Ly(t){return new jt(t>>16&255,t>>8&255,t&255,1)}function Es(t,a,l,o){return o<=0&&(t=a=l=NaN),new jt(t,a,l,o)}function $E(t){return t instanceof Yo||(t=ui(t)),t?(t=t.rgb(),new jt(t.r,t.g,t.b,t.opacity)):new jt}function _f(t,a,l,o){return arguments.length===1?$E(t):new jt(t,a,l,o??1)}function jt(t,a,l,o){this.r=+t,this.g=+a,this.b=+l,this.opacity=+o}Ff(jt,_f,Hv(Yo,{brighter(t){return t=t==null?Zs:Math.pow(Zs,t),new jt(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?Oo:Math.pow(Oo,t),new jt(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new jt(ri(this.r),ri(this.g),ri(this.b),Ks(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Hy,formatHex:Hy,formatHex8:FE,formatRgb:ky,toString:ky}));function Hy(){return`#${li(this.r)}${li(this.g)}${li(this.b)}`}function FE(){return`#${li(this.r)}${li(this.g)}${li(this.b)}${li((isNaN(this.opacity)?1:this.opacity)*255)}`}function ky(){const t=Ks(this.opacity);return`${t===1?"rgb(":"rgba("}${ri(this.r)}, ${ri(this.g)}, ${ri(this.b)}${t===1?")":`, ${t})`}`}function Ks(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function ri(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function li(t){return t=ri(t),(t<16?"0":"")+t.toString(16)}function By(t,a,l,o){return o<=0?t=a=l=NaN:l<=0||l>=1?t=a=NaN:a<=0&&(t=NaN),new an(t,a,l,o)}function kv(t){if(t instanceof an)return new an(t.h,t.s,t.l,t.opacity);if(t instanceof Yo||(t=ui(t)),!t)return new an;if(t instanceof an)return t;t=t.rgb();var a=t.r/255,l=t.g/255,o=t.b/255,s=Math.min(a,l,o),c=Math.max(a,l,o),d=NaN,m=c-s,y=(c+s)/2;return m?(a===c?d=(l-o)/m+(l<o)*6:l===c?d=(o-a)/m+2:d=(a-l)/m+4,m/=y<.5?c+s:2-c-s,d*=60):m=y>0&&y<1?0:d,new an(d,m,y,t.opacity)}function XE(t,a,l,o){return arguments.length===1?kv(t):new an(t,a,l,o??1)}function an(t,a,l,o){this.h=+t,this.s=+a,this.l=+l,this.opacity=+o}Ff(an,XE,Hv(Yo,{brighter(t){return t=t==null?Zs:Math.pow(Zs,t),new an(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?Oo:Math.pow(Oo,t),new an(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,a=isNaN(t)||isNaN(this.s)?0:this.s,l=this.l,o=l+(l<.5?l:1-l)*a,s=2*l-o;return new jt(af(t>=240?t-240:t+120,s,o),af(t,s,o),af(t<120?t+240:t-120,s,o),this.opacity)},clamp(){return new an(qy(this.h),Cs(this.s),Cs(this.l),Ks(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=Ks(this.opacity);return`${t===1?"hsl(":"hsla("}${qy(this.h)}, ${Cs(this.s)*100}%, ${Cs(this.l)*100}%${t===1?")":`, ${t})`}`}}));function qy(t){return t=(t||0)%360,t<0?t+360:t}function Cs(t){return Math.max(0,Math.min(1,t||0))}function af(t,a,l){return(t<60?a+(l-a)*t/60:t<180?l:t<240?a+(l-a)*(240-t)/60:a)*255}const Xf=t=>()=>t;function ZE(t,a){return function(l){return t+l*a}}function KE(t,a,l){return t=Math.pow(t,l),a=Math.pow(a,l)-t,l=1/l,function(o){return Math.pow(t+o*a,l)}}function QE(t){return(t=+t)==1?Bv:function(a,l){return l-a?KE(a,l,t):Xf(isNaN(a)?l:a)}}function Bv(t,a){var l=a-t;return l?ZE(t,l):Xf(isNaN(t)?a:t)}const Qs=(function t(a){var l=QE(a);function o(s,c){var d=l((s=_f(s)).r,(c=_f(c)).r),m=l(s.g,c.g),y=l(s.b,c.b),p=Bv(s.opacity,c.opacity);return function(g){return s.r=d(g),s.g=m(g),s.b=y(g),s.opacity=p(g),s+""}}return o.gamma=t,o})(1);function JE(t,a){a||(a=[]);var l=t?Math.min(a.length,t.length):0,o=a.slice(),s;return function(c){for(s=0;s<l;++s)o[s]=t[s]*(1-c)+a[s]*c;return o}}function WE(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function eC(t,a){var l=a?a.length:0,o=t?Math.min(l,t.length):0,s=new Array(o),c=new Array(l),d;for(d=0;d<o;++d)s[d]=zo(t[d],a[d]);for(;d<l;++d)c[d]=a[d];return function(m){for(d=0;d<o;++d)c[d]=s[d](m);return c}}function tC(t,a){var l=new Date;return t=+t,a=+a,function(o){return l.setTime(t*(1-o)+a*o),l}}function mn(t,a){return t=+t,a=+a,function(l){return t*(1-l)+a*l}}function nC(t,a){var l={},o={},s;(t===null||typeof t!="object")&&(t={}),(a===null||typeof a!="object")&&(a={});for(s in a)s in t?l[s]=zo(t[s],a[s]):o[s]=a[s];return function(c){for(s in l)o[s]=l[s](c);return o}}var Ef=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,lf=new RegExp(Ef.source,"g");function aC(t){return function(){return t}}function iC(t){return function(a){return t(a)+""}}function qv(t,a){var l=Ef.lastIndex=lf.lastIndex=0,o,s,c,d=-1,m=[],y=[];for(t=t+"",a=a+"";(o=Ef.exec(t))&&(s=lf.exec(a));)(c=s.index)>l&&(c=a.slice(l,c),m[d]?m[d]+=c:m[++d]=c),(o=o[0])===(s=s[0])?m[d]?m[d]+=s:m[++d]=s:(m[++d]=null,y.push({i:d,x:mn(o,s)})),l=lf.lastIndex;return l<a.length&&(c=a.slice(l),m[d]?m[d]+=c:m[++d]=c),m.length<2?y[0]?iC(y[0].x):aC(a):(a=y.length,function(p){for(var g=0,v;g<a;++g)m[(v=y[g]).i]=v.x(p);return m.join("")})}function zo(t,a){var l=typeof a,o;return a==null||l==="boolean"?Xf(a):(l==="number"?mn:l==="string"?(o=ui(a))?(a=o,Qs):qv:a instanceof ui?Qs:a instanceof Date?tC:WE(a)?JE:Array.isArray(a)?eC:typeof a.valueOf!="function"&&typeof a.toString!="function"||isNaN(a)?nC:mn)(t,a)}var Uy=180/Math.PI,Cf={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Uv(t,a,l,o,s,c){var d,m,y;return(d=Math.sqrt(t*t+a*a))&&(t/=d,a/=d),(y=t*l+a*o)&&(l-=t*y,o-=a*y),(m=Math.sqrt(l*l+o*o))&&(l/=m,o/=m,y/=m),t*o<a*l&&(t=-t,a=-a,y=-y,d=-d),{translateX:s,translateY:c,rotate:Math.atan2(a,t)*Uy,skewX:Math.atan(y)*Uy,scaleX:d,scaleY:m}}var Ts;function lC(t){const a=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(t+"");return a.isIdentity?Cf:Uv(a.a,a.b,a.c,a.d,a.e,a.f)}function oC(t){return t==null||(Ts||(Ts=document.createElementNS("http://www.w3.org/2000/svg","g")),Ts.setAttribute("transform",t),!(t=Ts.transform.baseVal.consolidate()))?Cf:(t=t.matrix,Uv(t.a,t.b,t.c,t.d,t.e,t.f))}function Gv(t,a,l,o){function s(p){return p.length?p.pop()+" ":""}function c(p,g,v,x,S,N){if(p!==v||g!==x){var _=S.push("translate(",null,a,null,l);N.push({i:_-4,x:mn(p,v)},{i:_-2,x:mn(g,x)})}else(v||x)&&S.push("translate("+v+a+x+l)}function d(p,g,v,x){p!==g?(p-g>180?g+=360:g-p>180&&(p+=360),x.push({i:v.push(s(v)+"rotate(",null,o)-2,x:mn(p,g)})):g&&v.push(s(v)+"rotate("+g+o)}function m(p,g,v,x){p!==g?x.push({i:v.push(s(v)+"skewX(",null,o)-2,x:mn(p,g)}):g&&v.push(s(v)+"skewX("+g+o)}function y(p,g,v,x,S,N){if(p!==v||g!==x){var _=S.push(s(S)+"scale(",null,",",null,")");N.push({i:_-4,x:mn(p,v)},{i:_-2,x:mn(g,x)})}else(v!==1||x!==1)&&S.push(s(S)+"scale("+v+","+x+")")}return function(p,g){var v=[],x=[];return p=t(p),g=t(g),c(p.translateX,p.translateY,g.translateX,g.translateY,v,x),d(p.rotate,g.rotate,v,x),m(p.skewX,g.skewX,v,x),y(p.scaleX,p.scaleY,g.scaleX,g.scaleY,v,x),p=g=null,function(S){for(var N=-1,_=x.length,D;++N<_;)v[(D=x[N]).i]=D.x(S);return v.join("")}}}var rC=Gv(lC,"px, ","px)","deg)"),sC=Gv(oC,", ",")",")"),cC=1e-12;function Gy(t){return((t=Math.exp(t))+1/t)/2}function uC(t){return((t=Math.exp(t))-1/t)/2}function dC(t){return((t=Math.exp(2*t))-1)/(t+1)}const Us=(function t(a,l,o){function s(c,d){var m=c[0],y=c[1],p=c[2],g=d[0],v=d[1],x=d[2],S=g-m,N=v-y,_=S*S+N*N,D,j;if(_<cC)j=Math.log(x/p)/a,D=function(k){return[m+k*S,y+k*N,p*Math.exp(a*k*j)]};else{var A=Math.sqrt(_),E=(x*x-p*p+o*_)/(2*p*l*A),w=(x*x-p*p-o*_)/(2*x*l*A),B=Math.log(Math.sqrt(E*E+1)-E),O=Math.log(Math.sqrt(w*w+1)-w);j=(O-B)/a,D=function(k){var F=k*j,K=Gy(B),de=p/(l*A)*(K*dC(a*F+B)-uC(B));return[m+de*S,y+de*N,p*K/Gy(a*F+B)]}}return D.duration=j*1e3*a/Math.SQRT2,D}return s.rho=function(c){var d=Math.max(.001,+c),m=d*d,y=m*m;return t(d,m,y)},s})(Math.SQRT2,2,4);var yl=0,Co=0,So=0,Vv=1e3,Js,To,Ws=0,di=0,sc=0,Lo=typeof performance=="object"&&performance.now?performance:Date,Yv=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function Zf(){return di||(Yv(fC),di=Lo.now()+sc)}function fC(){di=0}function ec(){this._call=this._time=this._next=null}ec.prototype=Pv.prototype={constructor:ec,restart:function(t,a,l){if(typeof t!="function")throw new TypeError("callback is not a function");l=(l==null?Zf():+l)+(a==null?0:+a),!this._next&&To!==this&&(To?To._next=this:Js=this,To=this),this._call=t,this._time=l,Tf()},stop:function(){this._call&&(this._call=null,this._time=1/0,Tf())}};function Pv(t,a,l){var o=new ec;return o.restart(t,a,l),o}function hC(){Zf(),++yl;for(var t=Js,a;t;)(a=di-t._time)>=0&&t._call.call(void 0,a),t=t._next;--yl}function Vy(){di=(Ws=Lo.now())+sc,yl=Co=0;try{hC()}finally{yl=0,pC(),di=0}}function mC(){var t=Lo.now(),a=t-Ws;a>Vv&&(sc-=a,Ws=t)}function pC(){for(var t,a=Js,l,o=1/0;a;)a._call?(o>a._time&&(o=a._time),t=a,a=a._next):(l=a._next,a._next=null,a=t?t._next=l:Js=l);To=t,Tf(o)}function Tf(t){if(!yl){Co&&(Co=clearTimeout(Co));var a=t-di;a>24?(t<1/0&&(Co=setTimeout(Vy,t-Lo.now()-sc)),So&&(So=clearInterval(So))):(So||(Ws=Lo.now(),So=setInterval(mC,Vv)),yl=1,Yv(Vy))}}function Yy(t,a,l){var o=new ec;return a=a==null?0:+a,o.restart(s=>{o.stop(),t(s+a)},a,l),o}var gC=oc("start","end","cancel","interrupt"),yC=[],$v=0,Py=1,Mf=2,Gs=3,$y=4,Af=5,Vs=6;function cc(t,a,l,o,s,c){var d=t.__transition;if(!d)t.__transition={};else if(l in d)return;vC(t,l,{name:a,index:o,group:s,on:gC,tween:yC,time:c.time,delay:c.delay,duration:c.duration,ease:c.ease,timer:null,state:$v})}function Kf(t,a){var l=rn(t,a);if(l.state>$v)throw new Error("too late; already scheduled");return l}function vn(t,a){var l=rn(t,a);if(l.state>Gs)throw new Error("too late; already running");return l}function rn(t,a){var l=t.__transition;if(!l||!(l=l[a]))throw new Error("transition not found");return l}function vC(t,a,l){var o=t.__transition,s;o[a]=l,l.timer=Pv(c,0,l.time);function c(p){l.state=Py,l.timer.restart(d,l.delay,l.time),l.delay<=p&&d(p-l.delay)}function d(p){var g,v,x,S;if(l.state!==Py)return y();for(g in o)if(S=o[g],S.name===l.name){if(S.state===Gs)return Yy(d);S.state===$y?(S.state=Vs,S.timer.stop(),S.on.call("interrupt",t,t.__data__,S.index,S.group),delete o[g]):+g<a&&(S.state=Vs,S.timer.stop(),S.on.call("cancel",t,t.__data__,S.index,S.group),delete o[g])}if(Yy(function(){l.state===Gs&&(l.state=$y,l.timer.restart(m,l.delay,l.time),m(p))}),l.state=Mf,l.on.call("start",t,t.__data__,l.index,l.group),l.state===Mf){for(l.state=Gs,s=new Array(x=l.tween.length),g=0,v=-1;g<x;++g)(S=l.tween[g].value.call(t,t.__data__,l.index,l.group))&&(s[++v]=S);s.length=v+1}}function m(p){for(var g=p<l.duration?l.ease.call(null,p/l.duration):(l.timer.restart(y),l.state=Af,1),v=-1,x=s.length;++v<x;)s[v].call(t,g);l.state===Af&&(l.on.call("end",t,t.__data__,l.index,l.group),y())}function y(){l.state=Vs,l.timer.stop(),delete o[a];for(var p in o)return;delete t.__transition}}function Ys(t,a){var l=t.__transition,o,s,c=!0,d;if(l){a=a==null?null:a+"";for(d in l){if((o=l[d]).name!==a){c=!1;continue}s=o.state>Mf&&o.state<Af,o.state=Vs,o.timer.stop(),o.on.call(s?"interrupt":"cancel",t,t.__data__,o.index,o.group),delete l[d]}c&&delete t.__transition}}function xC(t){return this.each(function(){Ys(this,t)})}function bC(t,a){var l,o;return function(){var s=vn(this,t),c=s.tween;if(c!==l){o=l=c;for(var d=0,m=o.length;d<m;++d)if(o[d].name===a){o=o.slice(),o.splice(d,1);break}}s.tween=o}}function SC(t,a,l){var o,s;if(typeof l!="function")throw new Error;return function(){var c=vn(this,t),d=c.tween;if(d!==o){s=(o=d).slice();for(var m={name:a,value:l},y=0,p=s.length;y<p;++y)if(s[y].name===a){s[y]=m;break}y===p&&s.push(m)}c.tween=s}}function wC(t,a){var l=this._id;if(t+="",arguments.length<2){for(var o=rn(this.node(),l).tween,s=0,c=o.length,d;s<c;++s)if((d=o[s]).name===t)return d.value;return null}return this.each((a==null?bC:SC)(l,t,a))}function Qf(t,a,l){var o=t._id;return t.each(function(){var s=vn(this,o);(s.value||(s.value={}))[a]=l.apply(this,arguments)}),function(s){return rn(s,o).value[a]}}function Fv(t,a){var l;return(typeof a=="number"?mn:a instanceof ui?Qs:(l=ui(a))?(a=l,Qs):qv)(t,a)}function NC(t){return function(){this.removeAttribute(t)}}function _C(t){return function(){this.removeAttributeNS(t.space,t.local)}}function EC(t,a,l){var o,s=l+"",c;return function(){var d=this.getAttribute(t);return d===s?null:d===o?c:c=a(o=d,l)}}function CC(t,a,l){var o,s=l+"",c;return function(){var d=this.getAttributeNS(t.space,t.local);return d===s?null:d===o?c:c=a(o=d,l)}}function TC(t,a,l){var o,s,c;return function(){var d,m=l(this),y;return m==null?void this.removeAttribute(t):(d=this.getAttribute(t),y=m+"",d===y?null:d===o&&y===s?c:(s=y,c=a(o=d,m)))}}function MC(t,a,l){var o,s,c;return function(){var d,m=l(this),y;return m==null?void this.removeAttributeNS(t.space,t.local):(d=this.getAttributeNS(t.space,t.local),y=m+"",d===y?null:d===o&&y===s?c:(s=y,c=a(o=d,m)))}}function AC(t,a){var l=rc(t),o=l==="transform"?sC:Fv;return this.attrTween(t,typeof a=="function"?(l.local?MC:TC)(l,o,Qf(this,"attr."+t,a)):a==null?(l.local?_C:NC)(l):(l.local?CC:EC)(l,o,a))}function jC(t,a){return function(l){this.setAttribute(t,a.call(this,l))}}function zC(t,a){return function(l){this.setAttributeNS(t.space,t.local,a.call(this,l))}}function RC(t,a){var l,o;function s(){var c=a.apply(this,arguments);return c!==o&&(l=(o=c)&&zC(t,c)),l}return s._value=a,s}function DC(t,a){var l,o;function s(){var c=a.apply(this,arguments);return c!==o&&(l=(o=c)&&jC(t,c)),l}return s._value=a,s}function OC(t,a){var l="attr."+t;if(arguments.length<2)return(l=this.tween(l))&&l._value;if(a==null)return this.tween(l,null);if(typeof a!="function")throw new Error;var o=rc(t);return this.tween(l,(o.local?RC:DC)(o,a))}function IC(t,a){return function(){Kf(this,t).delay=+a.apply(this,arguments)}}function LC(t,a){return a=+a,function(){Kf(this,t).delay=a}}function HC(t){var a=this._id;return arguments.length?this.each((typeof t=="function"?IC:LC)(a,t)):rn(this.node(),a).delay}function kC(t,a){return function(){vn(this,t).duration=+a.apply(this,arguments)}}function BC(t,a){return a=+a,function(){vn(this,t).duration=a}}function qC(t){var a=this._id;return arguments.length?this.each((typeof t=="function"?kC:BC)(a,t)):rn(this.node(),a).duration}function UC(t,a){if(typeof a!="function")throw new Error;return function(){vn(this,t).ease=a}}function GC(t){var a=this._id;return arguments.length?this.each(UC(a,t)):rn(this.node(),a).ease}function VC(t,a){return function(){var l=a.apply(this,arguments);if(typeof l!="function")throw new Error;vn(this,t).ease=l}}function YC(t){if(typeof t!="function")throw new Error;return this.each(VC(this._id,t))}function PC(t){typeof t!="function"&&(t=_v(t));for(var a=this._groups,l=a.length,o=new Array(l),s=0;s<l;++s)for(var c=a[s],d=c.length,m=o[s]=[],y,p=0;p<d;++p)(y=c[p])&&t.call(y,y.__data__,p,c)&&m.push(y);return new Pn(o,this._parents,this._name,this._id)}function $C(t){if(t._id!==this._id)throw new Error;for(var a=this._groups,l=t._groups,o=a.length,s=l.length,c=Math.min(o,s),d=new Array(o),m=0;m<c;++m)for(var y=a[m],p=l[m],g=y.length,v=d[m]=new Array(g),x,S=0;S<g;++S)(x=y[S]||p[S])&&(v[S]=x);for(;m<o;++m)d[m]=a[m];return new Pn(d,this._parents,this._name,this._id)}function FC(t){return(t+"").trim().split(/^|\s+/).every(function(a){var l=a.indexOf(".");return l>=0&&(a=a.slice(0,l)),!a||a==="start"})}function XC(t,a,l){var o,s,c=FC(a)?Kf:vn;return function(){var d=c(this,t),m=d.on;m!==o&&(s=(o=m).copy()).on(a,l),d.on=s}}function ZC(t,a){var l=this._id;return arguments.length<2?rn(this.node(),l).on.on(t):this.each(XC(l,t,a))}function KC(t){return function(){var a=this.parentNode;for(var l in this.__transition)if(+l!==t)return;a&&a.removeChild(this)}}function QC(){return this.on("end.remove",KC(this._id))}function JC(t){var a=this._name,l=this._id;typeof t!="function"&&(t=Pf(t));for(var o=this._groups,s=o.length,c=new Array(s),d=0;d<s;++d)for(var m=o[d],y=m.length,p=c[d]=new Array(y),g,v,x=0;x<y;++x)(g=m[x])&&(v=t.call(g,g.__data__,x,m))&&("__data__"in g&&(v.__data__=g.__data__),p[x]=v,cc(p[x],a,l,x,p,rn(g,l)));return new Pn(c,this._parents,a,l)}function WC(t){var a=this._name,l=this._id;typeof t!="function"&&(t=Nv(t));for(var o=this._groups,s=o.length,c=[],d=[],m=0;m<s;++m)for(var y=o[m],p=y.length,g,v=0;v<p;++v)if(g=y[v]){for(var x=t.call(g,g.__data__,v,y),S,N=rn(g,l),_=0,D=x.length;_<D;++_)(S=x[_])&&cc(S,a,l,_,x,N);c.push(x),d.push(g)}return new Pn(c,d,a,l)}var eT=Vo.prototype.constructor;function tT(){return new eT(this._groups,this._parents)}function nT(t,a){var l,o,s;return function(){var c=gl(this,t),d=(this.style.removeProperty(t),gl(this,t));return c===d?null:c===l&&d===o?s:s=a(l=c,o=d)}}function Xv(t){return function(){this.style.removeProperty(t)}}function aT(t,a,l){var o,s=l+"",c;return function(){var d=gl(this,t);return d===s?null:d===o?c:c=a(o=d,l)}}function iT(t,a,l){var o,s,c;return function(){var d=gl(this,t),m=l(this),y=m+"";return m==null&&(y=m=(this.style.removeProperty(t),gl(this,t))),d===y?null:d===o&&y===s?c:(s=y,c=a(o=d,m))}}function lT(t,a){var l,o,s,c="style."+a,d="end."+c,m;return function(){var y=vn(this,t),p=y.on,g=y.value[c]==null?m||(m=Xv(a)):void 0;(p!==l||s!==g)&&(o=(l=p).copy()).on(d,s=g),y.on=o}}function oT(t,a,l){var o=(t+="")=="transform"?rC:Fv;return a==null?this.styleTween(t,nT(t,o)).on("end.style."+t,Xv(t)):typeof a=="function"?this.styleTween(t,iT(t,o,Qf(this,"style."+t,a))).each(lT(this._id,t)):this.styleTween(t,aT(t,o,a),l).on("end.style."+t,null)}function rT(t,a,l){return function(o){this.style.setProperty(t,a.call(this,o),l)}}function sT(t,a,l){var o,s;function c(){var d=a.apply(this,arguments);return d!==s&&(o=(s=d)&&rT(t,d,l)),o}return c._value=a,c}function cT(t,a,l){var o="style."+(t+="");if(arguments.length<2)return(o=this.tween(o))&&o._value;if(a==null)return this.tween(o,null);if(typeof a!="function")throw new Error;return this.tween(o,sT(t,a,l??""))}function uT(t){return function(){this.textContent=t}}function dT(t){return function(){var a=t(this);this.textContent=a??""}}function fT(t){return this.tween("text",typeof t=="function"?dT(Qf(this,"text",t)):uT(t==null?"":t+""))}function hT(t){return function(a){this.textContent=t.call(this,a)}}function mT(t){var a,l;function o(){var s=t.apply(this,arguments);return s!==l&&(a=(l=s)&&hT(s)),a}return o._value=t,o}function pT(t){var a="text";if(arguments.length<1)return(a=this.tween(a))&&a._value;if(t==null)return this.tween(a,null);if(typeof t!="function")throw new Error;return this.tween(a,mT(t))}function gT(){for(var t=this._name,a=this._id,l=Zv(),o=this._groups,s=o.length,c=0;c<s;++c)for(var d=o[c],m=d.length,y,p=0;p<m;++p)if(y=d[p]){var g=rn(y,a);cc(y,t,l,p,d,{time:g.time+g.delay+g.duration,delay:0,duration:g.duration,ease:g.ease})}return new Pn(o,this._parents,t,l)}function yT(){var t,a,l=this,o=l._id,s=l.size();return new Promise(function(c,d){var m={value:d},y={value:function(){--s===0&&c()}};l.each(function(){var p=vn(this,o),g=p.on;g!==t&&(a=(t=g).copy(),a._.cancel.push(m),a._.interrupt.push(m),a._.end.push(y)),p.on=a}),s===0&&c()})}var vT=0;function Pn(t,a,l,o){this._groups=t,this._parents=a,this._name=l,this._id=o}function Zv(){return++vT}var Vn=Vo.prototype;Pn.prototype={constructor:Pn,select:JC,selectAll:WC,selectChild:Vn.selectChild,selectChildren:Vn.selectChildren,filter:PC,merge:$C,selection:tT,transition:gT,call:Vn.call,nodes:Vn.nodes,node:Vn.node,size:Vn.size,empty:Vn.empty,each:Vn.each,on:ZC,attr:AC,attrTween:OC,style:oT,styleTween:cT,text:fT,textTween:pT,remove:QC,tween:wC,delay:HC,duration:qC,ease:GC,easeVarying:YC,end:yT,[Symbol.iterator]:Vn[Symbol.iterator]};function xT(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var bT={time:null,delay:0,duration:250,ease:xT};function ST(t,a){for(var l;!(l=t.__transition)||!(l=l[a]);)if(!(t=t.parentNode))throw new Error(`transition ${a} not found`);return l}function wT(t){var a,l;t instanceof Pn?(a=t._id,t=t._name):(a=Zv(),(l=bT).time=Zf(),t=t==null?null:t+"");for(var o=this._groups,s=o.length,c=0;c<s;++c)for(var d=o[c],m=d.length,y,p=0;p<m;++p)(y=d[p])&&cc(y,t,a,p,d,l||ST(y,a));return new Pn(o,this._parents,t,a)}Vo.prototype.interrupt=xC;Vo.prototype.transition=wT;const Ms=t=>()=>t;function NT(t,{sourceEvent:a,target:l,transform:o,dispatch:s}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:a,enumerable:!0,configurable:!0},target:{value:l,enumerable:!0,configurable:!0},transform:{value:o,enumerable:!0,configurable:!0},_:{value:s}})}function Yn(t,a,l){this.k=t,this.x=a,this.y=l}Yn.prototype={constructor:Yn,scale:function(t){return t===1?this:new Yn(this.k*t,this.x,this.y)},translate:function(t,a){return t===0&a===0?this:new Yn(this.k,this.x+this.k*t,this.y+this.k*a)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var uc=new Yn(1,0,0);Kv.prototype=Yn.prototype;function Kv(t){for(;!t.__zoom;)if(!(t=t.parentNode))return uc;return t.__zoom}function of(t){t.stopImmediatePropagation()}function wo(t){t.preventDefault(),t.stopImmediatePropagation()}function _T(t){return(!t.ctrlKey||t.type==="wheel")&&!t.button}function ET(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t,t.hasAttribute("viewBox")?(t=t.viewBox.baseVal,[[t.x,t.y],[t.x+t.width,t.y+t.height]]):[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]):[[0,0],[t.clientWidth,t.clientHeight]]}function Fy(){return this.__zoom||uc}function CT(t){return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function TT(){return navigator.maxTouchPoints||"ontouchstart"in this}function MT(t,a,l){var o=t.invertX(a[0][0])-l[0][0],s=t.invertX(a[1][0])-l[1][0],c=t.invertY(a[0][1])-l[0][1],d=t.invertY(a[1][1])-l[1][1];return t.translate(s>o?(o+s)/2:Math.min(0,o)||Math.max(0,s),d>c?(c+d)/2:Math.min(0,c)||Math.max(0,d))}function Qv(){var t=_T,a=ET,l=MT,o=CT,s=TT,c=[0,1/0],d=[[-1/0,-1/0],[1/0,1/0]],m=250,y=Us,p=oc("start","zoom","end"),g,v,x,S=500,N=150,_=0,D=10;function j(z){z.property("__zoom",Fy).on("wheel.zoom",F,{passive:!1}).on("mousedown.zoom",K).on("dblclick.zoom",de).filter(s).on("touchstart.zoom",X).on("touchmove.zoom",te).on("touchend.zoom touchcancel.zoom",se).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}j.transform=function(z,M,T,I){var U=z.selection?z.selection():z;U.property("__zoom",Fy),z!==U?B(z,M,T,I):U.interrupt().each(function(){O(this,arguments).event(I).start().zoom(null,typeof M=="function"?M.apply(this,arguments):M).end()})},j.scaleBy=function(z,M,T,I){j.scaleTo(z,function(){var U=this.__zoom.k,Z=typeof M=="function"?M.apply(this,arguments):M;return U*Z},T,I)},j.scaleTo=function(z,M,T,I){j.transform(z,function(){var U=a.apply(this,arguments),Z=this.__zoom,ae=T==null?w(U):typeof T=="function"?T.apply(this,arguments):T,R=Z.invert(ae),q=typeof M=="function"?M.apply(this,arguments):M;return l(E(A(Z,q),ae,R),U,d)},T,I)},j.translateBy=function(z,M,T,I){j.transform(z,function(){return l(this.__zoom.translate(typeof M=="function"?M.apply(this,arguments):M,typeof T=="function"?T.apply(this,arguments):T),a.apply(this,arguments),d)},null,I)},j.translateTo=function(z,M,T,I,U){j.transform(z,function(){var Z=a.apply(this,arguments),ae=this.__zoom,R=I==null?w(Z):typeof I=="function"?I.apply(this,arguments):I;return l(uc.translate(R[0],R[1]).scale(ae.k).translate(typeof M=="function"?-M.apply(this,arguments):-M,typeof T=="function"?-T.apply(this,arguments):-T),Z,d)},I,U)};function A(z,M){return M=Math.max(c[0],Math.min(c[1],M)),M===z.k?z:new Yn(M,z.x,z.y)}function E(z,M,T){var I=M[0]-T[0]*z.k,U=M[1]-T[1]*z.k;return I===z.x&&U===z.y?z:new Yn(z.k,I,U)}function w(z){return[(+z[0][0]+ +z[1][0])/2,(+z[0][1]+ +z[1][1])/2]}function B(z,M,T,I){z.on("start.zoom",function(){O(this,arguments).event(I).start()}).on("interrupt.zoom end.zoom",function(){O(this,arguments).event(I).end()}).tween("zoom",function(){var U=this,Z=arguments,ae=O(U,Z).event(I),R=a.apply(U,Z),q=T==null?w(R):typeof T=="function"?T.apply(U,Z):T,V=Math.max(R[1][0]-R[0][0],R[1][1]-R[0][1]),W=U.__zoom,fe=typeof M=="function"?M.apply(U,Z):M,$=y(W.invert(q).concat(V/W.k),fe.invert(q).concat(V/fe.k));return function(le){if(le===1)le=fe;else{var ce=$(le),ue=V/ce[2];le=new Yn(ue,q[0]-ce[0]*ue,q[1]-ce[1]*ue)}ae.zoom(null,le)}})}function O(z,M,T){return!T&&z.__zooming||new k(z,M)}function k(z,M){this.that=z,this.args=M,this.active=0,this.sourceEvent=null,this.extent=a.apply(z,M),this.taps=0}k.prototype={event:function(z){return z&&(this.sourceEvent=z),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(z,M){return this.mouse&&z!=="mouse"&&(this.mouse[1]=M.invert(this.mouse[0])),this.touch0&&z!=="touch"&&(this.touch0[1]=M.invert(this.touch0[0])),this.touch1&&z!=="touch"&&(this.touch1[1]=M.invert(this.touch1[0])),this.that.__zoom=M,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(z){var M=Bt(this.that).datum();p.call(z,this.that,new NT(z,{sourceEvent:this.sourceEvent,target:j,transform:this.that.__zoom,dispatch:p}),M)}};function F(z,...M){if(!t.apply(this,arguments))return;var T=O(this,M).event(z),I=this.__zoom,U=Math.max(c[0],Math.min(c[1],I.k*Math.pow(2,o.apply(this,arguments)))),Z=nn(z);if(T.wheel)(T.mouse[0][0]!==Z[0]||T.mouse[0][1]!==Z[1])&&(T.mouse[1]=I.invert(T.mouse[0]=Z)),clearTimeout(T.wheel);else{if(I.k===U)return;T.mouse=[Z,I.invert(Z)],Ys(this),T.start()}wo(z),T.wheel=setTimeout(ae,N),T.zoom("mouse",l(E(A(I,U),T.mouse[0],T.mouse[1]),T.extent,d));function ae(){T.wheel=null,T.end()}}function K(z,...M){if(x||!t.apply(this,arguments))return;var T=z.currentTarget,I=O(this,M,!0).event(z),U=Bt(z.view).on("mousemove.zoom",q,!0).on("mouseup.zoom",V,!0),Z=nn(z,T),ae=z.clientX,R=z.clientY;Ov(z.view),of(z),I.mouse=[Z,this.__zoom.invert(Z)],Ys(this),I.start();function q(W){if(wo(W),!I.moved){var fe=W.clientX-ae,$=W.clientY-R;I.moved=fe*fe+$*$>_}I.event(W).zoom("mouse",l(E(I.that.__zoom,I.mouse[0]=nn(W,T),I.mouse[1]),I.extent,d))}function V(W){U.on("mousemove.zoom mouseup.zoom",null),Iv(W.view,I.moved),wo(W),I.event(W).end()}}function de(z,...M){if(t.apply(this,arguments)){var T=this.__zoom,I=nn(z.changedTouches?z.changedTouches[0]:z,this),U=T.invert(I),Z=T.k*(z.shiftKey?.5:2),ae=l(E(A(T,Z),I,U),a.apply(this,M),d);wo(z),m>0?Bt(this).transition().duration(m).call(B,ae,I,z):Bt(this).call(j.transform,ae,I,z)}}function X(z,...M){if(t.apply(this,arguments)){var T=z.touches,I=T.length,U=O(this,M,z.changedTouches.length===I).event(z),Z,ae,R,q;for(of(z),ae=0;ae<I;++ae)R=T[ae],q=nn(R,this),q=[q,this.__zoom.invert(q),R.identifier],U.touch0?!U.touch1&&U.touch0[2]!==q[2]&&(U.touch1=q,U.taps=0):(U.touch0=q,Z=!0,U.taps=1+!!g);g&&(g=clearTimeout(g)),Z&&(U.taps<2&&(v=q[0],g=setTimeout(function(){g=null},S)),Ys(this),U.start())}}function te(z,...M){if(this.__zooming){var T=O(this,M).event(z),I=z.changedTouches,U=I.length,Z,ae,R,q;for(wo(z),Z=0;Z<U;++Z)ae=I[Z],R=nn(ae,this),T.touch0&&T.touch0[2]===ae.identifier?T.touch0[0]=R:T.touch1&&T.touch1[2]===ae.identifier&&(T.touch1[0]=R);if(ae=T.that.__zoom,T.touch1){var V=T.touch0[0],W=T.touch0[1],fe=T.touch1[0],$=T.touch1[1],le=(le=fe[0]-V[0])*le+(le=fe[1]-V[1])*le,ce=(ce=$[0]-W[0])*ce+(ce=$[1]-W[1])*ce;ae=A(ae,Math.sqrt(le/ce)),R=[(V[0]+fe[0])/2,(V[1]+fe[1])/2],q=[(W[0]+$[0])/2,(W[1]+$[1])/2]}else if(T.touch0)R=T.touch0[0],q=T.touch0[1];else return;T.zoom("touch",l(E(ae,R,q),T.extent,d))}}function se(z,...M){if(this.__zooming){var T=O(this,M).event(z),I=z.changedTouches,U=I.length,Z,ae;for(of(z),x&&clearTimeout(x),x=setTimeout(function(){x=null},S),Z=0;Z<U;++Z)ae=I[Z],T.touch0&&T.touch0[2]===ae.identifier?delete T.touch0:T.touch1&&T.touch1[2]===ae.identifier&&delete T.touch1;if(T.touch1&&!T.touch0&&(T.touch0=T.touch1,delete T.touch1),T.touch0)T.touch0[1]=this.__zoom.invert(T.touch0[0]);else if(T.end(),T.taps===2&&(ae=nn(ae,this),Math.hypot(v[0]-ae[0],v[1]-ae[1])<D)){var R=Bt(this).on("dblclick.zoom");R&&R.apply(this,arguments)}}}return j.wheelDelta=function(z){return arguments.length?(o=typeof z=="function"?z:Ms(+z),j):o},j.filter=function(z){return arguments.length?(t=typeof z=="function"?z:Ms(!!z),j):t},j.touchable=function(z){return arguments.length?(s=typeof z=="function"?z:Ms(!!z),j):s},j.extent=function(z){return arguments.length?(a=typeof z=="function"?z:Ms([[+z[0][0],+z[0][1]],[+z[1][0],+z[1][1]]]),j):a},j.scaleExtent=function(z){return arguments.length?(c[0]=+z[0],c[1]=+z[1],j):[c[0],c[1]]},j.translateExtent=function(z){return arguments.length?(d[0][0]=+z[0][0],d[1][0]=+z[1][0],d[0][1]=+z[0][1],d[1][1]=+z[1][1],j):[[d[0][0],d[0][1]],[d[1][0],d[1][1]]]},j.constrain=function(z){return arguments.length?(l=z,j):l},j.duration=function(z){return arguments.length?(m=+z,j):m},j.interpolate=function(z){return arguments.length?(y=z,j):y},j.on=function(){var z=p.on.apply(p,arguments);return z===p?j:z},j.clickDistance=function(z){return arguments.length?(_=(z=+z)*z,j):Math.sqrt(_)},j.tapDistance=function(z){return arguments.length?(D=+z,j):D},j}const yn={error001:()=>"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:t=>`Node type "${t}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:t=>`The old edge with id=${t} does not exist.`,error009:t=>`Marker type "${t}" doesn't exist.`,error008:(t,{id:a,sourceHandle:l,targetHandle:o})=>`Couldn't create edge for ${t} handle id: "${t==="source"?l:o}", edge id: ${a}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:t=>`Edge type "${t}" not found. Using fallback type "default".`,error012:t=>`Node with id "${t}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(t="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${t}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs."},Ho=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],Jv=["Enter"," ","Escape"],Wv={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:t,x:a,y:l})=>`Moved selected node ${t}. New position, x: ${a}, y: ${l}`,"edge.a11yDescription.default":"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.","controls.ariaLabel":"Control Panel","controls.zoomIn.ariaLabel":"Zoom In","controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":"Fit View","controls.interactive.ariaLabel":"Toggle Interactivity","minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"};var fi;(function(t){t.Strict="strict",t.Loose="loose"})(fi||(fi={}));var si;(function(t){t.Free="free",t.Vertical="vertical",t.Horizontal="horizontal"})(si||(si={}));var ko;(function(t){t.Partial="partial",t.Full="full"})(ko||(ko={}));const ex={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var Ca;(function(t){t.Bezier="default",t.Straight="straight",t.Step="step",t.SmoothStep="smoothstep",t.SimpleBezier="simplebezier"})(Ca||(Ca={}));var tc;(function(t){t.Arrow="arrow",t.ArrowClosed="arrowclosed"})(tc||(tc={}));var ge;(function(t){t.Left="left",t.Top="top",t.Right="right",t.Bottom="bottom"})(ge||(ge={}));const Xy={[ge.Left]:ge.Right,[ge.Right]:ge.Left,[ge.Top]:ge.Bottom,[ge.Bottom]:ge.Top};function tx(t){return t===null?null:t?"valid":"invalid"}const nx=t=>"id"in t&&"source"in t&&"target"in t,AT=t=>"id"in t&&"position"in t&&!("source"in t)&&!("target"in t),Jf=t=>"id"in t&&"internals"in t&&!("source"in t)&&!("target"in t),Po=(t,a=[0,0])=>{const{width:l,height:o}=$n(t),s=t.origin??a,c=l*s[0],d=o*s[1];return{x:t.position.x-c,y:t.position.y-d}},jT=(t,a={nodeOrigin:[0,0]})=>{if(t.length===0)return{x:0,y:0,width:0,height:0};const l=t.reduce((o,s)=>{const c=typeof s=="string";let d=!a.nodeLookup&&!c?s:void 0;a.nodeLookup&&(d=c?a.nodeLookup.get(s):Jf(s)?s:a.nodeLookup.get(s.id));const m=d?nc(d,a.nodeOrigin):{x:0,y:0,x2:0,y2:0};return dc(o,m)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return fc(l)},$o=(t,a={})=>{let l={x:1/0,y:1/0,x2:-1/0,y2:-1/0},o=!1;return t.forEach(s=>{(a.filter===void 0||a.filter(s))&&(l=dc(l,nc(s)),o=!0)}),o?fc(l):{x:0,y:0,width:0,height:0}},Wf=(t,a,[l,o,s]=[0,0,1],c=!1,d=!1)=>{const m={...Xo(a,[l,o,s]),width:a.width/s,height:a.height/s},y=[];for(const p of t.values()){const{measured:g,selectable:v=!0,hidden:x=!1}=p;if(d&&!v||x)continue;const S=g.width??p.width??p.initialWidth??null,N=g.height??p.height??p.initialHeight??null,_=Bo(m,xl(p)),D=(S??0)*(N??0),j=c&&_>0;(!p.internals.handleBounds||j||_>=D||p.dragging)&&y.push(p)}return y},zT=(t,a)=>{const l=new Set;return t.forEach(o=>{l.add(o.id)}),a.filter(o=>l.has(o.source)||l.has(o.target))};function RT(t,a){const l=new Map,o=a?.nodes?new Set(a.nodes.map(s=>s.id)):null;return t.forEach(s=>{s.measured.width&&s.measured.height&&(a?.includeHiddenNodes||!s.hidden)&&(!o||o.has(s.id))&&l.set(s.id,s)}),l}async function DT({nodes:t,width:a,height:l,panZoom:o,minZoom:s,maxZoom:c},d){if(t.size===0)return Promise.resolve(!0);const m=RT(t,d),y=$o(m),p=eh(y,a,l,d?.minZoom??s,d?.maxZoom??c,d?.padding??.1);return await o.setViewport(p,{duration:d?.duration,ease:d?.ease,interpolate:d?.interpolate}),Promise.resolve(!0)}function ax({nodeId:t,nextPosition:a,nodeLookup:l,nodeOrigin:o=[0,0],nodeExtent:s,onError:c}){const d=l.get(t),m=d.parentId?l.get(d.parentId):void 0,{x:y,y:p}=m?m.internals.positionAbsolute:{x:0,y:0},g=d.origin??o;let v=d.extent||s;if(d.extent==="parent"&&!d.expandParent)if(!m)c?.("005",yn.error005());else{const S=m.measured.width,N=m.measured.height;S&&N&&(v=[[y,p],[y+S,p+N]])}else m&&bl(d.extent)&&(v=[[d.extent[0][0]+y,d.extent[0][1]+p],[d.extent[1][0]+y,d.extent[1][1]+p]]);const x=bl(v)?hi(a,v,d.measured):a;return(d.measured.width===void 0||d.measured.height===void 0)&&c?.("015",yn.error015()),{position:{x:x.x-y+(d.measured.width??0)*g[0],y:x.y-p+(d.measured.height??0)*g[1]},positionAbsolute:x}}async function OT({nodesToRemove:t=[],edgesToRemove:a=[],nodes:l,edges:o,onBeforeDelete:s}){const c=new Set(t.map(x=>x.id)),d=[];for(const x of l){if(x.deletable===!1)continue;const S=c.has(x.id),N=!S&&x.parentId&&d.find(_=>_.id===x.parentId);(S||N)&&d.push(x)}const m=new Set(a.map(x=>x.id)),y=o.filter(x=>x.deletable!==!1),g=zT(d,y);for(const x of y)m.has(x.id)&&!g.find(N=>N.id===x.id)&&g.push(x);if(!s)return{edges:g,nodes:d};const v=await s({nodes:d,edges:g});return typeof v=="boolean"?v?{edges:g,nodes:d}:{edges:[],nodes:[]}:v}const vl=(t,a=0,l=1)=>Math.min(Math.max(t,a),l),hi=(t={x:0,y:0},a,l)=>({x:vl(t.x,a[0][0],a[1][0]-(l?.width??0)),y:vl(t.y,a[0][1],a[1][1]-(l?.height??0))});function ix(t,a,l){const{width:o,height:s}=$n(l),{x:c,y:d}=l.internals.positionAbsolute;return hi(t,[[c,d],[c+o,d+s]],a)}const Zy=(t,a,l)=>t<a?vl(Math.abs(t-a),1,a)/a:t>l?-vl(Math.abs(t-l),1,a)/a:0,lx=(t,a,l=15,o=40)=>{const s=Zy(t.x,o,a.width-o)*l,c=Zy(t.y,o,a.height-o)*l;return[s,c]},dc=(t,a)=>({x:Math.min(t.x,a.x),y:Math.min(t.y,a.y),x2:Math.max(t.x2,a.x2),y2:Math.max(t.y2,a.y2)}),jf=({x:t,y:a,width:l,height:o})=>({x:t,y:a,x2:t+l,y2:a+o}),fc=({x:t,y:a,x2:l,y2:o})=>({x:t,y:a,width:l-t,height:o-a}),xl=(t,a=[0,0])=>{const{x:l,y:o}=Jf(t)?t.internals.positionAbsolute:Po(t,a);return{x:l,y:o,width:t.measured?.width??t.width??t.initialWidth??0,height:t.measured?.height??t.height??t.initialHeight??0}},nc=(t,a=[0,0])=>{const{x:l,y:o}=Jf(t)?t.internals.positionAbsolute:Po(t,a);return{x:l,y:o,x2:l+(t.measured?.width??t.width??t.initialWidth??0),y2:o+(t.measured?.height??t.height??t.initialHeight??0)}},ox=(t,a)=>fc(dc(jf(t),jf(a))),Bo=(t,a)=>{const l=Math.max(0,Math.min(t.x+t.width,a.x+a.width)-Math.max(t.x,a.x)),o=Math.max(0,Math.min(t.y+t.height,a.y+a.height)-Math.max(t.y,a.y));return Math.ceil(l*o)},Ky=t=>ln(t.width)&&ln(t.height)&&ln(t.x)&&ln(t.y),ln=t=>!isNaN(t)&&isFinite(t),IT=(t,a)=>{},Fo=(t,a=[1,1])=>({x:a[0]*Math.round(t.x/a[0]),y:a[1]*Math.round(t.y/a[1])}),Xo=({x:t,y:a},[l,o,s],c=!1,d=[1,1])=>{const m={x:(t-l)/s,y:(a-o)/s};return c?Fo(m,d):m},ac=({x:t,y:a},[l,o,s])=>({x:t*s+l,y:a*s+o});function rl(t,a){if(typeof t=="number")return Math.floor((a-a/(1+t))*.5);if(typeof t=="string"&&t.endsWith("px")){const l=parseFloat(t);if(!Number.isNaN(l))return Math.floor(l)}if(typeof t=="string"&&t.endsWith("%")){const l=parseFloat(t);if(!Number.isNaN(l))return Math.floor(a*l*.01)}return console.error(`[React Flow] The padding value "${t}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function LT(t,a,l){if(typeof t=="string"||typeof t=="number"){const o=rl(t,l),s=rl(t,a);return{top:o,right:s,bottom:o,left:s,x:s*2,y:o*2}}if(typeof t=="object"){const o=rl(t.top??t.y??0,l),s=rl(t.bottom??t.y??0,l),c=rl(t.left??t.x??0,a),d=rl(t.right??t.x??0,a);return{top:o,right:d,bottom:s,left:c,x:c+d,y:o+s}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function HT(t,a,l,o,s,c){const{x:d,y:m}=ac(t,[a,l,o]),{x:y,y:p}=ac({x:t.x+t.width,y:t.y+t.height},[a,l,o]),g=s-y,v=c-p;return{left:Math.floor(d),top:Math.floor(m),right:Math.floor(g),bottom:Math.floor(v)}}const eh=(t,a,l,o,s,c)=>{const d=LT(c,a,l),m=(a-d.x)/t.width,y=(l-d.y)/t.height,p=Math.min(m,y),g=vl(p,o,s),v=t.x+t.width/2,x=t.y+t.height/2,S=a/2-v*g,N=l/2-x*g,_=HT(t,S,N,g,a,l),D={left:Math.min(_.left-d.left,0),top:Math.min(_.top-d.top,0),right:Math.min(_.right-d.right,0),bottom:Math.min(_.bottom-d.bottom,0)};return{x:S-D.left+D.right,y:N-D.top+D.bottom,zoom:g}},qo=()=>typeof navigator<"u"&&navigator?.userAgent?.indexOf("Mac")>=0;function bl(t){return t!=null&&t!=="parent"}function $n(t){return{width:t.measured?.width??t.width??t.initialWidth??0,height:t.measured?.height??t.height??t.initialHeight??0}}function rx(t){return(t.measured?.width??t.width??t.initialWidth)!==void 0&&(t.measured?.height??t.height??t.initialHeight)!==void 0}function sx(t,a={width:0,height:0},l,o,s){const c={...t},d=o.get(l);if(d){const m=d.origin||s;c.x+=d.internals.positionAbsolute.x-(a.width??0)*m[0],c.y+=d.internals.positionAbsolute.y-(a.height??0)*m[1]}return c}function Qy(t,a){if(t.size!==a.size)return!1;for(const l of t)if(!a.has(l))return!1;return!0}function kT(){let t,a;return{promise:new Promise((o,s)=>{t=o,a=s}),resolve:t,reject:a}}function BT(t){return{...Wv,...t||{}}}function Ro(t,{snapGrid:a=[0,0],snapToGrid:l=!1,transform:o,containerBounds:s}){const{x:c,y:d}=on(t),m=Xo({x:c-(s?.left??0),y:d-(s?.top??0)},o),{x:y,y:p}=l?Fo(m,a):m;return{xSnapped:y,ySnapped:p,...m}}const th=t=>({width:t.offsetWidth,height:t.offsetHeight}),cx=t=>t?.getRootNode?.()||window?.document,qT=["INPUT","SELECT","TEXTAREA"];function ux(t){const a=t.composedPath?.()?.[0]||t.target;return a?.nodeType!==1?!1:qT.includes(a.nodeName)||a.hasAttribute("contenteditable")||!!a.closest(".nokey")}const dx=t=>"clientX"in t,on=(t,a)=>{const l=dx(t),o=l?t.clientX:t.touches?.[0].clientX,s=l?t.clientY:t.touches?.[0].clientY;return{x:o-(a?.left??0),y:s-(a?.top??0)}},Jy=(t,a,l,o,s)=>{const c=a.querySelectorAll(`.${t}`);return!c||!c.length?null:Array.from(c).map(d=>{const m=d.getBoundingClientRect();return{id:d.getAttribute("data-handleid"),type:t,nodeId:s,position:d.getAttribute("data-handlepos"),x:(m.left-l.left)/o,y:(m.top-l.top)/o,...th(d)}})};function fx({sourceX:t,sourceY:a,targetX:l,targetY:o,sourceControlX:s,sourceControlY:c,targetControlX:d,targetControlY:m}){const y=t*.125+s*.375+d*.375+l*.125,p=a*.125+c*.375+m*.375+o*.125,g=Math.abs(y-t),v=Math.abs(p-a);return[y,p,g,v]}function As(t,a){return t>=0?.5*t:a*25*Math.sqrt(-t)}function Wy({pos:t,x1:a,y1:l,x2:o,y2:s,c}){switch(t){case ge.Left:return[a-As(a-o,c),l];case ge.Right:return[a+As(o-a,c),l];case ge.Top:return[a,l-As(l-s,c)];case ge.Bottom:return[a,l+As(s-l,c)]}}function hx({sourceX:t,sourceY:a,sourcePosition:l=ge.Bottom,targetX:o,targetY:s,targetPosition:c=ge.Top,curvature:d=.25}){const[m,y]=Wy({pos:l,x1:t,y1:a,x2:o,y2:s,c:d}),[p,g]=Wy({pos:c,x1:o,y1:s,x2:t,y2:a,c:d}),[v,x,S,N]=fx({sourceX:t,sourceY:a,targetX:o,targetY:s,sourceControlX:m,sourceControlY:y,targetControlX:p,targetControlY:g});return[`M${t},${a} C${m},${y} ${p},${g} ${o},${s}`,v,x,S,N]}function mx({sourceX:t,sourceY:a,targetX:l,targetY:o}){const s=Math.abs(l-t)/2,c=l<t?l+s:l-s,d=Math.abs(o-a)/2,m=o<a?o+d:o-d;return[c,m,s,d]}function UT({sourceNode:t,targetNode:a,selected:l=!1,zIndex:o=0,elevateOnSelect:s=!1,zIndexMode:c="basic"}){if(c==="manual")return o;const d=s&&l?o+1e3:o,m=Math.max(t.parentId||s&&t.selected?t.internals.z:0,a.parentId||s&&a.selected?a.internals.z:0);return d+m}function GT({sourceNode:t,targetNode:a,width:l,height:o,transform:s}){const c=dc(nc(t),nc(a));c.x===c.x2&&(c.x2+=1),c.y===c.y2&&(c.y2+=1);const d={x:-s[0]/s[2],y:-s[1]/s[2],width:l/s[2],height:o/s[2]};return Bo(d,fc(c))>0}const VT=({source:t,sourceHandle:a,target:l,targetHandle:o})=>`xy-edge__${t}${a||""}-${l}${o||""}`,YT=(t,a)=>a.some(l=>l.source===t.source&&l.target===t.target&&(l.sourceHandle===t.sourceHandle||!l.sourceHandle&&!t.sourceHandle)&&(l.targetHandle===t.targetHandle||!l.targetHandle&&!t.targetHandle)),PT=(t,a,l={})=>{if(!t.source||!t.target)return a;const o=l.getEdgeId||VT;let s;return nx(t)?s={...t}:s={...t,id:o(t)},YT(s,a)?a:(s.sourceHandle===null&&delete s.sourceHandle,s.targetHandle===null&&delete s.targetHandle,a.concat(s))};function px({sourceX:t,sourceY:a,targetX:l,targetY:o}){const[s,c,d,m]=mx({sourceX:t,sourceY:a,targetX:l,targetY:o});return[`M ${t},${a}L ${l},${o}`,s,c,d,m]}const e0={[ge.Left]:{x:-1,y:0},[ge.Right]:{x:1,y:0},[ge.Top]:{x:0,y:-1},[ge.Bottom]:{x:0,y:1}},$T=({source:t,sourcePosition:a=ge.Bottom,target:l})=>a===ge.Left||a===ge.Right?t.x<l.x?{x:1,y:0}:{x:-1,y:0}:t.y<l.y?{x:0,y:1}:{x:0,y:-1},t0=(t,a)=>Math.sqrt(Math.pow(a.x-t.x,2)+Math.pow(a.y-t.y,2));function FT({source:t,sourcePosition:a=ge.Bottom,target:l,targetPosition:o=ge.Top,center:s,offset:c,stepPosition:d}){const m=e0[a],y=e0[o],p={x:t.x+m.x*c,y:t.y+m.y*c},g={x:l.x+y.x*c,y:l.y+y.y*c},v=$T({source:p,sourcePosition:a,target:g}),x=v.x!==0?"x":"y",S=v[x];let N=[],_,D;const j={x:0,y:0},A={x:0,y:0},[,,E,w]=mx({sourceX:t.x,sourceY:t.y,targetX:l.x,targetY:l.y});if(m[x]*y[x]===-1){x==="x"?(_=s.x??p.x+(g.x-p.x)*d,D=s.y??(p.y+g.y)/2):(_=s.x??(p.x+g.x)/2,D=s.y??p.y+(g.y-p.y)*d);const F=[{x:_,y:p.y},{x:_,y:g.y}],K=[{x:p.x,y:D},{x:g.x,y:D}];m[x]===S?N=x==="x"?F:K:N=x==="x"?K:F}else{const F=[{x:p.x,y:g.y}],K=[{x:g.x,y:p.y}];if(x==="x"?N=m.x===S?K:F:N=m.y===S?F:K,a===o){const z=Math.abs(t[x]-l[x]);if(z<=c){const M=Math.min(c-1,c-z);m[x]===S?j[x]=(p[x]>t[x]?-1:1)*M:A[x]=(g[x]>l[x]?-1:1)*M}}if(a!==o){const z=x==="x"?"y":"x",M=m[x]===y[z],T=p[z]>g[z],I=p[z]<g[z];(m[x]===1&&(!M&&T||M&&I)||m[x]!==1&&(!M&&I||M&&T))&&(N=x==="x"?F:K)}const de={x:p.x+j.x,y:p.y+j.y},X={x:g.x+A.x,y:g.y+A.y},te=Math.max(Math.abs(de.x-N[0].x),Math.abs(X.x-N[0].x)),se=Math.max(Math.abs(de.y-N[0].y),Math.abs(X.y-N[0].y));te>=se?(_=(de.x+X.x)/2,D=N[0].y):(_=N[0].x,D=(de.y+X.y)/2)}const B={x:p.x+j.x,y:p.y+j.y},O={x:g.x+A.x,y:g.y+A.y};return[[t,...B.x!==N[0].x||B.y!==N[0].y?[B]:[],...N,...O.x!==N[N.length-1].x||O.y!==N[N.length-1].y?[O]:[],l],_,D,E,w]}function XT(t,a,l,o){const s=Math.min(t0(t,a)/2,t0(a,l)/2,o),{x:c,y:d}=a;if(t.x===c&&c===l.x||t.y===d&&d===l.y)return`L${c} ${d}`;if(t.y===d){const p=t.x<l.x?-1:1,g=t.y<l.y?1:-1;return`L ${c+s*p},${d}Q ${c},${d} ${c},${d+s*g}`}const m=t.x<l.x?1:-1,y=t.y<l.y?-1:1;return`L ${c},${d+s*y}Q ${c},${d} ${c+s*m},${d}`}function zf({sourceX:t,sourceY:a,sourcePosition:l=ge.Bottom,targetX:o,targetY:s,targetPosition:c=ge.Top,borderRadius:d=5,centerX:m,centerY:y,offset:p=20,stepPosition:g=.5}){const[v,x,S,N,_]=FT({source:{x:t,y:a},sourcePosition:l,target:{x:o,y:s},targetPosition:c,center:{x:m,y},offset:p,stepPosition:g});let D=`M${v[0].x} ${v[0].y}`;for(let j=1;j<v.length-1;j++)D+=XT(v[j-1],v[j],v[j+1],d);return D+=`L${v[v.length-1].x} ${v[v.length-1].y}`,[D,x,S,N,_]}function n0(t){return t&&!!(t.internals.handleBounds||t.handles?.length)&&!!(t.measured.width||t.width||t.initialWidth)}function ZT(t){const{sourceNode:a,targetNode:l}=t;if(!n0(a)||!n0(l))return null;const o=a.internals.handleBounds||a0(a.handles),s=l.internals.handleBounds||a0(l.handles),c=i0(o?.source??[],t.sourceHandle),d=i0(t.connectionMode===fi.Strict?s?.target??[]:(s?.target??[]).concat(s?.source??[]),t.targetHandle);if(!c||!d)return t.onError?.("008",yn.error008(c?"target":"source",{id:t.id,sourceHandle:t.sourceHandle,targetHandle:t.targetHandle})),null;const m=c?.position||ge.Bottom,y=d?.position||ge.Top,p=mi(a,c,m),g=mi(l,d,y);return{sourceX:p.x,sourceY:p.y,targetX:g.x,targetY:g.y,sourcePosition:m,targetPosition:y}}function a0(t){if(!t)return null;const a=[],l=[];for(const o of t)o.width=o.width??1,o.height=o.height??1,o.type==="source"?a.push(o):o.type==="target"&&l.push(o);return{source:a,target:l}}function mi(t,a,l=ge.Left,o=!1){const s=(a?.x??0)+t.internals.positionAbsolute.x,c=(a?.y??0)+t.internals.positionAbsolute.y,{width:d,height:m}=a??$n(t);if(o)return{x:s+d/2,y:c+m/2};switch(a?.position??l){case ge.Top:return{x:s+d/2,y:c};case ge.Right:return{x:s+d,y:c+m/2};case ge.Bottom:return{x:s+d/2,y:c+m};case ge.Left:return{x:s,y:c+m/2}}}function i0(t,a){return t&&(a?t.find(l=>l.id===a):t[0])||null}function Rf(t,a){return t?typeof t=="string"?t:`${a?`${a}__`:""}${Object.keys(t).sort().map(o=>`${o}=${t[o]}`).join("&")}`:""}function KT(t,{id:a,defaultColor:l,defaultMarkerStart:o,defaultMarkerEnd:s}){const c=new Set;return t.reduce((d,m)=>([m.markerStart||o,m.markerEnd||s].forEach(y=>{if(y&&typeof y=="object"){const p=Rf(y,a);c.has(p)||(d.push({id:p,color:y.color||l,...y}),c.add(p))}}),d),[]).sort((d,m)=>d.id.localeCompare(m.id))}const gx=1e3,QT=10,nh={nodeOrigin:[0,0],nodeExtent:Ho,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},JT={...nh,checkEquality:!0};function ah(t,a){const l={...t};for(const o in a)a[o]!==void 0&&(l[o]=a[o]);return l}function WT(t,a,l){const o=ah(nh,l);for(const s of t.values())if(s.parentId)lh(s,t,a,o);else{const c=Po(s,o.nodeOrigin),d=bl(s.extent)?s.extent:o.nodeExtent,m=hi(c,d,$n(s));s.internals.positionAbsolute=m}}function eM(t,a){if(!t.handles)return t.measured?a?.internals.handleBounds:void 0;const l=[],o=[];for(const s of t.handles){const c={id:s.id,width:s.width??1,height:s.height??1,nodeId:t.id,x:s.x,y:s.y,position:s.position,type:s.type};s.type==="source"?l.push(c):s.type==="target"&&o.push(c)}return{source:l,target:o}}function ih(t){return t==="manual"}function Df(t,a,l,o={}){const s=ah(JT,o),c={i:0},d=new Map(a),m=s?.elevateNodesOnSelect&&!ih(s.zIndexMode)?gx:0;let y=t.length>0,p=!1;a.clear(),l.clear();for(const g of t){let v=d.get(g.id);if(s.checkEquality&&g===v?.internals.userNode)a.set(g.id,v);else{const x=Po(g,s.nodeOrigin),S=bl(g.extent)?g.extent:s.nodeExtent,N=hi(x,S,$n(g));v={...s.defaults,...g,measured:{width:g.measured?.width,height:g.measured?.height},internals:{positionAbsolute:N,handleBounds:eM(g,v),z:yx(g,m,s.zIndexMode),userNode:g}},a.set(g.id,v)}(v.measured===void 0||v.measured.width===void 0||v.measured.height===void 0)&&!v.hidden&&(y=!1),g.parentId&&lh(v,a,l,o,c),p||=g.selected??!1}return{nodesInitialized:y,hasSelectedNodes:p}}function tM(t,a){if(!t.parentId)return;const l=a.get(t.parentId);l?l.set(t.id,t):a.set(t.parentId,new Map([[t.id,t]]))}function lh(t,a,l,o,s){const{elevateNodesOnSelect:c,nodeOrigin:d,nodeExtent:m,zIndexMode:y}=ah(nh,o),p=t.parentId,g=a.get(p);if(!g){console.warn(`Parent node ${p} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}tM(t,l),s&&!g.parentId&&g.internals.rootParentIndex===void 0&&y==="auto"&&(g.internals.rootParentIndex=++s.i,g.internals.z=g.internals.z+s.i*QT),s&&g.internals.rootParentIndex!==void 0&&(s.i=g.internals.rootParentIndex);const v=c&&!ih(y)?gx:0,{x,y:S,z:N}=nM(t,g,d,m,v,y),{positionAbsolute:_}=t.internals,D=x!==_.x||S!==_.y;(D||N!==t.internals.z)&&a.set(t.id,{...t,internals:{...t.internals,positionAbsolute:D?{x,y:S}:_,z:N}})}function yx(t,a,l){const o=ln(t.zIndex)?t.zIndex:0;return ih(l)?o:o+(t.selected?a:0)}function nM(t,a,l,o,s,c){const{x:d,y:m}=a.internals.positionAbsolute,y=$n(t),p=Po(t,l),g=bl(t.extent)?hi(p,t.extent,y):p;let v=hi({x:d+g.x,y:m+g.y},o,y);t.extent==="parent"&&(v=ix(v,y,a));const x=yx(t,s,c),S=a.internals.z??0;return{x:v.x,y:v.y,z:S>=x?S+1:x}}function oh(t,a,l,o=[0,0]){const s=[],c=new Map;for(const d of t){const m=a.get(d.parentId);if(!m)continue;const y=c.get(d.parentId)?.expandedRect??xl(m),p=ox(y,d.rect);c.set(d.parentId,{expandedRect:p,parent:m})}return c.size>0&&c.forEach(({expandedRect:d,parent:m},y)=>{const p=m.internals.positionAbsolute,g=$n(m),v=m.origin??o,x=d.x<p.x?Math.round(Math.abs(p.x-d.x)):0,S=d.y<p.y?Math.round(Math.abs(p.y-d.y)):0,N=Math.max(g.width,Math.round(d.width)),_=Math.max(g.height,Math.round(d.height)),D=(N-g.width)*v[0],j=(_-g.height)*v[1];(x>0||S>0||D||j)&&(s.push({id:y,type:"position",position:{x:m.position.x-x+D,y:m.position.y-S+j}}),l.get(y)?.forEach(A=>{t.some(E=>E.id===A.id)||s.push({id:A.id,type:"position",position:{x:A.position.x+x,y:A.position.y+S}})})),(g.width<d.width||g.height<d.height||x||S)&&s.push({id:y,type:"dimensions",setAttributes:!0,dimensions:{width:N+(x?v[0]*x-D:0),height:_+(S?v[1]*S-j:0)}})}),s}function aM(t,a,l,o,s,c,d){const m=o?.querySelector(".xyflow__viewport");let y=!1;if(!m)return{changes:[],updatedInternals:y};const p=[],g=window.getComputedStyle(m),{m22:v}=new window.DOMMatrixReadOnly(g.transform),x=[];for(const S of t.values()){const N=a.get(S.id);if(!N)continue;if(N.hidden){a.set(N.id,{...N,internals:{...N.internals,handleBounds:void 0}}),y=!0;continue}const _=th(S.nodeElement),D=N.measured.width!==_.width||N.measured.height!==_.height;if(!!(_.width&&_.height&&(D||!N.internals.handleBounds||S.force))){const A=S.nodeElement.getBoundingClientRect(),E=bl(N.extent)?N.extent:c;let{positionAbsolute:w}=N.internals;N.parentId&&N.extent==="parent"?w=ix(w,_,a.get(N.parentId)):E&&(w=hi(w,E,_));const B={...N,measured:_,internals:{...N.internals,positionAbsolute:w,handleBounds:{source:Jy("source",S.nodeElement,A,v,N.id),target:Jy("target",S.nodeElement,A,v,N.id)}}};a.set(N.id,B),N.parentId&&lh(B,a,l,{nodeOrigin:s,zIndexMode:d}),y=!0,D&&(p.push({id:N.id,type:"dimensions",dimensions:_}),N.expandParent&&N.parentId&&x.push({id:N.id,parentId:N.parentId,rect:xl(B,s)}))}}if(x.length>0){const S=oh(x,a,l,s);p.push(...S)}return{changes:p,updatedInternals:y}}async function iM({delta:t,panZoom:a,transform:l,translateExtent:o,width:s,height:c}){if(!a||!t.x&&!t.y)return Promise.resolve(!1);const d=await a.setViewportConstrained({x:l[0]+t.x,y:l[1]+t.y,zoom:l[2]},[[0,0],[s,c]],o),m=!!d&&(d.x!==l[0]||d.y!==l[1]||d.k!==l[2]);return Promise.resolve(m)}function l0(t,a,l,o,s,c){let d=s;const m=o.get(d)||new Map;o.set(d,m.set(l,a)),d=`${s}-${t}`;const y=o.get(d)||new Map;if(o.set(d,y.set(l,a)),c){d=`${s}-${t}-${c}`;const p=o.get(d)||new Map;o.set(d,p.set(l,a))}}function vx(t,a,l){t.clear(),a.clear();for(const o of l){const{source:s,target:c,sourceHandle:d=null,targetHandle:m=null}=o,y={edgeId:o.id,source:s,target:c,sourceHandle:d,targetHandle:m},p=`${s}-${d}--${c}-${m}`,g=`${c}-${m}--${s}-${d}`;l0("source",y,g,t,s,d),l0("target",y,p,t,c,m),a.set(o.id,o)}}function xx(t,a){if(!t.parentId)return!1;const l=a.get(t.parentId);return l?l.selected?!0:xx(l,a):!1}function o0(t,a,l){let o=t;do{if(o?.matches?.(a))return!0;if(o===l)return!1;o=o?.parentElement}while(o);return!1}function lM(t,a,l,o){const s=new Map;for(const[c,d]of t)if((d.selected||d.id===o)&&(!d.parentId||!xx(d,t))&&(d.draggable||a&&typeof d.draggable>"u")){const m=t.get(c);m&&s.set(c,{id:c,position:m.position||{x:0,y:0},distance:{x:l.x-m.internals.positionAbsolute.x,y:l.y-m.internals.positionAbsolute.y},extent:m.extent,parentId:m.parentId,origin:m.origin,expandParent:m.expandParent,internals:{positionAbsolute:m.internals.positionAbsolute||{x:0,y:0}},measured:{width:m.measured.width??0,height:m.measured.height??0}})}return s}function rf({nodeId:t,dragItems:a,nodeLookup:l,dragging:o=!0}){const s=[];for(const[d,m]of a){const y=l.get(d)?.internals.userNode;y&&s.push({...y,position:m.position,dragging:o})}if(!t)return[s[0],s];const c=l.get(t)?.internals.userNode;return[c?{...c,position:a.get(t)?.position||c.position,dragging:o}:s[0],s]}function oM({dragItems:t,snapGrid:a,x:l,y:o}){const s=t.values().next().value;if(!s)return null;const c={x:l-s.distance.x,y:o-s.distance.y},d=Fo(c,a);return{x:d.x-c.x,y:d.y-c.y}}function rM({onNodeMouseDown:t,getStoreItems:a,onDragStart:l,onDrag:o,onDragStop:s}){let c={x:null,y:null},d=0,m=new Map,y=!1,p={x:0,y:0},g=null,v=!1,x=null,S=!1,N=!1,_=null;function D({noDragClassName:A,handleSelector:E,domNode:w,isSelectable:B,nodeId:O,nodeClickDistance:k=0}){x=Bt(w);function F({x:te,y:se}){const{nodeLookup:z,nodeExtent:M,snapGrid:T,snapToGrid:I,nodeOrigin:U,onNodeDrag:Z,onSelectionDrag:ae,onError:R,updateNodePositions:q}=a();c={x:te,y:se};let V=!1;const W=m.size>1,fe=W&&M?jf($o(m)):null,$=W&&I?oM({dragItems:m,snapGrid:T,x:te,y:se}):null;for(const[le,ce]of m){if(!z.has(le))continue;let ue={x:te-ce.distance.x,y:se-ce.distance.y};I&&(ue=$?{x:Math.round(ue.x+$.x),y:Math.round(ue.y+$.y)}:Fo(ue,T));let be=null;if(W&&M&&!ce.extent&&fe){const{positionAbsolute:_e}=ce.internals,je=_e.x-fe.x+M[0][0],Ue=_e.x+ce.measured.width-fe.x2+M[1][0],ke=_e.y-fe.y+M[0][1],ut=_e.y+ce.measured.height-fe.y2+M[1][1];be=[[je,ke],[Ue,ut]]}const{position:ve,positionAbsolute:xe}=ax({nodeId:le,nextPosition:ue,nodeLookup:z,nodeExtent:be||M,nodeOrigin:U,onError:R});V=V||ce.position.x!==ve.x||ce.position.y!==ve.y,ce.position=ve,ce.internals.positionAbsolute=xe}if(N=N||V,!!V&&(q(m,!0),_&&(o||Z||!O&&ae))){const[le,ce]=rf({nodeId:O,dragItems:m,nodeLookup:z});o?.(_,m,le,ce),Z?.(_,le,ce),O||ae?.(_,ce)}}async function K(){if(!g)return;const{transform:te,panBy:se,autoPanSpeed:z,autoPanOnNodeDrag:M}=a();if(!M){y=!1,cancelAnimationFrame(d);return}const[T,I]=lx(p,g,z);(T!==0||I!==0)&&(c.x=(c.x??0)-T/te[2],c.y=(c.y??0)-I/te[2],await se({x:T,y:I})&&F(c)),d=requestAnimationFrame(K)}function de(te){const{nodeLookup:se,multiSelectionActive:z,nodesDraggable:M,transform:T,snapGrid:I,snapToGrid:U,selectNodesOnDrag:Z,onNodeDragStart:ae,onSelectionDragStart:R,unselectNodesAndEdges:q}=a();v=!0,(!Z||!B)&&!z&&O&&(se.get(O)?.selected||q()),B&&Z&&O&&t?.(O);const V=Ro(te.sourceEvent,{transform:T,snapGrid:I,snapToGrid:U,containerBounds:g});if(c=V,m=lM(se,M,V,O),m.size>0&&(l||ae||!O&&R)){const[W,fe]=rf({nodeId:O,dragItems:m,nodeLookup:se});l?.(te.sourceEvent,m,W,fe),ae?.(te.sourceEvent,W,fe),O||R?.(te.sourceEvent,fe)}}const X=Lv().clickDistance(k).on("start",te=>{const{domNode:se,nodeDragThreshold:z,transform:M,snapGrid:T,snapToGrid:I}=a();g=se?.getBoundingClientRect()||null,S=!1,N=!1,_=te.sourceEvent,z===0&&de(te),c=Ro(te.sourceEvent,{transform:M,snapGrid:T,snapToGrid:I,containerBounds:g}),p=on(te.sourceEvent,g)}).on("drag",te=>{const{autoPanOnNodeDrag:se,transform:z,snapGrid:M,snapToGrid:T,nodeDragThreshold:I,nodeLookup:U}=a(),Z=Ro(te.sourceEvent,{transform:z,snapGrid:M,snapToGrid:T,containerBounds:g});if(_=te.sourceEvent,(te.sourceEvent.type==="touchmove"&&te.sourceEvent.touches.length>1||O&&!U.has(O))&&(S=!0),!S){if(!y&&se&&v&&(y=!0,K()),!v){const ae=on(te.sourceEvent,g),R=ae.x-p.x,q=ae.y-p.y;Math.sqrt(R*R+q*q)>I&&de(te)}(c.x!==Z.xSnapped||c.y!==Z.ySnapped)&&m&&v&&(p=on(te.sourceEvent,g),F(Z))}}).on("end",te=>{if(!(!v||S)&&(y=!1,v=!1,cancelAnimationFrame(d),m.size>0)){const{nodeLookup:se,updateNodePositions:z,onNodeDragStop:M,onSelectionDragStop:T}=a();if(N&&(z(m,!1),N=!1),s||M||!O&&T){const[I,U]=rf({nodeId:O,dragItems:m,nodeLookup:se,dragging:!1});s?.(te.sourceEvent,m,I,U),M?.(te.sourceEvent,I,U),O||T?.(te.sourceEvent,U)}}}).filter(te=>{const se=te.target;return!te.button&&(!A||!o0(se,`.${A}`,w))&&(!E||o0(se,E,w))});x.call(X)}function j(){x?.on(".drag",null)}return{update:D,destroy:j}}function sM(t,a,l){const o=[],s={x:t.x-l,y:t.y-l,width:l*2,height:l*2};for(const c of a.values())Bo(s,xl(c))>0&&o.push(c);return o}const cM=250;function uM(t,a,l,o){let s=[],c=1/0;const d=sM(t,l,a+cM);for(const m of d){const y=[...m.internals.handleBounds?.source??[],...m.internals.handleBounds?.target??[]];for(const p of y){if(o.nodeId===p.nodeId&&o.type===p.type&&o.id===p.id)continue;const{x:g,y:v}=mi(m,p,p.position,!0),x=Math.sqrt(Math.pow(g-t.x,2)+Math.pow(v-t.y,2));x>a||(x<c?(s=[{...p,x:g,y:v}],c=x):x===c&&s.push({...p,x:g,y:v}))}}if(!s.length)return null;if(s.length>1){const m=o.type==="source"?"target":"source";return s.find(y=>y.type===m)??s[0]}return s[0]}function bx(t,a,l,o,s,c=!1){const d=o.get(t);if(!d)return null;const m=s==="strict"?d.internals.handleBounds?.[a]:[...d.internals.handleBounds?.source??[],...d.internals.handleBounds?.target??[]],y=(l?m?.find(p=>p.id===l):m?.[0])??null;return y&&c?{...y,...mi(d,y,y.position,!0)}:y}function Sx(t,a){return t||(a?.classList.contains("target")?"target":a?.classList.contains("source")?"source":null)}function dM(t,a){let l=null;return a?l=!0:t&&!a&&(l=!1),l}const wx=()=>!0;function fM(t,{connectionMode:a,connectionRadius:l,handleId:o,nodeId:s,edgeUpdaterType:c,isTarget:d,domNode:m,nodeLookup:y,lib:p,autoPanOnConnect:g,flowId:v,panBy:x,cancelConnection:S,onConnectStart:N,onConnect:_,onConnectEnd:D,isValidConnection:j=wx,onReconnectEnd:A,updateConnection:E,getTransform:w,getFromHandle:B,autoPanSpeed:O,dragThreshold:k=1,handleDomNode:F}){const K=cx(t.target);let de=0,X;const{x:te,y:se}=on(t),z=Sx(c,F),M=m?.getBoundingClientRect();let T=!1;if(!M||!z)return;const I=bx(s,z,o,y,a);if(!I)return;let U=on(t,M),Z=!1,ae=null,R=!1,q=null;function V(){if(!g||!M)return;const[ve,xe]=lx(U,M,O);x({x:ve,y:xe}),de=requestAnimationFrame(V)}const W={...I,nodeId:s,type:z,position:I.position},fe=y.get(s);let le={inProgress:!0,isValid:null,from:mi(fe,W,ge.Left,!0),fromHandle:W,fromPosition:W.position,fromNode:fe,to:U,toHandle:null,toPosition:Xy[W.position],toNode:null,pointer:U};function ce(){T=!0,E(le),N?.(t,{nodeId:s,handleId:o,handleType:z})}k===0&&ce();function ue(ve){if(!T){const{x:ut,y:Zt}=on(ve),zt=ut-te,Kt=Zt-se;if(!(zt*zt+Kt*Kt>k*k))return;ce()}if(!B()||!W){be(ve);return}const xe=w();U=on(ve,M),X=uM(Xo(U,xe,!1,[1,1]),l,y,W),Z||(V(),Z=!0);const _e=Nx(ve,{handle:X,connectionMode:a,fromNodeId:s,fromHandleId:o,fromType:d?"target":"source",isValidConnection:j,doc:K,lib:p,flowId:v,nodeLookup:y});q=_e.handleDomNode,ae=_e.connection,R=dM(!!X,_e.isValid);const je=y.get(s),Ue=je?mi(je,W,ge.Left,!0):le.from,ke={...le,from:Ue,isValid:R,to:_e.toHandle&&R?ac({x:_e.toHandle.x,y:_e.toHandle.y},xe):U,toHandle:_e.toHandle,toPosition:R&&_e.toHandle?_e.toHandle.position:Xy[W.position],toNode:_e.toHandle?y.get(_e.toHandle.nodeId):null,pointer:U};E(ke),le=ke}function be(ve){if(!("touches"in ve&&ve.touches.length>0)){if(T){(X||q)&&ae&&R&&_?.(ae);const{inProgress:xe,..._e}=le,je={..._e,toPosition:le.toHandle?le.toPosition:null};D?.(ve,je),c&&A?.(ve,je)}S(),cancelAnimationFrame(de),Z=!1,R=!1,ae=null,q=null,K.removeEventListener("mousemove",ue),K.removeEventListener("mouseup",be),K.removeEventListener("touchmove",ue),K.removeEventListener("touchend",be)}}K.addEventListener("mousemove",ue),K.addEventListener("mouseup",be),K.addEventListener("touchmove",ue),K.addEventListener("touchend",be)}function Nx(t,{handle:a,connectionMode:l,fromNodeId:o,fromHandleId:s,fromType:c,doc:d,lib:m,flowId:y,isValidConnection:p=wx,nodeLookup:g}){const v=c==="target",x=a?d.querySelector(`.${m}-flow__handle[data-id="${y}-${a?.nodeId}-${a?.id}-${a?.type}"]`):null,{x:S,y:N}=on(t),_=d.elementFromPoint(S,N),D=_?.classList.contains(`${m}-flow__handle`)?_:x,j={handleDomNode:D,isValid:!1,connection:null,toHandle:null};if(D){const A=Sx(void 0,D),E=D.getAttribute("data-nodeid"),w=D.getAttribute("data-handleid"),B=D.classList.contains("connectable"),O=D.classList.contains("connectableend");if(!E||!A)return j;const k={source:v?E:o,sourceHandle:v?w:s,target:v?o:E,targetHandle:v?s:w};j.connection=k;const K=B&&O&&(l===fi.Strict?v&&A==="source"||!v&&A==="target":E!==o||w!==s);j.isValid=K&&p(k),j.toHandle=bx(E,A,w,g,l,!0)}return j}const Of={onPointerDown:fM,isValid:Nx};function hM({domNode:t,panZoom:a,getTransform:l,getViewScale:o}){const s=Bt(t);function c({translateExtent:m,width:y,height:p,zoomStep:g=1,pannable:v=!0,zoomable:x=!0,inversePan:S=!1}){const N=E=>{if(E.sourceEvent.type!=="wheel"||!a)return;const w=l(),B=E.sourceEvent.ctrlKey&&qo()?10:1,O=-E.sourceEvent.deltaY*(E.sourceEvent.deltaMode===1?.05:E.sourceEvent.deltaMode?1:.002)*g,k=w[2]*Math.pow(2,O*B);a.scaleTo(k)};let _=[0,0];const D=E=>{(E.sourceEvent.type==="mousedown"||E.sourceEvent.type==="touchstart")&&(_=[E.sourceEvent.clientX??E.sourceEvent.touches[0].clientX,E.sourceEvent.clientY??E.sourceEvent.touches[0].clientY])},j=E=>{const w=l();if(E.sourceEvent.type!=="mousemove"&&E.sourceEvent.type!=="touchmove"||!a)return;const B=[E.sourceEvent.clientX??E.sourceEvent.touches[0].clientX,E.sourceEvent.clientY??E.sourceEvent.touches[0].clientY],O=[B[0]-_[0],B[1]-_[1]];_=B;const k=o()*Math.max(w[2],Math.log(w[2]))*(S?-1:1),F={x:w[0]-O[0]*k,y:w[1]-O[1]*k},K=[[0,0],[y,p]];a.setViewportConstrained({x:F.x,y:F.y,zoom:w[2]},K,m)},A=Qv().on("start",D).on("zoom",v?j:null).on("zoom.wheel",x?N:null);s.call(A,{})}function d(){s.on("zoom",null)}return{update:c,destroy:d,pointer:nn}}const hc=t=>({x:t.x,y:t.y,zoom:t.k}),sf=({x:t,y:a,zoom:l})=>uc.translate(t,a).scale(l),dl=(t,a)=>t.target.closest(`.${a}`),_x=(t,a)=>a===2&&Array.isArray(t)&&t.includes(2),mM=t=>((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2,cf=(t,a=0,l=mM,o=()=>{})=>{const s=typeof a=="number"&&a>0;return s||o(),s?t.transition().duration(a).ease(l).on("end",o):t},Ex=t=>{const a=t.ctrlKey&&qo()?10:1;return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*a};function pM({zoomPanValues:t,noWheelClassName:a,d3Selection:l,d3Zoom:o,panOnScrollMode:s,panOnScrollSpeed:c,zoomOnPinch:d,onPanZoomStart:m,onPanZoom:y,onPanZoomEnd:p}){return g=>{if(dl(g,a))return g.ctrlKey&&g.preventDefault(),!1;g.preventDefault(),g.stopImmediatePropagation();const v=l.property("__zoom").k||1;if(g.ctrlKey&&d){const D=nn(g),j=Ex(g),A=v*Math.pow(2,j);o.scaleTo(l,A,D,g);return}const x=g.deltaMode===1?20:1;let S=s===si.Vertical?0:g.deltaX*x,N=s===si.Horizontal?0:g.deltaY*x;!qo()&&g.shiftKey&&s!==si.Vertical&&(S=g.deltaY*x,N=0),o.translateBy(l,-(S/v)*c,-(N/v)*c,{internal:!0});const _=hc(l.property("__zoom"));clearTimeout(t.panScrollTimeout),t.isPanScrolling?(y?.(g,_),t.panScrollTimeout=setTimeout(()=>{p?.(g,_),t.isPanScrolling=!1},150)):(t.isPanScrolling=!0,m?.(g,_))}}function gM({noWheelClassName:t,preventScrolling:a,d3ZoomHandler:l}){return function(o,s){const c=o.type==="wheel",d=!a&&c&&!o.ctrlKey,m=dl(o,t);if(o.ctrlKey&&c&&m&&o.preventDefault(),d||m)return null;o.preventDefault(),l.call(this,o,s)}}function yM({zoomPanValues:t,onDraggingChange:a,onPanZoomStart:l}){return o=>{if(o.sourceEvent?.internal)return;const s=hc(o.transform);t.mouseButton=o.sourceEvent?.button||0,t.isZoomingOrPanning=!0,t.prevViewport=s,o.sourceEvent?.type==="mousedown"&&a(!0),l&&l?.(o.sourceEvent,s)}}function vM({zoomPanValues:t,panOnDrag:a,onPaneContextMenu:l,onTransformChange:o,onPanZoom:s}){return c=>{t.usedRightMouseButton=!!(l&&_x(a,t.mouseButton??0)),c.sourceEvent?.sync||o([c.transform.x,c.transform.y,c.transform.k]),s&&!c.sourceEvent?.internal&&s?.(c.sourceEvent,hc(c.transform))}}function xM({zoomPanValues:t,panOnDrag:a,panOnScroll:l,onDraggingChange:o,onPanZoomEnd:s,onPaneContextMenu:c}){return d=>{if(!d.sourceEvent?.internal&&(t.isZoomingOrPanning=!1,c&&_x(a,t.mouseButton??0)&&!t.usedRightMouseButton&&d.sourceEvent&&c(d.sourceEvent),t.usedRightMouseButton=!1,o(!1),s)){const m=hc(d.transform);t.prevViewport=m,clearTimeout(t.timerId),t.timerId=setTimeout(()=>{s?.(d.sourceEvent,m)},l?150:0)}}}function bM({zoomActivationKeyPressed:t,zoomOnScroll:a,zoomOnPinch:l,panOnDrag:o,panOnScroll:s,zoomOnDoubleClick:c,userSelectionActive:d,noWheelClassName:m,noPanClassName:y,lib:p,connectionInProgress:g}){return v=>{const x=t||a,S=l&&v.ctrlKey,N=v.type==="wheel";if(v.button===1&&v.type==="mousedown"&&(dl(v,`${p}-flow__node`)||dl(v,`${p}-flow__edge`)))return!0;if(!o&&!x&&!s&&!c&&!l||d||g&&!N||dl(v,m)&&N||dl(v,y)&&(!N||s&&N&&!t)||!l&&v.ctrlKey&&N)return!1;if(!l&&v.type==="touchstart"&&v.touches?.length>1)return v.preventDefault(),!1;if(!x&&!s&&!S&&N||!o&&(v.type==="mousedown"||v.type==="touchstart")||Array.isArray(o)&&!o.includes(v.button)&&v.type==="mousedown")return!1;const _=Array.isArray(o)&&o.includes(v.button)||!v.button||v.button<=1;return(!v.ctrlKey||N)&&_}}function SM({domNode:t,minZoom:a,maxZoom:l,translateExtent:o,viewport:s,onPanZoom:c,onPanZoomStart:d,onPanZoomEnd:m,onDraggingChange:y}){const p={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},g=t.getBoundingClientRect(),v=Qv().scaleExtent([a,l]).translateExtent(o),x=Bt(t).call(v);A({x:s.x,y:s.y,zoom:vl(s.zoom,a,l)},[[0,0],[g.width,g.height]],o);const S=x.on("wheel.zoom"),N=x.on("dblclick.zoom");v.wheelDelta(Ex);function _(X,te){return x?new Promise(se=>{v?.interpolate(te?.interpolate==="linear"?zo:Us).transform(cf(x,te?.duration,te?.ease,()=>se(!0)),X)}):Promise.resolve(!1)}function D({noWheelClassName:X,noPanClassName:te,onPaneContextMenu:se,userSelectionActive:z,panOnScroll:M,panOnDrag:T,panOnScrollMode:I,panOnScrollSpeed:U,preventScrolling:Z,zoomOnPinch:ae,zoomOnScroll:R,zoomOnDoubleClick:q,zoomActivationKeyPressed:V,lib:W,onTransformChange:fe,connectionInProgress:$,paneClickDistance:le,selectionOnDrag:ce}){z&&!p.isZoomingOrPanning&&j();const ue=M&&!V&&!z;v.clickDistance(ce?1/0:!ln(le)||le<0?0:le);const be=ue?pM({zoomPanValues:p,noWheelClassName:X,d3Selection:x,d3Zoom:v,panOnScrollMode:I,panOnScrollSpeed:U,zoomOnPinch:ae,onPanZoomStart:d,onPanZoom:c,onPanZoomEnd:m}):gM({noWheelClassName:X,preventScrolling:Z,d3ZoomHandler:S});if(x.on("wheel.zoom",be,{passive:!1}),!z){const xe=yM({zoomPanValues:p,onDraggingChange:y,onPanZoomStart:d});v.on("start",xe);const _e=vM({zoomPanValues:p,panOnDrag:T,onPaneContextMenu:!!se,onPanZoom:c,onTransformChange:fe});v.on("zoom",_e);const je=xM({zoomPanValues:p,panOnDrag:T,panOnScroll:M,onPaneContextMenu:se,onPanZoomEnd:m,onDraggingChange:y});v.on("end",je)}const ve=bM({zoomActivationKeyPressed:V,panOnDrag:T,zoomOnScroll:R,panOnScroll:M,zoomOnDoubleClick:q,zoomOnPinch:ae,userSelectionActive:z,noPanClassName:te,noWheelClassName:X,lib:W,connectionInProgress:$});v.filter(ve),q?x.on("dblclick.zoom",N):x.on("dblclick.zoom",null)}function j(){v.on("zoom",null)}async function A(X,te,se){const z=sf(X),M=v?.constrain()(z,te,se);return M&&await _(M),new Promise(T=>T(M))}async function E(X,te){const se=sf(X);return await _(se,te),new Promise(z=>z(se))}function w(X){if(x){const te=sf(X),se=x.property("__zoom");(se.k!==X.zoom||se.x!==X.x||se.y!==X.y)&&v?.transform(x,te,null,{sync:!0})}}function B(){const X=x?Kv(x.node()):{x:0,y:0,k:1};return{x:X.x,y:X.y,zoom:X.k}}function O(X,te){return x?new Promise(se=>{v?.interpolate(te?.interpolate==="linear"?zo:Us).scaleTo(cf(x,te?.duration,te?.ease,()=>se(!0)),X)}):Promise.resolve(!1)}function k(X,te){return x?new Promise(se=>{v?.interpolate(te?.interpolate==="linear"?zo:Us).scaleBy(cf(x,te?.duration,te?.ease,()=>se(!0)),X)}):Promise.resolve(!1)}function F(X){v?.scaleExtent(X)}function K(X){v?.translateExtent(X)}function de(X){const te=!ln(X)||X<0?0:X;v?.clickDistance(te)}return{update:D,destroy:j,setViewport:E,setViewportConstrained:A,getViewport:B,scaleTo:O,scaleBy:k,setScaleExtent:F,setTranslateExtent:K,syncViewport:w,setClickDistance:de}}var Sl;(function(t){t.Line="line",t.Handle="handle"})(Sl||(Sl={}));function wM({width:t,prevWidth:a,height:l,prevHeight:o,affectsX:s,affectsY:c}){const d=t-a,m=l-o,y=[d>0?1:d<0?-1:0,m>0?1:m<0?-1:0];return d&&s&&(y[0]=y[0]*-1),m&&c&&(y[1]=y[1]*-1),y}function r0(t){const a=t.includes("right")||t.includes("left"),l=t.includes("bottom")||t.includes("top"),o=t.includes("left"),s=t.includes("top");return{isHorizontal:a,isVertical:l,affectsX:o,affectsY:s}}function Na(t,a){return Math.max(0,a-t)}function _a(t,a){return Math.max(0,t-a)}function js(t,a,l){return Math.max(0,a-t,t-l)}function s0(t,a){return t?!a:a}function NM(t,a,l,o,s,c,d,m){let{affectsX:y,affectsY:p}=a;const{isHorizontal:g,isVertical:v}=a,x=g&&v,{xSnapped:S,ySnapped:N}=l,{minWidth:_,maxWidth:D,minHeight:j,maxHeight:A}=o,{x:E,y:w,width:B,height:O,aspectRatio:k}=t;let F=Math.floor(g?S-t.pointerX:0),K=Math.floor(v?N-t.pointerY:0);const de=B+(y?-F:F),X=O+(p?-K:K),te=-c[0]*B,se=-c[1]*O;let z=js(de,_,D),M=js(X,j,A);if(d){let U=0,Z=0;y&&F<0?U=Na(E+F+te,d[0][0]):!y&&F>0&&(U=_a(E+de+te,d[1][0])),p&&K<0?Z=Na(w+K+se,d[0][1]):!p&&K>0&&(Z=_a(w+X+se,d[1][1])),z=Math.max(z,U),M=Math.max(M,Z)}if(m){let U=0,Z=0;y&&F>0?U=_a(E+F,m[0][0]):!y&&F<0&&(U=Na(E+de,m[1][0])),p&&K>0?Z=_a(w+K,m[0][1]):!p&&K<0&&(Z=Na(w+X,m[1][1])),z=Math.max(z,U),M=Math.max(M,Z)}if(s){if(g){const U=js(de/k,j,A)*k;if(z=Math.max(z,U),d){let Z=0;!y&&!p||y&&!p&&x?Z=_a(w+se+de/k,d[1][1])*k:Z=Na(w+se+(y?F:-F)/k,d[0][1])*k,z=Math.max(z,Z)}if(m){let Z=0;!y&&!p||y&&!p&&x?Z=Na(w+de/k,m[1][1])*k:Z=_a(w+(y?F:-F)/k,m[0][1])*k,z=Math.max(z,Z)}}if(v){const U=js(X*k,_,D)/k;if(M=Math.max(M,U),d){let Z=0;!y&&!p||p&&!y&&x?Z=_a(E+X*k+te,d[1][0])/k:Z=Na(E+(p?K:-K)*k+te,d[0][0])/k,M=Math.max(M,Z)}if(m){let Z=0;!y&&!p||p&&!y&&x?Z=Na(E+X*k,m[1][0])/k:Z=_a(E+(p?K:-K)*k,m[0][0])/k,M=Math.max(M,Z)}}}K=K+(K<0?M:-M),F=F+(F<0?z:-z),s&&(x?de>X*k?K=(s0(y,p)?-F:F)/k:F=(s0(y,p)?-K:K)*k:g?(K=F/k,p=y):(F=K*k,y=p));const T=y?E+F:E,I=p?w+K:w;return{width:B+(y?-F:F),height:O+(p?-K:K),x:c[0]*F*(y?-1:1)+T,y:c[1]*K*(p?-1:1)+I}}const Cx={width:0,height:0,x:0,y:0},_M={...Cx,pointerX:0,pointerY:0,aspectRatio:1};function EM(t){return[[0,0],[t.measured.width,t.measured.height]]}function CM(t,a,l){const o=a.position.x+t.position.x,s=a.position.y+t.position.y,c=t.measured.width??0,d=t.measured.height??0,m=l[0]*c,y=l[1]*d;return[[o-m,s-y],[o+c-m,s+d-y]]}function TM({domNode:t,nodeId:a,getStoreItems:l,onChange:o,onEnd:s}){const c=Bt(t);let d={controlDirection:r0("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function m({controlPosition:p,boundaries:g,keepAspectRatio:v,resizeDirection:x,onResizeStart:S,onResize:N,onResizeEnd:_,shouldResize:D}){let j={...Cx},A={..._M};d={boundaries:g,resizeDirection:x,keepAspectRatio:v,controlDirection:r0(p)};let E,w=null,B=[],O,k,F,K=!1;const de=Lv().on("start",X=>{const{nodeLookup:te,transform:se,snapGrid:z,snapToGrid:M,nodeOrigin:T,paneDomNode:I}=l();if(E=te.get(a),!E)return;w=I?.getBoundingClientRect()??null;const{xSnapped:U,ySnapped:Z}=Ro(X.sourceEvent,{transform:se,snapGrid:z,snapToGrid:M,containerBounds:w});j={width:E.measured.width??0,height:E.measured.height??0,x:E.position.x??0,y:E.position.y??0},A={...j,pointerX:U,pointerY:Z,aspectRatio:j.width/j.height},O=void 0,E.parentId&&(E.extent==="parent"||E.expandParent)&&(O=te.get(E.parentId),k=O&&E.extent==="parent"?EM(O):void 0),B=[],F=void 0;for(const[ae,R]of te)if(R.parentId===a&&(B.push({id:ae,position:{...R.position},extent:R.extent}),R.extent==="parent"||R.expandParent)){const q=CM(R,E,R.origin??T);F?F=[[Math.min(q[0][0],F[0][0]),Math.min(q[0][1],F[0][1])],[Math.max(q[1][0],F[1][0]),Math.max(q[1][1],F[1][1])]]:F=q}S?.(X,{...j})}).on("drag",X=>{const{transform:te,snapGrid:se,snapToGrid:z,nodeOrigin:M}=l(),T=Ro(X.sourceEvent,{transform:te,snapGrid:se,snapToGrid:z,containerBounds:w}),I=[];if(!E)return;const{x:U,y:Z,width:ae,height:R}=j,q={},V=E.origin??M,{width:W,height:fe,x:$,y:le}=NM(A,d.controlDirection,T,d.boundaries,d.keepAspectRatio,V,k,F),ce=W!==ae,ue=fe!==R,be=$!==U&&ce,ve=le!==Z&&ue;if(!be&&!ve&&!ce&&!ue)return;if((be||ve||V[0]===1||V[1]===1)&&(q.x=be?$:j.x,q.y=ve?le:j.y,j.x=q.x,j.y=q.y,B.length>0)){const Ue=$-U,ke=le-Z;for(const ut of B)ut.position={x:ut.position.x-Ue+V[0]*(W-ae),y:ut.position.y-ke+V[1]*(fe-R)},I.push(ut)}if((ce||ue)&&(q.width=ce&&(!d.resizeDirection||d.resizeDirection==="horizontal")?W:j.width,q.height=ue&&(!d.resizeDirection||d.resizeDirection==="vertical")?fe:j.height,j.width=q.width,j.height=q.height),O&&E.expandParent){const Ue=V[0]*(q.width??0);q.x&&q.x<Ue&&(j.x=Ue,A.x=A.x-(q.x-Ue));const ke=V[1]*(q.height??0);q.y&&q.y<ke&&(j.y=ke,A.y=A.y-(q.y-ke))}const xe=wM({width:j.width,prevWidth:ae,height:j.height,prevHeight:R,affectsX:d.controlDirection.affectsX,affectsY:d.controlDirection.affectsY}),_e={...j,direction:xe};D?.(X,_e)!==!1&&(K=!0,N?.(X,_e),o(q,I))}).on("end",X=>{K&&(_?.(X,{...j}),s?.({...j}),K=!1)});c.call(de)}function y(){c.on(".drag",null)}return{update:m,destroy:y}}var uf={exports:{}},df={},ff={exports:{}},hf={};var c0;function MM(){if(c0)return hf;c0=1;var t=Go();function a(v,x){return v===x&&(v!==0||1/v===1/x)||v!==v&&x!==x}var l=typeof Object.is=="function"?Object.is:a,o=t.useState,s=t.useEffect,c=t.useLayoutEffect,d=t.useDebugValue;function m(v,x){var S=x(),N=o({inst:{value:S,getSnapshot:x}}),_=N[0].inst,D=N[1];return c(function(){_.value=S,_.getSnapshot=x,y(_)&&D({inst:_})},[v,S,x]),s(function(){return y(_)&&D({inst:_}),v(function(){y(_)&&D({inst:_})})},[v]),d(S),S}function y(v){var x=v.getSnapshot;v=v.value;try{var S=x();return!l(v,S)}catch{return!0}}function p(v,x){return x()}var g=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?p:m;return hf.useSyncExternalStore=t.useSyncExternalStore!==void 0?t.useSyncExternalStore:g,hf}var u0;function AM(){return u0||(u0=1,ff.exports=MM()),ff.exports}var d0;function jM(){if(d0)return df;d0=1;var t=Go(),a=AM();function l(p,g){return p===g&&(p!==0||1/p===1/g)||p!==p&&g!==g}var o=typeof Object.is=="function"?Object.is:l,s=a.useSyncExternalStore,c=t.useRef,d=t.useEffect,m=t.useMemo,y=t.useDebugValue;return df.useSyncExternalStoreWithSelector=function(p,g,v,x,S){var N=c(null);if(N.current===null){var _={hasValue:!1,value:null};N.current=_}else _=N.current;N=m(function(){function j(O){if(!A){if(A=!0,E=O,O=x(O),S!==void 0&&_.hasValue){var k=_.value;if(S(k,O))return w=k}return w=O}if(k=w,o(E,O))return k;var F=x(O);return S!==void 0&&S(k,F)?(E=O,k):(E=O,w=F)}var A=!1,E,w,B=v===void 0?null:v;return[function(){return j(g())},B===null?void 0:function(){return j(B())}]},[g,v,x,S]);var D=s(p,N[0],N[1]);return d(function(){_.hasValue=!0,_.value=D},[D]),y(D),D},df}var f0;function zM(){return f0||(f0=1,uf.exports=jM()),uf.exports}var RM=zM();const DM=P0(RM),OM={},h0=t=>{let a;const l=new Set,o=(g,v)=>{const x=typeof g=="function"?g(a):g;if(!Object.is(x,a)){const S=a;a=v??(typeof x!="object"||x===null)?x:Object.assign({},a,x),l.forEach(N=>N(a,S))}},s=()=>a,y={setState:o,getState:s,getInitialState:()=>p,subscribe:g=>(l.add(g),()=>l.delete(g)),destroy:()=>{(OM?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),l.clear()}},p=a=t(o,s,y);return y},IM=t=>t?h0(t):h0,{useDebugValue:LM}=Eo,{useSyncExternalStoreWithSelector:HM}=DM,kM=t=>t;function Tx(t,a=kM,l){const o=HM(t.subscribe,t.getState,t.getServerState||t.getInitialState,a,l);return LM(o),o}const m0=(t,a)=>{const l=IM(t),o=(s,c=a)=>Tx(l,s,c);return Object.assign(o,l),o},BM=(t,a)=>t?m0(t,a):m0;function Ze(t,a){if(Object.is(t,a))return!0;if(typeof t!="object"||t===null||typeof a!="object"||a===null)return!1;if(t instanceof Map&&a instanceof Map){if(t.size!==a.size)return!1;for(const[o,s]of t)if(!Object.is(s,a.get(o)))return!1;return!0}if(t instanceof Set&&a instanceof Set){if(t.size!==a.size)return!1;for(const o of t)if(!a.has(o))return!1;return!0}const l=Object.keys(t);if(l.length!==Object.keys(a).length)return!1;for(const o of l)if(!Object.prototype.hasOwnProperty.call(a,o)||!Object.is(t[o],a[o]))return!1;return!0}$0();const mc=L.createContext(null),qM=mc.Provider,Mx=yn.error001();function Oe(t,a){const l=L.useContext(mc);if(l===null)throw new Error(Mx);return Tx(l,t,a)}function Ke(){const t=L.useContext(mc);if(t===null)throw new Error(Mx);return L.useMemo(()=>({getState:t.getState,setState:t.setState,subscribe:t.subscribe}),[t])}const p0={display:"none"},UM={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},Ax="react-flow__node-desc",jx="react-flow__edge-desc",GM="react-flow__aria-live",VM=t=>t.ariaLiveMessage,YM=t=>t.ariaLabelConfig;function PM({rfId:t}){const a=Oe(VM);return f.jsx("div",{id:`${GM}-${t}`,"aria-live":"assertive","aria-atomic":"true",style:UM,children:a})}function $M({rfId:t,disableKeyboardA11y:a}){const l=Oe(YM);return f.jsxs(f.Fragment,{children:[f.jsx("div",{id:`${Ax}-${t}`,style:p0,children:a?l["node.a11yDescription.default"]:l["node.a11yDescription.keyboardDisabled"]}),f.jsx("div",{id:`${jx}-${t}`,style:p0,children:l["edge.a11yDescription.default"]}),!a&&f.jsx(PM,{rfId:t})]})}const Zo=L.forwardRef(({position:t="top-left",children:a,className:l,style:o,...s},c)=>{const d=`${t}`.split("-");return f.jsx("div",{className:rt(["react-flow__panel",l,...d]),style:o,ref:c,...s,children:a})});Zo.displayName="Panel";function FM({proOptions:t,position:a="bottom-right"}){return t?.hideAttribution?null:f.jsx(Zo,{position:a,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:f.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const XM=t=>{const a=[],l=[];for(const[,o]of t.nodeLookup)o.selected&&a.push(o.internals.userNode);for(const[,o]of t.edgeLookup)o.selected&&l.push(o);return{selectedNodes:a,selectedEdges:l}},zs=t=>t.id;function ZM(t,a){return Ze(t.selectedNodes.map(zs),a.selectedNodes.map(zs))&&Ze(t.selectedEdges.map(zs),a.selectedEdges.map(zs))}function KM({onSelectionChange:t}){const a=Ke(),{selectedNodes:l,selectedEdges:o}=Oe(XM,ZM);return L.useEffect(()=>{const s={nodes:l,edges:o};t?.(s),a.getState().onSelectionChangeHandlers.forEach(c=>c(s))},[l,o,t]),null}const QM=t=>!!t.onSelectionChangeHandlers;function JM({onSelectionChange:t}){const a=Oe(QM);return t||a?f.jsx(KM,{onSelectionChange:t}):null}const If=typeof window<"u"?L.useLayoutEffect:L.useEffect,zx=[0,0],WM={x:0,y:0,zoom:1},eA=["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig","zIndexMode"],g0=[...eA,"rfId"],tA=t=>({setNodes:t.setNodes,setEdges:t.setEdges,setMinZoom:t.setMinZoom,setMaxZoom:t.setMaxZoom,setTranslateExtent:t.setTranslateExtent,setNodeExtent:t.setNodeExtent,reset:t.reset,setDefaultNodesAndEdges:t.setDefaultNodesAndEdges}),y0={translateExtent:Ho,nodeOrigin:zx,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function nA(t){const{setNodes:a,setEdges:l,setMinZoom:o,setMaxZoom:s,setTranslateExtent:c,setNodeExtent:d,reset:m,setDefaultNodesAndEdges:y}=Oe(tA,Ze),p=Ke();If(()=>(y(t.defaultNodes,t.defaultEdges),()=>{g.current=y0,m()}),[]);const g=L.useRef(y0);return If(()=>{for(const v of g0){const x=t[v],S=g.current[v];x!==S&&(typeof t[v]>"u"||(v==="nodes"?a(x):v==="edges"?l(x):v==="minZoom"?o(x):v==="maxZoom"?s(x):v==="translateExtent"?c(x):v==="nodeExtent"?d(x):v==="ariaLabelConfig"?p.setState({ariaLabelConfig:BT(x)}):v==="fitView"?p.setState({fitViewQueued:x}):v==="fitViewOptions"?p.setState({fitViewOptions:x}):p.setState({[v]:x})))}g.current=t},g0.map(v=>t[v])),null}function v0(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function aA(t){const[a,l]=L.useState(t==="system"?null:t);return L.useEffect(()=>{if(t!=="system"){l(t);return}const o=v0(),s=()=>l(o?.matches?"dark":"light");return s(),o?.addEventListener("change",s),()=>{o?.removeEventListener("change",s)}},[t]),a!==null?a:v0()?.matches?"dark":"light"}const x0=typeof document<"u"?document:null;function Uo(t=null,a={target:x0,actInsideInputWithModifier:!0}){const[l,o]=L.useState(!1),s=L.useRef(!1),c=L.useRef(new Set([])),[d,m]=L.useMemo(()=>{if(t!==null){const p=(Array.isArray(t)?t:[t]).filter(v=>typeof v=="string").map(v=>v.replace("+",`
24
+ `).replace(`
25
+
26
+ `,`
27
+ +`).split(`
28
+ `)),g=p.reduce((v,x)=>v.concat(...x),[]);return[p,g]}return[[],[]]},[t]);return L.useEffect(()=>{const y=a?.target??x0,p=a?.actInsideInputWithModifier??!0;if(t!==null){const g=S=>{if(s.current=S.ctrlKey||S.metaKey||S.shiftKey||S.altKey,(!s.current||s.current&&!p)&&ux(S))return!1;const _=S0(S.code,m);if(c.current.add(S[_]),b0(d,c.current,!1)){const D=S.composedPath?.()?.[0]||S.target,j=D?.nodeName==="BUTTON"||D?.nodeName==="A";a.preventDefault!==!1&&(s.current||!j)&&S.preventDefault(),o(!0)}},v=S=>{const N=S0(S.code,m);b0(d,c.current,!0)?(o(!1),c.current.clear()):c.current.delete(S[N]),S.key==="Meta"&&c.current.clear(),s.current=!1},x=()=>{c.current.clear(),o(!1)};return y?.addEventListener("keydown",g),y?.addEventListener("keyup",v),window.addEventListener("blur",x),window.addEventListener("contextmenu",x),()=>{y?.removeEventListener("keydown",g),y?.removeEventListener("keyup",v),window.removeEventListener("blur",x),window.removeEventListener("contextmenu",x)}}},[t,o]),l}function b0(t,a,l){return t.filter(o=>l||o.length===a.size).some(o=>o.every(s=>a.has(s)))}function S0(t,a){return a.includes(t)?"code":"key"}const iA=()=>{const t=Ke();return L.useMemo(()=>({zoomIn:a=>{const{panZoom:l}=t.getState();return l?l.scaleBy(1.2,a):Promise.resolve(!1)},zoomOut:a=>{const{panZoom:l}=t.getState();return l?l.scaleBy(1/1.2,a):Promise.resolve(!1)},zoomTo:(a,l)=>{const{panZoom:o}=t.getState();return o?o.scaleTo(a,l):Promise.resolve(!1)},getZoom:()=>t.getState().transform[2],setViewport:async(a,l)=>{const{transform:[o,s,c],panZoom:d}=t.getState();return d?(await d.setViewport({x:a.x??o,y:a.y??s,zoom:a.zoom??c},l),Promise.resolve(!0)):Promise.resolve(!1)},getViewport:()=>{const[a,l,o]=t.getState().transform;return{x:a,y:l,zoom:o}},setCenter:async(a,l,o)=>t.getState().setCenter(a,l,o),fitBounds:async(a,l)=>{const{width:o,height:s,minZoom:c,maxZoom:d,panZoom:m}=t.getState(),y=eh(a,o,s,c,d,l?.padding??.1);return m?(await m.setViewport(y,{duration:l?.duration,ease:l?.ease,interpolate:l?.interpolate}),Promise.resolve(!0)):Promise.resolve(!1)},screenToFlowPosition:(a,l={})=>{const{transform:o,snapGrid:s,snapToGrid:c,domNode:d}=t.getState();if(!d)return a;const{x:m,y}=d.getBoundingClientRect(),p={x:a.x-m,y:a.y-y},g=l.snapGrid??s,v=l.snapToGrid??c;return Xo(p,o,v,g)},flowToScreenPosition:a=>{const{transform:l,domNode:o}=t.getState();if(!o)return a;const{x:s,y:c}=o.getBoundingClientRect(),d=ac(a,l);return{x:d.x+s,y:d.y+c}}}),[])};function Rx(t,a){const l=[],o=new Map,s=[];for(const c of t)if(c.type==="add"){s.push(c);continue}else if(c.type==="remove"||c.type==="replace")o.set(c.id,[c]);else{const d=o.get(c.id);d?d.push(c):o.set(c.id,[c])}for(const c of a){const d=o.get(c.id);if(!d){l.push(c);continue}if(d[0].type==="remove")continue;if(d[0].type==="replace"){l.push({...d[0].item});continue}const m={...c};for(const y of d)lA(y,m);l.push(m)}return s.length&&s.forEach(c=>{c.index!==void 0?l.splice(c.index,0,{...c.item}):l.push({...c.item})}),l}function lA(t,a){switch(t.type){case"select":{a.selected=t.selected;break}case"position":{typeof t.position<"u"&&(a.position=t.position),typeof t.dragging<"u"&&(a.dragging=t.dragging);break}case"dimensions":{typeof t.dimensions<"u"&&(a.measured={...t.dimensions},t.setAttributes&&((t.setAttributes===!0||t.setAttributes==="width")&&(a.width=t.dimensions.width),(t.setAttributes===!0||t.setAttributes==="height")&&(a.height=t.dimensions.height))),typeof t.resizing=="boolean"&&(a.resizing=t.resizing);break}}}function Dx(t,a){return Rx(t,a)}function Ox(t,a){return Rx(t,a)}function ni(t,a){return{id:t,type:"select",selected:a}}function fl(t,a=new Set,l=!1){const o=[];for(const[s,c]of t){const d=a.has(s);!(c.selected===void 0&&!d)&&c.selected!==d&&(l&&(c.selected=d),o.push(ni(c.id,d)))}return o}function w0({items:t=[],lookup:a}){const l=[],o=new Map(t.map(s=>[s.id,s]));for(const[s,c]of t.entries()){const d=a.get(c.id),m=d?.internals?.userNode??d;m!==void 0&&m!==c&&l.push({id:c.id,item:c,type:"replace"}),m===void 0&&l.push({item:c,type:"add",index:s})}for(const[s]of a)o.get(s)===void 0&&l.push({id:s,type:"remove"});return l}function N0(t){return{id:t.id,type:"remove"}}const _0=t=>AT(t),oA=t=>nx(t);function Ix(t){return L.forwardRef(t)}function E0(t){const[a,l]=L.useState(BigInt(0)),[o]=L.useState(()=>rA(()=>l(s=>s+BigInt(1))));return If(()=>{const s=o.get();s.length&&(t(s),o.reset())},[a]),o}function rA(t){let a=[];return{get:()=>a,reset:()=>{a=[]},push:l=>{a.push(l),t()}}}const Lx=L.createContext(null);function sA({children:t}){const a=Ke(),l=L.useCallback(m=>{const{nodes:y=[],setNodes:p,hasDefaultNodes:g,onNodesChange:v,nodeLookup:x,fitViewQueued:S,onNodesChangeMiddlewareMap:N}=a.getState();let _=y;for(const j of m)_=typeof j=="function"?j(_):j;let D=w0({items:_,lookup:x});for(const j of N.values())D=j(D);g&&p(_),D.length>0?v?.(D):S&&window.requestAnimationFrame(()=>{const{fitViewQueued:j,nodes:A,setNodes:E}=a.getState();j&&E(A)})},[]),o=E0(l),s=L.useCallback(m=>{const{edges:y=[],setEdges:p,hasDefaultEdges:g,onEdgesChange:v,edgeLookup:x}=a.getState();let S=y;for(const N of m)S=typeof N=="function"?N(S):N;g?p(S):v&&v(w0({items:S,lookup:x}))},[]),c=E0(s),d=L.useMemo(()=>({nodeQueue:o,edgeQueue:c}),[]);return f.jsx(Lx.Provider,{value:d,children:t})}function cA(){const t=L.useContext(Lx);if(!t)throw new Error("useBatchContext must be used within a BatchProvider");return t}const uA=t=>!!t.panZoom;function pc(){const t=iA(),a=Ke(),l=cA(),o=Oe(uA),s=L.useMemo(()=>{const c=v=>a.getState().nodeLookup.get(v),d=v=>{l.nodeQueue.push(v)},m=v=>{l.edgeQueue.push(v)},y=v=>{const{nodeLookup:x,nodeOrigin:S}=a.getState(),N=_0(v)?v:x.get(v.id),_=N.parentId?sx(N.position,N.measured,N.parentId,x,S):N.position,D={...N,position:_,width:N.measured?.width??N.width,height:N.measured?.height??N.height};return xl(D)},p=(v,x,S={replace:!1})=>{d(N=>N.map(_=>{if(_.id===v){const D=typeof x=="function"?x(_):x;return S.replace&&_0(D)?D:{..._,...D}}return _}))},g=(v,x,S={replace:!1})=>{m(N=>N.map(_=>{if(_.id===v){const D=typeof x=="function"?x(_):x;return S.replace&&oA(D)?D:{..._,...D}}return _}))};return{getNodes:()=>a.getState().nodes.map(v=>({...v})),getNode:v=>c(v)?.internals.userNode,getInternalNode:c,getEdges:()=>{const{edges:v=[]}=a.getState();return v.map(x=>({...x}))},getEdge:v=>a.getState().edgeLookup.get(v),setNodes:d,setEdges:m,addNodes:v=>{const x=Array.isArray(v)?v:[v];l.nodeQueue.push(S=>[...S,...x])},addEdges:v=>{const x=Array.isArray(v)?v:[v];l.edgeQueue.push(S=>[...S,...x])},toObject:()=>{const{nodes:v=[],edges:x=[],transform:S}=a.getState(),[N,_,D]=S;return{nodes:v.map(j=>({...j})),edges:x.map(j=>({...j})),viewport:{x:N,y:_,zoom:D}}},deleteElements:async({nodes:v=[],edges:x=[]})=>{const{nodes:S,edges:N,onNodesDelete:_,onEdgesDelete:D,triggerNodeChanges:j,triggerEdgeChanges:A,onDelete:E,onBeforeDelete:w}=a.getState(),{nodes:B,edges:O}=await OT({nodesToRemove:v,edgesToRemove:x,nodes:S,edges:N,onBeforeDelete:w}),k=O.length>0,F=B.length>0;if(k){const K=O.map(N0);D?.(O),A(K)}if(F){const K=B.map(N0);_?.(B),j(K)}return(F||k)&&E?.({nodes:B,edges:O}),{deletedNodes:B,deletedEdges:O}},getIntersectingNodes:(v,x=!0,S)=>{const N=Ky(v),_=N?v:y(v),D=S!==void 0;return _?(S||a.getState().nodes).filter(j=>{const A=a.getState().nodeLookup.get(j.id);if(A&&!N&&(j.id===v.id||!A.internals.positionAbsolute))return!1;const E=xl(D?j:A),w=Bo(E,_);return x&&w>0||w>=E.width*E.height||w>=_.width*_.height}):[]},isNodeIntersecting:(v,x,S=!0)=>{const _=Ky(v)?v:y(v);if(!_)return!1;const D=Bo(_,x);return S&&D>0||D>=x.width*x.height||D>=_.width*_.height},updateNode:p,updateNodeData:(v,x,S={replace:!1})=>{p(v,N=>{const _=typeof x=="function"?x(N):x;return S.replace?{...N,data:_}:{...N,data:{...N.data,..._}}},S)},updateEdge:g,updateEdgeData:(v,x,S={replace:!1})=>{g(v,N=>{const _=typeof x=="function"?x(N):x;return S.replace?{...N,data:_}:{...N,data:{...N.data,..._}}},S)},getNodesBounds:v=>{const{nodeLookup:x,nodeOrigin:S}=a.getState();return jT(v,{nodeLookup:x,nodeOrigin:S})},getHandleConnections:({type:v,id:x,nodeId:S})=>Array.from(a.getState().connectionLookup.get(`${S}-${v}${x?`-${x}`:""}`)?.values()??[]),getNodeConnections:({type:v,handleId:x,nodeId:S})=>Array.from(a.getState().connectionLookup.get(`${S}${v?x?`-${v}-${x}`:`-${v}`:""}`)?.values()??[]),fitView:async v=>{const x=a.getState().fitViewResolver??kT();return a.setState({fitViewQueued:!0,fitViewOptions:v,fitViewResolver:x}),l.nodeQueue.push(S=>[...S]),x.promise}}},[]);return L.useMemo(()=>({...s,...t,viewportInitialized:o}),[o])}const C0=t=>t.selected,dA=typeof window<"u"?window:void 0;function fA({deleteKeyCode:t,multiSelectionKeyCode:a}){const l=Ke(),{deleteElements:o}=pc(),s=Uo(t,{actInsideInputWithModifier:!1}),c=Uo(a,{target:dA});L.useEffect(()=>{if(s){const{edges:d,nodes:m}=l.getState();o({nodes:m.filter(C0),edges:d.filter(C0)}),l.setState({nodesSelectionActive:!1})}},[s]),L.useEffect(()=>{l.setState({multiSelectionActive:c})},[c])}function hA(t){const a=Ke();L.useEffect(()=>{const l=()=>{if(!t.current||!(t.current.checkVisibility?.()??!0))return!1;const o=th(t.current);(o.height===0||o.width===0)&&a.getState().onError?.("004",yn.error004()),a.setState({width:o.width||500,height:o.height||500})};if(t.current){l(),window.addEventListener("resize",l);const o=new ResizeObserver(()=>l());return o.observe(t.current),()=>{window.removeEventListener("resize",l),o&&t.current&&o.unobserve(t.current)}}},[])}const gc={position:"absolute",width:"100%",height:"100%",top:0,left:0},mA=t=>({userSelectionActive:t.userSelectionActive,lib:t.lib,connectionInProgress:t.connection.inProgress});function pA({onPaneContextMenu:t,zoomOnScroll:a=!0,zoomOnPinch:l=!0,panOnScroll:o=!1,panOnScrollSpeed:s=.5,panOnScrollMode:c=si.Free,zoomOnDoubleClick:d=!0,panOnDrag:m=!0,defaultViewport:y,translateExtent:p,minZoom:g,maxZoom:v,zoomActivationKeyCode:x,preventScrolling:S=!0,children:N,noWheelClassName:_,noPanClassName:D,onViewportChange:j,isControlledViewport:A,paneClickDistance:E,selectionOnDrag:w}){const B=Ke(),O=L.useRef(null),{userSelectionActive:k,lib:F,connectionInProgress:K}=Oe(mA,Ze),de=Uo(x),X=L.useRef();hA(O);const te=L.useCallback(se=>{j?.({x:se[0],y:se[1],zoom:se[2]}),A||B.setState({transform:se})},[j,A]);return L.useEffect(()=>{if(O.current){X.current=SM({domNode:O.current,minZoom:g,maxZoom:v,translateExtent:p,viewport:y,onDraggingChange:T=>B.setState(I=>I.paneDragging===T?I:{paneDragging:T}),onPanZoomStart:(T,I)=>{const{onViewportChangeStart:U,onMoveStart:Z}=B.getState();Z?.(T,I),U?.(I)},onPanZoom:(T,I)=>{const{onViewportChange:U,onMove:Z}=B.getState();Z?.(T,I),U?.(I)},onPanZoomEnd:(T,I)=>{const{onViewportChangeEnd:U,onMoveEnd:Z}=B.getState();Z?.(T,I),U?.(I)}});const{x:se,y:z,zoom:M}=X.current.getViewport();return B.setState({panZoom:X.current,transform:[se,z,M],domNode:O.current.closest(".react-flow")}),()=>{X.current?.destroy()}}},[]),L.useEffect(()=>{X.current?.update({onPaneContextMenu:t,zoomOnScroll:a,zoomOnPinch:l,panOnScroll:o,panOnScrollSpeed:s,panOnScrollMode:c,zoomOnDoubleClick:d,panOnDrag:m,zoomActivationKeyPressed:de,preventScrolling:S,noPanClassName:D,userSelectionActive:k,noWheelClassName:_,lib:F,onTransformChange:te,connectionInProgress:K,selectionOnDrag:w,paneClickDistance:E})},[t,a,l,o,s,c,d,m,de,S,D,k,_,F,te,K,w,E]),f.jsx("div",{className:"react-flow__renderer",ref:O,style:gc,children:N})}const gA=t=>({userSelectionActive:t.userSelectionActive,userSelectionRect:t.userSelectionRect});function yA(){const{userSelectionActive:t,userSelectionRect:a}=Oe(gA,Ze);return t&&a?f.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:a.width,height:a.height,transform:`translate(${a.x}px, ${a.y}px)`}}):null}const mf=(t,a)=>l=>{l.target===a.current&&t?.(l)},vA=t=>({userSelectionActive:t.userSelectionActive,elementsSelectable:t.elementsSelectable,connectionInProgress:t.connection.inProgress,dragging:t.paneDragging});function xA({isSelecting:t,selectionKeyPressed:a,selectionMode:l=ko.Full,panOnDrag:o,paneClickDistance:s,selectionOnDrag:c,onSelectionStart:d,onSelectionEnd:m,onPaneClick:y,onPaneContextMenu:p,onPaneScroll:g,onPaneMouseEnter:v,onPaneMouseMove:x,onPaneMouseLeave:S,children:N}){const _=Ke(),{userSelectionActive:D,elementsSelectable:j,dragging:A,connectionInProgress:E}=Oe(vA,Ze),w=j&&(t||D),B=L.useRef(null),O=L.useRef(),k=L.useRef(new Set),F=L.useRef(new Set),K=L.useRef(!1),de=U=>{if(K.current||E){K.current=!1;return}y?.(U),_.getState().resetSelectedElements(),_.setState({nodesSelectionActive:!1})},X=U=>{if(Array.isArray(o)&&o?.includes(2)){U.preventDefault();return}p?.(U)},te=g?U=>g(U):void 0,se=U=>{K.current&&(U.stopPropagation(),K.current=!1)},z=U=>{const{domNode:Z}=_.getState();if(O.current=Z?.getBoundingClientRect(),!O.current)return;const ae=U.target===B.current;if(!ae&&!!U.target.closest(".nokey")||!t||!(c&&ae||a)||U.button!==0||!U.isPrimary)return;U.target?.setPointerCapture?.(U.pointerId),K.current=!1;const{x:V,y:W}=on(U.nativeEvent,O.current);_.setState({userSelectionRect:{width:0,height:0,startX:V,startY:W,x:V,y:W}}),ae||(U.stopPropagation(),U.preventDefault())},M=U=>{const{userSelectionRect:Z,transform:ae,nodeLookup:R,edgeLookup:q,connectionLookup:V,triggerNodeChanges:W,triggerEdgeChanges:fe,defaultEdgeOptions:$,resetSelectedElements:le}=_.getState();if(!O.current||!Z)return;const{x:ce,y:ue}=on(U.nativeEvent,O.current),{startX:be,startY:ve}=Z;if(!K.current){const ke=a?0:s;if(Math.hypot(ce-be,ue-ve)<=ke)return;le(),d?.(U)}K.current=!0;const xe={startX:be,startY:ve,x:ce<be?ce:be,y:ue<ve?ue:ve,width:Math.abs(ce-be),height:Math.abs(ue-ve)},_e=k.current,je=F.current;k.current=new Set(Wf(R,xe,ae,l===ko.Partial,!0).map(ke=>ke.id)),F.current=new Set;const Ue=$?.selectable??!0;for(const ke of k.current){const ut=V.get(ke);if(ut)for(const{edgeId:Zt}of ut.values()){const zt=q.get(Zt);zt&&(zt.selectable??Ue)&&F.current.add(Zt)}}if(!Qy(_e,k.current)){const ke=fl(R,k.current,!0);W(ke)}if(!Qy(je,F.current)){const ke=fl(q,F.current);fe(ke)}_.setState({userSelectionRect:xe,userSelectionActive:!0,nodesSelectionActive:!1})},T=U=>{U.button===0&&(U.target?.releasePointerCapture?.(U.pointerId),!D&&U.target===B.current&&_.getState().userSelectionRect&&de?.(U),_.setState({userSelectionActive:!1,userSelectionRect:null}),K.current&&(m?.(U),_.setState({nodesSelectionActive:k.current.size>0})))},I=o===!0||Array.isArray(o)&&o.includes(0);return f.jsxs("div",{className:rt(["react-flow__pane",{draggable:I,dragging:A,selection:t}]),onClick:w?void 0:mf(de,B),onContextMenu:mf(X,B),onWheel:mf(te,B),onPointerEnter:w?void 0:v,onPointerMove:w?M:x,onPointerUp:w?T:void 0,onPointerDownCapture:w?z:void 0,onClickCapture:w?se:void 0,onPointerLeave:S,ref:B,style:gc,children:[N,f.jsx(yA,{})]})}function Lf({id:t,store:a,unselect:l=!1,nodeRef:o}){const{addSelectedNodes:s,unselectNodesAndEdges:c,multiSelectionActive:d,nodeLookup:m,onError:y}=a.getState(),p=m.get(t);if(!p){y?.("012",yn.error012(t));return}a.setState({nodesSelectionActive:!1}),p.selected?(l||p.selected&&d)&&(c({nodes:[p],edges:[]}),requestAnimationFrame(()=>o?.current?.blur())):s([t])}function Hx({nodeRef:t,disabled:a=!1,noDragClassName:l,handleSelector:o,nodeId:s,isSelectable:c,nodeClickDistance:d}){const m=Ke(),[y,p]=L.useState(!1),g=L.useRef();return L.useEffect(()=>{g.current=rM({getStoreItems:()=>m.getState(),onNodeMouseDown:v=>{Lf({id:v,store:m,nodeRef:t})},onDragStart:()=>{p(!0)},onDragStop:()=>{p(!1)}})},[]),L.useEffect(()=>{if(!(a||!t.current||!g.current))return g.current.update({noDragClassName:l,handleSelector:o,domNode:t.current,isSelectable:c,nodeId:s,nodeClickDistance:d}),()=>{g.current?.destroy()}},[l,o,a,c,t,s,d]),y}const bA=t=>a=>a.selected&&(a.draggable||t&&typeof a.draggable>"u");function kx(){const t=Ke();return L.useCallback(l=>{const{nodeExtent:o,snapToGrid:s,snapGrid:c,nodesDraggable:d,onError:m,updateNodePositions:y,nodeLookup:p,nodeOrigin:g}=t.getState(),v=new Map,x=bA(d),S=s?c[0]:5,N=s?c[1]:5,_=l.direction.x*S*l.factor,D=l.direction.y*N*l.factor;for(const[,j]of p){if(!x(j))continue;let A={x:j.internals.positionAbsolute.x+_,y:j.internals.positionAbsolute.y+D};s&&(A=Fo(A,c));const{position:E,positionAbsolute:w}=ax({nodeId:j.id,nextPosition:A,nodeLookup:p,nodeExtent:o,nodeOrigin:g,onError:m});j.position=E,j.internals.positionAbsolute=w,v.set(j.id,j)}y(v)},[])}const rh=L.createContext(null),SA=rh.Provider;rh.Consumer;const Bx=()=>L.useContext(rh),wA=t=>({connectOnClick:t.connectOnClick,noPanClassName:t.noPanClassName,rfId:t.rfId}),NA=(t,a,l)=>o=>{const{connectionClickStartHandle:s,connectionMode:c,connection:d}=o,{fromHandle:m,toHandle:y,isValid:p}=d,g=y?.nodeId===t&&y?.id===a&&y?.type===l;return{connectingFrom:m?.nodeId===t&&m?.id===a&&m?.type===l,connectingTo:g,clickConnecting:s?.nodeId===t&&s?.id===a&&s?.type===l,isPossibleEndHandle:c===fi.Strict?m?.type!==l:t!==m?.nodeId||a!==m?.id,connectionInProcess:!!m,clickConnectionInProcess:!!s,valid:g&&p}};function _A({type:t="source",position:a=ge.Top,isValidConnection:l,isConnectable:o=!0,isConnectableStart:s=!0,isConnectableEnd:c=!0,id:d,onConnect:m,children:y,className:p,onMouseDown:g,onTouchStart:v,...x},S){const N=d||null,_=t==="target",D=Ke(),j=Bx(),{connectOnClick:A,noPanClassName:E,rfId:w}=Oe(wA,Ze),{connectingFrom:B,connectingTo:O,clickConnecting:k,isPossibleEndHandle:F,connectionInProcess:K,clickConnectionInProcess:de,valid:X}=Oe(NA(j,N,t),Ze);j||D.getState().onError?.("010",yn.error010());const te=M=>{const{defaultEdgeOptions:T,onConnect:I,hasDefaultEdges:U}=D.getState(),Z={...T,...M};if(U){const{edges:ae,setEdges:R}=D.getState();R(PT(Z,ae))}I?.(Z),m?.(Z)},se=M=>{if(!j)return;const T=dx(M.nativeEvent);if(s&&(T&&M.button===0||!T)){const I=D.getState();Of.onPointerDown(M.nativeEvent,{handleDomNode:M.currentTarget,autoPanOnConnect:I.autoPanOnConnect,connectionMode:I.connectionMode,connectionRadius:I.connectionRadius,domNode:I.domNode,nodeLookup:I.nodeLookup,lib:I.lib,isTarget:_,handleId:N,nodeId:j,flowId:I.rfId,panBy:I.panBy,cancelConnection:I.cancelConnection,onConnectStart:I.onConnectStart,onConnectEnd:(...U)=>D.getState().onConnectEnd?.(...U),updateConnection:I.updateConnection,onConnect:te,isValidConnection:l||((...U)=>D.getState().isValidConnection?.(...U)??!0),getTransform:()=>D.getState().transform,getFromHandle:()=>D.getState().connection.fromHandle,autoPanSpeed:I.autoPanSpeed,dragThreshold:I.connectionDragThreshold})}T?g?.(M):v?.(M)},z=M=>{const{onClickConnectStart:T,onClickConnectEnd:I,connectionClickStartHandle:U,connectionMode:Z,isValidConnection:ae,lib:R,rfId:q,nodeLookup:V,connection:W}=D.getState();if(!j||!U&&!s)return;if(!U){T?.(M.nativeEvent,{nodeId:j,handleId:N,handleType:t}),D.setState({connectionClickStartHandle:{nodeId:j,type:t,id:N}});return}const fe=cx(M.target),$=l||ae,{connection:le,isValid:ce}=Of.isValid(M.nativeEvent,{handle:{nodeId:j,id:N,type:t},connectionMode:Z,fromNodeId:U.nodeId,fromHandleId:U.id||null,fromType:U.type,isValidConnection:$,flowId:q,doc:fe,lib:R,nodeLookup:V});ce&&le&&te(le);const ue=structuredClone(W);delete ue.inProgress,ue.toPosition=ue.toHandle?ue.toHandle.position:null,I?.(M,ue),D.setState({connectionClickStartHandle:null})};return f.jsx("div",{"data-handleid":N,"data-nodeid":j,"data-handlepos":a,"data-id":`${w}-${j}-${N}-${t}`,className:rt(["react-flow__handle",`react-flow__handle-${a}`,"nodrag",E,p,{source:!_,target:_,connectable:o,connectablestart:s,connectableend:c,clickconnecting:k,connectingfrom:B,connectingto:O,valid:X,connectionindicator:o&&(!K||F)&&(K||de?c:s)}]),onMouseDown:se,onTouchStart:se,onClick:A?z:void 0,ref:S,...x,children:y})}const wl=L.memo(Ix(_A));function EA({data:t,isConnectable:a,sourcePosition:l=ge.Bottom}){return f.jsxs(f.Fragment,{children:[t?.label,f.jsx(wl,{type:"source",position:l,isConnectable:a})]})}function CA({data:t,isConnectable:a,targetPosition:l=ge.Top,sourcePosition:o=ge.Bottom}){return f.jsxs(f.Fragment,{children:[f.jsx(wl,{type:"target",position:l,isConnectable:a}),t?.label,f.jsx(wl,{type:"source",position:o,isConnectable:a})]})}function TA(){return null}function MA({data:t,isConnectable:a,targetPosition:l=ge.Top}){return f.jsxs(f.Fragment,{children:[f.jsx(wl,{type:"target",position:l,isConnectable:a}),t?.label]})}const ic={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},T0={input:EA,default:CA,output:MA,group:TA};function AA(t){return t.internals.handleBounds===void 0?{width:t.width??t.initialWidth??t.style?.width,height:t.height??t.initialHeight??t.style?.height}:{width:t.width??t.style?.width,height:t.height??t.style?.height}}const jA=t=>{const{width:a,height:l,x:o,y:s}=$o(t.nodeLookup,{filter:c=>!!c.selected});return{width:ln(a)?a:null,height:ln(l)?l:null,userSelectionActive:t.userSelectionActive,transformString:`translate(${t.transform[0]}px,${t.transform[1]}px) scale(${t.transform[2]}) translate(${o}px,${s}px)`}};function zA({onSelectionContextMenu:t,noPanClassName:a,disableKeyboardA11y:l}){const o=Ke(),{width:s,height:c,transformString:d,userSelectionActive:m}=Oe(jA,Ze),y=kx(),p=L.useRef(null);L.useEffect(()=>{l||p.current?.focus({preventScroll:!0})},[l]);const g=!m&&s!==null&&c!==null;if(Hx({nodeRef:p,disabled:!g}),!g)return null;const v=t?S=>{const N=o.getState().nodes.filter(_=>_.selected);t(S,N)}:void 0,x=S=>{Object.prototype.hasOwnProperty.call(ic,S.key)&&(S.preventDefault(),y({direction:ic[S.key],factor:S.shiftKey?4:1}))};return f.jsx("div",{className:rt(["react-flow__nodesselection","react-flow__container",a]),style:{transform:d},children:f.jsx("div",{ref:p,className:"react-flow__nodesselection-rect",onContextMenu:v,tabIndex:l?void 0:-1,onKeyDown:l?void 0:x,style:{width:s,height:c}})})}const M0=typeof window<"u"?window:void 0,RA=t=>({nodesSelectionActive:t.nodesSelectionActive,userSelectionActive:t.userSelectionActive});function qx({children:t,onPaneClick:a,onPaneMouseEnter:l,onPaneMouseMove:o,onPaneMouseLeave:s,onPaneContextMenu:c,onPaneScroll:d,paneClickDistance:m,deleteKeyCode:y,selectionKeyCode:p,selectionOnDrag:g,selectionMode:v,onSelectionStart:x,onSelectionEnd:S,multiSelectionKeyCode:N,panActivationKeyCode:_,zoomActivationKeyCode:D,elementsSelectable:j,zoomOnScroll:A,zoomOnPinch:E,panOnScroll:w,panOnScrollSpeed:B,panOnScrollMode:O,zoomOnDoubleClick:k,panOnDrag:F,defaultViewport:K,translateExtent:de,minZoom:X,maxZoom:te,preventScrolling:se,onSelectionContextMenu:z,noWheelClassName:M,noPanClassName:T,disableKeyboardA11y:I,onViewportChange:U,isControlledViewport:Z}){const{nodesSelectionActive:ae,userSelectionActive:R}=Oe(RA,Ze),q=Uo(p,{target:M0}),V=Uo(_,{target:M0}),W=V||F,fe=V||w,$=g&&W!==!0,le=q||R||$;return fA({deleteKeyCode:y,multiSelectionKeyCode:N}),f.jsx(pA,{onPaneContextMenu:c,elementsSelectable:j,zoomOnScroll:A,zoomOnPinch:E,panOnScroll:fe,panOnScrollSpeed:B,panOnScrollMode:O,zoomOnDoubleClick:k,panOnDrag:!q&&W,defaultViewport:K,translateExtent:de,minZoom:X,maxZoom:te,zoomActivationKeyCode:D,preventScrolling:se,noWheelClassName:M,noPanClassName:T,onViewportChange:U,isControlledViewport:Z,paneClickDistance:m,selectionOnDrag:$,children:f.jsxs(xA,{onSelectionStart:x,onSelectionEnd:S,onPaneClick:a,onPaneMouseEnter:l,onPaneMouseMove:o,onPaneMouseLeave:s,onPaneContextMenu:c,onPaneScroll:d,panOnDrag:W,isSelecting:!!le,selectionMode:v,selectionKeyPressed:q,paneClickDistance:m,selectionOnDrag:$,children:[t,ae&&f.jsx(zA,{onSelectionContextMenu:z,noPanClassName:T,disableKeyboardA11y:I})]})})}qx.displayName="FlowRenderer";const DA=L.memo(qx),OA=t=>a=>t?Wf(a.nodeLookup,{x:0,y:0,width:a.width,height:a.height},a.transform,!0).map(l=>l.id):Array.from(a.nodeLookup.keys());function IA(t){return Oe(L.useCallback(OA(t),[t]),Ze)}const LA=t=>t.updateNodeInternals;function HA(){const t=Oe(LA),[a]=L.useState(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(l=>{const o=new Map;l.forEach(s=>{const c=s.target.getAttribute("data-id");o.set(c,{id:c,nodeElement:s.target,force:!0})}),t(o)}));return L.useEffect(()=>()=>{a?.disconnect()},[a]),a}function kA({node:t,nodeType:a,hasDimensions:l,resizeObserver:o}){const s=Ke(),c=L.useRef(null),d=L.useRef(null),m=L.useRef(t.sourcePosition),y=L.useRef(t.targetPosition),p=L.useRef(a),g=l&&!!t.internals.handleBounds;return L.useEffect(()=>{c.current&&!t.hidden&&(!g||d.current!==c.current)&&(d.current&&o?.unobserve(d.current),o?.observe(c.current),d.current=c.current)},[g,t.hidden]),L.useEffect(()=>()=>{d.current&&(o?.unobserve(d.current),d.current=null)},[]),L.useEffect(()=>{if(c.current){const v=p.current!==a,x=m.current!==t.sourcePosition,S=y.current!==t.targetPosition;(v||x||S)&&(p.current=a,m.current=t.sourcePosition,y.current=t.targetPosition,s.getState().updateNodeInternals(new Map([[t.id,{id:t.id,nodeElement:c.current,force:!0}]])))}},[t.id,a,t.sourcePosition,t.targetPosition]),c}function BA({id:t,onClick:a,onMouseEnter:l,onMouseMove:o,onMouseLeave:s,onContextMenu:c,onDoubleClick:d,nodesDraggable:m,elementsSelectable:y,nodesConnectable:p,nodesFocusable:g,resizeObserver:v,noDragClassName:x,noPanClassName:S,disableKeyboardA11y:N,rfId:_,nodeTypes:D,nodeClickDistance:j,onError:A}){const{node:E,internals:w,isParent:B}=Oe(ce=>{const ue=ce.nodeLookup.get(t),be=ce.parentLookup.has(t);return{node:ue,internals:ue.internals,isParent:be}},Ze);let O=E.type||"default",k=D?.[O]||T0[O];k===void 0&&(A?.("003",yn.error003(O)),O="default",k=D?.default||T0.default);const F=!!(E.draggable||m&&typeof E.draggable>"u"),K=!!(E.selectable||y&&typeof E.selectable>"u"),de=!!(E.connectable||p&&typeof E.connectable>"u"),X=!!(E.focusable||g&&typeof E.focusable>"u"),te=Ke(),se=rx(E),z=kA({node:E,nodeType:O,hasDimensions:se,resizeObserver:v}),M=Hx({nodeRef:z,disabled:E.hidden||!F,noDragClassName:x,handleSelector:E.dragHandle,nodeId:t,isSelectable:K,nodeClickDistance:j}),T=kx();if(E.hidden)return null;const I=$n(E),U=AA(E),Z=K||F||a||l||o||s,ae=l?ce=>l(ce,{...w.userNode}):void 0,R=o?ce=>o(ce,{...w.userNode}):void 0,q=s?ce=>s(ce,{...w.userNode}):void 0,V=c?ce=>c(ce,{...w.userNode}):void 0,W=d?ce=>d(ce,{...w.userNode}):void 0,fe=ce=>{const{selectNodesOnDrag:ue,nodeDragThreshold:be}=te.getState();K&&(!ue||!F||be>0)&&Lf({id:t,store:te,nodeRef:z}),a&&a(ce,{...w.userNode})},$=ce=>{if(!(ux(ce.nativeEvent)||N)){if(Jv.includes(ce.key)&&K){const ue=ce.key==="Escape";Lf({id:t,store:te,unselect:ue,nodeRef:z})}else if(F&&E.selected&&Object.prototype.hasOwnProperty.call(ic,ce.key)){ce.preventDefault();const{ariaLabelConfig:ue}=te.getState();te.setState({ariaLiveMessage:ue["node.a11yDescription.ariaLiveMessage"]({direction:ce.key.replace("Arrow","").toLowerCase(),x:~~w.positionAbsolute.x,y:~~w.positionAbsolute.y})}),T({direction:ic[ce.key],factor:ce.shiftKey?4:1})}}},le=()=>{if(N||!z.current?.matches(":focus-visible"))return;const{transform:ce,width:ue,height:be,autoPanOnNodeFocus:ve,setCenter:xe}=te.getState();if(!ve)return;Wf(new Map([[t,E]]),{x:0,y:0,width:ue,height:be},ce,!0).length>0||xe(E.position.x+I.width/2,E.position.y+I.height/2,{zoom:ce[2]})};return f.jsx("div",{className:rt(["react-flow__node",`react-flow__node-${O}`,{[S]:F},E.className,{selected:E.selected,selectable:K,parent:B,draggable:F,dragging:M}]),ref:z,style:{zIndex:w.z,transform:`translate(${w.positionAbsolute.x}px,${w.positionAbsolute.y}px)`,pointerEvents:Z?"all":"none",visibility:se?"visible":"hidden",...E.style,...U},"data-id":t,"data-testid":`rf__node-${t}`,onMouseEnter:ae,onMouseMove:R,onMouseLeave:q,onContextMenu:V,onClick:fe,onDoubleClick:W,onKeyDown:X?$:void 0,tabIndex:X?0:void 0,onFocus:X?le:void 0,role:E.ariaRole??(X?"group":void 0),"aria-roledescription":"node","aria-describedby":N?void 0:`${Ax}-${_}`,"aria-label":E.ariaLabel,...E.domAttributes,children:f.jsx(SA,{value:t,children:f.jsx(k,{id:t,data:E.data,type:O,positionAbsoluteX:w.positionAbsolute.x,positionAbsoluteY:w.positionAbsolute.y,selected:E.selected??!1,selectable:K,draggable:F,deletable:E.deletable??!0,isConnectable:de,sourcePosition:E.sourcePosition,targetPosition:E.targetPosition,dragging:M,dragHandle:E.dragHandle,zIndex:w.z,parentId:E.parentId,...I})})})}var qA=L.memo(BA);const UA=t=>({nodesDraggable:t.nodesDraggable,nodesConnectable:t.nodesConnectable,nodesFocusable:t.nodesFocusable,elementsSelectable:t.elementsSelectable,onError:t.onError});function Ux(t){const{nodesDraggable:a,nodesConnectable:l,nodesFocusable:o,elementsSelectable:s,onError:c}=Oe(UA,Ze),d=IA(t.onlyRenderVisibleElements),m=HA();return f.jsx("div",{className:"react-flow__nodes",style:gc,children:d.map(y=>f.jsx(qA,{id:y,nodeTypes:t.nodeTypes,nodeExtent:t.nodeExtent,onClick:t.onNodeClick,onMouseEnter:t.onNodeMouseEnter,onMouseMove:t.onNodeMouseMove,onMouseLeave:t.onNodeMouseLeave,onContextMenu:t.onNodeContextMenu,onDoubleClick:t.onNodeDoubleClick,noDragClassName:t.noDragClassName,noPanClassName:t.noPanClassName,rfId:t.rfId,disableKeyboardA11y:t.disableKeyboardA11y,resizeObserver:m,nodesDraggable:a,nodesConnectable:l,nodesFocusable:o,elementsSelectable:s,nodeClickDistance:t.nodeClickDistance,onError:c},y))})}Ux.displayName="NodeRenderer";const GA=L.memo(Ux);function VA(t){return Oe(L.useCallback(l=>{if(!t)return l.edges.map(s=>s.id);const o=[];if(l.width&&l.height)for(const s of l.edges){const c=l.nodeLookup.get(s.source),d=l.nodeLookup.get(s.target);c&&d&&GT({sourceNode:c,targetNode:d,width:l.width,height:l.height,transform:l.transform})&&o.push(s.id)}return o},[t]),Ze)}const YA=({color:t="none",strokeWidth:a=1})=>{const l={strokeWidth:a,...t&&{stroke:t}};return f.jsx("polyline",{className:"arrow",style:l,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},PA=({color:t="none",strokeWidth:a=1})=>{const l={strokeWidth:a,...t&&{stroke:t,fill:t}};return f.jsx("polyline",{className:"arrowclosed",style:l,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},A0={[tc.Arrow]:YA,[tc.ArrowClosed]:PA};function $A(t){const a=Ke();return L.useMemo(()=>Object.prototype.hasOwnProperty.call(A0,t)?A0[t]:(a.getState().onError?.("009",yn.error009(t)),null),[t])}const FA=({id:t,type:a,color:l,width:o=12.5,height:s=12.5,markerUnits:c="strokeWidth",strokeWidth:d,orient:m="auto-start-reverse"})=>{const y=$A(a);return y?f.jsx("marker",{className:"react-flow__arrowhead",id:t,markerWidth:`${o}`,markerHeight:`${s}`,viewBox:"-10 -10 20 20",markerUnits:c,orient:m,refX:"0",refY:"0",children:f.jsx(y,{color:l,strokeWidth:d})}):null},Gx=({defaultColor:t,rfId:a})=>{const l=Oe(c=>c.edges),o=Oe(c=>c.defaultEdgeOptions),s=L.useMemo(()=>KT(l,{id:a,defaultColor:t,defaultMarkerStart:o?.markerStart,defaultMarkerEnd:o?.markerEnd}),[l,o,a,t]);return s.length?f.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:f.jsx("defs",{children:s.map(c=>f.jsx(FA,{id:c.id,type:c.type,color:c.color,width:c.width,height:c.height,markerUnits:c.markerUnits,strokeWidth:c.strokeWidth,orient:c.orient},c.id))})}):null};Gx.displayName="MarkerDefinitions";var XA=L.memo(Gx);function Vx({x:t,y:a,label:l,labelStyle:o,labelShowBg:s=!0,labelBgStyle:c,labelBgPadding:d=[2,4],labelBgBorderRadius:m=2,children:y,className:p,...g}){const[v,x]=L.useState({x:1,y:0,width:0,height:0}),S=rt(["react-flow__edge-textwrapper",p]),N=L.useRef(null);return L.useEffect(()=>{if(N.current){const _=N.current.getBBox();x({x:_.x,y:_.y,width:_.width,height:_.height})}},[l]),l?f.jsxs("g",{transform:`translate(${t-v.width/2} ${a-v.height/2})`,className:S,visibility:v.width?"visible":"hidden",...g,children:[s&&f.jsx("rect",{width:v.width+2*d[0],x:-d[0],y:-d[1],height:v.height+2*d[1],className:"react-flow__edge-textbg",style:c,rx:m,ry:m}),f.jsx("text",{className:"react-flow__edge-text",y:v.height/2,dy:"0.3em",ref:N,style:o,children:l}),y]}):null}Vx.displayName="EdgeText";const ZA=L.memo(Vx);function yc({path:t,labelX:a,labelY:l,label:o,labelStyle:s,labelShowBg:c,labelBgStyle:d,labelBgPadding:m,labelBgBorderRadius:y,interactionWidth:p=20,...g}){return f.jsxs(f.Fragment,{children:[f.jsx("path",{...g,d:t,fill:"none",className:rt(["react-flow__edge-path",g.className])}),p?f.jsx("path",{d:t,fill:"none",strokeOpacity:0,strokeWidth:p,className:"react-flow__edge-interaction"}):null,o&&ln(a)&&ln(l)?f.jsx(ZA,{x:a,y:l,label:o,labelStyle:s,labelShowBg:c,labelBgStyle:d,labelBgPadding:m,labelBgBorderRadius:y}):null]})}function j0({pos:t,x1:a,y1:l,x2:o,y2:s}){return t===ge.Left||t===ge.Right?[.5*(a+o),l]:[a,.5*(l+s)]}function Yx({sourceX:t,sourceY:a,sourcePosition:l=ge.Bottom,targetX:o,targetY:s,targetPosition:c=ge.Top}){const[d,m]=j0({pos:l,x1:t,y1:a,x2:o,y2:s}),[y,p]=j0({pos:c,x1:o,y1:s,x2:t,y2:a}),[g,v,x,S]=fx({sourceX:t,sourceY:a,targetX:o,targetY:s,sourceControlX:d,sourceControlY:m,targetControlX:y,targetControlY:p});return[`M${t},${a} C${d},${m} ${y},${p} ${o},${s}`,g,v,x,S]}function Px(t){return L.memo(({id:a,sourceX:l,sourceY:o,targetX:s,targetY:c,sourcePosition:d,targetPosition:m,label:y,labelStyle:p,labelShowBg:g,labelBgStyle:v,labelBgPadding:x,labelBgBorderRadius:S,style:N,markerEnd:_,markerStart:D,interactionWidth:j})=>{const[A,E,w]=Yx({sourceX:l,sourceY:o,sourcePosition:d,targetX:s,targetY:c,targetPosition:m}),B=t.isInternal?void 0:a;return f.jsx(yc,{id:B,path:A,labelX:E,labelY:w,label:y,labelStyle:p,labelShowBg:g,labelBgStyle:v,labelBgPadding:x,labelBgBorderRadius:S,style:N,markerEnd:_,markerStart:D,interactionWidth:j})})}const KA=Px({isInternal:!1}),$x=Px({isInternal:!0});KA.displayName="SimpleBezierEdge";$x.displayName="SimpleBezierEdgeInternal";function Fx(t){return L.memo(({id:a,sourceX:l,sourceY:o,targetX:s,targetY:c,label:d,labelStyle:m,labelShowBg:y,labelBgStyle:p,labelBgPadding:g,labelBgBorderRadius:v,style:x,sourcePosition:S=ge.Bottom,targetPosition:N=ge.Top,markerEnd:_,markerStart:D,pathOptions:j,interactionWidth:A})=>{const[E,w,B]=zf({sourceX:l,sourceY:o,sourcePosition:S,targetX:s,targetY:c,targetPosition:N,borderRadius:j?.borderRadius,offset:j?.offset,stepPosition:j?.stepPosition}),O=t.isInternal?void 0:a;return f.jsx(yc,{id:O,path:E,labelX:w,labelY:B,label:d,labelStyle:m,labelShowBg:y,labelBgStyle:p,labelBgPadding:g,labelBgBorderRadius:v,style:x,markerEnd:_,markerStart:D,interactionWidth:A})})}const Xx=Fx({isInternal:!1}),Zx=Fx({isInternal:!0});Xx.displayName="SmoothStepEdge";Zx.displayName="SmoothStepEdgeInternal";function Kx(t){return L.memo(({id:a,...l})=>{const o=t.isInternal?void 0:a;return f.jsx(Xx,{...l,id:o,pathOptions:L.useMemo(()=>({borderRadius:0,offset:l.pathOptions?.offset}),[l.pathOptions?.offset])})})}const QA=Kx({isInternal:!1}),Qx=Kx({isInternal:!0});QA.displayName="StepEdge";Qx.displayName="StepEdgeInternal";function Jx(t){return L.memo(({id:a,sourceX:l,sourceY:o,targetX:s,targetY:c,label:d,labelStyle:m,labelShowBg:y,labelBgStyle:p,labelBgPadding:g,labelBgBorderRadius:v,style:x,markerEnd:S,markerStart:N,interactionWidth:_})=>{const[D,j,A]=px({sourceX:l,sourceY:o,targetX:s,targetY:c}),E=t.isInternal?void 0:a;return f.jsx(yc,{id:E,path:D,labelX:j,labelY:A,label:d,labelStyle:m,labelShowBg:y,labelBgStyle:p,labelBgPadding:g,labelBgBorderRadius:v,style:x,markerEnd:S,markerStart:N,interactionWidth:_})})}const JA=Jx({isInternal:!1}),Wx=Jx({isInternal:!0});JA.displayName="StraightEdge";Wx.displayName="StraightEdgeInternal";function eb(t){return L.memo(({id:a,sourceX:l,sourceY:o,targetX:s,targetY:c,sourcePosition:d=ge.Bottom,targetPosition:m=ge.Top,label:y,labelStyle:p,labelShowBg:g,labelBgStyle:v,labelBgPadding:x,labelBgBorderRadius:S,style:N,markerEnd:_,markerStart:D,pathOptions:j,interactionWidth:A})=>{const[E,w,B]=hx({sourceX:l,sourceY:o,sourcePosition:d,targetX:s,targetY:c,targetPosition:m,curvature:j?.curvature}),O=t.isInternal?void 0:a;return f.jsx(yc,{id:O,path:E,labelX:w,labelY:B,label:y,labelStyle:p,labelShowBg:g,labelBgStyle:v,labelBgPadding:x,labelBgBorderRadius:S,style:N,markerEnd:_,markerStart:D,interactionWidth:A})})}const WA=eb({isInternal:!1}),tb=eb({isInternal:!0});WA.displayName="BezierEdge";tb.displayName="BezierEdgeInternal";const z0={default:tb,straight:Wx,step:Qx,smoothstep:Zx,simplebezier:$x},R0={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},ej=(t,a,l)=>l===ge.Left?t-a:l===ge.Right?t+a:t,tj=(t,a,l)=>l===ge.Top?t-a:l===ge.Bottom?t+a:t,D0="react-flow__edgeupdater";function O0({position:t,centerX:a,centerY:l,radius:o=10,onMouseDown:s,onMouseEnter:c,onMouseOut:d,type:m}){return f.jsx("circle",{onMouseDown:s,onMouseEnter:c,onMouseOut:d,className:rt([D0,`${D0}-${m}`]),cx:ej(a,o,t),cy:tj(l,o,t),r:o,stroke:"transparent",fill:"transparent"})}function nj({isReconnectable:t,reconnectRadius:a,edge:l,sourceX:o,sourceY:s,targetX:c,targetY:d,sourcePosition:m,targetPosition:y,onReconnect:p,onReconnectStart:g,onReconnectEnd:v,setReconnecting:x,setUpdateHover:S}){const N=Ke(),_=(w,B)=>{if(w.button!==0)return;const{autoPanOnConnect:O,domNode:k,connectionMode:F,connectionRadius:K,lib:de,onConnectStart:X,cancelConnection:te,nodeLookup:se,rfId:z,panBy:M,updateConnection:T}=N.getState(),I=B.type==="target",U=(R,q)=>{x(!1),v?.(R,l,B.type,q)},Z=R=>p?.(l,R),ae=(R,q)=>{x(!0),g?.(w,l,B.type),X?.(R,q)};Of.onPointerDown(w.nativeEvent,{autoPanOnConnect:O,connectionMode:F,connectionRadius:K,domNode:k,handleId:B.id,nodeId:B.nodeId,nodeLookup:se,isTarget:I,edgeUpdaterType:B.type,lib:de,flowId:z,cancelConnection:te,panBy:M,isValidConnection:(...R)=>N.getState().isValidConnection?.(...R)??!0,onConnect:Z,onConnectStart:ae,onConnectEnd:(...R)=>N.getState().onConnectEnd?.(...R),onReconnectEnd:U,updateConnection:T,getTransform:()=>N.getState().transform,getFromHandle:()=>N.getState().connection.fromHandle,dragThreshold:N.getState().connectionDragThreshold,handleDomNode:w.currentTarget})},D=w=>_(w,{nodeId:l.target,id:l.targetHandle??null,type:"target"}),j=w=>_(w,{nodeId:l.source,id:l.sourceHandle??null,type:"source"}),A=()=>S(!0),E=()=>S(!1);return f.jsxs(f.Fragment,{children:[(t===!0||t==="source")&&f.jsx(O0,{position:m,centerX:o,centerY:s,radius:a,onMouseDown:D,onMouseEnter:A,onMouseOut:E,type:"source"}),(t===!0||t==="target")&&f.jsx(O0,{position:y,centerX:c,centerY:d,radius:a,onMouseDown:j,onMouseEnter:A,onMouseOut:E,type:"target"})]})}function aj({id:t,edgesFocusable:a,edgesReconnectable:l,elementsSelectable:o,onClick:s,onDoubleClick:c,onContextMenu:d,onMouseEnter:m,onMouseMove:y,onMouseLeave:p,reconnectRadius:g,onReconnect:v,onReconnectStart:x,onReconnectEnd:S,rfId:N,edgeTypes:_,noPanClassName:D,onError:j,disableKeyboardA11y:A}){let E=Oe(xe=>xe.edgeLookup.get(t));const w=Oe(xe=>xe.defaultEdgeOptions);E=w?{...w,...E}:E;let B=E.type||"default",O=_?.[B]||z0[B];O===void 0&&(j?.("011",yn.error011(B)),B="default",O=_?.default||z0.default);const k=!!(E.focusable||a&&typeof E.focusable>"u"),F=typeof v<"u"&&(E.reconnectable||l&&typeof E.reconnectable>"u"),K=!!(E.selectable||o&&typeof E.selectable>"u"),de=L.useRef(null),[X,te]=L.useState(!1),[se,z]=L.useState(!1),M=Ke(),{zIndex:T,sourceX:I,sourceY:U,targetX:Z,targetY:ae,sourcePosition:R,targetPosition:q}=Oe(L.useCallback(xe=>{const _e=xe.nodeLookup.get(E.source),je=xe.nodeLookup.get(E.target);if(!_e||!je)return{zIndex:E.zIndex,...R0};const Ue=ZT({id:t,sourceNode:_e,targetNode:je,sourceHandle:E.sourceHandle||null,targetHandle:E.targetHandle||null,connectionMode:xe.connectionMode,onError:j});return{zIndex:UT({selected:E.selected,zIndex:E.zIndex,sourceNode:_e,targetNode:je,elevateOnSelect:xe.elevateEdgesOnSelect,zIndexMode:xe.zIndexMode}),...Ue||R0}},[E.source,E.target,E.sourceHandle,E.targetHandle,E.selected,E.zIndex]),Ze),V=L.useMemo(()=>E.markerStart?`url('#${Rf(E.markerStart,N)}')`:void 0,[E.markerStart,N]),W=L.useMemo(()=>E.markerEnd?`url('#${Rf(E.markerEnd,N)}')`:void 0,[E.markerEnd,N]);if(E.hidden||I===null||U===null||Z===null||ae===null)return null;const fe=xe=>{const{addSelectedEdges:_e,unselectNodesAndEdges:je,multiSelectionActive:Ue}=M.getState();K&&(M.setState({nodesSelectionActive:!1}),E.selected&&Ue?(je({nodes:[],edges:[E]}),de.current?.blur()):_e([t])),s&&s(xe,E)},$=c?xe=>{c(xe,{...E})}:void 0,le=d?xe=>{d(xe,{...E})}:void 0,ce=m?xe=>{m(xe,{...E})}:void 0,ue=y?xe=>{y(xe,{...E})}:void 0,be=p?xe=>{p(xe,{...E})}:void 0,ve=xe=>{if(!A&&Jv.includes(xe.key)&&K){const{unselectNodesAndEdges:_e,addSelectedEdges:je}=M.getState();xe.key==="Escape"?(de.current?.blur(),_e({edges:[E]})):je([t])}};return f.jsx("svg",{style:{zIndex:T},children:f.jsxs("g",{className:rt(["react-flow__edge",`react-flow__edge-${B}`,E.className,D,{selected:E.selected,animated:E.animated,inactive:!K&&!s,updating:X,selectable:K}]),onClick:fe,onDoubleClick:$,onContextMenu:le,onMouseEnter:ce,onMouseMove:ue,onMouseLeave:be,onKeyDown:k?ve:void 0,tabIndex:k?0:void 0,role:E.ariaRole??(k?"group":"img"),"aria-roledescription":"edge","data-id":t,"data-testid":`rf__edge-${t}`,"aria-label":E.ariaLabel===null?void 0:E.ariaLabel||`Edge from ${E.source} to ${E.target}`,"aria-describedby":k?`${jx}-${N}`:void 0,ref:de,...E.domAttributes,children:[!se&&f.jsx(O,{id:t,source:E.source,target:E.target,type:E.type,selected:E.selected,animated:E.animated,selectable:K,deletable:E.deletable??!0,label:E.label,labelStyle:E.labelStyle,labelShowBg:E.labelShowBg,labelBgStyle:E.labelBgStyle,labelBgPadding:E.labelBgPadding,labelBgBorderRadius:E.labelBgBorderRadius,sourceX:I,sourceY:U,targetX:Z,targetY:ae,sourcePosition:R,targetPosition:q,data:E.data,style:E.style,sourceHandleId:E.sourceHandle,targetHandleId:E.targetHandle,markerStart:V,markerEnd:W,pathOptions:"pathOptions"in E?E.pathOptions:void 0,interactionWidth:E.interactionWidth}),F&&f.jsx(nj,{edge:E,isReconnectable:F,reconnectRadius:g,onReconnect:v,onReconnectStart:x,onReconnectEnd:S,sourceX:I,sourceY:U,targetX:Z,targetY:ae,sourcePosition:R,targetPosition:q,setUpdateHover:te,setReconnecting:z})]})})}var ij=L.memo(aj);const lj=t=>({edgesFocusable:t.edgesFocusable,edgesReconnectable:t.edgesReconnectable,elementsSelectable:t.elementsSelectable,connectionMode:t.connectionMode,onError:t.onError});function nb({defaultMarkerColor:t,onlyRenderVisibleElements:a,rfId:l,edgeTypes:o,noPanClassName:s,onReconnect:c,onEdgeContextMenu:d,onEdgeMouseEnter:m,onEdgeMouseMove:y,onEdgeMouseLeave:p,onEdgeClick:g,reconnectRadius:v,onEdgeDoubleClick:x,onReconnectStart:S,onReconnectEnd:N,disableKeyboardA11y:_}){const{edgesFocusable:D,edgesReconnectable:j,elementsSelectable:A,onError:E}=Oe(lj,Ze),w=VA(a);return f.jsxs("div",{className:"react-flow__edges",children:[f.jsx(XA,{defaultColor:t,rfId:l}),w.map(B=>f.jsx(ij,{id:B,edgesFocusable:D,edgesReconnectable:j,elementsSelectable:A,noPanClassName:s,onReconnect:c,onContextMenu:d,onMouseEnter:m,onMouseMove:y,onMouseLeave:p,onClick:g,reconnectRadius:v,onDoubleClick:x,onReconnectStart:S,onReconnectEnd:N,rfId:l,onError:E,edgeTypes:o,disableKeyboardA11y:_},B))]})}nb.displayName="EdgeRenderer";const oj=L.memo(nb),rj=t=>`translate(${t.transform[0]}px,${t.transform[1]}px) scale(${t.transform[2]})`;function sj({children:t}){const a=Oe(rj);return f.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:a},children:t})}function cj(t){const a=pc(),l=L.useRef(!1);L.useEffect(()=>{!l.current&&a.viewportInitialized&&t&&(setTimeout(()=>t(a),1),l.current=!0)},[t,a.viewportInitialized])}const uj=t=>t.panZoom?.syncViewport;function dj(t){const a=Oe(uj),l=Ke();return L.useEffect(()=>{t&&(a?.(t),l.setState({transform:[t.x,t.y,t.zoom]}))},[t,a]),null}function fj(t){return t.connection.inProgress?{...t.connection,to:Xo(t.connection.to,t.transform)}:{...t.connection}}function hj(t){return fj}function mj(t){const a=hj();return Oe(a,Ze)}const pj=t=>({nodesConnectable:t.nodesConnectable,isValid:t.connection.isValid,inProgress:t.connection.inProgress,width:t.width,height:t.height});function gj({containerStyle:t,style:a,type:l,component:o}){const{nodesConnectable:s,width:c,height:d,isValid:m,inProgress:y}=Oe(pj,Ze);return!(c&&s&&y)?null:f.jsx("svg",{style:t,width:c,height:d,className:"react-flow__connectionline react-flow__container",children:f.jsx("g",{className:rt(["react-flow__connection",tx(m)]),children:f.jsx(ab,{style:a,type:l,CustomComponent:o,isValid:m})})})}const ab=({style:t,type:a=Ca.Bezier,CustomComponent:l,isValid:o})=>{const{inProgress:s,from:c,fromNode:d,fromHandle:m,fromPosition:y,to:p,toNode:g,toHandle:v,toPosition:x,pointer:S}=mj();if(!s)return;if(l)return f.jsx(l,{connectionLineType:a,connectionLineStyle:t,fromNode:d,fromHandle:m,fromX:c.x,fromY:c.y,toX:p.x,toY:p.y,fromPosition:y,toPosition:x,connectionStatus:tx(o),toNode:g,toHandle:v,pointer:S});let N="";const _={sourceX:c.x,sourceY:c.y,sourcePosition:y,targetX:p.x,targetY:p.y,targetPosition:x};switch(a){case Ca.Bezier:[N]=hx(_);break;case Ca.SimpleBezier:[N]=Yx(_);break;case Ca.Step:[N]=zf({..._,borderRadius:0});break;case Ca.SmoothStep:[N]=zf(_);break;default:[N]=px(_)}return f.jsx("path",{d:N,fill:"none",className:"react-flow__connection-path",style:t})};ab.displayName="ConnectionLine";const yj={};function I0(t=yj){L.useRef(t),Ke(),L.useEffect(()=>{},[t])}function vj(){Ke(),L.useRef(!1),L.useEffect(()=>{},[])}function ib({nodeTypes:t,edgeTypes:a,onInit:l,onNodeClick:o,onEdgeClick:s,onNodeDoubleClick:c,onEdgeDoubleClick:d,onNodeMouseEnter:m,onNodeMouseMove:y,onNodeMouseLeave:p,onNodeContextMenu:g,onSelectionContextMenu:v,onSelectionStart:x,onSelectionEnd:S,connectionLineType:N,connectionLineStyle:_,connectionLineComponent:D,connectionLineContainerStyle:j,selectionKeyCode:A,selectionOnDrag:E,selectionMode:w,multiSelectionKeyCode:B,panActivationKeyCode:O,zoomActivationKeyCode:k,deleteKeyCode:F,onlyRenderVisibleElements:K,elementsSelectable:de,defaultViewport:X,translateExtent:te,minZoom:se,maxZoom:z,preventScrolling:M,defaultMarkerColor:T,zoomOnScroll:I,zoomOnPinch:U,panOnScroll:Z,panOnScrollSpeed:ae,panOnScrollMode:R,zoomOnDoubleClick:q,panOnDrag:V,onPaneClick:W,onPaneMouseEnter:fe,onPaneMouseMove:$,onPaneMouseLeave:le,onPaneScroll:ce,onPaneContextMenu:ue,paneClickDistance:be,nodeClickDistance:ve,onEdgeContextMenu:xe,onEdgeMouseEnter:_e,onEdgeMouseMove:je,onEdgeMouseLeave:Ue,reconnectRadius:ke,onReconnect:ut,onReconnectStart:Zt,onReconnectEnd:zt,noDragClassName:Kt,noWheelClassName:xn,noPanClassName:ja,disableKeyboardA11y:za,nodeExtent:ft,rfId:gi,viewport:bn,onViewportChange:Fn}){return I0(t),I0(a),vj(),cj(l),dj(bn),f.jsx(DA,{onPaneClick:W,onPaneMouseEnter:fe,onPaneMouseMove:$,onPaneMouseLeave:le,onPaneContextMenu:ue,onPaneScroll:ce,paneClickDistance:be,deleteKeyCode:F,selectionKeyCode:A,selectionOnDrag:E,selectionMode:w,onSelectionStart:x,onSelectionEnd:S,multiSelectionKeyCode:B,panActivationKeyCode:O,zoomActivationKeyCode:k,elementsSelectable:de,zoomOnScroll:I,zoomOnPinch:U,zoomOnDoubleClick:q,panOnScroll:Z,panOnScrollSpeed:ae,panOnScrollMode:R,panOnDrag:V,defaultViewport:X,translateExtent:te,minZoom:se,maxZoom:z,onSelectionContextMenu:v,preventScrolling:M,noDragClassName:Kt,noWheelClassName:xn,noPanClassName:ja,disableKeyboardA11y:za,onViewportChange:Fn,isControlledViewport:!!bn,children:f.jsxs(sj,{children:[f.jsx(oj,{edgeTypes:a,onEdgeClick:s,onEdgeDoubleClick:d,onReconnect:ut,onReconnectStart:Zt,onReconnectEnd:zt,onlyRenderVisibleElements:K,onEdgeContextMenu:xe,onEdgeMouseEnter:_e,onEdgeMouseMove:je,onEdgeMouseLeave:Ue,reconnectRadius:ke,defaultMarkerColor:T,noPanClassName:ja,disableKeyboardA11y:za,rfId:gi}),f.jsx(gj,{style:_,type:N,component:D,containerStyle:j}),f.jsx("div",{className:"react-flow__edgelabel-renderer"}),f.jsx(GA,{nodeTypes:t,onNodeClick:o,onNodeDoubleClick:c,onNodeMouseEnter:m,onNodeMouseMove:y,onNodeMouseLeave:p,onNodeContextMenu:g,nodeClickDistance:ve,onlyRenderVisibleElements:K,noPanClassName:ja,noDragClassName:Kt,disableKeyboardA11y:za,nodeExtent:ft,rfId:gi}),f.jsx("div",{className:"react-flow__viewport-portal"})]})})}ib.displayName="GraphView";const xj=L.memo(ib),L0=({nodes:t,edges:a,defaultNodes:l,defaultEdges:o,width:s,height:c,fitView:d,fitViewOptions:m,minZoom:y=.5,maxZoom:p=2,nodeOrigin:g,nodeExtent:v,zIndexMode:x="basic"}={})=>{const S=new Map,N=new Map,_=new Map,D=new Map,j=o??a??[],A=l??t??[],E=g??[0,0],w=v??Ho;vx(_,D,j);const{nodesInitialized:B}=Df(A,S,N,{nodeOrigin:E,nodeExtent:w,zIndexMode:x});let O=[0,0,1];if(d&&s&&c){const k=$o(S,{filter:X=>!!((X.width||X.initialWidth)&&(X.height||X.initialHeight))}),{x:F,y:K,zoom:de}=eh(k,s,c,y,p,m?.padding??.1);O=[F,K,de]}return{rfId:"1",width:s??0,height:c??0,transform:O,nodes:A,nodesInitialized:B,nodeLookup:S,parentLookup:N,edges:j,edgeLookup:D,connectionLookup:_,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:l!==void 0,hasDefaultEdges:o!==void 0,panZoom:null,minZoom:y,maxZoom:p,translateExtent:Ho,nodeExtent:w,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:fi.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:E,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:d??!1,fitViewOptions:m,fitViewResolver:null,connection:{...ex},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:IT,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:Wv,zIndexMode:x,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},bj=({nodes:t,edges:a,defaultNodes:l,defaultEdges:o,width:s,height:c,fitView:d,fitViewOptions:m,minZoom:y,maxZoom:p,nodeOrigin:g,nodeExtent:v,zIndexMode:x})=>BM((S,N)=>{async function _(){const{nodeLookup:D,panZoom:j,fitViewOptions:A,fitViewResolver:E,width:w,height:B,minZoom:O,maxZoom:k}=N();j&&(await DT({nodes:D,width:w,height:B,panZoom:j,minZoom:O,maxZoom:k},A),E?.resolve(!0),S({fitViewResolver:null}))}return{...L0({nodes:t,edges:a,width:s,height:c,fitView:d,fitViewOptions:m,minZoom:y,maxZoom:p,nodeOrigin:g,nodeExtent:v,defaultNodes:l,defaultEdges:o,zIndexMode:x}),setNodes:D=>{const{nodeLookup:j,parentLookup:A,nodeOrigin:E,elevateNodesOnSelect:w,fitViewQueued:B,zIndexMode:O,nodesSelectionActive:k}=N(),{nodesInitialized:F,hasSelectedNodes:K}=Df(D,j,A,{nodeOrigin:E,nodeExtent:v,elevateNodesOnSelect:w,checkEquality:!0,zIndexMode:O}),de=k&&K;B&&F?(_(),S({nodes:D,nodesInitialized:F,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:de})):S({nodes:D,nodesInitialized:F,nodesSelectionActive:de})},setEdges:D=>{const{connectionLookup:j,edgeLookup:A}=N();vx(j,A,D),S({edges:D})},setDefaultNodesAndEdges:(D,j)=>{if(D){const{setNodes:A}=N();A(D),S({hasDefaultNodes:!0})}if(j){const{setEdges:A}=N();A(j),S({hasDefaultEdges:!0})}},updateNodeInternals:D=>{const{triggerNodeChanges:j,nodeLookup:A,parentLookup:E,domNode:w,nodeOrigin:B,nodeExtent:O,debug:k,fitViewQueued:F,zIndexMode:K}=N(),{changes:de,updatedInternals:X}=aM(D,A,E,w,B,O,K);X&&(WT(A,E,{nodeOrigin:B,nodeExtent:O,zIndexMode:K}),F?(_(),S({fitViewQueued:!1,fitViewOptions:void 0})):S({}),de?.length>0&&(k&&console.log("React Flow: trigger node changes",de),j?.(de)))},updateNodePositions:(D,j=!1)=>{const A=[];let E=[];const{nodeLookup:w,triggerNodeChanges:B,connection:O,updateConnection:k,onNodesChangeMiddlewareMap:F}=N();for(const[K,de]of D){const X=w.get(K),te=!!(X?.expandParent&&X?.parentId&&de?.position),se={id:K,type:"position",position:te?{x:Math.max(0,de.position.x),y:Math.max(0,de.position.y)}:de.position,dragging:j};if(X&&O.inProgress&&O.fromNode.id===X.id){const z=mi(X,O.fromHandle,ge.Left,!0);k({...O,from:z})}te&&X.parentId&&A.push({id:K,parentId:X.parentId,rect:{...de.internals.positionAbsolute,width:de.measured.width??0,height:de.measured.height??0}}),E.push(se)}if(A.length>0){const{parentLookup:K,nodeOrigin:de}=N(),X=oh(A,w,K,de);E.push(...X)}for(const K of F.values())E=K(E);B(E)},triggerNodeChanges:D=>{const{onNodesChange:j,setNodes:A,nodes:E,hasDefaultNodes:w,debug:B}=N();if(D?.length){if(w){const O=Dx(D,E);A(O)}B&&console.log("React Flow: trigger node changes",D),j?.(D)}},triggerEdgeChanges:D=>{const{onEdgesChange:j,setEdges:A,edges:E,hasDefaultEdges:w,debug:B}=N();if(D?.length){if(w){const O=Ox(D,E);A(O)}B&&console.log("React Flow: trigger edge changes",D),j?.(D)}},addSelectedNodes:D=>{const{multiSelectionActive:j,edgeLookup:A,nodeLookup:E,triggerNodeChanges:w,triggerEdgeChanges:B}=N();if(j){const O=D.map(k=>ni(k,!0));w(O);return}w(fl(E,new Set([...D]),!0)),B(fl(A))},addSelectedEdges:D=>{const{multiSelectionActive:j,edgeLookup:A,nodeLookup:E,triggerNodeChanges:w,triggerEdgeChanges:B}=N();if(j){const O=D.map(k=>ni(k,!0));B(O);return}B(fl(A,new Set([...D]))),w(fl(E,new Set,!0))},unselectNodesAndEdges:({nodes:D,edges:j}={})=>{const{edges:A,nodes:E,nodeLookup:w,triggerNodeChanges:B,triggerEdgeChanges:O}=N(),k=D||E,F=j||A,K=[];for(const X of k){if(!X.selected)continue;const te=w.get(X.id);te&&(te.selected=!1),K.push(ni(X.id,!1))}const de=[];for(const X of F)X.selected&&de.push(ni(X.id,!1));B(K),O(de)},setMinZoom:D=>{const{panZoom:j,maxZoom:A}=N();j?.setScaleExtent([D,A]),S({minZoom:D})},setMaxZoom:D=>{const{panZoom:j,minZoom:A}=N();j?.setScaleExtent([A,D]),S({maxZoom:D})},setTranslateExtent:D=>{N().panZoom?.setTranslateExtent(D),S({translateExtent:D})},resetSelectedElements:()=>{const{edges:D,nodes:j,triggerNodeChanges:A,triggerEdgeChanges:E,elementsSelectable:w}=N();if(!w)return;const B=j.reduce((k,F)=>F.selected?[...k,ni(F.id,!1)]:k,[]),O=D.reduce((k,F)=>F.selected?[...k,ni(F.id,!1)]:k,[]);A(B),E(O)},setNodeExtent:D=>{const{nodes:j,nodeLookup:A,parentLookup:E,nodeOrigin:w,elevateNodesOnSelect:B,nodeExtent:O,zIndexMode:k}=N();D[0][0]===O[0][0]&&D[0][1]===O[0][1]&&D[1][0]===O[1][0]&&D[1][1]===O[1][1]||(Df(j,A,E,{nodeOrigin:w,nodeExtent:D,elevateNodesOnSelect:B,checkEquality:!1,zIndexMode:k}),S({nodeExtent:D}))},panBy:D=>{const{transform:j,width:A,height:E,panZoom:w,translateExtent:B}=N();return iM({delta:D,panZoom:w,transform:j,translateExtent:B,width:A,height:E})},setCenter:async(D,j,A)=>{const{width:E,height:w,maxZoom:B,panZoom:O}=N();if(!O)return Promise.resolve(!1);const k=typeof A?.zoom<"u"?A.zoom:B;return await O.setViewport({x:E/2-D*k,y:w/2-j*k,zoom:k},{duration:A?.duration,ease:A?.ease,interpolate:A?.interpolate}),Promise.resolve(!0)},cancelConnection:()=>{S({connection:{...ex}})},updateConnection:D=>{S({connection:D})},reset:()=>S({...L0()})}},Object.is);function lb({initialNodes:t,initialEdges:a,defaultNodes:l,defaultEdges:o,initialWidth:s,initialHeight:c,initialMinZoom:d,initialMaxZoom:m,initialFitViewOptions:y,fitView:p,nodeOrigin:g,nodeExtent:v,zIndexMode:x,children:S}){const[N]=L.useState(()=>bj({nodes:t,edges:a,defaultNodes:l,defaultEdges:o,width:s,height:c,fitView:p,minZoom:d,maxZoom:m,fitViewOptions:y,nodeOrigin:g,nodeExtent:v,zIndexMode:x}));return f.jsx(qM,{value:N,children:f.jsx(sA,{children:S})})}function Sj({children:t,nodes:a,edges:l,defaultNodes:o,defaultEdges:s,width:c,height:d,fitView:m,fitViewOptions:y,minZoom:p,maxZoom:g,nodeOrigin:v,nodeExtent:x,zIndexMode:S}){return L.useContext(mc)?f.jsx(f.Fragment,{children:t}):f.jsx(lb,{initialNodes:a,initialEdges:l,defaultNodes:o,defaultEdges:s,initialWidth:c,initialHeight:d,fitView:m,initialFitViewOptions:y,initialMinZoom:p,initialMaxZoom:g,nodeOrigin:v,nodeExtent:x,zIndexMode:S,children:t})}const wj={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function Nj({nodes:t,edges:a,defaultNodes:l,defaultEdges:o,className:s,nodeTypes:c,edgeTypes:d,onNodeClick:m,onEdgeClick:y,onInit:p,onMove:g,onMoveStart:v,onMoveEnd:x,onConnect:S,onConnectStart:N,onConnectEnd:_,onClickConnectStart:D,onClickConnectEnd:j,onNodeMouseEnter:A,onNodeMouseMove:E,onNodeMouseLeave:w,onNodeContextMenu:B,onNodeDoubleClick:O,onNodeDragStart:k,onNodeDrag:F,onNodeDragStop:K,onNodesDelete:de,onEdgesDelete:X,onDelete:te,onSelectionChange:se,onSelectionDragStart:z,onSelectionDrag:M,onSelectionDragStop:T,onSelectionContextMenu:I,onSelectionStart:U,onSelectionEnd:Z,onBeforeDelete:ae,connectionMode:R,connectionLineType:q=Ca.Bezier,connectionLineStyle:V,connectionLineComponent:W,connectionLineContainerStyle:fe,deleteKeyCode:$="Backspace",selectionKeyCode:le="Shift",selectionOnDrag:ce=!1,selectionMode:ue=ko.Full,panActivationKeyCode:be="Space",multiSelectionKeyCode:ve=qo()?"Meta":"Control",zoomActivationKeyCode:xe=qo()?"Meta":"Control",snapToGrid:_e,snapGrid:je,onlyRenderVisibleElements:Ue=!1,selectNodesOnDrag:ke,nodesDraggable:ut,autoPanOnNodeFocus:Zt,nodesConnectable:zt,nodesFocusable:Kt,nodeOrigin:xn=zx,edgesFocusable:ja,edgesReconnectable:za,elementsSelectable:ft=!0,defaultViewport:gi=WM,minZoom:bn=.5,maxZoom:Fn=2,translateExtent:Ra=Ho,preventScrolling:vc=!0,nodeExtent:yi,defaultMarkerColor:xc="#b1b1b7",zoomOnScroll:bc=!0,zoomOnPinch:Da=!0,panOnScroll:xt=!1,panOnScrollSpeed:sn=.5,panOnScrollMode:bt=si.Free,zoomOnDoubleClick:Sc=!0,panOnDrag:wc=!0,onPaneClick:Nc,onPaneMouseEnter:vi,onPaneMouseMove:xi,onPaneMouseLeave:bi,onPaneScroll:Sn,onPaneContextMenu:Si,paneClickDistance:Oa=1,nodeClickDistance:_c=0,children:Ko,onReconnect:Nl,onReconnectStart:Ia,onReconnectEnd:Ec,onEdgeContextMenu:Qo,onEdgeDoubleClick:Jo,onEdgeMouseEnter:Wo,onEdgeMouseMove:_l,onEdgeMouseLeave:El,reconnectRadius:er=10,onNodesChange:tr,onEdgesChange:cn,noDragClassName:st="nodrag",noWheelClassName:yt="nowheel",noPanClassName:wn="nopan",fitView:wi,fitViewOptions:nr,connectOnClick:Cc,attributionPosition:ar,proOptions:La,defaultEdgeOptions:Cl,elevateNodesOnSelect:Xn=!0,elevateEdgesOnSelect:Zn=!1,disableKeyboardA11y:Kn=!1,autoPanOnConnect:Qn,autoPanOnNodeDrag:nt,autoPanSpeed:ir,connectionRadius:lr,isValidConnection:Nn,onError:Jn,style:Tc,id:Tl,nodeDragThreshold:or,connectionDragThreshold:Mc,viewport:Ni,onViewportChange:_i,width:Qt,height:wt,colorMode:rr="light",debug:Ac,onScroll:Ei,ariaLabelConfig:sr,zIndexMode:Ha="basic",...jc},Nt){const ka=Tl||"1",cr=aA(rr),Ml=L.useCallback(_n=>{_n.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),Ei?.(_n)},[Ei]);return f.jsx("div",{"data-testid":"rf__wrapper",...jc,onScroll:Ml,style:{...Tc,...wj},ref:Nt,className:rt(["react-flow",s,cr]),id:Tl,role:"application",children:f.jsxs(Sj,{nodes:t,edges:a,width:Qt,height:wt,fitView:wi,fitViewOptions:nr,minZoom:bn,maxZoom:Fn,nodeOrigin:xn,nodeExtent:yi,zIndexMode:Ha,children:[f.jsx(nA,{nodes:t,edges:a,defaultNodes:l,defaultEdges:o,onConnect:S,onConnectStart:N,onConnectEnd:_,onClickConnectStart:D,onClickConnectEnd:j,nodesDraggable:ut,autoPanOnNodeFocus:Zt,nodesConnectable:zt,nodesFocusable:Kt,edgesFocusable:ja,edgesReconnectable:za,elementsSelectable:ft,elevateNodesOnSelect:Xn,elevateEdgesOnSelect:Zn,minZoom:bn,maxZoom:Fn,nodeExtent:yi,onNodesChange:tr,onEdgesChange:cn,snapToGrid:_e,snapGrid:je,connectionMode:R,translateExtent:Ra,connectOnClick:Cc,defaultEdgeOptions:Cl,fitView:wi,fitViewOptions:nr,onNodesDelete:de,onEdgesDelete:X,onDelete:te,onNodeDragStart:k,onNodeDrag:F,onNodeDragStop:K,onSelectionDrag:M,onSelectionDragStart:z,onSelectionDragStop:T,onMove:g,onMoveStart:v,onMoveEnd:x,noPanClassName:wn,nodeOrigin:xn,rfId:ka,autoPanOnConnect:Qn,autoPanOnNodeDrag:nt,autoPanSpeed:ir,onError:Jn,connectionRadius:lr,isValidConnection:Nn,selectNodesOnDrag:ke,nodeDragThreshold:or,connectionDragThreshold:Mc,onBeforeDelete:ae,debug:Ac,ariaLabelConfig:sr,zIndexMode:Ha}),f.jsx(xj,{onInit:p,onNodeClick:m,onEdgeClick:y,onNodeMouseEnter:A,onNodeMouseMove:E,onNodeMouseLeave:w,onNodeContextMenu:B,onNodeDoubleClick:O,nodeTypes:c,edgeTypes:d,connectionLineType:q,connectionLineStyle:V,connectionLineComponent:W,connectionLineContainerStyle:fe,selectionKeyCode:le,selectionOnDrag:ce,selectionMode:ue,deleteKeyCode:$,multiSelectionKeyCode:ve,panActivationKeyCode:be,zoomActivationKeyCode:xe,onlyRenderVisibleElements:Ue,defaultViewport:gi,translateExtent:Ra,minZoom:bn,maxZoom:Fn,preventScrolling:vc,zoomOnScroll:bc,zoomOnPinch:Da,zoomOnDoubleClick:Sc,panOnScroll:xt,panOnScrollSpeed:sn,panOnScrollMode:bt,panOnDrag:wc,onPaneClick:Nc,onPaneMouseEnter:vi,onPaneMouseMove:xi,onPaneMouseLeave:bi,onPaneScroll:Sn,onPaneContextMenu:Si,paneClickDistance:Oa,nodeClickDistance:_c,onSelectionContextMenu:I,onSelectionStart:U,onSelectionEnd:Z,onReconnect:Nl,onReconnectStart:Ia,onReconnectEnd:Ec,onEdgeContextMenu:Qo,onEdgeDoubleClick:Jo,onEdgeMouseEnter:Wo,onEdgeMouseMove:_l,onEdgeMouseLeave:El,reconnectRadius:er,defaultMarkerColor:xc,noDragClassName:st,noWheelClassName:yt,noPanClassName:wn,rfId:ka,disableKeyboardA11y:Kn,nodeExtent:yi,viewport:Ni,onViewportChange:_i}),f.jsx(JM,{onSelectionChange:se}),Ko,f.jsx(FM,{proOptions:La,position:ar}),f.jsx($M,{rfId:ka,disableKeyboardA11y:Kn})]})})}var _j=Ix(Nj);function Ej({dimensions:t,lineWidth:a,variant:l,className:o}){return f.jsx("path",{strokeWidth:a,d:`M${t[0]/2} 0 V${t[1]} M0 ${t[1]/2} H${t[0]}`,className:rt(["react-flow__background-pattern",l,o])})}function Cj({radius:t,className:a}){return f.jsx("circle",{cx:t,cy:t,r:t,className:rt(["react-flow__background-pattern","dots",a])})}var Ma;(function(t){t.Lines="lines",t.Dots="dots",t.Cross="cross"})(Ma||(Ma={}));const Tj={[Ma.Dots]:1,[Ma.Lines]:1,[Ma.Cross]:6},Mj=t=>({transform:t.transform,patternId:`pattern-${t.rfId}`});function ob({id:t,variant:a=Ma.Dots,gap:l=20,size:o,lineWidth:s=1,offset:c=0,color:d,bgColor:m,style:y,className:p,patternClassName:g}){const v=L.useRef(null),{transform:x,patternId:S}=Oe(Mj,Ze),N=o||Tj[a],_=a===Ma.Dots,D=a===Ma.Cross,j=Array.isArray(l)?l:[l,l],A=[j[0]*x[2]||1,j[1]*x[2]||1],E=N*x[2],w=Array.isArray(c)?c:[c,c],B=D?[E,E]:A,O=[w[0]*x[2]||1+B[0]/2,w[1]*x[2]||1+B[1]/2],k=`${S}${t||""}`;return f.jsxs("svg",{className:rt(["react-flow__background",p]),style:{...y,...gc,"--xy-background-color-props":m,"--xy-background-pattern-color-props":d},ref:v,"data-testid":"rf__background",children:[f.jsx("pattern",{id:k,x:x[0]%A[0],y:x[1]%A[1],width:A[0],height:A[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${O[0]},-${O[1]})`,children:_?f.jsx(Cj,{radius:E/2,className:g}):f.jsx(Ej,{dimensions:B,lineWidth:s,variant:a,className:g})}),f.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${k})`})]})}ob.displayName="Background";const Aj=L.memo(ob);function jj(){return f.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:f.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function zj(){return f.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:f.jsx("path",{d:"M0 0h32v4.2H0z"})})}function Rj(){return f.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:f.jsx("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function Dj(){return f.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:f.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function Oj(){return f.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:f.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function Rs({children:t,className:a,...l}){return f.jsx("button",{type:"button",className:rt(["react-flow__controls-button",a]),...l,children:t})}const Ij=t=>({isInteractive:t.nodesDraggable||t.nodesConnectable||t.elementsSelectable,minZoomReached:t.transform[2]<=t.minZoom,maxZoomReached:t.transform[2]>=t.maxZoom,ariaLabelConfig:t.ariaLabelConfig});function rb({style:t,showZoom:a=!0,showFitView:l=!0,showInteractive:o=!0,fitViewOptions:s,onZoomIn:c,onZoomOut:d,onFitView:m,onInteractiveChange:y,className:p,children:g,position:v="bottom-left",orientation:x="vertical","aria-label":S}){const N=Ke(),{isInteractive:_,minZoomReached:D,maxZoomReached:j,ariaLabelConfig:A}=Oe(Ij,Ze),{zoomIn:E,zoomOut:w,fitView:B}=pc(),O=()=>{E(),c?.()},k=()=>{w(),d?.()},F=()=>{B(s),m?.()},K=()=>{N.setState({nodesDraggable:!_,nodesConnectable:!_,elementsSelectable:!_}),y?.(!_)},de=x==="horizontal"?"horizontal":"vertical";return f.jsxs(Zo,{className:rt(["react-flow__controls",de,p]),position:v,style:t,"data-testid":"rf__controls","aria-label":S??A["controls.ariaLabel"],children:[a&&f.jsxs(f.Fragment,{children:[f.jsx(Rs,{onClick:O,className:"react-flow__controls-zoomin",title:A["controls.zoomIn.ariaLabel"],"aria-label":A["controls.zoomIn.ariaLabel"],disabled:j,children:f.jsx(jj,{})}),f.jsx(Rs,{onClick:k,className:"react-flow__controls-zoomout",title:A["controls.zoomOut.ariaLabel"],"aria-label":A["controls.zoomOut.ariaLabel"],disabled:D,children:f.jsx(zj,{})})]}),l&&f.jsx(Rs,{className:"react-flow__controls-fitview",onClick:F,title:A["controls.fitView.ariaLabel"],"aria-label":A["controls.fitView.ariaLabel"],children:f.jsx(Rj,{})}),o&&f.jsx(Rs,{className:"react-flow__controls-interactive",onClick:K,title:A["controls.interactive.ariaLabel"],"aria-label":A["controls.interactive.ariaLabel"],children:_?f.jsx(Oj,{}):f.jsx(Dj,{})}),g]})}rb.displayName="Controls";const Lj=L.memo(rb);function Hj({id:t,x:a,y:l,width:o,height:s,style:c,color:d,strokeColor:m,strokeWidth:y,className:p,borderRadius:g,shapeRendering:v,selected:x,onClick:S}){const{background:N,backgroundColor:_}=c||{},D=d||N||_;return f.jsx("rect",{className:rt(["react-flow__minimap-node",{selected:x},p]),x:a,y:l,rx:g,ry:g,width:o,height:s,style:{fill:D,stroke:m,strokeWidth:y},shapeRendering:v,onClick:S?j=>S(j,t):void 0})}const kj=L.memo(Hj),Bj=t=>t.nodes.map(a=>a.id),pf=t=>t instanceof Function?t:()=>t;function qj({nodeStrokeColor:t,nodeColor:a,nodeClassName:l="",nodeBorderRadius:o=5,nodeStrokeWidth:s,nodeComponent:c=kj,onClick:d}){const m=Oe(Bj,Ze),y=pf(a),p=pf(t),g=pf(l),v=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return f.jsx(f.Fragment,{children:m.map(x=>f.jsx(Gj,{id:x,nodeColorFunc:y,nodeStrokeColorFunc:p,nodeClassNameFunc:g,nodeBorderRadius:o,nodeStrokeWidth:s,NodeComponent:c,onClick:d,shapeRendering:v},x))})}function Uj({id:t,nodeColorFunc:a,nodeStrokeColorFunc:l,nodeClassNameFunc:o,nodeBorderRadius:s,nodeStrokeWidth:c,shapeRendering:d,NodeComponent:m,onClick:y}){const{node:p,x:g,y:v,width:x,height:S}=Oe(N=>{const _=N.nodeLookup.get(t);if(!_)return{node:void 0,x:0,y:0,width:0,height:0};const D=_.internals.userNode,{x:j,y:A}=_.internals.positionAbsolute,{width:E,height:w}=$n(D);return{node:D,x:j,y:A,width:E,height:w}},Ze);return!p||p.hidden||!rx(p)?null:f.jsx(m,{x:g,y:v,width:x,height:S,style:p.style,selected:!!p.selected,className:o(p),color:a(p),borderRadius:s,strokeColor:l(p),strokeWidth:c,shapeRendering:d,onClick:y,id:p.id})}const Gj=L.memo(Uj);var Vj=L.memo(qj);const Yj=200,Pj=150,$j=t=>!t.hidden,Fj=t=>{const a={x:-t.transform[0]/t.transform[2],y:-t.transform[1]/t.transform[2],width:t.width/t.transform[2],height:t.height/t.transform[2]};return{viewBB:a,boundingRect:t.nodeLookup.size>0?ox($o(t.nodeLookup,{filter:$j}),a):a,rfId:t.rfId,panZoom:t.panZoom,translateExtent:t.translateExtent,flowWidth:t.width,flowHeight:t.height,ariaLabelConfig:t.ariaLabelConfig}},Xj="react-flow__minimap-desc";function sb({style:t,className:a,nodeStrokeColor:l,nodeColor:o,nodeClassName:s="",nodeBorderRadius:c=5,nodeStrokeWidth:d,nodeComponent:m,bgColor:y,maskColor:p,maskStrokeColor:g,maskStrokeWidth:v,position:x="bottom-right",onClick:S,onNodeClick:N,pannable:_=!1,zoomable:D=!1,ariaLabel:j,inversePan:A,zoomStep:E=1,offsetScale:w=5}){const B=Ke(),O=L.useRef(null),{boundingRect:k,viewBB:F,rfId:K,panZoom:de,translateExtent:X,flowWidth:te,flowHeight:se,ariaLabelConfig:z}=Oe(Fj,Ze),M=t?.width??Yj,T=t?.height??Pj,I=k.width/M,U=k.height/T,Z=Math.max(I,U),ae=Z*M,R=Z*T,q=w*Z,V=k.x-(ae-k.width)/2-q,W=k.y-(R-k.height)/2-q,fe=ae+q*2,$=R+q*2,le=`${Xj}-${K}`,ce=L.useRef(0),ue=L.useRef();ce.current=Z,L.useEffect(()=>{if(O.current&&de)return ue.current=hM({domNode:O.current,panZoom:de,getTransform:()=>B.getState().transform,getViewScale:()=>ce.current}),()=>{ue.current?.destroy()}},[de]),L.useEffect(()=>{ue.current?.update({translateExtent:X,width:te,height:se,inversePan:A,pannable:_,zoomStep:E,zoomable:D})},[_,D,A,E,X,te,se]);const be=S?_e=>{const[je,Ue]=ue.current?.pointer(_e)||[0,0];S(_e,{x:je,y:Ue})}:void 0,ve=N?L.useCallback((_e,je)=>{const Ue=B.getState().nodeLookup.get(je).internals.userNode;N(_e,Ue)},[]):void 0,xe=j??z["minimap.ariaLabel"];return f.jsx(Zo,{position:x,style:{...t,"--xy-minimap-background-color-props":typeof y=="string"?y:void 0,"--xy-minimap-mask-background-color-props":typeof p=="string"?p:void 0,"--xy-minimap-mask-stroke-color-props":typeof g=="string"?g:void 0,"--xy-minimap-mask-stroke-width-props":typeof v=="number"?v*Z:void 0,"--xy-minimap-node-background-color-props":typeof o=="string"?o:void 0,"--xy-minimap-node-stroke-color-props":typeof l=="string"?l:void 0,"--xy-minimap-node-stroke-width-props":typeof d=="number"?d:void 0},className:rt(["react-flow__minimap",a]),"data-testid":"rf__minimap",children:f.jsxs("svg",{width:M,height:T,viewBox:`${V} ${W} ${fe} ${$}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":le,ref:O,onClick:be,children:[xe&&f.jsx("title",{id:le,children:xe}),f.jsx(Vj,{onClick:ve,nodeColor:o,nodeStrokeColor:l,nodeBorderRadius:c,nodeClassName:s,nodeStrokeWidth:d,nodeComponent:m}),f.jsx("path",{className:"react-flow__minimap-mask",d:`M${V-q},${W-q}h${fe+q*2}v${$+q*2}h${-fe-q*2}z
29
+ M${F.x},${F.y}h${F.width}v${F.height}h${-F.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}sb.displayName="MiniMap";const Zj=L.memo(sb),Kj=t=>a=>t?`${Math.max(1/a.transform[2],1)}`:void 0,Qj={[Sl.Line]:"right",[Sl.Handle]:"bottom-right"};function Jj({nodeId:t,position:a,variant:l=Sl.Handle,className:o,style:s=void 0,children:c,color:d,minWidth:m=10,minHeight:y=10,maxWidth:p=Number.MAX_VALUE,maxHeight:g=Number.MAX_VALUE,keepAspectRatio:v=!1,resizeDirection:x,autoScale:S=!0,shouldResize:N,onResizeStart:_,onResize:D,onResizeEnd:j}){const A=Bx(),E=typeof t=="string"?t:A,w=Ke(),B=L.useRef(null),O=l===Sl.Handle,k=Oe(L.useCallback(Kj(O&&S),[O,S]),Ze),F=L.useRef(null),K=a??Qj[l];L.useEffect(()=>{if(!(!B.current||!E))return F.current||(F.current=TM({domNode:B.current,nodeId:E,getStoreItems:()=>{const{nodeLookup:X,transform:te,snapGrid:se,snapToGrid:z,nodeOrigin:M,domNode:T}=w.getState();return{nodeLookup:X,transform:te,snapGrid:se,snapToGrid:z,nodeOrigin:M,paneDomNode:T}},onChange:(X,te)=>{const{triggerNodeChanges:se,nodeLookup:z,parentLookup:M,nodeOrigin:T}=w.getState(),I=[],U={x:X.x,y:X.y},Z=z.get(E);if(Z&&Z.expandParent&&Z.parentId){const ae=Z.origin??T,R=X.width??Z.measured.width??0,q=X.height??Z.measured.height??0,V={id:Z.id,parentId:Z.parentId,rect:{width:R,height:q,...sx({x:X.x??Z.position.x,y:X.y??Z.position.y},{width:R,height:q},Z.parentId,z,ae)}},W=oh([V],z,M,T);I.push(...W),U.x=X.x?Math.max(ae[0]*R,X.x):void 0,U.y=X.y?Math.max(ae[1]*q,X.y):void 0}if(U.x!==void 0&&U.y!==void 0){const ae={id:E,type:"position",position:{...U}};I.push(ae)}if(X.width!==void 0&&X.height!==void 0){const R={id:E,type:"dimensions",resizing:!0,setAttributes:x?x==="horizontal"?"width":"height":!0,dimensions:{width:X.width,height:X.height}};I.push(R)}for(const ae of te){const R={...ae,type:"position"};I.push(R)}se(I)},onEnd:({width:X,height:te})=>{const se={id:E,type:"dimensions",resizing:!1,dimensions:{width:X,height:te}};w.getState().triggerNodeChanges([se])}})),F.current.update({controlPosition:K,boundaries:{minWidth:m,minHeight:y,maxWidth:p,maxHeight:g},keepAspectRatio:v,resizeDirection:x,onResizeStart:_,onResize:D,onResizeEnd:j,shouldResize:N}),()=>{F.current?.destroy()}},[K,m,y,p,g,v,_,D,j,N]);const de=K.split("-");return f.jsx("div",{className:rt(["react-flow__resize-control","nodrag",...de,l,o]),ref:B,style:{...s,scale:k,...d&&{[O?"backgroundColor":"borderColor"]:d}},children:c})}L.memo(Jj);const gf=5,Ps=240,Wj=180,ez=420,H0=[{id:"top",position:ge.Top},{id:"right",position:ge.Right},{id:"bottom",position:ge.Bottom},{id:"left",position:ge.Left}];function tz(t){const a=/^(\d+)x(\d+)$/.exec(t??"");if(!a)return Ps;const l=Number(a[1]),o=Number(a[2]);if(!Number.isFinite(l)||!Number.isFinite(o)||l<=0||o<=0)return Ps;const s=Ps*(l/o);return Math.round(Math.min(ez,Math.max(Wj,s)))}function nz({id:t,data:a,selected:l}){const{t:o}=Ne(),s=a,c=Y(V=>V.updateNodePrompt),d=Y(V=>V.addNodeReferences),m=Y(V=>V.readDroppedImageMetadata),y=Y(V=>V.removeNodeReference),p=Y(V=>V.generateNode),g=Y(V=>V.generateNodeInPlace),v=Y(V=>V.generateNodeVariation),x=Y(V=>V.addChildNode),S=Y(V=>V.duplicateBranchRoot),N=Y(V=>V.deleteNode),_=L.useRef(null),[D,j]=L.useState(!1),[A,E]=L.useState(!1),w=s.referenceImages??[],B=s.status==="pending"||s.status==="reconciling",O=!B&&w.length<gf,k={"--node-preview-w":`${tz(s.size)}px`,"--node-preview-h":`${Ps}px`},F=L.useCallback(V=>c(t,V.target.value),[t,c]),K=L.useCallback(()=>{p(t)},[t,p]),de=L.useCallback(()=>{g(t)},[t,g]),X=L.useCallback(()=>{v(t)},[t,v]),te=L.useCallback(()=>{s.status==="ready"&&x(t)},[t,s.status,x]),se=L.useCallback(()=>{S(t)},[t,S]),z=L.useCallback(()=>N(t),[t,N]),M=V=>{if(!V)return[];const W=[];for(const fe of Array.from(V)){if(fe.kind!=="file"||!fe.type.startsWith("image/"))continue;const $=fe.getAsFile();$&&W.push($)}return W},T=async V=>{V.length!==0&&(V.length===1&&await m(V[0],t)||await d(t,V))},I=async V=>{V.preventDefault(),V.stopPropagation(),j(!1);const W=Array.from(V.dataTransfer.files).filter(fe=>fe.type.startsWith("image/"));W.length===1&&await m(W[0],t)||O&&W.length>0&&d(t,W)},U=V=>{V.preventDefault(),V.stopPropagation(),O&&!D&&j(!0)},Z=V=>{V.currentTarget.contains(V.relatedTarget)||j(!1)},ae=V=>{const W=M(V.clipboardData?.items??null);if(W.length===0||(V.preventDefault(),V.stopPropagation(),!O))return;const fe=gf-w.length;d(t,W.slice(0,fe))},q=(()=>{switch(s.status){case"empty":return o("node.empty");case"pending":return o("node.pending");case"reconciling":return s.pendingPhase?o("node.reconcilingPhase",{phase:s.pendingPhase}):o("node.reconciling");case"ready":return[s.webSearchCalls?o("node.readyWithSearch",{elapsed:s.elapsed??"?",searches:s.webSearchCalls}):o("node.ready",{elapsed:s.elapsed??"?"}),nv(s.model)].filter(Boolean).join(" · ");case"stale":return s.error?o("node.staleWithError",{error:s.error}):o("node.stale");case"asset-missing":return s.error?o("node.assetMissingWithError",{error:s.error}):o("node.assetMissing");case"error":return o("node.error",{error:s.error??o("node.errorUnknown")});default:return""}})();return f.jsxs("div",{className:`image-node image-node--${s.status}${l?" image-node--selected":""}`,style:k,children:[H0.map(({id:V,position:W})=>f.jsx(wl,{type:"target",id:`target-${V}`,position:W,className:`image-node__handle image-node__handle--target image-node__handle--${V}`},`target-${V}`)),f.jsx("div",{className:"image-node__preview",children:s.imageUrl&&s.status!=="asset-missing"?f.jsx("img",{src:s.imageUrl,alt:o("node.nodeImageAlt")}):B&&s.partialImageUrl?f.jsx("img",{className:"image-node__partial",src:s.partialImageUrl,alt:o("node.partialImageAlt")}):B?f.jsx("div",{className:"image-node__skeleton"}):s.status==="asset-missing"?f.jsx("div",{className:"image-node__placeholder",children:o("node.noAsset")}):s.status==="stale"?f.jsx("div",{className:"image-node__placeholder",children:o("node.stateStale")}):f.jsx("div",{className:"image-node__placeholder",children:o("node.noImage")})}),f.jsxs("div",{className:`image-node__composer nodrag${D?" is-dragging":""}`,onDrop:I,onDragOver:U,onDragLeave:Z,onPaste:ae,children:[w.length>0?f.jsx("div",{className:"image-node__refs",children:w.map((V,W)=>f.jsxs("div",{className:"image-node__ref-chip",title:o("node.refAlt",{n:W+1}),children:[f.jsx("img",{src:V,alt:o("node.refAlt",{n:W+1})}),f.jsx("button",{type:"button",className:"image-node__ref-remove",onClick:()=>y(t,W),disabled:B,"aria-label":o("node.removeRef",{n:W+1}),children:"×"})]},W))}):null,f.jsx("textarea",{className:"image-node__prompt",value:s.prompt,onChange:F,onKeyDown:V=>V.stopPropagation(),placeholder:s.parentServerNodeId?o("node.editPromptPlaceholder"):o("node.promptPlaceholder"),rows:2,disabled:B}),f.jsxs("div",{className:"image-node__composer-bar",children:[f.jsx("button",{type:"button",className:"image-node__attach",onClick:()=>O&&_.current?.click(),disabled:!O,title:s.parentServerNodeId?o("node.nodeRefsUsedWithParent"):o("node.attachRefTitle"),children:o("node.attachRef")}),D?f.jsx("span",{className:"image-node__drop-hint",children:o("node.dropRefs")}):w.length>0?f.jsxs("span",{className:"image-node__ref-count",children:[w.length,"/",gf]}):null]}),f.jsx("input",{ref:_,type:"file",accept:"image/*",multiple:!0,hidden:!0,onChange:V=>{const W=Array.from(V.target.files??[]);W.length>0&&T(W),V.target.value=""}})]}),f.jsxs("div",{className:"image-node__footer nodrag",children:[f.jsx("span",{className:"image-node__status",title:q,children:q}),f.jsxs("div",{className:"image-node__actions",children:[f.jsxs("div",{style:{position:"relative"},children:[f.jsx("button",{type:"button",onClick:()=>E(V=>!V),disabled:!s.prompt?.trim(),title:o("promptLibrary.saveTitle"),"aria-label":o("promptLibrary.saveTitle"),children:"☆"}),A&&f.jsx(Yf,{text:s.prompt||"",onClose:()=>E(!1)})]}),s.status==="ready"?f.jsxs(f.Fragment,{children:[f.jsx("button",{type:"button",onClick:de,disabled:B,title:o("node.regenerateTitle"),"aria-label":o("node.regenerateTitle"),children:"↻"}),f.jsx("button",{type:"button",onClick:X,disabled:B,title:o("node.newVariationTitle"),"aria-label":o("node.newVariationTitle"),children:o("node.newVariation")})]}):f.jsx("button",{type:"button",className:"image-node__generate",onClick:K,disabled:B,title:o("node.generateTitle"),"aria-label":o("node.generateTitle"),children:o("node.generate")}),s.status==="ready"?f.jsxs(f.Fragment,{children:[f.jsx("button",{type:"button",onClick:te,title:o("node.addChildTitle"),"aria-label":o("node.addChildTitle"),children:o("node.addChild")}),f.jsx("button",{type:"button",onClick:se,title:o("node.duplicateBranchTitle"),"aria-label":o("node.duplicateBranchTitle"),children:o("node.duplicateBranch")})]}):null,f.jsx("button",{type:"button",onClick:z,className:"image-node__del",title:o("node.deleteTitle"),"aria-label":o("node.deleteTitle"),children:"×"})]})]}),H0.map(({id:V,position:W})=>f.jsx(wl,{type:"source",id:`source-${V}`,position:W,className:`image-node__handle image-node__handle--source image-node__handle--${V}`},`source-${V}`))]})}const az=L.memo(nz);function iz(){const{t}=Ne(),a=Y(A=>A.graphNodes),l=Y(A=>A.graphEdges),o=Y(A=>A.nodeSelectionMode),s=Y(A=>A.nodeBatchRunning),c=Y(A=>A.nodeBatchStopping),d=Y(A=>A.toggleNodeSelectionMode),m=Y(A=>A.selectAllGraphNodes),y=Y(A=>A.clearNodeSelection),p=Y(A=>A.runNodeBatch),g=Y(A=>A.cancelNodeBatch),v=Y(A=>A.disconnectEdges),x=a.filter(A=>A.selected).map(A=>A.id),S=l.filter(A=>A.selected).map(A=>A.id),N=new Set(x),_=a.filter(A=>N.has(A.id)&&!rv(A)).length,D=sv(l,x).length,j=A=>{p(A)};return f.jsxs(Zo,{position:"top-center",className:"node-batch-bar nodrag",children:[f.jsx("button",{type:"button",onClick:d,"aria-pressed":o,children:t(o?"nodeBatch.selectionOn":"nodeBatch.selectionOff")}),f.jsx("button",{type:"button",onClick:m,disabled:a.length===0,children:t("nodeBatch.selectAll")}),S.length>0?f.jsx("button",{type:"button",className:"node-batch-bar__danger",onClick:()=>v(S),title:t("edge.disconnectTitle"),"aria-label":t("edge.disconnectTitle"),children:t("edge.disconnect")}):null,x.length>0?f.jsxs(f.Fragment,{children:[f.jsx("span",{className:"node-batch-bar__meta",children:t("nodeBatch.summary",{selected:x.length,missing:_,stale:D})}),f.jsx("button",{type:"button",onClick:()=>j("missing-only"),disabled:s,children:t("nodeBatch.generateMissing")}),f.jsx("button",{type:"button",onClick:()=>j("regenerate-all"),disabled:s,children:t("nodeBatch.regenerateSelected")}),s?f.jsx("button",{type:"button",onClick:g,disabled:c,children:t(c?"nodeBatch.stopping":"nodeBatch.stopRemaining")}):null,f.jsx("button",{type:"button",onClick:y,disabled:s,children:t("nodeBatch.clear")})]}):null]})}function lz(){const{t}=Ne(),a=Y(O=>O.graphNodes),l=Y(O=>O.graphEdges),o=Y(O=>O.setGraphNodes),s=Y(O=>O.setGraphEdges),c=Y(O=>O.disconnectEdges),d=Y(O=>O.addRootNode),m=Y(O=>O.addChildNodeAt),y=Y(O=>O.connectNodes),p=Y(O=>O.deleteNodes),g=Y(O=>O.nodeSelectionMode),v=Y(O=>O.selectNodeGraph),x=Y(O=>O.sessionLoading),{screenToFlowPosition:S}=pc(),N=L.useRef(null),_=L.useMemo(()=>({imageNode:az}),[]),D=L.useCallback(O=>o(Dx(O,a)),[a,o]),j=L.useCallback(O=>{const k=O.filter(F=>F.type==="remove").map(F=>F.id);if(k.length>0){if(g)return;c(k);return}s(Ox(O,l))},[c,l,g,s]),A=L.useCallback(O=>{O.source&&O.target&&y(O.source,O.target,O.sourceHandle,O.targetHandle)},[y]),E=L.useCallback((O,k)=>{if(k.isValid)return;const F=k.fromNode?.id;if(!F||k.toNode||k.toHandle)return;const K="touches"in O?O.changedTouches[0].clientX:O.clientX,de="touches"in O?O.changedTouches[0].clientY:O.clientY,X=S({x:K,y:de});m(F,X,k.fromHandle?.id??null)},[m,S]),w=L.useCallback(O=>p(O.map(k=>k.id)),[p]),B=L.useCallback((O,k)=>{g&&(O.preventDefault(),v(k.id,O.metaKey||O.ctrlKey))},[g,v]);return f.jsxs("main",{className:"node-canvas",ref:N,children:[x&&f.jsx("div",{className:"node-canvas__loading",children:t("nodeCanvas.loading")}),a.length===0?f.jsx("button",{type:"button",className:"node-canvas__plus",onClick:()=>d(),children:t("nodeCanvas.addFirst")}):f.jsxs(f.Fragment,{children:[f.jsxs(_j,{nodes:a,edges:l,onNodesChange:D,onEdgesChange:j,onConnect:A,onConnectEnd:E,onNodesDelete:w,onNodeClick:B,nodeTypes:_,connectionMode:fi.Loose,connectionRadius:32,selectionOnDrag:g,multiSelectionKeyCode:g?null:void 0,panOnDrag:g?[2]:!0,fitView:!0,deleteKeyCode:g?null:["Delete","Backspace"],proOptions:{hideAttribution:!0},children:[f.jsx(iz,{}),f.jsx(Aj,{gap:24,color:"var(--canvas-grid)"}),f.jsx(Lj,{className:"node-canvas__controls"}),f.jsx(Zj,{pannable:!0,zoomable:!0,maskColor:"var(--minimap-mask)",nodeColor:"var(--minimap-node-fill)",nodeStrokeColor:"var(--minimap-node-stroke)",style:{background:"var(--minimap-bg)",border:"1px solid var(--minimap-border)"}})]}),f.jsx("button",{type:"button",className:"node-canvas__add-root",onClick:()=>d(),title:t("nodeCanvas.addRootTitle"),children:"+"}),f.jsx("div",{className:"node-canvas__hint",children:t("nodeCanvas.hint")})]})]})}function oz(){return f.jsx(lb,{children:f.jsx(lz,{})})}function oi({title:t,help:a,items:l,value:o,onChange:s}){return f.jsxs("div",{className:"option-group",children:[t?f.jsx("div",{className:"section-title",children:t}):null,f.jsx("div",{className:"option-row",children:l.map(c=>f.jsxs("button",{className:`option-btn${c.value===o?" active":""}`,style:c.color?{color:c.color}:void 0,disabled:c.disabled,onClick:()=>s(c.value),type:"button",children:[c.label,c.sub?f.jsxs(f.Fragment,{children:[f.jsx("br",{}),f.jsx("span",{className:"option-sub",children:c.sub})]}):null]},c.value))}),a?f.jsx("p",{className:"option-help",children:a}):null]})}const cb="ima2.customSizeSlots";function rz(t){if(!t||typeof t!="object")return!1;const a=t;return typeof a.id=="string"&&typeof a.w=="number"&&typeof a.h=="number"&&typeof a.updatedAt=="number"}function sz(){try{const t=localStorage.getItem(cb);if(!t)return[];const a=JSON.parse(t);return Array.isArray(a)?hl(a.filter(rz)):[]}catch{return[]}}function cz(t){try{localStorage.setItem(cb,JSON.stringify(hl(t)))}catch{}}function uz(t,a,l){return lc({id:`slot_${Date.now()}_${Math.random().toString(36).slice(2,7)}`,w:t,h:a,ratio:l,updatedAt:Date.now()})}function No(t){return t.map(a=>({value:a.value,label:a.label,sub:a.sub}))}function dz(){const t=Y(M=>M.sizePreset),a=Y(M=>M.setSizePreset),l=Y(M=>M.customW),o=Y(M=>M.customH),s=Y(M=>M.setCustomSize),{t:c}=Ne(),[d,m]=L.useState(String(l)),[y,p]=L.useState(String(o)),[g,v]=L.useState(t==="custom"),[x,S]=L.useState(()=>sz()),[N,_]=L.useState(null),[D,j]=L.useState("free"),A=t==="custom",E=Uf(d,y,l,o),w=GN().filter(M=>M.value==="auto");L.useEffect(()=>{m(String(l)),p(String(o))},[l,o]),L.useEffect(()=>{A||(v(!1),_(null))},[A]);function B(M){S(M),cz(M)}function O(){const M=Aa(d,l),T=Aa(y,o);s(M,T),m(String(M)),p(String(T))}function k(M){M.key==="Enter"&&(M.preventDefault(),O())}function F(){a("custom"),v(!0),_(x.length>=sl?x[0]?.id??null:null)}function K(M){a(M),M!=="custom"&&(v(!1),_(null))}function de(M){a("custom"),s(M.w,M.h),m(String(M.w)),p(String(M.h)),v(!1),_(M.id)}function X(M){j(M.id);const T=IN(M);T&&(m(String(T.w)),p(String(T.h)))}function te(){const M=uz(E.w,E.h,D),T=x.length>=sl&&N?HN(x,N,M):LN(x,M);B(T),a("custom"),s(E.w,E.h),m(String(E.w)),p(String(E.h)),_(M.id),v(!1)}const se=E.reasons.length>0?E.reasons.map(M=>c(`size.adjustedReasons.${M}`)).join(", "):c("size.noAdjustment"),z=E.reasons.includes("maxPixels")&&E.requestedW===E.requestedH&&E.w===E.h?c("size.squareMaxHint",{size:`${dy}×${dy}`}):null;return f.jsxs("div",{className:"option-group size-picker",children:[f.jsx("div",{className:"section-title",children:c("size.title")}),f.jsx(oi,{title:"",items:No(kN),value:t,onChange:K}),f.jsx(oi,{title:"",items:No(BN),value:t,onChange:K}),f.jsx(oi,{title:"",items:No(qN),value:t,onChange:K}),f.jsx(oi,{title:"",items:No(UN),value:t,onChange:K}),f.jsxs("div",{className:"option-row size-picker__quick-row",children:[No(w).map(M=>f.jsxs("button",{type:"button",className:`option-btn${t===M.value?" active":""}`,onClick:()=>K(M.value),children:[M.label,M.sub?f.jsxs(f.Fragment,{children:[f.jsx("br",{}),f.jsx("span",{className:"option-sub",children:M.sub})]}):null]},M.value)),f.jsxs("button",{type:"button",className:`option-btn${A?" active":""}`,onClick:F,children:[c("size.customPlus"),f.jsx("br",{}),f.jsx("span",{className:"option-sub",children:c("size.customSub")})]})]}),x.length>0?f.jsx("div",{className:"option-row size-picker__slot-row",children:x.map(M=>f.jsxs("button",{type:"button",className:`option-btn size-picker__slot${A&&l===M.w&&o===M.h?" active":""}`,onClick:()=>de(M),children:[M.w,"×",M.h,f.jsx("br",{}),f.jsx("span",{className:"option-sub",children:M.ratio||c("size.customSlot")})]},M.id))}):null,g?f.jsxs(f.Fragment,{children:[f.jsx("div",{className:"size-picker__ratio-row",children:DN.map(M=>f.jsx("button",{type:"button",className:`size-picker__ratio${D===M.id?" active":""}`,onClick:()=>X(M),children:M.id==="free"?c("size.ratioFree"):M.label},M.id))}),f.jsxs("div",{className:"option-row",children:[f.jsx("input",{type:"text",inputMode:"numeric",pattern:"[0-9]*",className:"custom-size-input",value:d,onChange:M=>m(M.target.value.replace(/\D/g,"")),onBlur:O,onKeyDown:k,placeholder:c("size.width")}),f.jsx("span",{style:{color:"var(--text-dim)",alignSelf:"center",fontFamily:"var(--mono)",fontSize:12},children:"x"}),f.jsx("input",{type:"text",inputMode:"numeric",pattern:"[0-9]*",className:"custom-size-input",value:y,onChange:M=>p(M.target.value.replace(/\D/g,"")),onBlur:O,onKeyDown:k,placeholder:c("size.height")})]}),f.jsxs("div",{className:"size-picker__preview",children:[f.jsx("span",{children:c("size.normalizedPreview")}),f.jsx("strong",{children:ON(E.w,E.h)})]}),f.jsx("div",{className:"size-picker__preview size-picker__preview--reason",children:se}),z?f.jsx("div",{className:"size-picker__preview size-picker__preview--detail",children:z}):null,x.length>=sl?f.jsxs("div",{className:"size-picker__replace-row",children:[f.jsx("span",{children:c("size.replaceCustomSlot")}),x.map(M=>f.jsxs("button",{type:"button",className:`size-picker__replace${N===M.id?" active":""}`,onClick:()=>_(M.id),children:[M.w,"×",M.h]},M.id))]}):null,f.jsx("button",{type:"button",className:"size-picker__save",onClick:te,children:x.length>=sl?c("size.replaceCustomSlot"):c("size.saveCustomSlot")}),f.jsx("div",{className:"size-hint",children:c("size.hint")})]}):null]})}const yf=[1,2,4];function k0(t){return Math.min(8,Math.max(1,Math.trunc(t||1)))}function fz(){const t=Y(A=>A.count),a=Y(A=>A.setCount),l=Y(A=>A.uiMode),o=Y(A=>A.multimode),s=Y(A=>A.multimodeMaxImages),c=Y(A=>A.setMultimodeMaxImages),{t:d}=Ne(),m=l==="classic"&&o,y=m?s:t,p=m?c:a,[g,v]=L.useState(!yf.includes(y)),[x,S]=L.useState(String(y));L.useEffect(()=>{v(!yf.includes(y)),S(String(y))},[m,y]);function N(A=x){const E=k0(Number.parseInt(A,10));p(E),S(String(E))}function _(A){v(!1),S(String(A)),p(A)}function D(A){const E=k0(y+A);v(!0),S(String(E)),p(E)}function j(A){A.key==="Enter"&&(A.preventDefault(),N())}return f.jsxs("div",{className:"option-group count-picker",children:[f.jsx("div",{className:"section-title",children:d(m?"multimode.maxStages":"count.title")}),f.jsxs("div",{className:"option-row",children:[yf.map(A=>f.jsx("button",{type:"button",className:`option-btn${y===A&&!g?" active":""}`,onClick:()=>_(A),children:A},A)),f.jsx("button",{type:"button",className:`option-btn${g?" active":""}`,onClick:()=>{v(A=>!A),S(String(y))},children:d("count.customPlus")})]}),g?f.jsxs(f.Fragment,{children:[f.jsxs("div",{className:"count-picker__custom",children:[f.jsx("button",{type:"button",className:"count-picker__step",onClick:()=>D(-1),"aria-label":d("count.decrease"),children:"-"}),f.jsx("input",{type:"text",inputMode:"numeric",pattern:"[0-9]*",className:"count-picker__input",value:x,onChange:A=>S(A.target.value.replace(/\D/g,"")),onBlur:()=>N(),onKeyDown:j,"aria-label":d("count.customLabel")}),f.jsx("button",{type:"button",className:"count-picker__step",onClick:()=>D(1),"aria-label":d("count.increase"),children:"+"})]}),f.jsx("p",{className:"option-help",children:y>=5?d(m?"multimode.highCountHint":"count.highCountHint"):d(m?"multimode.minMaxHint":"count.minMaxHint")})]}):null]})}const hz={low:{"1024x1024":.006,"1024x1536":.005,"1536x1024":.005,"1024x1360":.005,"1360x1024":.005,"1024x1824":.006,"1824x1024":.006,"2048x2048":.012,"2048x1152":.009,"1152x2048":.009,"3840x2160":.023,"2160x3840":.023,auto:.006},medium:{"1024x1024":.053,"1024x1536":.041,"1536x1024":.041,"1024x1360":.041,"1360x1024":.041,"1024x1824":.05,"1824x1024":.05,"2048x2048":.106,"2048x1152":.08,"1152x2048":.08,"3840x2160":.2,"2160x3840":.2,auto:.053},high:{"1024x1024":.211,"1024x1536":.165,"1536x1024":.165,"1024x1360":.165,"1360x1024":.165,"1024x1824":.2,"1824x1024":.2,"2048x2048":.422,"2048x1152":.32,"1152x2048":.32,"3840x2160":.8,"2160x3840":.8,auto:.211}};function mz(t,a){return hz[t]?.[a]??0}function pz(){const{t}=Ne(),a=Y(v=>v.provider),l=Y(v=>v.quality),o=Y(v=>v.multimode),s=Y(v=>v.multimodeMaxImages),d=Y(v=>v.getResolvedSize)(),m=a==="oauth",y=mz(l,d),p=m?t("cost.free"):o?t("cost.multimodeApprox",{amount:(y*s).toFixed(3),count:s}):t("cost.approx",{amount:y.toFixed(3)}),g=m?"var(--green)":void 0;return f.jsxs("div",{className:"cost-estimate",children:[f.jsx("span",{children:t("cost.label")}),f.jsx("span",{className:"price",style:g?{color:g}:void 0,children:p})]})}const gz=[{value:"png",label:"PNG"},{value:"jpeg",label:"JPEG"},{value:"webp",label:"WebP"}];function yz(){const t=Y(A=>A.rightPanelOpen),a=Y(A=>A.toggleRightPanel),{t:l}=Ne(),[o,s]=L.useState(typeof window<"u"?window.matchMedia("(max-width: 800px)").matches:!1);L.useEffect(()=>{if(typeof window>"u")return;const A=window.matchMedia("(max-width: 800px)"),E=()=>s(A.matches);return A.addEventListener("change",E),()=>A.removeEventListener("change",E)},[]);const c=o?t:!0,d=Y(A=>A.quality),m=Y(A=>A.setQuality),y=Y(A=>A.format),p=Y(A=>A.setFormat),g=Y(A=>A.moderation),v=Y(A=>A.setModeration),x=Y(A=>A.multimode),S=Y(A=>A.setMultimode),_=Y(A=>A.uiMode)==="classic",D=[{value:"low",label:l("quality.lowLabel"),sub:l("quality.lowSub")},{value:"medium",label:l("quality.mediumLabel"),sub:l("quality.mediumSub")},{value:"high",label:l("quality.highLabel"),sub:l("quality.highSub")}],j=[{value:"auto",label:l("moderation.autoLabel"),sub:l("moderation.autoSub")},{value:"low",label:l("moderation.lowLabel"),sub:l("moderation.lowSub"),color:"var(--amber)"}];return f.jsxs(f.Fragment,{children:[o&&t?f.jsx("div",{className:"right-panel-backdrop",role:"button","aria-label":l("panel.closeSettings"),onClick:a}):null,f.jsxs("aside",{className:`right-panel${t?"":" collapsed"}${o&&c?" drawer-open":""}`,"aria-label":l("panel.detailSettings"),children:[f.jsx("button",{type:"button",className:"right-panel-toggle","aria-expanded":t,"aria-controls":"right-panel-body",onClick:a,title:l(t?"panel.toggleHide":"panel.toggleShow"),children:o?l(t?"panel.close":"panel.open"):t?">":"<"}),f.jsxs("div",{id:"right-panel-body",className:"right-panel-body",hidden:!t,children:[f.jsx("div",{className:"section-title",children:l("panel.detailSettings")}),f.jsx(oi,{title:l("quality.title"),items:D,value:d,onChange:m}),f.jsx(dz,{}),f.jsx(oi,{title:l("format.title"),items:gz,value:y,onChange:p}),f.jsx(oi,{title:l("moderation.title"),items:j,value:g,onChange:v}),f.jsx("p",{className:"option-help",children:l("moderation.explain")}),_&&f.jsx("div",{className:"option-group multimode-toggle",children:f.jsxs("button",{type:"button",className:`multimode-toggle__button${x?" active":""}`,"aria-pressed":x,title:l("multimode.tooltip"),onClick:()=>S(!x),children:[f.jsx("span",{children:l("multimode.label")}),f.jsx("span",{children:l("multimode.shortHint")})]})}),f.jsx(fz,{}),f.jsx(pz,{})]})]})]})}function ub(t){const a=t.currentTarget;if(a.scrollWidth<=a.clientWidth||!(Math.abs(t.deltaY)>Math.abs(t.deltaX)))return;const o=a.scrollLeft<=0,s=a.scrollLeft+a.clientWidth>=a.scrollWidth-1,c=t.deltaY<0,d=t.deltaY>0;c&&o||d&&s||(t.preventDefault(),a.scrollLeft+=t.deltaY)}function B0(t){return t.filename??t.url??t.image}function vz(){const t=Y(m=>m.history),a=Y(m=>m.currentImage),l=Y(m=>m.selectHistory),o=Y(m=>m.openGallery),s=L.useRef({}),{t:c}=Ne(),d=a?B0(a):null;return L.useEffect(()=>{d&&s.current[d]?.scrollIntoView({block:"nearest",inline:"nearest"})},[d,t]),f.jsxs("div",{className:"history-strip",onWheel:ub,children:[f.jsx("button",{type:"button",className:"history-thumb history-thumb--add",onClick:o,"aria-label":c("history.openGalleryAria"),title:c("history.openGalleryTitle"),children:f.jsxs("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[f.jsx("rect",{x:"3",y:"3",width:"7",height:"7",rx:"1"}),f.jsx("rect",{x:"14",y:"3",width:"7",height:"7",rx:"1"}),f.jsx("rect",{x:"3",y:"14",width:"7",height:"7",rx:"1"}),f.jsx("rect",{x:"14",y:"14",width:"7",height:"7",rx:"1"})]})}),t.map((m,y)=>{const p=B0(m),g=d===p;return f.jsx("img",{ref:v=>{s.current[p]=v},src:m.thumb||m.url||m.image,alt:"",className:`history-thumb${g?" active":""}`,onClick:()=>l(m)},m.filename??`${y}-${m.image}`)})]})}function xz(){const[t,a]=L.useState(null),[l,o]=L.useState(!1);return L.useEffect(()=>{let s=!1;return I1().then(c=>{s||a(c)}).catch(()=>{s||o(!0)}),()=>{s=!0}},[]),{data:t,error:l}}function bz(){const[t,a]=L.useState(null);return L.useEffect(()=>{let l=!1,o=null;const s=async()=>{try{const c=await O1();if(l)return;a(c),c.status==="starting"&&(o=setTimeout(s,3e3))}catch{l||a(null)}};return s(),()=>{l=!0,o&&clearTimeout(o)}},[]),t}function Sz(t){return t==="ready"?"Ready":t==="auth_required"?"Login required":t==="starting"?"Starting":t==="offline"?"Offline":"Checking"}function wz(){const{t}=Ne(),a=bz(),{data:l,error:o}=xz(),s=l?.apiKeySource==="env"||l?.apiKeySource==="config"||l?.apiKeyValid===!0,c=a?.status==="ready",d=l?.apiKeySource==="config"?t("settings.account.apiSourceConfig"):t("settings.account.apiSourceEnv");return f.jsxs(f.Fragment,{children:[f.jsxs("article",{className:"settings-row",children:[f.jsxs("div",{className:"settings-row__copy",children:[f.jsx("p",{className:"settings-eyebrow",children:t("settings.account.primaryEyebrow")}),f.jsx("h4",{children:t("settings.account.oauthTitle")}),f.jsx("p",{children:t("settings.account.oauthBody")})]}),f.jsxs("div",{className:`settings-status${c?" is-ok":""}`,children:[f.jsx("span",{"aria-hidden":"true"}),Sz(a?.status)]})]}),s?f.jsxs("article",{className:"settings-row",children:[f.jsxs("div",{className:"settings-row__copy",children:[f.jsx("p",{className:"settings-eyebrow",children:d}),f.jsx("h4",{children:t("settings.account.apiTitle")}),f.jsx("p",{children:t("settings.account.apiBody")})]}),f.jsxs("div",{className:"settings-status is-muted",children:[f.jsx("span",{"aria-hidden":"true"}),t(o?"settings.account.apiUnknown":"settings.account.apiDisabled")]})]}):null]})}const Nz={ko:"KO",en:"EN"};function _z(){const{t,locale:a}=Ne(),l=Y(o=>o.setLocale);return f.jsx("div",{className:"lang-toggle",role:"group","aria-label":t("language.label"),children:CN.map(o=>f.jsx("button",{type:"button",className:`lang-toggle__btn ${a===o?"is-active":""}`,onClick:()=>l(o),"aria-pressed":a===o,title:t(`language.${o}`),children:f.jsx("span",{className:"lang-toggle__label",children:Nz[o]})},o))})}const Ez=["system","dark","light"];function Cz(){const{t}=Ne(),a=Y(p=>p.theme),l=Y(p=>p.setTheme),o=Y(p=>p.themeFamily),s=Y(p=>p.setThemeFamily),[c,d]=L.useState(!1),m=L.useRef(null);L.useEffect(()=>{if(!c)return;const p=v=>{m.current&&(m.current.contains(v.target)||d(!1))},g=v=>{v.key==="Escape"&&d(!1)};return document.addEventListener("mousedown",p),document.addEventListener("keydown",g),()=>{document.removeEventListener("mousedown",p),document.removeEventListener("keydown",g)}},[c]);const y=p=>t(`theme.family.${p}`);return f.jsxs("div",{className:"theme-toggle","aria-label":t("theme.label"),children:[f.jsxs("div",{className:"theme-toggle__row",children:[f.jsx("span",{className:"theme-toggle__label",id:"theme-style-label",children:t("theme.styleLabel")}),f.jsxs("div",{className:"theme-toggle__family",ref:m,children:[f.jsxs("button",{type:"button",className:"theme-toggle__family-trigger","aria-haspopup":"listbox","aria-expanded":c,"aria-labelledby":"theme-style-label",onClick:()=>d(p=>!p),children:[f.jsx("span",{className:`theme-toggle__family-dot theme-toggle__family-dot--${o}`,"aria-hidden":"true"}),f.jsx("span",{className:"theme-toggle__family-name",children:y(o)}),f.jsx("span",{className:"theme-toggle__family-caret","aria-hidden":"true",children:"▾"})]}),c?f.jsx("ul",{className:"theme-toggle__family-menu",role:"listbox","aria-labelledby":"theme-style-label",children:X0.map(p=>f.jsx("li",{role:"none",children:f.jsxs("button",{type:"button",role:"option","aria-selected":o===p,className:`theme-toggle__family-option ${o===p?"is-active":""}`,onClick:()=>{s(p),d(!1)},children:[f.jsx("span",{className:`theme-toggle__family-dot theme-toggle__family-dot--${p}`,"aria-hidden":"true"}),f.jsx("span",{className:"theme-toggle__family-name",children:y(p)})]})},p))}):null]})]}),f.jsxs("div",{className:"theme-toggle__row",children:[f.jsx("span",{className:"theme-toggle__label",id:"theme-mode-label",children:t("theme.modeLabel")}),f.jsx("div",{className:"theme-toggle__mode",role:"group","aria-labelledby":"theme-mode-label",children:Ez.map(p=>f.jsx("button",{type:"button",className:`theme-toggle__btn ${a===p?"is-active":""}`,onClick:()=>l(p),"aria-pressed":a===p,title:t(`theme.${p}`),children:t(`theme.${p}`)},p))})]})]})}const vf=["account","generation","appearance","language","future"];function _o({id:t,setRef:a,children:l}){const{t:o}=Ne();return f.jsxs("section",{id:t,ref:s=>a(t,s),className:"settings-section","aria-labelledby":`settings-section-${t}`,children:[f.jsx("header",{className:"settings-section__header",children:f.jsxs("div",{children:[f.jsx("h3",{id:`settings-section-${t}`,children:o(`settings.sections.${t}.title`)}),f.jsx("p",{children:o(`settings.sections.${t}.hint`)})]})}),f.jsx("div",{className:"settings-section__body",children:l})]})}function Tz(){const{t}=Ne(),a=Y(g=>g.activeSettingsSection),l=Y(g=>g.setActiveSettingsSection),o=Y(g=>g.closeSettings),s=L.useRef(null),c=L.useRef(null),d=L.useRef(!1),m=L.useRef({account:null,generation:null,appearance:null,language:null,future:null}),y=(g,v)=>{m.current[g]=v},p=g=>{l(g),d.current=!0,m.current[g]?.scrollIntoView({behavior:"auto",block:"start"}),c.current!==null&&window.clearTimeout(c.current),c.current=window.setTimeout(()=>{d.current=!1,c.current=null},120)};return L.useEffect(()=>{const g=v=>{v.key==="Escape"&&o()};return window.addEventListener("keydown",g),()=>window.removeEventListener("keydown",g)},[o]),L.useEffect(()=>{const g=s.current;if(!g||typeof IntersectionObserver!="function")return;const v=new IntersectionObserver(x=>{if(d.current)return;const N=x.filter(_=>_.isIntersecting).sort((_,D)=>D.intersectionRatio-_.intersectionRatio)[0]?.target.id;N&&vf.includes(N)&&l(N)},{root:g,threshold:[.35,.6]});for(const x of vf){const S=m.current[x];S&&v.observe(S)}return()=>v.disconnect()},[l]),L.useEffect(()=>()=>{c.current!==null&&window.clearTimeout(c.current)},[]),f.jsx("main",{ref:s,className:"settings-workspace","aria-labelledby":"settings-title",children:f.jsxs("div",{className:"settings-shell",children:[f.jsxs("header",{className:"settings-header",children:[f.jsxs("div",{children:[f.jsx("p",{className:"settings-eyebrow",children:t("settings.eyebrow")}),f.jsx("h2",{id:"settings-title",children:t("settings.title")}),f.jsx("p",{children:t("settings.subtitle")})]}),f.jsx("button",{type:"button",className:"settings-close",onClick:o,"aria-label":t("settings.closeAria"),title:t("settings.closeTitle"),children:"X"})]}),f.jsxs("div",{className:"settings-layout",children:[f.jsx("nav",{className:"settings-nav","aria-label":t("settings.navAria"),children:vf.map(g=>f.jsxs("button",{type:"button",className:`settings-nav__item${a===g?" is-active":""}`,onClick:()=>p(g),"aria-label":t("settings.jumpTo",{section:t(`settings.sections.${g}.title`)}),children:[f.jsx("span",{children:t(`settings.sections.${g}.title`)}),f.jsx("small",{children:t(`settings.sections.${g}.hint`)})]},g))}),f.jsxs("section",{className:"settings-content","aria-label":t("settings.contentAria"),children:[f.jsx(_o,{id:"account",setRef:y,children:f.jsx(wz,{})}),f.jsx(_o,{id:"generation",setRef:y,children:f.jsxs("article",{className:"settings-row",children:[f.jsxs("div",{className:"settings-row__copy",children:[f.jsx("h4",{children:t("settings.imageModel.title")}),f.jsx("p",{children:t("settings.imageModel.body")}),f.jsx("p",{className:"settings-row__microcopy",children:t("settings.imageModel.unsupportedHelp")})]}),f.jsx("div",{className:"settings-row__control",children:f.jsx(xv,{variant:"settings"})})]})}),f.jsx(_o,{id:"appearance",setRef:y,children:f.jsxs("article",{className:"settings-row",children:[f.jsxs("div",{className:"settings-row__copy",children:[f.jsx("h4",{children:t("settings.appearance.themeTitle")}),f.jsx("p",{children:t("settings.appearance.themeBody")})]}),f.jsx("div",{className:"settings-row__control",children:f.jsx(Cz,{})})]})}),f.jsx(_o,{id:"language",setRef:y,children:f.jsxs("article",{className:"settings-row",children:[f.jsxs("div",{className:"settings-row__copy",children:[f.jsx("h4",{children:t("settings.language.title")}),f.jsx("p",{children:t("settings.language.body")})]}),f.jsx("div",{className:"settings-row__control",children:f.jsx(_z,{})})]})}),f.jsx(_o,{id:"future",setRef:y,children:f.jsxs("article",{className:"settings-note",children:[f.jsx("h4",{children:t("settings.future.title")}),f.jsx("p",{children:t("settings.future.body")})]})})]})]})]})})}function Mz(){const t=Y(s=>s.toast),[a,l]=L.useState(!1);if(L.useEffect(()=>{if(!t)return;l(!0);const s=setTimeout(()=>l(!1),3e3);return()=>clearTimeout(s)},[t]),!t)return null;const o=["toast",a?"visible":"",t.error?"error":""].filter(Boolean).join(" ");return f.jsx("div",{className:o,children:t.message})}function Az(){const{t}=Ne(),a=Y(v=>v.errorCard),l=Y(v=>v.dismissErrorCard);if(!a)return null;const o=Ao[a.code]??Ao.UNKNOWN,s=`${o.cardKey??"errorCard.unknown"}.title`,c=`${o.cardKey??"errorCard.unknown"}.body`,d=o.cta?`${o.cardKey??"errorCard.unknown"}.cta`:null,m=t(s),y=t(c),p=d?t(d):null,g=()=>{if(o.cta==="reload"){window.location.reload();return}else l()};return f.jsx("div",{className:"error-card-backdrop",role:"alertdialog","aria-labelledby":"error-card-title",children:f.jsxs("div",{className:"error-card",children:[f.jsx("div",{className:"error-card__icon","aria-hidden":"true",children:f.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[f.jsx("circle",{cx:"12",cy:"12",r:"10"}),f.jsx("line",{x1:"12",y1:"8",x2:"12",y2:"12"}),f.jsx("line",{x1:"12",y1:"16",x2:"12.01",y2:"16"})]})}),f.jsxs("div",{className:"error-card__content",children:[f.jsx("h3",{id:"error-card-title",className:"error-card__title",children:m}),f.jsx("p",{className:"error-card__body",children:y}),a.fallbackMessage&&f.jsxs("details",{className:"error-card__details",children:[f.jsx("summary",{children:t("errorCard.details")}),f.jsx("pre",{children:a.fallbackMessage})]}),f.jsxs("div",{className:"error-card__actions",children:[f.jsx("button",{type:"button",className:"btn btn--ghost",onClick:l,children:t("errorCard.close")}),p&&f.jsx("button",{type:"button",className:"btn btn--primary",onClick:g,children:p})]})]})]})})}function jz(t){if(!t)return"earlier";const a=new Date(t);if(Number.isNaN(a.getTime()))return"earlier";const o=Math.floor((new Date().getTime()-a.getTime())/864e5);return o===0?"today":o===1?"yesterday":o<7?"thisWeek":a.toLocaleDateString("ko-KR",{year:"numeric",month:"short",day:"numeric"})}function q0(t){return t.filename||t.image}function zz({item:t,onOpen:a,onCopyPath:l,onDownloadManifest:o}){const{t:s}=Ne(),d=t.cards?.find(m=>m.headline)?.headline||t.headline||s("gallery.cardNewsSet");return f.jsxs(f.Fragment,{children:[f.jsxs("button",{type:"button",className:"gallery__tile",onClick:()=>a(t),title:d,children:[t.image?f.jsx("img",{src:t.image,alt:d,loading:"lazy"}):null,f.jsxs("div",{className:"gallery__caption",children:[f.jsx("small",{children:s("gallery.cardNewsSet")}),f.jsx("span",{className:"gallery__caption-text",children:d})]}),f.jsx("div",{className:"gallery-card-news-strip",children:(t.cards||[]).slice(0,5).map((m,y)=>f.jsxs("span",{children:[m.url?f.jsx("img",{src:m.url,alt:m.headline??"",loading:"lazy"}):null,f.jsx("em",{children:m.cardOrder??y+1})]},`${m.url}-${y}`))})]}),f.jsxs("div",{className:"gallery-card-news-actions",children:[f.jsx("span",{children:s("gallery.cardNewsCount",{n:t.cards?.length??0})}),f.jsx("button",{type:"button",onClick:()=>a(t),children:s("gallery.openCardNewsSet")}),f.jsx("button",{type:"button",onClick:m=>l(t,m),children:s("gallery.copyCardNewsSetPath")}),f.jsx("button",{type:"button",onClick:m=>o(t,m),children:s("gallery.downloadCardNewsManifest")})]})]})}function Rz({item:t,active:a,itemRef:l,onSelect:o,onDelete:s,onToggleFavorite:c,t:d}){return f.jsxs("div",{ref:l,className:`gallery__tile-wrap${a?" gallery__tile-wrap--active":""}${t.isFavorite?" gallery__tile-wrap--favorite":""}`,children:[f.jsxs("button",{type:"button",className:`gallery__tile${a?" gallery__tile--active":""}`,onClick:()=>o(t),title:t.prompt??"",children:[f.jsx("img",{src:t.thumb||t.image,alt:t.prompt??d("gallery.imageAltFallback"),loading:"lazy",decoding:"async"}),t.prompt&&f.jsx("div",{className:"gallery__caption",children:f.jsx("span",{className:"gallery__caption-text",children:t.prompt})})]}),t.filename&&c&&f.jsx("button",{type:"button",className:`gallery__favorite${t.isFavorite?" gallery__favorite--on":""}`,onClick:m=>{m.stopPropagation(),c(t)},title:t.isFavorite?d("gallery.unfavoriteTitle"):d("gallery.favoriteTitle"),"aria-label":t.isFavorite?d("gallery.unfavoriteAria"):d("gallery.favoriteAria"),children:t.isFavorite?"★":"☆"}),t.filename&&f.jsx("button",{type:"button",className:"gallery__delete",onClick:m=>s(t,m),title:d("gallery.deleteTitle"),"aria-label":d("gallery.deleteAria"),children:"×"})]})}const U0="ima2.storageNoticeDismissed.0.09.23";function Dz(){const{t}=Ne(),a=Y($=>$.galleryOpen),l=Y($=>$.closeGallery),o=Y($=>$.history),s=Y($=>$.selectHistory),c=Y($=>$.currentImage),d=Y($=>$.trashHistoryItem),m=Y($=>$.showToast),y=Y($=>$.toggleGalleryFavorite),[p,g]=L.useState(""),[v,x]=L.useState("date"),[S,N]=L.useState(!1),[_,D]=L.useState([]),[j,A]=L.useState([]),[E,w]=L.useState(null),[B,O]=L.useState(()=>{try{return localStorage.getItem(U0)==="1"}catch{return!1}}),k=L.useRef(null),F=L.useRef({}),K=L.useRef(0);L.useEffect(()=>{if(!a)return;const $=le=>{le.key==="Escape"&&l()};return window.addEventListener("keydown",$),()=>window.removeEventListener("keydown",$)},[a,l]),L.useEffect(()=>{a||g("")},[a]),L.useEffect(()=>{if(!a)return;let $=!1;return(async()=>{try{const le=await U1();$||w(le)}catch{$||w({generatedDirLabel:"~/.ima2/generated",generatedCount:0,legacyCandidatesScanned:0,legacySourcesFound:0,legacyFilesFound:0,state:"unknown",messageKind:"unknown",recoveryDocsPath:"docs/RECOVER_OLD_IMAGES.md",doctorCommand:"ima2 doctor",overrides:{generatedDir:!1,configDir:!1}})}})(),()=>{$=!0}},[a]),L.useEffect(()=>{if(!a||v!=="session")return;let $=!1;return(async()=>{try{const le=await B1({limit:500});if($)return;const ce=ue=>{const be=ue.kind,ve=be==="classic"||be==="edit"||be==="generate"||be==="card-news-card"||be==="card-news-set"?be:null;return{image:ue.url,url:ue.url,filename:ue.filename,prompt:ue.prompt??void 0,size:ue.size??void 0,quality:ue.quality??void 0,model:ue.model??void 0,provider:ue.provider,createdAt:ue.createdAt,sessionId:ue.sessionId??null,nodeId:ue.nodeId??null,clientNodeId:ue.clientNodeId??null,kind:ve,setId:ue.setId??null,cardId:ue.cardId??null,cardOrder:ue.cardOrder??null,headline:ue.headline??null,body:ue.body??null,cards:ue.cards,isFavorite:ue.isFavorite??!1}};D(le.sessions.map(ue=>({sessionId:ue.sessionId,title:ue.title??null,label:ue.label??null,displayLabel:ue.title||ue.label||ue.sessionId.slice(0,8),items:ue.items.map(ce)}))),A(le.loose.map(ce))}catch{}})(),()=>{$=!0}},[a,v]);const de=L.useMemo(()=>{const $=p.trim().toLowerCase().normalize("NFC");return o.filter(le=>S&&!le.isFavorite?!1:$?(le.prompt??"").toLowerCase().normalize("NFC").includes($)||(le.filename??"").toLowerCase().normalize("NFC").includes($):!0)},[o,p,S]),X=L.useMemo(()=>S?_.map($=>({...$,items:$.items.filter(le=>le.isFavorite)})).filter($=>$.items.length>0):_,[_,S]),te=L.useMemo(()=>S?j.filter($=>$.isFavorite):j,[j,S]),se=L.useMemo(()=>{const $=new Map;for(const le of de){const ce=jz(le.createdAt);$.has(ce)||$.set(ce,[]),$.get(ce).push(le)}return Array.from($.entries())},[de]),z=v==="session"?X.reduce(($,le)=>$+le.items.length,0)+te.length:de.length;L.useLayoutEffect(()=>{if(!a)return;const $=c?q0(c):null,le=$?F.current[$]:null;if(le){le.scrollIntoView({block:"center"});return}k.current&&(k.current.scrollTop=K.current)},[a,c?.filename,c?.image,v,z,se.length,X.length,te.length]);async function M($,le){le.stopPropagation(),await d($)}async function T(){try{await G1(),m(t("toast.openGeneratedDirOpened"))}catch{m(t("toast.openGeneratedDirFailed"),!0)}}async function I($){if($.setId)try{await we.getState().loadSet($.setId),Y.getState().setUIMode("card-news"),l()}catch{m(t("gallery.openCardNewsSetFailed"),!0)}}async function U($,le){if(le.stopPropagation(),!$.setId)return;const ce=`generated/cardnews/${$.setId}`;try{await navigator.clipboard?.writeText(ce),m(t("gallery.cardNewsPathCopied"))}catch{m(t("toast.copyFailed"),!0)}}function Z($,le){le.stopPropagation(),$.setId&&window.open(H_($.setId),"_blank","noopener,noreferrer")}function ae(){O(!0);try{localStorage.setItem(U0,"1")}catch{}}if(!a)return null;const R=$=>$==="earlier"||$==="today"||$==="yesterday"||$==="thisWeek"?t(`gallery.${$}`):$,q=($,le,ce)=>{const ue=c?.image===$.image,be=ve=>{F.current[q0($)]=ve};return $.kind==="card-news-set"?f.jsx("div",{ref:be,className:"gallery__tile-wrap gallery-card-news-set",children:f.jsx(zz,{item:$,onOpen:ve=>{I(ve)},onCopyPath:U,onDownloadManifest:Z})},`${le}-${ce}-${$.filename??ce}`):f.jsx(Rz,{item:$,active:ue,itemRef:be,onSelect:ve=>{s(ve),l()},onDelete:M,onToggleFavorite:ve=>{y(ve.filename)},t},`${le}-${ce}-${$.filename??ce}`)},V=v==="session",W=E!=null&&E.state!=="ok"&&!B,fe=E?.state==="recoverable"?"gallery.storageNoticeRecoverable":E?.state==="not_found"?"gallery.storageNoticeNotFound":"gallery.storageNoticeUnknown";return f.jsx("div",{className:"gallery-backdrop",onClick:l,role:"presentation",children:f.jsxs("div",{className:"gallery",role:"dialog","aria-modal":"true","aria-label":t("gallery.ariaLabel"),onClick:$=>$.stopPropagation(),children:[f.jsxs("div",{className:"gallery__header",children:[f.jsxs("div",{className:"gallery__title-row",children:[f.jsx("div",{className:"gallery__title",children:t("gallery.title")}),f.jsxs("div",{className:"gallery__meta",children:[t("gallery.total",{n:z}),p||S?t("gallery.totalFiltered",{n:o.length}):""]}),f.jsxs("div",{className:"gallery__favorite-filter",role:"tablist","aria-label":t("gallery.favoriteFilterAria"),children:[f.jsx("button",{type:"button",role:"tab","aria-selected":!S,className:S?"":"active",onClick:()=>N(!1),children:t("gallery.filterAll")}),f.jsx("button",{type:"button",role:"tab","aria-selected":S,className:S?"active":"",onClick:()=>N(!0),children:t("gallery.filterFavorites")})]}),f.jsxs("div",{className:"gallery__group-toggle",role:"tablist","aria-label":t("gallery.sortByAria"),children:[f.jsx("button",{type:"button",role:"tab","aria-selected":v==="date",className:v==="date"?"active":"",onClick:()=>x("date"),children:t("gallery.sortByDate")}),f.jsx("button",{type:"button",role:"tab","aria-selected":v==="session",className:v==="session"?"active":"",onClick:()=>x("session"),children:t("gallery.sortBySession")})]})]}),f.jsx("input",{type:"text",className:"gallery__search",placeholder:t(V?"gallery.searchDisabledPlaceholder":"gallery.searchPlaceholder"),value:p,onChange:$=>g($.target.value),autoFocus:!0,disabled:V}),f.jsx("button",{type:"button",className:"gallery__close",onClick:l,"aria-label":t("gallery.closeAria"),title:t("gallery.closeTitle"),children:"×"})]}),f.jsxs("div",{className:`gallery__storage-bar${W?" gallery__storage-bar--notice":""}`,children:[W?f.jsxs("div",{className:"gallery__storage-copy",children:[f.jsx("div",{className:"gallery__storage-title",children:t("gallery.storageNoticeTitle")}),f.jsx("div",{className:"gallery__storage-text",children:t(fe)})]}):f.jsx("div",{className:"gallery__storage-copy gallery__storage-copy--quiet",children:E?.generatedDirLabel??"~/.ima2/generated"}),f.jsxs("div",{className:"gallery__storage-actions",children:[f.jsx("button",{type:"button",className:"gallery__storage-button",onClick:T,title:t("gallery.openGeneratedDirTitle"),children:t("gallery.openGeneratedDir")}),W&&f.jsx("button",{type:"button",className:"gallery__storage-button gallery__storage-button--ghost",onClick:ae,children:t("common.close")})]})]}),f.jsx("div",{className:"gallery__scroll",ref:k,onScroll:()=>{K.current=k.current?.scrollTop??0},children:V?f.jsxs(f.Fragment,{children:[X.map($=>f.jsxs("section",{className:"gallery__group",children:[f.jsxs("header",{className:"gallery__group-header",children:[f.jsx("span",{className:"gallery__group-label",title:$.sessionId,children:$.title?$.displayLabel:t("gallery.sessionLabel",{name:$.displayLabel})}),f.jsx("span",{className:"gallery__group-count",children:$.items.length})]}),f.jsx("div",{className:"gallery__grid",children:$.items.map((le,ce)=>q(le,$.sessionId,ce))})]},$.sessionId)),te.length>0&&f.jsxs("section",{className:"gallery__group",children:[f.jsxs("header",{className:"gallery__group-header",children:[f.jsx("span",{className:"gallery__group-label",children:t("gallery.standalone")}),f.jsx("span",{className:"gallery__group-count",children:te.length})]}),f.jsx("div",{className:"gallery__grid",children:te.map(($,le)=>q($,"loose",le))})]}),X.length===0&&te.length===0&&f.jsx("div",{className:"gallery__empty",children:t(S?"gallery.emptyFavorites":"gallery.emptySessions")})]}):de.length===0?f.jsx("div",{className:"gallery__empty",children:o.length===0?t("gallery.emptyAll"):t(S?"gallery.emptyFavorites":"gallery.noResults")}):se.map(([$,le])=>f.jsxs("section",{className:"gallery__group",children:[f.jsxs("header",{className:"gallery__group-header",children:[f.jsx("span",{className:"gallery__group-label",children:R($)}),f.jsx("span",{className:"gallery__group-count",children:le.length})]}),f.jsx("div",{className:"gallery__grid",children:le.map((ce,ue)=>q(ce,$,ue))})]},$))})]})})}function Oz(t){return t.includes("ratio")?"sizeConfirm.reasonRatio":t.includes("maxPixels")||t.includes("pixels")?"sizeConfirm.reasonPixels":t.includes("minPixels")?"sizeConfirm.reasonMinPixels":t.includes("min")?"sizeConfirm.reasonMin":t.includes("maxEdge")||t.includes("max")?"sizeConfirm.reasonMax":"sizeConfirm.reasonSnap"}function Iz(){const t=Y(m=>m.customSizeConfirm),a=Y(m=>m.confirmCustomSizeAdjustment),l=Y(m=>m.cancelCustomSizeAdjustment),o=L.useRef(null),{t:s}=Ne();if(L.useEffect(()=>{if(!t)return;o.current?.focus();const m=y=>{y.key==="Escape"&&l()};return window.addEventListener("keydown",m),()=>window.removeEventListener("keydown",m)},[l,t]),!t)return null;const c=`${t.requestedW}x${t.requestedH}`,d=`${t.adjustedW}x${t.adjustedH}`;return f.jsx("div",{className:"modal-backdrop custom-size-confirm-backdrop",role:"presentation",children:f.jsxs("div",{className:"modal custom-size-confirm",role:"dialog","aria-modal":"true","aria-labelledby":"custom-size-confirm-title","aria-describedby":"custom-size-confirm-body",children:[f.jsx("div",{id:"custom-size-confirm-title",className:"modal__title",children:s("sizeConfirm.title")}),f.jsxs("div",{id:"custom-size-confirm-body",className:"modal__body",children:[f.jsx("p",{children:s("sizeConfirm.body")}),f.jsxs("dl",{className:"size-confirm__pairs",children:[f.jsxs("div",{className:"size-confirm__pair",children:[f.jsx("dt",{children:s("sizeConfirm.requested")}),f.jsx("dd",{children:c})]}),f.jsxs("div",{className:"size-confirm__pair",children:[f.jsx("dt",{children:s("sizeConfirm.adjusted")}),f.jsx("dd",{children:d})]})]}),f.jsx("p",{className:"size-confirm__reason",children:s(Oz(t.reasons))})]}),f.jsxs("div",{className:"modal__actions",children:[f.jsx("button",{ref:o,type:"button",className:"modal__btn modal__btn--secondary",onClick:l,children:s("sizeConfirm.cancel")}),f.jsx("button",{type:"button",className:"modal__btn",onClick:()=>{a()},children:s("sizeConfirm.approve")})]})]})})}function Ds(t){return t==null||t===""?"-":String(t)}function Lz(){const{t}=Ne(),a=Y(m=>m.metadataRestore),l=Y(m=>m.applyMetadataRestore),o=Y(m=>m.addMetadataRestoreAsReference),s=Y(m=>m.cancelMetadataRestore);if(!a)return null;const c=a.metadata,d=c.userPrompt||c.prompt||c.revisedPrompt||"";return f.jsx("div",{className:"modal-backdrop metadata-restore-backdrop",role:"presentation",children:f.jsxs("div",{className:"modal metadata-restore",role:"dialog","aria-modal":"true","aria-labelledby":"metadata-restore-title",children:[f.jsx("div",{id:"metadata-restore-title",className:"modal__title",children:t("metadata.restoreTitle")}),f.jsxs("div",{className:"modal__body metadata-restore__body",children:[f.jsx("p",{children:t("metadata.restoreBody")}),f.jsxs("div",{className:"metadata-restore__preview",children:[f.jsx("img",{src:a.image,alt:t("metadata.imageAlt")}),f.jsxs("div",{className:"metadata-restore__details",children:[f.jsxs("div",{children:[f.jsx("span",{children:t("metadata.prompt")}),f.jsx("strong",{title:d,children:Ds(d)})]}),f.jsxs("div",{children:[f.jsx("span",{children:t("metadata.size")}),f.jsx("strong",{children:Ds(c.size)})]}),f.jsxs("div",{children:[f.jsx("span",{children:t("metadata.quality")}),f.jsx("strong",{children:Ds(c.quality)})]}),f.jsxs("div",{children:[f.jsx("span",{children:t("metadata.model")}),f.jsx("strong",{children:Ds(c.model)})]}),f.jsxs("div",{children:[f.jsx("span",{children:t("metadata.source")}),f.jsx("strong",{children:a.source==="png-comment"?t("metadata.sourcePngComment"):t("metadata.sourceXmp")})]})]})]})]}),f.jsxs("div",{className:"modal__actions",children:[f.jsx("button",{type:"button",className:"modal__btn modal__btn--secondary",onClick:s,children:t("common.cancel")}),f.jsx("button",{type:"button",className:"modal__btn modal__btn--secondary",onClick:o,children:t("metadata.useAsReferenceOnly")}),f.jsx("button",{type:"button",className:"modal__btn",onClick:l,children:t("metadata.applySettings")})]})]})})}function Hz(){const t=Y(d=>d.trashPending),a=Y(d=>d.restorePendingTrash),l=Y(d=>d.clearPendingTrash),{t:o}=Ne(),[s,c]=L.useState(Date.now());return L.useEffect(()=>{if(!t)return;c(Date.now());const d=window.setInterval(()=>{const m=Date.now();c(m),m>=t.expiresAt&&l()},500);return()=>window.clearInterval(d)},[l,t]),t?f.jsxs("div",{className:"trash-undo-toast",children:[f.jsx("span",{children:o("gallery.deleted",{filename:t.filename})}),f.jsx("button",{type:"button",onClick:()=>{a()},children:o("gallery.undo")}),f.jsx("span",{className:"trash-undo-toast__timer",children:o("gallery.secondsSuffix",{n:Math.max(0,Math.ceil((t.expiresAt-s)/1e3))})})]}):null}function kz(t){const a=t.slots.filter(o=>o.kind==="text"||o.textKind).length,l=t.slots.filter(o=>o.kind==="image").length;return`${a} text / ${l} image`}function Bz(){const{t}=Ne(),a=we(s=>s.templates),l=we(s=>s.imageTemplateId),o=we(s=>s.setImageTemplate);return f.jsxs("section",{className:"card-news-panel",children:[f.jsxs("div",{className:"card-news-panel__head",children:[f.jsx("span",{children:t("cardNews.imageTemplate")}),f.jsx("button",{type:"button",disabled:!0,title:t("cardNews.newTemplateLater"),children:"+"})]}),f.jsx("div",{className:"card-news-template-grid",children:a.map(s=>f.jsxs("button",{type:"button",className:`card-news-template${l===s.id?" selected":""}`,onClick:()=>o(s.id),children:[f.jsx("img",{src:s.previewUrl,alt:""}),f.jsxs("span",{className:"card-news-template__body",children:[f.jsx("span",{className:"card-news-template__name",children:s.name}),f.jsx("span",{className:"card-news-template__meta",children:kz(s)}),f.jsx("span",{className:"card-news-template__sizes",children:s.recommendedOutputSizes.join(" · ")})]})]},s.id))})]})}function qz(){const{t}=Ne(),a=we(s=>s.roleTemplates),l=we(s=>s.roleTemplateId),o=we(s=>s.setRoleTemplate);return f.jsxs("section",{className:"card-news-panel",children:[f.jsx("div",{className:"card-news-panel__head",children:f.jsx("span",{children:t("cardNews.roleTemplate")})}),f.jsx("div",{className:"card-news-role-row",children:a.map(s=>f.jsx("button",{type:"button",className:l===s.id?"selected":"",onClick:()=>o(s.id),children:s.name},s.id))})]})}function Uz({status:t,locked:a}){const{t:l}=Ne(),o=a?"locked":t,s=o==="queued"||o==="generating";return f.jsxs("span",{className:`card-news-status-badge card-news-status-badge--${o}`,children:[s?f.jsx("span",{className:"card-news-spinner","aria-hidden":"true"}):null,l(`cardNews.status.${o}`)]})}function Gz(t,a){const l=`cardNews.roles.${t}`,o=a(l);return o===l?t:o}function Vz(){const{t}=Ne(),a=we(s=>s.activePlan),l=we(s=>s.selectedCardId),o=we(s=>s.selectCard);return a?f.jsx("div",{className:"card-news-deck","aria-label":"Card deck",onWheel:ub,children:a.cards.map(s=>f.jsxs("button",{type:"button",className:`card-news-deck-card${l===s.id?" selected":""}`,onClick:()=>o(s.id),children:[f.jsx("span",{children:String(s.order).padStart(2,"0")}),s.url?f.jsx("img",{src:s.url,alt:"",className:"card-news-deck-card__thumb"}):null,f.jsx("strong",{children:Gz(s.role,t)}),f.jsx("small",{children:s.headline||s.textFields.find(c=>c.renderMode==="in-image")?.text}),f.jsx(Uz,{status:s.status,locked:s.locked})]},s.id))}):null}const Yz=[];function Pz(){const{t}=Ne(),a=we(s=>s.activePlan?.cards??Yz),l=we(s=>s.generating),o={total:a.length,done:a.filter(s=>s.status==="generated").length,queued:a.filter(s=>s.status==="queued").length,errors:a.filter(s=>s.status==="error").length,skipped:a.filter(s=>s.locked||s.status==="skipped").length};return o.total?f.jsxs("div",{className:"card-news-batch-bar","aria-live":"polite",children:[f.jsx("span",{children:l?t("cardNews.progress.generating",{done:o.done,total:o.total}):t("cardNews.progress.summary",{done:o.done,total:o.total})}),f.jsx("span",{children:t("cardNews.progress.detail",{queued:o.queued,errors:o.errors,skipped:o.skipped})})]}):null}function $z({meta:t}){const{t:a}=Ne();if(!t)return null;const l=t.mode==="structured-output"?a("cardNews.planner.structured"):t.mode==="json-mode"?a("cardNews.planner.jsonMode"):a("cardNews.planner.fallback");return f.jsxs("span",{className:"card-news-planner-badge",children:[l," · ",t.model,t.repaired?` · ${a("cardNews.planner.repaired")}`:""]})}function Fz(t){const a=t.textFields.filter(l=>l.renderMode==="in-image"&&l.text).map(l=>`[${l.placement}] ${l.text}`);return[t.headline,...a].filter(Boolean).join(`
30
+ `)}function Xz(t,a){const l=t.slotId?a?.slots.find(o=>o.id===t.slotId):null;return l?{left:`${l.x/20.48}%`,top:`${l.y/20.48}%`,width:`${l.w/20.48}%`,minHeight:`${l.h/20.48}%`}:Zz(t)}const G0={"top-left":{left:"10%",top:"10%",width:"34%"},"top-center":{left:"50%",top:"10%",width:"42%",transform:"translateX(-50%)"},"top-right":{right:"10%",top:"10%",width:"34%"},"center-left":{left:"10%",top:"50%",width:"34%",transform:"translateY(-50%)"},center:{left:"50%",top:"50%",width:"44%",transform:"translate(-50%, -50%)"},"center-right":{right:"10%",top:"50%",width:"34%",transform:"translateY(-50%)"},"bottom-left":{left:"10%",bottom:"10%",width:"34%"},"bottom-center":{left:"50%",bottom:"10%",width:"42%",transform:"translateX(-50%)"},"bottom-right":{right:"10%",bottom:"10%",width:"34%"},free:{left:"50%",top:"50%",width:"44%",transform:"translate(-50%, -50%)"}};function Zz(t){return G0[t.placement]||G0.center}function Kz(){const{t}=Ne(),a=we(v=>v.activePlan),l=we(v=>v.selectedCardId),o=we(v=>v.selectedTextFieldId),s=we(v=>v.templates),c=we(v=>v.plannerMeta),d=we(v=>v.retryCard),m=we(v=>v.selectTextField),y=a?.cards.find(v=>v.id===l)||a?.cards[0],p=a?s.find(v=>v.id===a.imageTemplateId):void 0,g=y?.textFields.filter(v=>v.renderMode==="in-image")||[];return!a||!y?f.jsxs("section",{className:"card-news-empty",children:[f.jsxs("div",{className:"card-news-empty__deck","aria-hidden":"true",children:[f.jsx("div",{className:"card-news-empty__card card-news-empty__card--back"}),f.jsx("div",{className:"card-news-empty__card card-news-empty__card--mid"}),f.jsxs("div",{className:"card-news-empty__card",children:[f.jsx("span",{}),f.jsx("strong",{}),f.jsx("em",{})]})]}),f.jsxs("div",{className:"card-news-empty__copy",children:[f.jsx("span",{children:t("uiMode.cardNews")}),f.jsx("h2",{children:t("cardNews.emptyTitle")}),f.jsx("p",{children:t("cardNews.emptyBody")})]})]}):f.jsxs("section",{className:"card-news-stage",children:[f.jsxs("div",{className:"card-news-stage__header",children:[f.jsxs("div",{children:[f.jsx("h2",{children:a.title}),f.jsx("p",{children:a.generationStrategy}),f.jsx($z,{meta:c})]}),f.jsxs("span",{children:[y.order," / ",a.cards.length]})]}),f.jsx(Pz,{}),f.jsxs("div",{className:"card-news-preview",children:[y.status==="queued"||y.status==="generating"?f.jsx("div",{className:"card-news-preview__loading",children:t("cardNews.progress.cardGenerating")}):y.status==="error"?f.jsxs("div",{className:"card-news-preview__error",children:[f.jsx("span",{children:y.error||t("cardNews.error")}),y.locked?null:f.jsx("button",{type:"button",onClick:()=>{d(y.id)},children:t("cardNews.retryCard")})]}):y.url?f.jsx("img",{src:y.url,alt:y.headline}):f.jsx("div",{className:"card-news-preview__slot"}),g.length?f.jsx("div",{className:"card-news-stage-overlay",children:g.map(v=>f.jsx("button",{type:"button",className:`card-news-stage-overlay__field card-news-stage-overlay__field--${v.placement}${o===v.id?" selected":""}`,style:Xz(v,p),onClick:()=>m(v.id),"aria-label":t("cardNews.selectTextField",{text:v.text||v.kind}),children:f.jsx("span",{children:v.text||v.kind})},v.id))}):null]}),y.url?f.jsxs("div",{className:"card-news-result-actions",children:[f.jsx("button",{type:"button",onClick:()=>navigator.clipboard?.writeText(y.visualPrompt),children:t("cardNews.actions.copyPrompt")}),f.jsx("button",{type:"button",onClick:()=>navigator.clipboard?.writeText(Fz(y)),children:t("cardNews.actions.copyCopy")}),f.jsx("a",{href:y.url,target:"_blank",rel:"noreferrer",children:t("cardNews.actions.openImage")}),f.jsx("a",{href:y.url,download:!0,children:t("cardNews.actions.downloadCard")})]}):null]})}function db(t,a){const l=`cardNews.placements.${t}`,o=a(l);return o===l?t:o}function Qz({placement:t}){const{t:a}=Ne();return f.jsx("span",{className:"card-news-placement-chip",children:db(t,a)})}const Jz=["headline","body","caption","cta","badge","number"],Wz=["top-left","top-center","top-right","center-left","center","center-right","bottom-left","bottom-center","bottom-right","free"],e3=["in-image","ui-only"],t3=["primary","secondary","supporting"];function Os(t,a,l){const o=`cardNews.${t}.${a}`,s=l(o);return s===o?a:s}function n3({field:t,locked:a,selected:l=!1,onSelect:o,onChange:s,onRemove:c}){const{t:d}=Ne(),m=t.text.length,y=typeof t.maxChars=="number"&&m>t.maxChars,p=t.maxChars===null||t.maxChars>80;return f.jsxs("div",{className:`card-news-text-field-card${l?" selected":""}`,onClick:o,children:[f.jsxs("div",{className:"card-news-text-field-card__header",children:[f.jsx("span",{children:Os("textKinds",t.kind,d)}),f.jsx(Qz,{placement:t.placement})]}),f.jsxs("label",{className:"card-news-field",children:[f.jsx("span",{children:d("cardNews.textFieldText")}),p?f.jsx("textarea",{value:t.text,disabled:a,onChange:g=>s({text:g.target.value,source:"user"})}):f.jsx("input",{value:t.text,disabled:a,onChange:g=>s({text:g.target.value,source:"user"})})]}),f.jsxs("div",{className:"card-news-text-field-card__grid",children:[f.jsxs("label",{className:"card-news-field",children:[f.jsx("span",{children:d("cardNews.textKind")}),f.jsx("select",{value:t.kind,disabled:a,onChange:g=>s({kind:g.target.value,source:"user"}),children:Jz.map(g=>f.jsx("option",{value:g,children:Os("textKinds",g,d)},g))})]}),f.jsxs("label",{className:"card-news-field",children:[f.jsx("span",{children:d("cardNews.placement")}),f.jsx("select",{value:t.placement,disabled:a,onChange:g=>s({placement:g.target.value,source:"user"}),children:Wz.map(g=>f.jsx("option",{value:g,children:db(g,d)},g))})]}),f.jsxs("label",{className:"card-news-field",children:[f.jsx("span",{children:d("cardNews.renderMode")}),f.jsx("select",{value:t.renderMode,disabled:a,onChange:g=>s({renderMode:g.target.value,source:"user"}),children:e3.map(g=>f.jsx("option",{value:g,children:Os("renderModes",g,d)},g))})]}),f.jsxs("label",{className:"card-news-field",children:[f.jsx("span",{children:d("cardNews.hierarchyLabel")}),f.jsx("select",{value:t.hierarchy,disabled:a,onChange:g=>s({hierarchy:g.target.value,source:"user"}),children:t3.map(g=>f.jsx("option",{value:g,children:Os("hierarchy",g,d)},g))})]})]}),f.jsxs("div",{className:`card-news-text-field-card__meta${y?" over":""}`,children:[f.jsx("span",{children:t.maxChars===null?m:`${m}/${t.maxChars}`}),y?f.jsx("span",{children:d("cardNews.textTooLong")}):null,c?f.jsx("button",{type:"button",disabled:a,onClick:c,children:d("cardNews.removeTextField")}):null]})]})}function a3(){return{id:`tf_${Date.now().toString(36)}`,kind:"body",text:"",renderMode:"in-image",placement:"center",slotId:null,hierarchy:"supporting",maxChars:null,language:null,source:"user"}}function i3(){const{t}=Ne(),a=we(v=>v.activePlan),l=we(v=>v.selectedCardId),o=we(v=>v.selectedTextFieldId),s=we(v=>v.updateCard),c=we(v=>v.updateTextField),d=we(v=>v.addTextField),m=we(v=>v.removeTextField),y=we(v=>v.selectTextField),p=we(v=>v.retryCard),g=a?.cards.find(v=>v.id===l)||a?.cards[0];return g?f.jsxs("aside",{className:"card-news-inspector",children:[f.jsx("div",{className:"section-title",children:t("cardNews.inspector")}),f.jsxs("div",{className:"card-news-inspector-group",children:[f.jsx("span",{className:"card-news-inspector-label",children:t("cardNews.cardTitle")}),f.jsxs("label",{className:"card-news-field",children:[f.jsx("span",{children:t("cardNews.headline")}),f.jsx("input",{value:g.headline,disabled:g.locked,onChange:v=>s(g.id,{headline:v.target.value})})]})]}),f.jsxs("div",{className:"card-news-inspector-group",children:[f.jsxs("div",{className:"card-news-inspector-row",children:[f.jsx("span",{className:"card-news-inspector-label",children:t("cardNews.textFields")}),f.jsx("button",{type:"button",className:"secondary-btn",disabled:g.locked,onClick:()=>d(g.id,a3()),children:t("cardNews.addTextField")})]}),g.textFields.length?g.textFields.map(v=>f.jsx(n3,{field:v,locked:g.locked,selected:o===v.id,onSelect:()=>y(v.id),onChange:x=>c(g.id,v.id,x),onRemove:()=>m(g.id,v.id)},v.id)):f.jsx("p",{className:"card-news-muted",children:t("cardNews.noTextFields")})]}),f.jsxs("details",{className:"card-news-inspector-group card-news-advanced-prompt",children:[f.jsx("summary",{children:t("cardNews.designPrompt")}),f.jsxs("label",{className:"card-news-field",children:[f.jsx("span",{children:t("cardNews.visualPrompt")}),f.jsx("textarea",{value:g.visualPrompt,disabled:g.locked,onChange:v=>s(g.id,{visualPrompt:v.target.value})})]})]}),g.imageFilename?f.jsxs("div",{className:"card-news-generated-meta",children:[f.jsx("span",{children:t("cardNews.generatedMeta")}),f.jsx("code",{children:g.imageFilename}),f.jsx("span",{children:g.status})]}):null,g.locked?f.jsx("p",{className:"card-news-locked-help",children:t("cardNews.lockedHelp")}):null,f.jsx("button",{type:"button",className:`secondary-btn${g.locked?" active":""}`,onClick:()=>s(g.id,{locked:!g.locked}),children:g.locked?t("cardNews.locked"):t("cardNews.unlocked")}),f.jsx("button",{type:"button",className:"secondary-btn",disabled:g.locked||!["draft","error"].includes(g.status),onClick:()=>{p(g.id)},children:t("cardNews.retryCard")})]}):f.jsxs("aside",{className:"card-news-inspector card-news-inspector-empty",children:[f.jsx("div",{className:"section-title",children:t("cardNews.inspector")}),f.jsxs("div",{className:"card-news-inspector-empty__mock","aria-hidden":"true",children:[f.jsx("span",{}),f.jsx("strong",{}),f.jsx("i",{}),f.jsx("i",{})]}),f.jsx("p",{children:t("cardNews.noCard")})]})}function l3(){const{t}=Ne(),a=we(o=>o.hydrate),l=we(o=>o.error);return L.useEffect(()=>{a()},[a]),f.jsxs("main",{className:"card-news-workspace","aria-label":t("cardNews.workspace"),children:[f.jsxs("div",{className:"card-news-setup",children:[f.jsx(Bz,{}),f.jsx(qz,{})]}),f.jsxs("div",{className:"card-news-main",children:[l?f.jsx("div",{className:"card-news-error",role:"alert",children:l}):null,f.jsx(Kz,{}),f.jsx(Vz,{})]}),f.jsx(i3,{})]})}function o3({prompt:t,onClose:a,onLoad:l,onInsert:o,onDelete:s,onToggleFavorite:c}){const{t:d}=Ne(),m=async()=>{try{await navigator.clipboard.writeText(t.text)}catch{}};return f.jsxs("div",{className:"prompt-detail-modal",onClick:a,children:[f.jsx("div",{className:"prompt-detail-modal__backdrop"}),f.jsxs("div",{className:"prompt-detail-modal__content",onClick:y=>y.stopPropagation(),children:[f.jsxs("div",{className:"prompt-detail-modal__header",children:[f.jsx("h4",{children:t.name||d("promptLibrary.untitled")}),f.jsx("button",{className:"prompt-detail-modal__close",onClick:a,"aria-label":d("common.close"),children:"×"})]}),f.jsxs("div",{className:"prompt-detail-modal__body",children:[f.jsx("div",{className:"prompt-detail-modal__label",children:d("promptLibrary.content")}),f.jsx("div",{className:"prompt-detail-modal__prompt",children:t.text}),t.tags.length>0&&f.jsxs("div",{className:"prompt-detail-modal__tags",children:[f.jsx("div",{className:"prompt-detail-modal__label",children:d("promptLibrary.tags")}),f.jsx("div",{className:"prompt-detail-modal__tag-list",children:t.tags.map(y=>f.jsxs("span",{className:"prompt-detail-modal__tag",children:["#",y]},y))})]})]}),f.jsxs("div",{className:"prompt-detail-modal__footer",children:[f.jsx("button",{className:"prompt-detail-modal__load",onClick:l,children:d("promptLibrary.load")}),f.jsx("button",{className:"prompt-detail-modal__copy",onClick:m,children:d("promptLibrary.copy")}),f.jsxs("button",{className:"prompt-detail-modal__insert",onClick:o,children:["+ ",d("promptLibrary.insert")]}),f.jsx("button",{className:`prompt-detail-modal__favorite${t.isFavorite?" prompt-detail-modal__favorite--on":""}`,onClick:c,children:t.isFavorite?"★ "+d("promptLibrary.unfavorite"):"☆ "+d("promptLibrary.favorite")}),f.jsx("button",{className:"prompt-detail-modal__delete",onClick:s,children:d("common.delete")})]})]})]})}function r3({prompt:t,onLoad:a,onInsert:l,onDelete:o,onToggleFavorite:s}){const{t:c}=Ne(),[d,m]=L.useState(!1),y=t.text.length>45?t.text.slice(0,45)+"...":t.text;return f.jsxs(f.Fragment,{children:[f.jsxs("div",{className:"prompt-library-row",onClick:()=>m(!0),children:[f.jsxs("div",{className:"prompt-library-row__main",children:[f.jsx("div",{className:"prompt-library-row__title",children:t.name||c("promptLibrary.untitled")}),f.jsx("div",{className:"prompt-library-row__preview",children:y})]}),f.jsxs("div",{className:"prompt-library-row__actions",children:[f.jsx("button",{className:"prompt-library-row__insert",onClick:p=>{p.stopPropagation(),l()},title:c("promptLibrary.insert"),"aria-label":c("promptLibrary.insert"),children:"+"}),f.jsx("button",{className:`prompt-library-row__star${t.isFavorite?" prompt-library-row__star--on":""}`,onClick:p=>{p.stopPropagation(),s()},"aria-label":t.isFavorite?c("promptLibrary.unfavorite"):c("promptLibrary.favorite"),children:t.isFavorite?"★":"☆"}),f.jsx("span",{className:"prompt-library-row__chevron",children:"›"})]})]}),d&&f.jsx(o3,{prompt:t,onClose:()=>m(!1),onLoad:()=>{a(),m(!1)},onInsert:()=>{l(),m(!1)},onDelete:o,onToggleFavorite:s})]})}function s3(){const{t}=Ne(),a=Y(z=>z.promptLibraryOpen),l=Y(z=>z.togglePromptLibrary),o=Y(z=>z.promptLibrary),s=Y(z=>z.promptLibraryLoading),c=Y(z=>z.loadPromptLibrary),d=Y(z=>z.deletePromptFromLibrary),m=Y(z=>z.togglePromptFavorite),y=Y(z=>z.setPrompt),p=Y(z=>z.insertPromptToComposer),g=Y(z=>z.clearInsertedPrompts),v=Y(z=>z.showToast),x=Y(z=>z.importPromptsToLibrary),[S,N]=L.useState(""),[_,D]=L.useState(!1),[j,A]=L.useState(!1),[E,w]=L.useState(!1),B=L.useRef(0),O=L.useRef(null);L.useEffect(()=>{a&&c()},[a,c]);const k=L.useCallback(z=>{z.preventDefault(),z.stopPropagation(),B.current+=1,B.current>0&&w(!0)},[]),F=L.useCallback(z=>{z.preventDefault(),z.stopPropagation(),B.current=Math.max(0,B.current-1),B.current===0&&w(!1)},[]),K=L.useCallback(z=>{z.preventDefault(),z.stopPropagation()},[]),de=L.useCallback(z=>{z.preventDefault(),z.stopPropagation(),B.current=0,w(!1);const M=Array.from(z.dataTransfer.files).filter(T=>/\.(txt|md)$/i.test(T.name));M.length>0&&x(M)},[x]),X=L.useCallback(z=>{const M=Array.from(z.target.files??[]);M.length>0&&x(M),z.target.value=""},[x]),te=L.useCallback(z=>{p({id:z.id,name:z.name||t("promptLibrary.untitled"),text:z.text}),v(t("promptLibrary.inserted")),l()},[p,v,t,l]);if(!a)return null;const se=o.prompts.filter(z=>{if(_&&!z.isFavorite)return!1;if(!S.trim())return!0;const M=S.toLowerCase();return z.name.toLowerCase().includes(M)||z.text.toLowerCase().includes(M)||z.tags.some(T=>T.toLowerCase().includes(M))});return f.jsxs("div",{className:"prompt-library-panel",onDragEnter:k,onDragLeave:F,onDragOver:K,onDrop:de,children:[f.jsx("div",{className:"prompt-library-panel__backdrop",onClick:l}),f.jsxs("div",{className:"prompt-library-panel__drawer",children:[f.jsxs("div",{className:"prompt-library-panel__header",children:[f.jsx("h3",{children:t("promptLibrary.title")}),f.jsxs("div",{style:{display:"flex",gap:"8px",alignItems:"center"},children:[f.jsx("button",{className:"prompt-library-panel__add",onClick:()=>A(z=>!z),title:t("promptLibrary.addNew"),"aria-label":t("promptLibrary.addNew"),children:"+"}),f.jsx("button",{className:"prompt-library-panel__import",onClick:()=>O.current?.click(),title:t("promptLibrary.importFiles"),"aria-label":t("promptLibrary.importFiles"),children:t("promptLibrary.import")}),f.jsx("input",{ref:O,className:"prompt-library-panel__file-input",type:"file",accept:".txt,.md,text/plain,text/markdown",multiple:!0,onChange:X}),f.jsx("button",{onClick:l,"aria-label":t("common.close"),children:"×"})]}),j&&f.jsx(Yf,{text:"",onClose:()=>A(!1)})]}),f.jsxs("div",{className:"prompt-library-panel__search",children:[f.jsx("input",{type:"text",placeholder:t("promptLibrary.search"),value:S,onChange:z=>N(z.target.value)}),f.jsxs("label",{className:"prompt-library-panel__filter",children:[f.jsx("input",{type:"checkbox",checked:_,onChange:z=>D(z.target.checked)}),f.jsxs("span",{children:["★ ",t("promptLibrary.favorites")]})]})]}),s?f.jsx("div",{className:"prompt-library-panel__loading",children:t("common.loading")}):f.jsx("div",{className:"prompt-library-panel__list",children:se.length===0?f.jsx("div",{className:"prompt-library-panel__empty",children:t("promptLibrary.empty")}):se.map(z=>f.jsx(r3,{prompt:z,onLoad:()=>{g(),y(z.text),l()},onInsert:()=>te(z),onDelete:()=>d(z.id),onToggleFavorite:()=>m(z.id)},z.id))}),E&&f.jsx("div",{className:"prompt-library-panel__drop-overlay",children:f.jsx("div",{className:"prompt-library-panel__drop-message",children:t("promptLibrary.dropImport")})})]})]})}const c3={ArrowLeft:"previous",ArrowRight:"next",Home:"first",End:"last"};function u3(){const t=Y(o=>o.uiMode),a=Y(o=>o.currentImage),l=Y(o=>o.selectHistoryShortcutTarget);L.useEffect(()=>{if(t!=="classic")return;const o=s=>{const c=c3[s.key];c&&(s.defaultPrevented||Sf(s.target)||a&&(s.preventDefault(),l(c)))};return window.addEventListener("keydown",o),()=>window.removeEventListener("keydown",o)},[a,l,t])}const Is=64,fb="Image Gen";let sh=fb,Hf=!1,Ta=null,ch="",kf=!1;function hb(){return navigator}function mb(){if(typeof document>"u")return null;if(Ta)return Ta;const t=document.querySelector('link[rel~="icon"]');if(t)return Ta=t,ch=t.href||t.getAttribute("href")||"",t;const a=document.createElement("link");return a.rel="icon",document.head.appendChild(a),Ta=a,kf=!0,a}function d3(t){const a=document.createElement("canvas");a.width=Is,a.height=Is;const l=a.getContext("2d");return l?(l.clearRect(0,0,Is,Is),l.fillStyle="#0a0a0a",f3(l,6,6,52,52,12),l.fill(),l.strokeStyle="#ffffff",l.lineWidth=5,l.beginPath(),l.arc(30,32,14,0,Math.PI*2),l.stroke(),l.fillStyle="#ffffff",l.beginPath(),l.arc(30,32,5,0,Math.PI*2),l.fill(),l.beginPath(),l.arc(48,16,t>1?13:10,0,Math.PI*2),l.fillStyle="#ff335f",l.fill(),l.lineWidth=4,l.strokeStyle="#ffffff",l.stroke(),t>1&&(l.fillStyle="#ffffff",l.font="bold 15px sans-serif",l.textAlign="center",l.textBaseline="middle",l.fillText(String(Math.min(t,9)),48,17)),a.toDataURL("image/png")):ch}function f3(t,a,l,o,s,c){t.beginPath(),t.moveTo(a+c,l),t.arcTo(a+o,l,a+o,l+s,c),t.arcTo(a+o,l+s,a,l+s,c),t.arcTo(a,l+s,a,l,c),t.arcTo(a,l,a+o,l,c),t.closePath()}async function h3(t){const a=hb();if(typeof a.setAppBadge=="function")try{await a.setAppBadge(t)}catch{}}async function m3(){const t=hb();if(typeof t.clearAppBadge=="function")try{await t.clearAppBadge()}catch{}}function p3(t){document.title=`(${t}) ${sh}`;const a=mb();a&&(a.href=d3(t)),h3(t)}function V0(){document.title=sh,Ta&&(kf?(Ta.remove(),Ta=null,kf=!1):Ta.href=ch),m3()}function Y0(){Hf||typeof document>"u"||(Hf=!0,sh=document.title||fb,mb())}function g3(t){L.useEffect(()=>(Y0(),()=>{Hf&&V0()}),[]),L.useEffect(()=>{Y0(),t>0?p3(t):V0()},[t])}function y3(){u3();const t=Y(_=>_.hydrateHistory),a=Y(_=>_.loadSessions),l=Y(_=>_.startInFlightPolling),o=Y(_=>_.reconcileInflight),s=Y(_=>_.syncFromStorage),c=Y(_=>_.theme),d=Y(_=>_.resolvedTheme),m=Y(_=>_.themeFamily),y=Y(_=>_.settingsOpen),p=Y(_=>_.unseenGeneratedCount),g=Y(_=>_.syncThemeFromStorage),v=Y(_=>_.syncThemeFamilyFromStorage),x=Y(_=>_.refreshResolvedTheme),N=Y(_=>_.uiMode)==="node"&&Vf?"node":"classic";return g3(p),L.useEffect(()=>{t(),a(),o(),l()},[t,a,o,l]),L.useEffect(()=>{const _=D=>{D.key&&(D.key==="ima2.inFlight"||D.key==="ima2.selectedFilename"?s():D.key==="ima2:theme"?g():D.key==="ima2:themeFamily"&&v())};return window.addEventListener("storage",_),()=>window.removeEventListener("storage",_)},[s,g,v]),L.useEffect(()=>{const _=document.documentElement;_.dataset.theme=d,_.dataset.themeMode=d,_.dataset.themeFamily=m,_.style.colorScheme=d},[d,m]),L.useEffect(()=>{if(c!=="system")return;const _=window.matchMedia("(prefers-color-scheme: light)");return _.addEventListener("change",x),()=>_.removeEventListener("change",x)},[x,c]),L.useEffect(()=>{const _=()=>{__(Y.getState)};return window.addEventListener("beforeunload",_),()=>{window.removeEventListener("beforeunload",_)}},[]),f.jsxs(f.Fragment,{children:[f.jsxs("div",{className:`app${y?" app--settings-open":""}`,"data-theme-mode":d,"data-theme-family":m,children:[f.jsx(Y_,{}),f.jsx(vz,{}),y?f.jsx(Tz,{}):N==="classic"?f.jsx(jy,{}):N==="node"?f.jsx(oz,{}):N==="card-news"?f.jsx(l3,{}):f.jsx(jy,{}),N==="card-news"?null:f.jsx(yz,{})]}),f.jsx(Iz,{}),f.jsx(Hz,{}),f.jsx(Mz,{}),f.jsx(Az,{}),f.jsx(Dz,{}),f.jsx(Lz,{}),f.jsx(s3,{})]})}M1.createRoot(document.getElementById("root")).render(f.jsx(L.StrictMode,{children:f.jsx(y3,{})}));
31
+ //# sourceMappingURL=index-DPSq9qEs.js.map