ima2-gen 1.1.7 → 1.1.8

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"]'))r(s);new MutationObserver(s=>{for(const u of s)if(u.type==="childList")for(const d of u.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&r(d)}).observe(document,{childList:!0,subtree:!0});function o(s){const u={};return s.integrity&&(u.integrity=s.integrity),s.referrerPolicy&&(u.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?u.credentials="include":s.crossOrigin==="anonymous"?u.credentials="omit":u.credentials="same-origin",u}function r(s){if(s.ep)return;s.ep=!0;const u=o(s);fetch(s.href,u)}})();function P0(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var rf={exports:{}},Qi={};var Ny;function U1(){if(Ny)return Qi;Ny=1;var e=Symbol.for("react.transitional.element"),a=Symbol.for("react.fragment");function o(r,s,u){var d=null;if(u!==void 0&&(d=""+u),s.key!==void 0&&(d=""+s.key),"key"in s){u={};for(var m in s)m!=="key"&&(u[m]=s[m])}else u=s;return s=u.ref,{$$typeof:e,type:r,key:d,ref:s!==void 0?s:null,props:u}}return Qi.Fragment=a,Qi.jsx=o,Qi.jsxs=o,Qi}var Ey;function P1(){return Ey||(Ey=1,rf.exports=U1()),rf.exports}var c=P1(),sf={exports:{}},je={};var Cy;function q1(){if(Cy)return je;Cy=1;var e=Symbol.for("react.transitional.element"),a=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),u=Symbol.for("react.consumer"),d=Symbol.for("react.context"),m=Symbol.for("react.forward_ref"),g=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),y=Symbol.for("react.lazy"),v=Symbol.for("react.activity"),b=Symbol.iterator;function S(A){return A===null||typeof A!="object"?null:(A=b&&A[b]||A["@@iterator"],typeof A=="function"?A:null)}var _={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},E=Object.assign,T={};function C(A,B,G){this.props=A,this.context=B,this.refs=T,this.updater=G||_}C.prototype.isReactComponent={},C.prototype.setState=function(A,B){if(typeof A!="object"&&typeof A!="function"&&A!=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,A,B,"setState")},C.prototype.forceUpdate=function(A){this.updater.enqueueForceUpdate(this,A,"forceUpdate")};function k(){}k.prototype=C.prototype;function N(A,B,G){this.props=A,this.context=B,this.refs=T,this.updater=G||_}var w=N.prototype=new k;w.constructor=N,E(w,C.prototype),w.isPureReactComponent=!0;var P=Array.isArray;function I(){}var O={H:null,A:null,T:null,S:null},q=Object.prototype.hasOwnProperty;function X(A,B,G){var J=G.ref;return{$$typeof:e,type:A,key:B,ref:J!==void 0?J:null,props:G}}function ue(A,B){return X(A.type,B,A.props)}function Z(A){return typeof A=="object"&&A!==null&&A.$$typeof===e}function ae(A){var B={"=":"=0",":":"=2"};return"$"+A.replace(/[=:]/g,function(G){return B[G]})}var ce=/\/+/g;function z(A,B){return typeof A=="object"&&A!==null&&A.key!=null?ae(""+A.key):B.toString(36)}function D(A){switch(A.status){case"fulfilled":return A.value;case"rejected":throw A.reason;default:switch(typeof A.status=="string"?A.then(I,I):(A.status="pending",A.then(function(B){A.status==="pending"&&(A.status="fulfilled",A.value=B)},function(B){A.status==="pending"&&(A.status="rejected",A.reason=B)})),A.status){case"fulfilled":return A.value;case"rejected":throw A.reason}}throw A}function R(A,B,G,J,K){var se=typeof A;(se==="undefined"||se==="boolean")&&(A=null);var V=!1;if(A===null)V=!0;else switch(se){case"bigint":case"string":case"number":V=!0;break;case"object":switch(A.$$typeof){case e:case a:V=!0;break;case y:return V=A._init,R(V(A._payload),B,G,J,K)}}if(V)return K=K(A),V=J===""?"."+z(A,0):J,P(K)?(G="",V!=null&&(G=V.replace(ce,"$&/")+"/"),R(K,B,G,"",function(pe){return pe})):K!=null&&(Z(K)&&(K=ue(K,G+(K.key==null||A&&A.key===K.key?"":(""+K.key).replace(ce,"$&/")+"/")+V)),B.push(K)),1;V=0;var te=J===""?".":J+":";if(P(A))for(var he=0;he<A.length;he++)J=A[he],se=te+z(J,he),V+=R(J,B,G,se,K);else if(he=S(A),typeof he=="function")for(A=he.call(A),he=0;!(J=A.next()).done;)J=J.value,se=te+z(J,he++),V+=R(J,B,G,se,K);else if(se==="object"){if(typeof A.then=="function")return R(D(A),B,G,J,K);throw B=String(A),Error("Objects are not valid as a React child (found: "+(B==="[object Object]"?"object with keys {"+Object.keys(A).join(", ")+"}":B)+"). If you meant to render a collection of children, use an array instead.")}return V}function L(A,B,G){if(A==null)return A;var J=[],K=0;return R(A,J,"","",function(se){return B.call(G,se,K++)}),J}function $(A){if(A._status===-1){var B=A._result;B=B(),B.then(function(G){(A._status===0||A._status===-1)&&(A._status=1,A._result=G)},function(G){(A._status===0||A._status===-1)&&(A._status=2,A._result=G)}),A._status===-1&&(A._status=0,A._result=B)}if(A._status===1)return A._result.default;throw A._result}var Q=typeof reportError=="function"?reportError:function(A){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var B=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof A=="object"&&A!==null&&typeof A.message=="string"?String(A.message):String(A),error:A});if(!window.dispatchEvent(B))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",A);return}console.error(A)},re={map:L,forEach:function(A,B,G){L(A,function(){B.apply(this,arguments)},G)},count:function(A){var B=0;return L(A,function(){B++}),B},toArray:function(A){return L(A,function(B){return B})||[]},only:function(A){if(!Z(A))throw Error("React.Children.only expected to receive a single React element child.");return A}};return je.Activity=v,je.Children=re,je.Component=C,je.Fragment=o,je.Profiler=s,je.PureComponent=N,je.StrictMode=r,je.Suspense=g,je.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=O,je.__COMPILER_RUNTIME={__proto__:null,c:function(A){return O.H.useMemoCache(A)}},je.cache=function(A){return function(){return A.apply(null,arguments)}},je.cacheSignal=function(){return null},je.cloneElement=function(A,B,G){if(A==null)throw Error("The argument must be a React element, but you passed "+A+".");var J=E({},A.props),K=A.key;if(B!=null)for(se in B.key!==void 0&&(K=""+B.key),B)!q.call(B,se)||se==="key"||se==="__self"||se==="__source"||se==="ref"&&B.ref===void 0||(J[se]=B[se]);var se=arguments.length-2;if(se===1)J.children=G;else if(1<se){for(var V=Array(se),te=0;te<se;te++)V[te]=arguments[te+2];J.children=V}return X(A.type,K,J)},je.createContext=function(A){return A={$$typeof:d,_currentValue:A,_currentValue2:A,_threadCount:0,Provider:null,Consumer:null},A.Provider=A,A.Consumer={$$typeof:u,_context:A},A},je.createElement=function(A,B,G){var J,K={},se=null;if(B!=null)for(J in B.key!==void 0&&(se=""+B.key),B)q.call(B,J)&&J!=="key"&&J!=="__self"&&J!=="__source"&&(K[J]=B[J]);var V=arguments.length-2;if(V===1)K.children=G;else if(1<V){for(var te=Array(V),he=0;he<V;he++)te[he]=arguments[he+2];K.children=te}if(A&&A.defaultProps)for(J in V=A.defaultProps,V)K[J]===void 0&&(K[J]=V[J]);return X(A,se,K)},je.createRef=function(){return{current:null}},je.forwardRef=function(A){return{$$typeof:m,render:A}},je.isValidElement=Z,je.lazy=function(A){return{$$typeof:y,_payload:{_status:-1,_result:A},_init:$}},je.memo=function(A,B){return{$$typeof:p,type:A,compare:B===void 0?null:B}},je.startTransition=function(A){var B=O.T,G={};O.T=G;try{var J=A(),K=O.S;K!==null&&K(G,J),typeof J=="object"&&J!==null&&typeof J.then=="function"&&J.then(I,Q)}catch(se){Q(se)}finally{B!==null&&G.types!==null&&(B.types=G.types),O.T=B}},je.unstable_useCacheRefresh=function(){return O.H.useCacheRefresh()},je.use=function(A){return O.H.use(A)},je.useActionState=function(A,B,G){return O.H.useActionState(A,B,G)},je.useCallback=function(A,B){return O.H.useCallback(A,B)},je.useContext=function(A){return O.H.useContext(A)},je.useDebugValue=function(){},je.useDeferredValue=function(A,B){return O.H.useDeferredValue(A,B)},je.useEffect=function(A,B){return O.H.useEffect(A,B)},je.useEffectEvent=function(A){return O.H.useEffectEvent(A)},je.useId=function(){return O.H.useId()},je.useImperativeHandle=function(A,B,G){return O.H.useImperativeHandle(A,B,G)},je.useInsertionEffect=function(A,B){return O.H.useInsertionEffect(A,B)},je.useLayoutEffect=function(A,B){return O.H.useLayoutEffect(A,B)},je.useMemo=function(A,B){return O.H.useMemo(A,B)},je.useOptimistic=function(A,B){return O.H.useOptimistic(A,B)},je.useReducer=function(A,B,G){return O.H.useReducer(A,B,G)},je.useRef=function(A){return O.H.useRef(A)},je.useState=function(A){return O.H.useState(A)},je.useSyncExternalStore=function(A,B,G){return O.H.useSyncExternalStore(A,B,G)},je.useTransition=function(){return O.H.useTransition()},je.version="19.2.5",je}var Ty;function Ms(){return Ty||(Ty=1,sf.exports=q1()),sf.exports}var M=Ms();const ls=P0(M);var lf={exports:{}},Ji={},cf={exports:{}},uf={};var My;function G1(){return My||(My=1,(function(e){function a(R,L){var $=R.length;R.push(L);e:for(;0<$;){var Q=$-1>>>1,re=R[Q];if(0<s(re,L))R[Q]=L,R[$]=re,$=Q;else break e}}function o(R){return R.length===0?null:R[0]}function r(R){if(R.length===0)return null;var L=R[0],$=R.pop();if($!==L){R[0]=$;e:for(var Q=0,re=R.length,A=re>>>1;Q<A;){var B=2*(Q+1)-1,G=R[B],J=B+1,K=R[J];if(0>s(G,$))J<re&&0>s(K,G)?(R[Q]=K,R[J]=$,Q=J):(R[Q]=G,R[B]=$,Q=B);else if(J<re&&0>s(K,$))R[Q]=K,R[J]=$,Q=J;else break e}}return L}function s(R,L){var $=R.sortIndex-L.sortIndex;return $!==0?$:R.id-L.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var u=performance;e.unstable_now=function(){return u.now()}}else{var d=Date,m=d.now();e.unstable_now=function(){return d.now()-m}}var g=[],p=[],y=1,v=null,b=3,S=!1,_=!1,E=!1,T=!1,C=typeof setTimeout=="function"?setTimeout:null,k=typeof clearTimeout=="function"?clearTimeout:null,N=typeof setImmediate<"u"?setImmediate:null;function w(R){for(var L=o(p);L!==null;){if(L.callback===null)r(p);else if(L.startTime<=R)r(p),L.sortIndex=L.expirationTime,a(g,L);else break;L=o(p)}}function P(R){if(E=!1,w(R),!_)if(o(g)!==null)_=!0,I||(I=!0,ae());else{var L=o(p);L!==null&&D(P,L.startTime-R)}}var I=!1,O=-1,q=5,X=-1;function ue(){return T?!0:!(e.unstable_now()-X<q)}function Z(){if(T=!1,I){var R=e.unstable_now();X=R;var L=!0;try{e:{_=!1,E&&(E=!1,k(O),O=-1),S=!0;var $=b;try{t:{for(w(R),v=o(g);v!==null&&!(v.expirationTime>R&&ue());){var Q=v.callback;if(typeof Q=="function"){v.callback=null,b=v.priorityLevel;var re=Q(v.expirationTime<=R);if(R=e.unstable_now(),typeof re=="function"){v.callback=re,w(R),L=!0;break t}v===o(g)&&r(g),w(R)}else r(g);v=o(g)}if(v!==null)L=!0;else{var A=o(p);A!==null&&D(P,A.startTime-R),L=!1}}break e}finally{v=null,b=$,S=!1}L=void 0}}finally{L?ae():I=!1}}}var ae;if(typeof N=="function")ae=function(){N(Z)};else if(typeof MessageChannel<"u"){var ce=new MessageChannel,z=ce.port2;ce.port1.onmessage=Z,ae=function(){z.postMessage(null)}}else ae=function(){C(Z,0)};function D(R,L){O=C(function(){R(e.unstable_now())},L)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(R){R.callback=null},e.unstable_forceFrameRate=function(R){0>R||125<R?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):q=0<R?Math.floor(1e3/R):5},e.unstable_getCurrentPriorityLevel=function(){return b},e.unstable_next=function(R){switch(b){case 1:case 2:case 3:var L=3;break;default:L=b}var $=b;b=L;try{return R()}finally{b=$}},e.unstable_requestPaint=function(){T=!0},e.unstable_runWithPriority=function(R,L){switch(R){case 1:case 2:case 3:case 4:case 5:break;default:R=3}var $=b;b=R;try{return L()}finally{b=$}},e.unstable_scheduleCallback=function(R,L,$){var Q=e.unstable_now();switch(typeof $=="object"&&$!==null?($=$.delay,$=typeof $=="number"&&0<$?Q+$:Q):$=Q,R){case 1:var re=-1;break;case 2:re=250;break;case 5:re=1073741823;break;case 4:re=1e4;break;default:re=5e3}return re=$+re,R={id:y++,callback:L,priorityLevel:R,startTime:$,expirationTime:re,sortIndex:-1},$>Q?(R.sortIndex=$,a(p,R),o(g)===null&&R===o(p)&&(E?(k(O),O=-1):E=!0,D(P,$-Q))):(R.sortIndex=re,a(g,R),_||S||(_=!0,I||(I=!0,ae()))),R},e.unstable_shouldYield=ue,e.unstable_wrapCallback=function(R){var L=b;return function(){var $=b;b=L;try{return R.apply(this,arguments)}finally{b=$}}}})(uf)),uf}var jy;function F1(){return jy||(jy=1,cf.exports=G1()),cf.exports}var df={exports:{}},At={};var Ay;function $1(){if(Ay)return At;Ay=1;var e=Ms();function a(g){var p="https://react.dev/errors/"+g;if(1<arguments.length){p+="?args[]="+encodeURIComponent(arguments[1]);for(var y=2;y<arguments.length;y++)p+="&args[]="+encodeURIComponent(arguments[y])}return"Minified React error #"+g+"; visit "+p+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function o(){}var r={d:{f:o,r:function(){throw Error(a(522))},D:o,C:o,L:o,m:o,X:o,S:o,M:o},p:0,findDOMNode:null},s=Symbol.for("react.portal");function u(g,p,y){var v=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:s,key:v==null?null:""+v,children:g,containerInfo:p,implementation:y}}var d=e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function m(g,p){if(g==="font")return"";if(typeof p=="string")return p==="use-credentials"?p:""}return At.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=r,At.createPortal=function(g,p){var y=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 u(g,p,null,y)},At.flushSync=function(g){var p=d.T,y=r.p;try{if(d.T=null,r.p=2,g)return g()}finally{d.T=p,r.p=y,r.d.f()}},At.preconnect=function(g,p){typeof g=="string"&&(p?(p=p.crossOrigin,p=typeof p=="string"?p==="use-credentials"?p:"":void 0):p=null,r.d.C(g,p))},At.prefetchDNS=function(g){typeof g=="string"&&r.d.D(g)},At.preinit=function(g,p){if(typeof g=="string"&&p&&typeof p.as=="string"){var y=p.as,v=m(y,p.crossOrigin),b=typeof p.integrity=="string"?p.integrity:void 0,S=typeof p.fetchPriority=="string"?p.fetchPriority:void 0;y==="style"?r.d.S(g,typeof p.precedence=="string"?p.precedence:void 0,{crossOrigin:v,integrity:b,fetchPriority:S}):y==="script"&&r.d.X(g,{crossOrigin:v,integrity:b,fetchPriority:S,nonce:typeof p.nonce=="string"?p.nonce:void 0})}},At.preinitModule=function(g,p){if(typeof g=="string")if(typeof p=="object"&&p!==null){if(p.as==null||p.as==="script"){var y=m(p.as,p.crossOrigin);r.d.M(g,{crossOrigin:y,integrity:typeof p.integrity=="string"?p.integrity:void 0,nonce:typeof p.nonce=="string"?p.nonce:void 0})}}else p==null&&r.d.M(g)},At.preload=function(g,p){if(typeof g=="string"&&typeof p=="object"&&p!==null&&typeof p.as=="string"){var y=p.as,v=m(y,p.crossOrigin);r.d.L(g,y,{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})}},At.preloadModule=function(g,p){if(typeof g=="string")if(p){var y=m(p.as,p.crossOrigin);r.d.m(g,{as:typeof p.as=="string"&&p.as!=="script"?p.as:void 0,crossOrigin:y,integrity:typeof p.integrity=="string"?p.integrity:void 0})}else r.d.m(g)},At.requestFormReset=function(g){r.d.r(g)},At.unstable_batchedUpdates=function(g,p){return g(p)},At.useFormState=function(g,p,y){return d.H.useFormState(g,p,y)},At.useFormStatus=function(){return d.H.useHostTransitionStatus()},At.version="19.2.5",At}var Ry;function q0(){if(Ry)return df.exports;Ry=1;function e(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(a){console.error(a)}}return e(),df.exports=$1(),df.exports}var Dy;function V1(){if(Dy)return Ji;Dy=1;var e=F1(),a=Ms(),o=q0();function r(t){var n="https://react.dev/errors/"+t;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 #"+t+"; visit "+n+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function s(t){return!(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)}function u(t){var n=t,i=t;if(t.alternate)for(;n.return;)n=n.return;else{t=n;do n=t,(n.flags&4098)!==0&&(i=n.return),t=n.return;while(t)}return n.tag===3?i:null}function d(t){if(t.tag===13){var n=t.memoizedState;if(n===null&&(t=t.alternate,t!==null&&(n=t.memoizedState)),n!==null)return n.dehydrated}return null}function m(t){if(t.tag===31){var n=t.memoizedState;if(n===null&&(t=t.alternate,t!==null&&(n=t.memoizedState)),n!==null)return n.dehydrated}return null}function g(t){if(u(t)!==t)throw Error(r(188))}function p(t){var n=t.alternate;if(!n){if(n=u(t),n===null)throw Error(r(188));return n!==t?null:t}for(var i=t,l=n;;){var f=i.return;if(f===null)break;var h=f.alternate;if(h===null){if(l=f.return,l!==null){i=l;continue}break}if(f.child===h.child){for(h=f.child;h;){if(h===i)return g(f),t;if(h===l)return g(f),n;h=h.sibling}throw Error(r(188))}if(i.return!==l.return)i=f,l=h;else{for(var x=!1,j=f.child;j;){if(j===i){x=!0,i=f,l=h;break}if(j===l){x=!0,l=f,i=h;break}j=j.sibling}if(!x){for(j=h.child;j;){if(j===i){x=!0,i=h,l=f;break}if(j===l){x=!0,l=h,i=f;break}j=j.sibling}if(!x)throw Error(r(189))}}if(i.alternate!==l)throw Error(r(190))}if(i.tag!==3)throw Error(r(188));return i.stateNode.current===i?t:n}function y(t){var n=t.tag;if(n===5||n===26||n===27||n===6)return t;for(t=t.child;t!==null;){if(n=y(t),n!==null)return n;t=t.sibling}return null}var v=Object.assign,b=Symbol.for("react.element"),S=Symbol.for("react.transitional.element"),_=Symbol.for("react.portal"),E=Symbol.for("react.fragment"),T=Symbol.for("react.strict_mode"),C=Symbol.for("react.profiler"),k=Symbol.for("react.consumer"),N=Symbol.for("react.context"),w=Symbol.for("react.forward_ref"),P=Symbol.for("react.suspense"),I=Symbol.for("react.suspense_list"),O=Symbol.for("react.memo"),q=Symbol.for("react.lazy"),X=Symbol.for("react.activity"),ue=Symbol.for("react.memo_cache_sentinel"),Z=Symbol.iterator;function ae(t){return t===null||typeof t!="object"?null:(t=Z&&t[Z]||t["@@iterator"],typeof t=="function"?t:null)}var ce=Symbol.for("react.client.reference");function z(t){if(t==null)return null;if(typeof t=="function")return t.$$typeof===ce?null:t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case E:return"Fragment";case C:return"Profiler";case T:return"StrictMode";case P:return"Suspense";case I:return"SuspenseList";case X:return"Activity"}if(typeof t=="object")switch(t.$$typeof){case _:return"Portal";case N:return t.displayName||"Context";case k:return(t._context.displayName||"Context")+".Consumer";case w:var n=t.render;return t=t.displayName,t||(t=n.displayName||n.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case O:return n=t.displayName||null,n!==null?n:z(t.type)||"Memo";case q:n=t._payload,t=t._init;try{return z(t(n))}catch{}}return null}var D=Array.isArray,R=a.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,L=o.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,$={pending:!1,data:null,method:null,action:null},Q=[],re=-1;function A(t){return{current:t}}function B(t){0>re||(t.current=Q[re],Q[re]=null,re--)}function G(t,n){re++,Q[re]=t.current,t.current=n}var J=A(null),K=A(null),se=A(null),V=A(null);function te(t,n){switch(G(se,n),G(K,t),G(J,null),n.nodeType){case 9:case 11:t=(t=n.documentElement)&&(t=t.namespaceURI)?Yg(t):0;break;default:if(t=n.tagName,n=n.namespaceURI)n=Yg(n),t=Xg(n,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}B(J),G(J,t)}function he(){B(J),B(K),B(se)}function pe(t){t.memoizedState!==null&&G(V,t);var n=J.current,i=Xg(n,t.type);n!==i&&(G(K,t),G(J,i))}function ye(t){K.current===t&&(B(J),B(K)),V.current===t&&(B(V),Yi._currentValue=$)}var ve,Te;function De(t){if(ve===void 0)try{throw Error()}catch(i){var n=i.stack.trim().match(/\n( *(at )?)/);ve=n&&n[1]||"",Te=-1<i.stack.indexOf(`
2
+ at`)?" (<anonymous>)":-1<i.stack.indexOf("@")?"@unknown:0:0":""}return`
3
+ `+ve+t+Te}var Fe=!1;function Ue(t,n){if(!t||Fe)return"";Fe=!0;var i=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var l={DetermineComponentFrameRoot:function(){try{if(n){var me=function(){throw Error()};if(Object.defineProperty(me.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(me,[])}catch(ie){var oe=ie}Reflect.construct(t,[],me)}else{try{me.call()}catch(ie){oe=ie}t.call(me.prototype)}}else{try{throw Error()}catch(ie){oe=ie}(me=t())&&typeof me.catch=="function"&&me.catch(function(){})}}catch(ie){if(ie&&oe&&typeof ie.stack=="string")return[ie.stack,oe.stack]}return[null,null]}};l.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var f=Object.getOwnPropertyDescriptor(l.DetermineComponentFrameRoot,"name");f&&f.configurable&&Object.defineProperty(l.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var h=l.DetermineComponentFrameRoot(),x=h[0],j=h[1];if(x&&j){var F=x.split(`
4
+ `),ne=j.split(`
5
+ `);for(f=l=0;l<F.length&&!F[l].includes("DetermineComponentFrameRoot");)l++;for(;f<ne.length&&!ne[f].includes("DetermineComponentFrameRoot");)f++;if(l===F.length||f===ne.length)for(l=F.length-1,f=ne.length-1;1<=l&&0<=f&&F[l]!==ne[f];)f--;for(;1<=l&&0<=f;l--,f--)if(F[l]!==ne[f]){if(l!==1||f!==1)do if(l--,f--,0>f||F[l]!==ne[f]){var le=`
6
+ `+F[l].replace(" at new "," at ");return t.displayName&&le.includes("<anonymous>")&&(le=le.replace("<anonymous>",t.displayName)),le}while(1<=l&&0<=f);break}}}finally{Fe=!1,Error.prepareStackTrace=i}return(i=t?t.displayName||t.name:"")?De(i):""}function Je(t,n){switch(t.tag){case 26:case 27:case 5:return De(t.type);case 16:return De("Lazy");case 13:return t.child!==n&&n!==null?De("Suspense Fallback"):De("Suspense");case 19:return De("SuspenseList");case 0:case 15:return Ue(t.type,!1);case 11:return Ue(t.type.render,!1);case 1:return Ue(t.type,!0);case 31:return De("Activity");default:return""}}function jt(t){try{var n="",i=null;do n+=Je(t,i),i=t,t=t.return;while(t);return n}catch(l){return`
7
+ Error generating stack: `+l.message+`
8
+ `+l.stack}}var rt=Object.prototype.hasOwnProperty,Ft=e.unstable_scheduleCallback,an=e.unstable_cancelCallback,Zn=e.unstable_shouldYield,kn=e.unstable_requestPaint,yt=e.unstable_now,Qn=e.unstable_getCurrentPriorityLevel,vt=e.unstable_ImmediatePriority,kt=e.unstable_UserBlockingPriority,Ot=e.unstable_NormalPriority,Wo=e.unstable_LowPriority,$t=e.unstable_IdlePriority,pn=e.log,Ta=e.unstable_setDisableYieldValue,Rt=null,wt=null;function bt(t){if(typeof pn=="function"&&Ta(t),wt&&typeof wt.setStrictMode=="function")try{wt.setStrictMode(Rt,t)}catch{}}var it=Math.clz32?Math.clz32:On,Jn=Math.log,ri=Math.LN2;function On(t){return t>>>=0,t===0?32:31-(Jn(t)/ri|0)|0}var Ma=256,gn=262144,yn=4194304;function fe(t){var n=t&42;if(n!==0)return n;switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function zn(t,n,i){var l=t.pendingLanes;if(l===0)return 0;var f=0,h=t.suspendedLanes,x=t.pingedLanes;t=t.warmLanes;var j=l&134217727;return j!==0?(l=j&~h,l!==0?f=fe(l):(x&=j,x!==0?f=fe(x):i||(i=j&~t,i!==0&&(f=fe(i))))):(j=l&~h,j!==0?f=fe(j):x!==0?f=fe(x):i||(i=l&~t,i!==0&&(f=fe(i)))),f===0?0:n!==0&&n!==f&&(n&h)===0&&(h=f&-f,i=n&-n,h>=i||h===32&&(i&4194048)!==0)?n:f}function Wn(t,n){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&n)===0}function ii(t,n){switch(t){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 er(){var t=yn;return yn<<=1,(yn&62914560)===0&&(yn=4194304),t}function uo(t){for(var n=[],i=0;31>i;i++)n.push(t);return n}function Vt(t,n){t.pendingLanes|=n,n!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function In(t,n,i,l,f,h){var x=t.pendingLanes;t.pendingLanes=i,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=i,t.entangledLanes&=i,t.errorRecoveryDisabledLanes&=i,t.shellSuspendCounter=0;var j=t.entanglements,F=t.expirationTimes,ne=t.hiddenUpdates;for(i=x&~i;0<i;){var le=31-it(i),me=1<<le;j[le]=0,F[le]=-1;var oe=ne[le];if(oe!==null)for(ne[le]=null,le=0;le<oe.length;le++){var ie=oe[le];ie!==null&&(ie.lane&=-536870913)}i&=~me}l!==0&&xt(t,l,0),h!==0&&f===0&&t.tag!==0&&(t.suspendedLanes|=h&~(x&~n))}function xt(t,n,i){t.pendingLanes|=n,t.suspendedLanes&=~n;var l=31-it(n);t.entangledLanes|=n,t.entanglements[l]=t.entanglements[l]|1073741824|i&261930}function tr(t,n){var i=t.entangledLanes|=n;for(t=t.entanglements;i;){var l=31-it(i),f=1<<l;f&n|t[l]&n&&(t[l]|=n),i&=~f}}function ja(t,n){var i=n&-n;return i=(i&42)!==0?1:Aa(i),(i&(t.suspendedLanes|n))!==0?0:i}function Aa(t){switch(t){case 2:t=1;break;case 8:t=4;break;case 32:t=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:t=128;break;case 268435456:t=134217728;break;default:t=0}return t}function fo(t){return t&=-t,2<t?8<t?(t&134217727)!==0?32:268435456:8:2}function on(){var t=L.p;return t!==0?t:(t=window.event,t===void 0?32:yy(t.type))}function nr(t,n){var i=L.p;try{return L.p=t,n()}finally{L.p=i}}var rn=Math.random().toString(36).slice(2),ot="__reactFiber$"+rn,_t="__reactProps$"+rn,vn="__reactContainer$"+rn,Ra="__reactEvents$"+rn,mo="__reactListeners$"+rn,si="__reactHandles$"+rn,ar="__reactResources$"+rn,ea="__reactMarker$"+rn;function ho(t){delete t[ot],delete t[_t],delete t[Ra],delete t[mo],delete t[si]}function Ln(t){var n=t[ot];if(n)return n;for(var i=t.parentNode;i;){if(n=i[vn]||i[ot]){if(i=n.alternate,n.child!==null||i!==null&&i.child!==null)for(t=ty(t);t!==null;){if(i=t[ot])return i;t=ty(t)}return n}t=i,i=t.parentNode}return null}function bn(t){if(t=t[ot]||t[vn]){var n=t.tag;if(n===5||n===6||n===13||n===31||n===26||n===27||n===3)return t}return null}function xn(t){var n=t.tag;if(n===5||n===26||n===27||n===6)return t.stateNode;throw Error(r(33))}function Sn(t){var n=t[ar];return n||(n=t[ar]={hoistableStyles:new Map,hoistableScripts:new Map}),n}function st(t){t[ea]=!0}var or=new Set,rr={};function wn(t,n){Bn(t,n),Bn(t+"Capture",n)}function Bn(t,n){for(rr[t]=n,t=0;t<n.length;t++)or.add(n[t])}var po=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]*$"),go={},ta={};function li(t){return rt.call(ta,t)?!0:rt.call(go,t)?!1:po.test(t)?ta[t]=!0:(go[t]=!0,!1)}function Da(t,n,i){if(li(n))if(i===null)t.removeAttribute(n);else{switch(typeof i){case"undefined":case"function":case"symbol":t.removeAttribute(n);return;case"boolean":var l=n.toLowerCase().slice(0,5);if(l!=="data-"&&l!=="aria-"){t.removeAttribute(n);return}}t.setAttribute(n,""+i)}}function H(t,n,i){if(i===null)t.removeAttribute(n);else{switch(typeof i){case"undefined":case"function":case"symbol":case"boolean":t.removeAttribute(n);return}t.setAttribute(n,""+i)}}function ge(t,n,i,l){if(l===null)t.removeAttribute(i);else{switch(typeof l){case"undefined":case"function":case"symbol":case"boolean":t.removeAttribute(i);return}t.setAttributeNS(n,i,""+l)}}function Ee(t){switch(typeof t){case"bigint":case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function ze(t){var n=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(n==="checkbox"||n==="radio")}function Hn(t,n,i){var l=Object.getOwnPropertyDescriptor(t.constructor.prototype,n);if(!t.hasOwnProperty(n)&&typeof l<"u"&&typeof l.get=="function"&&typeof l.set=="function"){var f=l.get,h=l.set;return Object.defineProperty(t,n,{configurable:!0,get:function(){return f.call(this)},set:function(x){i=""+x,h.call(this,x)}}),Object.defineProperty(t,n,{enumerable:l.enumerable}),{getValue:function(){return i},setValue:function(x){i=""+x},stopTracking:function(){t._valueTracker=null,delete t[n]}}}}function na(t){if(!t._valueTracker){var n=ze(t)?"checked":"value";t._valueTracker=Hn(t,n,""+t[n])}}function ir(t){if(!t)return!1;var n=t._valueTracker;if(!n)return!0;var i=n.getValue(),l="";return t&&(l=ze(t)?t.checked?"true":"false":t.value),t=l,t!==i?(n.setValue(t),!0):!1}function yo(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var eu=/[\n"\\]/g;function zt(t){return t.replace(eu,function(n){return"\\"+n.charCodeAt(0).toString(16)+" "})}function vo(t,n,i,l,f,h,x,j){t.name="",x!=null&&typeof x!="function"&&typeof x!="symbol"&&typeof x!="boolean"?t.type=x:t.removeAttribute("type"),n!=null?x==="number"?(n===0&&t.value===""||t.value!=n)&&(t.value=""+Ee(n)):t.value!==""+Ee(n)&&(t.value=""+Ee(n)):x!=="submit"&&x!=="reset"||t.removeAttribute("value"),n!=null?ci(t,x,Ee(n)):i!=null?ci(t,x,Ee(i)):l!=null&&t.removeAttribute("value"),f==null&&h!=null&&(t.defaultChecked=!!h),f!=null&&(t.checked=f&&typeof f!="function"&&typeof f!="symbol"),j!=null&&typeof j!="function"&&typeof j!="symbol"&&typeof j!="boolean"?t.name=""+Ee(j):t.removeAttribute("name")}function Ls(t,n,i,l,f,h,x,j){if(h!=null&&typeof h!="function"&&typeof h!="symbol"&&typeof h!="boolean"&&(t.type=h),n!=null||i!=null){if(!(h!=="submit"&&h!=="reset"||n!=null)){na(t);return}i=i!=null?""+Ee(i):"",n=n!=null?""+Ee(n):i,j||n===t.value||(t.value=n),t.defaultValue=n}l=l??f,l=typeof l!="function"&&typeof l!="symbol"&&!!l,t.checked=j?t.checked:!!l,t.defaultChecked=!!l,x!=null&&typeof x!="function"&&typeof x!="symbol"&&typeof x!="boolean"&&(t.name=x),na(t)}function ci(t,n,i){n==="number"&&yo(t.ownerDocument)===t||t.defaultValue===""+i||(t.defaultValue=""+i)}function aa(t,n,i,l){if(t=t.options,n){n={};for(var f=0;f<i.length;f++)n["$"+i[f]]=!0;for(i=0;i<t.length;i++)f=n.hasOwnProperty("$"+t[i].value),t[i].selected!==f&&(t[i].selected=f),f&&l&&(t[i].defaultSelected=!0)}else{for(i=""+Ee(i),n=null,f=0;f<t.length;f++){if(t[f].value===i){t[f].selected=!0,l&&(t[f].defaultSelected=!0);return}n!==null||t[f].disabled||(n=t[f])}n!==null&&(n.selected=!0)}}function qm(t,n,i){if(n!=null&&(n=""+Ee(n),n!==t.value&&(t.value=n),i==null)){t.defaultValue!==n&&(t.defaultValue=n);return}t.defaultValue=i!=null?""+Ee(i):""}function Gm(t,n,i,l){if(n==null){if(l!=null){if(i!=null)throw Error(r(92));if(D(l)){if(1<l.length)throw Error(r(93));l=l[0]}i=l}i==null&&(i=""),n=i}i=Ee(n),t.defaultValue=i,l=t.textContent,l===i&&l!==""&&l!==null&&(t.value=l),na(t)}function sr(t,n){if(n){var i=t.firstChild;if(i&&i===t.lastChild&&i.nodeType===3){i.nodeValue=n;return}}t.textContent=n}var zS=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 Fm(t,n,i){var l=n.indexOf("--")===0;i==null||typeof i=="boolean"||i===""?l?t.setProperty(n,""):n==="float"?t.cssFloat="":t[n]="":l?t.setProperty(n,i):typeof i!="number"||i===0||zS.has(n)?n==="float"?t.cssFloat=i:t[n]=(""+i).trim():t[n]=i+"px"}function $m(t,n,i){if(n!=null&&typeof n!="object")throw Error(r(62));if(t=t.style,i!=null){for(var l in i)!i.hasOwnProperty(l)||n!=null&&n.hasOwnProperty(l)||(l.indexOf("--")===0?t.setProperty(l,""):l==="float"?t.cssFloat="":t[l]="");for(var f in n)l=n[f],n.hasOwnProperty(f)&&i[f]!==l&&Fm(t,f,l)}else for(var h in n)n.hasOwnProperty(h)&&Fm(t,h,n[h])}function tu(t){if(t.indexOf("-")===-1)return!1;switch(t){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 IS=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"]]),LS=/^[\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 Bs(t){return LS.test(""+t)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":t}function oa(){}var nu=null;function au(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var lr=null,cr=null;function Vm(t){var n=bn(t);if(n&&(t=n.stateNode)){var i=t[_t]||null;e:switch(t=n.stateNode,n.type){case"input":if(vo(t,i.value,i.defaultValue,i.defaultValue,i.checked,i.defaultChecked,i.type,i.name),n=i.name,i.type==="radio"&&n!=null){for(i=t;i.parentNode;)i=i.parentNode;for(i=i.querySelectorAll('input[name="'+zt(""+n)+'"][type="radio"]'),n=0;n<i.length;n++){var l=i[n];if(l!==t&&l.form===t.form){var f=l[_t]||null;if(!f)throw Error(r(90));vo(l,f.value,f.defaultValue,f.defaultValue,f.checked,f.defaultChecked,f.type,f.name)}}for(n=0;n<i.length;n++)l=i[n],l.form===t.form&&ir(l)}break e;case"textarea":qm(t,i.value,i.defaultValue);break e;case"select":n=i.value,n!=null&&aa(t,!!i.multiple,n,!1)}}}var ou=!1;function Ym(t,n,i){if(ou)return t(n,i);ou=!0;try{var l=t(n);return l}finally{if(ou=!1,(lr!==null||cr!==null)&&(El(),lr&&(n=lr,t=cr,cr=lr=null,Vm(n),t)))for(n=0;n<t.length;n++)Vm(t[n])}}function ui(t,n){var i=t.stateNode;if(i===null)return null;var l=i[_t]||null;if(l===null)return null;i=l[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":(l=!l.disabled)||(t=t.type,l=!(t==="button"||t==="input"||t==="select"||t==="textarea")),t=!l;break e;default:t=!1}if(t)return null;if(i&&typeof i!="function")throw Error(r(231,n,typeof i));return i}var ra=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),ru=!1;if(ra)try{var di={};Object.defineProperty(di,"passive",{get:function(){ru=!0}}),window.addEventListener("test",di,di),window.removeEventListener("test",di,di)}catch{ru=!1}var ka=null,iu=null,Hs=null;function Xm(){if(Hs)return Hs;var t,n=iu,i=n.length,l,f="value"in ka?ka.value:ka.textContent,h=f.length;for(t=0;t<i&&n[t]===f[t];t++);var x=i-t;for(l=1;l<=x&&n[i-l]===f[h-l];l++);return Hs=f.slice(t,1<l?1-l:void 0)}function Us(t){var n=t.keyCode;return"charCode"in t?(t=t.charCode,t===0&&n===13&&(t=13)):t=n,t===10&&(t=13),32<=t||t===13?t:0}function Ps(){return!0}function Km(){return!1}function It(t){function n(i,l,f,h,x){this._reactName=i,this._targetInst=f,this.type=l,this.nativeEvent=h,this.target=x,this.currentTarget=null;for(var j in t)t.hasOwnProperty(j)&&(i=t[j],this[j]=i?i(h):h[j]);return this.isDefaultPrevented=(h.defaultPrevented!=null?h.defaultPrevented:h.returnValue===!1)?Ps:Km,this.isPropagationStopped=Km,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=Ps)},stopPropagation:function(){var i=this.nativeEvent;i&&(i.stopPropagation?i.stopPropagation():typeof i.cancelBubble!="unknown"&&(i.cancelBubble=!0),this.isPropagationStopped=Ps)},persist:function(){},isPersistent:Ps}),n}var bo={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(t){return t.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},qs=It(bo),fi=v({},bo,{view:0,detail:0}),BS=It(fi),su,lu,mi,Gs=v({},fi,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:uu,button:0,buttons:0,relatedTarget:function(t){return t.relatedTarget===void 0?t.fromElement===t.srcElement?t.toElement:t.fromElement:t.relatedTarget},movementX:function(t){return"movementX"in t?t.movementX:(t!==mi&&(mi&&t.type==="mousemove"?(su=t.screenX-mi.screenX,lu=t.screenY-mi.screenY):lu=su=0,mi=t),su)},movementY:function(t){return"movementY"in t?t.movementY:lu}}),Zm=It(Gs),HS=v({},Gs,{dataTransfer:0}),US=It(HS),PS=v({},fi,{relatedTarget:0}),cu=It(PS),qS=v({},bo,{animationName:0,elapsedTime:0,pseudoElement:0}),GS=It(qS),FS=v({},bo,{clipboardData:function(t){return"clipboardData"in t?t.clipboardData:window.clipboardData}}),$S=It(FS),VS=v({},bo,{data:0}),Qm=It(VS),YS={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},XS={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"},KS={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function ZS(t){var n=this.nativeEvent;return n.getModifierState?n.getModifierState(t):(t=KS[t])?!!n[t]:!1}function uu(){return ZS}var QS=v({},fi,{key:function(t){if(t.key){var n=YS[t.key]||t.key;if(n!=="Unidentified")return n}return t.type==="keypress"?(t=Us(t),t===13?"Enter":String.fromCharCode(t)):t.type==="keydown"||t.type==="keyup"?XS[t.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:uu,charCode:function(t){return t.type==="keypress"?Us(t):0},keyCode:function(t){return t.type==="keydown"||t.type==="keyup"?t.keyCode:0},which:function(t){return t.type==="keypress"?Us(t):t.type==="keydown"||t.type==="keyup"?t.keyCode:0}}),JS=It(QS),WS=v({},Gs,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Jm=It(WS),ew=v({},fi,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:uu}),tw=It(ew),nw=v({},bo,{propertyName:0,elapsedTime:0,pseudoElement:0}),aw=It(nw),ow=v({},Gs,{deltaX:function(t){return"deltaX"in t?t.deltaX:"wheelDeltaX"in t?-t.wheelDeltaX:0},deltaY:function(t){return"deltaY"in t?t.deltaY:"wheelDeltaY"in t?-t.wheelDeltaY:"wheelDelta"in t?-t.wheelDelta:0},deltaZ:0,deltaMode:0}),rw=It(ow),iw=v({},bo,{newState:0,oldState:0}),sw=It(iw),lw=[9,13,27,32],du=ra&&"CompositionEvent"in window,hi=null;ra&&"documentMode"in document&&(hi=document.documentMode);var cw=ra&&"TextEvent"in window&&!hi,Wm=ra&&(!du||hi&&8<hi&&11>=hi),eh=" ",th=!1;function nh(t,n){switch(t){case"keyup":return lw.indexOf(n.keyCode)!==-1;case"keydown":return n.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function ah(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var ur=!1;function uw(t,n){switch(t){case"compositionend":return ah(n);case"keypress":return n.which!==32?null:(th=!0,eh);case"textInput":return t=n.data,t===eh&&th?null:t;default:return null}}function dw(t,n){if(ur)return t==="compositionend"||!du&&nh(t,n)?(t=Xm(),Hs=iu=ka=null,ur=!1,t):null;switch(t){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 Wm&&n.locale!=="ko"?null:n.data;default:return null}}var fw={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 oh(t){var n=t&&t.nodeName&&t.nodeName.toLowerCase();return n==="input"?!!fw[t.type]:n==="textarea"}function rh(t,n,i,l){lr?cr?cr.push(l):cr=[l]:lr=l,n=Dl(n,"onChange"),0<n.length&&(i=new qs("onChange","change",null,i,l),t.push({event:i,listeners:n}))}var pi=null,gi=null;function mw(t){Pg(t,0)}function Fs(t){var n=xn(t);if(ir(n))return t}function ih(t,n){if(t==="change")return n}var sh=!1;if(ra){var fu;if(ra){var mu="oninput"in document;if(!mu){var lh=document.createElement("div");lh.setAttribute("oninput","return;"),mu=typeof lh.oninput=="function"}fu=mu}else fu=!1;sh=fu&&(!document.documentMode||9<document.documentMode)}function ch(){pi&&(pi.detachEvent("onpropertychange",uh),gi=pi=null)}function uh(t){if(t.propertyName==="value"&&Fs(gi)){var n=[];rh(n,gi,t,au(t)),Ym(mw,n)}}function hw(t,n,i){t==="focusin"?(ch(),pi=n,gi=i,pi.attachEvent("onpropertychange",uh)):t==="focusout"&&ch()}function pw(t){if(t==="selectionchange"||t==="keyup"||t==="keydown")return Fs(gi)}function gw(t,n){if(t==="click")return Fs(n)}function yw(t,n){if(t==="input"||t==="change")return Fs(n)}function vw(t,n){return t===n&&(t!==0||1/t===1/n)||t!==t&&n!==n}var Yt=typeof Object.is=="function"?Object.is:vw;function yi(t,n){if(Yt(t,n))return!0;if(typeof t!="object"||t===null||typeof n!="object"||n===null)return!1;var i=Object.keys(t),l=Object.keys(n);if(i.length!==l.length)return!1;for(l=0;l<i.length;l++){var f=i[l];if(!rt.call(n,f)||!Yt(t[f],n[f]))return!1}return!0}function dh(t){for(;t&&t.firstChild;)t=t.firstChild;return t}function fh(t,n){var i=dh(t);t=0;for(var l;i;){if(i.nodeType===3){if(l=t+i.textContent.length,t<=n&&l>=n)return{node:i,offset:n-t};t=l}e:{for(;i;){if(i.nextSibling){i=i.nextSibling;break e}i=i.parentNode}i=void 0}i=dh(i)}}function mh(t,n){return t&&n?t===n?!0:t&&t.nodeType===3?!1:n&&n.nodeType===3?mh(t,n.parentNode):"contains"in t?t.contains(n):t.compareDocumentPosition?!!(t.compareDocumentPosition(n)&16):!1:!1}function hh(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var n=yo(t.document);n instanceof t.HTMLIFrameElement;){try{var i=typeof n.contentWindow.location.href=="string"}catch{i=!1}if(i)t=n.contentWindow;else break;n=yo(t.document)}return n}function hu(t){var n=t&&t.nodeName&&t.nodeName.toLowerCase();return n&&(n==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||n==="textarea"||t.contentEditable==="true")}var bw=ra&&"documentMode"in document&&11>=document.documentMode,dr=null,pu=null,vi=null,gu=!1;function ph(t,n,i){var l=i.window===i?i.document:i.nodeType===9?i:i.ownerDocument;gu||dr==null||dr!==yo(l)||(l=dr,"selectionStart"in l&&hu(l)?l={start:l.selectionStart,end:l.selectionEnd}:(l=(l.ownerDocument&&l.ownerDocument.defaultView||window).getSelection(),l={anchorNode:l.anchorNode,anchorOffset:l.anchorOffset,focusNode:l.focusNode,focusOffset:l.focusOffset}),vi&&yi(vi,l)||(vi=l,l=Dl(pu,"onSelect"),0<l.length&&(n=new qs("onSelect","select",null,n,i),t.push({event:n,listeners:l}),n.target=dr)))}function xo(t,n){var i={};return i[t.toLowerCase()]=n.toLowerCase(),i["Webkit"+t]="webkit"+n,i["Moz"+t]="moz"+n,i}var fr={animationend:xo("Animation","AnimationEnd"),animationiteration:xo("Animation","AnimationIteration"),animationstart:xo("Animation","AnimationStart"),transitionrun:xo("Transition","TransitionRun"),transitionstart:xo("Transition","TransitionStart"),transitioncancel:xo("Transition","TransitionCancel"),transitionend:xo("Transition","TransitionEnd")},yu={},gh={};ra&&(gh=document.createElement("div").style,"AnimationEvent"in window||(delete fr.animationend.animation,delete fr.animationiteration.animation,delete fr.animationstart.animation),"TransitionEvent"in window||delete fr.transitionend.transition);function So(t){if(yu[t])return yu[t];if(!fr[t])return t;var n=fr[t],i;for(i in n)if(n.hasOwnProperty(i)&&i in gh)return yu[t]=n[i];return t}var yh=So("animationend"),vh=So("animationiteration"),bh=So("animationstart"),xw=So("transitionrun"),Sw=So("transitionstart"),ww=So("transitioncancel"),xh=So("transitionend"),Sh=new Map,vu="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(" ");vu.push("scrollEnd");function _n(t,n){Sh.set(t,n),wn(n,[t])}var $s=typeof reportError=="function"?reportError:function(t){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var n=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof t=="object"&&t!==null&&typeof t.message=="string"?String(t.message):String(t),error:t});if(!window.dispatchEvent(n))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",t);return}console.error(t)},sn=[],mr=0,bu=0;function Vs(){for(var t=mr,n=bu=mr=0;n<t;){var i=sn[n];sn[n++]=null;var l=sn[n];sn[n++]=null;var f=sn[n];sn[n++]=null;var h=sn[n];if(sn[n++]=null,l!==null&&f!==null){var x=l.pending;x===null?f.next=f:(f.next=x.next,x.next=f),l.pending=f}h!==0&&wh(i,f,h)}}function Ys(t,n,i,l){sn[mr++]=t,sn[mr++]=n,sn[mr++]=i,sn[mr++]=l,bu|=l,t.lanes|=l,t=t.alternate,t!==null&&(t.lanes|=l)}function xu(t,n,i,l){return Ys(t,n,i,l),Xs(t)}function wo(t,n){return Ys(t,null,null,n),Xs(t)}function wh(t,n,i){t.lanes|=i;var l=t.alternate;l!==null&&(l.lanes|=i);for(var f=!1,h=t.return;h!==null;)h.childLanes|=i,l=h.alternate,l!==null&&(l.childLanes|=i),h.tag===22&&(t=h.stateNode,t===null||t._visibility&1||(f=!0)),t=h,h=h.return;return t.tag===3?(h=t.stateNode,f&&n!==null&&(f=31-it(i),t=h.hiddenUpdates,l=t[f],l===null?t[f]=[n]:l.push(n),n.lane=i|536870912),h):null}function Xs(t){if(50<Ui)throw Ui=0,jd=null,Error(r(185));for(var n=t.return;n!==null;)t=n,n=t.return;return t.tag===3?t.stateNode:null}var hr={};function _w(t,n,i,l){this.tag=t,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=l,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Xt(t,n,i,l){return new _w(t,n,i,l)}function Su(t){return t=t.prototype,!(!t||!t.isReactComponent)}function ia(t,n){var i=t.alternate;return i===null?(i=Xt(t.tag,n,t.key,t.mode),i.elementType=t.elementType,i.type=t.type,i.stateNode=t.stateNode,i.alternate=t,t.alternate=i):(i.pendingProps=n,i.type=t.type,i.flags=0,i.subtreeFlags=0,i.deletions=null),i.flags=t.flags&65011712,i.childLanes=t.childLanes,i.lanes=t.lanes,i.child=t.child,i.memoizedProps=t.memoizedProps,i.memoizedState=t.memoizedState,i.updateQueue=t.updateQueue,n=t.dependencies,i.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext},i.sibling=t.sibling,i.index=t.index,i.ref=t.ref,i.refCleanup=t.refCleanup,i}function _h(t,n){t.flags&=65011714;var i=t.alternate;return i===null?(t.childLanes=0,t.lanes=n,t.child=null,t.subtreeFlags=0,t.memoizedProps=null,t.memoizedState=null,t.updateQueue=null,t.dependencies=null,t.stateNode=null):(t.childLanes=i.childLanes,t.lanes=i.lanes,t.child=i.child,t.subtreeFlags=0,t.deletions=null,t.memoizedProps=i.memoizedProps,t.memoizedState=i.memoizedState,t.updateQueue=i.updateQueue,t.type=i.type,n=i.dependencies,t.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext}),t}function Ks(t,n,i,l,f,h){var x=0;if(l=t,typeof t=="function")Su(t)&&(x=1);else if(typeof t=="string")x=M1(t,i,J.current)?26:t==="html"||t==="head"||t==="body"?27:5;else e:switch(t){case X:return t=Xt(31,i,n,f),t.elementType=X,t.lanes=h,t;case E:return _o(i.children,f,h,n);case T:x=8,f|=24;break;case C:return t=Xt(12,i,n,f|2),t.elementType=C,t.lanes=h,t;case P:return t=Xt(13,i,n,f),t.elementType=P,t.lanes=h,t;case I:return t=Xt(19,i,n,f),t.elementType=I,t.lanes=h,t;default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case N:x=10;break e;case k:x=9;break e;case w:x=11;break e;case O:x=14;break e;case q:x=16,l=null;break e}x=29,i=Error(r(130,t===null?"null":typeof t,"")),l=null}return n=Xt(x,i,n,f),n.elementType=t,n.type=l,n.lanes=h,n}function _o(t,n,i,l){return t=Xt(7,t,l,n),t.lanes=i,t}function wu(t,n,i){return t=Xt(6,t,null,n),t.lanes=i,t}function Nh(t){var n=Xt(18,null,null,0);return n.stateNode=t,n}function _u(t,n,i){return n=Xt(4,t.children!==null?t.children:[],t.key,n),n.lanes=i,n.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},n}var Eh=new WeakMap;function ln(t,n){if(typeof t=="object"&&t!==null){var i=Eh.get(t);return i!==void 0?i:(n={value:t,source:n,stack:jt(n)},Eh.set(t,n),n)}return{value:t,source:n,stack:jt(n)}}var pr=[],gr=0,Zs=null,bi=0,cn=[],un=0,Oa=null,Un=1,Pn="";function sa(t,n){pr[gr++]=bi,pr[gr++]=Zs,Zs=t,bi=n}function Ch(t,n,i){cn[un++]=Un,cn[un++]=Pn,cn[un++]=Oa,Oa=t;var l=Un;t=Pn;var f=32-it(l)-1;l&=~(1<<f),i+=1;var h=32-it(n)+f;if(30<h){var x=f-f%5;h=(l&(1<<x)-1).toString(32),l>>=x,f-=x,Un=1<<32-it(n)+f|i<<f|l,Pn=h+t}else Un=1<<h|i<<f|l,Pn=t}function Nu(t){t.return!==null&&(sa(t,1),Ch(t,1,0))}function Eu(t){for(;t===Zs;)Zs=pr[--gr],pr[gr]=null,bi=pr[--gr],pr[gr]=null;for(;t===Oa;)Oa=cn[--un],cn[un]=null,Pn=cn[--un],cn[un]=null,Un=cn[--un],cn[un]=null}function Th(t,n){cn[un++]=Un,cn[un++]=Pn,cn[un++]=Oa,Un=n.id,Pn=n.overflow,Oa=t}var Et=null,We=null,He=!1,za=null,dn=!1,Cu=Error(r(519));function Ia(t){var n=Error(r(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw xi(ln(n,t)),Cu}function Mh(t){var n=t.stateNode,i=t.type,l=t.memoizedProps;switch(n[ot]=t,n[_t]=l,i){case"dialog":Oe("cancel",n),Oe("close",n);break;case"iframe":case"object":case"embed":Oe("load",n);break;case"video":case"audio":for(i=0;i<qi.length;i++)Oe(qi[i],n);break;case"source":Oe("error",n);break;case"img":case"image":case"link":Oe("error",n),Oe("load",n);break;case"details":Oe("toggle",n);break;case"input":Oe("invalid",n),Ls(n,l.value,l.defaultValue,l.checked,l.defaultChecked,l.type,l.name,!0);break;case"select":Oe("invalid",n);break;case"textarea":Oe("invalid",n),Gm(n,l.value,l.defaultValue,l.children)}i=l.children,typeof i!="string"&&typeof i!="number"&&typeof i!="bigint"||n.textContent===""+i||l.suppressHydrationWarning===!0||$g(n.textContent,i)?(l.popover!=null&&(Oe("beforetoggle",n),Oe("toggle",n)),l.onScroll!=null&&Oe("scroll",n),l.onScrollEnd!=null&&Oe("scrollend",n),l.onClick!=null&&(n.onclick=oa),n=!0):n=!1,n||Ia(t,!0)}function jh(t){for(Et=t.return;Et;)switch(Et.tag){case 5:case 31:case 13:dn=!1;return;case 27:case 3:dn=!0;return;default:Et=Et.return}}function yr(t){if(t!==Et)return!1;if(!He)return jh(t),He=!0,!1;var n=t.tag,i;if((i=n!==3&&n!==27)&&((i=n===5)&&(i=t.type,i=!(i!=="form"&&i!=="button")||Fd(t.type,t.memoizedProps)),i=!i),i&&We&&Ia(t),jh(t),n===13){if(t=t.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(r(317));We=ey(t)}else if(n===31){if(t=t.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(r(317));We=ey(t)}else n===27?(n=We,Za(t.type)?(t=Kd,Kd=null,We=t):We=n):We=Et?mn(t.stateNode.nextSibling):null;return!0}function No(){We=Et=null,He=!1}function Tu(){var t=za;return t!==null&&(Ut===null?Ut=t:Ut.push.apply(Ut,t),za=null),t}function xi(t){za===null?za=[t]:za.push(t)}var Mu=A(null),Eo=null,la=null;function La(t,n,i){G(Mu,n._currentValue),n._currentValue=i}function ca(t){t._currentValue=Mu.current,B(Mu)}function ju(t,n,i){for(;t!==null;){var l=t.alternate;if((t.childLanes&n)!==n?(t.childLanes|=n,l!==null&&(l.childLanes|=n)):l!==null&&(l.childLanes&n)!==n&&(l.childLanes|=n),t===i)break;t=t.return}}function Au(t,n,i,l){var f=t.child;for(f!==null&&(f.return=t);f!==null;){var h=f.dependencies;if(h!==null){var x=f.child;h=h.firstContext;e:for(;h!==null;){var j=h;h=f;for(var F=0;F<n.length;F++)if(j.context===n[F]){h.lanes|=i,j=h.alternate,j!==null&&(j.lanes|=i),ju(h.return,i,t),l||(x=null);break e}h=j.next}}else if(f.tag===18){if(x=f.return,x===null)throw Error(r(341));x.lanes|=i,h=x.alternate,h!==null&&(h.lanes|=i),ju(x,i,t),x=null}else x=f.child;if(x!==null)x.return=f;else for(x=f;x!==null;){if(x===t){x=null;break}if(f=x.sibling,f!==null){f.return=x.return,x=f;break}x=x.return}f=x}}function vr(t,n,i,l){t=null;for(var f=n,h=!1;f!==null;){if(!h){if((f.flags&524288)!==0)h=!0;else if((f.flags&262144)!==0)break}if(f.tag===10){var x=f.alternate;if(x===null)throw Error(r(387));if(x=x.memoizedProps,x!==null){var j=f.type;Yt(f.pendingProps.value,x.value)||(t!==null?t.push(j):t=[j])}}else if(f===V.current){if(x=f.alternate,x===null)throw Error(r(387));x.memoizedState.memoizedState!==f.memoizedState.memoizedState&&(t!==null?t.push(Yi):t=[Yi])}f=f.return}t!==null&&Au(n,t,i,l),n.flags|=262144}function Qs(t){for(t=t.firstContext;t!==null;){if(!Yt(t.context._currentValue,t.memoizedValue))return!0;t=t.next}return!1}function Co(t){Eo=t,la=null,t=t.dependencies,t!==null&&(t.firstContext=null)}function Ct(t){return Ah(Eo,t)}function Js(t,n){return Eo===null&&Co(t),Ah(t,n)}function Ah(t,n){var i=n._currentValue;if(n={context:n,memoizedValue:i,next:null},la===null){if(t===null)throw Error(r(308));la=n,t.dependencies={lanes:0,firstContext:n},t.flags|=524288}else la=la.next=n;return i}var Nw=typeof AbortController<"u"?AbortController:function(){var t=[],n=this.signal={aborted:!1,addEventListener:function(i,l){t.push(l)}};this.abort=function(){n.aborted=!0,t.forEach(function(i){return i()})}},Ew=e.unstable_scheduleCallback,Cw=e.unstable_NormalPriority,ft={$$typeof:N,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Ru(){return{controller:new Nw,data:new Map,refCount:0}}function Si(t){t.refCount--,t.refCount===0&&Ew(Cw,function(){t.controller.abort()})}var wi=null,Du=0,br=0,xr=null;function Tw(t,n){if(wi===null){var i=wi=[];Du=0,br=zd(),xr={status:"pending",value:void 0,then:function(l){i.push(l)}}}return Du++,n.then(Rh,Rh),n}function Rh(){if(--Du===0&&wi!==null){xr!==null&&(xr.status="fulfilled");var t=wi;wi=null,br=0,xr=null;for(var n=0;n<t.length;n++)(0,t[n])()}}function Mw(t,n){var i=[],l={status:"pending",value:null,reason:null,then:function(f){i.push(f)}};return t.then(function(){l.status="fulfilled",l.value=n;for(var f=0;f<i.length;f++)(0,i[f])(n)},function(f){for(l.status="rejected",l.reason=f,f=0;f<i.length;f++)(0,i[f])(void 0)}),l}var Dh=R.S;R.S=function(t,n){pg=yt(),typeof n=="object"&&n!==null&&typeof n.then=="function"&&Tw(t,n),Dh!==null&&Dh(t,n)};var To=A(null);function ku(){var t=To.current;return t!==null?t:Qe.pooledCache}function Ws(t,n){n===null?G(To,To.current):G(To,n.pool)}function kh(){var t=ku();return t===null?null:{parent:ft._currentValue,pool:t}}var Sr=Error(r(460)),Ou=Error(r(474)),el=Error(r(542)),tl={then:function(){}};function Oh(t){return t=t.status,t==="fulfilled"||t==="rejected"}function zh(t,n,i){switch(i=t[i],i===void 0?t.push(n):i!==n&&(n.then(oa,oa),n=i),n.status){case"fulfilled":return n.value;case"rejected":throw t=n.reason,Lh(t),t;default:if(typeof n.status=="string")n.then(oa,oa);else{if(t=Qe,t!==null&&100<t.shellSuspendCounter)throw Error(r(482));t=n,t.status="pending",t.then(function(l){if(n.status==="pending"){var f=n;f.status="fulfilled",f.value=l}},function(l){if(n.status==="pending"){var f=n;f.status="rejected",f.reason=l}})}switch(n.status){case"fulfilled":return n.value;case"rejected":throw t=n.reason,Lh(t),t}throw jo=n,Sr}}function Mo(t){try{var n=t._init;return n(t._payload)}catch(i){throw i!==null&&typeof i=="object"&&typeof i.then=="function"?(jo=i,Sr):i}}var jo=null;function Ih(){if(jo===null)throw Error(r(459));var t=jo;return jo=null,t}function Lh(t){if(t===Sr||t===el)throw Error(r(483))}var wr=null,_i=0;function nl(t){var n=_i;return _i+=1,wr===null&&(wr=[]),zh(wr,t,n)}function Ni(t,n){n=n.props.ref,t.ref=n!==void 0?n:null}function al(t,n){throw n.$$typeof===b?Error(r(525)):(t=Object.prototype.toString.call(n),Error(r(31,t==="[object Object]"?"object with keys {"+Object.keys(n).join(", ")+"}":t)))}function Bh(t){function n(W,Y){if(t){var ee=W.deletions;ee===null?(W.deletions=[Y],W.flags|=16):ee.push(Y)}}function i(W,Y){if(!t)return null;for(;Y!==null;)n(W,Y),Y=Y.sibling;return null}function l(W){for(var Y=new Map;W!==null;)W.key!==null?Y.set(W.key,W):Y.set(W.index,W),W=W.sibling;return Y}function f(W,Y){return W=ia(W,Y),W.index=0,W.sibling=null,W}function h(W,Y,ee){return W.index=ee,t?(ee=W.alternate,ee!==null?(ee=ee.index,ee<Y?(W.flags|=67108866,Y):ee):(W.flags|=67108866,Y)):(W.flags|=1048576,Y)}function x(W){return t&&W.alternate===null&&(W.flags|=67108866),W}function j(W,Y,ee,de){return Y===null||Y.tag!==6?(Y=wu(ee,W.mode,de),Y.return=W,Y):(Y=f(Y,ee),Y.return=W,Y)}function F(W,Y,ee,de){var Ne=ee.type;return Ne===E?le(W,Y,ee.props.children,de,ee.key):Y!==null&&(Y.elementType===Ne||typeof Ne=="object"&&Ne!==null&&Ne.$$typeof===q&&Mo(Ne)===Y.type)?(Y=f(Y,ee.props),Ni(Y,ee),Y.return=W,Y):(Y=Ks(ee.type,ee.key,ee.props,null,W.mode,de),Ni(Y,ee),Y.return=W,Y)}function ne(W,Y,ee,de){return Y===null||Y.tag!==4||Y.stateNode.containerInfo!==ee.containerInfo||Y.stateNode.implementation!==ee.implementation?(Y=_u(ee,W.mode,de),Y.return=W,Y):(Y=f(Y,ee.children||[]),Y.return=W,Y)}function le(W,Y,ee,de,Ne){return Y===null||Y.tag!==7?(Y=_o(ee,W.mode,de,Ne),Y.return=W,Y):(Y=f(Y,ee),Y.return=W,Y)}function me(W,Y,ee){if(typeof Y=="string"&&Y!==""||typeof Y=="number"||typeof Y=="bigint")return Y=wu(""+Y,W.mode,ee),Y.return=W,Y;if(typeof Y=="object"&&Y!==null){switch(Y.$$typeof){case S:return ee=Ks(Y.type,Y.key,Y.props,null,W.mode,ee),Ni(ee,Y),ee.return=W,ee;case _:return Y=_u(Y,W.mode,ee),Y.return=W,Y;case q:return Y=Mo(Y),me(W,Y,ee)}if(D(Y)||ae(Y))return Y=_o(Y,W.mode,ee,null),Y.return=W,Y;if(typeof Y.then=="function")return me(W,nl(Y),ee);if(Y.$$typeof===N)return me(W,Js(W,Y),ee);al(W,Y)}return null}function oe(W,Y,ee,de){var Ne=Y!==null?Y.key:null;if(typeof ee=="string"&&ee!==""||typeof ee=="number"||typeof ee=="bigint")return Ne!==null?null:j(W,Y,""+ee,de);if(typeof ee=="object"&&ee!==null){switch(ee.$$typeof){case S:return ee.key===Ne?F(W,Y,ee,de):null;case _:return ee.key===Ne?ne(W,Y,ee,de):null;case q:return ee=Mo(ee),oe(W,Y,ee,de)}if(D(ee)||ae(ee))return Ne!==null?null:le(W,Y,ee,de,null);if(typeof ee.then=="function")return oe(W,Y,nl(ee),de);if(ee.$$typeof===N)return oe(W,Y,Js(W,ee),de);al(W,ee)}return null}function ie(W,Y,ee,de,Ne){if(typeof de=="string"&&de!==""||typeof de=="number"||typeof de=="bigint")return W=W.get(ee)||null,j(Y,W,""+de,Ne);if(typeof de=="object"&&de!==null){switch(de.$$typeof){case S:return W=W.get(de.key===null?ee:de.key)||null,F(Y,W,de,Ne);case _:return W=W.get(de.key===null?ee:de.key)||null,ne(Y,W,de,Ne);case q:return de=Mo(de),ie(W,Y,ee,de,Ne)}if(D(de)||ae(de))return W=W.get(ee)||null,le(Y,W,de,Ne,null);if(typeof de.then=="function")return ie(W,Y,ee,nl(de),Ne);if(de.$$typeof===N)return ie(W,Y,ee,Js(Y,de),Ne);al(Y,de)}return null}function xe(W,Y,ee,de){for(var Ne=null,qe=null,we=Y,Re=Y=0,Le=null;we!==null&&Re<ee.length;Re++){we.index>Re?(Le=we,we=null):Le=we.sibling;var Ge=oe(W,we,ee[Re],de);if(Ge===null){we===null&&(we=Le);break}t&&we&&Ge.alternate===null&&n(W,we),Y=h(Ge,Y,Re),qe===null?Ne=Ge:qe.sibling=Ge,qe=Ge,we=Le}if(Re===ee.length)return i(W,we),He&&sa(W,Re),Ne;if(we===null){for(;Re<ee.length;Re++)we=me(W,ee[Re],de),we!==null&&(Y=h(we,Y,Re),qe===null?Ne=we:qe.sibling=we,qe=we);return He&&sa(W,Re),Ne}for(we=l(we);Re<ee.length;Re++)Le=ie(we,W,Re,ee[Re],de),Le!==null&&(t&&Le.alternate!==null&&we.delete(Le.key===null?Re:Le.key),Y=h(Le,Y,Re),qe===null?Ne=Le:qe.sibling=Le,qe=Le);return t&&we.forEach(function(to){return n(W,to)}),He&&sa(W,Re),Ne}function Ce(W,Y,ee,de){if(ee==null)throw Error(r(151));for(var Ne=null,qe=null,we=Y,Re=Y=0,Le=null,Ge=ee.next();we!==null&&!Ge.done;Re++,Ge=ee.next()){we.index>Re?(Le=we,we=null):Le=we.sibling;var to=oe(W,we,Ge.value,de);if(to===null){we===null&&(we=Le);break}t&&we&&to.alternate===null&&n(W,we),Y=h(to,Y,Re),qe===null?Ne=to:qe.sibling=to,qe=to,we=Le}if(Ge.done)return i(W,we),He&&sa(W,Re),Ne;if(we===null){for(;!Ge.done;Re++,Ge=ee.next())Ge=me(W,Ge.value,de),Ge!==null&&(Y=h(Ge,Y,Re),qe===null?Ne=Ge:qe.sibling=Ge,qe=Ge);return He&&sa(W,Re),Ne}for(we=l(we);!Ge.done;Re++,Ge=ee.next())Ge=ie(we,W,Re,Ge.value,de),Ge!==null&&(t&&Ge.alternate!==null&&we.delete(Ge.key===null?Re:Ge.key),Y=h(Ge,Y,Re),qe===null?Ne=Ge:qe.sibling=Ge,qe=Ge);return t&&we.forEach(function(H1){return n(W,H1)}),He&&sa(W,Re),Ne}function Ze(W,Y,ee,de){if(typeof ee=="object"&&ee!==null&&ee.type===E&&ee.key===null&&(ee=ee.props.children),typeof ee=="object"&&ee!==null){switch(ee.$$typeof){case S:e:{for(var Ne=ee.key;Y!==null;){if(Y.key===Ne){if(Ne=ee.type,Ne===E){if(Y.tag===7){i(W,Y.sibling),de=f(Y,ee.props.children),de.return=W,W=de;break e}}else if(Y.elementType===Ne||typeof Ne=="object"&&Ne!==null&&Ne.$$typeof===q&&Mo(Ne)===Y.type){i(W,Y.sibling),de=f(Y,ee.props),Ni(de,ee),de.return=W,W=de;break e}i(W,Y);break}else n(W,Y);Y=Y.sibling}ee.type===E?(de=_o(ee.props.children,W.mode,de,ee.key),de.return=W,W=de):(de=Ks(ee.type,ee.key,ee.props,null,W.mode,de),Ni(de,ee),de.return=W,W=de)}return x(W);case _:e:{for(Ne=ee.key;Y!==null;){if(Y.key===Ne)if(Y.tag===4&&Y.stateNode.containerInfo===ee.containerInfo&&Y.stateNode.implementation===ee.implementation){i(W,Y.sibling),de=f(Y,ee.children||[]),de.return=W,W=de;break e}else{i(W,Y);break}else n(W,Y);Y=Y.sibling}de=_u(ee,W.mode,de),de.return=W,W=de}return x(W);case q:return ee=Mo(ee),Ze(W,Y,ee,de)}if(D(ee))return xe(W,Y,ee,de);if(ae(ee)){if(Ne=ae(ee),typeof Ne!="function")throw Error(r(150));return ee=Ne.call(ee),Ce(W,Y,ee,de)}if(typeof ee.then=="function")return Ze(W,Y,nl(ee),de);if(ee.$$typeof===N)return Ze(W,Y,Js(W,ee),de);al(W,ee)}return typeof ee=="string"&&ee!==""||typeof ee=="number"||typeof ee=="bigint"?(ee=""+ee,Y!==null&&Y.tag===6?(i(W,Y.sibling),de=f(Y,ee),de.return=W,W=de):(i(W,Y),de=wu(ee,W.mode,de),de.return=W,W=de),x(W)):i(W,Y)}return function(W,Y,ee,de){try{_i=0;var Ne=Ze(W,Y,ee,de);return wr=null,Ne}catch(we){if(we===Sr||we===el)throw we;var qe=Xt(29,we,null,W.mode);return qe.lanes=de,qe.return=W,qe}}}var Ao=Bh(!0),Hh=Bh(!1),Ba=!1;function zu(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Iu(t,n){t=t.updateQueue,n.updateQueue===t&&(n.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function Ha(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function Ua(t,n,i){var l=t.updateQueue;if(l===null)return null;if(l=l.shared,($e&2)!==0){var f=l.pending;return f===null?n.next=n:(n.next=f.next,f.next=n),l.pending=n,n=Xs(t),wh(t,null,i),n}return Ys(t,l,n,i),Xs(t)}function Ei(t,n,i){if(n=n.updateQueue,n!==null&&(n=n.shared,(i&4194048)!==0)){var l=n.lanes;l&=t.pendingLanes,i|=l,n.lanes=i,tr(t,i)}}function Lu(t,n){var i=t.updateQueue,l=t.alternate;if(l!==null&&(l=l.updateQueue,i===l)){var f=null,h=null;if(i=i.firstBaseUpdate,i!==null){do{var x={lane:i.lane,tag:i.tag,payload:i.payload,callback:null,next:null};h===null?f=h=x:h=h.next=x,i=i.next}while(i!==null);h===null?f=h=n:h=h.next=n}else f=h=n;i={baseState:l.baseState,firstBaseUpdate:f,lastBaseUpdate:h,shared:l.shared,callbacks:l.callbacks},t.updateQueue=i;return}t=i.lastBaseUpdate,t===null?i.firstBaseUpdate=n:t.next=n,i.lastBaseUpdate=n}var Bu=!1;function Ci(){if(Bu){var t=xr;if(t!==null)throw t}}function Ti(t,n,i,l){Bu=!1;var f=t.updateQueue;Ba=!1;var h=f.firstBaseUpdate,x=f.lastBaseUpdate,j=f.shared.pending;if(j!==null){f.shared.pending=null;var F=j,ne=F.next;F.next=null,x===null?h=ne:x.next=ne,x=F;var le=t.alternate;le!==null&&(le=le.updateQueue,j=le.lastBaseUpdate,j!==x&&(j===null?le.firstBaseUpdate=ne:j.next=ne,le.lastBaseUpdate=F))}if(h!==null){var me=f.baseState;x=0,le=ne=F=null,j=h;do{var oe=j.lane&-536870913,ie=oe!==j.lane;if(ie?(Ie&oe)===oe:(l&oe)===oe){oe!==0&&oe===br&&(Bu=!0),le!==null&&(le=le.next={lane:0,tag:j.tag,payload:j.payload,callback:null,next:null});e:{var xe=t,Ce=j;oe=n;var Ze=i;switch(Ce.tag){case 1:if(xe=Ce.payload,typeof xe=="function"){me=xe.call(Ze,me,oe);break e}me=xe;break e;case 3:xe.flags=xe.flags&-65537|128;case 0:if(xe=Ce.payload,oe=typeof xe=="function"?xe.call(Ze,me,oe):xe,oe==null)break e;me=v({},me,oe);break e;case 2:Ba=!0}}oe=j.callback,oe!==null&&(t.flags|=64,ie&&(t.flags|=8192),ie=f.callbacks,ie===null?f.callbacks=[oe]:ie.push(oe))}else ie={lane:oe,tag:j.tag,payload:j.payload,callback:j.callback,next:null},le===null?(ne=le=ie,F=me):le=le.next=ie,x|=oe;if(j=j.next,j===null){if(j=f.shared.pending,j===null)break;ie=j,j=ie.next,ie.next=null,f.lastBaseUpdate=ie,f.shared.pending=null}}while(!0);le===null&&(F=me),f.baseState=F,f.firstBaseUpdate=ne,f.lastBaseUpdate=le,h===null&&(f.shared.lanes=0),$a|=x,t.lanes=x,t.memoizedState=me}}function Uh(t,n){if(typeof t!="function")throw Error(r(191,t));t.call(n)}function Ph(t,n){var i=t.callbacks;if(i!==null)for(t.callbacks=null,t=0;t<i.length;t++)Uh(i[t],n)}var _r=A(null),ol=A(0);function qh(t,n){t=va,G(ol,t),G(_r,n),va=t|n.baseLanes}function Hu(){G(ol,va),G(_r,_r.current)}function Uu(){va=ol.current,B(_r),B(ol)}var Kt=A(null),fn=null;function Pa(t){var n=t.alternate;G(ut,ut.current&1),G(Kt,t),fn===null&&(n===null||_r.current!==null||n.memoizedState!==null)&&(fn=t)}function Pu(t){G(ut,ut.current),G(Kt,t),fn===null&&(fn=t)}function Gh(t){t.tag===22?(G(ut,ut.current),G(Kt,t),fn===null&&(fn=t)):qa()}function qa(){G(ut,ut.current),G(Kt,Kt.current)}function Zt(t){B(Kt),fn===t&&(fn=null),B(ut)}var ut=A(0);function rl(t){for(var n=t;n!==null;){if(n.tag===13){var i=n.memoizedState;if(i!==null&&(i=i.dehydrated,i===null||Yd(i)||Xd(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===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return null;n=n.return}n.sibling.return=n.return,n=n.sibling}return null}var ua=0,Ae=null,Xe=null,mt=null,il=!1,Nr=!1,Ro=!1,sl=0,Mi=0,Er=null,jw=0;function lt(){throw Error(r(321))}function qu(t,n){if(n===null)return!1;for(var i=0;i<n.length&&i<t.length;i++)if(!Yt(t[i],n[i]))return!1;return!0}function Gu(t,n,i,l,f,h){return ua=h,Ae=n,n.memoizedState=null,n.updateQueue=null,n.lanes=0,R.H=t===null||t.memoizedState===null?Cp:od,Ro=!1,h=i(l,f),Ro=!1,Nr&&(h=$h(n,i,l,f)),Fh(t),h}function Fh(t){R.H=Ri;var n=Xe!==null&&Xe.next!==null;if(ua=0,mt=Xe=Ae=null,il=!1,Mi=0,Er=null,n)throw Error(r(300));t===null||ht||(t=t.dependencies,t!==null&&Qs(t)&&(ht=!0))}function $h(t,n,i,l){Ae=t;var f=0;do{if(Nr&&(Er=null),Mi=0,Nr=!1,25<=f)throw Error(r(301));if(f+=1,mt=Xe=null,t.updateQueue!=null){var h=t.updateQueue;h.lastEffect=null,h.events=null,h.stores=null,h.memoCache!=null&&(h.memoCache.index=0)}R.H=Tp,h=n(i,l)}while(Nr);return h}function Aw(){var t=R.H,n=t.useState()[0];return n=typeof n.then=="function"?ji(n):n,t=t.useState()[0],(Xe!==null?Xe.memoizedState:null)!==t&&(Ae.flags|=1024),n}function Fu(){var t=sl!==0;return sl=0,t}function $u(t,n,i){n.updateQueue=t.updateQueue,n.flags&=-2053,t.lanes&=~i}function Vu(t){if(il){for(t=t.memoizedState;t!==null;){var n=t.queue;n!==null&&(n.pending=null),t=t.next}il=!1}ua=0,mt=Xe=Ae=null,Nr=!1,Mi=sl=0,Er=null}function Dt(){var t={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return mt===null?Ae.memoizedState=mt=t:mt=mt.next=t,mt}function dt(){if(Xe===null){var t=Ae.alternate;t=t!==null?t.memoizedState:null}else t=Xe.next;var n=mt===null?Ae.memoizedState:mt.next;if(n!==null)mt=n,Xe=t;else{if(t===null)throw Ae.alternate===null?Error(r(467)):Error(r(310));Xe=t,t={memoizedState:Xe.memoizedState,baseState:Xe.baseState,baseQueue:Xe.baseQueue,queue:Xe.queue,next:null},mt===null?Ae.memoizedState=mt=t:mt=mt.next=t}return mt}function ll(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function ji(t){var n=Mi;return Mi+=1,Er===null&&(Er=[]),t=zh(Er,t,n),n=Ae,(mt===null?n.memoizedState:mt.next)===null&&(n=n.alternate,R.H=n===null||n.memoizedState===null?Cp:od),t}function cl(t){if(t!==null&&typeof t=="object"){if(typeof t.then=="function")return ji(t);if(t.$$typeof===N)return Ct(t)}throw Error(r(438,String(t)))}function Yu(t){var n=null,i=Ae.updateQueue;if(i!==null&&(n=i.memoCache),n==null){var l=Ae.alternate;l!==null&&(l=l.updateQueue,l!==null&&(l=l.memoCache,l!=null&&(n={data:l.data.map(function(f){return f.slice()}),index:0})))}if(n==null&&(n={data:[],index:0}),i===null&&(i=ll(),Ae.updateQueue=i),i.memoCache=n,i=n.data[n.index],i===void 0)for(i=n.data[n.index]=Array(t),l=0;l<t;l++)i[l]=ue;return n.index++,i}function da(t,n){return typeof n=="function"?n(t):n}function ul(t){var n=dt();return Xu(n,Xe,t)}function Xu(t,n,i){var l=t.queue;if(l===null)throw Error(r(311));l.lastRenderedReducer=i;var f=t.baseQueue,h=l.pending;if(h!==null){if(f!==null){var x=f.next;f.next=h.next,h.next=x}n.baseQueue=f=h,l.pending=null}if(h=t.baseState,f===null)t.memoizedState=h;else{n=f.next;var j=x=null,F=null,ne=n,le=!1;do{var me=ne.lane&-536870913;if(me!==ne.lane?(Ie&me)===me:(ua&me)===me){var oe=ne.revertLane;if(oe===0)F!==null&&(F=F.next={lane:0,revertLane:0,gesture:null,action:ne.action,hasEagerState:ne.hasEagerState,eagerState:ne.eagerState,next:null}),me===br&&(le=!0);else if((ua&oe)===oe){ne=ne.next,oe===br&&(le=!0);continue}else me={lane:0,revertLane:ne.revertLane,gesture:null,action:ne.action,hasEagerState:ne.hasEagerState,eagerState:ne.eagerState,next:null},F===null?(j=F=me,x=h):F=F.next=me,Ae.lanes|=oe,$a|=oe;me=ne.action,Ro&&i(h,me),h=ne.hasEagerState?ne.eagerState:i(h,me)}else oe={lane:me,revertLane:ne.revertLane,gesture:ne.gesture,action:ne.action,hasEagerState:ne.hasEagerState,eagerState:ne.eagerState,next:null},F===null?(j=F=oe,x=h):F=F.next=oe,Ae.lanes|=me,$a|=me;ne=ne.next}while(ne!==null&&ne!==n);if(F===null?x=h:F.next=j,!Yt(h,t.memoizedState)&&(ht=!0,le&&(i=xr,i!==null)))throw i;t.memoizedState=h,t.baseState=x,t.baseQueue=F,l.lastRenderedState=h}return f===null&&(l.lanes=0),[t.memoizedState,l.dispatch]}function Ku(t){var n=dt(),i=n.queue;if(i===null)throw Error(r(311));i.lastRenderedReducer=t;var l=i.dispatch,f=i.pending,h=n.memoizedState;if(f!==null){i.pending=null;var x=f=f.next;do h=t(h,x.action),x=x.next;while(x!==f);Yt(h,n.memoizedState)||(ht=!0),n.memoizedState=h,n.baseQueue===null&&(n.baseState=h),i.lastRenderedState=h}return[h,l]}function Vh(t,n,i){var l=Ae,f=dt(),h=He;if(h){if(i===void 0)throw Error(r(407));i=i()}else i=n();var x=!Yt((Xe||f).memoizedState,i);if(x&&(f.memoizedState=i,ht=!0),f=f.queue,Ju(Kh.bind(null,l,f,t),[t]),f.getSnapshot!==n||x||mt!==null&&mt.memoizedState.tag&1){if(l.flags|=2048,Cr(9,{destroy:void 0},Xh.bind(null,l,f,i,n),null),Qe===null)throw Error(r(349));h||(ua&127)!==0||Yh(l,n,i)}return i}function Yh(t,n,i){t.flags|=16384,t={getSnapshot:n,value:i},n=Ae.updateQueue,n===null?(n=ll(),Ae.updateQueue=n,n.stores=[t]):(i=n.stores,i===null?n.stores=[t]:i.push(t))}function Xh(t,n,i,l){n.value=i,n.getSnapshot=l,Zh(n)&&Qh(t)}function Kh(t,n,i){return i(function(){Zh(n)&&Qh(t)})}function Zh(t){var n=t.getSnapshot;t=t.value;try{var i=n();return!Yt(t,i)}catch{return!0}}function Qh(t){var n=wo(t,2);n!==null&&Pt(n,t,2)}function Zu(t){var n=Dt();if(typeof t=="function"){var i=t;if(t=i(),Ro){bt(!0);try{i()}finally{bt(!1)}}}return n.memoizedState=n.baseState=t,n.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:da,lastRenderedState:t},n}function Jh(t,n,i,l){return t.baseState=i,Xu(t,Xe,typeof l=="function"?l:da)}function Rw(t,n,i,l,f){if(ml(t))throw Error(r(485));if(t=n.action,t!==null){var h={payload:f,action:t,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(x){h.listeners.push(x)}};R.T!==null?i(!0):h.isTransition=!1,l(h),i=n.pending,i===null?(h.next=n.pending=h,Wh(n,h)):(h.next=i.next,n.pending=i.next=h)}}function Wh(t,n){var i=n.action,l=n.payload,f=t.state;if(n.isTransition){var h=R.T,x={};R.T=x;try{var j=i(f,l),F=R.S;F!==null&&F(x,j),ep(t,n,j)}catch(ne){Qu(t,n,ne)}finally{h!==null&&x.types!==null&&(h.types=x.types),R.T=h}}else try{h=i(f,l),ep(t,n,h)}catch(ne){Qu(t,n,ne)}}function ep(t,n,i){i!==null&&typeof i=="object"&&typeof i.then=="function"?i.then(function(l){tp(t,n,l)},function(l){return Qu(t,n,l)}):tp(t,n,i)}function tp(t,n,i){n.status="fulfilled",n.value=i,np(n),t.state=i,n=t.pending,n!==null&&(i=n.next,i===n?t.pending=null:(i=i.next,n.next=i,Wh(t,i)))}function Qu(t,n,i){var l=t.pending;if(t.pending=null,l!==null){l=l.next;do n.status="rejected",n.reason=i,np(n),n=n.next;while(n!==l)}t.action=null}function np(t){t=t.listeners;for(var n=0;n<t.length;n++)(0,t[n])()}function ap(t,n){return n}function op(t,n){if(He){var i=Qe.formState;if(i!==null){e:{var l=Ae;if(He){if(We){t:{for(var f=We,h=dn;f.nodeType!==8;){if(!h){f=null;break t}if(f=mn(f.nextSibling),f===null){f=null;break t}}h=f.data,f=h==="F!"||h==="F"?f:null}if(f){We=mn(f.nextSibling),l=f.data==="F!";break e}}Ia(l)}l=!1}l&&(n=i[0])}}return i=Dt(),i.memoizedState=i.baseState=n,l={pending:null,lanes:0,dispatch:null,lastRenderedReducer:ap,lastRenderedState:n},i.queue=l,i=_p.bind(null,Ae,l),l.dispatch=i,l=Zu(!1),h=ad.bind(null,Ae,!1,l.queue),l=Dt(),f={state:n,dispatch:null,action:t,pending:null},l.queue=f,i=Rw.bind(null,Ae,f,h,i),f.dispatch=i,l.memoizedState=t,[n,i,!1]}function rp(t){var n=dt();return ip(n,Xe,t)}function ip(t,n,i){if(n=Xu(t,n,ap)[0],t=ul(da)[0],typeof n=="object"&&n!==null&&typeof n.then=="function")try{var l=ji(n)}catch(x){throw x===Sr?el:x}else l=n;n=dt();var f=n.queue,h=f.dispatch;return i!==n.memoizedState&&(Ae.flags|=2048,Cr(9,{destroy:void 0},Dw.bind(null,f,i),null)),[l,h,t]}function Dw(t,n){t.action=n}function sp(t){var n=dt(),i=Xe;if(i!==null)return ip(n,i,t);dt(),n=n.memoizedState,i=dt();var l=i.queue.dispatch;return i.memoizedState=t,[n,l,!1]}function Cr(t,n,i,l){return t={tag:t,create:i,deps:l,inst:n,next:null},n=Ae.updateQueue,n===null&&(n=ll(),Ae.updateQueue=n),i=n.lastEffect,i===null?n.lastEffect=t.next=t:(l=i.next,i.next=t,t.next=l,n.lastEffect=t),t}function lp(){return dt().memoizedState}function dl(t,n,i,l){var f=Dt();Ae.flags|=t,f.memoizedState=Cr(1|n,{destroy:void 0},i,l===void 0?null:l)}function fl(t,n,i,l){var f=dt();l=l===void 0?null:l;var h=f.memoizedState.inst;Xe!==null&&l!==null&&qu(l,Xe.memoizedState.deps)?f.memoizedState=Cr(n,h,i,l):(Ae.flags|=t,f.memoizedState=Cr(1|n,h,i,l))}function cp(t,n){dl(8390656,8,t,n)}function Ju(t,n){fl(2048,8,t,n)}function kw(t){Ae.flags|=4;var n=Ae.updateQueue;if(n===null)n=ll(),Ae.updateQueue=n,n.events=[t];else{var i=n.events;i===null?n.events=[t]:i.push(t)}}function up(t){var n=dt().memoizedState;return kw({ref:n,nextImpl:t}),function(){if(($e&2)!==0)throw Error(r(440));return n.impl.apply(void 0,arguments)}}function dp(t,n){return fl(4,2,t,n)}function fp(t,n){return fl(4,4,t,n)}function mp(t,n){if(typeof n=="function"){t=t();var i=n(t);return function(){typeof i=="function"?i():n(null)}}if(n!=null)return t=t(),n.current=t,function(){n.current=null}}function hp(t,n,i){i=i!=null?i.concat([t]):null,fl(4,4,mp.bind(null,n,t),i)}function Wu(){}function pp(t,n){var i=dt();n=n===void 0?null:n;var l=i.memoizedState;return n!==null&&qu(n,l[1])?l[0]:(i.memoizedState=[t,n],t)}function gp(t,n){var i=dt();n=n===void 0?null:n;var l=i.memoizedState;if(n!==null&&qu(n,l[1]))return l[0];if(l=t(),Ro){bt(!0);try{t()}finally{bt(!1)}}return i.memoizedState=[l,n],l}function ed(t,n,i){return i===void 0||(ua&1073741824)!==0&&(Ie&261930)===0?t.memoizedState=n:(t.memoizedState=i,t=yg(),Ae.lanes|=t,$a|=t,i)}function yp(t,n,i,l){return Yt(i,n)?i:_r.current!==null?(t=ed(t,i,l),Yt(t,n)||(ht=!0),t):(ua&42)===0||(ua&1073741824)!==0&&(Ie&261930)===0?(ht=!0,t.memoizedState=i):(t=yg(),Ae.lanes|=t,$a|=t,n)}function vp(t,n,i,l,f){var h=L.p;L.p=h!==0&&8>h?h:8;var x=R.T,j={};R.T=j,ad(t,!1,n,i);try{var F=f(),ne=R.S;if(ne!==null&&ne(j,F),F!==null&&typeof F=="object"&&typeof F.then=="function"){var le=Mw(F,l);Ai(t,n,le,Wt(t))}else Ai(t,n,l,Wt(t))}catch(me){Ai(t,n,{then:function(){},status:"rejected",reason:me},Wt())}finally{L.p=h,x!==null&&j.types!==null&&(x.types=j.types),R.T=x}}function Ow(){}function td(t,n,i,l){if(t.tag!==5)throw Error(r(476));var f=bp(t).queue;vp(t,f,n,$,i===null?Ow:function(){return xp(t),i(l)})}function bp(t){var n=t.memoizedState;if(n!==null)return n;n={memoizedState:$,baseState:$,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:da,lastRenderedState:$},next:null};var i={};return n.next={memoizedState:i,baseState:i,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:da,lastRenderedState:i},next:null},t.memoizedState=n,t=t.alternate,t!==null&&(t.memoizedState=n),n}function xp(t){var n=bp(t);n.next===null&&(n=t.alternate.memoizedState),Ai(t,n.next.queue,{},Wt())}function nd(){return Ct(Yi)}function Sp(){return dt().memoizedState}function wp(){return dt().memoizedState}function zw(t){for(var n=t.return;n!==null;){switch(n.tag){case 24:case 3:var i=Wt();t=Ha(i);var l=Ua(n,t,i);l!==null&&(Pt(l,n,i),Ei(l,n,i)),n={cache:Ru()},t.payload=n;return}n=n.return}}function Iw(t,n,i){var l=Wt();i={lane:l,revertLane:0,gesture:null,action:i,hasEagerState:!1,eagerState:null,next:null},ml(t)?Np(n,i):(i=xu(t,n,i,l),i!==null&&(Pt(i,t,l),Ep(i,n,l)))}function _p(t,n,i){var l=Wt();Ai(t,n,i,l)}function Ai(t,n,i,l){var f={lane:l,revertLane:0,gesture:null,action:i,hasEagerState:!1,eagerState:null,next:null};if(ml(t))Np(n,f);else{var h=t.alternate;if(t.lanes===0&&(h===null||h.lanes===0)&&(h=n.lastRenderedReducer,h!==null))try{var x=n.lastRenderedState,j=h(x,i);if(f.hasEagerState=!0,f.eagerState=j,Yt(j,x))return Ys(t,n,f,0),Qe===null&&Vs(),!1}catch{}if(i=xu(t,n,f,l),i!==null)return Pt(i,t,l),Ep(i,n,l),!0}return!1}function ad(t,n,i,l){if(l={lane:2,revertLane:zd(),gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null},ml(t)){if(n)throw Error(r(479))}else n=xu(t,i,l,2),n!==null&&Pt(n,t,2)}function ml(t){var n=t.alternate;return t===Ae||n!==null&&n===Ae}function Np(t,n){Nr=il=!0;var i=t.pending;i===null?n.next=n:(n.next=i.next,i.next=n),t.pending=n}function Ep(t,n,i){if((i&4194048)!==0){var l=n.lanes;l&=t.pendingLanes,i|=l,n.lanes=i,tr(t,i)}}var Ri={readContext:Ct,use:cl,useCallback:lt,useContext:lt,useEffect:lt,useImperativeHandle:lt,useLayoutEffect:lt,useInsertionEffect:lt,useMemo:lt,useReducer:lt,useRef:lt,useState:lt,useDebugValue:lt,useDeferredValue:lt,useTransition:lt,useSyncExternalStore:lt,useId:lt,useHostTransitionStatus:lt,useFormState:lt,useActionState:lt,useOptimistic:lt,useMemoCache:lt,useCacheRefresh:lt};Ri.useEffectEvent=lt;var Cp={readContext:Ct,use:cl,useCallback:function(t,n){return Dt().memoizedState=[t,n===void 0?null:n],t},useContext:Ct,useEffect:cp,useImperativeHandle:function(t,n,i){i=i!=null?i.concat([t]):null,dl(4194308,4,mp.bind(null,n,t),i)},useLayoutEffect:function(t,n){return dl(4194308,4,t,n)},useInsertionEffect:function(t,n){dl(4,2,t,n)},useMemo:function(t,n){var i=Dt();n=n===void 0?null:n;var l=t();if(Ro){bt(!0);try{t()}finally{bt(!1)}}return i.memoizedState=[l,n],l},useReducer:function(t,n,i){var l=Dt();if(i!==void 0){var f=i(n);if(Ro){bt(!0);try{i(n)}finally{bt(!1)}}}else f=n;return l.memoizedState=l.baseState=f,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:f},l.queue=t,t=t.dispatch=Iw.bind(null,Ae,t),[l.memoizedState,t]},useRef:function(t){var n=Dt();return t={current:t},n.memoizedState=t},useState:function(t){t=Zu(t);var n=t.queue,i=_p.bind(null,Ae,n);return n.dispatch=i,[t.memoizedState,i]},useDebugValue:Wu,useDeferredValue:function(t,n){var i=Dt();return ed(i,t,n)},useTransition:function(){var t=Zu(!1);return t=vp.bind(null,Ae,t.queue,!0,!1),Dt().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,n,i){var l=Ae,f=Dt();if(He){if(i===void 0)throw Error(r(407));i=i()}else{if(i=n(),Qe===null)throw Error(r(349));(Ie&127)!==0||Yh(l,n,i)}f.memoizedState=i;var h={value:i,getSnapshot:n};return f.queue=h,cp(Kh.bind(null,l,h,t),[t]),l.flags|=2048,Cr(9,{destroy:void 0},Xh.bind(null,l,h,i,n),null),i},useId:function(){var t=Dt(),n=Qe.identifierPrefix;if(He){var i=Pn,l=Un;i=(l&~(1<<32-it(l)-1)).toString(32)+i,n="_"+n+"R_"+i,i=sl++,0<i&&(n+="H"+i.toString(32)),n+="_"}else i=jw++,n="_"+n+"r_"+i.toString(32)+"_";return t.memoizedState=n},useHostTransitionStatus:nd,useFormState:op,useActionState:op,useOptimistic:function(t){var n=Dt();n.memoizedState=n.baseState=t;var i={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return n.queue=i,n=ad.bind(null,Ae,!0,i),i.dispatch=n,[t,n]},useMemoCache:Yu,useCacheRefresh:function(){return Dt().memoizedState=zw.bind(null,Ae)},useEffectEvent:function(t){var n=Dt(),i={impl:t};return n.memoizedState=i,function(){if(($e&2)!==0)throw Error(r(440));return i.impl.apply(void 0,arguments)}}},od={readContext:Ct,use:cl,useCallback:pp,useContext:Ct,useEffect:Ju,useImperativeHandle:hp,useInsertionEffect:dp,useLayoutEffect:fp,useMemo:gp,useReducer:ul,useRef:lp,useState:function(){return ul(da)},useDebugValue:Wu,useDeferredValue:function(t,n){var i=dt();return yp(i,Xe.memoizedState,t,n)},useTransition:function(){var t=ul(da)[0],n=dt().memoizedState;return[typeof t=="boolean"?t:ji(t),n]},useSyncExternalStore:Vh,useId:Sp,useHostTransitionStatus:nd,useFormState:rp,useActionState:rp,useOptimistic:function(t,n){var i=dt();return Jh(i,Xe,t,n)},useMemoCache:Yu,useCacheRefresh:wp};od.useEffectEvent=up;var Tp={readContext:Ct,use:cl,useCallback:pp,useContext:Ct,useEffect:Ju,useImperativeHandle:hp,useInsertionEffect:dp,useLayoutEffect:fp,useMemo:gp,useReducer:Ku,useRef:lp,useState:function(){return Ku(da)},useDebugValue:Wu,useDeferredValue:function(t,n){var i=dt();return Xe===null?ed(i,t,n):yp(i,Xe.memoizedState,t,n)},useTransition:function(){var t=Ku(da)[0],n=dt().memoizedState;return[typeof t=="boolean"?t:ji(t),n]},useSyncExternalStore:Vh,useId:Sp,useHostTransitionStatus:nd,useFormState:sp,useActionState:sp,useOptimistic:function(t,n){var i=dt();return Xe!==null?Jh(i,Xe,t,n):(i.baseState=t,[t,i.queue.dispatch])},useMemoCache:Yu,useCacheRefresh:wp};Tp.useEffectEvent=up;function rd(t,n,i,l){n=t.memoizedState,i=i(l,n),i=i==null?n:v({},n,i),t.memoizedState=i,t.lanes===0&&(t.updateQueue.baseState=i)}var id={enqueueSetState:function(t,n,i){t=t._reactInternals;var l=Wt(),f=Ha(l);f.payload=n,i!=null&&(f.callback=i),n=Ua(t,f,l),n!==null&&(Pt(n,t,l),Ei(n,t,l))},enqueueReplaceState:function(t,n,i){t=t._reactInternals;var l=Wt(),f=Ha(l);f.tag=1,f.payload=n,i!=null&&(f.callback=i),n=Ua(t,f,l),n!==null&&(Pt(n,t,l),Ei(n,t,l))},enqueueForceUpdate:function(t,n){t=t._reactInternals;var i=Wt(),l=Ha(i);l.tag=2,n!=null&&(l.callback=n),n=Ua(t,l,i),n!==null&&(Pt(n,t,i),Ei(n,t,i))}};function Mp(t,n,i,l,f,h,x){return t=t.stateNode,typeof t.shouldComponentUpdate=="function"?t.shouldComponentUpdate(l,h,x):n.prototype&&n.prototype.isPureReactComponent?!yi(i,l)||!yi(f,h):!0}function jp(t,n,i,l){t=n.state,typeof n.componentWillReceiveProps=="function"&&n.componentWillReceiveProps(i,l),typeof n.UNSAFE_componentWillReceiveProps=="function"&&n.UNSAFE_componentWillReceiveProps(i,l),n.state!==t&&id.enqueueReplaceState(n,n.state,null)}function Do(t,n){var i=n;if("ref"in n){i={};for(var l in n)l!=="ref"&&(i[l]=n[l])}if(t=t.defaultProps){i===n&&(i=v({},i));for(var f in t)i[f]===void 0&&(i[f]=t[f])}return i}function Ap(t){$s(t)}function Rp(t){console.error(t)}function Dp(t){$s(t)}function hl(t,n){try{var i=t.onUncaughtError;i(n.value,{componentStack:n.stack})}catch(l){setTimeout(function(){throw l})}}function kp(t,n,i){try{var l=t.onCaughtError;l(i.value,{componentStack:i.stack,errorBoundary:n.tag===1?n.stateNode:null})}catch(f){setTimeout(function(){throw f})}}function sd(t,n,i){return i=Ha(i),i.tag=3,i.payload={element:null},i.callback=function(){hl(t,n)},i}function Op(t){return t=Ha(t),t.tag=3,t}function zp(t,n,i,l){var f=i.type.getDerivedStateFromError;if(typeof f=="function"){var h=l.value;t.payload=function(){return f(h)},t.callback=function(){kp(n,i,l)}}var x=i.stateNode;x!==null&&typeof x.componentDidCatch=="function"&&(t.callback=function(){kp(n,i,l),typeof f!="function"&&(Va===null?Va=new Set([this]):Va.add(this));var j=l.stack;this.componentDidCatch(l.value,{componentStack:j!==null?j:""})})}function Lw(t,n,i,l,f){if(i.flags|=32768,l!==null&&typeof l=="object"&&typeof l.then=="function"){if(n=i.alternate,n!==null&&vr(n,i,f,!0),i=Kt.current,i!==null){switch(i.tag){case 31:case 13:return fn===null?Cl():i.alternate===null&&ct===0&&(ct=3),i.flags&=-257,i.flags|=65536,i.lanes=f,l===tl?i.flags|=16384:(n=i.updateQueue,n===null?i.updateQueue=new Set([l]):n.add(l),Dd(t,l,f)),!1;case 22:return i.flags|=65536,l===tl?i.flags|=16384:(n=i.updateQueue,n===null?(n={transitions:null,markerInstances:null,retryQueue:new Set([l])},i.updateQueue=n):(i=n.retryQueue,i===null?n.retryQueue=new Set([l]):i.add(l)),Dd(t,l,f)),!1}throw Error(r(435,i.tag))}return Dd(t,l,f),Cl(),!1}if(He)return n=Kt.current,n!==null?((n.flags&65536)===0&&(n.flags|=256),n.flags|=65536,n.lanes=f,l!==Cu&&(t=Error(r(422),{cause:l}),xi(ln(t,i)))):(l!==Cu&&(n=Error(r(423),{cause:l}),xi(ln(n,i))),t=t.current.alternate,t.flags|=65536,f&=-f,t.lanes|=f,l=ln(l,i),f=sd(t.stateNode,l,f),Lu(t,f),ct!==4&&(ct=2)),!1;var h=Error(r(520),{cause:l});if(h=ln(h,i),Hi===null?Hi=[h]:Hi.push(h),ct!==4&&(ct=2),n===null)return!0;l=ln(l,i),i=n;do{switch(i.tag){case 3:return i.flags|=65536,t=f&-f,i.lanes|=t,t=sd(i.stateNode,l,t),Lu(i,t),!1;case 1:if(n=i.type,h=i.stateNode,(i.flags&128)===0&&(typeof n.getDerivedStateFromError=="function"||h!==null&&typeof h.componentDidCatch=="function"&&(Va===null||!Va.has(h))))return i.flags|=65536,f&=-f,i.lanes|=f,f=Op(f),zp(f,t,i,l),Lu(i,f),!1}i=i.return}while(i!==null);return!1}var ld=Error(r(461)),ht=!1;function Tt(t,n,i,l){n.child=t===null?Hh(n,null,i,l):Ao(n,t.child,i,l)}function Ip(t,n,i,l,f){i=i.render;var h=n.ref;if("ref"in l){var x={};for(var j in l)j!=="ref"&&(x[j]=l[j])}else x=l;return Co(n),l=Gu(t,n,i,x,h,f),j=Fu(),t!==null&&!ht?($u(t,n,f),fa(t,n,f)):(He&&j&&Nu(n),n.flags|=1,Tt(t,n,l,f),n.child)}function Lp(t,n,i,l,f){if(t===null){var h=i.type;return typeof h=="function"&&!Su(h)&&h.defaultProps===void 0&&i.compare===null?(n.tag=15,n.type=h,Bp(t,n,h,l,f)):(t=Ks(i.type,null,l,n,n.mode,f),t.ref=n.ref,t.return=n,n.child=t)}if(h=t.child,!gd(t,f)){var x=h.memoizedProps;if(i=i.compare,i=i!==null?i:yi,i(x,l)&&t.ref===n.ref)return fa(t,n,f)}return n.flags|=1,t=ia(h,l),t.ref=n.ref,t.return=n,n.child=t}function Bp(t,n,i,l,f){if(t!==null){var h=t.memoizedProps;if(yi(h,l)&&t.ref===n.ref)if(ht=!1,n.pendingProps=l=h,gd(t,f))(t.flags&131072)!==0&&(ht=!0);else return n.lanes=t.lanes,fa(t,n,f)}return cd(t,n,i,l,f)}function Hp(t,n,i,l){var f=l.children,h=t!==null?t.memoizedState:null;if(t===null&&n.stateNode===null&&(n.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),l.mode==="hidden"){if((n.flags&128)!==0){if(h=h!==null?h.baseLanes|i:i,t!==null){for(l=n.child=t.child,f=0;l!==null;)f=f|l.lanes|l.childLanes,l=l.sibling;l=f&~h}else l=0,n.child=null;return Up(t,n,h,i,l)}if((i&536870912)!==0)n.memoizedState={baseLanes:0,cachePool:null},t!==null&&Ws(n,h!==null?h.cachePool:null),h!==null?qh(n,h):Hu(),Gh(n);else return l=n.lanes=536870912,Up(t,n,h!==null?h.baseLanes|i:i,i,l)}else h!==null?(Ws(n,h.cachePool),qh(n,h),qa(),n.memoizedState=null):(t!==null&&Ws(n,null),Hu(),qa());return Tt(t,n,f,i),n.child}function Di(t,n){return t!==null&&t.tag===22||n.stateNode!==null||(n.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),n.sibling}function Up(t,n,i,l,f){var h=ku();return h=h===null?null:{parent:ft._currentValue,pool:h},n.memoizedState={baseLanes:i,cachePool:h},t!==null&&Ws(n,null),Hu(),Gh(n),t!==null&&vr(t,n,l,!0),n.childLanes=f,null}function pl(t,n){return n=yl({mode:n.mode,children:n.children},t.mode),n.ref=t.ref,t.child=n,n.return=t,n}function Pp(t,n,i){return Ao(n,t.child,null,i),t=pl(n,n.pendingProps),t.flags|=2,Zt(n),n.memoizedState=null,t}function Bw(t,n,i){var l=n.pendingProps,f=(n.flags&128)!==0;if(n.flags&=-129,t===null){if(He){if(l.mode==="hidden")return t=pl(n,l),n.lanes=536870912,Di(null,t);if(Pu(n),(t=We)?(t=Wg(t,dn),t=t!==null&&t.data==="&"?t:null,t!==null&&(n.memoizedState={dehydrated:t,treeContext:Oa!==null?{id:Un,overflow:Pn}:null,retryLane:536870912,hydrationErrors:null},i=Nh(t),i.return=n,n.child=i,Et=n,We=null)):t=null,t===null)throw Ia(n);return n.lanes=536870912,null}return pl(n,l)}var h=t.memoizedState;if(h!==null){var x=h.dehydrated;if(Pu(n),f)if(n.flags&256)n.flags&=-257,n=Pp(t,n,i);else if(n.memoizedState!==null)n.child=t.child,n.flags|=128,n=null;else throw Error(r(558));else if(ht||vr(t,n,i,!1),f=(i&t.childLanes)!==0,ht||f){if(l=Qe,l!==null&&(x=ja(l,i),x!==0&&x!==h.retryLane))throw h.retryLane=x,wo(t,x),Pt(l,t,x),ld;Cl(),n=Pp(t,n,i)}else t=h.treeContext,We=mn(x.nextSibling),Et=n,He=!0,za=null,dn=!1,t!==null&&Th(n,t),n=pl(n,l),n.flags|=4096;return n}return t=ia(t.child,{mode:l.mode,children:l.children}),t.ref=n.ref,n.child=t,t.return=n,t}function gl(t,n){var i=n.ref;if(i===null)t!==null&&t.ref!==null&&(n.flags|=4194816);else{if(typeof i!="function"&&typeof i!="object")throw Error(r(284));(t===null||t.ref!==i)&&(n.flags|=4194816)}}function cd(t,n,i,l,f){return Co(n),i=Gu(t,n,i,l,void 0,f),l=Fu(),t!==null&&!ht?($u(t,n,f),fa(t,n,f)):(He&&l&&Nu(n),n.flags|=1,Tt(t,n,i,f),n.child)}function qp(t,n,i,l,f,h){return Co(n),n.updateQueue=null,i=$h(n,l,i,f),Fh(t),l=Fu(),t!==null&&!ht?($u(t,n,h),fa(t,n,h)):(He&&l&&Nu(n),n.flags|=1,Tt(t,n,i,h),n.child)}function Gp(t,n,i,l,f){if(Co(n),n.stateNode===null){var h=hr,x=i.contextType;typeof x=="object"&&x!==null&&(h=Ct(x)),h=new i(l,h),n.memoizedState=h.state!==null&&h.state!==void 0?h.state:null,h.updater=id,n.stateNode=h,h._reactInternals=n,h=n.stateNode,h.props=l,h.state=n.memoizedState,h.refs={},zu(n),x=i.contextType,h.context=typeof x=="object"&&x!==null?Ct(x):hr,h.state=n.memoizedState,x=i.getDerivedStateFromProps,typeof x=="function"&&(rd(n,i,x,l),h.state=n.memoizedState),typeof i.getDerivedStateFromProps=="function"||typeof h.getSnapshotBeforeUpdate=="function"||typeof h.UNSAFE_componentWillMount!="function"&&typeof h.componentWillMount!="function"||(x=h.state,typeof h.componentWillMount=="function"&&h.componentWillMount(),typeof h.UNSAFE_componentWillMount=="function"&&h.UNSAFE_componentWillMount(),x!==h.state&&id.enqueueReplaceState(h,h.state,null),Ti(n,l,h,f),Ci(),h.state=n.memoizedState),typeof h.componentDidMount=="function"&&(n.flags|=4194308),l=!0}else if(t===null){h=n.stateNode;var j=n.memoizedProps,F=Do(i,j);h.props=F;var ne=h.context,le=i.contextType;x=hr,typeof le=="object"&&le!==null&&(x=Ct(le));var me=i.getDerivedStateFromProps;le=typeof me=="function"||typeof h.getSnapshotBeforeUpdate=="function",j=n.pendingProps!==j,le||typeof h.UNSAFE_componentWillReceiveProps!="function"&&typeof h.componentWillReceiveProps!="function"||(j||ne!==x)&&jp(n,h,l,x),Ba=!1;var oe=n.memoizedState;h.state=oe,Ti(n,l,h,f),Ci(),ne=n.memoizedState,j||oe!==ne||Ba?(typeof me=="function"&&(rd(n,i,me,l),ne=n.memoizedState),(F=Ba||Mp(n,i,F,l,oe,ne,x))?(le||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=l,n.memoizedState=ne),h.props=l,h.state=ne,h.context=x,l=F):(typeof h.componentDidMount=="function"&&(n.flags|=4194308),l=!1)}else{h=n.stateNode,Iu(t,n),x=n.memoizedProps,le=Do(i,x),h.props=le,me=n.pendingProps,oe=h.context,ne=i.contextType,F=hr,typeof ne=="object"&&ne!==null&&(F=Ct(ne)),j=i.getDerivedStateFromProps,(ne=typeof j=="function"||typeof h.getSnapshotBeforeUpdate=="function")||typeof h.UNSAFE_componentWillReceiveProps!="function"&&typeof h.componentWillReceiveProps!="function"||(x!==me||oe!==F)&&jp(n,h,l,F),Ba=!1,oe=n.memoizedState,h.state=oe,Ti(n,l,h,f),Ci();var ie=n.memoizedState;x!==me||oe!==ie||Ba||t!==null&&t.dependencies!==null&&Qs(t.dependencies)?(typeof j=="function"&&(rd(n,i,j,l),ie=n.memoizedState),(le=Ba||Mp(n,i,le,l,oe,ie,F)||t!==null&&t.dependencies!==null&&Qs(t.dependencies))?(ne||typeof h.UNSAFE_componentWillUpdate!="function"&&typeof h.componentWillUpdate!="function"||(typeof h.componentWillUpdate=="function"&&h.componentWillUpdate(l,ie,F),typeof h.UNSAFE_componentWillUpdate=="function"&&h.UNSAFE_componentWillUpdate(l,ie,F)),typeof h.componentDidUpdate=="function"&&(n.flags|=4),typeof h.getSnapshotBeforeUpdate=="function"&&(n.flags|=1024)):(typeof h.componentDidUpdate!="function"||x===t.memoizedProps&&oe===t.memoizedState||(n.flags|=4),typeof h.getSnapshotBeforeUpdate!="function"||x===t.memoizedProps&&oe===t.memoizedState||(n.flags|=1024),n.memoizedProps=l,n.memoizedState=ie),h.props=l,h.state=ie,h.context=F,l=le):(typeof h.componentDidUpdate!="function"||x===t.memoizedProps&&oe===t.memoizedState||(n.flags|=4),typeof h.getSnapshotBeforeUpdate!="function"||x===t.memoizedProps&&oe===t.memoizedState||(n.flags|=1024),l=!1)}return h=l,gl(t,n),l=(n.flags&128)!==0,h||l?(h=n.stateNode,i=l&&typeof i.getDerivedStateFromError!="function"?null:h.render(),n.flags|=1,t!==null&&l?(n.child=Ao(n,t.child,null,f),n.child=Ao(n,null,i,f)):Tt(t,n,i,f),n.memoizedState=h.state,t=n.child):t=fa(t,n,f),t}function Fp(t,n,i,l){return No(),n.flags|=256,Tt(t,n,i,l),n.child}var ud={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function dd(t){return{baseLanes:t,cachePool:kh()}}function fd(t,n,i){return t=t!==null?t.childLanes&~i:0,n&&(t|=Jt),t}function $p(t,n,i){var l=n.pendingProps,f=!1,h=(n.flags&128)!==0,x;if((x=h)||(x=t!==null&&t.memoizedState===null?!1:(ut.current&2)!==0),x&&(f=!0,n.flags&=-129),x=(n.flags&32)!==0,n.flags&=-33,t===null){if(He){if(f?Pa(n):qa(),(t=We)?(t=Wg(t,dn),t=t!==null&&t.data!=="&"?t:null,t!==null&&(n.memoizedState={dehydrated:t,treeContext:Oa!==null?{id:Un,overflow:Pn}:null,retryLane:536870912,hydrationErrors:null},i=Nh(t),i.return=n,n.child=i,Et=n,We=null)):t=null,t===null)throw Ia(n);return Xd(t)?n.lanes=32:n.lanes=536870912,null}var j=l.children;return l=l.fallback,f?(qa(),f=n.mode,j=yl({mode:"hidden",children:j},f),l=_o(l,f,i,null),j.return=n,l.return=n,j.sibling=l,n.child=j,l=n.child,l.memoizedState=dd(i),l.childLanes=fd(t,x,i),n.memoizedState=ud,Di(null,l)):(Pa(n),md(n,j))}var F=t.memoizedState;if(F!==null&&(j=F.dehydrated,j!==null)){if(h)n.flags&256?(Pa(n),n.flags&=-257,n=hd(t,n,i)):n.memoizedState!==null?(qa(),n.child=t.child,n.flags|=128,n=null):(qa(),j=l.fallback,f=n.mode,l=yl({mode:"visible",children:l.children},f),j=_o(j,f,i,null),j.flags|=2,l.return=n,j.return=n,l.sibling=j,n.child=l,Ao(n,t.child,null,i),l=n.child,l.memoizedState=dd(i),l.childLanes=fd(t,x,i),n.memoizedState=ud,n=Di(null,l));else if(Pa(n),Xd(j)){if(x=j.nextSibling&&j.nextSibling.dataset,x)var ne=x.dgst;x=ne,l=Error(r(419)),l.stack="",l.digest=x,xi({value:l,source:null,stack:null}),n=hd(t,n,i)}else if(ht||vr(t,n,i,!1),x=(i&t.childLanes)!==0,ht||x){if(x=Qe,x!==null&&(l=ja(x,i),l!==0&&l!==F.retryLane))throw F.retryLane=l,wo(t,l),Pt(x,t,l),ld;Yd(j)||Cl(),n=hd(t,n,i)}else Yd(j)?(n.flags|=192,n.child=t.child,n=null):(t=F.treeContext,We=mn(j.nextSibling),Et=n,He=!0,za=null,dn=!1,t!==null&&Th(n,t),n=md(n,l.children),n.flags|=4096);return n}return f?(qa(),j=l.fallback,f=n.mode,F=t.child,ne=F.sibling,l=ia(F,{mode:"hidden",children:l.children}),l.subtreeFlags=F.subtreeFlags&65011712,ne!==null?j=ia(ne,j):(j=_o(j,f,i,null),j.flags|=2),j.return=n,l.return=n,l.sibling=j,n.child=l,Di(null,l),l=n.child,j=t.child.memoizedState,j===null?j=dd(i):(f=j.cachePool,f!==null?(F=ft._currentValue,f=f.parent!==F?{parent:F,pool:F}:f):f=kh(),j={baseLanes:j.baseLanes|i,cachePool:f}),l.memoizedState=j,l.childLanes=fd(t,x,i),n.memoizedState=ud,Di(t.child,l)):(Pa(n),i=t.child,t=i.sibling,i=ia(i,{mode:"visible",children:l.children}),i.return=n,i.sibling=null,t!==null&&(x=n.deletions,x===null?(n.deletions=[t],n.flags|=16):x.push(t)),n.child=i,n.memoizedState=null,i)}function md(t,n){return n=yl({mode:"visible",children:n},t.mode),n.return=t,t.child=n}function yl(t,n){return t=Xt(22,t,null,n),t.lanes=0,t}function hd(t,n,i){return Ao(n,t.child,null,i),t=md(n,n.pendingProps.children),t.flags|=2,n.memoizedState=null,t}function Vp(t,n,i){t.lanes|=n;var l=t.alternate;l!==null&&(l.lanes|=n),ju(t.return,n,i)}function pd(t,n,i,l,f,h){var x=t.memoizedState;x===null?t.memoizedState={isBackwards:n,rendering:null,renderingStartTime:0,last:l,tail:i,tailMode:f,treeForkCount:h}:(x.isBackwards=n,x.rendering=null,x.renderingStartTime=0,x.last=l,x.tail=i,x.tailMode=f,x.treeForkCount=h)}function Yp(t,n,i){var l=n.pendingProps,f=l.revealOrder,h=l.tail;l=l.children;var x=ut.current,j=(x&2)!==0;if(j?(x=x&1|2,n.flags|=128):x&=1,G(ut,x),Tt(t,n,l,i),l=He?bi:0,!j&&t!==null&&(t.flags&128)!==0)e:for(t=n.child;t!==null;){if(t.tag===13)t.memoizedState!==null&&Vp(t,i,n);else if(t.tag===19)Vp(t,i,n);else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===n)break e;for(;t.sibling===null;){if(t.return===null||t.return===n)break e;t=t.return}t.sibling.return=t.return,t=t.sibling}switch(f){case"forwards":for(i=n.child,f=null;i!==null;)t=i.alternate,t!==null&&rl(t)===null&&(f=i),i=i.sibling;i=f,i===null?(f=n.child,n.child=null):(f=i.sibling,i.sibling=null),pd(n,!1,f,i,h,l);break;case"backwards":case"unstable_legacy-backwards":for(i=null,f=n.child,n.child=null;f!==null;){if(t=f.alternate,t!==null&&rl(t)===null){n.child=f;break}t=f.sibling,f.sibling=i,i=f,f=t}pd(n,!0,i,null,h,l);break;case"together":pd(n,!1,null,null,void 0,l);break;default:n.memoizedState=null}return n.child}function fa(t,n,i){if(t!==null&&(n.dependencies=t.dependencies),$a|=n.lanes,(i&n.childLanes)===0)if(t!==null){if(vr(t,n,i,!1),(i&n.childLanes)===0)return null}else return null;if(t!==null&&n.child!==t.child)throw Error(r(153));if(n.child!==null){for(t=n.child,i=ia(t,t.pendingProps),n.child=i,i.return=n;t.sibling!==null;)t=t.sibling,i=i.sibling=ia(t,t.pendingProps),i.return=n;i.sibling=null}return n.child}function gd(t,n){return(t.lanes&n)!==0?!0:(t=t.dependencies,!!(t!==null&&Qs(t)))}function Hw(t,n,i){switch(n.tag){case 3:te(n,n.stateNode.containerInfo),La(n,ft,t.memoizedState.cache),No();break;case 27:case 5:pe(n);break;case 4:te(n,n.stateNode.containerInfo);break;case 10:La(n,n.type,n.memoizedProps.value);break;case 31:if(n.memoizedState!==null)return n.flags|=128,Pu(n),null;break;case 13:var l=n.memoizedState;if(l!==null)return l.dehydrated!==null?(Pa(n),n.flags|=128,null):(i&n.child.childLanes)!==0?$p(t,n,i):(Pa(n),t=fa(t,n,i),t!==null?t.sibling:null);Pa(n);break;case 19:var f=(t.flags&128)!==0;if(l=(i&n.childLanes)!==0,l||(vr(t,n,i,!1),l=(i&n.childLanes)!==0),f){if(l)return Yp(t,n,i);n.flags|=128}if(f=n.memoizedState,f!==null&&(f.rendering=null,f.tail=null,f.lastEffect=null),G(ut,ut.current),l)break;return null;case 22:return n.lanes=0,Hp(t,n,i,n.pendingProps);case 24:La(n,ft,t.memoizedState.cache)}return fa(t,n,i)}function Xp(t,n,i){if(t!==null)if(t.memoizedProps!==n.pendingProps)ht=!0;else{if(!gd(t,i)&&(n.flags&128)===0)return ht=!1,Hw(t,n,i);ht=(t.flags&131072)!==0}else ht=!1,He&&(n.flags&1048576)!==0&&Ch(n,bi,n.index);switch(n.lanes=0,n.tag){case 16:e:{var l=n.pendingProps;if(t=Mo(n.elementType),n.type=t,typeof t=="function")Su(t)?(l=Do(t,l),n.tag=1,n=Gp(null,n,t,l,i)):(n.tag=0,n=cd(null,n,t,l,i));else{if(t!=null){var f=t.$$typeof;if(f===w){n.tag=11,n=Ip(null,n,t,l,i);break e}else if(f===O){n.tag=14,n=Lp(null,n,t,l,i);break e}}throw n=z(t)||t,Error(r(306,n,""))}}return n;case 0:return cd(t,n,n.type,n.pendingProps,i);case 1:return l=n.type,f=Do(l,n.pendingProps),Gp(t,n,l,f,i);case 3:e:{if(te(n,n.stateNode.containerInfo),t===null)throw Error(r(387));l=n.pendingProps;var h=n.memoizedState;f=h.element,Iu(t,n),Ti(n,l,null,i);var x=n.memoizedState;if(l=x.cache,La(n,ft,l),l!==h.cache&&Au(n,[ft],i,!0),Ci(),l=x.element,h.isDehydrated)if(h={element:l,isDehydrated:!1,cache:x.cache},n.updateQueue.baseState=h,n.memoizedState=h,n.flags&256){n=Fp(t,n,l,i);break e}else if(l!==f){f=ln(Error(r(424)),n),xi(f),n=Fp(t,n,l,i);break e}else for(t=n.stateNode.containerInfo,t.nodeType===9?t=t.body:t=t.nodeName==="HTML"?t.ownerDocument.body:t,We=mn(t.firstChild),Et=n,He=!0,za=null,dn=!0,i=Hh(n,null,l,i),n.child=i;i;)i.flags=i.flags&-3|4096,i=i.sibling;else{if(No(),l===f){n=fa(t,n,i);break e}Tt(t,n,l,i)}n=n.child}return n;case 26:return gl(t,n),t===null?(i=ry(n.type,null,n.pendingProps,null))?n.memoizedState=i:He||(i=n.type,t=n.pendingProps,l=kl(se.current).createElement(i),l[ot]=n,l[_t]=t,Mt(l,i,t),st(l),n.stateNode=l):n.memoizedState=ry(n.type,t.memoizedProps,n.pendingProps,t.memoizedState),null;case 27:return pe(n),t===null&&He&&(l=n.stateNode=ny(n.type,n.pendingProps,se.current),Et=n,dn=!0,f=We,Za(n.type)?(Kd=f,We=mn(l.firstChild)):We=f),Tt(t,n,n.pendingProps.children,i),gl(t,n),t===null&&(n.flags|=4194304),n.child;case 5:return t===null&&He&&((f=l=We)&&(l=p1(l,n.type,n.pendingProps,dn),l!==null?(n.stateNode=l,Et=n,We=mn(l.firstChild),dn=!1,f=!0):f=!1),f||Ia(n)),pe(n),f=n.type,h=n.pendingProps,x=t!==null?t.memoizedProps:null,l=h.children,Fd(f,h)?l=null:x!==null&&Fd(f,x)&&(n.flags|=32),n.memoizedState!==null&&(f=Gu(t,n,Aw,null,null,i),Yi._currentValue=f),gl(t,n),Tt(t,n,l,i),n.child;case 6:return t===null&&He&&((t=i=We)&&(i=g1(i,n.pendingProps,dn),i!==null?(n.stateNode=i,Et=n,We=null,t=!0):t=!1),t||Ia(n)),null;case 13:return $p(t,n,i);case 4:return te(n,n.stateNode.containerInfo),l=n.pendingProps,t===null?n.child=Ao(n,null,l,i):Tt(t,n,l,i),n.child;case 11:return Ip(t,n,n.type,n.pendingProps,i);case 7:return Tt(t,n,n.pendingProps,i),n.child;case 8:return Tt(t,n,n.pendingProps.children,i),n.child;case 12:return Tt(t,n,n.pendingProps.children,i),n.child;case 10:return l=n.pendingProps,La(n,n.type,l.value),Tt(t,n,l.children,i),n.child;case 9:return f=n.type._context,l=n.pendingProps.children,Co(n),f=Ct(f),l=l(f),n.flags|=1,Tt(t,n,l,i),n.child;case 14:return Lp(t,n,n.type,n.pendingProps,i);case 15:return Bp(t,n,n.type,n.pendingProps,i);case 19:return Yp(t,n,i);case 31:return Bw(t,n,i);case 22:return Hp(t,n,i,n.pendingProps);case 24:return Co(n),l=Ct(ft),t===null?(f=ku(),f===null&&(f=Qe,h=Ru(),f.pooledCache=h,h.refCount++,h!==null&&(f.pooledCacheLanes|=i),f=h),n.memoizedState={parent:l,cache:f},zu(n),La(n,ft,f)):((t.lanes&i)!==0&&(Iu(t,n),Ti(n,null,null,i),Ci()),f=t.memoizedState,h=n.memoizedState,f.parent!==l?(f={parent:l,cache:l},n.memoizedState=f,n.lanes===0&&(n.memoizedState=n.updateQueue.baseState=f),La(n,ft,l)):(l=h.cache,La(n,ft,l),l!==f.cache&&Au(n,[ft],i,!0))),Tt(t,n,n.pendingProps.children,i),n.child;case 29:throw n.pendingProps}throw Error(r(156,n.tag))}function ma(t){t.flags|=4}function yd(t,n,i,l,f){if((n=(t.mode&32)!==0)&&(n=!1),n){if(t.flags|=16777216,(f&335544128)===f)if(t.stateNode.complete)t.flags|=8192;else if(Sg())t.flags|=8192;else throw jo=tl,Ou}else t.flags&=-16777217}function Kp(t,n){if(n.type!=="stylesheet"||(n.state.loading&4)!==0)t.flags&=-16777217;else if(t.flags|=16777216,!uy(n))if(Sg())t.flags|=8192;else throw jo=tl,Ou}function vl(t,n){n!==null&&(t.flags|=4),t.flags&16384&&(n=t.tag!==22?er():536870912,t.lanes|=n,Ar|=n)}function ki(t,n){if(!He)switch(t.tailMode){case"hidden":n=t.tail;for(var i=null;n!==null;)n.alternate!==null&&(i=n),n=n.sibling;i===null?t.tail=null:i.sibling=null;break;case"collapsed":i=t.tail;for(var l=null;i!==null;)i.alternate!==null&&(l=i),i=i.sibling;l===null?n||t.tail===null?t.tail=null:t.tail.sibling=null:l.sibling=null}}function et(t){var n=t.alternate!==null&&t.alternate.child===t.child,i=0,l=0;if(n)for(var f=t.child;f!==null;)i|=f.lanes|f.childLanes,l|=f.subtreeFlags&65011712,l|=f.flags&65011712,f.return=t,f=f.sibling;else for(f=t.child;f!==null;)i|=f.lanes|f.childLanes,l|=f.subtreeFlags,l|=f.flags,f.return=t,f=f.sibling;return t.subtreeFlags|=l,t.childLanes=i,n}function Uw(t,n,i){var l=n.pendingProps;switch(Eu(n),n.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return et(n),null;case 1:return et(n),null;case 3:return i=n.stateNode,l=null,t!==null&&(l=t.memoizedState.cache),n.memoizedState.cache!==l&&(n.flags|=2048),ca(ft),he(),i.pendingContext&&(i.context=i.pendingContext,i.pendingContext=null),(t===null||t.child===null)&&(yr(n)?ma(n):t===null||t.memoizedState.isDehydrated&&(n.flags&256)===0||(n.flags|=1024,Tu())),et(n),null;case 26:var f=n.type,h=n.memoizedState;return t===null?(ma(n),h!==null?(et(n),Kp(n,h)):(et(n),yd(n,f,null,l,i))):h?h!==t.memoizedState?(ma(n),et(n),Kp(n,h)):(et(n),n.flags&=-16777217):(t=t.memoizedProps,t!==l&&ma(n),et(n),yd(n,f,t,l,i)),null;case 27:if(ye(n),i=se.current,f=n.type,t!==null&&n.stateNode!=null)t.memoizedProps!==l&&ma(n);else{if(!l){if(n.stateNode===null)throw Error(r(166));return et(n),null}t=J.current,yr(n)?Mh(n):(t=ny(f,l,i),n.stateNode=t,ma(n))}return et(n),null;case 5:if(ye(n),f=n.type,t!==null&&n.stateNode!=null)t.memoizedProps!==l&&ma(n);else{if(!l){if(n.stateNode===null)throw Error(r(166));return et(n),null}if(h=J.current,yr(n))Mh(n);else{var x=kl(se.current);switch(h){case 1:h=x.createElementNS("http://www.w3.org/2000/svg",f);break;case 2:h=x.createElementNS("http://www.w3.org/1998/Math/MathML",f);break;default:switch(f){case"svg":h=x.createElementNS("http://www.w3.org/2000/svg",f);break;case"math":h=x.createElementNS("http://www.w3.org/1998/Math/MathML",f);break;case"script":h=x.createElement("div"),h.innerHTML="<script><\/script>",h=h.removeChild(h.firstChild);break;case"select":h=typeof l.is=="string"?x.createElement("select",{is:l.is}):x.createElement("select"),l.multiple?h.multiple=!0:l.size&&(h.size=l.size);break;default:h=typeof l.is=="string"?x.createElement(f,{is:l.is}):x.createElement(f)}}h[ot]=n,h[_t]=l;e:for(x=n.child;x!==null;){if(x.tag===5||x.tag===6)h.appendChild(x.stateNode);else if(x.tag!==4&&x.tag!==27&&x.child!==null){x.child.return=x,x=x.child;continue}if(x===n)break e;for(;x.sibling===null;){if(x.return===null||x.return===n)break e;x=x.return}x.sibling.return=x.return,x=x.sibling}n.stateNode=h;e:switch(Mt(h,f,l),f){case"button":case"input":case"select":case"textarea":l=!!l.autoFocus;break e;case"img":l=!0;break e;default:l=!1}l&&ma(n)}}return et(n),yd(n,n.type,t===null?null:t.memoizedProps,n.pendingProps,i),null;case 6:if(t&&n.stateNode!=null)t.memoizedProps!==l&&ma(n);else{if(typeof l!="string"&&n.stateNode===null)throw Error(r(166));if(t=se.current,yr(n)){if(t=n.stateNode,i=n.memoizedProps,l=null,f=Et,f!==null)switch(f.tag){case 27:case 5:l=f.memoizedProps}t[ot]=n,t=!!(t.nodeValue===i||l!==null&&l.suppressHydrationWarning===!0||$g(t.nodeValue,i)),t||Ia(n,!0)}else t=kl(t).createTextNode(l),t[ot]=n,n.stateNode=t}return et(n),null;case 31:if(i=n.memoizedState,t===null||t.memoizedState!==null){if(l=yr(n),i!==null){if(t===null){if(!l)throw Error(r(318));if(t=n.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(r(557));t[ot]=n}else No(),(n.flags&128)===0&&(n.memoizedState=null),n.flags|=4;et(n),t=!1}else i=Tu(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=i),t=!0;if(!t)return n.flags&256?(Zt(n),n):(Zt(n),null);if((n.flags&128)!==0)throw Error(r(558))}return et(n),null;case 13:if(l=n.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(f=yr(n),l!==null&&l.dehydrated!==null){if(t===null){if(!f)throw Error(r(318));if(f=n.memoizedState,f=f!==null?f.dehydrated:null,!f)throw Error(r(317));f[ot]=n}else No(),(n.flags&128)===0&&(n.memoizedState=null),n.flags|=4;et(n),f=!1}else f=Tu(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=f),f=!0;if(!f)return n.flags&256?(Zt(n),n):(Zt(n),null)}return Zt(n),(n.flags&128)!==0?(n.lanes=i,n):(i=l!==null,t=t!==null&&t.memoizedState!==null,i&&(l=n.child,f=null,l.alternate!==null&&l.alternate.memoizedState!==null&&l.alternate.memoizedState.cachePool!==null&&(f=l.alternate.memoizedState.cachePool.pool),h=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(h=l.memoizedState.cachePool.pool),h!==f&&(l.flags|=2048)),i!==t&&i&&(n.child.flags|=8192),vl(n,n.updateQueue),et(n),null);case 4:return he(),t===null&&Hd(n.stateNode.containerInfo),et(n),null;case 10:return ca(n.type),et(n),null;case 19:if(B(ut),l=n.memoizedState,l===null)return et(n),null;if(f=(n.flags&128)!==0,h=l.rendering,h===null)if(f)ki(l,!1);else{if(ct!==0||t!==null&&(t.flags&128)!==0)for(t=n.child;t!==null;){if(h=rl(t),h!==null){for(n.flags|=128,ki(l,!1),t=h.updateQueue,n.updateQueue=t,vl(n,t),n.subtreeFlags=0,t=i,i=n.child;i!==null;)_h(i,t),i=i.sibling;return G(ut,ut.current&1|2),He&&sa(n,l.treeForkCount),n.child}t=t.sibling}l.tail!==null&&yt()>_l&&(n.flags|=128,f=!0,ki(l,!1),n.lanes=4194304)}else{if(!f)if(t=rl(h),t!==null){if(n.flags|=128,f=!0,t=t.updateQueue,n.updateQueue=t,vl(n,t),ki(l,!0),l.tail===null&&l.tailMode==="hidden"&&!h.alternate&&!He)return et(n),null}else 2*yt()-l.renderingStartTime>_l&&i!==536870912&&(n.flags|=128,f=!0,ki(l,!1),n.lanes=4194304);l.isBackwards?(h.sibling=n.child,n.child=h):(t=l.last,t!==null?t.sibling=h:n.child=h,l.last=h)}return l.tail!==null?(t=l.tail,l.rendering=t,l.tail=t.sibling,l.renderingStartTime=yt(),t.sibling=null,i=ut.current,G(ut,f?i&1|2:i&1),He&&sa(n,l.treeForkCount),t):(et(n),null);case 22:case 23:return Zt(n),Uu(),l=n.memoizedState!==null,t!==null?t.memoizedState!==null!==l&&(n.flags|=8192):l&&(n.flags|=8192),l?(i&536870912)!==0&&(n.flags&128)===0&&(et(n),n.subtreeFlags&6&&(n.flags|=8192)):et(n),i=n.updateQueue,i!==null&&vl(n,i.retryQueue),i=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(i=t.memoizedState.cachePool.pool),l=null,n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(l=n.memoizedState.cachePool.pool),l!==i&&(n.flags|=2048),t!==null&&B(To),null;case 24:return i=null,t!==null&&(i=t.memoizedState.cache),n.memoizedState.cache!==i&&(n.flags|=2048),ca(ft),et(n),null;case 25:return null;case 30:return null}throw Error(r(156,n.tag))}function Pw(t,n){switch(Eu(n),n.tag){case 1:return t=n.flags,t&65536?(n.flags=t&-65537|128,n):null;case 3:return ca(ft),he(),t=n.flags,(t&65536)!==0&&(t&128)===0?(n.flags=t&-65537|128,n):null;case 26:case 27:case 5:return ye(n),null;case 31:if(n.memoizedState!==null){if(Zt(n),n.alternate===null)throw Error(r(340));No()}return t=n.flags,t&65536?(n.flags=t&-65537|128,n):null;case 13:if(Zt(n),t=n.memoizedState,t!==null&&t.dehydrated!==null){if(n.alternate===null)throw Error(r(340));No()}return t=n.flags,t&65536?(n.flags=t&-65537|128,n):null;case 19:return B(ut),null;case 4:return he(),null;case 10:return ca(n.type),null;case 22:case 23:return Zt(n),Uu(),t!==null&&B(To),t=n.flags,t&65536?(n.flags=t&-65537|128,n):null;case 24:return ca(ft),null;case 25:return null;default:return null}}function Zp(t,n){switch(Eu(n),n.tag){case 3:ca(ft),he();break;case 26:case 27:case 5:ye(n);break;case 4:he();break;case 31:n.memoizedState!==null&&Zt(n);break;case 13:Zt(n);break;case 19:B(ut);break;case 10:ca(n.type);break;case 22:case 23:Zt(n),Uu(),t!==null&&B(To);break;case 24:ca(ft)}}function Oi(t,n){try{var i=n.updateQueue,l=i!==null?i.lastEffect:null;if(l!==null){var f=l.next;i=f;do{if((i.tag&t)===t){l=void 0;var h=i.create,x=i.inst;l=h(),x.destroy=l}i=i.next}while(i!==f)}}catch(j){Ye(n,n.return,j)}}function Ga(t,n,i){try{var l=n.updateQueue,f=l!==null?l.lastEffect:null;if(f!==null){var h=f.next;l=h;do{if((l.tag&t)===t){var x=l.inst,j=x.destroy;if(j!==void 0){x.destroy=void 0,f=n;var F=i,ne=j;try{ne()}catch(le){Ye(f,F,le)}}}l=l.next}while(l!==h)}}catch(le){Ye(n,n.return,le)}}function Qp(t){var n=t.updateQueue;if(n!==null){var i=t.stateNode;try{Ph(n,i)}catch(l){Ye(t,t.return,l)}}}function Jp(t,n,i){i.props=Do(t.type,t.memoizedProps),i.state=t.memoizedState;try{i.componentWillUnmount()}catch(l){Ye(t,n,l)}}function zi(t,n){try{var i=t.ref;if(i!==null){switch(t.tag){case 26:case 27:case 5:var l=t.stateNode;break;case 30:l=t.stateNode;break;default:l=t.stateNode}typeof i=="function"?t.refCleanup=i(l):i.current=l}}catch(f){Ye(t,n,f)}}function qn(t,n){var i=t.ref,l=t.refCleanup;if(i!==null)if(typeof l=="function")try{l()}catch(f){Ye(t,n,f)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof i=="function")try{i(null)}catch(f){Ye(t,n,f)}else i.current=null}function Wp(t){var n=t.type,i=t.memoizedProps,l=t.stateNode;try{e:switch(n){case"button":case"input":case"select":case"textarea":i.autoFocus&&l.focus();break e;case"img":i.src?l.src=i.src:i.srcSet&&(l.srcset=i.srcSet)}}catch(f){Ye(t,t.return,f)}}function vd(t,n,i){try{var l=t.stateNode;c1(l,t.type,i,n),l[_t]=n}catch(f){Ye(t,t.return,f)}}function eg(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&Za(t.type)||t.tag===4}function bd(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||eg(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.tag===27&&Za(t.type)||t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function xd(t,n,i){var l=t.tag;if(l===5||l===6)t=t.stateNode,n?(i.nodeType===9?i.body:i.nodeName==="HTML"?i.ownerDocument.body:i).insertBefore(t,n):(n=i.nodeType===9?i.body:i.nodeName==="HTML"?i.ownerDocument.body:i,n.appendChild(t),i=i._reactRootContainer,i!=null||n.onclick!==null||(n.onclick=oa));else if(l!==4&&(l===27&&Za(t.type)&&(i=t.stateNode,n=null),t=t.child,t!==null))for(xd(t,n,i),t=t.sibling;t!==null;)xd(t,n,i),t=t.sibling}function bl(t,n,i){var l=t.tag;if(l===5||l===6)t=t.stateNode,n?i.insertBefore(t,n):i.appendChild(t);else if(l!==4&&(l===27&&Za(t.type)&&(i=t.stateNode),t=t.child,t!==null))for(bl(t,n,i),t=t.sibling;t!==null;)bl(t,n,i),t=t.sibling}function tg(t){var n=t.stateNode,i=t.memoizedProps;try{for(var l=t.type,f=n.attributes;f.length;)n.removeAttributeNode(f[0]);Mt(n,l,i),n[ot]=t,n[_t]=i}catch(h){Ye(t,t.return,h)}}var ha=!1,pt=!1,Sd=!1,ng=typeof WeakSet=="function"?WeakSet:Set,Nt=null;function qw(t,n){if(t=t.containerInfo,qd=Ul,t=hh(t),hu(t)){if("selectionStart"in t)var i={start:t.selectionStart,end:t.selectionEnd};else e:{i=(i=t.ownerDocument)&&i.defaultView||window;var l=i.getSelection&&i.getSelection();if(l&&l.rangeCount!==0){i=l.anchorNode;var f=l.anchorOffset,h=l.focusNode;l=l.focusOffset;try{i.nodeType,h.nodeType}catch{i=null;break e}var x=0,j=-1,F=-1,ne=0,le=0,me=t,oe=null;t:for(;;){for(var ie;me!==i||f!==0&&me.nodeType!==3||(j=x+f),me!==h||l!==0&&me.nodeType!==3||(F=x+l),me.nodeType===3&&(x+=me.nodeValue.length),(ie=me.firstChild)!==null;)oe=me,me=ie;for(;;){if(me===t)break t;if(oe===i&&++ne===f&&(j=x),oe===h&&++le===l&&(F=x),(ie=me.nextSibling)!==null)break;me=oe,oe=me.parentNode}me=ie}i=j===-1||F===-1?null:{start:j,end:F}}else i=null}i=i||{start:0,end:0}}else i=null;for(Gd={focusedElem:t,selectionRange:i},Ul=!1,Nt=n;Nt!==null;)if(n=Nt,t=n.child,(n.subtreeFlags&1028)!==0&&t!==null)t.return=n,Nt=t;else for(;Nt!==null;){switch(n=Nt,h=n.alternate,t=n.flags,n.tag){case 0:if((t&4)!==0&&(t=n.updateQueue,t=t!==null?t.events:null,t!==null))for(i=0;i<t.length;i++)f=t[i],f.ref.impl=f.nextImpl;break;case 11:case 15:break;case 1:if((t&1024)!==0&&h!==null){t=void 0,i=n,f=h.memoizedProps,h=h.memoizedState,l=i.stateNode;try{var xe=Do(i.type,f);t=l.getSnapshotBeforeUpdate(xe,h),l.__reactInternalSnapshotBeforeUpdate=t}catch(Ce){Ye(i,i.return,Ce)}}break;case 3:if((t&1024)!==0){if(t=n.stateNode.containerInfo,i=t.nodeType,i===9)Vd(t);else if(i===1)switch(t.nodeName){case"HEAD":case"HTML":case"BODY":Vd(t);break;default:t.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((t&1024)!==0)throw Error(r(163))}if(t=n.sibling,t!==null){t.return=n.return,Nt=t;break}Nt=n.return}}function ag(t,n,i){var l=i.flags;switch(i.tag){case 0:case 11:case 15:ga(t,i),l&4&&Oi(5,i);break;case 1:if(ga(t,i),l&4)if(t=i.stateNode,n===null)try{t.componentDidMount()}catch(x){Ye(i,i.return,x)}else{var f=Do(i.type,n.memoizedProps);n=n.memoizedState;try{t.componentDidUpdate(f,n,t.__reactInternalSnapshotBeforeUpdate)}catch(x){Ye(i,i.return,x)}}l&64&&Qp(i),l&512&&zi(i,i.return);break;case 3:if(ga(t,i),l&64&&(t=i.updateQueue,t!==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{Ph(t,n)}catch(x){Ye(i,i.return,x)}}break;case 27:n===null&&l&4&&tg(i);case 26:case 5:ga(t,i),n===null&&l&4&&Wp(i),l&512&&zi(i,i.return);break;case 12:ga(t,i);break;case 31:ga(t,i),l&4&&ig(t,i);break;case 13:ga(t,i),l&4&&sg(t,i),l&64&&(t=i.memoizedState,t!==null&&(t=t.dehydrated,t!==null&&(i=Qw.bind(null,i),y1(t,i))));break;case 22:if(l=i.memoizedState!==null||ha,!l){n=n!==null&&n.memoizedState!==null||pt,f=ha;var h=pt;ha=l,(pt=n)&&!h?ya(t,i,(i.subtreeFlags&8772)!==0):ga(t,i),ha=f,pt=h}break;case 30:break;default:ga(t,i)}}function og(t){var n=t.alternate;n!==null&&(t.alternate=null,og(n)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(n=t.stateNode,n!==null&&ho(n)),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}var tt=null,Lt=!1;function pa(t,n,i){for(i=i.child;i!==null;)rg(t,n,i),i=i.sibling}function rg(t,n,i){if(wt&&typeof wt.onCommitFiberUnmount=="function")try{wt.onCommitFiberUnmount(Rt,i)}catch{}switch(i.tag){case 26:pt||qn(i,n),pa(t,n,i),i.memoizedState?i.memoizedState.count--:i.stateNode&&(i=i.stateNode,i.parentNode.removeChild(i));break;case 27:pt||qn(i,n);var l=tt,f=Lt;Za(i.type)&&(tt=i.stateNode,Lt=!1),pa(t,n,i),Fi(i.stateNode),tt=l,Lt=f;break;case 5:pt||qn(i,n);case 6:if(l=tt,f=Lt,tt=null,pa(t,n,i),tt=l,Lt=f,tt!==null)if(Lt)try{(tt.nodeType===9?tt.body:tt.nodeName==="HTML"?tt.ownerDocument.body:tt).removeChild(i.stateNode)}catch(h){Ye(i,n,h)}else try{tt.removeChild(i.stateNode)}catch(h){Ye(i,n,h)}break;case 18:tt!==null&&(Lt?(t=tt,Qg(t.nodeType===9?t.body:t.nodeName==="HTML"?t.ownerDocument.body:t,i.stateNode),Br(t)):Qg(tt,i.stateNode));break;case 4:l=tt,f=Lt,tt=i.stateNode.containerInfo,Lt=!0,pa(t,n,i),tt=l,Lt=f;break;case 0:case 11:case 14:case 15:Ga(2,i,n),pt||Ga(4,i,n),pa(t,n,i);break;case 1:pt||(qn(i,n),l=i.stateNode,typeof l.componentWillUnmount=="function"&&Jp(i,n,l)),pa(t,n,i);break;case 21:pa(t,n,i);break;case 22:pt=(l=pt)||i.memoizedState!==null,pa(t,n,i),pt=l;break;default:pa(t,n,i)}}function ig(t,n){if(n.memoizedState===null&&(t=n.alternate,t!==null&&(t=t.memoizedState,t!==null))){t=t.dehydrated;try{Br(t)}catch(i){Ye(n,n.return,i)}}}function sg(t,n){if(n.memoizedState===null&&(t=n.alternate,t!==null&&(t=t.memoizedState,t!==null&&(t=t.dehydrated,t!==null))))try{Br(t)}catch(i){Ye(n,n.return,i)}}function Gw(t){switch(t.tag){case 31:case 13:case 19:var n=t.stateNode;return n===null&&(n=t.stateNode=new ng),n;case 22:return t=t.stateNode,n=t._retryCache,n===null&&(n=t._retryCache=new ng),n;default:throw Error(r(435,t.tag))}}function xl(t,n){var i=Gw(t);n.forEach(function(l){if(!i.has(l)){i.add(l);var f=Jw.bind(null,t,l);l.then(f,f)}})}function Bt(t,n){var i=n.deletions;if(i!==null)for(var l=0;l<i.length;l++){var f=i[l],h=t,x=n,j=x;e:for(;j!==null;){switch(j.tag){case 27:if(Za(j.type)){tt=j.stateNode,Lt=!1;break e}break;case 5:tt=j.stateNode,Lt=!1;break e;case 3:case 4:tt=j.stateNode.containerInfo,Lt=!0;break e}j=j.return}if(tt===null)throw Error(r(160));rg(h,x,f),tt=null,Lt=!1,h=f.alternate,h!==null&&(h.return=null),f.return=null}if(n.subtreeFlags&13886)for(n=n.child;n!==null;)lg(n,t),n=n.sibling}var Nn=null;function lg(t,n){var i=t.alternate,l=t.flags;switch(t.tag){case 0:case 11:case 14:case 15:Bt(n,t),Ht(t),l&4&&(Ga(3,t,t.return),Oi(3,t),Ga(5,t,t.return));break;case 1:Bt(n,t),Ht(t),l&512&&(pt||i===null||qn(i,i.return)),l&64&&ha&&(t=t.updateQueue,t!==null&&(l=t.callbacks,l!==null&&(i=t.shared.hiddenCallbacks,t.shared.hiddenCallbacks=i===null?l:i.concat(l))));break;case 26:var f=Nn;if(Bt(n,t),Ht(t),l&512&&(pt||i===null||qn(i,i.return)),l&4){var h=i!==null?i.memoizedState:null;if(l=t.memoizedState,i===null)if(l===null)if(t.stateNode===null){e:{l=t.type,i=t.memoizedProps,f=f.ownerDocument||f;t:switch(l){case"title":h=f.getElementsByTagName("title")[0],(!h||h[ea]||h[ot]||h.namespaceURI==="http://www.w3.org/2000/svg"||h.hasAttribute("itemprop"))&&(h=f.createElement(l),f.head.insertBefore(h,f.querySelector("head > title"))),Mt(h,l,i),h[ot]=t,st(h),l=h;break e;case"link":var x=ly("link","href",f).get(l+(i.href||""));if(x){for(var j=0;j<x.length;j++)if(h=x[j],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)){x.splice(j,1);break t}}h=f.createElement(l),Mt(h,l,i),f.head.appendChild(h);break;case"meta":if(x=ly("meta","content",f).get(l+(i.content||""))){for(j=0;j<x.length;j++)if(h=x[j],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)){x.splice(j,1);break t}}h=f.createElement(l),Mt(h,l,i),f.head.appendChild(h);break;default:throw Error(r(468,l))}h[ot]=t,st(h),l=h}t.stateNode=l}else cy(f,t.type,t.stateNode);else t.stateNode=sy(f,l,t.memoizedProps);else h!==l?(h===null?i.stateNode!==null&&(i=i.stateNode,i.parentNode.removeChild(i)):h.count--,l===null?cy(f,t.type,t.stateNode):sy(f,l,t.memoizedProps)):l===null&&t.stateNode!==null&&vd(t,t.memoizedProps,i.memoizedProps)}break;case 27:Bt(n,t),Ht(t),l&512&&(pt||i===null||qn(i,i.return)),i!==null&&l&4&&vd(t,t.memoizedProps,i.memoizedProps);break;case 5:if(Bt(n,t),Ht(t),l&512&&(pt||i===null||qn(i,i.return)),t.flags&32){f=t.stateNode;try{sr(f,"")}catch(xe){Ye(t,t.return,xe)}}l&4&&t.stateNode!=null&&(f=t.memoizedProps,vd(t,f,i!==null?i.memoizedProps:f)),l&1024&&(Sd=!0);break;case 6:if(Bt(n,t),Ht(t),l&4){if(t.stateNode===null)throw Error(r(162));l=t.memoizedProps,i=t.stateNode;try{i.nodeValue=l}catch(xe){Ye(t,t.return,xe)}}break;case 3:if(Il=null,f=Nn,Nn=Ol(n.containerInfo),Bt(n,t),Nn=f,Ht(t),l&4&&i!==null&&i.memoizedState.isDehydrated)try{Br(n.containerInfo)}catch(xe){Ye(t,t.return,xe)}Sd&&(Sd=!1,cg(t));break;case 4:l=Nn,Nn=Ol(t.stateNode.containerInfo),Bt(n,t),Ht(t),Nn=l;break;case 12:Bt(n,t),Ht(t);break;case 31:Bt(n,t),Ht(t),l&4&&(l=t.updateQueue,l!==null&&(t.updateQueue=null,xl(t,l)));break;case 13:Bt(n,t),Ht(t),t.child.flags&8192&&t.memoizedState!==null!=(i!==null&&i.memoizedState!==null)&&(wl=yt()),l&4&&(l=t.updateQueue,l!==null&&(t.updateQueue=null,xl(t,l)));break;case 22:f=t.memoizedState!==null;var F=i!==null&&i.memoizedState!==null,ne=ha,le=pt;if(ha=ne||f,pt=le||F,Bt(n,t),pt=le,ha=ne,Ht(t),l&8192)e:for(n=t.stateNode,n._visibility=f?n._visibility&-2:n._visibility|1,f&&(i===null||F||ha||pt||ko(t)),i=null,n=t;;){if(n.tag===5||n.tag===26){if(i===null){F=i=n;try{if(h=F.stateNode,f)x=h.style,typeof x.setProperty=="function"?x.setProperty("display","none","important"):x.display="none";else{j=F.stateNode;var me=F.memoizedProps.style,oe=me!=null&&me.hasOwnProperty("display")?me.display:null;j.style.display=oe==null||typeof oe=="boolean"?"":(""+oe).trim()}}catch(xe){Ye(F,F.return,xe)}}}else if(n.tag===6){if(i===null){F=n;try{F.stateNode.nodeValue=f?"":F.memoizedProps}catch(xe){Ye(F,F.return,xe)}}}else if(n.tag===18){if(i===null){F=n;try{var ie=F.stateNode;f?Jg(ie,!0):Jg(F.stateNode,!1)}catch(xe){Ye(F,F.return,xe)}}}else if((n.tag!==22&&n.tag!==23||n.memoizedState===null||n===t)&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break e;for(;n.sibling===null;){if(n.return===null||n.return===t)break e;i===n&&(i=null),n=n.return}i===n&&(i=null),n.sibling.return=n.return,n=n.sibling}l&4&&(l=t.updateQueue,l!==null&&(i=l.retryQueue,i!==null&&(l.retryQueue=null,xl(t,i))));break;case 19:Bt(n,t),Ht(t),l&4&&(l=t.updateQueue,l!==null&&(t.updateQueue=null,xl(t,l)));break;case 30:break;case 21:break;default:Bt(n,t),Ht(t)}}function Ht(t){var n=t.flags;if(n&2){try{for(var i,l=t.return;l!==null;){if(eg(l)){i=l;break}l=l.return}if(i==null)throw Error(r(160));switch(i.tag){case 27:var f=i.stateNode,h=bd(t);bl(t,h,f);break;case 5:var x=i.stateNode;i.flags&32&&(sr(x,""),i.flags&=-33);var j=bd(t);bl(t,j,x);break;case 3:case 4:var F=i.stateNode.containerInfo,ne=bd(t);xd(t,ne,F);break;default:throw Error(r(161))}}catch(le){Ye(t,t.return,le)}t.flags&=-3}n&4096&&(t.flags&=-4097)}function cg(t){if(t.subtreeFlags&1024)for(t=t.child;t!==null;){var n=t;cg(n),n.tag===5&&n.flags&1024&&n.stateNode.reset(),t=t.sibling}}function ga(t,n){if(n.subtreeFlags&8772)for(n=n.child;n!==null;)ag(t,n.alternate,n),n=n.sibling}function ko(t){for(t=t.child;t!==null;){var n=t;switch(n.tag){case 0:case 11:case 14:case 15:Ga(4,n,n.return),ko(n);break;case 1:qn(n,n.return);var i=n.stateNode;typeof i.componentWillUnmount=="function"&&Jp(n,n.return,i),ko(n);break;case 27:Fi(n.stateNode);case 26:case 5:qn(n,n.return),ko(n);break;case 22:n.memoizedState===null&&ko(n);break;case 30:ko(n);break;default:ko(n)}t=t.sibling}}function ya(t,n,i){for(i=i&&(n.subtreeFlags&8772)!==0,n=n.child;n!==null;){var l=n.alternate,f=t,h=n,x=h.flags;switch(h.tag){case 0:case 11:case 15:ya(f,h,i),Oi(4,h);break;case 1:if(ya(f,h,i),l=h,f=l.stateNode,typeof f.componentDidMount=="function")try{f.componentDidMount()}catch(ne){Ye(l,l.return,ne)}if(l=h,f=l.updateQueue,f!==null){var j=l.stateNode;try{var F=f.shared.hiddenCallbacks;if(F!==null)for(f.shared.hiddenCallbacks=null,f=0;f<F.length;f++)Uh(F[f],j)}catch(ne){Ye(l,l.return,ne)}}i&&x&64&&Qp(h),zi(h,h.return);break;case 27:tg(h);case 26:case 5:ya(f,h,i),i&&l===null&&x&4&&Wp(h),zi(h,h.return);break;case 12:ya(f,h,i);break;case 31:ya(f,h,i),i&&x&4&&ig(f,h);break;case 13:ya(f,h,i),i&&x&4&&sg(f,h);break;case 22:h.memoizedState===null&&ya(f,h,i),zi(h,h.return);break;case 30:break;default:ya(f,h,i)}n=n.sibling}}function wd(t,n){var i=null;t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(i=t.memoizedState.cachePool.pool),t=null,n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(t=n.memoizedState.cachePool.pool),t!==i&&(t!=null&&t.refCount++,i!=null&&Si(i))}function _d(t,n){t=null,n.alternate!==null&&(t=n.alternate.memoizedState.cache),n=n.memoizedState.cache,n!==t&&(n.refCount++,t!=null&&Si(t))}function En(t,n,i,l){if(n.subtreeFlags&10256)for(n=n.child;n!==null;)ug(t,n,i,l),n=n.sibling}function ug(t,n,i,l){var f=n.flags;switch(n.tag){case 0:case 11:case 15:En(t,n,i,l),f&2048&&Oi(9,n);break;case 1:En(t,n,i,l);break;case 3:En(t,n,i,l),f&2048&&(t=null,n.alternate!==null&&(t=n.alternate.memoizedState.cache),n=n.memoizedState.cache,n!==t&&(n.refCount++,t!=null&&Si(t)));break;case 12:if(f&2048){En(t,n,i,l),t=n.stateNode;try{var h=n.memoizedProps,x=h.id,j=h.onPostCommit;typeof j=="function"&&j(x,n.alternate===null?"mount":"update",t.passiveEffectDuration,-0)}catch(F){Ye(n,n.return,F)}}else En(t,n,i,l);break;case 31:En(t,n,i,l);break;case 13:En(t,n,i,l);break;case 23:break;case 22:h=n.stateNode,x=n.alternate,n.memoizedState!==null?h._visibility&2?En(t,n,i,l):Ii(t,n):h._visibility&2?En(t,n,i,l):(h._visibility|=2,Tr(t,n,i,l,(n.subtreeFlags&10256)!==0||!1)),f&2048&&wd(x,n);break;case 24:En(t,n,i,l),f&2048&&_d(n.alternate,n);break;default:En(t,n,i,l)}}function Tr(t,n,i,l,f){for(f=f&&((n.subtreeFlags&10256)!==0||!1),n=n.child;n!==null;){var h=t,x=n,j=i,F=l,ne=x.flags;switch(x.tag){case 0:case 11:case 15:Tr(h,x,j,F,f),Oi(8,x);break;case 23:break;case 22:var le=x.stateNode;x.memoizedState!==null?le._visibility&2?Tr(h,x,j,F,f):Ii(h,x):(le._visibility|=2,Tr(h,x,j,F,f)),f&&ne&2048&&wd(x.alternate,x);break;case 24:Tr(h,x,j,F,f),f&&ne&2048&&_d(x.alternate,x);break;default:Tr(h,x,j,F,f)}n=n.sibling}}function Ii(t,n){if(n.subtreeFlags&10256)for(n=n.child;n!==null;){var i=t,l=n,f=l.flags;switch(l.tag){case 22:Ii(i,l),f&2048&&wd(l.alternate,l);break;case 24:Ii(i,l),f&2048&&_d(l.alternate,l);break;default:Ii(i,l)}n=n.sibling}}var Li=8192;function Mr(t,n,i){if(t.subtreeFlags&Li)for(t=t.child;t!==null;)dg(t,n,i),t=t.sibling}function dg(t,n,i){switch(t.tag){case 26:Mr(t,n,i),t.flags&Li&&t.memoizedState!==null&&j1(i,Nn,t.memoizedState,t.memoizedProps);break;case 5:Mr(t,n,i);break;case 3:case 4:var l=Nn;Nn=Ol(t.stateNode.containerInfo),Mr(t,n,i),Nn=l;break;case 22:t.memoizedState===null&&(l=t.alternate,l!==null&&l.memoizedState!==null?(l=Li,Li=16777216,Mr(t,n,i),Li=l):Mr(t,n,i));break;default:Mr(t,n,i)}}function fg(t){var n=t.alternate;if(n!==null&&(t=n.child,t!==null)){n.child=null;do n=t.sibling,t.sibling=null,t=n;while(t!==null)}}function Bi(t){var n=t.deletions;if((t.flags&16)!==0){if(n!==null)for(var i=0;i<n.length;i++){var l=n[i];Nt=l,hg(l,t)}fg(t)}if(t.subtreeFlags&10256)for(t=t.child;t!==null;)mg(t),t=t.sibling}function mg(t){switch(t.tag){case 0:case 11:case 15:Bi(t),t.flags&2048&&Ga(9,t,t.return);break;case 3:Bi(t);break;case 12:Bi(t);break;case 22:var n=t.stateNode;t.memoizedState!==null&&n._visibility&2&&(t.return===null||t.return.tag!==13)?(n._visibility&=-3,Sl(t)):Bi(t);break;default:Bi(t)}}function Sl(t){var n=t.deletions;if((t.flags&16)!==0){if(n!==null)for(var i=0;i<n.length;i++){var l=n[i];Nt=l,hg(l,t)}fg(t)}for(t=t.child;t!==null;){switch(n=t,n.tag){case 0:case 11:case 15:Ga(8,n,n.return),Sl(n);break;case 22:i=n.stateNode,i._visibility&2&&(i._visibility&=-3,Sl(n));break;default:Sl(n)}t=t.sibling}}function hg(t,n){for(;Nt!==null;){var i=Nt;switch(i.tag){case 0:case 11:case 15:Ga(8,i,n);break;case 23:case 22:if(i.memoizedState!==null&&i.memoizedState.cachePool!==null){var l=i.memoizedState.cachePool.pool;l!=null&&l.refCount++}break;case 24:Si(i.memoizedState.cache)}if(l=i.child,l!==null)l.return=i,Nt=l;else e:for(i=t;Nt!==null;){l=Nt;var f=l.sibling,h=l.return;if(og(l),l===i){Nt=null;break e}if(f!==null){f.return=h,Nt=f;break e}Nt=h}}}var Fw={getCacheForType:function(t){var n=Ct(ft),i=n.data.get(t);return i===void 0&&(i=t(),n.data.set(t,i)),i},cacheSignal:function(){return Ct(ft).controller.signal}},$w=typeof WeakMap=="function"?WeakMap:Map,$e=0,Qe=null,ke=null,Ie=0,Ve=0,Qt=null,Fa=!1,jr=!1,Nd=!1,va=0,ct=0,$a=0,Oo=0,Ed=0,Jt=0,Ar=0,Hi=null,Ut=null,Cd=!1,wl=0,pg=0,_l=1/0,Nl=null,Va=null,St=0,Ya=null,Rr=null,ba=0,Td=0,Md=null,gg=null,Ui=0,jd=null;function Wt(){return($e&2)!==0&&Ie!==0?Ie&-Ie:R.T!==null?zd():on()}function yg(){if(Jt===0)if((Ie&536870912)===0||He){var t=gn;gn<<=1,(gn&3932160)===0&&(gn=262144),Jt=t}else Jt=536870912;return t=Kt.current,t!==null&&(t.flags|=32),Jt}function Pt(t,n,i){(t===Qe&&(Ve===2||Ve===9)||t.cancelPendingCommit!==null)&&(Dr(t,0),Xa(t,Ie,Jt,!1)),Vt(t,i),(($e&2)===0||t!==Qe)&&(t===Qe&&(($e&2)===0&&(Oo|=i),ct===4&&Xa(t,Ie,Jt,!1)),Gn(t))}function vg(t,n,i){if(($e&6)!==0)throw Error(r(327));var l=!i&&(n&127)===0&&(n&t.expiredLanes)===0||Wn(t,n),f=l?Xw(t,n):Rd(t,n,!0),h=l;do{if(f===0){jr&&!l&&Xa(t,n,0,!1);break}else{if(i=t.current.alternate,h&&!Vw(i)){f=Rd(t,n,!1),h=!1;continue}if(f===2){if(h=n,t.errorRecoveryDisabledLanes&h)var x=0;else x=t.pendingLanes&-536870913,x=x!==0?x:x&536870912?536870912:0;if(x!==0){n=x;e:{var j=t;f=Hi;var F=j.current.memoizedState.isDehydrated;if(F&&(Dr(j,x).flags|=256),x=Rd(j,x,!1),x!==2){if(Nd&&!F){j.errorRecoveryDisabledLanes|=h,Oo|=h,f=4;break e}h=Ut,Ut=f,h!==null&&(Ut===null?Ut=h:Ut.push.apply(Ut,h))}f=x}if(h=!1,f!==2)continue}}if(f===1){Dr(t,0),Xa(t,n,0,!0);break}e:{switch(l=t,h=f,h){case 0:case 1:throw Error(r(345));case 4:if((n&4194048)!==n)break;case 6:Xa(l,n,Jt,!Fa);break e;case 2:Ut=null;break;case 3:case 5:break;default:throw Error(r(329))}if((n&62914560)===n&&(f=wl+300-yt(),10<f)){if(Xa(l,n,Jt,!Fa),zn(l,0,!0)!==0)break e;ba=n,l.timeoutHandle=Kg(bg.bind(null,l,i,Ut,Nl,Cd,n,Jt,Oo,Ar,Fa,h,"Throttled",-0,0),f);break e}bg(l,i,Ut,Nl,Cd,n,Jt,Oo,Ar,Fa,h,null,-0,0)}}break}while(!0);Gn(t)}function bg(t,n,i,l,f,h,x,j,F,ne,le,me,oe,ie){if(t.timeoutHandle=-1,me=n.subtreeFlags,me&8192||(me&16785408)===16785408){me={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:oa},dg(n,h,me);var xe=(h&62914560)===h?wl-yt():(h&4194048)===h?pg-yt():0;if(xe=A1(me,xe),xe!==null){ba=h,t.cancelPendingCommit=xe(Tg.bind(null,t,n,h,i,l,f,x,j,F,le,me,null,oe,ie)),Xa(t,h,x,!ne);return}}Tg(t,n,h,i,l,f,x,j,F)}function Vw(t){for(var n=t;;){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 l=0;l<i.length;l++){var f=i[l],h=f.getSnapshot;f=f.value;try{if(!Yt(h(),f))return!1}catch{return!1}}if(i=n.child,n.subtreeFlags&16384&&i!==null)i.return=n,n=i;else{if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return!0;n=n.return}n.sibling.return=n.return,n=n.sibling}}return!0}function Xa(t,n,i,l){n&=~Ed,n&=~Oo,t.suspendedLanes|=n,t.pingedLanes&=~n,l&&(t.warmLanes|=n),l=t.expirationTimes;for(var f=n;0<f;){var h=31-it(f),x=1<<h;l[h]=-1,f&=~x}i!==0&&xt(t,i,n)}function El(){return($e&6)===0?(Pi(0),!1):!0}function Ad(){if(ke!==null){if(Ve===0)var t=ke.return;else t=ke,la=Eo=null,Vu(t),wr=null,_i=0,t=ke;for(;t!==null;)Zp(t.alternate,t),t=t.return;ke=null}}function Dr(t,n){var i=t.timeoutHandle;i!==-1&&(t.timeoutHandle=-1,f1(i)),i=t.cancelPendingCommit,i!==null&&(t.cancelPendingCommit=null,i()),ba=0,Ad(),Qe=t,ke=i=ia(t.current,null),Ie=n,Ve=0,Qt=null,Fa=!1,jr=Wn(t,n),Nd=!1,Ar=Jt=Ed=Oo=$a=ct=0,Ut=Hi=null,Cd=!1,(n&8)!==0&&(n|=n&32);var l=t.entangledLanes;if(l!==0)for(t=t.entanglements,l&=n;0<l;){var f=31-it(l),h=1<<f;n|=t[f],l&=~h}return va=n,Vs(),i}function xg(t,n){Ae=null,R.H=Ri,n===Sr||n===el?(n=Ih(),Ve=3):n===Ou?(n=Ih(),Ve=4):Ve=n===ld?8:n!==null&&typeof n=="object"&&typeof n.then=="function"?6:1,Qt=n,ke===null&&(ct=1,hl(t,ln(n,t.current)))}function Sg(){var t=Kt.current;return t===null?!0:(Ie&4194048)===Ie?fn===null:(Ie&62914560)===Ie||(Ie&536870912)!==0?t===fn:!1}function wg(){var t=R.H;return R.H=Ri,t===null?Ri:t}function _g(){var t=R.A;return R.A=Fw,t}function Cl(){ct=4,Fa||(Ie&4194048)!==Ie&&Kt.current!==null||(jr=!0),($a&134217727)===0&&(Oo&134217727)===0||Qe===null||Xa(Qe,Ie,Jt,!1)}function Rd(t,n,i){var l=$e;$e|=2;var f=wg(),h=_g();(Qe!==t||Ie!==n)&&(Nl=null,Dr(t,n)),n=!1;var x=ct;e:do try{if(Ve!==0&&ke!==null){var j=ke,F=Qt;switch(Ve){case 8:Ad(),x=6;break e;case 3:case 2:case 9:case 6:Kt.current===null&&(n=!0);var ne=Ve;if(Ve=0,Qt=null,kr(t,j,F,ne),i&&jr){x=0;break e}break;default:ne=Ve,Ve=0,Qt=null,kr(t,j,F,ne)}}Yw(),x=ct;break}catch(le){xg(t,le)}while(!0);return n&&t.shellSuspendCounter++,la=Eo=null,$e=l,R.H=f,R.A=h,ke===null&&(Qe=null,Ie=0,Vs()),x}function Yw(){for(;ke!==null;)Ng(ke)}function Xw(t,n){var i=$e;$e|=2;var l=wg(),f=_g();Qe!==t||Ie!==n?(Nl=null,_l=yt()+500,Dr(t,n)):jr=Wn(t,n);e:do try{if(Ve!==0&&ke!==null){n=ke;var h=Qt;t:switch(Ve){case 1:Ve=0,Qt=null,kr(t,n,h,1);break;case 2:case 9:if(Oh(h)){Ve=0,Qt=null,Eg(n);break}n=function(){Ve!==2&&Ve!==9||Qe!==t||(Ve=7),Gn(t)},h.then(n,n);break e;case 3:Ve=7;break e;case 4:Ve=5;break e;case 7:Oh(h)?(Ve=0,Qt=null,Eg(n)):(Ve=0,Qt=null,kr(t,n,h,7));break;case 5:var x=null;switch(ke.tag){case 26:x=ke.memoizedState;case 5:case 27:var j=ke;if(x?uy(x):j.stateNode.complete){Ve=0,Qt=null;var F=j.sibling;if(F!==null)ke=F;else{var ne=j.return;ne!==null?(ke=ne,Tl(ne)):ke=null}break t}}Ve=0,Qt=null,kr(t,n,h,5);break;case 6:Ve=0,Qt=null,kr(t,n,h,6);break;case 8:Ad(),ct=6;break e;default:throw Error(r(462))}}Kw();break}catch(le){xg(t,le)}while(!0);return la=Eo=null,R.H=l,R.A=f,$e=i,ke!==null?0:(Qe=null,Ie=0,Vs(),ct)}function Kw(){for(;ke!==null&&!Zn();)Ng(ke)}function Ng(t){var n=Xp(t.alternate,t,va);t.memoizedProps=t.pendingProps,n===null?Tl(t):ke=n}function Eg(t){var n=t,i=n.alternate;switch(n.tag){case 15:case 0:n=qp(i,n,n.pendingProps,n.type,void 0,Ie);break;case 11:n=qp(i,n,n.pendingProps,n.type.render,n.ref,Ie);break;case 5:Vu(n);default:Zp(i,n),n=ke=_h(n,va),n=Xp(i,n,va)}t.memoizedProps=t.pendingProps,n===null?Tl(t):ke=n}function kr(t,n,i,l){la=Eo=null,Vu(n),wr=null,_i=0;var f=n.return;try{if(Lw(t,f,n,i,Ie)){ct=1,hl(t,ln(i,t.current)),ke=null;return}}catch(h){if(f!==null)throw ke=f,h;ct=1,hl(t,ln(i,t.current)),ke=null;return}n.flags&32768?(He||l===1?t=!0:jr||(Ie&536870912)!==0?t=!1:(Fa=t=!0,(l===2||l===9||l===3||l===6)&&(l=Kt.current,l!==null&&l.tag===13&&(l.flags|=16384))),Cg(n,t)):Tl(n)}function Tl(t){var n=t;do{if((n.flags&32768)!==0){Cg(n,Fa);return}t=n.return;var i=Uw(n.alternate,n,va);if(i!==null){ke=i;return}if(n=n.sibling,n!==null){ke=n;return}ke=n=t}while(n!==null);ct===0&&(ct=5)}function Cg(t,n){do{var i=Pw(t.alternate,t);if(i!==null){i.flags&=32767,ke=i;return}if(i=t.return,i!==null&&(i.flags|=32768,i.subtreeFlags=0,i.deletions=null),!n&&(t=t.sibling,t!==null)){ke=t;return}ke=t=i}while(t!==null);ct=6,ke=null}function Tg(t,n,i,l,f,h,x,j,F){t.cancelPendingCommit=null;do Ml();while(St!==0);if(($e&6)!==0)throw Error(r(327));if(n!==null){if(n===t.current)throw Error(r(177));if(h=n.lanes|n.childLanes,h|=bu,In(t,i,h,x,j,F),t===Qe&&(ke=Qe=null,Ie=0),Rr=n,Ya=t,ba=i,Td=h,Md=f,gg=l,(n.subtreeFlags&10256)!==0||(n.flags&10256)!==0?(t.callbackNode=null,t.callbackPriority=0,Ww(Ot,function(){return Dg(),null})):(t.callbackNode=null,t.callbackPriority=0),l=(n.flags&13878)!==0,(n.subtreeFlags&13878)!==0||l){l=R.T,R.T=null,f=L.p,L.p=2,x=$e,$e|=4;try{qw(t,n,i)}finally{$e=x,L.p=f,R.T=l}}St=1,Mg(),jg(),Ag()}}function Mg(){if(St===1){St=0;var t=Ya,n=Rr,i=(n.flags&13878)!==0;if((n.subtreeFlags&13878)!==0||i){i=R.T,R.T=null;var l=L.p;L.p=2;var f=$e;$e|=4;try{lg(n,t);var h=Gd,x=hh(t.containerInfo),j=h.focusedElem,F=h.selectionRange;if(x!==j&&j&&j.ownerDocument&&mh(j.ownerDocument.documentElement,j)){if(F!==null&&hu(j)){var ne=F.start,le=F.end;if(le===void 0&&(le=ne),"selectionStart"in j)j.selectionStart=ne,j.selectionEnd=Math.min(le,j.value.length);else{var me=j.ownerDocument||document,oe=me&&me.defaultView||window;if(oe.getSelection){var ie=oe.getSelection(),xe=j.textContent.length,Ce=Math.min(F.start,xe),Ze=F.end===void 0?Ce:Math.min(F.end,xe);!ie.extend&&Ce>Ze&&(x=Ze,Ze=Ce,Ce=x);var W=fh(j,Ce),Y=fh(j,Ze);if(W&&Y&&(ie.rangeCount!==1||ie.anchorNode!==W.node||ie.anchorOffset!==W.offset||ie.focusNode!==Y.node||ie.focusOffset!==Y.offset)){var ee=me.createRange();ee.setStart(W.node,W.offset),ie.removeAllRanges(),Ce>Ze?(ie.addRange(ee),ie.extend(Y.node,Y.offset)):(ee.setEnd(Y.node,Y.offset),ie.addRange(ee))}}}}for(me=[],ie=j;ie=ie.parentNode;)ie.nodeType===1&&me.push({element:ie,left:ie.scrollLeft,top:ie.scrollTop});for(typeof j.focus=="function"&&j.focus(),j=0;j<me.length;j++){var de=me[j];de.element.scrollLeft=de.left,de.element.scrollTop=de.top}}Ul=!!qd,Gd=qd=null}finally{$e=f,L.p=l,R.T=i}}t.current=n,St=2}}function jg(){if(St===2){St=0;var t=Ya,n=Rr,i=(n.flags&8772)!==0;if((n.subtreeFlags&8772)!==0||i){i=R.T,R.T=null;var l=L.p;L.p=2;var f=$e;$e|=4;try{ag(t,n.alternate,n)}finally{$e=f,L.p=l,R.T=i}}St=3}}function Ag(){if(St===4||St===3){St=0,kn();var t=Ya,n=Rr,i=ba,l=gg;(n.subtreeFlags&10256)!==0||(n.flags&10256)!==0?St=5:(St=0,Rr=Ya=null,Rg(t,t.pendingLanes));var f=t.pendingLanes;if(f===0&&(Va=null),fo(i),n=n.stateNode,wt&&typeof wt.onCommitFiberRoot=="function")try{wt.onCommitFiberRoot(Rt,n,void 0,(n.current.flags&128)===128)}catch{}if(l!==null){n=R.T,f=L.p,L.p=2,R.T=null;try{for(var h=t.onRecoverableError,x=0;x<l.length;x++){var j=l[x];h(j.value,{componentStack:j.stack})}}finally{R.T=n,L.p=f}}(ba&3)!==0&&Ml(),Gn(t),f=t.pendingLanes,(i&261930)!==0&&(f&42)!==0?t===jd?Ui++:(Ui=0,jd=t):Ui=0,Pi(0)}}function Rg(t,n){(t.pooledCacheLanes&=n)===0&&(n=t.pooledCache,n!=null&&(t.pooledCache=null,Si(n)))}function Ml(){return Mg(),jg(),Ag(),Dg()}function Dg(){if(St!==5)return!1;var t=Ya,n=Td;Td=0;var i=fo(ba),l=R.T,f=L.p;try{L.p=32>i?32:i,R.T=null,i=Md,Md=null;var h=Ya,x=ba;if(St=0,Rr=Ya=null,ba=0,($e&6)!==0)throw Error(r(331));var j=$e;if($e|=4,mg(h.current),ug(h,h.current,x,i),$e=j,Pi(0,!1),wt&&typeof wt.onPostCommitFiberRoot=="function")try{wt.onPostCommitFiberRoot(Rt,h)}catch{}return!0}finally{L.p=f,R.T=l,Rg(t,n)}}function kg(t,n,i){n=ln(i,n),n=sd(t.stateNode,n,2),t=Ua(t,n,2),t!==null&&(Vt(t,2),Gn(t))}function Ye(t,n,i){if(t.tag===3)kg(t,t,i);else for(;n!==null;){if(n.tag===3){kg(n,t,i);break}else if(n.tag===1){var l=n.stateNode;if(typeof n.type.getDerivedStateFromError=="function"||typeof l.componentDidCatch=="function"&&(Va===null||!Va.has(l))){t=ln(i,t),i=Op(2),l=Ua(n,i,2),l!==null&&(zp(i,l,n,t),Vt(l,2),Gn(l));break}}n=n.return}}function Dd(t,n,i){var l=t.pingCache;if(l===null){l=t.pingCache=new $w;var f=new Set;l.set(n,f)}else f=l.get(n),f===void 0&&(f=new Set,l.set(n,f));f.has(i)||(Nd=!0,f.add(i),t=Zw.bind(null,t,n,i),n.then(t,t))}function Zw(t,n,i){var l=t.pingCache;l!==null&&l.delete(n),t.pingedLanes|=t.suspendedLanes&i,t.warmLanes&=~i,Qe===t&&(Ie&i)===i&&(ct===4||ct===3&&(Ie&62914560)===Ie&&300>yt()-wl?($e&2)===0&&Dr(t,0):Ed|=i,Ar===Ie&&(Ar=0)),Gn(t)}function Og(t,n){n===0&&(n=er()),t=wo(t,n),t!==null&&(Vt(t,n),Gn(t))}function Qw(t){var n=t.memoizedState,i=0;n!==null&&(i=n.retryLane),Og(t,i)}function Jw(t,n){var i=0;switch(t.tag){case 31:case 13:var l=t.stateNode,f=t.memoizedState;f!==null&&(i=f.retryLane);break;case 19:l=t.stateNode;break;case 22:l=t.stateNode._retryCache;break;default:throw Error(r(314))}l!==null&&l.delete(n),Og(t,i)}function Ww(t,n){return Ft(t,n)}var jl=null,Or=null,kd=!1,Al=!1,Od=!1,Ka=0;function Gn(t){t!==Or&&t.next===null&&(Or===null?jl=Or=t:Or=Or.next=t),Al=!0,kd||(kd=!0,t1())}function Pi(t,n){if(!Od&&Al){Od=!0;do for(var i=!1,l=jl;l!==null;){if(t!==0){var f=l.pendingLanes;if(f===0)var h=0;else{var x=l.suspendedLanes,j=l.pingedLanes;h=(1<<31-it(42|t)+1)-1,h&=f&~(x&~j),h=h&201326741?h&201326741|1:h?h|2:0}h!==0&&(i=!0,Bg(l,h))}else h=Ie,h=zn(l,l===Qe?h:0,l.cancelPendingCommit!==null||l.timeoutHandle!==-1),(h&3)===0||Wn(l,h)||(i=!0,Bg(l,h));l=l.next}while(i);Od=!1}}function e1(){zg()}function zg(){Al=kd=!1;var t=0;Ka!==0&&d1()&&(t=Ka);for(var n=yt(),i=null,l=jl;l!==null;){var f=l.next,h=Ig(l,n);h===0?(l.next=null,i===null?jl=f:i.next=f,f===null&&(Or=i)):(i=l,(t!==0||(h&3)!==0)&&(Al=!0)),l=f}St!==0&&St!==5||Pi(t),Ka!==0&&(Ka=0)}function Ig(t,n){for(var i=t.suspendedLanes,l=t.pingedLanes,f=t.expirationTimes,h=t.pendingLanes&-62914561;0<h;){var x=31-it(h),j=1<<x,F=f[x];F===-1?((j&i)===0||(j&l)!==0)&&(f[x]=ii(j,n)):F<=n&&(t.expiredLanes|=j),h&=~j}if(n=Qe,i=Ie,i=zn(t,t===n?i:0,t.cancelPendingCommit!==null||t.timeoutHandle!==-1),l=t.callbackNode,i===0||t===n&&(Ve===2||Ve===9)||t.cancelPendingCommit!==null)return l!==null&&l!==null&&an(l),t.callbackNode=null,t.callbackPriority=0;if((i&3)===0||Wn(t,i)){if(n=i&-i,n===t.callbackPriority)return n;switch(l!==null&&an(l),fo(i)){case 2:case 8:i=kt;break;case 32:i=Ot;break;case 268435456:i=$t;break;default:i=Ot}return l=Lg.bind(null,t),i=Ft(i,l),t.callbackPriority=n,t.callbackNode=i,n}return l!==null&&l!==null&&an(l),t.callbackPriority=2,t.callbackNode=null,2}function Lg(t,n){if(St!==0&&St!==5)return t.callbackNode=null,t.callbackPriority=0,null;var i=t.callbackNode;if(Ml()&&t.callbackNode!==i)return null;var l=Ie;return l=zn(t,t===Qe?l:0,t.cancelPendingCommit!==null||t.timeoutHandle!==-1),l===0?null:(vg(t,l,n),Ig(t,yt()),t.callbackNode!=null&&t.callbackNode===i?Lg.bind(null,t):null)}function Bg(t,n){if(Ml())return null;vg(t,n,!0)}function t1(){m1(function(){($e&6)!==0?Ft(vt,e1):zg()})}function zd(){if(Ka===0){var t=br;t===0&&(t=Ma,Ma<<=1,(Ma&261888)===0&&(Ma=256)),Ka=t}return Ka}function Hg(t){return t==null||typeof t=="symbol"||typeof t=="boolean"?null:typeof t=="function"?t:Bs(""+t)}function Ug(t,n){var i=n.ownerDocument.createElement("input");return i.name=n.name,i.value=n.value,t.id&&i.setAttribute("form",t.id),n.parentNode.insertBefore(i,n),t=new FormData(t),i.parentNode.removeChild(i),t}function n1(t,n,i,l,f){if(n==="submit"&&i&&i.stateNode===f){var h=Hg((f[_t]||null).action),x=l.submitter;x&&(n=(n=x[_t]||null)?Hg(n.formAction):x.getAttribute("formAction"),n!==null&&(h=n,x=null));var j=new qs("action","action",null,l,f);t.push({event:j,listeners:[{instance:null,listener:function(){if(l.defaultPrevented){if(Ka!==0){var F=x?Ug(f,x):new FormData(f);td(i,{pending:!0,data:F,method:f.method,action:h},null,F)}}else typeof h=="function"&&(j.preventDefault(),F=x?Ug(f,x):new FormData(f),td(i,{pending:!0,data:F,method:f.method,action:h},h,F))},currentTarget:f}]})}}for(var Id=0;Id<vu.length;Id++){var Ld=vu[Id],a1=Ld.toLowerCase(),o1=Ld[0].toUpperCase()+Ld.slice(1);_n(a1,"on"+o1)}_n(yh,"onAnimationEnd"),_n(vh,"onAnimationIteration"),_n(bh,"onAnimationStart"),_n("dblclick","onDoubleClick"),_n("focusin","onFocus"),_n("focusout","onBlur"),_n(xw,"onTransitionRun"),_n(Sw,"onTransitionStart"),_n(ww,"onTransitionCancel"),_n(xh,"onTransitionEnd"),Bn("onMouseEnter",["mouseout","mouseover"]),Bn("onMouseLeave",["mouseout","mouseover"]),Bn("onPointerEnter",["pointerout","pointerover"]),Bn("onPointerLeave",["pointerout","pointerover"]),wn("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),wn("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),wn("onBeforeInput",["compositionend","keypress","textInput","paste"]),wn("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),wn("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),wn("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var qi="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(" "),r1=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(qi));function Pg(t,n){n=(n&4)!==0;for(var i=0;i<t.length;i++){var l=t[i],f=l.event;l=l.listeners;e:{var h=void 0;if(n)for(var x=l.length-1;0<=x;x--){var j=l[x],F=j.instance,ne=j.currentTarget;if(j=j.listener,F!==h&&f.isPropagationStopped())break e;h=j,f.currentTarget=ne;try{h(f)}catch(le){$s(le)}f.currentTarget=null,h=F}else for(x=0;x<l.length;x++){if(j=l[x],F=j.instance,ne=j.currentTarget,j=j.listener,F!==h&&f.isPropagationStopped())break e;h=j,f.currentTarget=ne;try{h(f)}catch(le){$s(le)}f.currentTarget=null,h=F}}}}function Oe(t,n){var i=n[Ra];i===void 0&&(i=n[Ra]=new Set);var l=t+"__bubble";i.has(l)||(qg(n,t,2,!1),i.add(l))}function Bd(t,n,i){var l=0;n&&(l|=4),qg(i,t,l,n)}var Rl="_reactListening"+Math.random().toString(36).slice(2);function Hd(t){if(!t[Rl]){t[Rl]=!0,or.forEach(function(i){i!=="selectionchange"&&(r1.has(i)||Bd(i,!1,t),Bd(i,!0,t))});var n=t.nodeType===9?t:t.ownerDocument;n===null||n[Rl]||(n[Rl]=!0,Bd("selectionchange",!1,n))}}function qg(t,n,i,l){switch(yy(n)){case 2:var f=k1;break;case 8:f=O1;break;default:f=ef}i=f.bind(null,n,i,t),f=void 0,!ru||n!=="touchstart"&&n!=="touchmove"&&n!=="wheel"||(f=!0),l?f!==void 0?t.addEventListener(n,i,{capture:!0,passive:f}):t.addEventListener(n,i,!0):f!==void 0?t.addEventListener(n,i,{passive:f}):t.addEventListener(n,i,!1)}function Ud(t,n,i,l,f){var h=l;if((n&1)===0&&(n&2)===0&&l!==null)e:for(;;){if(l===null)return;var x=l.tag;if(x===3||x===4){var j=l.stateNode.containerInfo;if(j===f)break;if(x===4)for(x=l.return;x!==null;){var F=x.tag;if((F===3||F===4)&&x.stateNode.containerInfo===f)return;x=x.return}for(;j!==null;){if(x=Ln(j),x===null)return;if(F=x.tag,F===5||F===6||F===26||F===27){l=h=x;continue e}j=j.parentNode}}l=l.return}Ym(function(){var ne=h,le=au(i),me=[];e:{var oe=Sh.get(t);if(oe!==void 0){var ie=qs,xe=t;switch(t){case"keypress":if(Us(i)===0)break e;case"keydown":case"keyup":ie=JS;break;case"focusin":xe="focus",ie=cu;break;case"focusout":xe="blur",ie=cu;break;case"beforeblur":case"afterblur":ie=cu;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":ie=Zm;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":ie=US;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":ie=tw;break;case yh:case vh:case bh:ie=GS;break;case xh:ie=aw;break;case"scroll":case"scrollend":ie=BS;break;case"wheel":ie=rw;break;case"copy":case"cut":case"paste":ie=$S;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":ie=Jm;break;case"toggle":case"beforetoggle":ie=sw}var Ce=(n&4)!==0,Ze=!Ce&&(t==="scroll"||t==="scrollend"),W=Ce?oe!==null?oe+"Capture":null:oe;Ce=[];for(var Y=ne,ee;Y!==null;){var de=Y;if(ee=de.stateNode,de=de.tag,de!==5&&de!==26&&de!==27||ee===null||W===null||(de=ui(Y,W),de!=null&&Ce.push(Gi(Y,de,ee))),Ze)break;Y=Y.return}0<Ce.length&&(oe=new ie(oe,xe,null,i,le),me.push({event:oe,listeners:Ce}))}}if((n&7)===0){e:{if(oe=t==="mouseover"||t==="pointerover",ie=t==="mouseout"||t==="pointerout",oe&&i!==nu&&(xe=i.relatedTarget||i.fromElement)&&(Ln(xe)||xe[vn]))break e;if((ie||oe)&&(oe=le.window===le?le:(oe=le.ownerDocument)?oe.defaultView||oe.parentWindow:window,ie?(xe=i.relatedTarget||i.toElement,ie=ne,xe=xe?Ln(xe):null,xe!==null&&(Ze=u(xe),Ce=xe.tag,xe!==Ze||Ce!==5&&Ce!==27&&Ce!==6)&&(xe=null)):(ie=null,xe=ne),ie!==xe)){if(Ce=Zm,de="onMouseLeave",W="onMouseEnter",Y="mouse",(t==="pointerout"||t==="pointerover")&&(Ce=Jm,de="onPointerLeave",W="onPointerEnter",Y="pointer"),Ze=ie==null?oe:xn(ie),ee=xe==null?oe:xn(xe),oe=new Ce(de,Y+"leave",ie,i,le),oe.target=Ze,oe.relatedTarget=ee,de=null,Ln(le)===ne&&(Ce=new Ce(W,Y+"enter",xe,i,le),Ce.target=ee,Ce.relatedTarget=Ze,de=Ce),Ze=de,ie&&xe)t:{for(Ce=i1,W=ie,Y=xe,ee=0,de=W;de;de=Ce(de))ee++;de=0;for(var Ne=Y;Ne;Ne=Ce(Ne))de++;for(;0<ee-de;)W=Ce(W),ee--;for(;0<de-ee;)Y=Ce(Y),de--;for(;ee--;){if(W===Y||Y!==null&&W===Y.alternate){Ce=W;break t}W=Ce(W),Y=Ce(Y)}Ce=null}else Ce=null;ie!==null&&Gg(me,oe,ie,Ce,!1),xe!==null&&Ze!==null&&Gg(me,Ze,xe,Ce,!0)}}e:{if(oe=ne?xn(ne):window,ie=oe.nodeName&&oe.nodeName.toLowerCase(),ie==="select"||ie==="input"&&oe.type==="file")var qe=ih;else if(oh(oe))if(sh)qe=yw;else{qe=pw;var we=hw}else ie=oe.nodeName,!ie||ie.toLowerCase()!=="input"||oe.type!=="checkbox"&&oe.type!=="radio"?ne&&tu(ne.elementType)&&(qe=ih):qe=gw;if(qe&&(qe=qe(t,ne))){rh(me,qe,i,le);break e}we&&we(t,oe,ne),t==="focusout"&&ne&&oe.type==="number"&&ne.memoizedProps.value!=null&&ci(oe,"number",oe.value)}switch(we=ne?xn(ne):window,t){case"focusin":(oh(we)||we.contentEditable==="true")&&(dr=we,pu=ne,vi=null);break;case"focusout":vi=pu=dr=null;break;case"mousedown":gu=!0;break;case"contextmenu":case"mouseup":case"dragend":gu=!1,ph(me,i,le);break;case"selectionchange":if(bw)break;case"keydown":case"keyup":ph(me,i,le)}var Re;if(du)e:{switch(t){case"compositionstart":var Le="onCompositionStart";break e;case"compositionend":Le="onCompositionEnd";break e;case"compositionupdate":Le="onCompositionUpdate";break e}Le=void 0}else ur?nh(t,i)&&(Le="onCompositionEnd"):t==="keydown"&&i.keyCode===229&&(Le="onCompositionStart");Le&&(Wm&&i.locale!=="ko"&&(ur||Le!=="onCompositionStart"?Le==="onCompositionEnd"&&ur&&(Re=Xm()):(ka=le,iu="value"in ka?ka.value:ka.textContent,ur=!0)),we=Dl(ne,Le),0<we.length&&(Le=new Qm(Le,t,null,i,le),me.push({event:Le,listeners:we}),Re?Le.data=Re:(Re=ah(i),Re!==null&&(Le.data=Re)))),(Re=cw?uw(t,i):dw(t,i))&&(Le=Dl(ne,"onBeforeInput"),0<Le.length&&(we=new Qm("onBeforeInput","beforeinput",null,i,le),me.push({event:we,listeners:Le}),we.data=Re)),n1(me,t,ne,i,le)}Pg(me,n)})}function Gi(t,n,i){return{instance:t,listener:n,currentTarget:i}}function Dl(t,n){for(var i=n+"Capture",l=[];t!==null;){var f=t,h=f.stateNode;if(f=f.tag,f!==5&&f!==26&&f!==27||h===null||(f=ui(t,i),f!=null&&l.unshift(Gi(t,f,h)),f=ui(t,n),f!=null&&l.push(Gi(t,f,h))),t.tag===3)return l;t=t.return}return[]}function i1(t){if(t===null)return null;do t=t.return;while(t&&t.tag!==5&&t.tag!==27);return t||null}function Gg(t,n,i,l,f){for(var h=n._reactName,x=[];i!==null&&i!==l;){var j=i,F=j.alternate,ne=j.stateNode;if(j=j.tag,F!==null&&F===l)break;j!==5&&j!==26&&j!==27||ne===null||(F=ne,f?(ne=ui(i,h),ne!=null&&x.unshift(Gi(i,ne,F))):f||(ne=ui(i,h),ne!=null&&x.push(Gi(i,ne,F)))),i=i.return}x.length!==0&&t.push({event:n,listeners:x})}var s1=/\r\n?/g,l1=/\u0000|\uFFFD/g;function Fg(t){return(typeof t=="string"?t:""+t).replace(s1,`
9
+ `).replace(l1,"")}function $g(t,n){return n=Fg(n),Fg(t)===n}function Ke(t,n,i,l,f,h){switch(i){case"children":typeof l=="string"?n==="body"||n==="textarea"&&l===""||sr(t,l):(typeof l=="number"||typeof l=="bigint")&&n!=="body"&&sr(t,""+l);break;case"className":H(t,"class",l);break;case"tabIndex":H(t,"tabindex",l);break;case"dir":case"role":case"viewBox":case"width":case"height":H(t,i,l);break;case"style":$m(t,l,h);break;case"data":if(n!=="object"){H(t,"data",l);break}case"src":case"href":if(l===""&&(n!=="a"||i!=="href")){t.removeAttribute(i);break}if(l==null||typeof l=="function"||typeof l=="symbol"||typeof l=="boolean"){t.removeAttribute(i);break}l=Bs(""+l),t.setAttribute(i,l);break;case"action":case"formAction":if(typeof l=="function"){t.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"&&Ke(t,n,"name",f.name,f,null),Ke(t,n,"formEncType",f.formEncType,f,null),Ke(t,n,"formMethod",f.formMethod,f,null),Ke(t,n,"formTarget",f.formTarget,f,null)):(Ke(t,n,"encType",f.encType,f,null),Ke(t,n,"method",f.method,f,null),Ke(t,n,"target",f.target,f,null)));if(l==null||typeof l=="symbol"||typeof l=="boolean"){t.removeAttribute(i);break}l=Bs(""+l),t.setAttribute(i,l);break;case"onClick":l!=null&&(t.onclick=oa);break;case"onScroll":l!=null&&Oe("scroll",t);break;case"onScrollEnd":l!=null&&Oe("scrollend",t);break;case"dangerouslySetInnerHTML":if(l!=null){if(typeof l!="object"||!("__html"in l))throw Error(r(61));if(i=l.__html,i!=null){if(f.children!=null)throw Error(r(60));t.innerHTML=i}}break;case"multiple":t.multiple=l&&typeof l!="function"&&typeof l!="symbol";break;case"muted":t.muted=l&&typeof l!="function"&&typeof l!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(l==null||typeof l=="function"||typeof l=="boolean"||typeof l=="symbol"){t.removeAttribute("xlink:href");break}i=Bs(""+l),t.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":l!=null&&typeof l!="function"&&typeof l!="symbol"?t.setAttribute(i,""+l):t.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":l&&typeof l!="function"&&typeof l!="symbol"?t.setAttribute(i,""):t.removeAttribute(i);break;case"capture":case"download":l===!0?t.setAttribute(i,""):l!==!1&&l!=null&&typeof l!="function"&&typeof l!="symbol"?t.setAttribute(i,l):t.removeAttribute(i);break;case"cols":case"rows":case"size":case"span":l!=null&&typeof l!="function"&&typeof l!="symbol"&&!isNaN(l)&&1<=l?t.setAttribute(i,l):t.removeAttribute(i);break;case"rowSpan":case"start":l==null||typeof l=="function"||typeof l=="symbol"||isNaN(l)?t.removeAttribute(i):t.setAttribute(i,l);break;case"popover":Oe("beforetoggle",t),Oe("toggle",t),Da(t,"popover",l);break;case"xlinkActuate":ge(t,"http://www.w3.org/1999/xlink","xlink:actuate",l);break;case"xlinkArcrole":ge(t,"http://www.w3.org/1999/xlink","xlink:arcrole",l);break;case"xlinkRole":ge(t,"http://www.w3.org/1999/xlink","xlink:role",l);break;case"xlinkShow":ge(t,"http://www.w3.org/1999/xlink","xlink:show",l);break;case"xlinkTitle":ge(t,"http://www.w3.org/1999/xlink","xlink:title",l);break;case"xlinkType":ge(t,"http://www.w3.org/1999/xlink","xlink:type",l);break;case"xmlBase":ge(t,"http://www.w3.org/XML/1998/namespace","xml:base",l);break;case"xmlLang":ge(t,"http://www.w3.org/XML/1998/namespace","xml:lang",l);break;case"xmlSpace":ge(t,"http://www.w3.org/XML/1998/namespace","xml:space",l);break;case"is":Da(t,"is",l);break;case"innerText":case"textContent":break;default:(!(2<i.length)||i[0]!=="o"&&i[0]!=="O"||i[1]!=="n"&&i[1]!=="N")&&(i=IS.get(i)||i,Da(t,i,l))}}function Pd(t,n,i,l,f,h){switch(i){case"style":$m(t,l,h);break;case"dangerouslySetInnerHTML":if(l!=null){if(typeof l!="object"||!("__html"in l))throw Error(r(61));if(i=l.__html,i!=null){if(f.children!=null)throw Error(r(60));t.innerHTML=i}}break;case"children":typeof l=="string"?sr(t,l):(typeof l=="number"||typeof l=="bigint")&&sr(t,""+l);break;case"onScroll":l!=null&&Oe("scroll",t);break;case"onScrollEnd":l!=null&&Oe("scrollend",t);break;case"onClick":l!=null&&(t.onclick=oa);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!rr.hasOwnProperty(i))e:{if(i[0]==="o"&&i[1]==="n"&&(f=i.endsWith("Capture"),n=i.slice(2,f?i.length-7:void 0),h=t[_t]||null,h=h!=null?h[i]:null,typeof h=="function"&&t.removeEventListener(n,h,f),typeof l=="function")){typeof h!="function"&&h!==null&&(i in t?t[i]=null:t.hasAttribute(i)&&t.removeAttribute(i)),t.addEventListener(n,l,f);break e}i in t?t[i]=l:l===!0?t.setAttribute(i,""):Da(t,i,l)}}}function Mt(t,n,i){switch(n){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":Oe("error",t),Oe("load",t);var l=!1,f=!1,h;for(h in i)if(i.hasOwnProperty(h)){var x=i[h];if(x!=null)switch(h){case"src":l=!0;break;case"srcSet":f=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(r(137,n));default:Ke(t,n,h,x,i,null)}}f&&Ke(t,n,"srcSet",i.srcSet,i,null),l&&Ke(t,n,"src",i.src,i,null);return;case"input":Oe("invalid",t);var j=h=x=f=null,F=null,ne=null;for(l in i)if(i.hasOwnProperty(l)){var le=i[l];if(le!=null)switch(l){case"name":f=le;break;case"type":x=le;break;case"checked":F=le;break;case"defaultChecked":ne=le;break;case"value":h=le;break;case"defaultValue":j=le;break;case"children":case"dangerouslySetInnerHTML":if(le!=null)throw Error(r(137,n));break;default:Ke(t,n,l,le,i,null)}}Ls(t,h,j,F,ne,x,f,!1);return;case"select":Oe("invalid",t),l=x=h=null;for(f in i)if(i.hasOwnProperty(f)&&(j=i[f],j!=null))switch(f){case"value":h=j;break;case"defaultValue":x=j;break;case"multiple":l=j;default:Ke(t,n,f,j,i,null)}n=h,i=x,t.multiple=!!l,n!=null?aa(t,!!l,n,!1):i!=null&&aa(t,!!l,i,!0);return;case"textarea":Oe("invalid",t),h=f=l=null;for(x in i)if(i.hasOwnProperty(x)&&(j=i[x],j!=null))switch(x){case"value":l=j;break;case"defaultValue":f=j;break;case"children":h=j;break;case"dangerouslySetInnerHTML":if(j!=null)throw Error(r(91));break;default:Ke(t,n,x,j,i,null)}Gm(t,l,f,h);return;case"option":for(F in i)i.hasOwnProperty(F)&&(l=i[F],l!=null)&&(F==="selected"?t.selected=l&&typeof l!="function"&&typeof l!="symbol":Ke(t,n,F,l,i,null));return;case"dialog":Oe("beforetoggle",t),Oe("toggle",t),Oe("cancel",t),Oe("close",t);break;case"iframe":case"object":Oe("load",t);break;case"video":case"audio":for(l=0;l<qi.length;l++)Oe(qi[l],t);break;case"image":Oe("error",t),Oe("load",t);break;case"details":Oe("toggle",t);break;case"embed":case"source":case"link":Oe("error",t),Oe("load",t);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(ne in i)if(i.hasOwnProperty(ne)&&(l=i[ne],l!=null))switch(ne){case"children":case"dangerouslySetInnerHTML":throw Error(r(137,n));default:Ke(t,n,ne,l,i,null)}return;default:if(tu(n)){for(le in i)i.hasOwnProperty(le)&&(l=i[le],l!==void 0&&Pd(t,n,le,l,i,void 0));return}}for(j in i)i.hasOwnProperty(j)&&(l=i[j],l!=null&&Ke(t,n,j,l,i,null))}function c1(t,n,i,l){switch(n){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var f=null,h=null,x=null,j=null,F=null,ne=null,le=null;for(ie in i){var me=i[ie];if(i.hasOwnProperty(ie)&&me!=null)switch(ie){case"checked":break;case"value":break;case"defaultValue":F=me;default:l.hasOwnProperty(ie)||Ke(t,n,ie,null,l,me)}}for(var oe in l){var ie=l[oe];if(me=i[oe],l.hasOwnProperty(oe)&&(ie!=null||me!=null))switch(oe){case"type":h=ie;break;case"name":f=ie;break;case"checked":ne=ie;break;case"defaultChecked":le=ie;break;case"value":x=ie;break;case"defaultValue":j=ie;break;case"children":case"dangerouslySetInnerHTML":if(ie!=null)throw Error(r(137,n));break;default:ie!==me&&Ke(t,n,oe,ie,l,me)}}vo(t,x,j,F,ne,le,h,f);return;case"select":ie=x=j=oe=null;for(h in i)if(F=i[h],i.hasOwnProperty(h)&&F!=null)switch(h){case"value":break;case"multiple":ie=F;default:l.hasOwnProperty(h)||Ke(t,n,h,null,l,F)}for(f in l)if(h=l[f],F=i[f],l.hasOwnProperty(f)&&(h!=null||F!=null))switch(f){case"value":oe=h;break;case"defaultValue":j=h;break;case"multiple":x=h;default:h!==F&&Ke(t,n,f,h,l,F)}n=j,i=x,l=ie,oe!=null?aa(t,!!i,oe,!1):!!l!=!!i&&(n!=null?aa(t,!!i,n,!0):aa(t,!!i,i?[]:"",!1));return;case"textarea":ie=oe=null;for(j in i)if(f=i[j],i.hasOwnProperty(j)&&f!=null&&!l.hasOwnProperty(j))switch(j){case"value":break;case"children":break;default:Ke(t,n,j,null,l,f)}for(x in l)if(f=l[x],h=i[x],l.hasOwnProperty(x)&&(f!=null||h!=null))switch(x){case"value":oe=f;break;case"defaultValue":ie=f;break;case"children":break;case"dangerouslySetInnerHTML":if(f!=null)throw Error(r(91));break;default:f!==h&&Ke(t,n,x,f,l,h)}qm(t,oe,ie);return;case"option":for(var xe in i)oe=i[xe],i.hasOwnProperty(xe)&&oe!=null&&!l.hasOwnProperty(xe)&&(xe==="selected"?t.selected=!1:Ke(t,n,xe,null,l,oe));for(F in l)oe=l[F],ie=i[F],l.hasOwnProperty(F)&&oe!==ie&&(oe!=null||ie!=null)&&(F==="selected"?t.selected=oe&&typeof oe!="function"&&typeof oe!="symbol":Ke(t,n,F,oe,l,ie));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 Ce in i)oe=i[Ce],i.hasOwnProperty(Ce)&&oe!=null&&!l.hasOwnProperty(Ce)&&Ke(t,n,Ce,null,l,oe);for(ne in l)if(oe=l[ne],ie=i[ne],l.hasOwnProperty(ne)&&oe!==ie&&(oe!=null||ie!=null))switch(ne){case"children":case"dangerouslySetInnerHTML":if(oe!=null)throw Error(r(137,n));break;default:Ke(t,n,ne,oe,l,ie)}return;default:if(tu(n)){for(var Ze in i)oe=i[Ze],i.hasOwnProperty(Ze)&&oe!==void 0&&!l.hasOwnProperty(Ze)&&Pd(t,n,Ze,void 0,l,oe);for(le in l)oe=l[le],ie=i[le],!l.hasOwnProperty(le)||oe===ie||oe===void 0&&ie===void 0||Pd(t,n,le,oe,l,ie);return}}for(var W in i)oe=i[W],i.hasOwnProperty(W)&&oe!=null&&!l.hasOwnProperty(W)&&Ke(t,n,W,null,l,oe);for(me in l)oe=l[me],ie=i[me],!l.hasOwnProperty(me)||oe===ie||oe==null&&ie==null||Ke(t,n,me,oe,l,ie)}function Vg(t){switch(t){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function u1(){if(typeof performance.getEntriesByType=="function"){for(var t=0,n=0,i=performance.getEntriesByType("resource"),l=0;l<i.length;l++){var f=i[l],h=f.transferSize,x=f.initiatorType,j=f.duration;if(h&&j&&Vg(x)){for(x=0,j=f.responseEnd,l+=1;l<i.length;l++){var F=i[l],ne=F.startTime;if(ne>j)break;var le=F.transferSize,me=F.initiatorType;le&&Vg(me)&&(F=F.responseEnd,x+=le*(F<j?1:(j-ne)/(F-ne)))}if(--l,n+=8*(h+x)/(f.duration/1e3),t++,10<t)break}}if(0<t)return n/t/1e6}return navigator.connection&&(t=navigator.connection.downlink,typeof t=="number")?t:5}var qd=null,Gd=null;function kl(t){return t.nodeType===9?t:t.ownerDocument}function Yg(t){switch(t){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function Xg(t,n){if(t===0)switch(n){case"svg":return 1;case"math":return 2;default:return 0}return t===1&&n==="foreignObject"?0:t}function Fd(t,n){return t==="textarea"||t==="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 $d=null;function d1(){var t=window.event;return t&&t.type==="popstate"?t===$d?!1:($d=t,!0):($d=null,!1)}var Kg=typeof setTimeout=="function"?setTimeout:void 0,f1=typeof clearTimeout=="function"?clearTimeout:void 0,Zg=typeof Promise=="function"?Promise:void 0,m1=typeof queueMicrotask=="function"?queueMicrotask:typeof Zg<"u"?function(t){return Zg.resolve(null).then(t).catch(h1)}:Kg;function h1(t){setTimeout(function(){throw t})}function Za(t){return t==="head"}function Qg(t,n){var i=n,l=0;do{var f=i.nextSibling;if(t.removeChild(i),f&&f.nodeType===8)if(i=f.data,i==="/$"||i==="/&"){if(l===0){t.removeChild(f),Br(n);return}l--}else if(i==="$"||i==="$?"||i==="$~"||i==="$!"||i==="&")l++;else if(i==="html")Fi(t.ownerDocument.documentElement);else if(i==="head"){i=t.ownerDocument.head,Fi(i);for(var h=i.firstChild;h;){var x=h.nextSibling,j=h.nodeName;h[ea]||j==="SCRIPT"||j==="STYLE"||j==="LINK"&&h.rel.toLowerCase()==="stylesheet"||i.removeChild(h),h=x}}else i==="body"&&Fi(t.ownerDocument.body);i=f}while(i);Br(n)}function Jg(t,n){var i=t;t=0;do{var l=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||""),l&&l.nodeType===8)if(i=l.data,i==="/$"){if(t===0)break;t--}else i!=="$"&&i!=="$?"&&i!=="$~"&&i!=="$!"||t++;i=l}while(i)}function Vd(t){var n=t.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":Vd(i),ho(i);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(i.rel.toLowerCase()==="stylesheet")continue}t.removeChild(i)}}function p1(t,n,i,l){for(;t.nodeType===1;){var f=i;if(t.nodeName.toLowerCase()!==n.toLowerCase()){if(!l&&(t.nodeName!=="INPUT"||t.type!=="hidden"))break}else if(l){if(!t[ea])switch(n){case"meta":if(!t.hasAttribute("itemprop"))break;return t;case"link":if(h=t.getAttribute("rel"),h==="stylesheet"&&t.hasAttribute("data-precedence"))break;if(h!==f.rel||t.getAttribute("href")!==(f.href==null||f.href===""?null:f.href)||t.getAttribute("crossorigin")!==(f.crossOrigin==null?null:f.crossOrigin)||t.getAttribute("title")!==(f.title==null?null:f.title))break;return t;case"style":if(t.hasAttribute("data-precedence"))break;return t;case"script":if(h=t.getAttribute("src"),(h!==(f.src==null?null:f.src)||t.getAttribute("type")!==(f.type==null?null:f.type)||t.getAttribute("crossorigin")!==(f.crossOrigin==null?null:f.crossOrigin))&&h&&t.hasAttribute("async")&&!t.hasAttribute("itemprop"))break;return t;default:return t}}else if(n==="input"&&t.type==="hidden"){var h=f.name==null?null:""+f.name;if(f.type==="hidden"&&t.getAttribute("name")===h)return t}else return t;if(t=mn(t.nextSibling),t===null)break}return null}function g1(t,n,i){if(n==="")return null;for(;t.nodeType!==3;)if((t.nodeType!==1||t.nodeName!=="INPUT"||t.type!=="hidden")&&!i||(t=mn(t.nextSibling),t===null))return null;return t}function Wg(t,n){for(;t.nodeType!==8;)if((t.nodeType!==1||t.nodeName!=="INPUT"||t.type!=="hidden")&&!n||(t=mn(t.nextSibling),t===null))return null;return t}function Yd(t){return t.data==="$?"||t.data==="$~"}function Xd(t){return t.data==="$!"||t.data==="$?"&&t.ownerDocument.readyState!=="loading"}function y1(t,n){var i=t.ownerDocument;if(t.data==="$~")t._reactRetry=n;else if(t.data!=="$?"||i.readyState!=="loading")n();else{var l=function(){n(),i.removeEventListener("DOMContentLoaded",l)};i.addEventListener("DOMContentLoaded",l),t._reactRetry=l}}function mn(t){for(;t!=null;t=t.nextSibling){var n=t.nodeType;if(n===1||n===3)break;if(n===8){if(n=t.data,n==="$"||n==="$!"||n==="$?"||n==="$~"||n==="&"||n==="F!"||n==="F")break;if(n==="/$"||n==="/&")return null}}return t}var Kd=null;function ey(t){t=t.nextSibling;for(var n=0;t;){if(t.nodeType===8){var i=t.data;if(i==="/$"||i==="/&"){if(n===0)return mn(t.nextSibling);n--}else i!=="$"&&i!=="$!"&&i!=="$?"&&i!=="$~"&&i!=="&"||n++}t=t.nextSibling}return null}function ty(t){t=t.previousSibling;for(var n=0;t;){if(t.nodeType===8){var i=t.data;if(i==="$"||i==="$!"||i==="$?"||i==="$~"||i==="&"){if(n===0)return t;n--}else i!=="/$"&&i!=="/&"||n++}t=t.previousSibling}return null}function ny(t,n,i){switch(n=kl(i),t){case"html":if(t=n.documentElement,!t)throw Error(r(452));return t;case"head":if(t=n.head,!t)throw Error(r(453));return t;case"body":if(t=n.body,!t)throw Error(r(454));return t;default:throw Error(r(451))}}function Fi(t){for(var n=t.attributes;n.length;)t.removeAttributeNode(n[0]);ho(t)}var hn=new Map,ay=new Set;function Ol(t){return typeof t.getRootNode=="function"?t.getRootNode():t.nodeType===9?t:t.ownerDocument}var xa=L.d;L.d={f:v1,r:b1,D:x1,C:S1,L:w1,m:_1,X:E1,S:N1,M:C1};function v1(){var t=xa.f(),n=El();return t||n}function b1(t){var n=bn(t);n!==null&&n.tag===5&&n.type==="form"?xp(n):xa.r(t)}var zr=typeof document>"u"?null:document;function oy(t,n,i){var l=zr;if(l&&typeof n=="string"&&n){var f=zt(n);f='link[rel="'+t+'"][href="'+f+'"]',typeof i=="string"&&(f+='[crossorigin="'+i+'"]'),ay.has(f)||(ay.add(f),t={rel:t,crossOrigin:i,href:n},l.querySelector(f)===null&&(n=l.createElement("link"),Mt(n,"link",t),st(n),l.head.appendChild(n)))}}function x1(t){xa.D(t),oy("dns-prefetch",t,null)}function S1(t,n){xa.C(t,n),oy("preconnect",t,n)}function w1(t,n,i){xa.L(t,n,i);var l=zr;if(l&&t&&n){var f='link[rel="preload"][as="'+zt(n)+'"]';n==="image"&&i&&i.imageSrcSet?(f+='[imagesrcset="'+zt(i.imageSrcSet)+'"]',typeof i.imageSizes=="string"&&(f+='[imagesizes="'+zt(i.imageSizes)+'"]')):f+='[href="'+zt(t)+'"]';var h=f;switch(n){case"style":h=Ir(t);break;case"script":h=Lr(t)}hn.has(h)||(t=v({rel:"preload",href:n==="image"&&i&&i.imageSrcSet?void 0:t,as:n},i),hn.set(h,t),l.querySelector(f)!==null||n==="style"&&l.querySelector($i(h))||n==="script"&&l.querySelector(Vi(h))||(n=l.createElement("link"),Mt(n,"link",t),st(n),l.head.appendChild(n)))}}function _1(t,n){xa.m(t,n);var i=zr;if(i&&t){var l=n&&typeof n.as=="string"?n.as:"script",f='link[rel="modulepreload"][as="'+zt(l)+'"][href="'+zt(t)+'"]',h=f;switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":h=Lr(t)}if(!hn.has(h)&&(t=v({rel:"modulepreload",href:t},n),hn.set(h,t),i.querySelector(f)===null)){switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(i.querySelector(Vi(h)))return}l=i.createElement("link"),Mt(l,"link",t),st(l),i.head.appendChild(l)}}}function N1(t,n,i){xa.S(t,n,i);var l=zr;if(l&&t){var f=Sn(l).hoistableStyles,h=Ir(t);n=n||"default";var x=f.get(h);if(!x){var j={loading:0,preload:null};if(x=l.querySelector($i(h)))j.loading=5;else{t=v({rel:"stylesheet",href:t,"data-precedence":n},i),(i=hn.get(h))&&Zd(t,i);var F=x=l.createElement("link");st(F),Mt(F,"link",t),F._p=new Promise(function(ne,le){F.onload=ne,F.onerror=le}),F.addEventListener("load",function(){j.loading|=1}),F.addEventListener("error",function(){j.loading|=2}),j.loading|=4,zl(x,n,l)}x={type:"stylesheet",instance:x,count:1,state:j},f.set(h,x)}}}function E1(t,n){xa.X(t,n);var i=zr;if(i&&t){var l=Sn(i).hoistableScripts,f=Lr(t),h=l.get(f);h||(h=i.querySelector(Vi(f)),h||(t=v({src:t,async:!0},n),(n=hn.get(f))&&Qd(t,n),h=i.createElement("script"),st(h),Mt(h,"link",t),i.head.appendChild(h)),h={type:"script",instance:h,count:1,state:null},l.set(f,h))}}function C1(t,n){xa.M(t,n);var i=zr;if(i&&t){var l=Sn(i).hoistableScripts,f=Lr(t),h=l.get(f);h||(h=i.querySelector(Vi(f)),h||(t=v({src:t,async:!0,type:"module"},n),(n=hn.get(f))&&Qd(t,n),h=i.createElement("script"),st(h),Mt(h,"link",t),i.head.appendChild(h)),h={type:"script",instance:h,count:1,state:null},l.set(f,h))}}function ry(t,n,i,l){var f=(f=se.current)?Ol(f):null;if(!f)throw Error(r(446));switch(t){case"meta":case"title":return null;case"style":return typeof i.precedence=="string"&&typeof i.href=="string"?(n=Ir(i.href),i=Sn(f).hoistableStyles,l=i.get(n),l||(l={type:"style",instance:null,count:0,state:null},i.set(n,l)),l):{type:"void",instance:null,count:0,state:null};case"link":if(i.rel==="stylesheet"&&typeof i.href=="string"&&typeof i.precedence=="string"){t=Ir(i.href);var h=Sn(f).hoistableStyles,x=h.get(t);if(x||(f=f.ownerDocument||f,x={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},h.set(t,x),(h=f.querySelector($i(t)))&&!h._p&&(x.instance=h,x.state.loading=5),hn.has(t)||(i={rel:"preload",as:"style",href:i.href,crossOrigin:i.crossOrigin,integrity:i.integrity,media:i.media,hrefLang:i.hrefLang,referrerPolicy:i.referrerPolicy},hn.set(t,i),h||T1(f,t,i,x.state))),n&&l===null)throw Error(r(528,""));return x}if(n&&l!==null)throw Error(r(529,""));return null;case"script":return n=i.async,i=i.src,typeof i=="string"&&n&&typeof n!="function"&&typeof n!="symbol"?(n=Lr(i),i=Sn(f).hoistableScripts,l=i.get(n),l||(l={type:"script",instance:null,count:0,state:null},i.set(n,l)),l):{type:"void",instance:null,count:0,state:null};default:throw Error(r(444,t))}}function Ir(t){return'href="'+zt(t)+'"'}function $i(t){return'link[rel="stylesheet"]['+t+"]"}function iy(t){return v({},t,{"data-precedence":t.precedence,precedence:null})}function T1(t,n,i,l){t.querySelector('link[rel="preload"][as="style"]['+n+"]")?l.loading=1:(n=t.createElement("link"),l.preload=n,n.addEventListener("load",function(){return l.loading|=1}),n.addEventListener("error",function(){return l.loading|=2}),Mt(n,"link",i),st(n),t.head.appendChild(n))}function Lr(t){return'[src="'+zt(t)+'"]'}function Vi(t){return"script[async]"+t}function sy(t,n,i){if(n.count++,n.instance===null)switch(n.type){case"style":var l=t.querySelector('style[data-href~="'+zt(i.href)+'"]');if(l)return n.instance=l,st(l),l;var f=v({},i,{"data-href":i.href,"data-precedence":i.precedence,href:null,precedence:null});return l=(t.ownerDocument||t).createElement("style"),st(l),Mt(l,"style",f),zl(l,i.precedence,t),n.instance=l;case"stylesheet":f=Ir(i.href);var h=t.querySelector($i(f));if(h)return n.state.loading|=4,n.instance=h,st(h),h;l=iy(i),(f=hn.get(f))&&Zd(l,f),h=(t.ownerDocument||t).createElement("link"),st(h);var x=h;return x._p=new Promise(function(j,F){x.onload=j,x.onerror=F}),Mt(h,"link",l),n.state.loading|=4,zl(h,i.precedence,t),n.instance=h;case"script":return h=Lr(i.src),(f=t.querySelector(Vi(h)))?(n.instance=f,st(f),f):(l=i,(f=hn.get(h))&&(l=v({},i),Qd(l,f)),t=t.ownerDocument||t,f=t.createElement("script"),st(f),Mt(f,"link",l),t.head.appendChild(f),n.instance=f);case"void":return null;default:throw Error(r(443,n.type))}else n.type==="stylesheet"&&(n.state.loading&4)===0&&(l=n.instance,n.state.loading|=4,zl(l,i.precedence,t));return n.instance}function zl(t,n,i){for(var l=i.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),f=l.length?l[l.length-1]:null,h=f,x=0;x<l.length;x++){var j=l[x];if(j.dataset.precedence===n)h=j;else if(h!==f)break}h?h.parentNode.insertBefore(t,h.nextSibling):(n=i.nodeType===9?i.head:i,n.insertBefore(t,n.firstChild))}function Zd(t,n){t.crossOrigin==null&&(t.crossOrigin=n.crossOrigin),t.referrerPolicy==null&&(t.referrerPolicy=n.referrerPolicy),t.title==null&&(t.title=n.title)}function Qd(t,n){t.crossOrigin==null&&(t.crossOrigin=n.crossOrigin),t.referrerPolicy==null&&(t.referrerPolicy=n.referrerPolicy),t.integrity==null&&(t.integrity=n.integrity)}var Il=null;function ly(t,n,i){if(Il===null){var l=new Map,f=Il=new Map;f.set(i,l)}else f=Il,l=f.get(i),l||(l=new Map,f.set(i,l));if(l.has(t))return l;for(l.set(t,null),i=i.getElementsByTagName(t),f=0;f<i.length;f++){var h=i[f];if(!(h[ea]||h[ot]||t==="link"&&h.getAttribute("rel")==="stylesheet")&&h.namespaceURI!=="http://www.w3.org/2000/svg"){var x=h.getAttribute(n)||"";x=t+x;var j=l.get(x);j?j.push(h):l.set(x,[h])}}return l}function cy(t,n,i){t=t.ownerDocument||t,t.head.insertBefore(i,n==="title"?t.querySelector("head > title"):null)}function M1(t,n,i){if(i===1||n.itemProp!=null)return!1;switch(t){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"?(t=n.disabled,typeof n.precedence=="string"&&t==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 uy(t){return!(t.type==="stylesheet"&&(t.state.loading&3)===0)}function j1(t,n,i,l){if(i.type==="stylesheet"&&(typeof l.media!="string"||matchMedia(l.media).matches!==!1)&&(i.state.loading&4)===0){if(i.instance===null){var f=Ir(l.href),h=n.querySelector($i(f));if(h){n=h._p,n!==null&&typeof n=="object"&&typeof n.then=="function"&&(t.count++,t=Ll.bind(t),n.then(t,t)),i.state.loading|=4,i.instance=h,st(h);return}h=n.ownerDocument||n,l=iy(l),(f=hn.get(f))&&Zd(l,f),h=h.createElement("link"),st(h);var x=h;x._p=new Promise(function(j,F){x.onload=j,x.onerror=F}),Mt(h,"link",l),i.instance=h}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(i,n),(n=i.state.preload)&&(i.state.loading&3)===0&&(t.count++,i=Ll.bind(t),n.addEventListener("load",i),n.addEventListener("error",i))}}var Jd=0;function A1(t,n){return t.stylesheets&&t.count===0&&Hl(t,t.stylesheets),0<t.count||0<t.imgCount?function(i){var l=setTimeout(function(){if(t.stylesheets&&Hl(t,t.stylesheets),t.unsuspend){var h=t.unsuspend;t.unsuspend=null,h()}},6e4+n);0<t.imgBytes&&Jd===0&&(Jd=62500*u1());var f=setTimeout(function(){if(t.waitingForImages=!1,t.count===0&&(t.stylesheets&&Hl(t,t.stylesheets),t.unsuspend)){var h=t.unsuspend;t.unsuspend=null,h()}},(t.imgBytes>Jd?50:800)+n);return t.unsuspend=i,function(){t.unsuspend=null,clearTimeout(l),clearTimeout(f)}}:null}function Ll(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Hl(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var Bl=null;function Hl(t,n){t.stylesheets=null,t.unsuspend!==null&&(t.count++,Bl=new Map,n.forEach(R1,t),Bl=null,Ll.call(t))}function R1(t,n){if(!(n.state.loading&4)){var i=Bl.get(t);if(i)var l=i.get(null);else{i=new Map,Bl.set(t,i);for(var f=t.querySelectorAll("link[data-precedence],style[data-precedence]"),h=0;h<f.length;h++){var x=f[h];(x.nodeName==="LINK"||x.getAttribute("media")!=="not all")&&(i.set(x.dataset.precedence,x),l=x)}l&&i.set(null,l)}f=n.instance,x=f.getAttribute("data-precedence"),h=i.get(x)||l,h===l&&i.set(null,f),i.set(x,f),this.count++,l=Ll.bind(this),f.addEventListener("load",l),f.addEventListener("error",l),h?h.parentNode.insertBefore(f,h.nextSibling):(t=t.nodeType===9?t.head:t,t.insertBefore(f,t.firstChild)),n.state.loading|=4}}var Yi={$$typeof:N,Provider:null,Consumer:null,_currentValue:$,_currentValue2:$,_threadCount:0};function D1(t,n,i,l,f,h,x,j,F){this.tag=1,this.containerInfo=t,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=uo(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=uo(0),this.hiddenUpdates=uo(null),this.identifierPrefix=l,this.onUncaughtError=f,this.onCaughtError=h,this.onRecoverableError=x,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=F,this.incompleteTransitions=new Map}function dy(t,n,i,l,f,h,x,j,F,ne,le,me){return t=new D1(t,n,i,x,F,ne,le,me,j),n=1,h===!0&&(n|=24),h=Xt(3,null,null,n),t.current=h,h.stateNode=t,n=Ru(),n.refCount++,t.pooledCache=n,n.refCount++,h.memoizedState={element:l,isDehydrated:i,cache:n},zu(h),t}function fy(t){return t?(t=hr,t):hr}function my(t,n,i,l,f,h){f=fy(f),l.context===null?l.context=f:l.pendingContext=f,l=Ha(n),l.payload={element:i},h=h===void 0?null:h,h!==null&&(l.callback=h),i=Ua(t,l,n),i!==null&&(Pt(i,t,n),Ei(i,t,n))}function hy(t,n){if(t=t.memoizedState,t!==null&&t.dehydrated!==null){var i=t.retryLane;t.retryLane=i!==0&&i<n?i:n}}function Wd(t,n){hy(t,n),(t=t.alternate)&&hy(t,n)}function py(t){if(t.tag===13||t.tag===31){var n=wo(t,67108864);n!==null&&Pt(n,t,67108864),Wd(t,67108864)}}function gy(t){if(t.tag===13||t.tag===31){var n=Wt();n=Aa(n);var i=wo(t,n);i!==null&&Pt(i,t,n),Wd(t,n)}}var Ul=!0;function k1(t,n,i,l){var f=R.T;R.T=null;var h=L.p;try{L.p=2,ef(t,n,i,l)}finally{L.p=h,R.T=f}}function O1(t,n,i,l){var f=R.T;R.T=null;var h=L.p;try{L.p=8,ef(t,n,i,l)}finally{L.p=h,R.T=f}}function ef(t,n,i,l){if(Ul){var f=tf(l);if(f===null)Ud(t,n,l,Pl,i),vy(t,l);else if(I1(f,t,n,i,l))l.stopPropagation();else if(vy(t,l),n&4&&-1<z1.indexOf(t)){for(;f!==null;){var h=bn(f);if(h!==null)switch(h.tag){case 3:if(h=h.stateNode,h.current.memoizedState.isDehydrated){var x=fe(h.pendingLanes);if(x!==0){var j=h;for(j.pendingLanes|=2,j.entangledLanes|=2;x;){var F=1<<31-it(x);j.entanglements[1]|=F,x&=~F}Gn(h),($e&6)===0&&(_l=yt()+500,Pi(0))}}break;case 31:case 13:j=wo(h,2),j!==null&&Pt(j,h,2),El(),Wd(h,2)}if(h=tf(l),h===null&&Ud(t,n,l,Pl,i),h===f)break;f=h}f!==null&&l.stopPropagation()}else Ud(t,n,l,null,i)}}function tf(t){return t=au(t),nf(t)}var Pl=null;function nf(t){if(Pl=null,t=Ln(t),t!==null){var n=u(t);if(n===null)t=null;else{var i=n.tag;if(i===13){if(t=d(n),t!==null)return t;t=null}else if(i===31){if(t=m(n),t!==null)return t;t=null}else if(i===3){if(n.stateNode.current.memoizedState.isDehydrated)return n.tag===3?n.stateNode.containerInfo:null;t=null}else n!==t&&(t=null)}}return Pl=t,null}function yy(t){switch(t){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(Qn()){case vt:return 2;case kt:return 8;case Ot:case Wo:return 32;case $t:return 268435456;default:return 32}default:return 32}}var af=!1,Qa=null,Ja=null,Wa=null,Xi=new Map,Ki=new Map,eo=[],z1="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 vy(t,n){switch(t){case"focusin":case"focusout":Qa=null;break;case"dragenter":case"dragleave":Ja=null;break;case"mouseover":case"mouseout":Wa=null;break;case"pointerover":case"pointerout":Xi.delete(n.pointerId);break;case"gotpointercapture":case"lostpointercapture":Ki.delete(n.pointerId)}}function Zi(t,n,i,l,f,h){return t===null||t.nativeEvent!==h?(t={blockedOn:n,domEventName:i,eventSystemFlags:l,nativeEvent:h,targetContainers:[f]},n!==null&&(n=bn(n),n!==null&&py(n)),t):(t.eventSystemFlags|=l,n=t.targetContainers,f!==null&&n.indexOf(f)===-1&&n.push(f),t)}function I1(t,n,i,l,f){switch(n){case"focusin":return Qa=Zi(Qa,t,n,i,l,f),!0;case"dragenter":return Ja=Zi(Ja,t,n,i,l,f),!0;case"mouseover":return Wa=Zi(Wa,t,n,i,l,f),!0;case"pointerover":var h=f.pointerId;return Xi.set(h,Zi(Xi.get(h)||null,t,n,i,l,f)),!0;case"gotpointercapture":return h=f.pointerId,Ki.set(h,Zi(Ki.get(h)||null,t,n,i,l,f)),!0}return!1}function by(t){var n=Ln(t.target);if(n!==null){var i=u(n);if(i!==null){if(n=i.tag,n===13){if(n=d(i),n!==null){t.blockedOn=n,nr(t.priority,function(){gy(i)});return}}else if(n===31){if(n=m(i),n!==null){t.blockedOn=n,nr(t.priority,function(){gy(i)});return}}else if(n===3&&i.stateNode.current.memoizedState.isDehydrated){t.blockedOn=i.tag===3?i.stateNode.containerInfo:null;return}}}t.blockedOn=null}function ql(t){if(t.blockedOn!==null)return!1;for(var n=t.targetContainers;0<n.length;){var i=tf(t.nativeEvent);if(i===null){i=t.nativeEvent;var l=new i.constructor(i.type,i);nu=l,i.target.dispatchEvent(l),nu=null}else return n=bn(i),n!==null&&py(n),t.blockedOn=i,!1;n.shift()}return!0}function xy(t,n,i){ql(t)&&i.delete(n)}function L1(){af=!1,Qa!==null&&ql(Qa)&&(Qa=null),Ja!==null&&ql(Ja)&&(Ja=null),Wa!==null&&ql(Wa)&&(Wa=null),Xi.forEach(xy),Ki.forEach(xy)}function Gl(t,n){t.blockedOn===n&&(t.blockedOn=null,af||(af=!0,e.unstable_scheduleCallback(e.unstable_NormalPriority,L1)))}var Fl=null;function Sy(t){Fl!==t&&(Fl=t,e.unstable_scheduleCallback(e.unstable_NormalPriority,function(){Fl===t&&(Fl=null);for(var n=0;n<t.length;n+=3){var i=t[n],l=t[n+1],f=t[n+2];if(typeof l!="function"){if(nf(l||i)===null)continue;break}var h=bn(i);h!==null&&(t.splice(n,3),n-=3,td(h,{pending:!0,data:f,method:i.method,action:l},l,f))}}))}function Br(t){function n(F){return Gl(F,t)}Qa!==null&&Gl(Qa,t),Ja!==null&&Gl(Ja,t),Wa!==null&&Gl(Wa,t),Xi.forEach(n),Ki.forEach(n);for(var i=0;i<eo.length;i++){var l=eo[i];l.blockedOn===t&&(l.blockedOn=null)}for(;0<eo.length&&(i=eo[0],i.blockedOn===null);)by(i),i.blockedOn===null&&eo.shift();if(i=(t.ownerDocument||t).$$reactFormReplay,i!=null)for(l=0;l<i.length;l+=3){var f=i[l],h=i[l+1],x=f[_t]||null;if(typeof h=="function")x||Sy(i);else if(x){var j=null;if(h&&h.hasAttribute("formAction")){if(f=h,x=h[_t]||null)j=x.formAction;else if(nf(f)!==null)continue}else j=x.action;typeof j=="function"?i[l+1]=j:(i.splice(l,3),l-=3),Sy(i)}}}function wy(){function t(h){h.canIntercept&&h.info==="react-transition"&&h.intercept({handler:function(){return new Promise(function(x){return f=x})},focusReset:"manual",scroll:"manual"})}function n(){f!==null&&(f(),f=null),l||setTimeout(i,20)}function i(){if(!l&&!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 l=!1,f=null;return navigation.addEventListener("navigate",t),navigation.addEventListener("navigatesuccess",n),navigation.addEventListener("navigateerror",n),setTimeout(i,100),function(){l=!0,navigation.removeEventListener("navigate",t),navigation.removeEventListener("navigatesuccess",n),navigation.removeEventListener("navigateerror",n),f!==null&&(f(),f=null)}}}function of(t){this._internalRoot=t}$l.prototype.render=of.prototype.render=function(t){var n=this._internalRoot;if(n===null)throw Error(r(409));var i=n.current,l=Wt();my(i,l,t,n,null,null)},$l.prototype.unmount=of.prototype.unmount=function(){var t=this._internalRoot;if(t!==null){this._internalRoot=null;var n=t.containerInfo;my(t.current,2,null,t,null,null),El(),n[vn]=null}};function $l(t){this._internalRoot=t}$l.prototype.unstable_scheduleHydration=function(t){if(t){var n=on();t={blockedOn:null,target:t,priority:n};for(var i=0;i<eo.length&&n!==0&&n<eo[i].priority;i++);eo.splice(i,0,t),i===0&&by(t)}};var _y=a.version;if(_y!=="19.2.5")throw Error(r(527,_y,"19.2.5"));L.findDOMNode=function(t){var n=t._reactInternals;if(n===void 0)throw typeof t.render=="function"?Error(r(188)):(t=Object.keys(t).join(","),Error(r(268,t)));return t=p(n),t=t!==null?y(t):null,t=t===null?null:t.stateNode,t};var B1={bundleType:0,version:"19.2.5",rendererPackageName:"react-dom",currentDispatcherRef:R,reconcilerVersion:"19.2.5"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Vl=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Vl.isDisabled&&Vl.supportsFiber)try{Rt=Vl.inject(B1),wt=Vl}catch{}}return Ji.createRoot=function(t,n){if(!s(t))throw Error(r(299));var i=!1,l="",f=Ap,h=Rp,x=Dp;return n!=null&&(n.unstable_strictMode===!0&&(i=!0),n.identifierPrefix!==void 0&&(l=n.identifierPrefix),n.onUncaughtError!==void 0&&(f=n.onUncaughtError),n.onCaughtError!==void 0&&(h=n.onCaughtError),n.onRecoverableError!==void 0&&(x=n.onRecoverableError)),n=dy(t,1,!1,null,null,i,l,null,f,h,x,wy),t[vn]=n.current,Hd(t),new of(n)},Ji.hydrateRoot=function(t,n,i){if(!s(t))throw Error(r(299));var l=!1,f="",h=Ap,x=Rp,j=Dp,F=null;return i!=null&&(i.unstable_strictMode===!0&&(l=!0),i.identifierPrefix!==void 0&&(f=i.identifierPrefix),i.onUncaughtError!==void 0&&(h=i.onUncaughtError),i.onCaughtError!==void 0&&(x=i.onCaughtError),i.onRecoverableError!==void 0&&(j=i.onRecoverableError),i.formState!==void 0&&(F=i.formState)),n=dy(t,1,!0,n,i??null,l,f,F,h,x,j,wy),n.context=fy(null),i=n.current,l=Wt(),l=Aa(l),f=Ha(l),f.callback=null,Ua(i,f,l),i=l,n.current.lanes=i,Vt(n,i),Gn(n),t[vn]=n.current,Hd(t),new $l(n)},Ji.version="19.2.5",Ji}var ky;function Y1(){if(ky)return lf.exports;ky=1;function e(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(a){console.error(a)}}return e(),lf.exports=V1(),lf.exports}var X1=Y1();const Oy=e=>{let a;const o=new Set,r=(p,y)=>{const v=typeof p=="function"?p(a):p;if(!Object.is(v,a)){const b=a;a=y??(typeof v!="object"||v===null)?v:Object.assign({},a,v),o.forEach(S=>S(a,b))}},s=()=>a,m={setState:r,getState:s,getInitialState:()=>g,subscribe:p=>(o.add(p),()=>o.delete(p))},g=a=e(r,s,m);return m},K1=(e=>e?Oy(e):Oy),Z1=e=>e;function Q1(e,a=Z1){const o=ls.useSyncExternalStore(e.subscribe,ls.useCallback(()=>a(e.getState()),[e,a]),ls.useCallback(()=>a(e.getInitialState()),[e,a]));return ls.useDebugValue(o),o}const zy=e=>{const a=K1(e),o=r=>Q1(a,r);return Object.assign(o,a),o},G0=(e=>e?zy(e):zy),F0=["default","gpt","claude","gemini","grok"];function Gf(e){return Array.isArray(e.images)}function J1(e){let a="message";const o=[];for(const s of e.split(`
10
+ `))s.startsWith("event:")&&(a=s.slice(6).trim()),s.startsWith("data:")&&o.push(s.slice(5).trimStart());if(o.length===0)return null;const r=o.join(`
11
+ `);return!r||r==="[DONE]"?null:{event:a,data:JSON.parse(r)}}async function W1(e,a={}){const o=await fetch("/api/node/generate",{method:"POST",headers:{"Content-Type":"application/json",Accept:"text/event-stream"},body:JSON.stringify(e)});if(!(o.headers.get("content-type")??"").includes("text/event-stream")){const g=await o.json().catch(()=>({}));if(!o.ok){const p=g,y=p?.error?.message??`Request failed: ${o.status}`,v=new Error(y);throw v.code=p?.error?.code,v.status=p?.status??o.status,v}return g}if(!o.ok||!o.body)throw new Error(`Request failed: ${o.status}`);const s=o.body.getReader(),u=new TextDecoder;let d="",m=null;for(;;){const{done:g,value:p}=await s.read();if(g)break;d+=u.decode(p,{stream:!0});let y=d.indexOf(`
12
+
13
+ `);for(;y!==-1;){const v=d.slice(0,y);d=d.slice(y+2);const b=J1(v);if(b){if(b.event==="partial")a.onPartial?.(b.data);else if(b.event==="phase")a.onPhase?.(b.data);else if(b.event==="done")m=b.data;else if(b.event==="error"){const S=b.data,_=S?.error?.message??"Node generation failed",E=new Error(_);throw E.code=S?.error?.code,E.status=S?.status,E}}y=d.indexOf(`
14
+
15
+ `)}}if(!m){const g=new Error("No image data returned from the node stream");throw g.code="EMPTY_RESPONSE",g.status=422,g}return m}async function Be(e,a){const o=await fetch(e,a),r=await o.json().catch(()=>({}));if(!o.ok){const s=r.error,u=r.code,d=typeof s=="string"?s:s?.message??`Request failed: ${o.status}`,m=new Error(d);throw m.status=o.status,typeof s!="string"&&s?.code?m.code=s.code:u&&(m.code=u),typeof r.currentVersion=="number"&&(m.currentVersion=r.currentVersion),m}return r}function ff(e){const a=new URLSearchParams;e?.kind&&a.set("kind",e.kind),e?.sessionId&&a.set("sessionId",e.sessionId),e?.includeTerminal&&a.set("includeTerminal","1");const o=a.size>0?`?${a.toString()}`:"";return Be(`/api/inflight${o}`)}async function Iy(e){await fetch(`/api/inflight/${encodeURIComponent(e)}`,{method:"DELETE"}).catch(()=>{})}function e_(){return Be("/api/oauth/status")}function t_(){return Be("/api/billing")}function n_(e){return Be("/api/generate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}function a_(e){let a=null;const o=[];for(const s of e.split(`
16
+ `))s.startsWith("event:")&&(a=s.slice(6).trim()),s.startsWith("data:")&&o.push(s.slice(5).trimStart());if(o.length===0)return null;const r=o.join(`
17
+ `);return!r||r==="[DONE]"?null:{event:a,data:JSON.parse(r)}}async function o_(e,a={},o={}){const r=await fetch("/api/generate/multimode",{method:"POST",headers:{"Content-Type":"application/json",Accept:"text/event-stream"},body:JSON.stringify(e),signal:o.signal});if(!(r.headers.get("content-type")??"").includes("text/event-stream")){const p=await r.json().catch(()=>({}));if(!r.ok){const y=p,v=new Error(y.error??`Request failed: ${r.status}`);throw v.code=y.code,v.status=y.status??r.status,v}return p}if(!r.ok||!r.body)throw new Error(`Request failed: ${r.status}`);const u=r.body.getReader(),d=new TextDecoder;let m="",g=null;for(;;){const{done:p,value:y}=await u.read();if(p)break;m+=d.decode(y,{stream:!0});let v=m.indexOf(`
18
+
19
+ `);for(;v!==-1;){const b=m.slice(0,v);m=m.slice(v+2);const S=a_(b);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")g=S.data;else if(S.event==="error"){const _=S.data,E=new Error(_.error??"Multimode generation failed");throw E.code=_.code,E.status=_.status,E}}v=m.indexOf(`
20
+
21
+ `)}}if(!g){const p=new Error("No image data returned from the multimode stream");throw p.code="EMPTY_RESPONSE",p.status=422,p}return g}function r_(e){return Be("/api/edit",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}let Wi=null;function $0(){if(!Wi){const e=localStorage.getItem("ima2.browserId");e?Wi=e:(Wi=`${Date.now().toString(36)}_${Math.random().toString(36).slice(2,9)}`,localStorage.setItem("ima2.browserId",Wi))}return Wi}function ai(e,a){const o={...a?.headers,"X-Ima2-Browser-Id":$0()};return Be(e,{...a,headers:o})}function Ff(e={}){const a=new URLSearchParams;return a.set("limit",String(e.limit??50)),e.since!=null&&a.set("since",String(e.since)),e.cursor&&(a.set("before",String(e.cursor.before)),a.set("beforeFilename",e.cursor.beforeFilename)),e.sessionId&&a.set("sessionId",e.sessionId),ai(`/api/history?${a.toString()}`)}function i_(e={}){const a=new URLSearchParams;return a.set("groupBy","session"),a.set("limit",String(e.limit??200)),e.cursor&&(a.set("before",String(e.cursor.before)),a.set("beforeFilename",e.cursor.beforeFilename)),ai(`/api/history?${a.toString()}`)}function s_(e){return ai("/api/history/favorite",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({filename:e})})}async function l_(){return(await Be("/api/storage/status")).data}function c_(){return Be("/api/storage/open-generated-dir",{method:"POST"})}function u_(e){return Be(`/api/history/${encodeURIComponent(e)}`,{method:"DELETE"})}function d_(e){return Be(`/api/history/${encodeURIComponent(e)}/permanent`,{method:"DELETE"})}function f_(e,a){return Be(`/api/history/${encodeURIComponent(e)}/restore`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({trashId:a})})}function m_(e){return Be("/api/comfy/export-image",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({filename:e.filename})})}function h_(e){return Be("/api/metadata/read",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}function p_(e){return ai(`/api/annotations/${encodeURIComponent(e)}`)}async function g_(e,a){await ai(`/api/annotations/${encodeURIComponent(e)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({annotations:a})})}async function Ly(e){await ai(`/api/annotations/${encodeURIComponent(e)}`,{method:"DELETE"})}function By(e){const a=new URLSearchParams({sourceFilename:e.sourceFilename});return Be(`/api/canvas-versions?${a.toString()}`,{method:"POST",headers:{"Content-Type":"image/png"},body:e.image})}function y_(e,a){const o=new URLSearchParams;a.sourceFilename&&o.set("sourceFilename",a.sourceFilename);const r=o.size>0?`?${o.toString()}`:"";return Be(`/api/canvas-versions/${encodeURIComponent(e)}${r}`,{method:"PUT",headers:{"Content-Type":"image/png"},body:a.image})}function v_(){return Be("/api/sessions")}function b_(e){return Be("/api/sessions",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:e})})}function V0(e){return Be(`/api/sessions/${encodeURIComponent(e)}`)}function x_(e,a){return Be(`/api/sessions/${encodeURIComponent(e)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:a})})}function S_(e){return Be(`/api/sessions/${encodeURIComponent(e)}`,{method:"DELETE"})}function w_(e,a,o,r,s={}){const u={"Content-Type":"application/json","If-Match":String(a)};return s.saveId&&(u["X-Ima2-Graph-Save-Id"]=s.saveId),s.saveReason&&(u["X-Ima2-Graph-Save-Reason"]=s.saveReason),s.tabId&&(u["X-Ima2-Tab-Id"]=s.tabId),Be(`/api/sessions/${encodeURIComponent(e)}/graph`,{method:"PUT",headers:u,body:JSON.stringify({nodes:o,edges:r})})}function __(e){const a=new URLSearchParams;return Be(`/api/prompts?${a.toString()}`)}function N_(e){return Be("/api/prompts",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}function E_(e){return Be(`/api/prompts/${encodeURIComponent(e)}`,{method:"DELETE"})}function C_(e){return Be(`/api/prompts/${encodeURIComponent(e)}/favorite`,{method:"POST"})}function T_(e){return Be("/api/prompts/import",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}function Hy(e){return Be("/api/prompts/import/preview",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}function M_(e){return Be("/api/prompts/import/commit",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}function Uy(){return Be("/api/prompts/import/curated-sources")}function j_(e){return Be("/api/prompts/import/curated-search",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}function A_(e){return Be("/api/prompts/import/curated-refresh",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}function R_(e){const a=new URLSearchParams,o=a.size>0?`?${a.toString()}`:"";return Be(`/api/prompts/import/discovery${o}`)}function D_(e){return Be("/api/prompts/import/discovery-search",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({q:e.q,seeds:e.seeds,limit:e.limit})})}function k_(e){return Be("/api/prompts/import/discovery-review",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}function O_(e){return Be("/api/prompts/import/folder-files",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({source:{kind:"github-folder",input:e.source.input}})})}function z_(e){return Be("/api/prompts/import/folder-preview",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({source:{kind:"github-folder",input:e.source.input},paths:e.paths})})}async function I_(e){const a=await e.arrayBuffer(),o=await fetch("/api/history/import-local",{method:"POST",headers:{"Content-Type":e.type||"image/png","X-Ima2-Original-Filename":encodeURIComponent(e.name)},body:a});if(!o.ok){let s={};try{s=await o.json()}catch{}const u=new Error(s.error||`Import failed (${o.status})`);throw u.code=s.code||"IMPORT_FAILED",u}return(await o.json()).item}function L_(e){return new Promise((a,o)=>{const r=new FileReader;r.onload=()=>a(String(r.result)),r.onerror=()=>o(r.error),r.readAsDataURL(e)})}function B_(e,a=256){return new Promise(o=>{const r=new Image;r.onload=()=>{const s=Math.min(1,a/Math.max(r.width,r.height)),u=document.createElement("canvas");u.width=r.width*s,u.height=r.height*s;const d=u.getContext("2d");if(!d)return o(e);d.drawImage(r,0,0,u.width,u.height),o(u.toDataURL("image/jpeg",.6))},r.onerror=()=>o(e),r.src=e})}const H_={maxB64Bytes:6e6,preserveTransparency:!1,maxEdge:4096,qualityLadder:[.85,.7,.55]},Py=16777216;function U_(e,a,o){let r=e,s=a;if(r<=0||s<=0)return{w:1,h:1};const u=Math.max(r,s);if(u>o){const d=o/u;r=Math.round(r*d),s=Math.round(s*d)}if(r*s>Py){const d=Math.sqrt(Py/(r*s));r=Math.max(1,Math.floor(r*d)),s=Math.max(1,Math.floor(s*d))}return{w:r,h:s}}function mf(e){return new Promise((a,o)=>{const r=new FileReader;r.onload=()=>{typeof r.result=="string"?a(r.result):o(new Error("FileReader returned non-string"))},r.onerror=()=>o(r.error??new Error("FileReader failed")),r.readAsDataURL(e)})}function qy(e,a,o){return new Promise((r,s)=>{e.toBlob(u=>u?r(u):s(new Error("canvas.toBlob returned null")),a,o)})}function hf(e){const a=e.indexOf(",");return a<0?e.length:e.length-a-1}async function $f(e,a={}){const o={...H_,...a},r=await mf(e);if(hf(r)<=o.maxB64Bytes)return r;let s;try{s=await createImageBitmap(e)}catch(u){throw new Error("이미지 디코드 실패. JPEG/PNG로 변환 후 다시 시도해 주세요.",{cause:u})}try{const{w:u,h:d}=U_(s.width,s.height,o.maxEdge),m=document.createElement("canvas");m.width=u,m.height=d;const g=m.getContext("2d");if(!g)throw new Error("canvas 2d context unavailable");if(g.drawImage(s,0,0,u,d),o.preserveTransparency){const p=await qy(m,"image/png"),y=await mf(p);if(hf(y)>o.maxB64Bytes)throw new Error("이미지 압축 실패. JPEG/PNG로 미리 변환 후 다시 시도해 주세요.");return y}for(const p of o.qualityLadder){const y=await qy(m,"image/jpeg",p),v=await mf(y);if(hf(v)<=o.maxB64Bytes)return v}throw new Error("이미지 압축 실패. JPEG/PNG로 미리 변환 후 다시 시도해 주세요.")}finally{s.close?.()}}function Yl(e){const a=(e.type||"").toLowerCase();if(a.includes("heic")||a.includes("heif"))return!0;const o=(e.name||"").toLowerCase();return o.endsWith(".heic")||o.endsWith(".heif")}function Gy(e){return(e.type||"").toLowerCase()==="image/png"}const P_={ok:"확인",cancel:"취소",delete:"삭제",close:"닫기",saving:"저장 중...",loading:"불러오는 중..."},q_={localImportSuccess:"이미지가 갤러리에 추가됐어요",localImportFailed:"이미지 가져오기 실패",localImportInvalid:"PNG, JPEG, WebP만 지원해요",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:"이 이미지의 프롬프트를 가져왔습니다. 수정 후 다시 생성하세요",forkStartedNoPrompt:"이미지를 참조로 첨부했어요. 프롬프트 입력 후 생성하세요",comfyExported:"ComfyUI로 보냈습니다: {filename}",comfyExportInvalidUrl:"ComfyUI URL은 로컬 HTTP 주소여야 합니다.",comfyExportInvalidImage:"이 저장 이미지는 ComfyUI로 보낼 수 없습니다.",comfyExportImageNotFound:"저장된 이미지 파일을 찾지 못했습니다.",comfyExportFailed:"ComfyUI로 이미지를 업로드하지 못했습니다."},G_={queued:"대기 중",streaming:"생성 중",decoding:"마무리 중"},F_={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:"픽셀 제한"}},$_={title:"크기 조정이 필요합니다",body:"입력한 크기가 이미지 생성 제한을 벗어나 자동 조정이 필요합니다.",requested:"요청한 크기",adjusted:"조정될 크기",approve:"승인 후 생성",cancel:"취소",reasonRatio:"비율 제한 3:1을 초과했습니다.",reasonPixels:"최대 픽셀 수 제한을 초과했습니다.",reasonMinPixels:"요청한 이미지의 픽셀 수가 너무 적습니다.",reasonMin:"최소 크기보다 작습니다.",reasonMax:"최대 크기보다 큽니다.",reasonSnap:"16px 단위에 맞춰야 합니다."},V_={title:"품질",lowLabel:"낮음",lowSub:"빠름",mediumLabel:"중간",mediumSub:"균형",highLabel:"높음",highSub:"최상"},Y_={title:"모더레이션",autoLabel:"자동",autoSub:"표준 필터",lowLabel:"낮음",lowSub:"완화 필터",explain:"자동은 표준 안전 필터를 사용합니다. 낮음은 제한을 조금 완화해 경계선 프롬프트가 더 통과할 수 있습니다."},X_={title:"포맷"},K_={title:"개수",customPlus:"+n",customLabel:"직접 입력 개수",highCountHint:"고품질이나 참조 이미지에서는 시간이 더 걸릴 수 있습니다.",minMaxHint:"1-8장까지 가능합니다.",decrease:"개수 줄이기",increase:"개수 늘리기"},Z_={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:"취소"},Q_={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:"출처"},J_={button:"생성",buttonLoading:"생성 중 ({n})"},W_={label:"API 상태",checking:"확인 중...",offline:"오프라인",remaining:"${remaining} 남음",thisMonth:"이번 달 ${amount}",oauthFree:"OAuth 무료 사용 가능",apiDisabled:"API 키 비활성화됨 (OAuth 전용)",oauthMode:"OAuth 모드"},eN={openGalleryAria:"갤러리 열기",openGalleryTitle:"전체 갤러리 열기"},tN={closeSettings:"설정 닫기",detailSettings:"세부 설정",toggleShow:"세부 설정 보기",toggleHide:"세부 설정 숨기기",open:"열기",close:"닫기"},nN={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}장까지)"},aN={resultAlt:"생성 결과",imageViewerAria:"생성 이미지 뷰어. 좌우 방향키로 이전 또는 다음 이미지를 볼 수 있습니다.",tokens:"{n} 토큰",open:"캔버스 열기",openAria:"캔버스 모드에서 이미지 열기",close:"캔버스 닫기",drop:{hint:"이미지를 떨어뜨려 갤러리에 추가"},toolbar:{label:"캔버스 주석 도구",select:"선택",bgGroup:"내보내기 배경",bgAlpha:"투명",bgMatte:"단색",bgMatteColor:"단색 색상",cleanup:"배경 정리",cleanupTolerance:"감도",cleanupAutoSample:"모서리",cleanupPickSeed:"배경 찍기",cleanupPickingSeed:"배경 클릭",cleanupPreview:"미리보기",cleanupPreviewing:"미리보기 중...",cleanupApply:"PNG 적용",cleanupApplying:"적용 중...",cleanupReset:"초기화",cleanupSeedCount:"{n}개 seed",cleanupRemoved:"{n}% 제거",cleanupPickHint:"이미지 위 배경을 클릭하세요",cleanupMaskHint:"보라색 영역이 제거 예정",cleanupApplied:"투명 PNG 생성됨",cleanupFailed:"배경 정리 실패",zoomGroup:"캔버스 확대/축소",zoomIn:"확대",zoomOut:"축소",zoomReset:"확대 초기화",zoomShortcutHint:"핀치 확대 · 두손가락 이동 · [ / ] · 0",pen:"펜",box:"박스",arrow:"화살표",memo:"메모",eraser:"지우개",eraserMenu:"지우개 옵션",objectEraser:"객체 지우개",brushEraser:"브러시 지우개",apply:"캔버스 버전 저장",applyDone:"캔버스 버전 저장됨",applyFailed:"캔버스 버전 저장 실패",export:"이미지 내보내기",exporting:"내보내는 중...",exportFailed:"내보내기 실패",undo:"실행 취소",redo:"다시 실행",deleteSelected:"선택 삭제",editMask:"박스 영역 편집",editMaskDisabled:"먼저 박스를 그려주세요",editMaskFailed:"마스크 편집 실패",editMaskUnsupported:"현재 이미지 제공자는 마스크 편집을 지원하지 않습니다",style:"스타일",color:"색상",strokeWidth:"선 굵기",clear:"모두 지우기"},version:{saving:"캔버스 버전 저장 중...",saved:"캔버스 버전 저장됨",failed:"캔버스 버전 저장 실패",usingAsReference:"캔버스 버전을 참조 이미지로 사용할 수 있습니다"}},oN={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:"즐겨찾기 해제"},rN={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:"보관된 참조 비우기"},iN={selectionOn:"선택중",selectionOff:"선택",selectAll:"전체",summary:"선택 {selected} · 미생성 {missing} · 영향 {stale}",generateMissing:"미생성",regenerateSelected:"재생성",stopRemaining:"중단",stopping:"중단중",clear:"해제",noneSelected:"선택된 노드가 없습니다.",parentRequired:"부모 이미지가 준비되지 않은 선택 노드가 {count}개 있습니다.",nothingToRun:"생성할 선택 노드가 없습니다.",stopQueued:"현재 노드가 끝나면 남은 작업을 중단합니다.",failed:"{done}/{total} 완료 후 중단되었습니다.",finished:"{done}/{total} 노드 작업 완료",staleBecauseParentChanged:"상위 노드가 재생성되어 다시 확인이 필요합니다."},sN={disconnect:"끊기",disconnectTitle:"선택한 연결선 끊기",disconnected:"연결선을 끊었습니다.",parentConflict:"한 노드에는 부모 연결을 하나만 둘 수 있습니다."},lN={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:"(사용 불가)"},cN={free:"무료",approx:"약 ${amount}",multimodeApprox:"최대 약 ${amount} ({count}장)",label:"예상 비용"},uN={download:"다운로드",copyImage:"이미지 복사",copyPrompt:"프롬프트 복사",continueHere:"여기서 이어서",continueHereTitle:"이 이미지의 프롬프트를 가져와 이어서 작업",delete:"삭제",deleteTitle:"휴지통으로 이동",more:"더보기",sendToComfyUI:"ComfyUI로 보내기",sendToComfyUITitle:"이 저장된 이미지를 로컬 ComfyUI로 업로드",permanentDelete:"완전 삭제",permanentDeleteConfirm:'"{filename}" 이미지를 완전히 삭제할까요? 이 작업은 되돌릴 수 없습니다.'},dN={switchTitle:"세션 전환",loading:"불러오는 중...",newSession:"새 세션",newSessionTitle:"새 세션",renameTitle:"이름 변경",renamePrompt:"세션 이름",deleteTitle:"삭제",deleteConfirm:'"{title}" 세션을 삭제할까요? 이 작업은 되돌릴 수 없습니다.',empty:"아직 세션이 없습니다",firstGraph:"첫 번째 그래프",untitled:"제목 없는 세션",assetAbortedError:"생성이 정상적으로 끝나지 않았습니다. 이 노드에서 다시 시도하세요."},fN={ariaLabel:"UI 모드",classic:"기본",node:"노드",cardNews:"카드뉴스"},mN={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:"초안 생성 실패"}},hN={appName:"이미지 생성기",imageModelLabel:"모델",imageModelAria:"이미지 모델 선택",nodeModeHint:"노드 모드에서는 노드를 눌러 프롬프트를 수정한 뒤 생성하세요. 오른쪽 패널의 설정 (품질/크기)은 새로 만드는 모든 결과에 적용됩니다."},pN={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 도구를 지원하지 않습니다."},reasoning:{title:"추론 강도",body:"값이 높을수록 생성 전에 plan/검색/프롬프트 보강에 더 많은 reasoning 토큰을 사용합니다.",low:"Low — 가장 빠름, 추론 최소",medium:"Medium — 기본 균형값",high:"High — 더 깊은 리서치와 통합",xhigh:"Xhigh — 최대 추론, 가장 느림"},webSearch:{title:"웹서치",body:"실존 인물, 브랜드, 제품, 장소, 최신 이벤트를 생성 전에 실시간 검색해서 반영합니다.",on:"검색 켬",off:"검색 끔"},appearance:{themeTitle:"테마",themeBody:"이 기기에서 사용할 테마 스타일과 밝기를 선택합니다.",historyStripLayoutTitle:"히스토리 썸네일",historyStripLayoutBody:"작업공간 옆 작은 히스토리 배열 방식을 고릅니다.",historyStripLayout:{rail:"세로",horizontal:"상단 가로",sidebar:"사이드바"}},language:{title:"언어",body:"생성 프롬프트와 무관하게 인터페이스 언어만 바꿉니다."},future:{title:"나중을 위한 자리",body:"OAuth 복구 도구나 작업공간 옵션이 실제로 필요해지면 이곳에 추가합니다."}},gN={loading:"세션 불러오는 중...",addFirst:"+ 첫 노드 추가",addRootTitle:"루트 노드 추가",hint:"핸들을 빈 공간으로 드래그하면 새 브랜치가 생깁니다. Delete 또는 Backspace로 삭제할 수 있습니다."},yN={title:"{provider} 사용 불가",ariaLabel:"{provider} 사용 불가"},vN={label:"언어",ko:"한국어",en:"English"},bN={label:"테마",modeLabel:"밝기",styleLabel:"테마 스타일",system:"시스템",dark:"다크",light:"라이트",family:{default:"기본",gpt:"GPT",claude:"Claude",gemini:"Gemini",grok:"Grok"}},xN={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:"확인"}},SN={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, .markdown 또는 GitHub 파일 불러오기",dropImport:".txt, .md, .markdown 파일을 놓으면 프롬프트로 가져옵니다",importTitle:"프롬프트 가져오기",importDropTitle:"파일을 여기에 드래그하세요",importDropHint:".txt, .md, .markdown 파일을 preview한 뒤 저장합니다",importChooseFiles:"파일 선택",importGithubLabel:"GitHub 파일 URL 또는 경로",importPreview:"미리보기",importPreviewEmpty:"파일을 드래그하거나 GitHub 경로를 입력하면 후보가 표시됩니다.",importCommit:"선택 항목 저장",importSelectAtLeastOne:"저장할 프롬프트를 하나 이상 선택하세요.",imported:"프롬프트 {count}개를 가져왔습니다",importFailed:"가져오기에 실패했습니다",importNoValidFiles:".txt, .md, .markdown 프롬프트 파일이 없습니다.",curatedSources:"추천 소스",curatedSourcesHint:"검토된 공개 프롬프트 소스 검색",curatedSearch:"검색",curatedSearchPlaceholder:"nano banana, gpt-image-2, typography...",refreshSource:"갱신",curatedRefreshed:"프롬프트 후보 {count}개를 인덱싱했습니다",sourceTrustTier:"소스 신뢰도",requiresAttribution:"출처 표시 필요",modelHints:"모델 힌트",taskHints:"작업 힌트",warnings:"경고",transparentUnsupportedGptImage2:"gpt-image-2는 투명 배경을 지원하지 않습니다",noCuratedResults:"추천 소스에서 프롬프트 후보를 찾지 못했습니다.",discovery:"발견",discoverySearch:"GitHub 검색",discoverySearchPlaceholder:"프롬프트 저장소 검색...",discoveryCandidates:"발견 후보",discoveryApprove:"승인",discoveryReject:"거절",discoveryApproved:"승인됨",discoveryRejected:"거절됨",discoveryScore:"점수",discoveryWarnings:"발견 경고",discoveryRateLimited:"GitHub discovery가 rate limit에 걸렸습니다.",discoveryNoResults:"발견 후보가 없습니다.",discoveryReviewQueue:"검토 대기열",discoveryRequiresPaths:"기본 검색 전에 검토된 파일 경로를 추가하세요.",folderBrowse:"폴더 보기",folderBrowseHint:"GitHub 폴더의 지원 파일만 불러옵니다",folderFiles:"폴더 파일",folderFilesEmpty:"가져올 수 있는 .md / .markdown / .txt 파일이 없습니다",folderPreviewSelected:"선택 파일 미리보기",folderSelectedCount:"{count}개 선택됨",folderWarnings:"폴더 경고",folderTooManyFiles:"파일이 너무 많아 일부만 표시했습니다",folderNoSelection:"미리볼 파일을 선택하세요",folderUnsupported:"GitHub 폴더만 지원합니다"},wN={common:P_,toast:q_,inflight:G_,size:F_,sizeConfirm:$_,quality:V_,moderation:Y_,format:X_,count:K_,multimode:Z_,metadata:Q_,generate:J_,billing:W_,history:eN,panel:tN,prompt:nN,canvas:aN,gallery:oN,node:rN,nodeBatch:iN,edge:sN,provider:lN,cost:cN,result:uN,session:dN,uiMode:fN,cardNews:mN,sidebar:hN,settings:pN,nodeCanvas:gN,apiDisabled:yN,language:vN,theme:bN,errorCard:xN,promptLibrary:SN},_N={ok:"OK",cancel:"Cancel",delete:"Delete",close:"Close",saving:"Saving...",loading:"Loading..."},NN={localImportSuccess:"Image added to gallery",localImportFailed:"Failed to import image",localImportInvalid:"Only PNG, JPEG, or WebP is supported",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.",forkStartedNoPrompt:"Image attached as reference. Type a prompt and generate.",comfyExported:"Sent to ComfyUI as {filename}.",comfyExportInvalidUrl:"ComfyUI URL must be a local HTTP address.",comfyExportInvalidImage:"This saved image cannot be sent to ComfyUI.",comfyExportImageNotFound:"Saved image file was not found.",comfyExportFailed:"Could not upload image to ComfyUI."},EN={queued:"Queued",streaming:"Generating",decoding:"Finalizing"},CN={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"}},TN={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."},MN={title:"Quality",lowLabel:"Low",lowSub:"Fast",mediumLabel:"Medium",mediumSub:"Balanced",highLabel:"High",highSub:"Best"},jN={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."},AN={title:"Format"},RN={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"},DN={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"},kN={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"},ON={button:"Generate",buttonLoading:"Generating ({n})"},zN={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"},IN={openGalleryAria:"Open gallery",openGalleryTitle:"Open full gallery"},LN={closeSettings:"Close settings",detailSettings:"Settings",toggleShow:"Show settings",toggleHide:"Hide settings",open:"Open",close:"Close"},BN={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})"},HN={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",drop:{hint:"Drop image to add to gallery"},toolbar:{label:"Canvas annotation tools",select:"Select",bgGroup:"Export background",bgAlpha:"Alpha",bgMatte:"Matte",bgMatteColor:"Matte color",cleanup:"Clean background",cleanupTolerance:"Tolerance",cleanupAutoSample:"Corners",cleanupPickSeed:"Pick seed",cleanupPickingSeed:"Click background",cleanupPreview:"Preview",cleanupPreviewing:"Previewing...",cleanupApply:"Apply PNG",cleanupApplying:"Applying...",cleanupReset:"Reset",cleanupSeedCount:"{n} seeds",cleanupRemoved:"{n}% removed",cleanupPickHint:"Click the background on the image",cleanupMaskHint:"Purple mask will be removed",cleanupApplied:"Transparent PNG created",cleanupFailed:"Background cleanup failed",zoomGroup:"Canvas zoom",zoomIn:"Zoom in",zoomOut:"Zoom out",zoomReset:"Reset zoom",zoomShortcutHint:"Pinch zoom · two-finger pan · [ / ] · 0",pen:"Pen",box:"Box",arrow:"Arrow",memo:"Sticky memo",eraser:"Eraser",eraserMenu:"Eraser options",objectEraser:"Object eraser",brushEraser:"Brush eraser",apply:"Save canvas version",applyDone:"Canvas version saved",applyFailed:"Could not save canvas version",export:"Export image",exporting:"Exporting...",exportFailed:"Export failed",undo:"Undo",redo:"Redo",deleteSelected:"Delete selected",editMask:"Edit boxed areas",editMaskDisabled:"Draw a box first",editMaskFailed:"Masked edit failed",editMaskUnsupported:"Masked edit is not supported by the current image provider",style:"Style",color:"Color",strokeWidth:"Stroke width",clear:"Clear all"},version:{saving:"Saving canvas version...",saved:"Canvas version saved",failed:"Could not save canvas version",usingAsReference:"Canvas version is ready as a reference"}},UN={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"},PN={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"},qN={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."},GN={disconnect:"Disconnect",disconnectTitle:"Disconnect selected edge",disconnected:"Connection removed.",parentConflict:"A node can only have one parent connection."},FN={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)"},$N={free:"free",approx:"~${amount}",multimodeApprox:"up to ~${amount} ({count})",label:"Est. cost"},VN={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",sendToComfyUI:"Send to ComfyUI",sendToComfyUITitle:"Upload this saved image to local ComfyUI",permanentDelete:"Permanently delete",permanentDeleteConfirm:'Permanently delete "{filename}"? This cannot be undone.'},YN={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."},XN={ariaLabel:"UI mode",classic:"Classic",node:"Node",cardNews:"Card News"},KN={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"}},ZN={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."},QN={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."},reasoning:{title:"Reasoning effort",body:"Higher effort spends more reasoning tokens on planning, web search, and prompt enrichment before generating.",low:"Low — fastest, minimal reasoning",medium:"Medium — balanced default",high:"High — deeper research and synthesis",xhigh:"Xhigh — maximum reasoning, slowest"},webSearch:{title:"Web search",body:"Use live search before generation for real people, brands, products, places, and recent events.",on:"Search on",off:"Search off"},appearance:{themeTitle:"Theme",themeBody:"Pick a theme style and brightness for this device.",historyStripLayoutTitle:"History thumbnails",historyStripLayoutBody:"Choose how the compact history strip sits beside the workspace.",historyStripLayout:{rail:"Rail",horizontal:"Top row",sidebar:"Sidebar"}},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."}},JN={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."},WN={title:"{provider} unavailable",ariaLabel:"{provider} unavailable"},eE={label:"Language",ko:"한국어",en:"English"},tE={label:"Theme",modeLabel:"Brightness",styleLabel:"Theme style",system:"System",dark:"Dark",light:"Light",family:{default:"Default",gpt:"GPT",claude:"Claude",gemini:"Gemini",grok:"Grok"}},nE={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"}},aE={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, .md, .markdown, or GitHub files",dropImport:"Drop .txt, .md, or .markdown files to import prompts",importTitle:"Import prompts",importDropTitle:"Drag files here",importDropHint:"Preview .txt, .md, and .markdown files before saving",importChooseFiles:"Choose files",importGithubLabel:"GitHub file URL or path",importPreview:"Preview",importPreviewEmpty:"Drop files or enter a GitHub path to preview candidates.",importCommit:"Save selected",importSelectAtLeastOne:"Select at least one prompt to save.",imported:"Imported {count} prompt(s)",importFailed:"Import failed",importNoValidFiles:"No .txt, .md, or .markdown prompt files found.",curatedSources:"Curated sources",curatedSourcesHint:"Search indexed public prompt sources",curatedSearch:"Search",curatedSearchPlaceholder:"nano banana, gpt-image-2, typography...",refreshSource:"Refresh",curatedRefreshed:"Indexed {count} prompt candidate(s)",sourceTrustTier:"Source trust",requiresAttribution:"Attribution required",modelHints:"Model hints",taskHints:"Task hints",warnings:"Warnings",transparentUnsupportedGptImage2:"Transparent background is not supported by gpt-image-2",noCuratedResults:"No curated prompt candidates found.",discovery:"Discovery",discoverySearch:"Search GitHub",discoverySearchPlaceholder:"Search prompt repositories...",discoveryCandidates:"Discovery candidates",discoveryApprove:"Approve",discoveryReject:"Reject",discoveryApproved:"Approved",discoveryRejected:"Rejected",discoveryScore:"Score",discoveryWarnings:"Discovery warnings",discoveryRateLimited:"GitHub discovery is rate limited.",discoveryNoResults:"No discovery candidates found.",discoveryReviewQueue:"Review queue",discoveryRequiresPaths:"Add reviewed file paths before default search.",folderBrowse:"Browse folder",folderBrowseHint:"Loads supported files from a GitHub folder",folderFiles:"Folder files",folderFilesEmpty:"No importable .md, .markdown, or .txt files found.",folderPreviewSelected:"Preview selected files",folderSelectedCount:"{count} selected",folderWarnings:"Folder warnings",folderTooManyFiles:"Too many files; showing a limited set.",folderNoSelection:"Select files to preview.",folderUnsupported:"Only GitHub folders are supported."},oE={common:_N,toast:NN,inflight:EN,size:CN,sizeConfirm:TN,quality:MN,moderation:jN,format:AN,count:RN,multimode:DN,metadata:kN,generate:ON,billing:zN,history:IN,panel:LN,prompt:BN,canvas:HN,gallery:UN,node:PN,nodeBatch:qN,edge:GN,provider:FN,cost:$N,result:VN,session:YN,uiMode:XN,cardNews:KN,sidebar:ZN,settings:QN,nodeCanvas:JN,apiDisabled:WN,language:eE,theme:tE,errorCard:nE,promptLibrary:aE},Fy={ko:wN,en:oE};function $y(e,a){return a.split(".").reduce((o,r)=>{if(o!=null)return o[r]},e)}function rE(e,a){return e.replace(/\{(\w+)\}/g,(o,r)=>r in a?String(a[r]):`{${r}}`)}function be(e,a){const o=U.getState().locale;return Y0(o,e,a)}function Y0(e,a,o){const r=$y(Fy[e],a),s=typeof r=="string"?r:$y(Fy.en,a),u=typeof s=="string"?s:a;return o?rE(u,o):u}function Se(){const e=U(a=>a.locale);return{locale:e,t:(a,o)=>Y0(e,a,o)}}const iE=["ko","en"];function sE(){try{const e=localStorage.getItem("ima2.locale");if(e==="ko"||e==="en")return e}catch{}return typeof navigator<"u"&&(navigator.language||"").toLowerCase().startsWith("ko")?"ko":"en"}function lE(e){try{localStorage.setItem("ima2.locale",e)}catch{}}function cE(e){return Math.round(e/16)*16}const Uo=16,hm=3840,pf=655360,yc=8294400,uE=3,Gr=3,Vy=Math.floor(Math.sqrt(yc)/Uo)*Uo,X0=Uo,dE=hm,Xl=uE;function Yy(e){return Math.floor(e/16)*16}function Tc(e){return Math.ceil(e/16)*16}function Tn(e){return Math.min(dE,Math.max(X0,e))}function Yn(e,a){const o=typeof e=="number"?e:Number.parseInt(e,10);return Number.isFinite(o)?o:a}function Vo(e,a){e.includes(a)||e.push(a)}function Xy(e,a){const o=cE(e);return o!==e&&Vo(a,"snap"),o}function Ky(e,a){return e<X0&&Vo(a,"min"),e>hm&&Vo(a,"maxEdge"),Tn(e)}function Zy(e,a,o){return e>a*Xl?(Vo(o,"ratio"),{w:e,h:Tn(Tc(e/Xl))}):a>e*Xl?(Vo(o,"ratio"),{w:Tn(Tc(a/Xl)),h:a}):{w:e,h:a}}function fE(e,a,o){if(e*a<pf){Vo(o,"minPixels");const d=Math.sqrt(pf/(e*a));let m=Tn(Tc(e*d)),g=Tn(Tc(a*d));for(;m*g<pf;)m<=g?m=Tn(m+Uo):g=Tn(g+Uo);return{w:m,h:g}}if(e*a<=yc)return{w:e,h:a};Vo(o,"maxPixels");const r=Math.sqrt(yc/(e*a));let s=Tn(Yy(e*r)),u=Tn(Yy(a*r));for(;s*u>yc;)s>=u?s=Tn(s-Uo):u=Tn(u-Uo);return{w:s,h:u}}function pm(e,a,o,r){const s=[],u=Yn(e,o),d=Yn(a,r);let m=Ky(Xy(u,s),s),g=Ky(Xy(d,s),s);return{w:m,h:g}=Zy(m,g,s),{w:m,h:g}=fE(m,g,s),{w:m,h:g}=Zy(m,g,s),{requestedW:u,requestedH:d,w:m,h:g,adjusted:m!==u||g!==d,reasons:s}}function K0(e,a,o,r){const s=pm(e,a,o,r);return{w:s.w,h:s.h}}const mE=[{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 hE(e,a){return`${e}x${a}`}function pE(e,a=1024){if(e.id==="free")return null;const o=a,r=e.w>=e.h,s=r?Math.round(o*e.w/e.h):o,u=r?o:Math.round(o*e.h/e.w);return K0(s,u,s,u)}function Pc(e){const a=K0(e.w,e.h,2400,1024);return{...e,w:a.w,h:a.h,label:e.label||`${a.w}×${a.h}`}}function Yr(e){return e.slice(0,Gr).map(Pc)}function gE(e,a){const o=Pc(a),r=e.findIndex(s=>s.id===o.id);return r>=0?Yr(e.map((s,u)=>u===r?o:s)):e.length>=Gr?Yr(e):Yr([...e,o])}function yE(e,a,o){const r=Pc({...o,id:a});return Yr(e.map(s=>s.id===a?r:s))}const vE=[{value:"1024x1024",label:"1024×1024",sub:"1:1"},{value:"1536x1024",label:"1536×1024",sub:"3:2"},{value:"1024x1536",label:"1024×1536",sub:"2:3"}],bE=[{value:"1360x1024",label:"1360×1024",sub:"4:3"},{value:"1024x1360",label:"1024×1360",sub:"3:4"},{value:"1824x1024",label:"1824×1024",sub:"16:9"}],xE=[{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"}],SE=[{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 wE(){return[{value:"auto",label:be("size.autoLabel"),sub:be("size.autoSub")},{value:"custom",label:be("size.customLabel"),sub:be("size.customSub")}]}const _E="gpt-5.4-mini",Z0="ima2.imageModel",Fr=[{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"}],NE=[{value:"gpt-5.3-codex-spark",fullLabelKey:"settings.imageModel.gpt53CodexSpark"}];function Q0(e){return Fr.some(a=>a.value===e)}function J0(e){return e?Fr.find(a=>a.value===e)?.shortLabel??e:null}const EE="medium",W0="ima2.reasoningEffort",eb=[{value:"low",shortLabel:"low",fullLabelKey:"settings.reasoning.low"},{value:"medium",shortLabel:"med",fullLabelKey:"settings.reasoning.medium"},{value:"high",shortLabel:"high",fullLabelKey:"settings.reasoning.high"},{value:"xhigh",shortLabel:"xhigh",fullLabelKey:"settings.reasoning.xhigh"}];function CE(e){return eb.some(a=>a.value===e)}const tb="ima2.webSearchEnabled",TE=!0,Hr=()=>"nc_"+Math.random().toString(36).slice(2,10);function Qy(e,a){return{x:e*360,y:a*320}}function ME(e,a){return e.find(o=>o.target===a)??null}function jE(e,a,o){return e.some(r=>r.target===o&&r.source!==a)}function oo(e,a){const o=new Map(e.map(r=>[r.id,r]));return e.map(r=>{const s=ME(a,r.id),d=(s?o.get(s.source):null)?.data.serverNodeId??null;return r.data.parentServerNodeId===d?r:{...r,data:{...r.data,parentServerNodeId:d}}})}const AE=360,nb=320;function RE(e,a,o){const r=new Set(o.filter(s=>s.source===e).map(s=>s.target));return a.filter(s=>r.has(s.id))}function Jy(e){const a=e.filter(r=>!r.data.parentServerNodeId);if(a.length===0)return Qy(0,0);const o=Math.max(...a.map(r=>r.position.y));return{x:Qy(0,0).x,y:o+nb}}function Wy(e,a,o){const r=RE(e.id,a,o),s=e.position.x+AE;if(r.length===0)return{x:s,y:e.position.y};const u=Math.max(...r.map(d=>d.position.y));return{x:s,y:u+nb}}const ab="ima2.nodeRefs.v1";function gm(){try{const e=localStorage.getItem(ab);if(!e)return{};const a=JSON.parse(e);return a&&typeof a=="object"?a:{}}catch{return{}}}function ob(e){try{localStorage.setItem(ab,JSON.stringify(e))}catch{}}function DE(e,a){if(!e)return[];const o=gm()[e]?.[a];return Array.isArray(o)?o.filter(r=>typeof r=="string"):[]}function vc(e,a,o){if(!e)return;const r=gm(),s={...r[e]??{}};o.length===0?delete s[a]:s[a]=o,r[e]=s,ob(r)}function gf(e,a){vc(e,a,[])}function kE(e,a){if(!e)return;const o=gm(),r=o[e];if(!r)return;const s=new Set(a);for(const u of Object.keys(r))s.has(u)||delete r[u];o[e]=r,ob(o)}function OE(e,a,o){const r=new Set(e.map(m=>m.id));if(!r.has(o))return[];const s=new Map;for(const m of r)s.set(m,new Set);for(const m of a)!r.has(m.source)||!r.has(m.target)||(s.get(m.source)?.add(m.target),s.get(m.target)?.add(m.source));const u=new Set,d=[o];for(let m=0;m<d.length;m++){const g=d[m];if(!u.has(g)){u.add(g);for(const p of s.get(g)??[])u.has(p)||d.push(p)}}return e.filter(m=>u.has(m.id)).map(m=>m.id)}function rb(e){return e.filter(a=>a.selected).map(a=>a.id)}function fs(e,a){const o=new Set(a);return e.map(r=>({...r,selected:o.has(r.id)}))}function zE(e,a,o,r){const s=new Set(OE(e,a,o));if(!s.size)return e;if(!r)return fs(e,s);const u=e.find(g=>g.id===o),d=e.some(g=>s.has(g.id)&&g.selected),m=new Set(rb(e));if(d)u?.selected?m.delete(o):m.add(o);else for(const g of s)m.add(g);return fs(e,m)}function ib(e){return e.data.status==="ready"&&!!e.data.imageUrl}function IE(e,a,o){const r=new Set(o),s=new Set(e.map(v=>v.id)),u=new Map,d=new Map;for(const v of r)s.has(v)&&(u.set(v,0),d.set(v,[]));for(const v of a)!r.has(v.source)||!r.has(v.target)||(d.get(v.source)?.push(v.target),u.set(v.target,(u.get(v.target)??0)+1));const m=e.map(v=>v.id),g=m.filter(v=>r.has(v)&&(u.get(v)??0)===0),p=[];for(let v=0;v<g.length;v++){const b=g[v];p.push(b);for(const S of d.get(b)??[])u.set(S,(u.get(S)??0)-1),(u.get(S)??0)===0&&g.push(S)}const y=new Set(p);return p.concat(m.filter(v=>r.has(v)&&!y.has(v)))}function sb(e,a){const o=new Set(a),r=new Set,s=new Map;for(const d of e){const m=s.get(d.source)??[];m.push(d.target),s.set(d.source,m)}const u=[...o];for(let d=0;d<u.length;d++)for(const m of s.get(u[d])??[])o.has(m)||r.has(m)||(r.add(m),u.push(m));return[...r]}function LE(e,a,o){const r=new Set(o);return e.filter(s=>s.source===a&&!r.has(s.target)).map(s=>s.target)}function BE(e,a,o){const r=new Set(o),s=new Map(e.map(d=>[d.id,d])),u=[];for(const d of a){if(!r.has(d.target)||r.has(d.source))continue;s.get(d.source)?.data.serverNodeId||u.push(d.target)}return u}const ms={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 HE(e){const a=(e||"").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 UE(e){const a=e,o=typeof a?.message=="string"?a.message:String(e??""),r=typeof a?.code=="string"?a.code:"",s=r&&r in ms?r:HE(o),u=ms[s]??ms.UNKNOWN;return{code:s,spec:u,message:o}}function es(e,a){const{code:o,spec:r,message:s}=UE(e);if(r.surface==="card")a.showErrorCard(o,{fallbackMessage:s});else{const u=r.toastKey?be(r.toastKey):s||be("toast.generateFailed");a.showToast(u,!0)}return{code:o,message:s}}const js=!0,lb=!1;function PE(e,a){return a?a.filename&&e.filename===a.filename?!0:e.image===a.image:!1}function qE(e,a){return e.findIndex(o=>PE(o,a))}function GE(e,a,o){if(e.length===0)return null;if(o==="first")return e[0]??null;if(o==="last")return e[e.length-1]??null;const r=qE(e,a);if(r<0)return null;const s=o==="previous"?r-1:r+1;return e[s]??null}function ev(e,a){const o=e.findIndex(r=>r.filename===a);return o<0?null:e[o+1]??e[o-1]??null}function FE(){try{const e=localStorage.getItem("ima2.rightPanelOpen");return e===null?!0:JSON.parse(e)===!0}catch{return!0}}function $E(){try{const e=localStorage.getItem("ima2.uiMode");if(e==="card-news")return lb?e:"classic";if(e==="node")return js?e:"classic";if(e==="classic")return e}catch{}return"classic"}function yf(){try{const e=localStorage.getItem("ima2:theme");if(e==="system"||e==="dark"||e==="light")return e}catch{}return"system"}function tv(){try{const e=localStorage.getItem("ima2:themeFamily");if(e&&F0.includes(e))return e}catch{}return"default"}function VE(){try{const e=localStorage.getItem("ima2.historyStripLayout");if(e==="rail"||e==="horizontal"||e==="sidebar")return e}catch{}return"rail"}const cb="ima2.canvas.exportBackground.v1";function nv(){if(typeof window>"u")return{mode:"alpha",matteColor:"#ffffff"};try{const e=window.localStorage.getItem(cb);if(!e)return{mode:"alpha",matteColor:"#ffffff"};const a=JSON.parse(e),o=a.mode==="matte"?"matte":"alpha",r=typeof a.matteColor=="string"&&/^#[0-9a-fA-F]{6}$/.test(a.matteColor)?a.matteColor:"#ffffff";return{mode:o,matteColor:r}}catch{return{mode:"alpha",matteColor:"#ffffff"}}}function av(e,a){if(!(typeof window>"u"))try{window.localStorage.setItem(cb,JSON.stringify({mode:e,matteColor:a}))}catch{}}function ov(){try{const e=localStorage.getItem(Z0);if(Q0(e))return e}catch{}return _E}function rv(e){try{localStorage.setItem(Z0,e)}catch{}}function YE(){try{const e=localStorage.getItem(W0);if(CE(e))return e}catch{}return EE}function XE(e){try{localStorage.setItem(W0,e)}catch{}}function KE(){try{const e=localStorage.getItem(tb);if(e==="false")return!1;if(e==="true")return!0}catch{}return TE}function ZE(e){try{localStorage.setItem(tb,String(e))}catch{}}const ub="ima2.generationDefaults";function Kl(e){return e==="dark"||e==="light"?e:typeof window>"u"||typeof window.matchMedia!="function"?"dark":window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}const db=18e4;function vf(e,a){return[...a.map(o=>o.text.trim()).filter(Boolean),e.trim()].filter(Boolean).join(`
22
+
23
+ `)}function bf(e){const a=e.meta??{},o=e.kind==="classic"||e.kind==="node"||e.kind==="multimode"?e.kind:a.kind==="classic"||a.kind==="node"||a.kind==="multimode"?a.kind:void 0;return{id:e.requestId,prompt:typeof e.prompt=="string"?e.prompt:"",startedAt:e.startedAt,phase:typeof e.phase=="string"?e.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:o}}function iv(e){const a=typeof e.errorCode=="string"&&e.errorCode?e.errorCode:"UNKNOWN",o=new Error(a==="EMPTY_RESPONSE"?"No image data returned from the image backend.":"Generation failed on the server.");return o.code=a,o.status=typeof e.httpStatus=="number"?e.httpStatus:void 0,o}function xf(){try{const e=localStorage.getItem("ima2.inFlight");if(!e)return[];const a=JSON.parse(e);if(!Array.isArray(a))return[];const o=Date.now();return a.filter(r=>r&&typeof r.id=="string"&&typeof r.prompt=="string"&&typeof r.startedAt=="number"&&o-r.startedAt<db).map(r=>({id:r.id,prompt:r.prompt,startedAt:r.startedAt,phase:typeof r.phase=="string"?r.phase:void 0,sessionId:typeof r.sessionId=="string"?r.sessionId:null,parentNodeId:typeof r.parentNodeId=="string"?r.parentNodeId:null,clientNodeId:typeof r.clientNodeId=="string"?r.clientNodeId:null,kind:r.kind==="classic"||r.kind==="node"||r.kind==="multimode"?r.kind:void 0}))}catch{return[]}}function Sa(e){try{localStorage.setItem("ima2.inFlight",JSON.stringify(e))}catch(a){const o=window;if(!o.__ima2QuotaWarned){o.__ima2QuotaWarned=!0,console.warn("[ima2] localStorage write failed:",a);try{U.getState().showToast(be("toast.localStorageFull"),!0)}catch{}}}}function sv(){try{const e=localStorage.getItem("ima2.selectedFilename");return typeof e=="string"&&e.length>0?e:null}catch{return null}}function ro(e){try{e?localStorage.setItem("ima2.selectedFilename",e):localStorage.removeItem("ima2.selectedFilename")}catch{}}function QE(){try{const e=localStorage.getItem("ima2.activeSessionId");return typeof e=="string"&&e.length>0?e:null}catch{return null}}function Sf(e){try{e?localStorage.setItem("ima2.activeSessionId",e):localStorage.removeItem("ima2.activeSessionId")}catch{}}const Bo=500,Cn=5;function JE(e){return e==="classic"||e==="edit"||e==="generate"||e==="card-news-card"||e==="card-news-set"?e:null}function lv(e){return{image:e.url,url:e.url,filename:e.filename,thumb:e.url,prompt:e.prompt??void 0,size:e.size??void 0,quality:e.quality??void 0,format:e.format,model:e.model??void 0,provider:e.provider,usage:e.usage??void 0,createdAt:e.createdAt,sessionId:e.sessionId??null,nodeId:e.nodeId??null,clientNodeId:e.clientNodeId??null,requestId:e.requestId??null,kind:JE(e.kind),canvasVersion:!!e.canvasVersion,canvasSourceFilename:e.canvasSourceFilename??null,canvasEditableFilename:e.canvasEditableFilename??null,canvasMergedAt:e.canvasMergedAt??void 0,setId:e.setId??null,cardId:e.cardId??null,cardOrder:e.cardOrder??null,headline:e.headline??null,body:e.body??null,cards:e.cards,refsCount:e.refsCount??0,isFavorite:e.isFavorite??!1,sequenceId:e.sequenceId??null,sequenceIndex:e.sequenceIndex??null,sequenceTotalRequested:e.sequenceTotalRequested??null,sequenceTotalReturned:e.sequenceTotalReturned??null,sequenceStatus:e.sequenceStatus??null}}function wf(e){return e.replace(/^data:[^;]+;base64,/,"")}async function Zl(e,a="reference.png"){const o=await fetch(e);if(!o.ok)throw new Error(`reference fetch failed: ${o.status}`);const r=await o.blob(),s=new File([r],a,{type:r.type||"image/png"});return $f(s,{preserveTransparency:!1})}const Ur="source-right",ts="target-left";function Ql(e,a,o,r){return`${e}:${o??"auto"}->${a}:${r??"auto"}`}function WE(e,a){return e&&e.startsWith(`${a}-`)?e:null}function eC(e){switch(e){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 fb(e){const a=e.nodes.map(r=>{const s=r.data??{},u=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=u??d,g={clientId:r.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:DE(e.id,r.id)};return{id:r.id,type:"imageNode",position:{x:r.x,y:r.y},data:g}}),o=e.edges.map(r=>{const s=r.data??{};return{id:r.id,source:r.source,target:r.target,sourceHandle:typeof s.sourceHandle=="string"?s.sourceHandle:null,targetHandle:typeof s.targetHandle=="string"?s.targetHandle:null}});return{graphNodes:oo(a,o),graphEdges:o,graphVersion:e.graphVersion}}function tC(e,a){return`${e}x${a}`}function hs(e){return Math.min(8,Math.max(1,Math.trunc(e||1)))}const mb=new Set(["1024x1024","1536x1024","1024x1536","1360x1024","1024x1360","1824x1024","1024x1824","2048x2048","2048x1152","1152x2048","3840x2160","2160x3840","auto","custom"]);function nC(e){if(typeof e!="string")return{};if(mb.has(e))return{preset:e};const a=/^(\d+)x(\d+)$/.exec(e);if(!a)return{};const o=Number(a[1]),r=Number(a[2]);return!Number.isFinite(o)||!Number.isFinite(r)?{}:{preset:"custom",w:o,h:r}}function hb(e){return e==="low"||e==="medium"||e==="high"}function pb(e){return e==="png"||e==="jpeg"||e==="webp"}function gb(e){return e==="low"||e==="auto"}function aC(e){return e==="oauth"||e==="api"}function oC(e){return e==="auto"||e==="direct"}function rC(e){return typeof e=="string"&&mb.has(e)}function iC(e){return Array.isArray(e)&&e.every(a=>a&&typeof a.id=="string"&&typeof a.name=="string"&&typeof a.text=="string")}function yb(){try{const e=localStorage.getItem(ub);if(!e)return{};const a=JSON.parse(e),o={};return aC(a.provider)&&(o.provider=a.provider),hb(a.quality)&&(o.quality=a.quality),rC(a.sizePreset)&&(o.sizePreset=a.sizePreset),typeof a.customW=="number"&&Number.isFinite(a.customW)&&(o.customW=Yn(a.customW,1920)),typeof a.customH=="number"&&Number.isFinite(a.customH)&&(o.customH=Yn(a.customH,1088)),pb(a.format)&&(o.format=a.format),gb(a.moderation)&&(o.moderation=a.moderation),typeof a.count=="number"&&(o.count=hs(a.count)),typeof a.multimode=="boolean"&&(o.multimode=a.multimode),typeof a.multimodeMaxImages=="number"&&(o.multimodeMaxImages=hs(a.multimodeMaxImages)),oC(a.promptMode)&&(o.promptMode=a.promptMode),typeof a.prompt=="string"&&(o.prompt=a.prompt),iC(a.insertedPrompts)&&(o.insertedPrompts=a.insertedPrompts),o}catch{return{}}}function qt(e){try{const a=yb();localStorage.setItem(ub,JSON.stringify({...a,...e}))}catch{}}function sC(e,a){const o={},r=a.userPrompt||a.prompt;typeof r=="string"&&(o.prompt=r),hb(a.quality)&&(o.quality=a.quality),pb(a.format)&&(o.format=a.format),gb(a.moderation)&&(o.moderation=a.moderation),(a.promptMode==="auto"||a.promptMode==="direct")&&(o.promptMode=a.promptMode),a.model&&Q0(a.model)&&(o.imageModel=a.model);const s=nC(a.size);return s.preset&&(o.sizePreset=s.preset),s.preset==="custom"&&s.w&&s.h&&(o.customW=Yn(s.w,e.customW),o.customH=Yn(s.h,e.customH)),o}function Jl(e,a){if(e.sizePreset!=="custom")return null;const o=pm(e.customW,e.customH,e.customW,e.customH);return o.adjusted?{requestedW:o.requestedW,requestedH:o.requestedH,adjustedW:o.w,adjustedH:o.h,reasons:o.reasons,continuation:a}:null}const en=yb(),U=G0((e,a)=>({provider:en.provider??"oauth",quality:en.quality??"medium",sizePreset:en.sizePreset??"1024x1024",customW:en.customW??1920,customH:en.customH??1088,format:en.format??"png",moderation:en.moderation??"low",count:en.count??1,multimode:en.multimode??!1,multimodeMaxImages:en.multimodeMaxImages??4,multimodeSequences:{},multimodeAbortControllers:{},multimodePreviewFlightId:null,promptMode:en.promptMode??"auto",prompt:en.prompt??"",insertedPrompts:en.insertedPrompts??[],referenceImages:[],canvasReferenceImage:null,promptLibraryOpen:!1,promptLibrary:{prompts:[],folders:[]},promptLibraryLoading:!1,galleryFavorites:new Set,browserId:$0(),canvasOpen:!1,canvasZoom:1,canvasPanX:0,canvasPanY:0,canvasExportBackground:nv().mode,canvasExportMatteColor:nv().matteColor,addReferences:async o=>{const r=Cn-a().referenceImages.length,s=o.slice(0,Math.max(0,r)),u=s.filter(Yl),d=s.filter(y=>!Yl(y)),g=(await Promise.all(d.map(async y=>{try{return await $f(y,{preserveTransparency:Gy(y)})}catch(v){return console.warn("[addReferences] compress failed",v),null}}))).filter(y=>!!y);e(y=>({referenceImages:[...y.referenceImages,...g].slice(0,Cn)})),u.length>0&&a().showToast(be("toast.refHeicUnsupported"),!0),d.length-g.length>0&&a().showToast(be("toast.refTooLarge"),!0),o.length>r&&a().showToast(be("toast.refLimitExceeded"),!0)},addReferenceDataUrl:o=>{e(r=>r.referenceImages.length>=Cn?r:{referenceImages:[...r.referenceImages,o]})},metadataRestore:null,readDroppedImageMetadata:async(o,r=null)=>{if(!o.type.startsWith("image/"))return!1;let s="";try{s=await L_(o);const u=await h_({filename:o.name,dataUrl:s});return u.metadata?(e({metadataRestore:{filename:o.name,image:s,metadata:u.metadata,source:u.source??"xmp",targetNodeId:r}}),!0):!1}catch{return a().showToast(be("metadata.readFailed"),!0),!1}},applyMetadataRestore:()=>{const o=a().metadataRestore;if(!o)return;const r=sC(a(),o.metadata);if(r.imageModel&&rv(r.imageModel),o.targetNodeId&&typeof r.prompt=="string"){const s=r.prompt;e({...r,metadataRestore:null,graphNodes:a().graphNodes.map(u=>u.id===o.targetNodeId?{...u,data:{...u.data,prompt:s}}:u)}),a().scheduleGraphSave()}else e({...r,metadataRestore:null});a().showToast(be("metadata.applied"))},cancelMetadataRestore:()=>e({metadataRestore:null}),addMetadataRestoreAsReference:()=>{const o=a().metadataRestore;o&&(o.targetNodeId?a().addNodeReferenceDataUrl(o.targetNodeId,o.image):a().addReferenceDataUrl(o.image),e({metadataRestore:null}))},removeReference:o=>{e(r=>({referenceImages:r.referenceImages.filter((s,u)=>u!==o),canvasReferenceImage:r.referenceImages[o]===r.canvasReferenceImage?null:r.canvasReferenceImage}))},clearReferences:()=>e({referenceImages:[],canvasReferenceImage:null}),attachCanvasVersionReference:async o=>{let r;try{r=await Zl(o.image,o.filename||"canvas-version-reference.png")}catch{throw a().showToast(be("toast.currentImageLoadFailed"),!0),new Error("canvas_reference_attach_failed")}e(s=>{const d=(s.canvasReferenceImage?s.referenceImages.filter(m=>m!==s.canvasReferenceImage):s.referenceImages).filter(m=>m!==r);return{canvasReferenceImage:r,referenceImages:[r,...d].slice(0,Cn)}}),a().showToast(be("canvas.version.usingAsReference"))},useCurrentAsReference:async()=>{const o=a().currentImage;if(!o){a().showToast(be("toast.noCurrentImageForRef"),!0);return}if(a().referenceImages.length>=Cn){a().showToast(be("toast.refSlotFull"),!0);return}let r;try{r=await Zl(o.image,o.filename||"current-reference.png")}catch{a().showToast(be("toast.currentImageLoadFailed"),!0);return}e(s=>({referenceImages:[...s.referenceImages,r].slice(0,Cn)})),a().showToast(be("toast.addedCurrentAsRef"))},useImageAsReference:async o=>{if(a().referenceImages.length>=Cn){a().showToast(be("toast.refSlotFull"),!0);return}let r;try{r=await Zl(o.image,o.filename||"canvas-reference.png")}catch{a().showToast(be("toast.currentImageLoadFailed"),!0);return}e(s=>({referenceImages:[...s.referenceImages,r].slice(0,Cn)})),a().showToast(be("toast.addedCurrentAsRef"))},activeGenerations:xf().length,unseenGeneratedCount:0,inFlight:xf(),startInFlightPolling:()=>{if(typeof window>"u")return;const o=window;if(o.__ima2InflightTimer)return;const r=async()=>{if(a().inFlight.length===0){o.__ima2InflightTimer&&(clearInterval(o.__ima2InflightTimer),o.__ima2InflightTimer=void 0);return}try{const u=a().uiMode==="node"?"node":"classic",d=u==="node"?a().activeSessionId??void 0:void 0,{jobs:m,terminalJobs:g=[]}=await ff({kind:u,sessionId:d,includeTerminal:!0}),p=new Map(m.map(T=>[T.requestId,T])),y=new Map(g.map(T=>[T.requestId,T])),v=[];let b=!1;const S=Date.now(),_=5e3,E=[];for(const T of a().inFlight){if(!((T.kind??"classic")===u&&(u!=="node"||(T.sessionId??null)===(d??null)))){E.push(T);continue}const N=y.get(T.id);if(N){b=!0,N.status==="error"&&v.push(iv(N));continue}if(!p.has(T.id)&&S-T.startedAt>_){b=!0;continue}const w=p.get(T.id);if(w){const P=bf(w),I={...T,phase:P.phase,sessionId:P.sessionId,parentNodeId:P.parentNodeId,clientNodeId:P.clientNodeId,kind:P.kind};(I.phase!==T.phase||I.sessionId!==T.sessionId||I.parentNodeId!==T.parentNodeId||I.clientNodeId!==T.clientNodeId||I.kind!==T.kind)&&(b=!0),E.push(I)}else E.push(T)}b&&(Sa(E),e({inFlight:E,activeGenerations:E.length}));for(const T of v)es(T,a())}catch{}try{const u=a().history.reduce((b,S)=>S.createdAt&&S.createdAt>b?S.createdAt:b,0),{items:d}=await Ff({limit:Bo,since:u}),m=d.map(lv),g=a().history,p=m.filter(b=>!g.some(S=>S.filename===b.filename));p.length>0&&e(b=>{const S=b.currentImage??p[0];return!b.currentImage&&p[0]?.filename&&ro(p[0].filename),{history:[...p,...b.history].slice(0,Bo),currentImage:S}});const y=Date.now(),v=a().inFlight.filter(b=>y-b.startedAt<db);v.length!==a().inFlight.length&&(Sa(v),e({inFlight:v,activeGenerations:v.length}))}catch{}};o.__ima2InflightTimer=window.setInterval(r,1500)},reconcileInflight:async()=>{try{const o=a().uiMode==="node"?"node":"classic",r=o==="node"?a().activeSessionId??void 0:void 0,{jobs:s,terminalJobs:u=[]}=await ff({kind:o,sessionId:r,includeTerminal:!0}),d=new Map(s.map(S=>[S.requestId,S])),m=new Map(u.map(S=>[S.requestId,S])),g=[],p=Date.now(),v=a().inFlight.flatMap(S=>{const _=d.get(S.id);if(_){const k=bf(_);return[{...S,...k,prompt:S.prompt||k.prompt}]}if(!((S.kind??"classic")===o&&(o!=="node"||(S.sessionId??null)===(r??null))))return[S];const C=m.get(S.id);return C?(C.status==="error"&&g.push(iv(C)),[]):p-S.startedAt<1e4?[S]:[]}),b=new Set(v.map(S=>S.id));for(const S of s)b.has(S.requestId)||v.push(bf(S));Sa(v),e({inFlight:v,activeGenerations:v.length});for(const S of g)es(S,a());v.length>0&&a().startInFlightPolling()}catch{}},syncFromStorage:()=>{const o=xf(),r=sv(),s=ov();e(u=>({inFlight:o,activeGenerations:o.length,imageModel:s,currentImage:r&&u.currentImage?.filename!==r?u.history.find(d=>d.filename===r)??u.currentImage:u.currentImage})),o.length>0&&a().startInFlightPolling()},currentImage:null,applyMergedCanvasImage:o=>{e(r=>({history:o.filename?r.history.some(s=>s.filename===o.filename)?r.history.map(s=>s.filename===o.filename?o:s):[o,...r.history].slice(0,Bo):r.history}))},addGeneratedHistoryItem:async o=>{await Wl(o,e,a)},history:[],trashPending:null,toast:null,customSizeConfirm:null,errorCard:null,rightPanelOpen:FE(),toggleRightPanel:()=>e(o=>{const r=!o.rightPanelOpen;try{localStorage.setItem("ima2.rightPanelOpen",JSON.stringify(r))}catch{}return{rightPanelOpen:r}}),composeSheetOpen:!1,openComposeSheet:()=>e({composeSheetOpen:!0}),closeComposeSheet:()=>e({composeSheetOpen:!1}),galleryOpen:!1,openGallery:()=>e({galleryOpen:!0}),closeGallery:()=>e({galleryOpen:!1}),imageModel:ov(),reasoningEffort:YE(),webSearchEnabled:KE(),settingsOpen:!1,activeSettingsSection:"account",openSettings:(o="account")=>e({settingsOpen:!0,activeSettingsSection:o}),closeSettings:()=>e({settingsOpen:!1}),toggleSettings:()=>e(o=>({settingsOpen:!o.settingsOpen,activeSettingsSection:o.settingsOpen?o.activeSettingsSection:"account"})),setActiveSettingsSection:o=>e({activeSettingsSection:o}),uiMode:$E(),setUIMode:o=>{const r=o==="card-news"&&!lb?"classic":o;try{localStorage.setItem("ima2.uiMode",r)}catch{}e({uiMode:r})},theme:yf(),resolvedTheme:Kl(yf()),themeFamily:tv(),historyStripLayout:VE(),setTheme:o=>{try{localStorage.setItem("ima2:theme",o)}catch{}e({theme:o,resolvedTheme:Kl(o)})},setThemeFamily:o=>{try{localStorage.setItem("ima2:themeFamily",o)}catch{}e({themeFamily:o})},setHistoryStripLayout:o=>{try{localStorage.setItem("ima2.historyStripLayout",o)}catch{}e({historyStripLayout:o})},syncThemeFromStorage:()=>{const o=yf();e({theme:o,resolvedTheme:Kl(o)})},syncThemeFamilyFromStorage:()=>{e({themeFamily:tv()})},refreshResolvedTheme:()=>{e(o=>({resolvedTheme:Kl(o.theme)}))},locale:sE(),setLocale:o=>{lE(o),e({locale:o})},graphNodes:[],graphEdges:[],setGraphNodes:o=>{e({graphNodes:oo(o,a().graphEdges)}),a().scheduleGraphSave()},setGraphEdges:o=>{e({graphEdges:o,graphNodes:oo(a().graphNodes,o)}),a().scheduleGraphSave()},disconnectEdge:o=>{a().disconnectEdges([o])},disconnectEdges:o=>{const r=new Set(o);if(r.size===0)return;const s=a().graphEdges.filter(g=>r.has(g.id));if(s.length===0)return;const u=a().graphEdges.filter(g=>!r.has(g.id)),d=new Set(s.map(g=>g.target)),m=a().graphNodes.map(g=>{if(!d.has(g.id))return g;const p=u.find(v=>v.target===g.id),y=p?a().graphNodes.find(v=>v.id===p.source):null;return{...g,data:{...g.data,parentServerNodeId:y?.data.serverNodeId??null}}});e({graphNodes:oo(m,u),graphEdges:u}),a().scheduleGraphSave(),a().flushGraphSave("edge-disconnect"),a().showToast(be("edge.disconnected"))},nodeSelectionMode:!1,nodeBatchRunning:!1,nodeBatchStopping:!1,toggleNodeSelectionMode:()=>{const o=!a().nodeSelectionMode;e({nodeSelectionMode:o,...o?{}:{graphNodes:fs(a().graphNodes,[])}})},selectAllGraphNodes:()=>{e({graphNodes:fs(a().graphNodes,a().graphNodes.map(o=>o.id))})},selectNodeGraph:(o,r)=>{e({graphNodes:zE(a().graphNodes,a().graphEdges,o,r)})},clearNodeSelection:()=>{e({graphNodes:fs(a().graphNodes,[])})},cancelNodeBatch:()=>{a().nodeBatchRunning&&(e({nodeBatchStopping:!0}),a().showToast(be("nodeBatch.stopQueued")))},sessions:[],activeSessionId:null,activeSessionGraphVersion:null,sessionLoading:!1,async loadSessions(){try{const{sessions:o}=await v_();if(e({sessions:o}),!a().activeSessionId){const s=QE(),u=s?o.some(d=>d.id===s):!1;s&&u?await a().switchSession(s):await a().createAndSwitchSession(be("session.firstGraph"))}}catch(o){console.warn("[sessions] load failed:",o)}},async switchSession(o){e({sessionLoading:!0}),await a().flushGraphSave("switch-session");try{const{session:r}=await V0(o),{graphNodes:s,graphEdges:u,graphVersion:d}=fb(r);e({activeSessionId:o,activeSessionGraphVersion:d,graphNodes:s,graphEdges:u,sessionLoading:!1}),Sf(o),await a().reconcileGraphPending().catch(()=>{})}catch(r){console.warn("[sessions] switch failed:",r),e({sessionLoading:!1}),a().showToast(be("toast.sessionLoadFailed"),!0)}},async reconcileGraphPending(){const o=a().activeSessionId;if(!o)return;if(a().graphNodes.filter(s=>s.data?.pendingRequestId&&(s.data.status==="pending"||s.data.status==="reconciling")).length>0){let s=[];try{s=(await ff({kind:"node",sessionId:o})).jobs}catch{s=[]}const u=new Map(s.map(p=>[p.requestId,p.phase])),d=Date.now(),m=1e4,g=a().graphNodes.map(p=>{const y=p.data?.pendingRequestId;if(!y||p.data.status!=="pending"&&p.data.status!=="reconciling")return p;if(u.has(y)){const S=u.get(y)??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 b=!!p.data.imageUrl||!!p.data.serverNodeId;return{...p,data:{...p.data,pendingRequestId:null,pendingPhase:null,pendingStartedAt:null,partialImageUrl:null,status:b?"ready":"stale",error:b?void 0:be("session.assetAbortedError")}}});e({graphNodes:g})}await wb(a,e).catch(()=>{})},async createAndSwitchSession(o){o==null&&(o=be("session.untitled"));try{const{session:r}=await b_(o);e({sessions:[r,...a().sessions],activeSessionId:r.id,activeSessionGraphVersion:r.graphVersion,graphNodes:[],graphEdges:[]}),Sf(r.id)}catch(r){console.warn("[sessions] create failed:",r),a().showToast(be("toast.sessionCreateFailed"),!0)}},async renameCurrentSession(o){const r=a().activeSessionId;if(r)try{await x_(r,o),e({sessions:a().sessions.map(s=>s.id===r?{...s,title:o,updatedAt:Date.now()}:s)})}catch{a().showToast(be("toast.sessionRenameFailed"),!0)}},async deleteSessionById(o){try{await S_(o);const r=a().sessions.filter(s=>s.id!==o);e({sessions:r}),a().activeSessionId===o&&(e({activeSessionId:null,activeSessionGraphVersion:null,graphNodes:[],graphEdges:[]}),Sf(null),r.length>0?await a().switchSession(r[0].id):await a().createAndSwitchSession(be("session.firstGraph")))}catch{a().showToast(be("toast.sessionDeleteFailed"),!0)}},scheduleGraphSave(){Nb(a,e)},async flushGraphSave(o="manual"){await dC(a,e,o)},addRootNode:()=>{const o=Hr(),r={id:o,type:"imageNode",position:Jy(a().graphNodes),data:{clientId:o,serverNodeId:null,parentServerNodeId:null,prompt:"",imageUrl:null,status:"empty",pendingRequestId:null,pendingPhase:null}};return e({graphNodes:[...a().graphNodes,r]}),a().scheduleGraphSave(),o},addChildNode:o=>{const r=a().graphNodes.find(m=>m.id===o);if(!r)return o;const s=Hr(),u={id:s,type:"imageNode",position:Wy(r,a().graphNodes,a().graphEdges),data:{clientId:s,serverNodeId:null,parentServerNodeId:r.data.serverNodeId,prompt:"",imageUrl:null,status:"empty",pendingRequestId:null,pendingPhase:null}},d={id:Ql(o,s,Ur,ts),source:o,target:s,sourceHandle:Ur,targetHandle:ts};return e({graphNodes:[...a().graphNodes,u],graphEdges:[...a().graphEdges,d]}),a().scheduleGraphSave(),s},addSiblingNode:o=>{const r=a().graphNodes.find(y=>y.id===o);if(!r)return o;const s=a().graphEdges.find(y=>y.target===o);if(!s){const y=Hr(),v={id:y,type:"imageNode",position:Jy(a().graphNodes),data:{clientId:y,serverNodeId:null,parentServerNodeId:null,prompt:r.data.prompt,imageUrl:null,status:"empty",pendingRequestId:null,pendingPhase:null}};return e({graphNodes:[...a().graphNodes,v]}),a().scheduleGraphSave(),y}const u=s.source,d=a().graphNodes.find(y=>y.id===u);if(!d)return o;const m=Hr(),g={id:m,type:"imageNode",position:Wy(d,a().graphNodes,a().graphEdges),data:{clientId:m,serverNodeId:null,parentServerNodeId:r.data.parentServerNodeId,prompt:r.data.prompt,imageUrl:null,status:"empty",pendingRequestId:null,pendingPhase:null}},p={id:Ql(u,m,Ur,ts),source:u,target:m,sourceHandle:Ur,targetHandle:ts};return e({graphNodes:[...a().graphNodes,g],graphEdges:[...a().graphEdges,p]}),a().scheduleGraphSave(),m},updateNodePrompt:(o,r)=>{e({graphNodes:a().graphNodes.map(s=>s.id===o?{...s,data:{...s.data,prompt:r}}:s)}),a().scheduleGraphSave()},addNodeReferences:async(o,r)=>{const s=a().graphNodes.find(S=>S.id===o);if(!s)return;const u=s.data.referenceImages??[],d=Cn-u.length;if(d<=0){a().showToast(be("toast.refLimitExceeded"),!0);return}const m=r.slice(0,Math.max(0,d)),g=m.filter(Yl),p=m.filter(S=>!Yl(S)),v=(await Promise.all(p.map(async S=>{try{return await $f(S,{preserveTransparency:Gy(S)})}catch(_){return console.warn("[addNodeReferences] compress failed",_),null}}))).filter(S=>!!S);if(v.length>0){const S=a().activeSessionId;e({graphNodes:a().graphNodes.map(_=>{if(_.id!==o)return _;const E=[..._.data.referenceImages??[],...v].slice(0,Cn);return vc(S,o,E),{..._,data:{..._.data,referenceImages:E}}})}),a().scheduleGraphSave()}g.length>0&&a().showToast(be("toast.refHeicUnsupported"),!0),p.length-v.length>0&&a().showToast(be("toast.refTooLarge"),!0),r.length>d&&a().showToast(be("toast.refLimitExceeded"),!0)},addNodeReferenceDataUrl:(o,r)=>{a().graphNodes.find(u=>u.id===o)&&(e({graphNodes:a().graphNodes.map(u=>{if(u.id!==o)return u;const d=u.data.referenceImages??[];if(d.length>=Cn)return u;const m=[...d,r];return vc(a().activeSessionId,o,m),{...u,data:{...u.data,referenceImages:m}}})}),a().scheduleGraphSave())},removeNodeReference:(o,r)=>{e({graphNodes:a().graphNodes.map(s=>{if(s.id!==o)return s;const u=(s.data.referenceImages??[]).filter((d,m)=>m!==r);return vc(a().activeSessionId,o,u),{...s,data:{...s.data,referenceImages:u}}})}),a().scheduleGraphSave()},clearNodeReferences:o=>{gf(a().activeSessionId,o),e({graphNodes:a().graphNodes.map(r=>r.id===o?{...r,data:{...r.data,referenceImages:void 0}}:r)}),a().scheduleGraphSave()},duplicateBranchRoot:o=>{const r=a().graphNodes.find(d=>d.id===o);if(!r)return o;const s=Hr();a().graphNodes.filter(d=>!d.data.parentServerNodeId).length;const u={id:s,type:"imageNode",position:{x:r.position.x+420,y:r.position.y+40},data:{clientId:s,serverNodeId:null,parentServerNodeId:null,prompt:r.data.prompt,imageUrl:null,status:"empty",pendingRequestId:null,pendingPhase:null}};if(e({graphNodes:[...a().graphNodes,u]}),a().scheduleGraphSave(),r.data.imageUrl){const d=r.data.imageUrl;(async()=>{try{const m=await Zl(d,"node-reference.png");e({graphNodes:a().graphNodes.map(g=>g.id===s?{...g,data:{...g.data,referenceImages:[m]}}:g)})}catch{}})()}return s},async generateNode(o){const r=a().graphNodes.find(d=>d.id===o);if(!r)return;const{prompt:s}=r.data;if(!s.trim()){a().showToast(be("toast.promptRequired"),!0);return}const u=Jl(a(),{kind:"node",clientId:o});if(u){e({customSizeConfirm:u});return}await a().runGenerateNode(o)},async generateNodeInPlace(o){const r=a().graphNodes.find(u=>u.id===o);if(!r)return;if(!r.data.prompt.trim()){a().showToast(be("toast.promptRequired"),!0);return}const s=Jl(a(),{kind:"node-in-place",clientId:o});if(s){e({customSizeConfirm:s});return}await a().runGenerateNodeInPlace(o)},async generateNodeVariation(o,r){const s=a().graphNodes.find(d=>d.id===o);if(!s)return;if(!s.data.prompt.trim()){a().showToast(be("toast.promptRequired"),!0);return}if(!r){const d=Jl(a(),{kind:"node-variation",clientId:o});if(d){e({customSizeConfirm:d});return}}const u=a().addSiblingNode(o);await a().runGenerateNodeInPlace(u,{sizeOverride:r})},async runGenerateNode(o,r){const u=a().graphNodes.find(d=>d.id===o)?.data.status==="ready"?a().addSiblingNode(o):o;await a().runGenerateNodeInPlace(u,{sizeOverride:r})},async runGenerateNodeInPlace(o,r={}){const s=a().graphNodes,u=oo(s,a().graphEdges);u.some((w,P)=>w.data.parentServerNodeId!==s[P]?.data.parentServerNodeId)&&e({graphNodes:u});const d=u.find(w=>w.id===o);if(!d)return null;const{prompt:m,parentServerNodeId:g}=d.data;if(!m.trim())return a().showToast(be("toast.promptRequired"),!0),null;const p=d.data.referenceImages??[],y=a(),v=r.sizeOverride??y.getResolvedSize(),b=r.parentServerNodeIdOverride!==void 0?r.parentServerNodeIdOverride:g;if(a().graphEdges.find(w=>w.target===o)&&!b)return a().showToast(be("node.parentImageRequired"),!0),null;const _=y.activeSessionId,E=Date.now(),T=Math.random().toString(36).slice(2,6),C=`fn_${o}_${E}_${T}`,k=[...y.inFlight,{id:C,prompt:m,startedAt:E,kind:"node",sessionId:_,clientNodeId:o}];Sa(k),e({graphNodes:a().graphNodes.map(w=>w.id===o?{...w,data:{...w.data,status:"pending",pendingRequestId:C,recoveryRequestId:C,pendingPhase:"queued",pendingStartedAt:E,partialImageUrl:null,error:void 0,size:v}}:w),activeGenerations:y.activeGenerations+1,inFlight:k}),a().startInFlightPolling();let N=!0;try{const w=await W1({parentNodeId:b,prompt:m,quality:y.quality,size:v,format:y.format,moderation:y.moderation,model:y.imageModel,reasoningEffort:y.reasoningEffort,requestId:C,sessionId:_,clientNodeId:o,contextMode:"parent-plus-refs",searchMode:y.webSearchEnabled?"on":"off",webSearchEnabled:y.webSearchEnabled,...p.length?{references:p.map(wf)}:{}},{onPartial:P=>{a().activeSessionId===_&&e({graphNodes:a().graphNodes.map(I=>I.id===o?{...I,data:{...I.data,status:"pending",partialImageUrl:P.image,pendingPhase:"partial"}}:I)})},onPhase:P=>{a().activeSessionId===_&&P.phase&&e({graphNodes:a().graphNodes.map(I=>I.id===o?{...I,data:{...I.data,pendingPhase:P.phase??I.data.pendingPhase}}:I)})}});return a().activeSessionId===_&&(e({graphNodes:a().graphNodes.map(P=>{if(P.id!==o)return P;const I={...P.data};return delete I.partialImageUrl,{...P,data:{...I,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}}})}),N=!0,r.suppressToast||a().showToast(be("toast.nodeCreated",{id:w.nodeId.slice(0,8),elapsed:w.elapsed}))),w.nodeId}catch(w){const P=w instanceof Error?w.message:be("toast.nodeCreateFailed");return a().activeSessionId===_&&(e({graphNodes:a().graphNodes.map(I=>I.id===o?{...I,data:{...I.data,status:"error",pendingRequestId:null,pendingPhase:null,pendingStartedAt:null,partialImageUrl:null,error:P}}:I)}),N=!0,es(w,a())),null}finally{const w=a().inFlight.filter(P=>P.id!==C);Sa(w),e({activeGenerations:Math.max(0,a().activeGenerations-1),inFlight:w}),a().activeSessionId===_&&N&&(a().scheduleGraphSave(),a().flushGraphSave("node-complete"))}},async runNodeBatch(o){if(a().nodeBatchRunning)return;const r=rb(a().graphNodes);if(r.length===0){a().showToast(be("nodeBatch.noneSelected"),!0);return}const s=BE(a().graphNodes,a().graphEdges,r);if(s.length>0){a().showToast(be("nodeBatch.parentRequired",{count:s.length}),!0);return}const u=IE(a().graphNodes,a().graphEdges,r),d=new Set(r),m=u.filter(y=>{if(o==="regenerate-all")return!0;const v=a().graphNodes.find(b=>b.id===y);return v?!ib(v):!1});if(m.length===0){a().showToast(be("nodeBatch.nothingToRun"));return}e({nodeBatchRunning:!0,nodeBatchStopping:!1});const g=new Map;let p=0;try{for(const y of m){if(a().nodeBatchStopping)break;const v=a().graphEdges.find(T=>T.target===y),b=v?g.get(v.source)??a().graphNodes.find(T=>T.id===y)?.data.parentServerNodeId??null:null,S=await a().runGenerateNodeInPlace(y,{parentServerNodeIdOverride:b,suppressToast:!0});if(!S){a().showToast(be("nodeBatch.failed",{done:p,total:m.length}),!0);break}p+=1,g.set(y,S);const _=LE(a().graphEdges,y,d),E=new Set(sb(a().graphEdges,d));e({graphNodes:a().graphNodes.map(T=>E.has(T.id)?{...T,data:{...T.data,status:"stale",parentServerNodeId:_.includes(T.id)?S:T.data.parentServerNodeId,error:be("nodeBatch.staleBecauseParentChanged")}}:T)})}a().showToast(be("nodeBatch.finished",{done:p,total:m.length})),a().scheduleGraphSave()}finally{e({nodeBatchRunning:!1,nodeBatchStopping:!1})}},deleteNode:o=>{const s=a().graphNodes.find(m=>m.id===o)?.data?.pendingRequestId;s&&Iy(s),gf(a().activeSessionId,o);const u=a().graphNodes.filter(m=>m.id!==o),d=a().graphEdges.filter(m=>m.source!==o&&m.target!==o);e({graphNodes:oo(u,d),graphEdges:d}),a().scheduleGraphSave()},deleteNodes:o=>{const r=new Set(o);for(const d of r)gf(a().activeSessionId,d);for(const d of a().graphNodes)r.has(d.id)&&d.data?.pendingRequestId&&Iy(d.data.pendingRequestId);const s=a().graphNodes.filter(d=>!r.has(d.id)),u=a().graphEdges.filter(d=>!r.has(d.source)&&!r.has(d.target));e({graphNodes:oo(s,u),graphEdges:u}),a().scheduleGraphSave()},addChildNodeAt:(o,r,s=Ur)=>{const u=a().graphNodes.find(v=>v.id===o);if(!u)return o;const d=Hr(),m=WE(s,"source")??Ur,g=eC(m)??ts,p={id:d,type:"imageNode",position:r,data:{clientId:d,serverNodeId:null,parentServerNodeId:u.data.serverNodeId,prompt:"",imageUrl:null,status:"empty",pendingRequestId:null,pendingPhase:null}},y={id:Ql(o,d,m,g),source:o,target:d,sourceHandle:m,targetHandle:g};return e({graphNodes:[...a().graphNodes,p],graphEdges:[...a().graphEdges,y]}),a().scheduleGraphSave(),d},connectNodes:(o,r,s=null,u=null)=>{if(o===r||a().graphEdges.find(p=>p.source===o&&p.target===r))return;if(jE(a().graphEdges,o,r)){a().showToast(be("edge.parentConflict"),!0);return}if(!a().graphNodes.find(p=>p.id===o))return;const g=[...a().graphEdges,{id:Ql(o,r,s,u),source:o,target:r,sourceHandle:s,targetHandle:u}];e({graphNodes:oo(a().graphNodes,g),graphEdges:g}),a().scheduleGraphSave()},setProvider:o=>{qt({provider:o}),e({provider:o})},setQuality:o=>{qt({quality:o}),e({quality:o})},setSizePreset:o=>{qt({sizePreset:o}),e({sizePreset:o})},setCustomSize:(o,r)=>e(s=>{const u=Yn(o,s.customW),d=Yn(r,s.customH);return qt({customW:u,customH:d}),{customW:u,customH:d}}),setFormat:o=>{qt({format:o}),e({format:o})},setModeration:o=>{qt({moderation:o}),e({moderation:o})},setImageModel:o=>{rv(o),e({imageModel:o})},setReasoningEffort:o=>{XE(o),e({reasoningEffort:o})},setWebSearchEnabled:o=>{ZE(o),e({webSearchEnabled:o})},setCount:o=>{const r=hs(o);qt({count:r}),e({count:r})},setMultimode:o=>{if(o&&a().uiMode!=="classic")return;qt({multimode:o});const r=a();e({multimode:o,multimodeSequences:o?r.multimodeSequences:{},multimodePreviewFlightId:o?r.multimodePreviewFlightId:null})},setMultimodeMaxImages:o=>{const r=hs(o);qt({multimodeMaxImages:r}),e({multimodeMaxImages:r})},setPromptMode:o=>{qt({promptMode:o}),e({promptMode:o})},setPrompt:o=>{qt({prompt:o}),e({prompt:o})},insertPromptToComposer:o=>e(r=>{const u=r.insertedPrompts.some(d=>d.id===o.id)?r.insertedPrompts:[...r.insertedPrompts,o];return qt({insertedPrompts:u}),{insertedPrompts:u}}),removeInsertedPromptFromComposer:o=>e(r=>{const s=r.insertedPrompts.filter(u=>u.id!==o);return qt({insertedPrompts:s}),{insertedPrompts:s}}),clearInsertedPrompts:()=>{qt({insertedPrompts:[]}),e({insertedPrompts:[]})},selectHistory:o=>{ro(o.filename??null),e({currentImage:o,unseenGeneratedCount:0})},markGeneratedResultsSeen:()=>e({unseenGeneratedCount:0}),selectHistoryShortcutTarget:o=>{const r=GE(a().history,a().currentImage,o);r&&a().selectHistory(r)},trashHistoryItem:async o=>{if(!o.filename)return;const r=o.filename,s=a().currentImage,u=s?.filename===r,d=u?ev(a().history,r):s;try{const m=await u_(r);e(g=>({history:g.history.filter(p=>p.filename!==r),currentImage:d,trashPending:{filename:r,trashId:m.trashId,item:o,expiresAt:Date.now()+9500}})),u&&ro(d?.filename??null)}catch(m){console.error("[history] trash failed",m),a().showToast(be("gallery.deleteFailed"),!0)}},restorePendingTrash:async()=>{const o=a().trashPending;if(o)try{await f_(o.filename,o.trashId),a().addHistoryItem(o.item),e({trashPending:null})}catch(r){console.error("[history] restore failed",r),a().showToast(be("gallery.restoreFailed"),!0)}},clearPendingTrash:()=>e({trashPending:null}),permanentlyDeleteHistoryItemByClick:async o=>{if(!o.filename)return;const r=o.filename;if(!window.confirm(be("result.permanentDeleteConfirm",{filename:r})))return;const u=a().currentImage,d=u?.filename===r,m=d?ev(a().history,r):u;try{await d_(r),e(g=>({history:g.history.filter(p=>p.filename!==r),currentImage:m,trashPending:g.trashPending?.filename===r?null:g.trashPending})),d&&ro(m?.filename??null),a().showToast(be("gallery.permanentDeleted",{filename:r}))}catch(g){console.error("[history] permanent delete failed",g),a().showToast(be("gallery.deleteFailed"),!0)}},removeFromHistory:o=>{const r=a(),s=r.history.filter(d=>d.filename!==o),u=r.currentImage&&r.currentImage.filename===o?null:r.currentImage;e({history:s,currentImage:u}),u===null&&ro(null)},addHistoryItem:o=>{const r=a();if(r.history.some(d=>o.filename&&d.filename===o.filename))return;const u={...o,createdAt:o.createdAt||Date.now()};e({history:[u,...r.history].slice(0,Bo)})},importLocalImageToHistory:async o=>{if(!o.type||!/^image\/(png|jpeg|webp)$/.test(o.type))return a().showToast(be("toast.localImportInvalid"),!0),null;try{const r=await I_(o);return a().addHistoryItem(r),e({currentImage:r,unseenGeneratedCount:0}),r.filename&&ro(r.filename),a().showToast(be("toast.localImportSuccess")),r}catch{return a().showToast(be("toast.localImportFailed"),!0),null}},getResolvedSize:()=>{const{sizePreset:o,customW:r,customH:s}=a();return o==="custom"?`${r}x${s}`:o},async generate(){const o=a();if(!vf(o.prompt,o.insertedPrompts))return;const s=o.uiMode==="classic"&&o.multimode,u=Jl(o,{kind:s?"multimode":"classic"});if(u){e({customSizeConfirm:u});return}if(s){await a().generateMultimode();return}await a().runGenerate()},async generateMultimode(o){const r=a();if(r.uiMode!=="classic")return;const s=vf(r.prompt,r.insertedPrompts);if(!s)return;const u=o??r.getResolvedSize(),d=`mm_${Date.now()}_${Math.random().toString(36).slice(2,7)}`,m=new AbortController,g=Date.now(),p=hs(r.multimodeMaxImages),y=[...r.inFlight,{id:d,prompt:s,startedAt:g,kind:"multimode"}],v={sequenceId:d,requestId:d,requested:p,returned:0,images:[],partials:[],status:"pending"};Sa(y),e({activeGenerations:r.activeGenerations+1,inFlight:y,multimodeAbortControllers:{...r.multimodeAbortControllers,[d]:m},multimodeSequences:{...r.multimodeSequences,[d]:v},multimodePreviewFlightId:d}),a().startInFlightPolling();try{const b=await o_({prompt:s,quality:r.quality,size:u,format:r.format,moderation:r.moderation,provider:r.provider,maxImages:p,model:r.imageModel,reasoningEffort:r.reasoningEffort,webSearchEnabled:r.webSearchEnabled,requestId:d,mode:r.promptMode,...r.referenceImages.length?{references:r.referenceImages.map(wf)}:{}},{onPartial:E=>{e(T=>{const C=T.multimodeSequences[d];return C?{multimodeSequences:{...T.multimodeSequences,[d]:{...C,partials:[...C.partials,{image:E.image,index:E.index??null}].slice(-p)}}}:{}})},onImage:E=>{e(T=>{const C=T.multimodeSequences[d];return C?C.images.some(N=>N.filename&&N.filename===E.filename)?{}:{multimodeSequences:{...T.multimodeSequences,[d]:{...C,sequenceId:E.sequenceId??C.sequenceId,returned:C.images.length+1,images:[...C.images,E],status:"partial"}}}:{}})}},{signal:m.signal}),S=b.images.map(E=>({...E,prompt:s,elapsed:Number.parseFloat(b.elapsed),provider:b.provider,usage:b.usage,quality:b.quality??r.quality,size:b.size??u,model:b.model??r.imageModel}));for(const E of S)await Wl(E,e,a);e(E=>({multimodeSequences:{...E.multimodeSequences,[d]:{sequenceId:b.sequenceId,requestId:d,requested:b.requested,returned:b.returned,images:S,partials:[],status:b.status,elapsed:b.elapsed}}}));const _=b.status==="complete"?"multimode.complete":"multimode.partial";a().showToast(be(_,{returned:b.returned,requested:b.requested,elapsed:b.elapsed}))}catch(b){b.name==="AbortError"?e(S=>{const _=S.multimodeSequences[d];return _?{multimodeSequences:{...S.multimodeSequences,[d]:{..._,status:_.images.length>0?"partial":"empty"}}}:{}}):(e(S=>{const _=S.multimodeSequences[d];return _?{multimodeSequences:{...S.multimodeSequences,[d]:{..._,status:"error",error:b.message}}}:{}}),es(b,a()))}finally{const b=a().inFlight.filter(S=>S.id!==d);Sa(b),e(S=>{const _={...S.multimodeAbortControllers};delete _[d];let E=S.multimodePreviewFlightId;if(E===d){const T=S.multimodeSequences[d]?.status;if(!(T==="complete"||T==="partial")){const k=Object.keys(_);E=k.length>0?k[k.length-1]:null}}return{activeGenerations:Math.max(0,S.activeGenerations-1),inFlight:b,multimodeAbortControllers:_,multimodePreviewFlightId:E}})}},cancelMultimode:()=>{const o=a().multimodePreviewFlightId;o&&(a().multimodeAbortControllers[o]?.abort(),e(r=>{const s=r.multimodeSequences[o];return s?{multimodeSequences:{...r.multimodeSequences,[o]:{...s,status:s.images.length>0?"partial":"empty"}}}:{}}))},async runGenerate(o){const r=a(),s=vf(r.prompt,r.insertedPrompts);if(!s)return;const u=o??r.getResolvedSize(),d=`f_${Date.now()}_${Math.random().toString(36).slice(2,7)}`,m=Date.now(),g=[...r.inFlight,{id:d,prompt:s,startedAt:m}];Sa(g),e({activeGenerations:r.activeGenerations+1,inFlight:g}),a().startInFlightPolling();try{const p={prompt:s,quality:r.quality,size:u,format:r.format,moderation:r.moderation,provider:r.provider,n:r.count,model:r.imageModel,reasoningEffort:r.reasoningEffort,webSearchEnabled:r.webSearchEnabled,requestId:d,mode:r.promptMode,...r.referenceImages.length?{references:r.referenceImages.map(wf)}:{}},y=await n_(p);if(Gf(y)&&y.images.length>1){for(const v of y.images){const b={image:v.image,filename:v.filename,prompt:s,elapsed:y.elapsed,provider:y.provider,usage:y.usage,quality:y.quality??r.quality,size:y.size??u,model:y.model??r.imageModel};await Wl(b,e,a)}a().showToast(be("toast.generatedBatch",{count:y.images.length,elapsed:y.elapsed}))}else{let v;if(Gf(y)){const b=y.images[0];v={image:b.image,filename:b.filename,prompt:s,elapsed:y.elapsed,provider:y.provider,usage:y.usage,quality:y.quality??r.quality,size:y.size??u,model:y.model??r.imageModel}}else v={image:y.image,filename:y.filename,prompt:s,elapsed:y.elapsed,provider:y.provider,usage:y.usage,quality:y.quality??r.quality,size:y.size??u,model:y.model??r.imageModel};await Wl(v,e,a),a().showToast(be("toast.generatedSingle",{elapsed:y.elapsed}))}}catch(p){es(p,a())}finally{const p=a().inFlight.filter(y=>y.id!==d);Sa(p),e({activeGenerations:Math.max(0,a().activeGenerations-1),inFlight:p})}},async confirmCustomSizeAdjustment(){const o=a().customSizeConfirm;if(!o)return;const r=tC(o.adjustedW,o.adjustedH);if(e({customW:o.adjustedW,customH:o.adjustedH,customSizeConfirm:null}),o.continuation.kind==="classic"){await a().runGenerate(r);return}if(o.continuation.kind==="multimode"){await a().generateMultimode(r);return}if(o.continuation.kind==="node-in-place"){await a().runGenerateNodeInPlace(o.continuation.clientId,{sizeOverride:r});return}if(o.continuation.kind==="node-variation"){await a().generateNodeVariation(o.continuation.clientId,r);return}await a().runGenerateNode(o.continuation.clientId,r)},cancelCustomSizeAdjustment:()=>e({customSizeConfirm:null}),hydrateHistory(){(async()=>{try{const r=(await Ff({limit:Bo})).items.map(lv);if(r.length>0){const s=sv(),u=s?r.find(d=>d.filename===s):null;e({history:r,currentImage:u??r[0]}),u||ro(r[0]?.filename??null)}}catch(o){console.warn("[history] load failed:",o)}})()},showToast(o,r=!1){e({toast:{message:o,error:r,id:Date.now()+Math.random()}})},showErrorCard(o,r){e({errorCard:{code:o,fallbackMessage:r?.fallbackMessage,id:Date.now()+Math.random()}})},dismissErrorCard(){e({errorCard:null})},togglePromptLibrary(){e(o=>({promptLibraryOpen:!o.promptLibraryOpen}))},async loadPromptLibrary(){e({promptLibraryLoading:!0});try{const o=await __();e({promptLibrary:{prompts:o.prompts,folders:o.folders},promptLibraryLoading:!1})}catch(o){console.error("[PromptLibrary] load failed",o),e({promptLibraryLoading:!1})}},async savePromptToLibrary(o){try{await N_(o),await a().loadPromptLibrary(),a().showToast(be("promptLibrary.saved"))}catch(r){console.error("[PromptLibrary] save failed",r),a().showToast(be("promptLibrary.saveFailed"),!0)}},async deletePromptFromLibrary(o){try{await E_(o),await a().loadPromptLibrary()}catch(r){console.error("[PromptLibrary] delete failed",r)}},async togglePromptFavorite(o){try{await C_(o),await a().loadPromptLibrary()}catch(r){console.error("[PromptLibrary] favorite toggle failed",r)}},async importPromptsToLibrary(o){try{const r=[];for(const u of o){if(!/\.(txt|md|markdown)$/i.test(u.name))continue;const d=await u.text();if(!d.trim())continue;const m=u.name.replace(/\.(txt|md|markdown)$/i,"");r.push({name:m.trim()||be("promptLibrary.untitled"),text:d.trim(),tags:[]})}if(r.length===0){a().showToast(be("promptLibrary.importNoValidFiles"),!0);return}const s=await T_({prompts:r});await a().loadPromptLibrary(),a().showToast(be("promptLibrary.imported",{count:s.promptsImported}))}catch(r){console.error("[PromptLibrary] import failed",r),a().showToast(be("promptLibrary.importFailed"),!0)}},async toggleGalleryFavorite(o){try{const r=await s_(o);e(s=>{const u=new Set(s.galleryFavorites);return r.isFavorite?u.add(o):u.delete(o),{galleryFavorites:u}}),e(s=>({history:s.history.map(u=>u.filename===o?{...u,isFavorite:r.isFavorite}:u)}))}catch(r){console.error("[GalleryFavorite] toggle failed",r)}},openCanvas:()=>e({canvasOpen:!0,canvasZoom:1,canvasPanX:0,canvasPanY:0}),closeCanvas:()=>e({canvasOpen:!1}),setCanvasZoom:o=>e({canvasZoom:Math.max(.5,Math.min(3,o))}),resetCanvasZoom:()=>e({canvasZoom:1,canvasPanX:0,canvasPanY:0}),setCanvasPan:(o,r)=>{e({canvasPanX:Math.max(-4e3,Math.min(4e3,o)),canvasPanY:Math.max(-4e3,Math.min(4e3,r))})},resetCanvasPan:()=>e({canvasPanX:0,canvasPanY:0}),setCanvasExportBackground:o=>{e({canvasExportBackground:o}),av(o,a().canvasExportMatteColor)},setCanvasExportMatteColor:o=>{e({canvasExportMatteColor:o}),av(a().canvasExportBackground,o)}})),lC=800,cv="ima2.graphTabId";let $n=null,bc=!1,xc=!1,Ho=null,vb=0;function bb(){try{const e=sessionStorage.getItem(cv);if(e)return e;const a=`tab_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`;return sessionStorage.setItem(cv,a),a}catch{return"tab_unavailable"}}function xb(e){const a={...e};return delete a.referenceImages,delete a.partialImageUrl,e.status==="pending"||e.status==="reconciling"?{...a,status:"empty",pendingRequestId:null,recoveryRequestId:e.pendingRequestId??e.recoveryRequestId??null,pendingPhase:null,pendingStartedAt:null,error:void 0}:a}function Sb(e){return e.map(a=>({id:a.id,source:a.source,target:a.target,data:{sourceHandle:a.sourceHandle??null,targetHandle:a.targetHandle??null}}))}async function wb(e,a){const o=e().activeSessionId;if(!o||e().graphNodes.filter(m=>!m.data.imageUrl&&!m.data.serverNodeId).length===0)return;let s=[];try{s=(await Ff({sessionId:o,limit:Bo})).items}catch{return}let u=!1;const d=e().graphNodes.map(m=>{if(m.data.imageUrl||m.data.serverNodeId)return m;const g=m.data.pendingStartedAt??0,p=m.data.pendingRequestId??m.data.recoveryRequestId??null,v=(p?s.find(b=>(b.sessionId??null)===o&&(b.requestId??null)===p):null)??s.find(b=>(b.sessionId??null)===o&&(b.clientNodeId??null)===m.id&&(!g||(b.createdAt??0)>=g));return v?(u=!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});u&&(a({graphNodes:d}),Nb(e,a,"recovery"))}async function cC(e,a){const o=e().activeSessionId;if(!o)return;const{session:r}=await V0(o),{graphNodes:s,graphEdges:u,graphVersion:d}=fb(r);a({graphNodes:s,graphEdges:u,activeSessionGraphVersion:d}),e().showToast(be("toast.sessionReloadedElsewhere"),!0),await wb(e,a).catch(()=>{})}async function uC(e,a,o){const r=e().activeSessionId,s=e().activeSessionGraphVersion;if(!r||s==null)return"skipped";const{graphNodes:u,graphEdges:d}=e(),m=u.map(y=>({id:y.id,x:y.position.x,y:y.position.y,data:xb(y.data)})),g=Sb(d),p=`gs_${Date.now().toString(36)}_${++vb}`;try{const y=await w_(r,s,m,g,{saveId:p,saveReason:o,tabId:bb()});return e().activeSessionId!==r?"skipped":(kE(r,e().graphNodes.map(v=>v.id)),a({activeSessionGraphVersion:y.graphVersion}),"saved")}catch(y){return y.status===409?(await cC(e,a),"conflict"):(console.warn("[sessions] save failed:",y),"failed")}}async function _b(e,a,o){if(bc){xc=!0,Ho&&await Ho;return}bc=!0,Ho=(async()=>{let r=o;do{xc=!1;const s=await uC(e,a,r);if(s==="conflict"||s==="failed")break;r="queued"}while(xc)})().finally(()=>{bc=!1,Ho=null}),await Ho}function Nb(e,a,o="debounced"){const r=e();r.activeSessionId&&(r.sessionLoading||($n&&clearTimeout($n),$n=setTimeout(()=>{$n=null,_b(e,a,o)},lC)))}async function dC(e,a,o="manual"){let r=!1;if($n&&(clearTimeout($n),$n=null,r=!0),bc){xc=!0,Ho&&await Ho;return}r&&await _b(e,a,o)}function fC(e){const a=e();if(!a.activeSessionId||a.activeSessionGraphVersion==null)return;$n&&(clearTimeout($n),$n=null);const o=a.graphNodes.map(d=>({id:d.id,x:d.position.x,y:d.position.y,data:xb(d.data)})),r=Sb(a.graphEdges),s=`/api/sessions/${encodeURIComponent(a.activeSessionId)}/graph`,u=JSON.stringify({nodes:o,edges:r});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)}_${++vb}`,"X-Ima2-Graph-Save-Reason":"beforeunload","X-Ima2-Tab-Id":bb()},body:u,keepalive:!0})}catch{}}async function Wl(e,a,o){const r=await B_(e.image).catch(()=>e.image),s=e.filename?`/generated/${e.filename}`:e.image,u={...e,thumb:r,url:s,createdAt:e.createdAt||Date.now()},d=[u,...o().history].slice(0,Bo);ro(u.filename??null),a({history:d,currentImage:u,unseenGeneratedCount:o().unseenGeneratedCount+1})}function mC(){const{t:e}=Se(),a=U(r=>r.uiMode),o=U(r=>r.setUIMode);return c.jsxs("div",{className:"ui-mode-switch",role:"tablist","aria-label":e("uiMode.ariaLabel"),children:[c.jsx("button",{type:"button",role:"tab","aria-selected":a==="classic",className:`ui-mode-switch__tab${a==="classic"?" active":""}`,onClick:()=>o("classic"),children:e("uiMode.classic")}),c.jsx("button",{type:"button",role:"tab","aria-selected":a==="node",className:`ui-mode-switch__tab${a==="node"?" active":""}`,onClick:()=>o("node"),children:e("uiMode.node")}),null]})}function ym({text:e,mode:a,onClose:o}){const{t:r}=Se(),s=U(_=>_.savePromptToLibrary),[u,d]=M.useState(e.slice(0,30)),[m,g]=M.useState(e),[p,y]=M.useState(""),[v,b]=M.useState(!1),S=async()=>{m.trim()&&(b(!0),await s({name:u.trim()||m.slice(0,30),text:m.trim(),tags:p.split(",").map(_=>_.trim()).filter(Boolean),mode:a||void 0}),b(!1),o())};return c.jsxs("div",{className:"save-prompt-popover",onClick:_=>_.stopPropagation(),children:[c.jsxs("div",{className:"save-prompt-popover__header",children:[c.jsx("span",{children:r("promptLibrary.saveTitle")}),c.jsx("button",{className:"save-prompt-popover__close",onClick:o,"aria-label":r("common.close"),children:"×"})]}),c.jsxs("div",{className:"save-prompt-popover__body",children:[c.jsxs("label",{children:[r("promptLibrary.name"),c.jsx("input",{type:"text",value:u,onChange:_=>d(_.target.value),placeholder:m.slice(0,30)})]}),c.jsxs("label",{children:[r("promptLibrary.content"),c.jsx("textarea",{value:m,onChange:_=>g(_.target.value),placeholder:"Enter prompt...",rows:4,autoFocus:!0})]}),c.jsxs("label",{children:[r("promptLibrary.tags"),c.jsx("input",{type:"text",value:p,onChange:_=>y(_.target.value),placeholder:"cta, product, summer"})]})]}),c.jsx("div",{className:"save-prompt-popover__footer",children:c.jsx("button",{onClick:S,disabled:v||!m.trim(),className:"save-prompt-popover__save",children:r(v?"common.saving":"promptLibrary.save")})})]})}function Eb({variant:e="label"}){const{t:a}=Se(),o=U(u=>u.webSearchEnabled),r=U(u=>u.setWebSearchEnabled),s=a(o?"settings.webSearch.on":"settings.webSearch.off");return c.jsx("button",{type:"button",className:`web-search-toggle web-search-toggle--${e}${o?" is-active":""}`,onClick:()=>r(!o),"aria-pressed":o,"aria-label":s,title:s,children:e==="compact"?c.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:[c.jsx("circle",{cx:"12",cy:"12",r:"10"}),c.jsx("path",{d:"M2 12h20"}),c.jsx("path",{d:"M12 2a15.3 15.3 0 0 1 0 20"}),c.jsx("path",{d:"M12 2a15.3 15.3 0 0 0 0 20"})]}):c.jsx("span",{children:s})})}const Pr=5;function hC(){const e=U(D=>D.prompt),a=U(D=>D.setPrompt),o=U(D=>D.insertedPrompts),r=U(D=>D.removeInsertedPromptFromComposer),s=U(D=>D.generate),{t:u}=Se(),d=U(D=>D.referenceImages),m=U(D=>D.addReferences),g=U(D=>D.readDroppedImageMetadata),p=U(D=>D.removeReference),y=U(D=>D.useCurrentAsReference),v=U(D=>D.currentImage),b=M.useRef(null),S=M.useRef(null),[_,E]=M.useState(!1),[T,C]=M.useState(!1),k=U(D=>D.promptMode),N=U(D=>D.setPromptMode),w=U(D=>D.multimode),P=U(D=>D.multimodeMaxImages),I=k==="direct",O=d.length<Pr,q=w?d.length>0?u("multimode.promptPlaceholderWithRefs"):u("multimode.promptPlaceholder"):d.length>0?u("prompt.placeholderWithRefs"):u("prompt.placeholder"),X=async D=>{D.length!==0&&(D.length===1&&await g(D[0])||await m(D))},ue=D=>{D.preventDefault(),E(!1);const R=Array.from(D.dataTransfer.files).filter(L=>L.type.startsWith("image/"));R.length>0&&X(R)},Z=D=>{D.preventDefault(),_||E(!0)},ae=D=>{D.currentTarget.contains(D.relatedTarget)||E(!1)},ce=D=>{if(!D)return[];const R=[];for(const L of Array.from(D)){if(L.kind!=="file"||!L.type.startsWith("image/"))continue;const $=L.getAsFile();$&&R.push($)}return R},z=D=>{if(!O)return;const R=ce(D.clipboardData?.items??null);if(R.length===0)return;D.preventDefault();const L=Pr-d.length;m(R.slice(0,L))};return M.useLayoutEffect(()=>{const D=S.current;D&&(D.style.height="auto",D.style.height=`${D.scrollHeight}px`)},[e]),M.useEffect(()=>{const D=R=>{const L=R.target,$=L?.tagName;if($==="INPUT"||$==="TEXTAREA"||L?.isContentEditable)return;const Q=ce(R.clipboardData?.items??null);if(Q.length===0||d.length>=Pr)return;R.preventDefault();const re=Pr-d.length;m(Q.slice(0,re))};return window.addEventListener("paste",D),()=>window.removeEventListener("paste",D)},[d.length,m]),c.jsxs("div",{className:`composer${_?" composer--drag":""}${I&&!w?" composer--direct":""}${w?" composer--multimode":""}`,role:"group","aria-label":w?u("multimode.composerAriaLabel",{count:P}):u("prompt.label"),onDrop:ue,onDragOver:Z,onDragLeave:ae,onPaste:z,children:[c.jsxs("div",{className:"composer__header",children:[c.jsx("span",{className:"section-title composer__label",children:u("prompt.label")}),c.jsxs("div",{className:"composer__header-meta",children:[w&&c.jsx("span",{className:"composer__mode-badge",children:u("multimode.composerBadge",{count:P})}),I&&c.jsx("span",{className:"composer__direct-badge",children:u("prompt.directModeActive")}),d.length>0&&c.jsx("span",{className:"composer__count",children:u("prompt.refCount",{count:d.length,max:Pr})})]})]}),d.length>0&&c.jsx("div",{className:"composer__chips",children:d.map((D,R)=>c.jsxs("div",{className:"composer__chip",title:u("prompt.refChipTitle",{n:R+1}),children:[c.jsx("img",{src:D,alt:u("prompt.refChipAlt",{n:R+1})}),c.jsx("button",{type:"button",className:"composer__chip-remove",onClick:()=>p(R),"aria-label":u("prompt.refRemoveAria",{n:R+1}),children:"×"})]},R))}),o.length>0&&c.jsx("div",{className:"composer__prompt-chips",children:o.map(D=>c.jsxs("div",{className:"composer__prompt-chip",title:D.name,children:[c.jsx("span",{className:"composer__prompt-chip-plus","aria-hidden":"true",children:"+"}),c.jsx("span",{className:"composer__prompt-chip-title",children:D.name}),c.jsx("button",{type:"button",className:"composer__prompt-chip-remove",onClick:()=>r(D.id),"aria-label":u("promptLibrary.removeInserted",{name:D.name}),children:"×"})]},D.id))}),c.jsx("textarea",{ref:S,className:"prompt-area composer__textarea",value:e,placeholder:q,onChange:D=>a(D.target.value),onKeyDown:D=>{D.key==="Enter"&&(D.metaKey||D.ctrlKey)&&(D.preventDefault(),s())}}),c.jsxs("div",{className:"composer__toolbar",children:[c.jsxs("button",{type:"button",className:"composer__tool",onClick:()=>O&&b.current?.click(),disabled:!O,title:u("prompt.attachTitle"),"aria-label":u("prompt.attachTitle"),children:[c.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:c.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"})}),c.jsx("span",{children:u("prompt.attach")})]}),c.jsxs("button",{type:"button",className:"composer__tool",onClick:()=>{y()},disabled:!v||!O,title:u("prompt.useCurrentTitle"),children:[c.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:[c.jsx("polyline",{points:"23 4 23 10 17 10"}),c.jsx("path",{d:"M20.49 15a9 9 0 1 1-2.12-9.36L23 10"})]}),c.jsx("span",{children:u("prompt.useCurrent")})]}),c.jsxs("button",{type:"button",className:`composer__tool${I?" composer__tool--on":""}`,onClick:()=>N(I?"auto":"direct"),title:u("prompt.directModeTitle"),"aria-label":u("prompt.directModeTitle"),"aria-pressed":I,children:[c.jsx("span",{"aria-hidden":"true",style:{fontWeight:700,fontSize:11},children:"1:1"}),c.jsx("span",{children:u("prompt.directMode")})]}),c.jsx(Eb,{variant:"compact"}),c.jsxs("div",{style:{position:"relative"},children:[c.jsxs("button",{type:"button",className:"composer__tool",onClick:()=>C(D=>!D),disabled:!e.trim(),title:u("promptLibrary.saveTitle"),"aria-label":u("promptLibrary.saveTitle"),children:[c.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:c.jsx("path",{d:"M19 21l-7-5-7 5V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z"})}),c.jsx("span",{children:u("promptLibrary.save")})]}),T&&c.jsx(ym,{text:e,mode:k,onClose:()=>C(!1)})]}),c.jsx("span",{className:"composer__hint",children:u("prompt.hint")})]}),_&&c.jsx("div",{className:"composer__dropzone","aria-hidden":"true",children:u("prompt.dropHere",{max:Pr})}),c.jsx("input",{ref:b,type:"file",accept:"image/*",multiple:!0,hidden:!0,onChange:D=>{const R=Array.from(D.target.files??[]);R.length>0&&X(R),D.target.value=""}})]})}function pC(){const e=U(u=>u.activeGenerations),a=U(u=>u.generate),{t:o}=Se(),r=e>0,s=r?o("generate.buttonLoading",{n:e}):o("generate.button");return c.jsx("button",{type:"button",className:`generate-btn${r?" loading":""}`,onClick:()=>{a()},children:s})}function gC(e,a=28){const o=e.trim().replace(/\s+/g," ");return o.length>a?`${o.slice(0,a)}...`:o}function uv(){const e=U(r=>r.inFlight),{t:a}=Se(),o={queued:a("inflight.queued"),streaming:a("inflight.streaming"),decoding:a("inflight.decoding")};return e.length===0?null:c.jsx("ul",{className:"in-flight-list",children:e.map(r=>{const s=r.phase?o[r.phase]??r.phase:a("inflight.queued");return c.jsxs("li",{className:"in-flight-item","data-phase":r.phase??"queued",children:[c.jsx("span",{className:"in-flight-prompt",children:gC(r.prompt)}),c.jsx("span",{className:"in-flight-phase",children:s}),c.jsx("span",{className:"in-flight-spinner","aria-hidden":"true"})]},r.id)})})}function yC(){const{t:e}=Se(),a=U(b=>b.sessions),o=U(b=>b.activeSessionId),r=U(b=>b.switchSession),s=U(b=>b.createAndSwitchSession),u=U(b=>b.renameCurrentSession),d=U(b=>b.deleteSessionById),[m,g]=M.useState(!1),p=a.find(b=>b.id===o),y=()=>{const b=window.prompt(e("session.renamePrompt"),p?.title??e("session.newSession"));b&&b.trim()&&u(b.trim())},v=(b,S)=>{window.confirm(e("session.deleteConfirm",{title:S}))&&d(b)};return c.jsxs("div",{className:"session-picker",children:[c.jsxs("div",{className:"session-picker-row",children:[c.jsxs("button",{type:"button",className:"session-current",onClick:()=>g(b=>!b),title:e("session.switchTitle"),children:[c.jsx("span",{className:"session-title",children:p?.title??e("session.loading")}),c.jsx("span",{className:"session-caret",children:m?"▴":"▾"})]}),c.jsx("button",{type:"button",className:"session-btn",onClick:()=>{s(e("session.newSession"))},title:e("session.newSessionTitle"),children:"+"}),c.jsx("button",{type:"button",className:"session-btn",onClick:y,title:e("session.renameTitle"),disabled:!p,children:"✎"})]}),m&&c.jsxs("ul",{className:"session-list",children:[a.map(b=>c.jsxs("li",{className:b.id===o?"is-active":"",children:[c.jsxs("button",{type:"button",className:"session-item",onClick:()=>{g(!1),r(b.id)},children:[c.jsx("span",{className:"session-item-title",children:b.title}),c.jsx("span",{className:"session-item-count",children:b.nodeCount})]}),c.jsx("button",{type:"button",className:"session-del",onClick:()=>v(b.id,b.title),title:e("session.deleteTitle"),children:"×"})]},b.id)),a.length===0&&c.jsx("li",{className:"session-empty",children:e("session.empty")})]})]})}function vC(){const{t:e}=Se(),a=U(r=>r.settingsOpen),o=U(r=>r.toggleSettings);return c.jsx("button",{type:"button",className:`settings-button${a?" is-active":""}`,onClick:o,"aria-label":e("settings.openAria"),"aria-pressed":a,title:e("settings.openTitle"),children:c.jsxs("svg",{viewBox:"0 0 24 24","aria-hidden":"true",children:[c.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"}),c.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 vm({variant:e}){const{t:a}=Se(),[o,r]=M.useState(!1),s=M.useRef(null),u=U(y=>y.imageModel),d=U(y=>y.setImageModel),m=e==="settings"?"settings-image-model":"sidebar-image-model",g=Fr.find(y=>y.value===u)??Fr[0],p=y=>{d(y.target.value)};return M.useEffect(()=>{if(e!=="sidebar"||!o)return;const y=b=>{const S=b.target;S instanceof Node&&(s.current?.contains(S)||r(!1))},v=b=>{b.key==="Escape"&&r(!1)};return document.addEventListener("pointerdown",y),document.addEventListener("keydown",v),()=>{document.removeEventListener("pointerdown",y),document.removeEventListener("keydown",v)}},[o,e]),e==="sidebar"?c.jsxs("div",{ref:s,className:"image-model-select image-model-select--sidebar",children:[c.jsx("button",{id:m,type:"button",className:"image-model-select__trigger","aria-haspopup":"listbox","aria-expanded":o,"aria-label":a("sidebar.imageModelAria"),onClick:()=>r(y=>!y),children:g.shortLabel}),o?c.jsx("div",{className:"image-model-select__menu",role:"listbox","aria-label":a("sidebar.imageModelAria"),children:Fr.map(y=>c.jsxs("button",{type:"button",className:`image-model-select__item${y.value===u?" is-active":""}`,role:"option","aria-selected":y.value===u,onClick:()=>{d(y.value),r(!1)},children:[c.jsx("span",{children:y.shortLabel}),c.jsx("small",{children:a(y.fullLabelKey)})]},y.value))}):null]}):c.jsx("div",{className:"image-model-select image-model-select--settings",children:c.jsxs("select",{id:m,value:u,onChange:p,children:[Fr.map(y=>c.jsx("option",{value:y.value,children:a(y.fullLabelKey)},y.value)),NE.map(y=>c.jsx("option",{value:y.value,disabled:!0,children:a(y.fullLabelKey)},y.value))]})})}function Cb(e){return{...e,textFields:Array.isArray(e.textFields)?e.textFields:[]}}function ps(e){return{...e,cards:Array.isArray(e.cards)?e.cards.map(Cb):[]}}async function Jo(e,a){const o=await fetch(e,a),r=await o.json().catch(()=>({}));if(!o.ok){const s=r,u=typeof s.error=="string"?s.error:s.error?.message||`Request failed: ${o.status}`,d=new Error(u);throw typeof s.error!="string"&&(d.code=s.error?.code),d}return r}function bC(){return Jo("/api/cardnews/image-templates")}function xC(){return Jo("/api/cardnews/role-templates")}async function SC(e){const a=await Jo("/api/cardnews/draft",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});return{...a,plan:ps(a.plan)}}function wC(e){return Jo("/api/cardnews/jobs",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}function _C(e){return Jo(`/api/cardnews/jobs/${encodeURIComponent(e)}`)}async function NC(e){const o=(await Jo(`/api/cardnews/cards/${encodeURIComponent(e.card.id)}/regenerate`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...e,cards:[e.card]})})).cards.find(r=>r.id===e.card.id);if(!o)throw new Error("Regenerated card not found");return{card:o}}function dv(e){return Jo(`/api/cardnews/sets/${encodeURIComponent(e)}`).then(a=>({...a,plan:ps(a.plan)}))}function EC(e){return`/api/cardnews/sets/${encodeURIComponent(e)}/manifest?download=1`}function CC(e){return e[0]?.id||"academy-lesson-square"}function TC(e){return e.find(a=>a.id==="mid-5")?.id||e[0]?.id||"mid-5"}function MC(e){return Math.round(e/16)*16}function Mc(e){return Math.min(hm,Math.max(1024,MC(e)))}function fv(e){return e.outputSizePreset!=="custom"?e.outputSizePreset:`${Mc(e.customW)}x${Mc(e.customH)}`}function Tb(e){if(e){if(typeof e=="string")return e;if(typeof e=="object"&&"message"in e){const a=e.message;return typeof a=="string"?a:void 0}return String(e)}}function jC(e,a){const o=a.status||"generated";return{...e,...a,textFields:Array.isArray(a.textFields)?a.textFields:e.textFields,status:o,error:o==="error"?Tb(a.error)||be("cardNews.error"):void 0}}function AC(e){return new Promise(a=>setTimeout(a,e))}function _f(e,a){const o=new Map(a.cards.map(r=>[r.id,r]));return{...e,cards:e.cards.map(r=>{const s=o.get(r.id);return s?{...r,...s,textFields:Array.isArray(s.textFields)?s.textFields:r.textFields,status:s.status||r.status,error:Tb(s.error)}:r})}}const Me=G0((e,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)){e({loading:!0,error:null});try{const[o,r]=await Promise.all([bC(),xC()]);e({templates:o.templates,roleTemplates:r.templates,imageTemplateId:CC(o.templates),roleTemplateId:TC(r.templates),loading:!1})}catch(o){e({loading:!1,error:o instanceof Error?o.message:String(o)})}}},setBriefField(o,r){e({[o]:r})},setImageTemplate(o){e({imageTemplateId:o})},setRoleTemplate(o){e({roleTemplateId:o})},setOutputSizePreset(o){e({outputSizePreset:o})},setCustomSize(o,r){e({customW:Mc(o),customH:Mc(r)})},async draft(){const o=a();e({loading:!0,error:null,draftError:null});try{const{plan:r,planner:s}=await SC({topic:o.topic,audience:o.audience,goal:o.goal,contentBrief:o.contentBrief,imageTemplateId:o.imageTemplateId,roleTemplateId:o.roleTemplateId,size:fv(o)});e({activePlan:ps(r),selectedCardId:r.cards[0]?.id||null,selectedTextFieldId:null,plannerMeta:s||null,loading:!1})}catch(r){const s=r instanceof Error?r.message:String(r);e({loading:!1,draftError:s,error:s})}},updateCard(o,r){e(s=>({activePlan:s.activePlan?{...s.activePlan,cards:s.activePlan.cards.map(u=>u.id===o?{...u,...r}:u)}:null}))},updateTextField(o,r,s){e(u=>({activePlan:u.activePlan?{...u.activePlan,cards:u.activePlan.cards.map(d=>d.id!==o||d.locked?d:{...d,textFields:d.textFields.map(m=>m.id===r?{...m,...s,source:s.source||"user"}:m)})}:null}))},addTextField(o,r){e(s=>({activePlan:s.activePlan?{...s.activePlan,cards:s.activePlan.cards.map(u=>u.id===o&&!u.locked?{...u,textFields:[...u.textFields,{...r,source:"user"}]}:u)}:null,selectedTextFieldId:r.id}))},removeTextField(o,r){e(s=>({activePlan:s.activePlan?{...s.activePlan,cards:s.activePlan.cards.map(u=>u.id===o&&!u.locked?{...u,textFields:u.textFields.filter(d=>d.id!==r)}:u)}:null,selectedTextFieldId:s.selectedTextFieldId===r?null:s.selectedTextFieldId}))},selectCard(o){e({selectedCardId:o,selectedTextFieldId:null})},selectTextField(o){e({selectedTextFieldId:o})},getGenerationSummary(){const o=a().activePlan?.cards||[];return{total:o.length,done:o.filter(r=>r.status==="generated").length,queued:o.filter(r=>r.status==="queued").length,generating:o.filter(r=>r.status==="generating").length,errors:o.filter(r=>r.status==="error").length,skipped:o.filter(r=>r.locked||r.status==="skipped").length}},async generateSet(){const o=a();if(!o.activePlan)return;const r=U.getState();e({generating:!0,error:null,activePlan:{...o.activePlan,cards:o.activePlan.cards.map(s=>s.locked?{...s,status:"skipped"}:{...s,status:"queued",error:void 0})}});try{const s=a().activePlan||o.activePlan;let d=await wC({...s,size:fv(o),quality:r.quality,moderation:r.moderation,model:r.imageModel,sessionId:r.activeSessionId});for(e(g=>({activePlan:g.activePlan?_f(g.activePlan,d):g.activePlan}));["queued","running"].includes(d.status);)await AC(900),d=await _C(d.jobId),e(g=>({activePlan:g.activePlan?_f(g.activePlan,d):g.activePlan}));const m=await dv(d.setId).catch(()=>null);e(g=>({generating:!1,activePlan:m?.plan?ps(m.plan):g.activePlan?_f(g.activePlan,d):g.activePlan,selectedTextFieldId:null})),r.showToast(be("cardNews.generated",{count:d.generated}))}catch(s){const u=s instanceof Error?s.message:String(s);e(d=>({generating:!1,error:u,activePlan:d.activePlan?{...d.activePlan,cards:d.activePlan.cards.map(m=>m.status==="queued"||m.status==="generating"?{...m,status:"error",error:u}:m)}:d.activePlan}))}},async retryCard(o){const s=a().activePlan,u=s?.cards.find(m=>m.id===o);if(!s||!u||u.locked||!["draft","error"].includes(u.status))return;const d=U.getState();e({error:null,activePlan:{...s,cards:s.cards.map(m=>m.id===o?{...m,status:"generating",error:void 0}:m)}});try{const{card:m}=await NC({setId:s.setId,card:u,quality:d.quality,moderation:d.moderation,model:d.imageModel});e(g=>({activePlan:g.activePlan?{...g.activePlan,cards:g.activePlan.cards.map(p=>p.id===o?jC(p,Cb(m)):p)}:g.activePlan}))}catch(m){const g=m instanceof Error?m.message:String(m);e(p=>({error:g,activePlan:p.activePlan?{...p.activePlan,cards:p.activePlan.cards.map(y=>y.id===o?{...y,status:"error",error:g}:y)}:p.activePlan}))}},async loadSet(o){e({loading:!0,error:null,selectedTextFieldId:null});try{const{plan:r}=await dv(o);e({activePlan:ps(r),selectedCardId:r.cards[0]?.id||null,selectedTextFieldId:null,loading:!1})}catch(r){e({loading:!1,error:r instanceof Error?r.message:String(r)})}}}));function RC(){const{t:e}=Se(),a=Me(w=>w.hydrate),o=Me(w=>w.topic),r=Me(w=>w.audience),s=Me(w=>w.goal),u=Me(w=>w.contentBrief),d=Me(w=>w.outputSizePreset),m=Me(w=>w.customW),g=Me(w=>w.customH),p=Me(w=>w.setBriefField),y=Me(w=>w.setOutputSizePreset),v=Me(w=>w.setCustomSize),b=Me(w=>w.draft),S=Me(w=>w.loading),_=Me(w=>w.generating),E=Me(w=>w.draftError),T=Me(w=>w.generateSet),C=Me(w=>w.activePlan),k=C?.cards||[],N={total:k.length,done:k.filter(w=>w.status==="generated").length};return M.useEffect(()=>{a()},[a]),c.jsxs("section",{className:"card-news-composer","aria-label":e("cardNews.composer"),children:[c.jsx("div",{className:"card-news-composer__head",children:c.jsxs("div",{children:[c.jsx("div",{className:"section-title",children:e("cardNews.composer")}),c.jsx("p",{children:e("cardNews.composerHint")})]})}),c.jsxs("label",{className:"card-news-field",children:[c.jsx("span",{children:e("cardNews.topic")}),c.jsx("input",{value:o,placeholder:e("cardNews.topicPlaceholder"),onChange:w=>p("topic",w.target.value)})]}),c.jsxs("label",{className:"card-news-field",children:[c.jsx("span",{children:e("cardNews.audience")}),c.jsx("input",{value:r,placeholder:e("cardNews.audiencePlaceholder"),onChange:w=>p("audience",w.target.value)})]}),c.jsxs("label",{className:"card-news-field",children:[c.jsx("span",{children:e("cardNews.goal")}),c.jsx("input",{value:s,placeholder:e("cardNews.goalPlaceholder"),onChange:w=>p("goal",w.target.value)})]}),c.jsxs("label",{className:"card-news-field",children:[c.jsx("span",{children:e("cardNews.brief")}),c.jsx("textarea",{value:u,placeholder:e("cardNews.briefPlaceholder"),onChange:w=>p("contentBrief",w.target.value)})]}),c.jsxs("div",{className:"card-news-field",children:[c.jsx("span",{children:e("cardNews.outputSize")}),c.jsx("div",{className:"card-news-size-row",role:"group","aria-label":e("cardNews.outputSize"),children:["1024x1024","2048x2048","custom"].map(w=>c.jsx("button",{type:"button",className:`option-btn${d===w?" active":""}`,onClick:()=>y(w),children:w==="custom"?e("cardNews.customSize"):w==="1024x1024"?"1024²":"2048²"},w))}),d==="custom"?c.jsxs("div",{className:"card-news-custom-size",children:[c.jsx("input",{className:"custom-size-input",type:"text",inputMode:"numeric",value:m,onChange:w=>v(Number.parseInt(w.target.value,10)||m,g),"aria-label":e("size.width")}),c.jsx("span",{children:"×"}),c.jsx("input",{className:"custom-size-input",type:"text",inputMode:"numeric",value:g,onChange:w=>v(m,Number.parseInt(w.target.value,10)||g),"aria-label":e("size.height")})]}):null]}),c.jsxs("button",{type:"button",className:"generate-btn card-news-draft-btn",onClick:()=>{b()},disabled:S||!o.trim(),children:[S?c.jsx("span",{className:"card-news-spinner","aria-hidden":"true"}):null,e(S?"cardNews.drafting":"cardNews.draft")]}),E?c.jsx("div",{className:"card-news-error",role:"alert",children:E}):null,S?c.jsxs("div",{className:"card-news-inline-status",role:"status",children:[c.jsx("span",{className:"card-news-spinner","aria-hidden":"true"}),c.jsx("span",{children:e("cardNews.drafting")})]}):null,c.jsxs("button",{type:"button",className:"composer__tool card-news-generate-btn",onClick:()=>{T()},disabled:!C||_||C.cards.every(w=>w.locked),children:[_?c.jsx("span",{className:"card-news-spinner","aria-hidden":"true"}):null,_?e("cardNews.progress.generating",{done:N.done,total:N.total}):e("cardNews.batchGenerate")]})]})}function Mb(){const{t:e}=Se(),a=U(u=>u.uiMode),o=U(u=>u.referenceImages),r=U(u=>u.clearReferences),s=a==="node"&&js?"node":"classic";return c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"logo",children:[c.jsx("div",{className:"logo-mark","aria-hidden":"true"}),c.jsxs("div",{className:"logo-copy",children:[c.jsx("div",{className:"logo-title",children:"ima2-gen"}),c.jsx("div",{className:"logo-subtitle",children:"gpt-image-2 studio"})]}),c.jsxs("div",{className:"logo-actions",children:[c.jsx(kC,{}),c.jsx(vm,{variant:"sidebar"}),c.jsx(vC,{})]})]}),c.jsx(mC,{}),s==="classic"?c.jsxs(c.Fragment,{children:[c.jsx(hC,{}),c.jsx(pC,{}),c.jsx(uv,{})]}):s==="card-news"?c.jsx(c.Fragment,{children:c.jsx(RC,{})}):c.jsxs(c.Fragment,{children:[c.jsx(yC,{}),o.length>0?c.jsxs("div",{className:"node-mode-ref-warning",role:"status",children:[c.jsx("strong",{children:e("node.classicRefsParkedTitle")}),c.jsx("span",{children:e("node.classicRefsParkedBody")}),c.jsx("button",{type:"button",onClick:r,children:e("node.clearParkedRefs")})]}):null,c.jsx("div",{className:"sidebar__node-hint",children:e("sidebar.nodeModeHint")}),c.jsx(uv,{})]})]})}function DC(){return c.jsx("aside",{className:"sidebar",children:c.jsx("div",{className:"sidebar__scroll",children:c.jsx(Mb,{})})})}function kC(){const{t:e}=Se(),a=U(d=>d.togglePromptLibrary),o=U(d=>d.promptLibraryOpen),r=U(d=>d.rightPanelOpen),s=U(d=>d.toggleRightPanel),u=()=>{!o&&!r&&s(),a()};return c.jsx("button",{type:"button",className:"settings-button",onClick:u,title:e("promptLibrary.title"),"aria-label":e("promptLibrary.title"),children:c.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:c.jsx("path",{d:"M19 21l-7-5-7 5V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z"})})})}function OC({imageOverride:e=null}){const{t:a}=Se(),o=U(N=>N.currentImage),r=U(N=>N.showToast),s=U(N=>N.setPrompt),u=U(N=>N.useImageAsReference),d=U(N=>N.trashHistoryItem),m=U(N=>N.permanentlyDeleteHistoryItemByClick),g=U(N=>N.canvasOpen),p=U(N=>N.openCanvas),[y,v]=M.useState(!1),b=e??o;if(!b)return null;const S=!!b.filename,_=()=>{const N=document.createElement("a");N.href=b.image,N.download=b.filename||"generated.png",N.click()},E=async()=>{try{const w=await(await fetch(b.image)).blob();await navigator.clipboard.write([new ClipboardItem({[w.type]:w})]),r(a("toast.imageCopied"))}catch{r(a("toast.copyFailed"),!0)}},T=()=>{b.prompt&&(navigator.clipboard.writeText(b.prompt),r(a("toast.promptCopied")))},C=async()=>{const N=!!b.prompt;N&&s(b.prompt);try{await u(b)}catch{}const w=document.querySelector('textarea[name="prompt"], textarea#prompt, .sidebar textarea');w&&(w.focus(),w.setSelectionRange(w.value.length,w.value.length)),r(a(N?"toast.forkStarted":"toast.forkStartedNoPrompt"))},k=async()=>{if(!(!b.filename||y)){v(!0);try{const N=await m_({filename:b.filename});r(a("toast.comfyExported",{filename:N.uploadedFilename}))}catch(N){const w=N instanceof Error?N.code:void 0;r(a(w==="COMFY_URL_NOT_LOCAL"?"toast.comfyExportInvalidUrl":w==="COMFY_IMAGE_INVALID"?"toast.comfyExportInvalidImage":w==="COMFY_IMAGE_NOT_FOUND"?"toast.comfyExportImageNotFound":"toast.comfyExportFailed"),!0)}finally{v(!1)}}};return c.jsxs("div",{className:"result-actions",children:[c.jsx("button",{type:"button",className:"action-btn",onClick:_,children:a("result.download")}),c.jsx("button",{type:"button",className:"action-btn",onClick:E,children:a("result.copyImage")}),c.jsx("button",{type:"button",className:"action-btn",onClick:T,children:a("result.copyPrompt")}),c.jsx("button",{type:"button",className:"action-btn action-btn--primary",onClick:C,title:a("result.continueHereTitle"),children:a("result.continueHere")}),!g&&c.jsx("button",{type:"button",className:"action-btn",onClick:p,title:a("canvas.open"),"aria-label":a("canvas.openAria"),children:c.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"2","aria-hidden":"true",children:c.jsx("path",{d:"M4 4h8v8M12 4l-8 8"})})}),b.filename&&c.jsxs(c.Fragment,{children:[c.jsx("button",{type:"button",className:"action-btn action-btn--danger",onClick:()=>{d(b)},title:a("result.deleteTitle"),children:a("result.delete")}),c.jsxs("details",{className:"result-actions__more",children:[c.jsx("summary",{className:"action-btn",children:a("result.more")}),c.jsxs("div",{className:"result-actions__menu",children:[S&&c.jsx("button",{type:"button",className:"result-actions__menu-item",onClick:()=>{k()},title:a("result.sendToComfyUITitle"),disabled:y,children:a("result.sendToComfyUI")}),c.jsx("button",{type:"button",className:"result-actions__menu-item result-actions__danger-item",onClick:()=>{m(b)},children:a("result.permanentDelete")})]})]})]})]})}function zC(){const e=U(y=>{const v=y.multimodePreviewFlightId;return v?y.multimodeSequences[v]??null:null}),a=U(y=>y.cancelMultimode),o=U(y=>y.activeGenerations),r=U(y=>y.selectHistory),s=U(y=>y.currentImage),u=U(y=>y.openCanvas),{t:d}=Se(),m=y=>{r(y)},g=y=>{r(y),u()};if(!e)return null;const p=Array.from({length:e.requested},(y,v)=>{const b=e.images[v],S=e.partials.find(_=>_.index===v||_.index==null);return{index:v,image:b,partial:S}});return c.jsxs("section",{className:"multimode-sequence","aria-live":"polite",children:[c.jsxs("div",{className:"multimode-sequence__header",children:[c.jsxs("div",{children:[c.jsx("div",{className:"multimode-sequence__title",children:d("multimode.sequenceTitle")}),c.jsx("div",{className:"multimode-sequence__meta",children:d("multimode.sequenceProgress",{returned:e.returned,requested:e.requested})})]}),o>0?c.jsx("button",{type:"button",className:"secondary-btn",onClick:a,children:d("multimode.cancel")}):null]}),c.jsx("div",{className:`multimode-sequence__grid count-${Math.min(e.requested,4)}`,children:p.map(({index:y,image:v,partial:b})=>{const S=v&&s?.filename&&v.filename===s.filename;return c.jsxs("article",{className:`multimode-sequence__slot${v?" done":""}${S?" active":""}`,onClick:v?()=>m(v):void 0,onDoubleClick:v?()=>g(v):void 0,role:v?"button":void 0,tabIndex:v?0:void 0,onKeyDown:v?_=>{(_.key==="Enter"||_.key===" ")&&(_.preventDefault(),m(v))}:void 0,children:[c.jsx("div",{className:"multimode-sequence__badge",children:d("multimode.stageLabel",{index:y+1})}),v?c.jsx("img",{src:v.url??v.image,alt:d("canvas.resultAlt")}):b?c.jsx("img",{src:b.image,alt:d("multimode.partialAlt")}):c.jsx("div",{className:"multimode-sequence__empty",children:e.status==="error"?d("multimode.error"):e.status==="empty"?d("multimode.empty"):d("multimode.generating")})]},v?.filename??y)})})]})}function _a(e){return e instanceof HTMLElement?e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement||e instanceof HTMLButtonElement||e.isContentEditable:!1}const ec=2,jc=1e-6;function IC({paths:e,points:a,radius:o,makeId:r=()=>crypto.randomUUID()}){if(e.length===0||a.length===0||o<=0)return{paths:e,changed:!1};let s=!1;const u=[];for(const d of e){const m=LC(d,a,o,r);(m.length!==1||m[0]!==d)&&(s=!0),u.push(...m)}return{paths:u,changed:s}}function LC(e,a,o,r=()=>crypto.randomUUID()){if(e.points.length<ec||a.length===0||o<=0)return[e];const s=[];let u=cs(e.points[0],a,o)?[]:[e.points[0]];for(let m=1;m<e.points.length;m+=1){const g=e.points[m-1],p=e.points[m],y=cs(p,a,o),v=BC(g,p,a,o);if(v){u.length===0&&!cs(g,a,o)&&(u=[g]),u.length>0&&v.leftT>jc&&hv(u,gs(g,p,v.leftT)),u.length>=ec&&s.push(u),u=[],v.rightT<1-jc&&!y&&(u=[gs(g,p,v.rightT),p]);continue}if(y){u.length>=ec&&s.push(u),u=[];continue}u.length===0&&!cs(g,a,o)&&(u=[g]),hv(u,p)}if(u.length>=ec&&s.push(u),s.length===0)return[];if(s.length===1&&s[0].length===e.points.length)return[e];const d=e.tool==="arrow"?s.length-1:-1;return s.map((m,g)=>({...e,id:g===0?e.id:r(),tool:e.tool==="arrow"&&g!==d?"pen":e.tool,points:m}))}function cs(e,a,o){if(a.length===1)return Go(e,a[0])<=o;for(let r=1;r<a.length;r+=1)if(HC(e,a[r-1],a[r])<=o)return!0;return!1}function Go(e,a){const o=e.x-a.x,r=e.y-a.y;return Math.sqrt(o*o+r*r)}function BC(e,a,o,r){const s=Go(e,a);if(s<=jc)return cs(e,o,r)?{leftT:0,rightT:1}:null;let u=null,d=Number.POSITIVE_INFINITY;for(const g of o){const p=mv(g,e,a),y=gs(e,a,p),v=Go(g,y);v<d&&(d=v,u=p)}for(let g=1;g<o.length;g+=1){const p=[0,.25,.5,.75,1];for(const y of p){const v=gs(o[g-1],o[g],y),b=mv(v,e,a),S=gs(e,a,b),_=Go(v,S);_<d&&(d=_,u=b)}}if(u===null||d>r)return null;const m=Math.max(r/s,.01);return{leftT:Math.max(0,u-m),rightT:Math.min(1,u+m)}}function mv(e,a,o){const r=o.x-a.x,s=o.y-a.y,u=e.x-a.x,d=e.y-a.y,m=r*r+s*s;return m===0?0:Math.max(0,Math.min(1,(u*r+d*s)/m))}function gs(e,a,o){return{x:e.x+(a.x-e.x)*o,y:e.y+(a.y-e.y)*o}}function hv(e,a){const o=e.at(-1);(!o||Go(o,a)>jc)&&e.push(a)}function HC(e,a,o){const r=o.x-a.x,s=o.y-a.y,u=e.x-a.x,d=e.y-a.y,m=r*r+s*s;if(m===0)return Go(e,a);const g=Math.max(0,Math.min(1,(u*r+d*s)/m));return Go(e,{x:a.x+g*r,y:a.y+g*s})}function bm(e,a){return`${e}:${a}`}function xm(e){const a=e.indexOf(":");if(a<=0)return null;const o=e.slice(0,a),r=e.slice(a+1);return!r||o!=="path"&&o!=="box"&&o!=="memo"?null:{kind:o,id:r}}function jb(e){return bm("path",e.id)}function Ab(e){return bm("box",e.id)}function Rb(e){return bm("memo",e.id)}function io(e,a,o){const r=xm(e);return r?.kind===a&&r.id===o}const Db="ima2.canvas.annotationStyle.v1",kb=["#ef4444","#f97316","#eab308","#22c55e","#38bdf8","#6366f1","#a855f7","#111827","#ffffff"],Ob=[2,3,5,8],ns={color:"#ef4444",strokeWidth:3};function UC(){if(typeof window>"u")return ns;try{const e=window.localStorage.getItem(Db);if(!e)return ns;const a=JSON.parse(e),o=typeof a.color=="string"&&kb.includes(a.color)?a.color:ns.color,r=typeof a.strokeWidth=="number"&&Ob.includes(a.strokeWidth)?a.strokeWidth:ns.strokeWidth;return{color:o,strokeWidth:r}}catch{return ns}}function PC(e){if(!(typeof window>"u"))try{window.localStorage.setItem(Db,JSON.stringify(e))}catch{}}const pv=UC(),Vf={activeTool:"select",toolColor:pv.color,strokeWidth:pv.strokeWidth,paths:[],boxes:[],memos:[],activeMemoId:null,activePath:null,activeBox:null,eraserMode:"object",activeEraserStroke:null,eraserBaseline:null,selectionBox:null,selectedIds:[],past:[],future:[],memoBaseline:null,moveBaseline:null,isDirty:!1};function Io(e){return{paths:e.paths,boxes:e.boxes,memos:e.memos}}function zo(e){return{...e,past:[...e.past.slice(-49),Io(e)],future:[]}}function Nf(e,a){return{...e,past:[...e.past.slice(-49),a],future:[]}}function qC(e,a){return JSON.stringify(e)===JSON.stringify(a)}function gv(e,a){return{...e,...a,activeMemoId:null,activePath:null,activeBox:null,selectionBox:null,selectedIds:[],isDirty:!0}}function GC(e,a,o){const{start:r,current:s}=e,u=Math.min(r.x,s.x),d=Math.min(r.y,s.y),m=Math.abs(s.x-r.x),g=Math.abs(s.y-r.y);return m<.01||g<.01?null:{id:crypto.randomUUID(),x:u,y:d,width:m,height:g,color:a,strokeWidth:o}}function FC(e,a){return{...e,x:Math.min(1-e.width,Math.max(0,e.x+a.x)),y:Math.min(1-e.height,Math.max(0,e.y+a.y))}}function Ef(e,a){return{x:Math.min(1,Math.max(0,e.x+a.x)),y:Math.min(1,Math.max(0,e.y+a.y))}}function $C(e,a){switch(a.type){case"SET_TOOL":return{...e,activeTool:a.tool};case"SET_ERASER_MODE":return{...e,eraserMode:a.mode};case"SET_STYLE":return{...e,toolColor:a.style.color,strokeWidth:a.style.strokeWidth};case"START_PATH":return{...e,isDirty:!0,activePath:{id:crypto.randomUUID(),tool:e.activeTool,points:[a.point],color:e.toolColor,strokeWidth:e.strokeWidth}};case"ADD_POINT":return e.activePath?{...e,activePath:{...e.activePath,points:[...e.activePath.points,a.point]}}:e;case"END_PATH":return!e.activePath||e.activePath.points.length<2?{...e,activePath:null}:{...zo(e),isDirty:!0,paths:[...e.paths,e.activePath],activePath:null};case"START_BOX":return{...e,isDirty:!0,activeBox:{start:a.point,current:a.point}};case"UPDATE_BOX":return e.activeBox?{...e,activeBox:{...e.activeBox,current:a.point}}:e;case"END_BOX":{if(!e.activeBox)return e;const o=GC(e.activeBox,e.toolColor,e.strokeWidth);return o?{...zo(e),isDirty:!0,boxes:[...e.boxes,o],activeBox:null}:{...e,activeBox:null}}case"CREATE_MEMO":{const o=crypto.randomUUID(),r={id:o,x:a.point.x,y:a.point.y,text:"",color:e.toolColor};return{...zo(e),isDirty:!0,memos:[...e.memos,r],activeMemoId:o}}case"UPDATE_MEMO":return{...e,isDirty:!0,memos:e.memos.map(o=>o.id===a.id?{...o,text:a.text}:o)};case"COMMIT_MEMO_EDIT":return e.memoBaseline?qC(e.memoBaseline,Io(e))?{...e,memoBaseline:null,activeMemoId:null}:{...Nf(e,e.memoBaseline),memoBaseline:null,activeMemoId:null,isDirty:!0}:{...e,activeMemoId:null};case"DELETE_MEMO":return{...zo(e),isDirty:!0,memos:e.memos.filter(o=>o.id!==a.id),activeMemoId:e.activeMemoId===a.id?null:e.activeMemoId,selectedIds:e.selectedIds.filter(o=>!io(o,"memo",a.id))};case"FOCUS_MEMO":return{...e,activeMemoId:a.id,memoBaseline:a.id&&e.activeMemoId!==a.id&&!e.memoBaseline?Io(e):e.memoBaseline};case"CLEAR":return{...zo(e),isDirty:!0,paths:[],boxes:[],memos:[],activeMemoId:null,activePath:null,activeBox:null,selectionBox:null,selectedIds:[]};case"LOAD":return{...Vf,activeTool:e.activeTool,eraserMode:e.eraserMode,toolColor:e.toolColor,strokeWidth:e.strokeWidth,...a.payload};case"MARK_SAVED":return{...e,isDirty:!1};case"RESET_LOCAL":return{...Vf,activeTool:e.activeTool,eraserMode:e.eraserMode,toolColor:e.toolColor,strokeWidth:e.strokeWidth};case"UNDO":{const o=e.past.at(-1);return o?{...gv(e,o),past:e.past.slice(0,-1),future:[Io(e),...e.future]}:e}case"REDO":{const o=e.future[0];return o?{...gv(e,o),past:[...e.past.slice(-49),Io(e)],future:e.future.slice(1)}:e}case"SELECT_ONE":return{...e,selectedIds:[a.id],selectionBox:null};case"TOGGLE_SELECTED":return{...e,selectedIds:e.selectedIds.includes(a.id)?e.selectedIds.filter(o=>o!==a.id):[...e.selectedIds,a.id],selectionBox:null};case"CLEAR_SELECTION":return{...e,selectedIds:[],selectionBox:null};case"DELETE_SELECTED":return e.selectedIds.length===0?e:{...zo(e),isDirty:!0,paths:e.paths.filter(o=>!e.selectedIds.some(r=>io(r,"path",o.id))),boxes:e.boxes.filter(o=>!e.selectedIds.some(r=>io(r,"box",o.id))),memos:e.memos.filter(o=>!e.selectedIds.some(r=>io(r,"memo",o.id))),selectedIds:[]};case"MOVE_SELECTED":return e.selectedIds.length===0?e:{...e,isDirty:!0,paths:e.paths.map(o=>e.selectedIds.some(r=>io(r,"path",o.id))?{...o,points:o.points.map(r=>Ef(r,a.delta))}:o),boxes:e.boxes.map(o=>e.selectedIds.some(r=>io(r,"box",o.id))?FC(o,a.delta):o),memos:e.memos.map(o=>e.selectedIds.some(r=>io(r,"memo",o.id))?{...o,x:Ef(o,a.delta).x,y:Ef(o,a.delta).y}:o)};case"START_SELECTED_MOVE":return{...e,moveBaseline:Io(e)};case"COMMIT_SELECTED_MOVE":return e.moveBaseline?{...Nf(e,e.moveBaseline),moveBaseline:null,isDirty:!0}:e;case"START_SELECTION_BOX":return{...e,selectionBox:{start:a.point,current:a.point},selectedIds:[]};case"UPDATE_SELECTION_BOX":return e.selectionBox?{...e,selectionBox:{...e.selectionBox,current:a.point}}:e;case"END_SELECTION_BOX":return{...e,selectionBox:null,selectedIds:a.ids};case"ERASE_OBJECT":{const o=xm(a.id);return!o||!(o.kind==="path"?e.paths.some(s=>s.id===o.id):o.kind==="box"?e.boxes.some(s=>s.id===o.id):e.memos.some(s=>s.id===o.id))?e:{...zo(e),isDirty:!0,paths:o.kind==="path"?e.paths.filter(s=>s.id!==o.id):e.paths,boxes:o.kind==="box"?e.boxes.filter(s=>s.id!==o.id):e.boxes,memos:o.kind==="memo"?e.memos.filter(s=>s.id!==o.id):e.memos,selectedIds:e.selectedIds.filter(s=>s!==a.id)}}case"START_ERASER_STROKE":return{...e,activeEraserStroke:{points:[a.point],radius:.018},eraserBaseline:Io(e)};case"UPDATE_ERASER_STROKE":return e.activeEraserStroke?{...e,activeEraserStroke:{...e.activeEraserStroke,points:[...e.activeEraserStroke.points,a.point]}}:e;case"END_ERASER_STROKE":{if(!e.activeEraserStroke||!e.eraserBaseline)return{...e,activeEraserStroke:null,eraserBaseline:null};const o=IC({paths:e.paths,points:e.activeEraserStroke.points,radius:e.activeEraserStroke.radius});return o.changed?{...Nf(e,e.eraserBaseline),paths:o.paths,activeEraserStroke:null,eraserBaseline:null,selectedIds:[],isDirty:!0}:{...e,activeEraserStroke:null,eraserBaseline:null}}default:return e}}function VC(){const[e,a]=M.useReducer($C,Vf),o=M.useMemo(()=>e.paths.length>0||e.boxes.length>0||e.memos.length>0,[e.paths.length,e.boxes.length,e.memos.length]),r=e.past.length>0,s=e.future.length>0,u=M.useCallback(A=>a({type:"SET_TOOL",tool:A}),[]),d=M.useCallback(A=>{PC(A),a({type:"SET_STYLE",style:A})},[]),m=M.useCallback(()=>a({type:"CLEAR"}),[]),g=M.useCallback(A=>a({type:"LOAD",payload:A}),[]),p=M.useCallback(()=>a({type:"MARK_SAVED"}),[]),y=M.useCallback(()=>a({type:"RESET_LOCAL"}),[]),v=M.useCallback(()=>a({type:"UNDO"}),[]),b=M.useCallback(()=>a({type:"REDO"}),[]),S=M.useCallback(()=>a({type:"COMMIT_MEMO_EDIT"}),[]),_=M.useCallback(()=>a({type:"START_SELECTED_MOVE"}),[]),E=M.useCallback(()=>a({type:"COMMIT_SELECTED_MOVE"}),[]),T=M.useCallback(A=>{e.activeTool==="pen"||e.activeTool==="arrow"?a({type:"START_PATH",point:A}):e.activeTool==="box"&&a({type:"START_BOX",point:A})},[e.activeTool]),C=M.useCallback(A=>{e.activePath?a({type:"ADD_POINT",point:A}):e.activeBox&&a({type:"UPDATE_BOX",point:A})},[e.activePath,e.activeBox]),k=M.useCallback(()=>{e.activePath?a({type:"END_PATH"}):e.activeBox&&a({type:"END_BOX"})},[e.activePath,e.activeBox]),N=M.useCallback(A=>a({type:"CREATE_MEMO",point:A}),[]),w=M.useCallback((A,B)=>a({type:"UPDATE_MEMO",id:A,text:B}),[]),P=M.useCallback(A=>a({type:"DELETE_MEMO",id:A}),[]),I=M.useCallback(A=>a({type:"FOCUS_MEMO",id:A}),[]),O=M.useCallback(A=>a({type:"SET_ERASER_MODE",mode:A}),[]),q=M.useCallback(A=>a({type:"SELECT_ONE",id:A}),[]),X=M.useCallback(A=>a({type:"TOGGLE_SELECTED",id:A}),[]),ue=M.useCallback(()=>a({type:"CLEAR_SELECTION"}),[]),Z=M.useCallback(()=>a({type:"DELETE_SELECTED"}),[]),ae=M.useCallback(A=>a({type:"MOVE_SELECTED",delta:A}),[]),ce=M.useCallback(A=>a({type:"START_SELECTION_BOX",point:A}),[]),z=M.useCallback(A=>a({type:"UPDATE_SELECTION_BOX",point:A}),[]),D=M.useCallback(A=>a({type:"END_SELECTION_BOX",ids:A}),[]),R=M.useCallback(A=>a({type:"ERASE_OBJECT",id:A}),[]),L=M.useCallback(A=>a({type:"START_ERASER_STROKE",point:A}),[]),$=M.useCallback(A=>a({type:"UPDATE_ERASER_STROKE",point:A}),[]),Q=M.useCallback(()=>a({type:"END_ERASER_STROKE"}),[]),re=M.useCallback(()=>({paths:e.paths,boxes:e.boxes,memos:e.memos}),[e.paths,e.boxes,e.memos]);return{...e,canUndo:r,canRedo:s,hasAnnotations:o,setTool:u,setStyle:d,setEraserMode:O,startDrawing:T,moveDrawing:C,endDrawing:k,createMemo:N,updateMemo:w,commitMemoEdit:S,deleteMemo:P,focusMemo:I,clear:m,load:g,toPayload:re,markSaved:p,resetLocal:y,undo:v,redo:b,selectOne:q,toggleSelected:X,clearSelection:ue,deleteSelected:Z,moveSelected:ae,startSelectedMove:_,commitSelectedMove:E,startSelectionBox:ce,updateSelectionBox:z,endSelectionBox:D,eraseObjectAtPoint:R,startEraserStroke:L,updateEraserStroke:$,endEraserStroke:Q}}function yv(e){return Math.min(1,Math.max(0,e))}function vv(e,a){const o=a.getBoundingClientRect();return{x:yv((e.clientX-o.left)/o.width),y:yv((e.clientY-o.top)/o.height)}}function tc(e,a){return{x:e.x*a.width,y:e.y*a.height}}function Yf(e,a,o){if(a.points.length<2)return;const r=tc(a.points[0],o);e.save(),e.beginPath(),e.strokeStyle=a.color,e.lineWidth=a.strokeWidth,e.lineCap="round",e.lineJoin="round",e.moveTo(r.x,r.y);for(const s of a.points.slice(1)){const u=tc(s,o);e.lineTo(u.x,u.y)}if(e.stroke(),a.tool==="arrow"){const s=tc(a.points[a.points.length-1],o),u=tc(a.points[a.points.length-2],o);KC(e,u,s,a.color,a.strokeWidth)}e.restore()}function Xf(e,a,o,r){const s="start"in a?{x:Math.min(a.start.x,a.current.x),y:Math.min(a.start.y,a.current.y),width:Math.abs(a.current.x-a.start.x),height:Math.abs(a.current.y-a.start.y),color:"#64c8ff",strokeWidth:2}:a;e.save(),e.strokeStyle=s.color,e.lineWidth=r==="active"?Math.max(2,s.strokeWidth):s.strokeWidth,r==="active"&&e.setLineDash([8,6]),e.strokeRect(s.x*o.width,s.y*o.height,s.width*o.width,s.height*o.height),e.restore()}function YC(e,a,o){const r=a.x*o.width,s=a.y*o.height,u=Math.min(260,Math.max(150,o.width*.22)),d=12,m=18;e.save(),e.font="14px sans-serif";const g=ZC(e,a.text.trim()||" ",u-d*2),p=Math.max(52,d*2+g.length*m);e.fillStyle="rgba(255, 246, 179, 0.96)",e.strokeStyle="rgba(44, 37, 12, 0.28)",e.lineWidth=1,QC(e,r,s,u,p,8),e.fill(),e.stroke(),e.fillStyle="#2f2a13",e.textBaseline="top",g.forEach((y,v)=>{e.fillText(y,r+d,s+d+v*m)}),e.restore()}function XC(e,a){const o=xm(e);if(!o)return null;if(o.kind==="box")return a.boxes.find(p=>p.id===o.id)??null;const r=o.kind==="memo"?a.memos.find(p=>p.id===o.id):null;if(r)return{id:r.id,x:r.x,y:r.y,width:.18,height:.12,color:r.color,strokeWidth:1};if(o.kind!=="path")return null;const s=a.paths.find(p=>p.id===o.id);if(!s||s.points.length===0)return null;const u=s.points.map(p=>p.x),d=s.points.map(p=>p.y),m=Math.min(...u),g=Math.min(...d);return{id:s.id,x:m,y:g,width:Math.max(.01,Math.max(...u)-m),height:Math.max(.01,Math.max(...d)-g),color:s.color,strokeWidth:s.strokeWidth}}function bv(e,a,o){const r="start"in a?{x:Math.min(a.start.x,a.current.x),y:Math.min(a.start.y,a.current.y),width:Math.abs(a.current.x-a.start.x),height:Math.abs(a.current.y-a.start.y)}:a;e.save(),e.strokeStyle="#64c8ff",e.lineWidth=2,e.setLineDash([5,5]),e.strokeRect(r.x*o.width,r.y*o.height,r.width*o.width,r.height*o.height),e.restore()}function KC(e,a,o,r,s){const u=Math.atan2(o.y-a.y,o.x-a.x),d=Math.max(12,s*4),m=Math.PI/7;e.save(),e.fillStyle=r,e.beginPath(),e.moveTo(o.x,o.y),e.lineTo(o.x-d*Math.cos(u-m),o.y-d*Math.sin(u-m)),e.lineTo(o.x-d*Math.cos(u+m),o.y-d*Math.sin(u+m)),e.closePath(),e.fill(),e.restore()}function ZC(e,a,o){const r=a.split(/\s+/).filter(Boolean);if(r.length===0)return[""];const s=[];let u="";for(const d of r){const m=u?`${u} ${d}`:d;if(e.measureText(m).width<=o||u===""){u=m;continue}s.push(u),u=d}return u&&s.push(u),s}function QC(e,a,o,r,s,u){const d=Math.min(u,r/2,s/2);e.beginPath(),e.moveTo(a+d,o),e.lineTo(a+r-d,o),e.quadraticCurveTo(a+r,o,a+r,o+d),e.lineTo(a+r,o+s-d),e.quadraticCurveTo(a+r,o+s,a+r-d,o+s),e.lineTo(a+d,o+s),e.quadraticCurveTo(a,o+s,a,o+s-d),e.lineTo(a,o+d),e.quadraticCurveTo(a,o,a+d,o),e.closePath()}function JC(e,a){return new Promise((o,r)=>{e.toBlob(s=>{if(s){o(s);return}r(new Error("canvas_blob_unavailable"))},a)})}async function zb(e){const a=document.createElement("canvas");a.width=e.imageElement.naturalWidth,a.height=e.imageElement.naturalHeight;const o=a.getContext("2d");if(!o)throw new Error("canvas_context_unavailable");e.background?.mode==="matte"&&(o.fillStyle=e.background.color,o.fillRect(0,0,a.width,a.height)),o.drawImage(e.imageElement,0,0,a.width,a.height);const r={width:a.width,height:a.height};for(const u of e.paths)Yf(o,u,r);for(const u of e.boxes)Xf(o,u,r,"committed");for(const u of e.memos)YC(o,u,r);return{blob:await JC(a,"image/png"),dataUrl:a.toDataURL("image/png")}}function nc(e){return Math.min(1,Math.max(0,e))}function WC(e){return new Promise((a,o)=>{e.toBlob(r=>{r?a(r):o(new Error("mask_blob_unavailable"))},"image/png")})}async function e2(e){const a=e.imageElement.naturalWidth,o=e.imageElement.naturalHeight;if(!a||!o)throw new Error("mask_source_size_unavailable");if(e.boxes.length===0)throw new Error("mask_boxes_required");const r=document.createElement("canvas");r.width=a,r.height=o;const s=r.getContext("2d");if(!s)throw new Error("mask_context_unavailable");s.fillStyle="rgba(0, 0, 0, 1)",s.fillRect(0,0,a,o),s.globalCompositeOperation="destination-out";for(const u of e.boxes){const d=nc(u.x)*a,m=nc(u.y)*o,g=nc(u.width)*a,p=nc(u.height)*o;g>0&&p>0&&s.fillRect(d,m,g,p)}return WC(r)}async function t2(e){const a=e.naturalWidth,o=e.naturalHeight;if(!a||!o)throw new Error("image_source_size_unavailable");const r=document.createElement("canvas");r.width=a,r.height=o;const s=r.getContext("2d");if(!s)throw new Error("image_context_unavailable");return s.drawImage(e,0,0,a,o),r.toDataURL("image/png")}function Sm(e){return new Promise((a,o)=>{const r=new FileReader;r.onerror=()=>o(new Error("mask_blob_read_failed")),r.onload=()=>a(String(r.result)),r.readAsDataURL(e)})}const n2=.18,a2=.12;function o2(e){return{id:"selection-box",x:Math.min(e.start.x,e.current.x),y:Math.min(e.start.y,e.current.y),width:Math.abs(e.current.x-e.start.x),height:Math.abs(e.current.y-e.start.y),color:"#64c8ff",strokeWidth:2}}function Kf(e,a,o=0){return e.x>=a.x-o&&e.x<=a.x+a.width+o&&e.y>=a.y-o&&e.y<=a.y+a.height+o}function Ib(e){return{id:e.id,x:e.x,y:e.y,width:n2,height:a2,color:e.color,strokeWidth:1}}function r2(e,a,o){const r=o.x-a.x,s=o.y-a.y,u=e.x-a.x,d=e.y-a.y,m=r*r+s*s;if(m===0)return Math.hypot(e.x-a.x,e.y-a.y);const g=Math.max(0,Math.min(1,(u*r+d*s)/m));return Math.hypot(e.x-(a.x+g*r),e.y-(a.y+g*s))}function i2(e,a,o){for(let r=1;r<a.points.length;r+=1)if(r2(e,a.points[r-1],a.points[r])<=o)return!0;return!1}function xv(e,a){return e.x<=a.x+a.width&&e.x+e.width>=a.x&&e.y<=a.y+a.height&&e.y+e.height>=a.y}function s2(e,a){return e.points.some(o=>Kf(o,a))}function Sv(e){const a=e.tolerance??.015;for(const o of[...e.memos].reverse())if(Kf(e.point,Ib(o),a))return Rb(o);for(const o of[...e.boxes].reverse())if(Kf(e.point,o,a))return Ab(o);for(const o of[...e.paths].reverse())if(i2(e.point,o,a))return jb(o);return null}function l2(e){const a=[];for(const o of e.annotations.paths)s2(o,e.box)&&a.push(jb(o));for(const o of e.annotations.boxes)xv(o,e.box)&&a.push(Ab(o));for(const o of e.annotations.memos)xv(Ib(o),e.box)&&a.push(Rb(o));return a}async function c2(e){return(await zb(e)).blob}function u2(e={},a=new Date){const o=a.toISOString().slice(0,19).replace(/[-:T]/g,""),r=e.matte?"-flat":"";return`canvas-export-${o}${r}.png`}function d2(e,a){const o=URL.createObjectURL(e);try{const r=document.createElement("a");r.href=o,r.download=a,r.click()}finally{URL.revokeObjectURL(o)}}function f2(e){if(!e.complete||!e.naturalWidth||!e.naturalHeight)return!1;const a=64,o=Math.min(a,e.naturalWidth),r=Math.min(a,e.naturalHeight),s=document.createElement("canvas");s.width=o,s.height=r;const u=s.getContext("2d",{willReadFrequently:!0});if(!u)return!1;try{u.drawImage(e,0,0,o,r);const d=u.getImageData(0,0,o,r).data;for(let m=3;m<d.length;m+=4)if(d[m]<250)return!0;return!1}catch{return!1}}const wm=[{x:0,y:0},{x:1,y:0},{x:0,y:1},{x:1,y:1}];function m2(e){return Math.max(0,Math.min(255,Math.round(e)))}function Lb(e,a,o){const r=Math.max(0,Math.min(a-1,Math.round(e.x*(a-1))));return Math.max(0,Math.min(o-1,Math.round(e.y*(o-1))))*a+r}function h2(e,a){return(a.length>0?a:wm).map(r=>{const s=Lb(r,e.width,e.height)*4;return{r:e.data[s]??0,g:e.data[s+1]??0,b:e.data[s+2]??0}})}function p2(e,a,o,r){for(const s of o)if(Math.max(Math.abs((e[a]??0)-s.r),Math.abs((e[a+1]??0)-s.g),Math.abs((e[a+2]??0)-s.b))<=r)return!0;return!1}function as(e,a,o,r,s,u,d){if(e<0||e>=r.length||r[e])return s;const m=e*4;return(a.data[m+3]??0)===0?(r[e]=1,s):p2(a.data,m,u,d)?(r[e]=1,o[s]=e,s+1):s}function wv(){return wm.map(e=>({...e}))}function Bb(e,a,o){const{width:r,height:s,data:u}=e,d=new Uint8ClampedArray(u),m=r*s,g=new Uint8Array(m),p=new Int32Array(m),y=h2(e,a),v=m2(o);let b=0,S=0;for(const _ of a.length>0?a:wm)b=as(Lb(_,r,s),e,p,g,b,y,v);for(;b>0;){const _=p[--b],E=_*4;(d[E+3]??0)!==0&&(d[E+3]=0,S+=1);const T=_%r;T>0&&(b=as(_-1,e,p,g,b,y,v)),T<r-1&&(b=as(_+1,e,p,g,b,y,v)),_>=r&&(b=as(_-r,e,p,g,b,y,v)),_<m-r&&(b=as(_+r,e,p,g,b,y,v))}return{imageData:{width:r,height:s,data:d},stats:{width:r,height:s,removedPixels:S,removedPercent:m>0?S/m:0}}}function Hb(e){return new Promise((a,o)=>{e.toBlob(r=>{r?a(r):o(new Error("background_cleanup_blob_failed"))},"image/png")})}function Ub(e){const a=e.naturalWidth,o=e.naturalHeight;if(a<=0||o<=0)throw new Error("background_cleanup_image_not_ready");const r=document.createElement("canvas");r.width=a,r.height=o;const s=r.getContext("2d",{willReadFrequently:!0});if(!s)throw new Error("background_cleanup_context_failed");return s.drawImage(e,0,0,a,o),{canvas:r,context:s,width:a,height:o}}async function g2({imageElement:e,seeds:a,tolerance:o}){try{const{canvas:r,context:s,width:u,height:d}=Ub(e),m=s.getImageData(0,0,u,d),g=Bb({width:u,height:d,data:m.data},a,o),p=s.createImageData(u,d);p.data.set(g.imageData.data),s.putImageData(p,0,0);const y=await Hb(r);return{blob:y,dataUrl:await Sm(y),stats:g.stats}}catch(r){throw r instanceof Error?r:new Error("background_cleanup_failed")}}async function y2({imageElement:e,seeds:a,tolerance:o}){try{const{context:r,width:s,height:u}=Ub(e),d=r.getImageData(0,0,s,u),m=Bb({width:s,height:u,data:d.data},a,o),g=document.createElement("canvas");g.width=s,g.height=u;const p=g.getContext("2d");if(!p)throw new Error("background_cleanup_context_failed");const y=p.createImageData(s,u);for(let b=0;b<s*u;b+=1){const S=b*4;(d.data[S+3]??0)>0&&(m.imageData.data[S+3]??0)===0&&(y.data[S]=168,y.data[S+1]=85,y.data[S+2]=247,y.data[S+3]=150)}p.putImageData(y,0,0);const v=await Hb(g);return{dataUrl:await Sm(v),stats:m.stats}}catch(r){throw r instanceof Error?r:new Error("background_cleanup_failed")}}function v2({paths:e,boxes:a,memos:o=[],selectedIds:r=[],selectionBox:s=null,activePath:u,activeBox:d}){const m=M.useRef(null);return M.useEffect(()=>{const g=m.current;if(!g)return;const p=g.getBoundingClientRect(),y=window.devicePixelRatio||1;g.width=Math.max(1,Math.round(p.width*y)),g.height=Math.max(1,Math.round(p.height*y));const v=g.getContext("2d");if(!v)return;v.setTransform(y,0,0,y,0,0),v.clearRect(0,0,p.width,p.height);const b={width:p.width,height:p.height};for(const S of e)Yf(v,S,b);for(const S of a)Xf(v,S,b,"committed");for(const S of r){const _=XC(S,{paths:e,boxes:a,memos:o});_&&bv(v,_,b)}s&&bv(v,s,b),u&&Yf(v,u,b),d&&Xf(v,d,b,"active")},[e,a,o,r,s,u,d]),c.jsx("canvas",{ref:m,className:"canvas-annotation-layer","aria-hidden":"true"})}function ac(e){e.stopPropagation()}function b2({memos:e,activeMemoId:a,onUpdate:o,onDelete:r,onFocus:s,onCommit:u}){return c.jsx("div",{className:"canvas-memo-overlay",children:e.map(d=>c.jsx("textarea",{className:`canvas-memo${a===d.id?" canvas-memo--active":""}`,value:d.text,style:{left:`${d.x*100}%`,top:`${d.y*100}%`},autoFocus:a===d.id,onFocus:()=>s(d.id),onPointerDown:ac,onPointerMove:ac,onPointerUp:ac,onPointerCancel:ac,onChange:m=>o(d.id,m.currentTarget.value),onBlur:()=>{u?.(),d.text.trim()===""&&r(d.id)},"aria-label":"Canvas memo"},d.id))})}function x2({mode:e,matteColor:a,onModeChange:o,onMatteColorChange:r}){const{t:s}=Se();return c.jsxs("div",{className:"canvas-toolbar__bg",role:"group","aria-label":s("canvas.toolbar.bgGroup"),children:[c.jsx("button",{type:"button",className:`canvas-toolbar__bg-tab${e==="alpha"?" active":""}`,onClick:()=>o("alpha"),children:s("canvas.toolbar.bgAlpha")}),c.jsx("button",{type:"button",className:`canvas-toolbar__bg-tab${e==="matte"?" active":""}`,onClick:()=>o("matte"),children:s("canvas.toolbar.bgMatte")}),e==="matte"?c.jsx("input",{type:"color","aria-label":s("canvas.toolbar.bgMatteColor"),value:a,onChange:u=>r(u.target.value)}):null]})}function S2({seedCount:e,tolerance:a,stats:o,hasPreview:r,isPickingSeed:s,isPreviewing:u,isApplying:d,keepOpen:m,disabled:g,onAutoSample:p,onPickSeed:y,onToleranceChange:v,onPreview:b,onApply:S,onReset:_}){const{t:E}=Se(),[T,C]=M.useState(!1),k=M.useRef(null),N=o?Math.round(o.removedPercent*1e3)/10:0;return M.useEffect(()=>{if(!T)return;const w=P=>{m||k.current?.contains(P.target)||C(!1)};return window.addEventListener("pointerdown",w),()=>window.removeEventListener("pointerdown",w)},[m,T]),c.jsxs("div",{className:"canvas-toolbar__cleanup",ref:k,children:[c.jsx("button",{type:"button",className:`canvas-toolbar__button${T||r?" canvas-toolbar__button--active":""}`,onClick:()=>C(w=>!w),disabled:g,"aria-expanded":T,"aria-label":E("canvas.toolbar.cleanup"),title:E("canvas.toolbar.cleanup"),children:c.jsx(w2,{})}),T?c.jsxs("div",{className:"canvas-toolbar__cleanup-panel",role:"group","aria-label":E("canvas.toolbar.cleanup"),children:[c.jsxs("div",{className:"canvas-toolbar__cleanup-row",children:[c.jsx("span",{className:"canvas-toolbar__cleanup-title",children:E("canvas.toolbar.cleanup")}),c.jsx("span",{className:"canvas-toolbar__cleanup-meta",children:E("canvas.toolbar.cleanupSeedCount",{n:e})})]}),c.jsxs("label",{className:"canvas-toolbar__cleanup-slider",children:[c.jsx("span",{children:E("canvas.toolbar.cleanupTolerance")}),c.jsx("input",{type:"range",min:"0",max:"96",value:a,onChange:w=>v(Number(w.target.value))}),c.jsx("output",{children:a})]}),c.jsxs("div",{className:"canvas-toolbar__cleanup-actions",children:[c.jsx("button",{type:"button",onClick:p,children:E("canvas.toolbar.cleanupAutoSample")}),c.jsx("button",{type:"button",className:s?"active":"",onClick:y,children:E(s?"canvas.toolbar.cleanupPickingSeed":"canvas.toolbar.cleanupPickSeed")})]}),c.jsxs("div",{className:"canvas-toolbar__cleanup-actions",children:[c.jsx("button",{type:"button",onClick:b,disabled:u||e===0,children:E(u?"canvas.toolbar.cleanupPreviewing":"canvas.toolbar.cleanupPreview")}),c.jsx("button",{type:"button",onClick:S,disabled:d||!r&&e===0,children:E(d?"canvas.toolbar.cleanupApplying":"canvas.toolbar.cleanupApply")}),c.jsx("button",{type:"button",onClick:_,disabled:!r&&e===0,children:E("canvas.toolbar.cleanupReset")})]}),s?c.jsx("div",{className:"canvas-toolbar__cleanup-status canvas-toolbar__cleanup-status--active",children:E("canvas.toolbar.cleanupPickHint")}):o&&!r?c.jsx("div",{className:"canvas-toolbar__cleanup-status canvas-toolbar__cleanup-status--active",children:E("canvas.toolbar.cleanupMaskHint")}):null,o?c.jsx("div",{className:"canvas-toolbar__cleanup-status",children:E("canvas.toolbar.cleanupRemoved",{n:N})}):null]}):null]})}function w2(){return c.jsxs("svg",{className:"canvas-toolbar__icon",viewBox:"0 0 24 24","aria-hidden":"true",children:[c.jsx("path",{d:"M5 7.5h14"}),c.jsx("path",{d:"M7 12h10"}),c.jsx("path",{d:"M10 16.5h4"}),c.jsx("path",{d:"M7.5 5.5 9 4l1.5 1.5L9 7 7.5 5.5Z"}),c.jsx("path",{d:"M13.5 11 15 9.5l1.5 1.5L15 12.5 13.5 11Z"}),c.jsx("path",{d:"M4.5 15.5 6 14l1.5 1.5L6 17 4.5 15.5Z"})]})}function _2({style:e,onStyleChange:a}){const{t:o}=Se(),[r,s]=M.useState(!1),u=M.useRef(null);return M.useEffect(()=>{if(!r)return;const d=m=>{u.current?.contains(m.target)||s(!1)};return window.addEventListener("pointerdown",d),()=>window.removeEventListener("pointerdown",d)},[r]),c.jsxs("div",{ref:u,className:`canvas-toolbar__split-button${r?" canvas-toolbar__split-button--active":""}`,onKeyDown:d=>{d.key==="Escape"&&r&&(d.preventDefault(),d.stopPropagation(),s(!1))},children:[c.jsxs("button",{type:"button",className:"canvas-toolbar__button canvas-toolbar__style-trigger",onClick:()=>s(d=>!d),"aria-haspopup":"dialog","aria-expanded":r,"aria-label":o("canvas.toolbar.style"),title:o("canvas.toolbar.style"),children:[c.jsx("span",{className:"canvas-style-trigger__swatch",style:{background:e.color},"aria-hidden":"true"}),c.jsx("span",{className:"canvas-style-trigger__width",style:{height:`${Math.min(8,Math.max(2,e.strokeWidth))}px`},"aria-hidden":"true"})]}),r?c.jsxs("div",{className:"canvas-style-popover",role:"dialog","aria-label":o("canvas.toolbar.style"),children:[c.jsx("div",{className:"canvas-style-popover__row",role:"group","aria-label":o("canvas.toolbar.color"),children:kb.map(d=>c.jsx("button",{type:"button",className:`canvas-style-swatch${e.color===d?" canvas-style-swatch--active":""}`,style:{background:d},onClick:()=>a({...e,color:d}),"aria-pressed":e.color===d,"aria-label":d,title:d},d))}),c.jsx("div",{className:"canvas-style-popover__row",role:"group","aria-label":o("canvas.toolbar.strokeWidth"),children:Ob.map(d=>c.jsx("button",{type:"button",className:`canvas-style-width${e.strokeWidth===d?" canvas-style-width--active":""}`,onClick:()=>a({...e,strokeWidth:d}),"aria-pressed":e.strokeWidth===d,"aria-label":`${d}px`,title:`${d}px`,children:c.jsx("span",{style:{height:`${d}px`,background:e.color}})},d))})]}):null]})}function N2({tools:e,activeTool:a,onToolChange:o}){const[r,s]=M.useState(!1),u=M.useRef(null),d=e.find(g=>g.id===a)??e[0],m=d.icon;return M.useEffect(()=>{if(!r)return;const g=p=>{u.current?.contains(p.target)||s(!1)};return window.addEventListener("pointerdown",g),()=>window.removeEventListener("pointerdown",g)},[r]),c.jsxs("div",{ref:u,className:"canvas-tool-picker",children:[c.jsxs("button",{type:"button",className:`canvas-toolbar__button canvas-tool-picker__trigger${a!=="eraser"?" canvas-toolbar__button--active":""}`,onClick:()=>s(g=>!g),"aria-label":`${d.label} (${d.shortcut})`,"aria-pressed":a===d.id,"aria-haspopup":"menu","aria-expanded":r,title:`${d.label} (${d.shortcut})`,children:[c.jsx(m,{}),c.jsx("span",{className:"canvas-toolbar__shortcut","aria-hidden":"true",children:d.shortcut})]}),r?c.jsx("div",{className:"canvas-tool-picker__menu",role:"menu",children:e.map(g=>{const p=g.icon,y=a===g.id;return c.jsxs("button",{type:"button",className:`canvas-tool-picker__item${y?" active":""}`,role:"menuitemradio","aria-checked":y,onClick:()=>{o(g.id),s(!1)},children:[c.jsx(p,{}),c.jsx("span",{children:g.label}),c.jsx("kbd",{children:g.shortcut})]},g.id)})}):null]})}function E2({activeTool:e,hasAnnotations:a,hasExportableContent:o,onToolChange:r,eraserMode:s="object",onEraserModeChange:u,style:d,onStyleChange:m,onClear:g,onApply:p,onExport:y,onUndo:v,onRedo:b,canUndo:S,canRedo:_,onDeleteSelected:E,selectedCount:T=0,onEditWithMask:C,canEditWithMask:k,isEditingWithMask:N,isApplying:w,isExporting:P,exportBackground:I="alpha",exportMatteColor:O="#ffffff",onExportBackgroundChange:q,onExportMatteColorChange:X,cleanupTolerance:ue=28,cleanupSeedCount:Z=0,cleanupStats:ae=null,cleanupHasPreview:ce=!1,isCleanupPickingSeed:z=!1,isCleanupPreviewing:D=!1,isCleanupApplying:R=!1,onCleanupAutoSample:L,onCleanupPickSeed:$,onCleanupToleranceChange:Q,onCleanupPreview:re,onCleanupApply:A,onCleanupReset:B}){const{t:G}=Se(),[J,K]=M.useState(!1),se=M.useRef(null),V=o??a??!1,te=G(s==="object"?"canvas.toolbar.objectEraser":"canvas.toolbar.brushEraser"),he=[{id:"select",shortcut:"1",label:G("canvas.toolbar.select"),icon:C2},{id:"pen",shortcut:"2",label:G("canvas.toolbar.pen"),icon:T2},{id:"box",shortcut:"3",label:G("canvas.toolbar.box"),icon:M2},{id:"arrow",shortcut:"4",label:G("canvas.toolbar.arrow"),icon:j2},{id:"memo",shortcut:"5",label:G("canvas.toolbar.memo"),icon:A2}];M.useEffect(()=>{if(!J)return;const ye=ve=>{se.current?.contains(ve.target)||K(!1)};return window.addEventListener("pointerdown",ye),()=>window.removeEventListener("pointerdown",ye)},[J]);const pe=ye=>{u?.(ye),r("eraser"),K(!1)};return c.jsxs("div",{className:"canvas-toolbar","aria-label":G("canvas.toolbar.label"),children:[c.jsx(N2,{tools:he,activeTool:e,onToolChange:r}),c.jsx(_2,{style:d,onStyleChange:m}),c.jsxs("div",{ref:se,className:`canvas-toolbar__split-button${e==="eraser"?" canvas-toolbar__split-button--active":""}`,onKeyDown:ye=>{ye.key==="Escape"&&J&&(ye.preventDefault(),K(!1))},children:[c.jsxs("button",{type:"button",className:`canvas-toolbar__button canvas-toolbar__button--split-main${e==="eraser"?" canvas-toolbar__button--active":""}`,onClick:()=>r("eraser"),"aria-label":`${te} (6)`,"aria-pressed":e==="eraser",title:`${te} (6)`,children:[c.jsx(R2,{}),c.jsx("span",{className:"canvas-toolbar__shortcut","aria-hidden":"true",children:"6"})]}),c.jsx("button",{type:"button",className:"canvas-toolbar__button canvas-toolbar__button--split-menu",onClick:()=>K(ye=>!ye),"aria-label":G("canvas.toolbar.eraserMenu"),"aria-haspopup":"menu","aria-expanded":J,"aria-controls":"canvas-eraser-menu",title:G("canvas.toolbar.eraserMenu"),children:c.jsx(D2,{})}),J?c.jsxs("div",{id:"canvas-eraser-menu",className:"canvas-toolbar__eraser-menu",role:"menu",children:[c.jsx("button",{type:"button",className:`canvas-toolbar__eraser-menu-item${s==="object"?" canvas-toolbar__eraser-menu-item--active":""}`,role:"menuitemradio","aria-checked":s==="object",onClick:()=>pe("object"),children:G("canvas.toolbar.objectEraser")}),c.jsx("button",{type:"button",className:`canvas-toolbar__eraser-menu-item${s==="brush"?" canvas-toolbar__eraser-menu-item--active":""}`,role:"menuitemradio","aria-checked":s==="brush",onClick:()=>pe("brush"),children:G("canvas.toolbar.brushEraser")})]}):null]}),c.jsx("span",{className:"canvas-toolbar__divider","aria-hidden":"true"}),p?c.jsx("button",{type:"button",className:`canvas-toolbar__button canvas-toolbar__button--primary${w?" canvas-toolbar__button--busy":""}`,onClick:p,disabled:!V||w,"aria-label":G("canvas.toolbar.apply"),title:G("canvas.toolbar.apply"),children:c.jsx(k2,{})}):null,C?c.jsx("button",{type:"button",className:`canvas-toolbar__button canvas-toolbar__button--primary canvas-toolbar__button--mask${N?" canvas-toolbar__button--busy":""}`,onClick:C,disabled:!k||N,"aria-label":G(k?"canvas.toolbar.editMask":"canvas.toolbar.editMaskDisabled"),title:G(k?"canvas.toolbar.editMask":"canvas.toolbar.editMaskDisabled"),children:c.jsx(L2,{})}):null,v?c.jsx("button",{type:"button",className:"canvas-toolbar__button",onClick:v,disabled:!S,"aria-label":G("canvas.toolbar.undo"),title:G("canvas.toolbar.undo"),children:c.jsx(z2,{})}):null,b?c.jsx("button",{type:"button",className:"canvas-toolbar__button",onClick:b,disabled:!_,"aria-label":G("canvas.toolbar.redo"),title:G("canvas.toolbar.redo"),children:c.jsx(I2,{})}):null,E?c.jsx("button",{type:"button",className:"canvas-toolbar__button canvas-toolbar__button--danger",onClick:E,disabled:T===0,"aria-label":G("canvas.toolbar.deleteSelected"),title:G("canvas.toolbar.deleteSelected"),children:c.jsx(_v,{})}):null,y&&q&&X?c.jsx(x2,{mode:I,matteColor:O,onModeChange:q,onMatteColorChange:X}):null,L&&$&&Q&&re&&A&&B?c.jsx(S2,{seedCount:Z,tolerance:ue,stats:ae,hasPreview:ce,isPickingSeed:z,isPreviewing:D,isApplying:R,keepOpen:z,disabled:w||P,onAutoSample:L,onPickSeed:$,onToleranceChange:Q,onPreview:re,onApply:A,onReset:B}):null,y?c.jsx("button",{type:"button",className:`canvas-toolbar__button${P?" canvas-toolbar__button--busy":""}`,onClick:y,disabled:!V||P,"aria-label":G("canvas.toolbar.export"),title:G("canvas.toolbar.export"),children:c.jsx(O2,{})}):null,c.jsx("button",{type:"button",className:"canvas-toolbar__button canvas-toolbar__button--danger",onClick:g,disabled:!V,"aria-label":G("canvas.toolbar.clear"),title:G("canvas.toolbar.clear"),children:c.jsx(_v,{})})]})}function C2(){return c.jsxs("svg",{className:"canvas-toolbar__icon",viewBox:"0 0 24 24","aria-hidden":"true",children:[c.jsx("path",{d:"M8 12.5V7a2 2 0 0 1 4 0v4"}),c.jsx("path",{d:"M12 11V5a2 2 0 0 1 4 0v7"}),c.jsx("path",{d:"M16 12V8a2 2 0 0 1 4 0v5.5A6.5 6.5 0 0 1 13.5 20H12a6 6 0 0 1-4.24-1.76L4.7 15.18a1.7 1.7 0 0 1 2.4-2.4L9 14.68"})]})}function T2(){return c.jsxs("svg",{className:"canvas-toolbar__icon",viewBox:"0 0 24 24","aria-hidden":"true",children:[c.jsx("path",{d:"m4 20 4.2-1.1L19.5 7.6a2.2 2.2 0 0 0-3.1-3.1L5.1 15.8 4 20Z"}),c.jsx("path",{d:"m14.5 6.5 3 3"})]})}function M2(){return c.jsx("svg",{className:"canvas-toolbar__icon",viewBox:"0 0 24 24","aria-hidden":"true",children:c.jsx("rect",{x:"5",y:"5",width:"14",height:"14",rx:"2"})})}function j2(){return c.jsxs("svg",{className:"canvas-toolbar__icon",viewBox:"0 0 24 24","aria-hidden":"true",children:[c.jsx("path",{d:"M5 19 19 5"}),c.jsx("path",{d:"M10 5h9v9"})]})}function A2(){return c.jsxs("svg",{className:"canvas-toolbar__icon",viewBox:"0 0 24 24","aria-hidden":"true",children:[c.jsx("path",{d:"M6 4h12v16H6z"}),c.jsx("path",{d:"M9 8h6"}),c.jsx("path",{d:"M9 12h5"}),c.jsx("path",{d:"M9 16h3"})]})}function R2(){return c.jsxs("svg",{className:"canvas-toolbar__icon",viewBox:"0 0 24 24","aria-hidden":"true",children:[c.jsx("path",{d:"m4 15 8.5-8.5a2.1 2.1 0 0 1 3 0l2 2a2.1 2.1 0 0 1 0 3L10 19H6.5L4 16.5V15Z"}),c.jsx("path",{d:"M10 19h10"}),c.jsx("path",{d:"m8.5 10.5 5 5"})]})}function D2(){return c.jsx("svg",{className:"canvas-toolbar__icon canvas-toolbar__icon--small",viewBox:"0 0 24 24","aria-hidden":"true",children:c.jsx("path",{d:"m7 14 5-5 5 5"})})}function k2(){return c.jsx("svg",{className:"canvas-toolbar__icon",viewBox:"0 0 24 24","aria-hidden":"true",children:c.jsx("path",{d:"M5 12.5 10 17 19 7"})})}function O2(){return c.jsxs("svg",{className:"canvas-toolbar__icon",viewBox:"0 0 24 24","aria-hidden":"true",children:[c.jsx("path",{d:"M12 4v11"}),c.jsx("path",{d:"m8 11 4 4 4-4"}),c.jsx("path",{d:"M5 20h14"})]})}function _v(){return c.jsxs("svg",{className:"canvas-toolbar__icon",viewBox:"0 0 24 24","aria-hidden":"true",children:[c.jsx("path",{d:"M4 7h16"}),c.jsx("path",{d:"M9 7V5h6v2"}),c.jsx("path",{d:"M7 7l1 13h8l1-13"}),c.jsx("path",{d:"M10 11v5"}),c.jsx("path",{d:"M14 11v5"})]})}function z2(){return c.jsxs("svg",{className:"canvas-toolbar__icon",viewBox:"0 0 24 24","aria-hidden":"true",children:[c.jsx("path",{d:"M9 7 5 11l4 4"}),c.jsx("path",{d:"M5 11h9a5 5 0 0 1 0 10h-2"})]})}function I2(){return c.jsxs("svg",{className:"canvas-toolbar__icon",viewBox:"0 0 24 24","aria-hidden":"true",children:[c.jsx("path",{d:"m15 7 4 4-4 4"}),c.jsx("path",{d:"M19 11h-9a5 5 0 0 0 0 10h2"})]})}function L2(){return c.jsxs("svg",{className:"canvas-toolbar__icon",viewBox:"0 0 24 24","aria-hidden":"true",children:[c.jsx("rect",{x:"5",y:"5",width:"14",height:"14",rx:"2"}),c.jsx("path",{d:"M9 9h6v6H9z"})]})}function Cf(e,a,o){return Math.max(a,Math.min(o,e))}function B2({zoom:e,panX:a,panY:o}){const r=Cf(100/Math.max(1,e),18,100),s=r/2,u=Cf(50-a/40,s,100-s),d=Cf(50-o/40,s,100-s);return{width:`${r}%`,height:`${r}%`,left:`${u}%`,top:`${d}%`}}function H2({imageSrc:e,zoom:a,panX:o,panY:r,resetLabel:s,onReset:u}){return c.jsxs("button",{type:"button",className:"canvas-viewport-minimap",onClick:u,"aria-label":s,title:s,children:[c.jsx("img",{src:e,alt:"","aria-hidden":"true"}),c.jsx("span",{className:"canvas-viewport-minimap__window",style:B2({zoom:a,panX:o,panY:r}),"aria-hidden":"true"})]})}function U2({zoom:e,onZoomIn:a,onZoomOut:o,onZoomReset:r}){const{t:s}=Se(),u=Math.round(e*100);return c.jsxs("div",{className:"canvas-toolbar__zoom",role:"group","aria-label":s("canvas.toolbar.zoomGroup"),children:[c.jsx("button",{type:"button",className:"canvas-toolbar__zoom-button",onClick:o,"aria-label":s("canvas.toolbar.zoomOut"),title:s("canvas.toolbar.zoomOut"),children:c.jsx(P2,{})}),c.jsxs("button",{type:"button",className:"canvas-toolbar__zoom-value",onClick:r,"aria-label":s("canvas.toolbar.zoomReset"),title:s("canvas.toolbar.zoomReset"),children:[u,"%"]}),c.jsx("button",{type:"button",className:"canvas-toolbar__zoom-button",onClick:a,"aria-label":s("canvas.toolbar.zoomIn"),title:s("canvas.toolbar.zoomIn"),children:c.jsx(q2,{})})]})}function P2(){return c.jsx("svg",{className:"canvas-toolbar__icon canvas-toolbar__icon--small",viewBox:"0 0 24 24","aria-hidden":"true",children:c.jsx("path",{d:"M5 12h14"})})}function q2(){return c.jsxs("svg",{className:"canvas-toolbar__icon canvas-toolbar__icon--small",viewBox:"0 0 24 24","aria-hidden":"true",children:[c.jsx("path",{d:"M12 5v14"}),c.jsx("path",{d:"M5 12h14"})]})}const G2=`url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Ccircle cx='14' cy='14' r='8' fill='white' fill-opacity='0.16' stroke='black' stroke-width='3'/%3E%3Ccircle cx='14' cy='14' r='8' fill='none' stroke='white' stroke-width='1.5'/%3E%3Ccircle cx='14' cy='14' r='2' fill='white' stroke='black' stroke-width='1'/%3E%3C/svg%3E") 14 14, auto`,F2=`url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Ccircle cx='14' cy='14' r='8' fill='white' fill-opacity='0.18' stroke='black' stroke-width='3'/%3E%3Ccircle cx='14' cy='14' r='8' fill='none' stroke='white' stroke-width='1.5'/%3E%3C/svg%3E") 14 14, auto`;function $2(e){return e==="low"?"l":e==="medium"?"m":e==="high"?"h":e??null}function V2(e){if(!e)return null;const a=e.match(/^(\d+)x\1$/);return a?`${a[1]}²`:e.replace("x","×")}function Y2(e){const a=e.url??e.image;if(!e.canvasVersion||!e.canvasMergedAt||a.startsWith("data:"))return a;const o=a.includes("?")?"&":"?";return`${a}${o}canvasMergedAt=${e.canvasMergedAt}`}function Zf(e,a){return!e.canvasVersion||e.prompt||!a?.prompt?e:{...e,prompt:a.prompt}}function X2(e,a){if(!a?.filename)return null;const o=e.find(r=>r.canvasVersion&&(r.canvasSourceFilename===a.filename||r.canvasEditableFilename===a.filename))??null;return o?Zf(o,a):null}function K2(e,a){if(Gf(e)){const o=e.images[0];if(!o)throw new Error("edit_empty_response");return{...o,prompt:a,provider:e.provider,quality:e.quality,size:e.size,moderation:e.moderation,model:e.model,usage:e.usage,kind:"edit",createdAt:Date.now()}}return{image:e.image,url:e.filename?`/generated/${e.filename}`:e.image,thumb:e.image,filename:e.filename,prompt:a,elapsed:e.elapsed,provider:e.provider,quality:e.quality,size:e.size,moderation:e.moderation,model:e.model,usage:e.usage,revisedPrompt:e.revisedPrompt??null,promptMode:e.promptMode??null,kind:"edit",createdAt:Date.now()}}function Nv(){const e=U(H=>H.currentImage),a=U(H=>H.history),o=U(H=>H.importLocalImageToHistory),[r,s]=M.useState(!1),u=U(H=>{const ge=H.multimodePreviewFlightId;return ge?H.multimodeSequences[ge]??null:null}),d=U(H=>H.selectHistoryShortcutTarget),m=U(H=>H.trashHistoryItem),g=U(H=>H.markGeneratedResultsSeen),p=U(H=>H.activeGenerations),y=U(H=>H.quality),v=U(H=>H.format),b=U(H=>H.moderation),S=U(H=>H.provider),_=U(H=>H.imageModel),E=U(H=>H.reasoningEffort),T=U(H=>H.promptMode),C=U(H=>H.webSearchEnabled),k=U(H=>H.getResolvedSize),N=U(H=>H.showToast),w=U(H=>H.canvasOpen),P=U(H=>H.openCanvas),I=U(H=>H.closeCanvas),O=U(H=>H.canvasZoom),q=U(H=>H.canvasPanX),X=U(H=>H.canvasPanY),ue=U(H=>H.setCanvasPan),Z=U(H=>H.setCanvasZoom),ae=U(H=>H.resetCanvasZoom),ce=U(H=>H.canvasExportBackground),z=U(H=>H.canvasExportMatteColor),D=U(H=>H.setCanvasExportBackground),R=U(H=>H.setCanvasExportMatteColor),[L,$]=M.useState(!1),Q=U(H=>H.applyMergedCanvasImage),re=U(H=>H.addGeneratedHistoryItem),A=U(H=>H.attachCanvasVersionReference),{t:B}=Se(),G=M.useRef(null),J=M.useRef(null),K=M.useRef(null),se=M.useRef(null),V=M.useRef(null),te=M.useRef(null),he=M.useRef(null),pe=M.useRef({mode:null,lastPoint:null,didMove:!1}),ye=M.useRef({active:!1,startX:0,startY:0,basePanX:0,basePanY:0,pointerId:null}),[ve,Te]=M.useState(!1),[De,Fe]=M.useState(!1),[Ue,Je]=M.useState(null),[jt,rt]=M.useState("idle"),[Ft,an]=M.useState(!1),[Zn,kn]=M.useState(!1),[yt,Qn]=M.useState(!1),[vt,kt]=M.useState([]),[Ot,Wo]=M.useState(28),[$t,pn]=M.useState(null),[Ta,Rt]=M.useState(null),[wt,bt]=M.useState(null),[it,Jn]=M.useState(!1),[ri,On]=M.useState(!1),[Ma,gn]=M.useState(!1),yn=M.useRef([]),fe=VC(),zn=w&&O>1.01&&fe.activeTool==="select"&&!it,Wn=()=>{e?.prompt&&(navigator.clipboard.writeText(e.prompt),N(B("toast.promptCopied")))},ii=$2(e?.quality??y),er=V2(e?.size??k()),uo=J0(e?.model),Vt=e?.filename??e?.url??e?.image??null,In=X2(a,e),xt=w?Ue??In??e:e,tr=xt?Y2(xt):null,ja=$t?.dataUrl??tr,Aa=()=>{kt([]),pn(null),Rt(null),bt(null),Jn(!1),On(!1),gn(!1)},fo=()=>({seeds:[...vt],tolerance:Ot,preview:$t,maskOverlay:Ta,stats:wt,pickingSeed:it}),on=()=>{yn.current=[...yn.current.slice(-19),fo()]},nr=H=>{kt(H.seeds),Wo(H.tolerance),pn(H.preview),Rt(H.maskOverlay),bt(H.stats),Jn(H.pickingSeed),On(!1),gn(!1)},rn=()=>{const H=yn.current.pop();return H?(nr(H),!0):!1},ot=()=>{te.current=null,se.current=null,V.current!=null&&(window.clearTimeout(V.current),V.current=null),Je(null),rt("idle"),yn.current=[],Aa(),he.current=null,pe.current={mode:null,lastPoint:null,didMove:!1}};M.useEffect(()=>{if(!w){K.current=Vt,ot();return}if(K.current===null){K.current=Vt,te.current=e,Je(In);return}K.current!==Vt&&(fe.resetLocal(),ot(),te.current=e,Je(In),K.current=Vt)},[fe.resetLocal,w,e,Vt,In]),M.useEffect(()=>{!w||!e||te.current||(te.current=e,Je(In))},[w,e,In]),M.useEffect(()=>{if(!w||!e?.filename||e.canvasVersion)return;const H=e.filename;if(se.current===H)return;se.current=H;let ge=!1;return p_(H).then(Ee=>{!ge&&Ee.annotations&&fe.load(Ee.annotations)}).catch(()=>{}),()=>{ge=!0}},[fe.load,w,e?.canvasVersion,e?.filename]),M.useEffect(()=>{if(!w)return;const H=Hn=>{Hn.preventDefault()},ge=Hn=>{Hn.ctrlKey&&Hn.preventDefault()},Ee={passive:!1,capture:!0},ze={passive:!1};return window.addEventListener("wheel",ge,Ee),window.addEventListener("gesturestart",H,ze),window.addEventListener("gesturechange",H,ze),window.addEventListener("gestureend",H,ze),()=>{window.removeEventListener("wheel",ge,Ee),window.removeEventListener("gesturestart",H,ze),window.removeEventListener("gesturechange",H,ze),window.removeEventListener("gestureend",H,ze)}},[w]),M.useEffect(()=>{if(!w)return;const H=Ee=>{Ee.code==="Space"&&(_a(Ee.target)||(ve||Te(!0),Ee.preventDefault()))},ge=Ee=>{Ee.code==="Space"&&Te(!1)};return window.addEventListener("keydown",H),window.addEventListener("keyup",ge),()=>{window.removeEventListener("keydown",H),window.removeEventListener("keyup",ge)}},[w,ve]),M.useEffect(()=>{const H=J.current;if(!H||!w){$(!1);return}const ge=()=>$(f2(H));if(H.complete)ge();else return H.addEventListener("load",ge),()=>H.removeEventListener("load",ge)},[w,xt?.filename,xt?.url,xt?.image,xt?.canvasMergedAt,$t?.dataUrl]),M.useEffect(()=>{if(!w||!e?.filename||e.canvasVersion||!fe.isDirty)return;const H=e.filename;return V.current!=null&&window.clearTimeout(V.current),V.current=window.setTimeout(()=>{const ge=fe.toPayload();(fe.hasAnnotations?g_(H,ge):Ly(H)).then(()=>fe.markSaved()).catch(()=>{})},500),()=>{V.current!=null&&(window.clearTimeout(V.current),V.current=null)}},[fe,fe.hasAnnotations,fe.isDirty,w,e?.canvasVersion,e?.filename]);const _t=H=>{if(_a(H.target)){H.key==="Escape"&&(H.preventDefault(),H.target.blur(),fe.focusMemo(null));return}if(w&&["1","2","3","4","5","6"].includes(H.key)){H.preventDefault();const ge=["select","pen","box","arrow","memo","eraser"];fe.setTool(ge[Number(H.key)-1]);return}if(w&&H.key==="Escape"){H.preventDefault(),ta();return}if(w&&H.key==="]"){H.preventDefault(),Z(O+.1);return}if(w&&H.key==="["){H.preventDefault(),Z(O-.1);return}if(w&&H.key==="0"){H.preventDefault(),ae();return}if(H.key==="Delete"||H.key==="Backspace"){if(H.shiftKey||!e)return;H.preventDefault(),m(e);return}H.key!=="ArrowLeft"&&H.key!=="ArrowRight"&&H.key!=="Home"&&H.key!=="End"||H.target===H.currentTarget&&(_a(H.target)||(H.preventDefault(),H.key==="ArrowLeft"?d("previous"):H.key==="ArrowRight"?d("next"):H.key==="Home"?d("first"):H.key==="End"&&d("last")))},vn=H=>{_a(H.target)||(g(),H.currentTarget.focus())},Ra=H=>{if(w){if(H.preventDefault(),H.ctrlKey){Z(O-H.deltaY*.01);return}ue(q-H.deltaX,X-H.deltaY)}},mo=H=>{H.currentTarget.setPointerCapture(H.pointerId),ye.current={active:!0,startX:H.clientX,startY:H.clientY,basePanX:q,basePanY:X,pointerId:H.pointerId},Fe(!0)},si=M.useCallback(H=>{Array.from(H.dataTransfer.types).includes("Files")&&(H.preventDefault(),s(ge=>ge||!0))},[]),ar=M.useCallback(H=>{H.currentTarget.contains(H.relatedTarget)||s(!1)},[]),ea=M.useCallback(async H=>{if(!Array.from(H.dataTransfer.types).includes("Files"))return;H.preventDefault(),s(!1);const ge=Array.from(H.dataTransfer.files).filter(Ee=>/^image\/(png|jpeg|webp)$/.test(Ee.type));ge.length!==0&&await o(ge[0])},[o]),ho=H=>{if(!w||_a(H.target)||!G.current)return;const ge=H.button===1;if(ve||ge){H.preventDefault(),mo(H);return}H.preventDefault();const Ee=vv(H,G.current);if(it){on();const ze=[...vt,Ee];kt(ze),pn(null),bt(null),xn(ze);return}if(fe.activeTool==="select"){const ze=Sv({point:Ee,paths:fe.paths,boxes:fe.boxes,memos:fe.memos});if(ze)H.shiftKey?fe.toggleSelected(ze):fe.selectOne(ze),fe.startSelectedMove(),pe.current={mode:"move",lastPoint:Ee,didMove:!1};else if(zn){mo(H);return}else fe.clearSelection(),fe.startSelectionBox(Ee),pe.current={mode:"box",lastPoint:Ee,didMove:!1};H.currentTarget.setPointerCapture(H.pointerId);return}if(fe.activeTool==="memo"){fe.createMemo(Ee),requestAnimationFrame(()=>{G.current?.querySelector(".canvas-memo--active")?.focus()});return}if(fe.activeTool==="eraser"){if(fe.eraserMode==="object"){const ze=Sv({point:Ee,paths:fe.paths,boxes:fe.boxes,memos:fe.memos});ze&&fe.eraseObjectAtPoint(ze);return}H.currentTarget.setPointerCapture(H.pointerId),fe.startEraserStroke(Ee);return}H.currentTarget.setPointerCapture(H.pointerId),fe.startDrawing(Ee)},Ln=H=>{if(!w||_a(H.target)||!G.current)return;if(ye.current.active){const Ee=H.clientX-ye.current.startX,ze=H.clientY-ye.current.startY;ue(ye.current.basePanX+Ee,ye.current.basePanY+ze);return}const ge=vv(H,G.current);if(fe.activeTool==="select"){if(pe.current.mode==="move"&&pe.current.lastPoint){const Ee={x:ge.x-pe.current.lastPoint.x,y:ge.y-pe.current.lastPoint.y};(Math.abs(Ee.x)>5e-4||Math.abs(Ee.y)>5e-4)&&(fe.moveSelected(Ee),pe.current.didMove=!0),pe.current.lastPoint=ge}else pe.current.mode==="box"&&fe.updateSelectionBox(ge);return}if(fe.activeTool!=="memo"){if(fe.activeTool==="eraser"){fe.eraserMode==="brush"&&fe.updateEraserStroke(ge);return}fe.moveDrawing(ge)}},bn=H=>{if(w&&!_a(H.target)){if(ye.current.active&&ye.current.pointerId===H.pointerId){H.currentTarget.hasPointerCapture(H.pointerId)&&H.currentTarget.releasePointerCapture(H.pointerId),ye.current={active:!1,startX:0,startY:0,basePanX:0,basePanY:0,pointerId:null},Fe(!1);return}if(H.currentTarget.hasPointerCapture(H.pointerId)&&H.currentTarget.releasePointerCapture(H.pointerId),fe.activeTool==="select"){pe.current.mode==="move"&&pe.current.didMove&&fe.commitSelectedMove(),pe.current.mode==="box"&&fe.selectionBox&&fe.endSelectionBox(l2({box:o2(fe.selectionBox),annotations:fe.toPayload()})),pe.current={mode:null,lastPoint:null,didMove:!1};return}if(fe.activeTool!=="memo"){if(fe.activeTool==="eraser"){fe.eraserMode==="brush"&&fe.endEraserStroke();return}fe.endDrawing()}}},xn=M.useCallback(async(H=vt)=>{if(!(!J.current||!e||H.length===0)){On(!0);try{const ge=await y2({imageElement:J.current,seeds:H,tolerance:Ot});Rt(ge),bt(ge.stats)}catch{N(B("canvas.toolbar.cleanupFailed"),!0)}finally{On(!1)}}},[vt,Ot,e,N,B]),Sn=M.useCallback(async()=>{if(!J.current||!e)return null;on();const H=vt.length>0?vt:wv();vt.length===0&&kt(H),On(!0);try{const ge=await g2({imageElement:J.current,seeds:H,tolerance:Ot});return pn(ge),Rt(null),bt(ge.stats),ge}catch{return N(B("canvas.toolbar.cleanupFailed"),!0),null}finally{On(!1)}},[vt,Ot,e,N,B]),st=()=>{on();const H=wv();kt(H),pn(null),Rt(null),bt(null),Jn(!1),xn(H)},or=()=>{on(),Jn(H=>!H)},rr=H=>{on(),Wo(H),pn(null),Rt(null),bt(null)},wn=()=>{on(),Aa()},Bn=async()=>{if(!e)return;const H=te.current??e;if(!H?.filename){N(B("canvas.toolbar.cleanupFailed"),!0);return}gn(!0),rt("saving");try{on();const ge=$t??await Sn();if(!ge){rt("error");return}const Ee=await By({sourceFilename:H.canvasSourceFilename??H.filename,image:ge.blob,prompt:H.prompt}),ze=Zf(Ee.item,H);he.current=ge.dataUrl,Je(ze),Q(ze),await A(ze),rt("saved"),pn(null),Rt(null),bt(ge.stats),Jn(!1),N(B("canvas.toolbar.cleanupApplied"))}catch{rt("error"),N(B("canvas.toolbar.cleanupFailed"),!0)}finally{gn(!1)}},po=M.useCallback(async()=>{if(!J.current||!e)return null;const H=te.current??e;if(!H?.filename)return N(B("canvas.version.failed"),!0),null;an(!0),rt("saving");try{const ge=await zb({imageElement:J.current,paths:fe.paths,boxes:fe.boxes,memos:fe.memos});he.current=ge.dataUrl;const Ee=Ue?.filename?await y_(Ue.filename,{image:ge.blob,sourceFilename:H.canvasSourceFilename??H.filename,prompt:H.prompt}):await By({sourceFilename:H.filename,image:ge.blob,prompt:H.prompt}),ze=Zf(Ee.item,H);return Je(ze),Q(ze),await A(ze),await Ly(H.filename).catch(()=>{}),fe.resetLocal(),fe.markSaved(),rt("saved"),N(B("canvas.version.saved")),ze}catch{return rt("error"),N(B("canvas.version.failed"),!0),null}finally{an(!1)}},[fe,Q,A,Ue?.filename,e,N,B]),go=async()=>{await po()},ta=async()=>{(fe.hasAnnotations||fe.isDirty)&&!await po()||(I(),ot())};M.useEffect(()=>{if(!w)return;const H=ge=>{if(_a(ge.target)){ge.key==="Escape"&&(ge.preventDefault(),ge.target.blur(),fe.focusMemo(null));return}if(ge.key==="Escape"){ge.preventDefault(),ta();return}if((ge.metaKey||ge.ctrlKey)&&ge.key.toLowerCase()==="z"){if(ge.preventDefault(),ge.shiftKey){fe.redo();return}if(rn())return;fe.undo()}};return window.addEventListener("keydown",H),()=>window.removeEventListener("keydown",H)},[fe.focusMemo,fe.redo,fe.undo,w,ta]);const li=async()=>{if(!(!J.current||!e)){kn(!0);try{const H=ce==="matte",ge=await c2({imageElement:J.current,paths:fe.paths,boxes:fe.boxes,memos:fe.memos,background:H?{mode:"matte",color:z}:{mode:"alpha"}});d2(ge,u2({matte:H}))}catch{N(B("canvas.toolbar.exportFailed"),!0)}finally{kn(!1)}}},Da=async()=>{if(!(!J.current||!xt||fe.boxes.length===0)){Qn(!0);try{let H=he.current;if(fe.isDirty||fe.hasAnnotations){if(!await po())return;H=he.current}H||(H=await t2(J.current));const ge=fe.boxes.filter(na=>fe.selectedIds.some(ir=>io(ir,"box",na.id))),Ee=await Sm(await e2({imageElement:J.current,boxes:ge.length>0?ge:fe.boxes})),ze=xt.prompt??e?.prompt??"";if(!ze.trim()){N(B("toast.noPromptToFork"),!0);return}const Hn=await r_({prompt:ze,image:H,mask:Ee,quality:y,size:xt.size??e?.size??k(),format:v,moderation:b,provider:S,n:1,model:_,reasoningEffort:E,mode:T,webSearchEnabled:C});await re(K2(Hn,ze))}catch(H){const ge=H.code;N(B(ge==="EDIT_MASK_NOT_SUPPORTED"?"canvas.toolbar.editMaskUnsupported":"canvas.toolbar.editMaskFailed"),!0)}finally{Qn(!1)}}};return c.jsxs("main",{className:`canvas${w?" canvas--mode-open":""}${r?" canvas--drop-active":""}${ve?" canvas--space-held":""}${De?" canvas--pan-active":""}${zn?" canvas--zoom-hand":""}`,onDragOver:si,onDragLeave:ar,onDrop:ea,children:[r?c.jsx("div",{className:"canvas__drop-overlay","aria-hidden":!0,children:c.jsx("span",{className:"canvas__drop-hint",children:B("canvas.drop.hint")})}):null,w&&c.jsxs("div",{className:"canvas-mode-topbar",children:[c.jsxs("div",{className:"canvas-mode-topbar__stack",children:[c.jsx("span",{className:"canvas-mode-topbar__label",children:"Canvas Mode"}),c.jsx(U2,{zoom:O,onZoomIn:()=>Z(O+.1),onZoomOut:()=>Z(O-.1),onZoomReset:ae}),c.jsx("span",{className:"canvas-mode-topbar__shortcuts",children:B("canvas.toolbar.zoomShortcutHint")})]}),c.jsxs("button",{type:"button",className:"canvas-mode-close",onClick:()=>{ta()},"aria-label":B("canvas.close"),children:[c.jsx("kbd",{children:"ESC"}),c.jsx("span",{children:B("canvas.close")})]})]}),c.jsx("div",{className:`progress-bar${p>0?" active":""}`}),u?c.jsx(zC,{}):e?c.jsxs("div",{className:"result-container visible",tabIndex:0,onMouseDown:vn,onWheel:Ra,onKeyDown:_t,"aria-label":B("canvas.imageViewerAria"),children:[c.jsxs("div",{ref:G,className:`canvas-annotation-frame${(L||$t)&&w?" canvas-annotation-frame--alpha":""}${it&&w?" canvas-annotation-frame--cleanup-picking":""}${Ta&&w?" canvas-annotation-frame--cleanup-mask":""}`,onPointerDown:ho,onPointerMove:Ln,onPointerUp:bn,onPointerCancel:bn,style:{cursor:De?"grabbing":ve||zn?"grab":w?it?"crosshair":fe.activeTool==="select"?"default":fe.activeTool==="eraser"?fe.eraserMode==="object"?G2:F2:"crosshair":"zoom-in",transform:w?`translate(${q}px, ${X}px) scale(${O})`:void 0,transition:w&&!De?"transform 0.2s ease":void 0},children:[c.jsx("img",{ref:J,className:"result-img",src:ja??e.image,alt:B("canvas.resultAlt"),onDoubleClick:H=>{H.stopPropagation(),P()}},`${xt?.filename??xt?.url??xt?.image}:${xt?.canvasMergedAt??""}`),w&&Ta?c.jsx("img",{className:"canvas-background-cleanup-mask",src:Ta.dataUrl,alt:"","aria-hidden":"true"}):null,w&&c.jsxs(c.Fragment,{children:[c.jsx(v2,{paths:fe.paths,boxes:fe.boxes,memos:fe.memos,selectedIds:fe.selectedIds,selectionBox:fe.selectionBox,activePath:fe.activePath,activeBox:fe.activeBox}),c.jsx(b2,{memos:fe.memos,activeMemoId:fe.activeMemoId,onUpdate:fe.updateMemo,onDelete:fe.deleteMemo,onFocus:fe.focusMemo,onCommit:fe.commitMemoEdit})]})]}),w&&ja?c.jsx(H2,{imageSrc:ja,zoom:O,panX:q,panY:X,resetLabel:B("canvas.toolbar.zoomReset"),onReset:ae}):null,w&&c.jsx(E2,{activeTool:fe.activeTool,eraserMode:fe.eraserMode,onEraserModeChange:fe.setEraserMode,style:{color:fe.toolColor,strokeWidth:fe.strokeWidth},onStyleChange:fe.setStyle,hasExportableContent:fe.hasAnnotations,onToolChange:fe.setTool,onClear:fe.clear,onApply:()=>{go()},onExport:()=>{li()},onUndo:fe.undo,onRedo:fe.redo,canUndo:fe.canUndo,canRedo:fe.canRedo,onDeleteSelected:fe.deleteSelected,selectedCount:fe.selectedIds.length,onEditWithMask:()=>{Da()},canEditWithMask:fe.boxes.length>0,isEditingWithMask:yt,isApplying:Ft,isExporting:Zn,exportBackground:ce,exportMatteColor:z,onExportBackgroundChange:D,onExportMatteColorChange:R,cleanupTolerance:Ot,cleanupSeedCount:vt.length,cleanupStats:wt,cleanupHasPreview:!!$t,isCleanupPickingSeed:it,isCleanupPreviewing:ri,isCleanupApplying:Ma,onCleanupAutoSample:st,onCleanupPickSeed:or,onCleanupToleranceChange:rr,onCleanupPreview:()=>{Sn()},onCleanupApply:()=>{Bn()},onCleanupReset:wn}),w&&jt!=="idle"?c.jsx("div",{className:`canvas-save-state canvas-save-state--${jt}`,children:B(jt==="saving"?"canvas.version.saving":jt==="saved"?"canvas.version.saved":"canvas.version.failed")}):null,c.jsx("div",{className:"result-meta",children:[e.elapsed!=null?`${e.elapsed}s`:null,e.usage?B("canvas.tokens",{n:e.usage.total_tokens??"?"}):null,ii,er,uo,e.provider??null].filter(H=>!!H).join(" · ")}),c.jsx(OC,{imageOverride:w?xt:null}),e.prompt?c.jsx("div",{className:"result-prompt",onClick:Wn,children:e.prompt}):null]}):null]})}function gt(e){if(typeof e=="string"||typeof e=="number")return""+e;let a="";if(Array.isArray(e))for(let o=0,r;o<e.length;o++)(r=gt(e[o]))!==""&&(a+=(a&&" ")+r);else for(let o in e)e[o]&&(a+=(a&&" ")+o);return a}var Z2={value:()=>{}};function qc(){for(var e=0,a=arguments.length,o={},r;e<a;++e){if(!(r=arguments[e]+"")||r in o||/[\s.]/.test(r))throw new Error("illegal type: "+r);o[r]=[]}return new Sc(o)}function Sc(e){this._=e}function Q2(e,a){return e.trim().split(/^|\s+/).map(function(o){var r="",s=o.indexOf(".");if(s>=0&&(r=o.slice(s+1),o=o.slice(0,s)),o&&!a.hasOwnProperty(o))throw new Error("unknown type: "+o);return{type:o,name:r}})}Sc.prototype=qc.prototype={constructor:Sc,on:function(e,a){var o=this._,r=Q2(e+"",o),s,u=-1,d=r.length;if(arguments.length<2){for(;++u<d;)if((s=(e=r[u]).type)&&(s=J2(o[s],e.name)))return s;return}if(a!=null&&typeof a!="function")throw new Error("invalid callback: "+a);for(;++u<d;)if(s=(e=r[u]).type)o[s]=Ev(o[s],e.name,a);else if(a==null)for(s in o)o[s]=Ev(o[s],e.name,null);return this},copy:function(){var e={},a=this._;for(var o in a)e[o]=a[o].slice();return new Sc(e)},call:function(e,a){if((s=arguments.length-2)>0)for(var o=new Array(s),r=0,s,u;r<s;++r)o[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(u=this._[e],r=0,s=u.length;r<s;++r)u[r].value.apply(a,o)},apply:function(e,a,o){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var r=this._[e],s=0,u=r.length;s<u;++s)r[s].value.apply(a,o)}};function J2(e,a){for(var o=0,r=e.length,s;o<r;++o)if((s=e[o]).name===a)return s.value}function Ev(e,a,o){for(var r=0,s=e.length;r<s;++r)if(e[r].name===a){e[r]=Z2,e=e.slice(0,r).concat(e.slice(r+1));break}return o!=null&&e.push({name:a,value:o}),e}var Qf="http://www.w3.org/1999/xhtml";const Cv={svg:"http://www.w3.org/2000/svg",xhtml:Qf,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Gc(e){var a=e+="",o=a.indexOf(":");return o>=0&&(a=e.slice(0,o))!=="xmlns"&&(e=e.slice(o+1)),Cv.hasOwnProperty(a)?{space:Cv[a],local:e}:e}function W2(e){return function(){var a=this.ownerDocument,o=this.namespaceURI;return o===Qf&&a.documentElement.namespaceURI===Qf?a.createElement(e):a.createElementNS(o,e)}}function eT(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Pb(e){var a=Gc(e);return(a.local?eT:W2)(a)}function tT(){}function _m(e){return e==null?tT:function(){return this.querySelector(e)}}function nT(e){typeof e!="function"&&(e=_m(e));for(var a=this._groups,o=a.length,r=new Array(o),s=0;s<o;++s)for(var u=a[s],d=u.length,m=r[s]=new Array(d),g,p,y=0;y<d;++y)(g=u[y])&&(p=e.call(g,g.__data__,y,u))&&("__data__"in g&&(p.__data__=g.__data__),m[y]=p);return new nn(r,this._parents)}function aT(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function oT(){return[]}function qb(e){return e==null?oT:function(){return this.querySelectorAll(e)}}function rT(e){return function(){return aT(e.apply(this,arguments))}}function iT(e){typeof e=="function"?e=rT(e):e=qb(e);for(var a=this._groups,o=a.length,r=[],s=[],u=0;u<o;++u)for(var d=a[u],m=d.length,g,p=0;p<m;++p)(g=d[p])&&(r.push(e.call(g,g.__data__,p,d)),s.push(g));return new nn(r,s)}function Gb(e){return function(){return this.matches(e)}}function Fb(e){return function(a){return a.matches(e)}}var sT=Array.prototype.find;function lT(e){return function(){return sT.call(this.children,e)}}function cT(){return this.firstElementChild}function uT(e){return this.select(e==null?cT:lT(typeof e=="function"?e:Fb(e)))}var dT=Array.prototype.filter;function fT(){return Array.from(this.children)}function mT(e){return function(){return dT.call(this.children,e)}}function hT(e){return this.selectAll(e==null?fT:mT(typeof e=="function"?e:Fb(e)))}function pT(e){typeof e!="function"&&(e=Gb(e));for(var a=this._groups,o=a.length,r=new Array(o),s=0;s<o;++s)for(var u=a[s],d=u.length,m=r[s]=[],g,p=0;p<d;++p)(g=u[p])&&e.call(g,g.__data__,p,u)&&m.push(g);return new nn(r,this._parents)}function $b(e){return new Array(e.length)}function gT(){return new nn(this._enter||this._groups.map($b),this._parents)}function Ac(e,a){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=a}Ac.prototype={constructor:Ac,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,a){return this._parent.insertBefore(e,a)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function yT(e){return function(){return e}}function vT(e,a,o,r,s,u){for(var d=0,m,g=a.length,p=u.length;d<p;++d)(m=a[d])?(m.__data__=u[d],r[d]=m):o[d]=new Ac(e,u[d]);for(;d<g;++d)(m=a[d])&&(s[d]=m)}function bT(e,a,o,r,s,u,d){var m,g,p=new Map,y=a.length,v=u.length,b=new Array(y),S;for(m=0;m<y;++m)(g=a[m])&&(b[m]=S=d.call(g,g.__data__,m,a)+"",p.has(S)?s[m]=g:p.set(S,g));for(m=0;m<v;++m)S=d.call(e,u[m],m,u)+"",(g=p.get(S))?(r[m]=g,g.__data__=u[m],p.delete(S)):o[m]=new Ac(e,u[m]);for(m=0;m<y;++m)(g=a[m])&&p.get(b[m])===g&&(s[m]=g)}function xT(e){return e.__data__}function ST(e,a){if(!arguments.length)return Array.from(this,xT);var o=a?bT:vT,r=this._parents,s=this._groups;typeof e!="function"&&(e=yT(e));for(var u=s.length,d=new Array(u),m=new Array(u),g=new Array(u),p=0;p<u;++p){var y=r[p],v=s[p],b=v.length,S=wT(e.call(y,y&&y.__data__,p,r)),_=S.length,E=m[p]=new Array(_),T=d[p]=new Array(_),C=g[p]=new Array(b);o(y,v,E,T,C,S,a);for(var k=0,N=0,w,P;k<_;++k)if(w=E[k]){for(k>=N&&(N=k+1);!(P=T[N])&&++N<_;);w._next=P||null}}return d=new nn(d,r),d._enter=m,d._exit=g,d}function wT(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function _T(){return new nn(this._exit||this._groups.map($b),this._parents)}function NT(e,a,o){var r=this.enter(),s=this,u=this.exit();return typeof e=="function"?(r=e(r),r&&(r=r.selection())):r=r.append(e+""),a!=null&&(s=a(s),s&&(s=s.selection())),o==null?u.remove():o(u),r&&s?r.merge(s).order():s}function ET(e){for(var a=e.selection?e.selection():e,o=this._groups,r=a._groups,s=o.length,u=r.length,d=Math.min(s,u),m=new Array(s),g=0;g<d;++g)for(var p=o[g],y=r[g],v=p.length,b=m[g]=new Array(v),S,_=0;_<v;++_)(S=p[_]||y[_])&&(b[_]=S);for(;g<s;++g)m[g]=o[g];return new nn(m,this._parents)}function CT(){for(var e=this._groups,a=-1,o=e.length;++a<o;)for(var r=e[a],s=r.length-1,u=r[s],d;--s>=0;)(d=r[s])&&(u&&d.compareDocumentPosition(u)^4&&u.parentNode.insertBefore(d,u),u=d);return this}function TT(e){e||(e=MT);function a(v,b){return v&&b?e(v.__data__,b.__data__):!v-!b}for(var o=this._groups,r=o.length,s=new Array(r),u=0;u<r;++u){for(var d=o[u],m=d.length,g=s[u]=new Array(m),p,y=0;y<m;++y)(p=d[y])&&(g[y]=p);g.sort(a)}return new nn(s,this._parents).order()}function MT(e,a){return e<a?-1:e>a?1:e>=a?0:NaN}function jT(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function AT(){return Array.from(this)}function RT(){for(var e=this._groups,a=0,o=e.length;a<o;++a)for(var r=e[a],s=0,u=r.length;s<u;++s){var d=r[s];if(d)return d}return null}function DT(){let e=0;for(const a of this)++e;return e}function kT(){return!this.node()}function OT(e){for(var a=this._groups,o=0,r=a.length;o<r;++o)for(var s=a[o],u=0,d=s.length,m;u<d;++u)(m=s[u])&&e.call(m,m.__data__,u,s);return this}function zT(e){return function(){this.removeAttribute(e)}}function IT(e){return function(){this.removeAttributeNS(e.space,e.local)}}function LT(e,a){return function(){this.setAttribute(e,a)}}function BT(e,a){return function(){this.setAttributeNS(e.space,e.local,a)}}function HT(e,a){return function(){var o=a.apply(this,arguments);o==null?this.removeAttribute(e):this.setAttribute(e,o)}}function UT(e,a){return function(){var o=a.apply(this,arguments);o==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,o)}}function PT(e,a){var o=Gc(e);if(arguments.length<2){var r=this.node();return o.local?r.getAttributeNS(o.space,o.local):r.getAttribute(o)}return this.each((a==null?o.local?IT:zT:typeof a=="function"?o.local?UT:HT:o.local?BT:LT)(o,a))}function Vb(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function qT(e){return function(){this.style.removeProperty(e)}}function GT(e,a,o){return function(){this.style.setProperty(e,a,o)}}function FT(e,a,o){return function(){var r=a.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,o)}}function $T(e,a,o){return arguments.length>1?this.each((a==null?qT:typeof a=="function"?FT:GT)(e,a,o??"")):Zr(this.node(),e)}function Zr(e,a){return e.style.getPropertyValue(a)||Vb(e).getComputedStyle(e,null).getPropertyValue(a)}function VT(e){return function(){delete this[e]}}function YT(e,a){return function(){this[e]=a}}function XT(e,a){return function(){var o=a.apply(this,arguments);o==null?delete this[e]:this[e]=o}}function KT(e,a){return arguments.length>1?this.each((a==null?VT:typeof a=="function"?XT:YT)(e,a)):this.node()[e]}function Yb(e){return e.trim().split(/^|\s+/)}function Nm(e){return e.classList||new Xb(e)}function Xb(e){this._node=e,this._names=Yb(e.getAttribute("class")||"")}Xb.prototype={add:function(e){var a=this._names.indexOf(e);a<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var a=this._names.indexOf(e);a>=0&&(this._names.splice(a,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function Kb(e,a){for(var o=Nm(e),r=-1,s=a.length;++r<s;)o.add(a[r])}function Zb(e,a){for(var o=Nm(e),r=-1,s=a.length;++r<s;)o.remove(a[r])}function ZT(e){return function(){Kb(this,e)}}function QT(e){return function(){Zb(this,e)}}function JT(e,a){return function(){(a.apply(this,arguments)?Kb:Zb)(this,e)}}function WT(e,a){var o=Yb(e+"");if(arguments.length<2){for(var r=Nm(this.node()),s=-1,u=o.length;++s<u;)if(!r.contains(o[s]))return!1;return!0}return this.each((typeof a=="function"?JT:a?ZT:QT)(o,a))}function eM(){this.textContent=""}function tM(e){return function(){this.textContent=e}}function nM(e){return function(){var a=e.apply(this,arguments);this.textContent=a??""}}function aM(e){return arguments.length?this.each(e==null?eM:(typeof e=="function"?nM:tM)(e)):this.node().textContent}function oM(){this.innerHTML=""}function rM(e){return function(){this.innerHTML=e}}function iM(e){return function(){var a=e.apply(this,arguments);this.innerHTML=a??""}}function sM(e){return arguments.length?this.each(e==null?oM:(typeof e=="function"?iM:rM)(e)):this.node().innerHTML}function lM(){this.nextSibling&&this.parentNode.appendChild(this)}function cM(){return this.each(lM)}function uM(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function dM(){return this.each(uM)}function fM(e){var a=typeof e=="function"?e:Pb(e);return this.select(function(){return this.appendChild(a.apply(this,arguments))})}function mM(){return null}function hM(e,a){var o=typeof e=="function"?e:Pb(e),r=a==null?mM:typeof a=="function"?a:_m(a);return this.select(function(){return this.insertBefore(o.apply(this,arguments),r.apply(this,arguments)||null)})}function pM(){var e=this.parentNode;e&&e.removeChild(this)}function gM(){return this.each(pM)}function yM(){var e=this.cloneNode(!1),a=this.parentNode;return a?a.insertBefore(e,this.nextSibling):e}function vM(){var e=this.cloneNode(!0),a=this.parentNode;return a?a.insertBefore(e,this.nextSibling):e}function bM(e){return this.select(e?vM:yM)}function xM(e){return arguments.length?this.property("__data__",e):this.node().__data__}function SM(e){return function(a){e.call(this,a,this.__data__)}}function wM(e){return e.trim().split(/^|\s+/).map(function(a){var o="",r=a.indexOf(".");return r>=0&&(o=a.slice(r+1),a=a.slice(0,r)),{type:a,name:o}})}function _M(e){return function(){var a=this.__on;if(a){for(var o=0,r=-1,s=a.length,u;o<s;++o)u=a[o],(!e.type||u.type===e.type)&&u.name===e.name?this.removeEventListener(u.type,u.listener,u.options):a[++r]=u;++r?a.length=r:delete this.__on}}}function NM(e,a,o){return function(){var r=this.__on,s,u=SM(a);if(r){for(var d=0,m=r.length;d<m;++d)if((s=r[d]).type===e.type&&s.name===e.name){this.removeEventListener(s.type,s.listener,s.options),this.addEventListener(s.type,s.listener=u,s.options=o),s.value=a;return}}this.addEventListener(e.type,u,o),s={type:e.type,name:e.name,value:a,listener:u,options:o},r?r.push(s):this.__on=[s]}}function EM(e,a,o){var r=wM(e+""),s,u=r.length,d;if(arguments.length<2){var m=this.node().__on;if(m){for(var g=0,p=m.length,y;g<p;++g)for(s=0,y=m[g];s<u;++s)if((d=r[s]).type===y.type&&d.name===y.name)return y.value}return}for(m=a?NM:_M,s=0;s<u;++s)this.each(m(r[s],a,o));return this}function Qb(e,a,o){var r=Vb(e),s=r.CustomEvent;typeof s=="function"?s=new s(a,o):(s=r.document.createEvent("Event"),o?(s.initEvent(a,o.bubbles,o.cancelable),s.detail=o.detail):s.initEvent(a,!1,!1)),e.dispatchEvent(s)}function CM(e,a){return function(){return Qb(this,e,a)}}function TM(e,a){return function(){return Qb(this,e,a.apply(this,arguments))}}function MM(e,a){return this.each((typeof a=="function"?TM:CM)(e,a))}function*jM(){for(var e=this._groups,a=0,o=e.length;a<o;++a)for(var r=e[a],s=0,u=r.length,d;s<u;++s)(d=r[s])&&(yield d)}var Jb=[null];function nn(e,a){this._groups=e,this._parents=a}function As(){return new nn([[document.documentElement]],Jb)}function AM(){return this}nn.prototype=As.prototype={constructor:nn,select:nT,selectAll:iT,selectChild:uT,selectChildren:hT,filter:pT,data:ST,enter:gT,exit:_T,join:NT,merge:ET,selection:AM,order:CT,sort:TT,call:jT,nodes:AT,node:RT,size:DT,empty:kT,each:OT,attr:PT,style:$T,property:KT,classed:WT,text:aM,html:sM,raise:cM,lower:dM,append:fM,insert:hM,remove:gM,clone:bM,datum:xM,on:EM,dispatch:MM,[Symbol.iterator]:jM};function tn(e){return typeof e=="string"?new nn([[document.querySelector(e)]],[document.documentElement]):new nn([[e]],Jb)}function RM(e){let a;for(;a=e.sourceEvent;)e=a;return e}function Mn(e,a){if(e=RM(e),a===void 0&&(a=e.currentTarget),a){var o=a.ownerSVGElement||a;if(o.createSVGPoint){var r=o.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(a.getScreenCTM().inverse()),[r.x,r.y]}if(a.getBoundingClientRect){var s=a.getBoundingClientRect();return[e.clientX-s.left-a.clientLeft,e.clientY-s.top-a.clientTop]}}return[e.pageX,e.pageY]}const DM={passive:!1},bs={capture:!0,passive:!1};function Tf(e){e.stopImmediatePropagation()}function Xr(e){e.preventDefault(),e.stopImmediatePropagation()}function Wb(e){var a=e.document.documentElement,o=tn(e).on("dragstart.drag",Xr,bs);"onselectstart"in a?o.on("selectstart.drag",Xr,bs):(a.__noselect=a.style.MozUserSelect,a.style.MozUserSelect="none")}function ex(e,a){var o=e.document.documentElement,r=tn(e).on("dragstart.drag",null);a&&(r.on("click.drag",Xr,bs),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in o?r.on("selectstart.drag",null):(o.style.MozUserSelect=o.__noselect,delete o.__noselect)}const oc=e=>()=>e;function Jf(e,{sourceEvent:a,subject:o,target:r,identifier:s,active:u,x:d,y:m,dx:g,dy:p,dispatch:y}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:a,enumerable:!0,configurable:!0},subject:{value:o,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:s,enumerable:!0,configurable:!0},active:{value:u,enumerable:!0,configurable:!0},x:{value:d,enumerable:!0,configurable:!0},y:{value:m,enumerable:!0,configurable:!0},dx:{value:g,enumerable:!0,configurable:!0},dy:{value:p,enumerable:!0,configurable:!0},_:{value:y}})}Jf.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function kM(e){return!e.ctrlKey&&!e.button}function OM(){return this.parentNode}function zM(e,a){return a??{x:e.x,y:e.y}}function IM(){return navigator.maxTouchPoints||"ontouchstart"in this}function tx(){var e=kM,a=OM,o=zM,r=IM,s={},u=qc("start","drag","end"),d=0,m,g,p,y,v=0;function b(w){w.on("mousedown.drag",S).filter(r).on("touchstart.drag",T).on("touchmove.drag",C,DM).on("touchend.drag touchcancel.drag",k).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function S(w,P){if(!(y||!e.call(this,w,P))){var I=N(this,a.call(this,w,P),w,P,"mouse");I&&(tn(w.view).on("mousemove.drag",_,bs).on("mouseup.drag",E,bs),Wb(w.view),Tf(w),p=!1,m=w.clientX,g=w.clientY,I("start",w))}}function _(w){if(Xr(w),!p){var P=w.clientX-m,I=w.clientY-g;p=P*P+I*I>v}s.mouse("drag",w)}function E(w){tn(w.view).on("mousemove.drag mouseup.drag",null),ex(w.view,p),Xr(w),s.mouse("end",w)}function T(w,P){if(e.call(this,w,P)){var I=w.changedTouches,O=a.call(this,w,P),q=I.length,X,ue;for(X=0;X<q;++X)(ue=N(this,O,w,P,I[X].identifier,I[X]))&&(Tf(w),ue("start",w,I[X]))}}function C(w){var P=w.changedTouches,I=P.length,O,q;for(O=0;O<I;++O)(q=s[P[O].identifier])&&(Xr(w),q("drag",w,P[O]))}function k(w){var P=w.changedTouches,I=P.length,O,q;for(y&&clearTimeout(y),y=setTimeout(function(){y=null},500),O=0;O<I;++O)(q=s[P[O].identifier])&&(Tf(w),q("end",w,P[O]))}function N(w,P,I,O,q,X){var ue=u.copy(),Z=Mn(X||I,P),ae,ce,z;if((z=o.call(w,new Jf("beforestart",{sourceEvent:I,target:b,identifier:q,active:d,x:Z[0],y:Z[1],dx:0,dy:0,dispatch:ue}),O))!=null)return ae=z.x-Z[0]||0,ce=z.y-Z[1]||0,function D(R,L,$){var Q=Z,re;switch(R){case"start":s[q]=D,re=d++;break;case"end":delete s[q],--d;case"drag":Z=Mn($||L,P),re=d;break}ue.call(R,w,new Jf(R,{sourceEvent:L,subject:z,target:b,identifier:q,active:re,x:Z[0]+ae,y:Z[1]+ce,dx:Z[0]-Q[0],dy:Z[1]-Q[1],dispatch:ue}),O)}}return b.filter=function(w){return arguments.length?(e=typeof w=="function"?w:oc(!!w),b):e},b.container=function(w){return arguments.length?(a=typeof w=="function"?w:oc(w),b):a},b.subject=function(w){return arguments.length?(o=typeof w=="function"?w:oc(w),b):o},b.touchable=function(w){return arguments.length?(r=typeof w=="function"?w:oc(!!w),b):r},b.on=function(){var w=u.on.apply(u,arguments);return w===u?b:w},b.clickDistance=function(w){return arguments.length?(v=(w=+w)*w,b):Math.sqrt(v)},b}function Em(e,a,o){e.prototype=a.prototype=o,o.constructor=e}function nx(e,a){var o=Object.create(e.prototype);for(var r in a)o[r]=a[r];return o}function Rs(){}var xs=.7,Rc=1/xs,Kr="\\s*([+-]?\\d+)\\s*",Ss="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Vn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",LM=/^#([0-9a-f]{3,8})$/,BM=new RegExp(`^rgb\\(${Kr},${Kr},${Kr}\\)$`),HM=new RegExp(`^rgb\\(${Vn},${Vn},${Vn}\\)$`),UM=new RegExp(`^rgba\\(${Kr},${Kr},${Kr},${Ss}\\)$`),PM=new RegExp(`^rgba\\(${Vn},${Vn},${Vn},${Ss}\\)$`),qM=new RegExp(`^hsl\\(${Ss},${Vn},${Vn}\\)$`),GM=new RegExp(`^hsla\\(${Ss},${Vn},${Vn},${Ss}\\)$`),Tv={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};Em(Rs,Yo,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Mv,formatHex:Mv,formatHex8:FM,formatHsl:$M,formatRgb:jv,toString:jv});function Mv(){return this.rgb().formatHex()}function FM(){return this.rgb().formatHex8()}function $M(){return ax(this).formatHsl()}function jv(){return this.rgb().formatRgb()}function Yo(e){var a,o;return e=(e+"").trim().toLowerCase(),(a=LM.exec(e))?(o=a[1].length,a=parseInt(a[1],16),o===6?Av(a):o===3?new Gt(a>>8&15|a>>4&240,a>>4&15|a&240,(a&15)<<4|a&15,1):o===8?rc(a>>24&255,a>>16&255,a>>8&255,(a&255)/255):o===4?rc(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=BM.exec(e))?new Gt(a[1],a[2],a[3],1):(a=HM.exec(e))?new Gt(a[1]*255/100,a[2]*255/100,a[3]*255/100,1):(a=UM.exec(e))?rc(a[1],a[2],a[3],a[4]):(a=PM.exec(e))?rc(a[1]*255/100,a[2]*255/100,a[3]*255/100,a[4]):(a=qM.exec(e))?kv(a[1],a[2]/100,a[3]/100,1):(a=GM.exec(e))?kv(a[1],a[2]/100,a[3]/100,a[4]):Tv.hasOwnProperty(e)?Av(Tv[e]):e==="transparent"?new Gt(NaN,NaN,NaN,0):null}function Av(e){return new Gt(e>>16&255,e>>8&255,e&255,1)}function rc(e,a,o,r){return r<=0&&(e=a=o=NaN),new Gt(e,a,o,r)}function VM(e){return e instanceof Rs||(e=Yo(e)),e?(e=e.rgb(),new Gt(e.r,e.g,e.b,e.opacity)):new Gt}function Wf(e,a,o,r){return arguments.length===1?VM(e):new Gt(e,a,o,r??1)}function Gt(e,a,o,r){this.r=+e,this.g=+a,this.b=+o,this.opacity=+r}Em(Gt,Wf,nx(Rs,{brighter(e){return e=e==null?Rc:Math.pow(Rc,e),new Gt(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?xs:Math.pow(xs,e),new Gt(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Gt(Fo(this.r),Fo(this.g),Fo(this.b),Dc(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:Rv,formatHex:Rv,formatHex8:YM,formatRgb:Dv,toString:Dv}));function Rv(){return`#${Po(this.r)}${Po(this.g)}${Po(this.b)}`}function YM(){return`#${Po(this.r)}${Po(this.g)}${Po(this.b)}${Po((isNaN(this.opacity)?1:this.opacity)*255)}`}function Dv(){const e=Dc(this.opacity);return`${e===1?"rgb(":"rgba("}${Fo(this.r)}, ${Fo(this.g)}, ${Fo(this.b)}${e===1?")":`, ${e})`}`}function Dc(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Fo(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Po(e){return e=Fo(e),(e<16?"0":"")+e.toString(16)}function kv(e,a,o,r){return r<=0?e=a=o=NaN:o<=0||o>=1?e=a=NaN:a<=0&&(e=NaN),new jn(e,a,o,r)}function ax(e){if(e instanceof jn)return new jn(e.h,e.s,e.l,e.opacity);if(e instanceof Rs||(e=Yo(e)),!e)return new jn;if(e instanceof jn)return e;e=e.rgb();var a=e.r/255,o=e.g/255,r=e.b/255,s=Math.min(a,o,r),u=Math.max(a,o,r),d=NaN,m=u-s,g=(u+s)/2;return m?(a===u?d=(o-r)/m+(o<r)*6:o===u?d=(r-a)/m+2:d=(a-o)/m+4,m/=g<.5?u+s:2-u-s,d*=60):m=g>0&&g<1?0:d,new jn(d,m,g,e.opacity)}function XM(e,a,o,r){return arguments.length===1?ax(e):new jn(e,a,o,r??1)}function jn(e,a,o,r){this.h=+e,this.s=+a,this.l=+o,this.opacity=+r}Em(jn,XM,nx(Rs,{brighter(e){return e=e==null?Rc:Math.pow(Rc,e),new jn(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?xs:Math.pow(xs,e),new jn(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,a=isNaN(e)||isNaN(this.s)?0:this.s,o=this.l,r=o+(o<.5?o:1-o)*a,s=2*o-r;return new Gt(Mf(e>=240?e-240:e+120,s,r),Mf(e,s,r),Mf(e<120?e+240:e-120,s,r),this.opacity)},clamp(){return new jn(Ov(this.h),ic(this.s),ic(this.l),Dc(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 e=Dc(this.opacity);return`${e===1?"hsl(":"hsla("}${Ov(this.h)}, ${ic(this.s)*100}%, ${ic(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Ov(e){return e=(e||0)%360,e<0?e+360:e}function ic(e){return Math.max(0,Math.min(1,e||0))}function Mf(e,a,o){return(e<60?a+(o-a)*e/60:e<180?o:e<240?a+(o-a)*(240-e)/60:a)*255}const Cm=e=>()=>e;function KM(e,a){return function(o){return e+o*a}}function ZM(e,a,o){return e=Math.pow(e,o),a=Math.pow(a,o)-e,o=1/o,function(r){return Math.pow(e+r*a,o)}}function QM(e){return(e=+e)==1?ox:function(a,o){return o-a?ZM(a,o,e):Cm(isNaN(a)?o:a)}}function ox(e,a){var o=a-e;return o?KM(e,o):Cm(isNaN(e)?a:e)}const kc=(function e(a){var o=QM(a);function r(s,u){var d=o((s=Wf(s)).r,(u=Wf(u)).r),m=o(s.g,u.g),g=o(s.b,u.b),p=ox(s.opacity,u.opacity);return function(y){return s.r=d(y),s.g=m(y),s.b=g(y),s.opacity=p(y),s+""}}return r.gamma=e,r})(1);function JM(e,a){a||(a=[]);var o=e?Math.min(a.length,e.length):0,r=a.slice(),s;return function(u){for(s=0;s<o;++s)r[s]=e[s]*(1-u)+a[s]*u;return r}}function WM(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function ej(e,a){var o=a?a.length:0,r=e?Math.min(o,e.length):0,s=new Array(r),u=new Array(o),d;for(d=0;d<r;++d)s[d]=ys(e[d],a[d]);for(;d<o;++d)u[d]=a[d];return function(m){for(d=0;d<r;++d)u[d]=s[d](m);return u}}function tj(e,a){var o=new Date;return e=+e,a=+a,function(r){return o.setTime(e*(1-r)+a*r),o}}function Fn(e,a){return e=+e,a=+a,function(o){return e*(1-o)+a*o}}function nj(e,a){var o={},r={},s;(e===null||typeof e!="object")&&(e={}),(a===null||typeof a!="object")&&(a={});for(s in a)s in e?o[s]=ys(e[s],a[s]):r[s]=a[s];return function(u){for(s in o)r[s]=o[s](u);return r}}var em=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,jf=new RegExp(em.source,"g");function aj(e){return function(){return e}}function oj(e){return function(a){return e(a)+""}}function rx(e,a){var o=em.lastIndex=jf.lastIndex=0,r,s,u,d=-1,m=[],g=[];for(e=e+"",a=a+"";(r=em.exec(e))&&(s=jf.exec(a));)(u=s.index)>o&&(u=a.slice(o,u),m[d]?m[d]+=u:m[++d]=u),(r=r[0])===(s=s[0])?m[d]?m[d]+=s:m[++d]=s:(m[++d]=null,g.push({i:d,x:Fn(r,s)})),o=jf.lastIndex;return o<a.length&&(u=a.slice(o),m[d]?m[d]+=u:m[++d]=u),m.length<2?g[0]?oj(g[0].x):aj(a):(a=g.length,function(p){for(var y=0,v;y<a;++y)m[(v=g[y]).i]=v.x(p);return m.join("")})}function ys(e,a){var o=typeof a,r;return a==null||o==="boolean"?Cm(a):(o==="number"?Fn:o==="string"?(r=Yo(a))?(a=r,kc):rx:a instanceof Yo?kc:a instanceof Date?tj:WM(a)?JM:Array.isArray(a)?ej:typeof a.valueOf!="function"&&typeof a.toString!="function"||isNaN(a)?nj:Fn)(e,a)}var zv=180/Math.PI,tm={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function ix(e,a,o,r,s,u){var d,m,g;return(d=Math.sqrt(e*e+a*a))&&(e/=d,a/=d),(g=e*o+a*r)&&(o-=e*g,r-=a*g),(m=Math.sqrt(o*o+r*r))&&(o/=m,r/=m,g/=m),e*r<a*o&&(e=-e,a=-a,g=-g,d=-d),{translateX:s,translateY:u,rotate:Math.atan2(a,e)*zv,skewX:Math.atan(g)*zv,scaleX:d,scaleY:m}}var sc;function rj(e){const a=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return a.isIdentity?tm:ix(a.a,a.b,a.c,a.d,a.e,a.f)}function ij(e){return e==null||(sc||(sc=document.createElementNS("http://www.w3.org/2000/svg","g")),sc.setAttribute("transform",e),!(e=sc.transform.baseVal.consolidate()))?tm:(e=e.matrix,ix(e.a,e.b,e.c,e.d,e.e,e.f))}function sx(e,a,o,r){function s(p){return p.length?p.pop()+" ":""}function u(p,y,v,b,S,_){if(p!==v||y!==b){var E=S.push("translate(",null,a,null,o);_.push({i:E-4,x:Fn(p,v)},{i:E-2,x:Fn(y,b)})}else(v||b)&&S.push("translate("+v+a+b+o)}function d(p,y,v,b){p!==y?(p-y>180?y+=360:y-p>180&&(p+=360),b.push({i:v.push(s(v)+"rotate(",null,r)-2,x:Fn(p,y)})):y&&v.push(s(v)+"rotate("+y+r)}function m(p,y,v,b){p!==y?b.push({i:v.push(s(v)+"skewX(",null,r)-2,x:Fn(p,y)}):y&&v.push(s(v)+"skewX("+y+r)}function g(p,y,v,b,S,_){if(p!==v||y!==b){var E=S.push(s(S)+"scale(",null,",",null,")");_.push({i:E-4,x:Fn(p,v)},{i:E-2,x:Fn(y,b)})}else(v!==1||b!==1)&&S.push(s(S)+"scale("+v+","+b+")")}return function(p,y){var v=[],b=[];return p=e(p),y=e(y),u(p.translateX,p.translateY,y.translateX,y.translateY,v,b),d(p.rotate,y.rotate,v,b),m(p.skewX,y.skewX,v,b),g(p.scaleX,p.scaleY,y.scaleX,y.scaleY,v,b),p=y=null,function(S){for(var _=-1,E=b.length,T;++_<E;)v[(T=b[_]).i]=T.x(S);return v.join("")}}}var sj=sx(rj,"px, ","px)","deg)"),lj=sx(ij,", ",")",")"),cj=1e-12;function Iv(e){return((e=Math.exp(e))+1/e)/2}function uj(e){return((e=Math.exp(e))-1/e)/2}function dj(e){return((e=Math.exp(2*e))-1)/(e+1)}const wc=(function e(a,o,r){function s(u,d){var m=u[0],g=u[1],p=u[2],y=d[0],v=d[1],b=d[2],S=y-m,_=v-g,E=S*S+_*_,T,C;if(E<cj)C=Math.log(b/p)/a,T=function(O){return[m+O*S,g+O*_,p*Math.exp(a*O*C)]};else{var k=Math.sqrt(E),N=(b*b-p*p+r*E)/(2*p*o*k),w=(b*b-p*p-r*E)/(2*b*o*k),P=Math.log(Math.sqrt(N*N+1)-N),I=Math.log(Math.sqrt(w*w+1)-w);C=(I-P)/a,T=function(O){var q=O*C,X=Iv(P),ue=p/(o*k)*(X*dj(a*q+P)-uj(P));return[m+ue*S,g+ue*_,p*X/Iv(a*q+P)]}}return T.duration=C*1e3*a/Math.SQRT2,T}return s.rho=function(u){var d=Math.max(.001,+u),m=d*d,g=m*m;return e(d,m,g)},s})(Math.SQRT2,2,4);var Qr=0,us=0,os=0,lx=1e3,Oc,ds,zc=0,Xo=0,Fc=0,ws=typeof performance=="object"&&performance.now?performance:Date,cx=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function Tm(){return Xo||(cx(fj),Xo=ws.now()+Fc)}function fj(){Xo=0}function Ic(){this._call=this._time=this._next=null}Ic.prototype=ux.prototype={constructor:Ic,restart:function(e,a,o){if(typeof e!="function")throw new TypeError("callback is not a function");o=(o==null?Tm():+o)+(a==null?0:+a),!this._next&&ds!==this&&(ds?ds._next=this:Oc=this,ds=this),this._call=e,this._time=o,nm()},stop:function(){this._call&&(this._call=null,this._time=1/0,nm())}};function ux(e,a,o){var r=new Ic;return r.restart(e,a,o),r}function mj(){Tm(),++Qr;for(var e=Oc,a;e;)(a=Xo-e._time)>=0&&e._call.call(void 0,a),e=e._next;--Qr}function Lv(){Xo=(zc=ws.now())+Fc,Qr=us=0;try{mj()}finally{Qr=0,pj(),Xo=0}}function hj(){var e=ws.now(),a=e-zc;a>lx&&(Fc-=a,zc=e)}function pj(){for(var e,a=Oc,o,r=1/0;a;)a._call?(r>a._time&&(r=a._time),e=a,a=a._next):(o=a._next,a._next=null,a=e?e._next=o:Oc=o);ds=e,nm(r)}function nm(e){if(!Qr){us&&(us=clearTimeout(us));var a=e-Xo;a>24?(e<1/0&&(us=setTimeout(Lv,e-ws.now()-Fc)),os&&(os=clearInterval(os))):(os||(zc=ws.now(),os=setInterval(hj,lx)),Qr=1,cx(Lv))}}function Bv(e,a,o){var r=new Ic;return a=a==null?0:+a,r.restart(s=>{r.stop(),e(s+a)},a,o),r}var gj=qc("start","end","cancel","interrupt"),yj=[],dx=0,Hv=1,am=2,_c=3,Uv=4,om=5,Nc=6;function $c(e,a,o,r,s,u){var d=e.__transition;if(!d)e.__transition={};else if(o in d)return;vj(e,o,{name:a,index:r,group:s,on:gj,tween:yj,time:u.time,delay:u.delay,duration:u.duration,ease:u.ease,timer:null,state:dx})}function Mm(e,a){var o=Dn(e,a);if(o.state>dx)throw new Error("too late; already scheduled");return o}function Kn(e,a){var o=Dn(e,a);if(o.state>_c)throw new Error("too late; already running");return o}function Dn(e,a){var o=e.__transition;if(!o||!(o=o[a]))throw new Error("transition not found");return o}function vj(e,a,o){var r=e.__transition,s;r[a]=o,o.timer=ux(u,0,o.time);function u(p){o.state=Hv,o.timer.restart(d,o.delay,o.time),o.delay<=p&&d(p-o.delay)}function d(p){var y,v,b,S;if(o.state!==Hv)return g();for(y in r)if(S=r[y],S.name===o.name){if(S.state===_c)return Bv(d);S.state===Uv?(S.state=Nc,S.timer.stop(),S.on.call("interrupt",e,e.__data__,S.index,S.group),delete r[y]):+y<a&&(S.state=Nc,S.timer.stop(),S.on.call("cancel",e,e.__data__,S.index,S.group),delete r[y])}if(Bv(function(){o.state===_c&&(o.state=Uv,o.timer.restart(m,o.delay,o.time),m(p))}),o.state=am,o.on.call("start",e,e.__data__,o.index,o.group),o.state===am){for(o.state=_c,s=new Array(b=o.tween.length),y=0,v=-1;y<b;++y)(S=o.tween[y].value.call(e,e.__data__,o.index,o.group))&&(s[++v]=S);s.length=v+1}}function m(p){for(var y=p<o.duration?o.ease.call(null,p/o.duration):(o.timer.restart(g),o.state=om,1),v=-1,b=s.length;++v<b;)s[v].call(e,y);o.state===om&&(o.on.call("end",e,e.__data__,o.index,o.group),g())}function g(){o.state=Nc,o.timer.stop(),delete r[a];for(var p in r)return;delete e.__transition}}function Ec(e,a){var o=e.__transition,r,s,u=!0,d;if(o){a=a==null?null:a+"";for(d in o){if((r=o[d]).name!==a){u=!1;continue}s=r.state>am&&r.state<om,r.state=Nc,r.timer.stop(),r.on.call(s?"interrupt":"cancel",e,e.__data__,r.index,r.group),delete o[d]}u&&delete e.__transition}}function bj(e){return this.each(function(){Ec(this,e)})}function xj(e,a){var o,r;return function(){var s=Kn(this,e),u=s.tween;if(u!==o){r=o=u;for(var d=0,m=r.length;d<m;++d)if(r[d].name===a){r=r.slice(),r.splice(d,1);break}}s.tween=r}}function Sj(e,a,o){var r,s;if(typeof o!="function")throw new Error;return function(){var u=Kn(this,e),d=u.tween;if(d!==r){s=(r=d).slice();for(var m={name:a,value:o},g=0,p=s.length;g<p;++g)if(s[g].name===a){s[g]=m;break}g===p&&s.push(m)}u.tween=s}}function wj(e,a){var o=this._id;if(e+="",arguments.length<2){for(var r=Dn(this.node(),o).tween,s=0,u=r.length,d;s<u;++s)if((d=r[s]).name===e)return d.value;return null}return this.each((a==null?xj:Sj)(o,e,a))}function jm(e,a,o){var r=e._id;return e.each(function(){var s=Kn(this,r);(s.value||(s.value={}))[a]=o.apply(this,arguments)}),function(s){return Dn(s,r).value[a]}}function fx(e,a){var o;return(typeof a=="number"?Fn:a instanceof Yo?kc:(o=Yo(a))?(a=o,kc):rx)(e,a)}function _j(e){return function(){this.removeAttribute(e)}}function Nj(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Ej(e,a,o){var r,s=o+"",u;return function(){var d=this.getAttribute(e);return d===s?null:d===r?u:u=a(r=d,o)}}function Cj(e,a,o){var r,s=o+"",u;return function(){var d=this.getAttributeNS(e.space,e.local);return d===s?null:d===r?u:u=a(r=d,o)}}function Tj(e,a,o){var r,s,u;return function(){var d,m=o(this),g;return m==null?void this.removeAttribute(e):(d=this.getAttribute(e),g=m+"",d===g?null:d===r&&g===s?u:(s=g,u=a(r=d,m)))}}function Mj(e,a,o){var r,s,u;return function(){var d,m=o(this),g;return m==null?void this.removeAttributeNS(e.space,e.local):(d=this.getAttributeNS(e.space,e.local),g=m+"",d===g?null:d===r&&g===s?u:(s=g,u=a(r=d,m)))}}function jj(e,a){var o=Gc(e),r=o==="transform"?lj:fx;return this.attrTween(e,typeof a=="function"?(o.local?Mj:Tj)(o,r,jm(this,"attr."+e,a)):a==null?(o.local?Nj:_j)(o):(o.local?Cj:Ej)(o,r,a))}function Aj(e,a){return function(o){this.setAttribute(e,a.call(this,o))}}function Rj(e,a){return function(o){this.setAttributeNS(e.space,e.local,a.call(this,o))}}function Dj(e,a){var o,r;function s(){var u=a.apply(this,arguments);return u!==r&&(o=(r=u)&&Rj(e,u)),o}return s._value=a,s}function kj(e,a){var o,r;function s(){var u=a.apply(this,arguments);return u!==r&&(o=(r=u)&&Aj(e,u)),o}return s._value=a,s}function Oj(e,a){var o="attr."+e;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;var r=Gc(e);return this.tween(o,(r.local?Dj:kj)(r,a))}function zj(e,a){return function(){Mm(this,e).delay=+a.apply(this,arguments)}}function Ij(e,a){return a=+a,function(){Mm(this,e).delay=a}}function Lj(e){var a=this._id;return arguments.length?this.each((typeof e=="function"?zj:Ij)(a,e)):Dn(this.node(),a).delay}function Bj(e,a){return function(){Kn(this,e).duration=+a.apply(this,arguments)}}function Hj(e,a){return a=+a,function(){Kn(this,e).duration=a}}function Uj(e){var a=this._id;return arguments.length?this.each((typeof e=="function"?Bj:Hj)(a,e)):Dn(this.node(),a).duration}function Pj(e,a){if(typeof a!="function")throw new Error;return function(){Kn(this,e).ease=a}}function qj(e){var a=this._id;return arguments.length?this.each(Pj(a,e)):Dn(this.node(),a).ease}function Gj(e,a){return function(){var o=a.apply(this,arguments);if(typeof o!="function")throw new Error;Kn(this,e).ease=o}}function Fj(e){if(typeof e!="function")throw new Error;return this.each(Gj(this._id,e))}function $j(e){typeof e!="function"&&(e=Gb(e));for(var a=this._groups,o=a.length,r=new Array(o),s=0;s<o;++s)for(var u=a[s],d=u.length,m=r[s]=[],g,p=0;p<d;++p)(g=u[p])&&e.call(g,g.__data__,p,u)&&m.push(g);return new Ea(r,this._parents,this._name,this._id)}function Vj(e){if(e._id!==this._id)throw new Error;for(var a=this._groups,o=e._groups,r=a.length,s=o.length,u=Math.min(r,s),d=new Array(r),m=0;m<u;++m)for(var g=a[m],p=o[m],y=g.length,v=d[m]=new Array(y),b,S=0;S<y;++S)(b=g[S]||p[S])&&(v[S]=b);for(;m<r;++m)d[m]=a[m];return new Ea(d,this._parents,this._name,this._id)}function Yj(e){return(e+"").trim().split(/^|\s+/).every(function(a){var o=a.indexOf(".");return o>=0&&(a=a.slice(0,o)),!a||a==="start"})}function Xj(e,a,o){var r,s,u=Yj(a)?Mm:Kn;return function(){var d=u(this,e),m=d.on;m!==r&&(s=(r=m).copy()).on(a,o),d.on=s}}function Kj(e,a){var o=this._id;return arguments.length<2?Dn(this.node(),o).on.on(e):this.each(Xj(o,e,a))}function Zj(e){return function(){var a=this.parentNode;for(var o in this.__transition)if(+o!==e)return;a&&a.removeChild(this)}}function Qj(){return this.on("end.remove",Zj(this._id))}function Jj(e){var a=this._name,o=this._id;typeof e!="function"&&(e=_m(e));for(var r=this._groups,s=r.length,u=new Array(s),d=0;d<s;++d)for(var m=r[d],g=m.length,p=u[d]=new Array(g),y,v,b=0;b<g;++b)(y=m[b])&&(v=e.call(y,y.__data__,b,m))&&("__data__"in y&&(v.__data__=y.__data__),p[b]=v,$c(p[b],a,o,b,p,Dn(y,o)));return new Ea(u,this._parents,a,o)}function Wj(e){var a=this._name,o=this._id;typeof e!="function"&&(e=qb(e));for(var r=this._groups,s=r.length,u=[],d=[],m=0;m<s;++m)for(var g=r[m],p=g.length,y,v=0;v<p;++v)if(y=g[v]){for(var b=e.call(y,y.__data__,v,g),S,_=Dn(y,o),E=0,T=b.length;E<T;++E)(S=b[E])&&$c(S,a,o,E,b,_);u.push(b),d.push(y)}return new Ea(u,d,a,o)}var eA=As.prototype.constructor;function tA(){return new eA(this._groups,this._parents)}function nA(e,a){var o,r,s;return function(){var u=Zr(this,e),d=(this.style.removeProperty(e),Zr(this,e));return u===d?null:u===o&&d===r?s:s=a(o=u,r=d)}}function mx(e){return function(){this.style.removeProperty(e)}}function aA(e,a,o){var r,s=o+"",u;return function(){var d=Zr(this,e);return d===s?null:d===r?u:u=a(r=d,o)}}function oA(e,a,o){var r,s,u;return function(){var d=Zr(this,e),m=o(this),g=m+"";return m==null&&(g=m=(this.style.removeProperty(e),Zr(this,e))),d===g?null:d===r&&g===s?u:(s=g,u=a(r=d,m))}}function rA(e,a){var o,r,s,u="style."+a,d="end."+u,m;return function(){var g=Kn(this,e),p=g.on,y=g.value[u]==null?m||(m=mx(a)):void 0;(p!==o||s!==y)&&(r=(o=p).copy()).on(d,s=y),g.on=r}}function iA(e,a,o){var r=(e+="")=="transform"?sj:fx;return a==null?this.styleTween(e,nA(e,r)).on("end.style."+e,mx(e)):typeof a=="function"?this.styleTween(e,oA(e,r,jm(this,"style."+e,a))).each(rA(this._id,e)):this.styleTween(e,aA(e,r,a),o).on("end.style."+e,null)}function sA(e,a,o){return function(r){this.style.setProperty(e,a.call(this,r),o)}}function lA(e,a,o){var r,s;function u(){var d=a.apply(this,arguments);return d!==s&&(r=(s=d)&&sA(e,d,o)),r}return u._value=a,u}function cA(e,a,o){var r="style."+(e+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(a==null)return this.tween(r,null);if(typeof a!="function")throw new Error;return this.tween(r,lA(e,a,o??""))}function uA(e){return function(){this.textContent=e}}function dA(e){return function(){var a=e(this);this.textContent=a??""}}function fA(e){return this.tween("text",typeof e=="function"?dA(jm(this,"text",e)):uA(e==null?"":e+""))}function mA(e){return function(a){this.textContent=e.call(this,a)}}function hA(e){var a,o;function r(){var s=e.apply(this,arguments);return s!==o&&(a=(o=s)&&mA(s)),a}return r._value=e,r}function pA(e){var a="text";if(arguments.length<1)return(a=this.tween(a))&&a._value;if(e==null)return this.tween(a,null);if(typeof e!="function")throw new Error;return this.tween(a,hA(e))}function gA(){for(var e=this._name,a=this._id,o=hx(),r=this._groups,s=r.length,u=0;u<s;++u)for(var d=r[u],m=d.length,g,p=0;p<m;++p)if(g=d[p]){var y=Dn(g,a);$c(g,e,o,p,d,{time:y.time+y.delay+y.duration,delay:0,duration:y.duration,ease:y.ease})}return new Ea(r,this._parents,e,o)}function yA(){var e,a,o=this,r=o._id,s=o.size();return new Promise(function(u,d){var m={value:d},g={value:function(){--s===0&&u()}};o.each(function(){var p=Kn(this,r),y=p.on;y!==e&&(a=(e=y).copy(),a._.cancel.push(m),a._.interrupt.push(m),a._.end.push(g)),p.on=a}),s===0&&u()})}var vA=0;function Ea(e,a,o,r){this._groups=e,this._parents=a,this._name=o,this._id=r}function hx(){return++vA}var wa=As.prototype;Ea.prototype={constructor:Ea,select:Jj,selectAll:Wj,selectChild:wa.selectChild,selectChildren:wa.selectChildren,filter:$j,merge:Vj,selection:tA,transition:gA,call:wa.call,nodes:wa.nodes,node:wa.node,size:wa.size,empty:wa.empty,each:wa.each,on:Kj,attr:jj,attrTween:Oj,style:iA,styleTween:cA,text:fA,textTween:pA,remove:Qj,tween:wj,delay:Lj,duration:Uj,ease:qj,easeVarying:Fj,end:yA,[Symbol.iterator]:wa[Symbol.iterator]};function bA(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var xA={time:null,delay:0,duration:250,ease:bA};function SA(e,a){for(var o;!(o=e.__transition)||!(o=o[a]);)if(!(e=e.parentNode))throw new Error(`transition ${a} not found`);return o}function wA(e){var a,o;e instanceof Ea?(a=e._id,e=e._name):(a=hx(),(o=xA).time=Tm(),e=e==null?null:e+"");for(var r=this._groups,s=r.length,u=0;u<s;++u)for(var d=r[u],m=d.length,g,p=0;p<m;++p)(g=d[p])&&$c(g,e,a,p,d,o||SA(g,a));return new Ea(r,this._parents,e,a)}As.prototype.interrupt=bj;As.prototype.transition=wA;const lc=e=>()=>e;function _A(e,{sourceEvent:a,target:o,transform:r,dispatch:s}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:a,enumerable:!0,configurable:!0},target:{value:o,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:s}})}function Na(e,a,o){this.k=e,this.x=a,this.y=o}Na.prototype={constructor:Na,scale:function(e){return e===1?this:new Na(this.k*e,this.x,this.y)},translate:function(e,a){return e===0&a===0?this:new Na(this.k,this.x+this.k*e,this.y+this.k*a)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Vc=new Na(1,0,0);px.prototype=Na.prototype;function px(e){for(;!e.__zoom;)if(!(e=e.parentNode))return Vc;return e.__zoom}function Af(e){e.stopImmediatePropagation()}function rs(e){e.preventDefault(),e.stopImmediatePropagation()}function NA(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function EA(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function Pv(){return this.__zoom||Vc}function CA(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function TA(){return navigator.maxTouchPoints||"ontouchstart"in this}function MA(e,a,o){var r=e.invertX(a[0][0])-o[0][0],s=e.invertX(a[1][0])-o[1][0],u=e.invertY(a[0][1])-o[0][1],d=e.invertY(a[1][1])-o[1][1];return e.translate(s>r?(r+s)/2:Math.min(0,r)||Math.max(0,s),d>u?(u+d)/2:Math.min(0,u)||Math.max(0,d))}function gx(){var e=NA,a=EA,o=MA,r=CA,s=TA,u=[0,1/0],d=[[-1/0,-1/0],[1/0,1/0]],m=250,g=wc,p=qc("start","zoom","end"),y,v,b,S=500,_=150,E=0,T=10;function C(z){z.property("__zoom",Pv).on("wheel.zoom",q,{passive:!1}).on("mousedown.zoom",X).on("dblclick.zoom",ue).filter(s).on("touchstart.zoom",Z).on("touchmove.zoom",ae).on("touchend.zoom touchcancel.zoom",ce).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}C.transform=function(z,D,R,L){var $=z.selection?z.selection():z;$.property("__zoom",Pv),z!==$?P(z,D,R,L):$.interrupt().each(function(){I(this,arguments).event(L).start().zoom(null,typeof D=="function"?D.apply(this,arguments):D).end()})},C.scaleBy=function(z,D,R,L){C.scaleTo(z,function(){var $=this.__zoom.k,Q=typeof D=="function"?D.apply(this,arguments):D;return $*Q},R,L)},C.scaleTo=function(z,D,R,L){C.transform(z,function(){var $=a.apply(this,arguments),Q=this.__zoom,re=R==null?w($):typeof R=="function"?R.apply(this,arguments):R,A=Q.invert(re),B=typeof D=="function"?D.apply(this,arguments):D;return o(N(k(Q,B),re,A),$,d)},R,L)},C.translateBy=function(z,D,R,L){C.transform(z,function(){return o(this.__zoom.translate(typeof D=="function"?D.apply(this,arguments):D,typeof R=="function"?R.apply(this,arguments):R),a.apply(this,arguments),d)},null,L)},C.translateTo=function(z,D,R,L,$){C.transform(z,function(){var Q=a.apply(this,arguments),re=this.__zoom,A=L==null?w(Q):typeof L=="function"?L.apply(this,arguments):L;return o(Vc.translate(A[0],A[1]).scale(re.k).translate(typeof D=="function"?-D.apply(this,arguments):-D,typeof R=="function"?-R.apply(this,arguments):-R),Q,d)},L,$)};function k(z,D){return D=Math.max(u[0],Math.min(u[1],D)),D===z.k?z:new Na(D,z.x,z.y)}function N(z,D,R){var L=D[0]-R[0]*z.k,$=D[1]-R[1]*z.k;return L===z.x&&$===z.y?z:new Na(z.k,L,$)}function w(z){return[(+z[0][0]+ +z[1][0])/2,(+z[0][1]+ +z[1][1])/2]}function P(z,D,R,L){z.on("start.zoom",function(){I(this,arguments).event(L).start()}).on("interrupt.zoom end.zoom",function(){I(this,arguments).event(L).end()}).tween("zoom",function(){var $=this,Q=arguments,re=I($,Q).event(L),A=a.apply($,Q),B=R==null?w(A):typeof R=="function"?R.apply($,Q):R,G=Math.max(A[1][0]-A[0][0],A[1][1]-A[0][1]),J=$.__zoom,K=typeof D=="function"?D.apply($,Q):D,se=g(J.invert(B).concat(G/J.k),K.invert(B).concat(G/K.k));return function(V){if(V===1)V=K;else{var te=se(V),he=G/te[2];V=new Na(he,B[0]-te[0]*he,B[1]-te[1]*he)}re.zoom(null,V)}})}function I(z,D,R){return!R&&z.__zooming||new O(z,D)}function O(z,D){this.that=z,this.args=D,this.active=0,this.sourceEvent=null,this.extent=a.apply(z,D),this.taps=0}O.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,D){return this.mouse&&z!=="mouse"&&(this.mouse[1]=D.invert(this.mouse[0])),this.touch0&&z!=="touch"&&(this.touch0[1]=D.invert(this.touch0[0])),this.touch1&&z!=="touch"&&(this.touch1[1]=D.invert(this.touch1[0])),this.that.__zoom=D,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(z){var D=tn(this.that).datum();p.call(z,this.that,new _A(z,{sourceEvent:this.sourceEvent,target:C,transform:this.that.__zoom,dispatch:p}),D)}};function q(z,...D){if(!e.apply(this,arguments))return;var R=I(this,D).event(z),L=this.__zoom,$=Math.max(u[0],Math.min(u[1],L.k*Math.pow(2,r.apply(this,arguments)))),Q=Mn(z);if(R.wheel)(R.mouse[0][0]!==Q[0]||R.mouse[0][1]!==Q[1])&&(R.mouse[1]=L.invert(R.mouse[0]=Q)),clearTimeout(R.wheel);else{if(L.k===$)return;R.mouse=[Q,L.invert(Q)],Ec(this),R.start()}rs(z),R.wheel=setTimeout(re,_),R.zoom("mouse",o(N(k(L,$),R.mouse[0],R.mouse[1]),R.extent,d));function re(){R.wheel=null,R.end()}}function X(z,...D){if(b||!e.apply(this,arguments))return;var R=z.currentTarget,L=I(this,D,!0).event(z),$=tn(z.view).on("mousemove.zoom",B,!0).on("mouseup.zoom",G,!0),Q=Mn(z,R),re=z.clientX,A=z.clientY;Wb(z.view),Af(z),L.mouse=[Q,this.__zoom.invert(Q)],Ec(this),L.start();function B(J){if(rs(J),!L.moved){var K=J.clientX-re,se=J.clientY-A;L.moved=K*K+se*se>E}L.event(J).zoom("mouse",o(N(L.that.__zoom,L.mouse[0]=Mn(J,R),L.mouse[1]),L.extent,d))}function G(J){$.on("mousemove.zoom mouseup.zoom",null),ex(J.view,L.moved),rs(J),L.event(J).end()}}function ue(z,...D){if(e.apply(this,arguments)){var R=this.__zoom,L=Mn(z.changedTouches?z.changedTouches[0]:z,this),$=R.invert(L),Q=R.k*(z.shiftKey?.5:2),re=o(N(k(R,Q),L,$),a.apply(this,D),d);rs(z),m>0?tn(this).transition().duration(m).call(P,re,L,z):tn(this).call(C.transform,re,L,z)}}function Z(z,...D){if(e.apply(this,arguments)){var R=z.touches,L=R.length,$=I(this,D,z.changedTouches.length===L).event(z),Q,re,A,B;for(Af(z),re=0;re<L;++re)A=R[re],B=Mn(A,this),B=[B,this.__zoom.invert(B),A.identifier],$.touch0?!$.touch1&&$.touch0[2]!==B[2]&&($.touch1=B,$.taps=0):($.touch0=B,Q=!0,$.taps=1+!!y);y&&(y=clearTimeout(y)),Q&&($.taps<2&&(v=B[0],y=setTimeout(function(){y=null},S)),Ec(this),$.start())}}function ae(z,...D){if(this.__zooming){var R=I(this,D).event(z),L=z.changedTouches,$=L.length,Q,re,A,B;for(rs(z),Q=0;Q<$;++Q)re=L[Q],A=Mn(re,this),R.touch0&&R.touch0[2]===re.identifier?R.touch0[0]=A:R.touch1&&R.touch1[2]===re.identifier&&(R.touch1[0]=A);if(re=R.that.__zoom,R.touch1){var G=R.touch0[0],J=R.touch0[1],K=R.touch1[0],se=R.touch1[1],V=(V=K[0]-G[0])*V+(V=K[1]-G[1])*V,te=(te=se[0]-J[0])*te+(te=se[1]-J[1])*te;re=k(re,Math.sqrt(V/te)),A=[(G[0]+K[0])/2,(G[1]+K[1])/2],B=[(J[0]+se[0])/2,(J[1]+se[1])/2]}else if(R.touch0)A=R.touch0[0],B=R.touch0[1];else return;R.zoom("touch",o(N(re,A,B),R.extent,d))}}function ce(z,...D){if(this.__zooming){var R=I(this,D).event(z),L=z.changedTouches,$=L.length,Q,re;for(Af(z),b&&clearTimeout(b),b=setTimeout(function(){b=null},S),Q=0;Q<$;++Q)re=L[Q],R.touch0&&R.touch0[2]===re.identifier?delete R.touch0:R.touch1&&R.touch1[2]===re.identifier&&delete R.touch1;if(R.touch1&&!R.touch0&&(R.touch0=R.touch1,delete R.touch1),R.touch0)R.touch0[1]=this.__zoom.invert(R.touch0[0]);else if(R.end(),R.taps===2&&(re=Mn(re,this),Math.hypot(v[0]-re[0],v[1]-re[1])<T)){var A=tn(this).on("dblclick.zoom");A&&A.apply(this,arguments)}}}return C.wheelDelta=function(z){return arguments.length?(r=typeof z=="function"?z:lc(+z),C):r},C.filter=function(z){return arguments.length?(e=typeof z=="function"?z:lc(!!z),C):e},C.touchable=function(z){return arguments.length?(s=typeof z=="function"?z:lc(!!z),C):s},C.extent=function(z){return arguments.length?(a=typeof z=="function"?z:lc([[+z[0][0],+z[0][1]],[+z[1][0],+z[1][1]]]),C):a},C.scaleExtent=function(z){return arguments.length?(u[0]=+z[0],u[1]=+z[1],C):[u[0],u[1]]},C.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],C):[[d[0][0],d[0][1]],[d[1][0],d[1][1]]]},C.constrain=function(z){return arguments.length?(o=z,C):o},C.duration=function(z){return arguments.length?(m=+z,C):m},C.interpolate=function(z){return arguments.length?(g=z,C):g},C.on=function(){var z=p.on.apply(p,arguments);return z===p?C:z},C.clickDistance=function(z){return arguments.length?(E=(z=+z)*z,C):Math.sqrt(E)},C.tapDistance=function(z){return arguments.length?(T=+z,C):T},C}const Xn={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:e=>`Node type "${e}" 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:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:a,sourceHandle:o,targetHandle:r})=>`Couldn't create edge for ${e} handle id: "${e==="source"?o:r}", edge id: ${a}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/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."},_s=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],yx=["Enter"," ","Escape"],vx={"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:e,x:a,y:o})=>`Moved selected node ${e}. New position, x: ${a}, y: ${o}`,"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 Ko;(function(e){e.Strict="strict",e.Loose="loose"})(Ko||(Ko={}));var $o;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})($o||($o={}));var Ns;(function(e){e.Partial="partial",e.Full="full"})(Ns||(Ns={}));const bx={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var so;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(so||(so={}));var Lc;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(Lc||(Lc={}));var _e;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(_e||(_e={}));const qv={[_e.Left]:_e.Right,[_e.Right]:_e.Left,[_e.Top]:_e.Bottom,[_e.Bottom]:_e.Top};function xx(e){return e===null?null:e?"valid":"invalid"}const Sx=e=>"id"in e&&"source"in e&&"target"in e,jA=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),Am=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),Ds=(e,a=[0,0])=>{const{width:o,height:r}=Ca(e),s=e.origin??a,u=o*s[0],d=r*s[1];return{x:e.position.x-u,y:e.position.y-d}},AA=(e,a={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const o=e.reduce((r,s)=>{const u=typeof s=="string";let d=!a.nodeLookup&&!u?s:void 0;a.nodeLookup&&(d=u?a.nodeLookup.get(s):Am(s)?s:a.nodeLookup.get(s.id));const m=d?Bc(d,a.nodeOrigin):{x:0,y:0,x2:0,y2:0};return Yc(r,m)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return Xc(o)},ks=(e,a={})=>{let o={x:1/0,y:1/0,x2:-1/0,y2:-1/0},r=!1;return e.forEach(s=>{(a.filter===void 0||a.filter(s))&&(o=Yc(o,Bc(s)),r=!0)}),r?Xc(o):{x:0,y:0,width:0,height:0}},Rm=(e,a,[o,r,s]=[0,0,1],u=!1,d=!1)=>{const m={...zs(a,[o,r,s]),width:a.width/s,height:a.height/s},g=[];for(const p of e.values()){const{measured:y,selectable:v=!0,hidden:b=!1}=p;if(d&&!v||b)continue;const S=y.width??p.width??p.initialWidth??null,_=y.height??p.height??p.initialHeight??null,E=Es(m,Wr(p)),T=(S??0)*(_??0),C=u&&E>0;(!p.internals.handleBounds||C||E>=T||p.dragging)&&g.push(p)}return g},RA=(e,a)=>{const o=new Set;return e.forEach(r=>{o.add(r.id)}),a.filter(r=>o.has(r.source)||o.has(r.target))};function DA(e,a){const o=new Map,r=a?.nodes?new Set(a.nodes.map(s=>s.id)):null;return e.forEach(s=>{s.measured.width&&s.measured.height&&(a?.includeHiddenNodes||!s.hidden)&&(!r||r.has(s.id))&&o.set(s.id,s)}),o}async function kA({nodes:e,width:a,height:o,panZoom:r,minZoom:s,maxZoom:u},d){if(e.size===0)return Promise.resolve(!0);const m=DA(e,d),g=ks(m),p=Dm(g,a,o,d?.minZoom??s,d?.maxZoom??u,d?.padding??.1);return await r.setViewport(p,{duration:d?.duration,ease:d?.ease,interpolate:d?.interpolate}),Promise.resolve(!0)}function wx({nodeId:e,nextPosition:a,nodeLookup:o,nodeOrigin:r=[0,0],nodeExtent:s,onError:u}){const d=o.get(e),m=d.parentId?o.get(d.parentId):void 0,{x:g,y:p}=m?m.internals.positionAbsolute:{x:0,y:0},y=d.origin??r;let v=d.extent||s;if(d.extent==="parent"&&!d.expandParent)if(!m)u?.("005",Xn.error005());else{const S=m.measured.width,_=m.measured.height;S&&_&&(v=[[g,p],[g+S,p+_]])}else m&&ei(d.extent)&&(v=[[d.extent[0][0]+g,d.extent[0][1]+p],[d.extent[1][0]+g,d.extent[1][1]+p]]);const b=ei(v)?Zo(a,v,d.measured):a;return(d.measured.width===void 0||d.measured.height===void 0)&&u?.("015",Xn.error015()),{position:{x:b.x-g+(d.measured.width??0)*y[0],y:b.y-p+(d.measured.height??0)*y[1]},positionAbsolute:b}}async function OA({nodesToRemove:e=[],edgesToRemove:a=[],nodes:o,edges:r,onBeforeDelete:s}){const u=new Set(e.map(b=>b.id)),d=[];for(const b of o){if(b.deletable===!1)continue;const S=u.has(b.id),_=!S&&b.parentId&&d.find(E=>E.id===b.parentId);(S||_)&&d.push(b)}const m=new Set(a.map(b=>b.id)),g=r.filter(b=>b.deletable!==!1),y=RA(d,g);for(const b of g)m.has(b.id)&&!y.find(_=>_.id===b.id)&&y.push(b);if(!s)return{edges:y,nodes:d};const v=await s({nodes:d,edges:y});return typeof v=="boolean"?v?{edges:y,nodes:d}:{edges:[],nodes:[]}:v}const Jr=(e,a=0,o=1)=>Math.min(Math.max(e,a),o),Zo=(e={x:0,y:0},a,o)=>({x:Jr(e.x,a[0][0],a[1][0]-(o?.width??0)),y:Jr(e.y,a[0][1],a[1][1]-(o?.height??0))});function _x(e,a,o){const{width:r,height:s}=Ca(o),{x:u,y:d}=o.internals.positionAbsolute;return Zo(e,[[u,d],[u+r,d+s]],a)}const Gv=(e,a,o)=>e<a?Jr(Math.abs(e-a),1,a)/a:e>o?-Jr(Math.abs(e-o),1,a)/a:0,Nx=(e,a,o=15,r=40)=>{const s=Gv(e.x,r,a.width-r)*o,u=Gv(e.y,r,a.height-r)*o;return[s,u]},Yc=(e,a)=>({x:Math.min(e.x,a.x),y:Math.min(e.y,a.y),x2:Math.max(e.x2,a.x2),y2:Math.max(e.y2,a.y2)}),rm=({x:e,y:a,width:o,height:r})=>({x:e,y:a,x2:e+o,y2:a+r}),Xc=({x:e,y:a,x2:o,y2:r})=>({x:e,y:a,width:o-e,height:r-a}),Wr=(e,a=[0,0])=>{const{x:o,y:r}=Am(e)?e.internals.positionAbsolute:Ds(e,a);return{x:o,y:r,width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}},Bc=(e,a=[0,0])=>{const{x:o,y:r}=Am(e)?e.internals.positionAbsolute:Ds(e,a);return{x:o,y:r,x2:o+(e.measured?.width??e.width??e.initialWidth??0),y2:r+(e.measured?.height??e.height??e.initialHeight??0)}},Ex=(e,a)=>Xc(Yc(rm(e),rm(a))),Es=(e,a)=>{const o=Math.max(0,Math.min(e.x+e.width,a.x+a.width)-Math.max(e.x,a.x)),r=Math.max(0,Math.min(e.y+e.height,a.y+a.height)-Math.max(e.y,a.y));return Math.ceil(o*r)},Fv=e=>An(e.width)&&An(e.height)&&An(e.x)&&An(e.y),An=e=>!isNaN(e)&&isFinite(e),zA=(e,a)=>{},Os=(e,a=[1,1])=>({x:a[0]*Math.round(e.x/a[0]),y:a[1]*Math.round(e.y/a[1])}),zs=({x:e,y:a},[o,r,s],u=!1,d=[1,1])=>{const m={x:(e-o)/s,y:(a-r)/s};return u?Os(m,d):m},Hc=({x:e,y:a},[o,r,s])=>({x:e*s+o,y:a*s+r});function qr(e,a){if(typeof e=="number")return Math.floor((a-a/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const o=parseFloat(e);if(!Number.isNaN(o))return Math.floor(o)}if(typeof e=="string"&&e.endsWith("%")){const o=parseFloat(e);if(!Number.isNaN(o))return Math.floor(a*o*.01)}return console.error(`[React Flow] The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function IA(e,a,o){if(typeof e=="string"||typeof e=="number"){const r=qr(e,o),s=qr(e,a);return{top:r,right:s,bottom:r,left:s,x:s*2,y:r*2}}if(typeof e=="object"){const r=qr(e.top??e.y??0,o),s=qr(e.bottom??e.y??0,o),u=qr(e.left??e.x??0,a),d=qr(e.right??e.x??0,a);return{top:r,right:d,bottom:s,left:u,x:u+d,y:r+s}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function LA(e,a,o,r,s,u){const{x:d,y:m}=Hc(e,[a,o,r]),{x:g,y:p}=Hc({x:e.x+e.width,y:e.y+e.height},[a,o,r]),y=s-g,v=u-p;return{left:Math.floor(d),top:Math.floor(m),right:Math.floor(y),bottom:Math.floor(v)}}const Dm=(e,a,o,r,s,u)=>{const d=IA(u,a,o),m=(a-d.x)/e.width,g=(o-d.y)/e.height,p=Math.min(m,g),y=Jr(p,r,s),v=e.x+e.width/2,b=e.y+e.height/2,S=a/2-v*y,_=o/2-b*y,E=LA(e,S,_,y,a,o),T={left:Math.min(E.left-d.left,0),top:Math.min(E.top-d.top,0),right:Math.min(E.right-d.right,0),bottom:Math.min(E.bottom-d.bottom,0)};return{x:S-T.left+T.right,y:_-T.top+T.bottom,zoom:y}},Cs=()=>typeof navigator<"u"&&navigator?.userAgent?.indexOf("Mac")>=0;function ei(e){return e!=null&&e!=="parent"}function Ca(e){return{width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}}function Cx(e){return(e.measured?.width??e.width??e.initialWidth)!==void 0&&(e.measured?.height??e.height??e.initialHeight)!==void 0}function Tx(e,a={width:0,height:0},o,r,s){const u={...e},d=r.get(o);if(d){const m=d.origin||s;u.x+=d.internals.positionAbsolute.x-(a.width??0)*m[0],u.y+=d.internals.positionAbsolute.y-(a.height??0)*m[1]}return u}function $v(e,a){if(e.size!==a.size)return!1;for(const o of e)if(!a.has(o))return!1;return!0}function BA(){let e,a;return{promise:new Promise((r,s)=>{e=r,a=s}),resolve:e,reject:a}}function HA(e){return{...vx,...e||{}}}function vs(e,{snapGrid:a=[0,0],snapToGrid:o=!1,transform:r,containerBounds:s}){const{x:u,y:d}=Rn(e),m=zs({x:u-(s?.left??0),y:d-(s?.top??0)},r),{x:g,y:p}=o?Os(m,a):m;return{xSnapped:g,ySnapped:p,...m}}const km=e=>({width:e.offsetWidth,height:e.offsetHeight}),Mx=e=>e?.getRootNode?.()||window?.document,UA=["INPUT","SELECT","TEXTAREA"];function jx(e){const a=e.composedPath?.()?.[0]||e.target;return a?.nodeType!==1?!1:UA.includes(a.nodeName)||a.hasAttribute("contenteditable")||!!a.closest(".nokey")}const Ax=e=>"clientX"in e,Rn=(e,a)=>{const o=Ax(e),r=o?e.clientX:e.touches?.[0].clientX,s=o?e.clientY:e.touches?.[0].clientY;return{x:r-(a?.left??0),y:s-(a?.top??0)}},Vv=(e,a,o,r,s)=>{const u=a.querySelectorAll(`.${e}`);return!u||!u.length?null:Array.from(u).map(d=>{const m=d.getBoundingClientRect();return{id:d.getAttribute("data-handleid"),type:e,nodeId:s,position:d.getAttribute("data-handlepos"),x:(m.left-o.left)/r,y:(m.top-o.top)/r,...km(d)}})};function Rx({sourceX:e,sourceY:a,targetX:o,targetY:r,sourceControlX:s,sourceControlY:u,targetControlX:d,targetControlY:m}){const g=e*.125+s*.375+d*.375+o*.125,p=a*.125+u*.375+m*.375+r*.125,y=Math.abs(g-e),v=Math.abs(p-a);return[g,p,y,v]}function cc(e,a){return e>=0?.5*e:a*25*Math.sqrt(-e)}function Yv({pos:e,x1:a,y1:o,x2:r,y2:s,c:u}){switch(e){case _e.Left:return[a-cc(a-r,u),o];case _e.Right:return[a+cc(r-a,u),o];case _e.Top:return[a,o-cc(o-s,u)];case _e.Bottom:return[a,o+cc(s-o,u)]}}function Dx({sourceX:e,sourceY:a,sourcePosition:o=_e.Bottom,targetX:r,targetY:s,targetPosition:u=_e.Top,curvature:d=.25}){const[m,g]=Yv({pos:o,x1:e,y1:a,x2:r,y2:s,c:d}),[p,y]=Yv({pos:u,x1:r,y1:s,x2:e,y2:a,c:d}),[v,b,S,_]=Rx({sourceX:e,sourceY:a,targetX:r,targetY:s,sourceControlX:m,sourceControlY:g,targetControlX:p,targetControlY:y});return[`M${e},${a} C${m},${g} ${p},${y} ${r},${s}`,v,b,S,_]}function kx({sourceX:e,sourceY:a,targetX:o,targetY:r}){const s=Math.abs(o-e)/2,u=o<e?o+s:o-s,d=Math.abs(r-a)/2,m=r<a?r+d:r-d;return[u,m,s,d]}function PA({sourceNode:e,targetNode:a,selected:o=!1,zIndex:r=0,elevateOnSelect:s=!1,zIndexMode:u="basic"}){if(u==="manual")return r;const d=s&&o?r+1e3:r,m=Math.max(e.parentId||s&&e.selected?e.internals.z:0,a.parentId||s&&a.selected?a.internals.z:0);return d+m}function qA({sourceNode:e,targetNode:a,width:o,height:r,transform:s}){const u=Yc(Bc(e),Bc(a));u.x===u.x2&&(u.x2+=1),u.y===u.y2&&(u.y2+=1);const d={x:-s[0]/s[2],y:-s[1]/s[2],width:o/s[2],height:r/s[2]};return Es(d,Xc(u))>0}const GA=({source:e,sourceHandle:a,target:o,targetHandle:r})=>`xy-edge__${e}${a||""}-${o}${r||""}`,FA=(e,a)=>a.some(o=>o.source===e.source&&o.target===e.target&&(o.sourceHandle===e.sourceHandle||!o.sourceHandle&&!e.sourceHandle)&&(o.targetHandle===e.targetHandle||!o.targetHandle&&!e.targetHandle)),$A=(e,a,o={})=>{if(!e.source||!e.target)return a;const r=o.getEdgeId||GA;let s;return Sx(e)?s={...e}:s={...e,id:r(e)},FA(s,a)?a:(s.sourceHandle===null&&delete s.sourceHandle,s.targetHandle===null&&delete s.targetHandle,a.concat(s))};function Ox({sourceX:e,sourceY:a,targetX:o,targetY:r}){const[s,u,d,m]=kx({sourceX:e,sourceY:a,targetX:o,targetY:r});return[`M ${e},${a}L ${o},${r}`,s,u,d,m]}const Xv={[_e.Left]:{x:-1,y:0},[_e.Right]:{x:1,y:0},[_e.Top]:{x:0,y:-1},[_e.Bottom]:{x:0,y:1}},VA=({source:e,sourcePosition:a=_e.Bottom,target:o})=>a===_e.Left||a===_e.Right?e.x<o.x?{x:1,y:0}:{x:-1,y:0}:e.y<o.y?{x:0,y:1}:{x:0,y:-1},Kv=(e,a)=>Math.sqrt(Math.pow(a.x-e.x,2)+Math.pow(a.y-e.y,2));function YA({source:e,sourcePosition:a=_e.Bottom,target:o,targetPosition:r=_e.Top,center:s,offset:u,stepPosition:d}){const m=Xv[a],g=Xv[r],p={x:e.x+m.x*u,y:e.y+m.y*u},y={x:o.x+g.x*u,y:o.y+g.y*u},v=VA({source:p,sourcePosition:a,target:y}),b=v.x!==0?"x":"y",S=v[b];let _=[],E,T;const C={x:0,y:0},k={x:0,y:0},[,,N,w]=kx({sourceX:e.x,sourceY:e.y,targetX:o.x,targetY:o.y});if(m[b]*g[b]===-1){b==="x"?(E=s.x??p.x+(y.x-p.x)*d,T=s.y??(p.y+y.y)/2):(E=s.x??(p.x+y.x)/2,T=s.y??p.y+(y.y-p.y)*d);const q=[{x:E,y:p.y},{x:E,y:y.y}],X=[{x:p.x,y:T},{x:y.x,y:T}];m[b]===S?_=b==="x"?q:X:_=b==="x"?X:q}else{const q=[{x:p.x,y:y.y}],X=[{x:y.x,y:p.y}];if(b==="x"?_=m.x===S?X:q:_=m.y===S?q:X,a===r){const z=Math.abs(e[b]-o[b]);if(z<=u){const D=Math.min(u-1,u-z);m[b]===S?C[b]=(p[b]>e[b]?-1:1)*D:k[b]=(y[b]>o[b]?-1:1)*D}}if(a!==r){const z=b==="x"?"y":"x",D=m[b]===g[z],R=p[z]>y[z],L=p[z]<y[z];(m[b]===1&&(!D&&R||D&&L)||m[b]!==1&&(!D&&L||D&&R))&&(_=b==="x"?q:X)}const ue={x:p.x+C.x,y:p.y+C.y},Z={x:y.x+k.x,y:y.y+k.y},ae=Math.max(Math.abs(ue.x-_[0].x),Math.abs(Z.x-_[0].x)),ce=Math.max(Math.abs(ue.y-_[0].y),Math.abs(Z.y-_[0].y));ae>=ce?(E=(ue.x+Z.x)/2,T=_[0].y):(E=_[0].x,T=(ue.y+Z.y)/2)}const P={x:p.x+C.x,y:p.y+C.y},I={x:y.x+k.x,y:y.y+k.y};return[[e,...P.x!==_[0].x||P.y!==_[0].y?[P]:[],..._,...I.x!==_[_.length-1].x||I.y!==_[_.length-1].y?[I]:[],o],E,T,N,w]}function XA(e,a,o,r){const s=Math.min(Kv(e,a)/2,Kv(a,o)/2,r),{x:u,y:d}=a;if(e.x===u&&u===o.x||e.y===d&&d===o.y)return`L${u} ${d}`;if(e.y===d){const p=e.x<o.x?-1:1,y=e.y<o.y?1:-1;return`L ${u+s*p},${d}Q ${u},${d} ${u},${d+s*y}`}const m=e.x<o.x?1:-1,g=e.y<o.y?-1:1;return`L ${u},${d+s*g}Q ${u},${d} ${u+s*m},${d}`}function im({sourceX:e,sourceY:a,sourcePosition:o=_e.Bottom,targetX:r,targetY:s,targetPosition:u=_e.Top,borderRadius:d=5,centerX:m,centerY:g,offset:p=20,stepPosition:y=.5}){const[v,b,S,_,E]=YA({source:{x:e,y:a},sourcePosition:o,target:{x:r,y:s},targetPosition:u,center:{x:m,y:g},offset:p,stepPosition:y});let T=`M${v[0].x} ${v[0].y}`;for(let C=1;C<v.length-1;C++)T+=XA(v[C-1],v[C],v[C+1],d);return T+=`L${v[v.length-1].x} ${v[v.length-1].y}`,[T,b,S,_,E]}function Zv(e){return e&&!!(e.internals.handleBounds||e.handles?.length)&&!!(e.measured.width||e.width||e.initialWidth)}function KA(e){const{sourceNode:a,targetNode:o}=e;if(!Zv(a)||!Zv(o))return null;const r=a.internals.handleBounds||Qv(a.handles),s=o.internals.handleBounds||Qv(o.handles),u=Jv(r?.source??[],e.sourceHandle),d=Jv(e.connectionMode===Ko.Strict?s?.target??[]:(s?.target??[]).concat(s?.source??[]),e.targetHandle);if(!u||!d)return e.onError?.("008",Xn.error008(u?"target":"source",{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;const m=u?.position||_e.Bottom,g=d?.position||_e.Top,p=Qo(a,u,m),y=Qo(o,d,g);return{sourceX:p.x,sourceY:p.y,targetX:y.x,targetY:y.y,sourcePosition:m,targetPosition:g}}function Qv(e){if(!e)return null;const a=[],o=[];for(const r of e)r.width=r.width??1,r.height=r.height??1,r.type==="source"?a.push(r):r.type==="target"&&o.push(r);return{source:a,target:o}}function Qo(e,a,o=_e.Left,r=!1){const s=(a?.x??0)+e.internals.positionAbsolute.x,u=(a?.y??0)+e.internals.positionAbsolute.y,{width:d,height:m}=a??Ca(e);if(r)return{x:s+d/2,y:u+m/2};switch(a?.position??o){case _e.Top:return{x:s+d/2,y:u};case _e.Right:return{x:s+d,y:u+m/2};case _e.Bottom:return{x:s+d/2,y:u+m};case _e.Left:return{x:s,y:u+m/2}}}function Jv(e,a){return e&&(a?e.find(o=>o.id===a):e[0])||null}function sm(e,a){return e?typeof e=="string"?e:`${a?`${a}__`:""}${Object.keys(e).sort().map(r=>`${r}=${e[r]}`).join("&")}`:""}function ZA(e,{id:a,defaultColor:o,defaultMarkerStart:r,defaultMarkerEnd:s}){const u=new Set;return e.reduce((d,m)=>([m.markerStart||r,m.markerEnd||s].forEach(g=>{if(g&&typeof g=="object"){const p=sm(g,a);u.has(p)||(d.push({id:p,color:g.color||o,...g}),u.add(p))}}),d),[]).sort((d,m)=>d.id.localeCompare(m.id))}const zx=1e3,QA=10,Om={nodeOrigin:[0,0],nodeExtent:_s,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},JA={...Om,checkEquality:!0};function zm(e,a){const o={...e};for(const r in a)a[r]!==void 0&&(o[r]=a[r]);return o}function WA(e,a,o){const r=zm(Om,o);for(const s of e.values())if(s.parentId)Lm(s,e,a,r);else{const u=Ds(s,r.nodeOrigin),d=ei(s.extent)?s.extent:r.nodeExtent,m=Zo(u,d,Ca(s));s.internals.positionAbsolute=m}}function eR(e,a){if(!e.handles)return e.measured?a?.internals.handleBounds:void 0;const o=[],r=[];for(const s of e.handles){const u={id:s.id,width:s.width??1,height:s.height??1,nodeId:e.id,x:s.x,y:s.y,position:s.position,type:s.type};s.type==="source"?o.push(u):s.type==="target"&&r.push(u)}return{source:o,target:r}}function Im(e){return e==="manual"}function lm(e,a,o,r={}){const s=zm(JA,r),u={i:0},d=new Map(a),m=s?.elevateNodesOnSelect&&!Im(s.zIndexMode)?zx:0;let g=e.length>0,p=!1;a.clear(),o.clear();for(const y of e){let v=d.get(y.id);if(s.checkEquality&&y===v?.internals.userNode)a.set(y.id,v);else{const b=Ds(y,s.nodeOrigin),S=ei(y.extent)?y.extent:s.nodeExtent,_=Zo(b,S,Ca(y));v={...s.defaults,...y,measured:{width:y.measured?.width,height:y.measured?.height},internals:{positionAbsolute:_,handleBounds:eR(y,v),z:Ix(y,m,s.zIndexMode),userNode:y}},a.set(y.id,v)}(v.measured===void 0||v.measured.width===void 0||v.measured.height===void 0)&&!v.hidden&&(g=!1),y.parentId&&Lm(v,a,o,r,u),p||=y.selected??!1}return{nodesInitialized:g,hasSelectedNodes:p}}function tR(e,a){if(!e.parentId)return;const o=a.get(e.parentId);o?o.set(e.id,e):a.set(e.parentId,new Map([[e.id,e]]))}function Lm(e,a,o,r,s){const{elevateNodesOnSelect:u,nodeOrigin:d,nodeExtent:m,zIndexMode:g}=zm(Om,r),p=e.parentId,y=a.get(p);if(!y){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}tR(e,o),s&&!y.parentId&&y.internals.rootParentIndex===void 0&&g==="auto"&&(y.internals.rootParentIndex=++s.i,y.internals.z=y.internals.z+s.i*QA),s&&y.internals.rootParentIndex!==void 0&&(s.i=y.internals.rootParentIndex);const v=u&&!Im(g)?zx:0,{x:b,y:S,z:_}=nR(e,y,d,m,v,g),{positionAbsolute:E}=e.internals,T=b!==E.x||S!==E.y;(T||_!==e.internals.z)&&a.set(e.id,{...e,internals:{...e.internals,positionAbsolute:T?{x:b,y:S}:E,z:_}})}function Ix(e,a,o){const r=An(e.zIndex)?e.zIndex:0;return Im(o)?r:r+(e.selected?a:0)}function nR(e,a,o,r,s,u){const{x:d,y:m}=a.internals.positionAbsolute,g=Ca(e),p=Ds(e,o),y=ei(e.extent)?Zo(p,e.extent,g):p;let v=Zo({x:d+y.x,y:m+y.y},r,g);e.extent==="parent"&&(v=_x(v,g,a));const b=Ix(e,s,u),S=a.internals.z??0;return{x:v.x,y:v.y,z:S>=b?S+1:b}}function Bm(e,a,o,r=[0,0]){const s=[],u=new Map;for(const d of e){const m=a.get(d.parentId);if(!m)continue;const g=u.get(d.parentId)?.expandedRect??Wr(m),p=Ex(g,d.rect);u.set(d.parentId,{expandedRect:p,parent:m})}return u.size>0&&u.forEach(({expandedRect:d,parent:m},g)=>{const p=m.internals.positionAbsolute,y=Ca(m),v=m.origin??r,b=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,_=Math.max(y.width,Math.round(d.width)),E=Math.max(y.height,Math.round(d.height)),T=(_-y.width)*v[0],C=(E-y.height)*v[1];(b>0||S>0||T||C)&&(s.push({id:g,type:"position",position:{x:m.position.x-b+T,y:m.position.y-S+C}}),o.get(g)?.forEach(k=>{e.some(N=>N.id===k.id)||s.push({id:k.id,type:"position",position:{x:k.position.x+b,y:k.position.y+S}})})),(y.width<d.width||y.height<d.height||b||S)&&s.push({id:g,type:"dimensions",setAttributes:!0,dimensions:{width:_+(b?v[0]*b-T:0),height:E+(S?v[1]*S-C:0)}})}),s}function aR(e,a,o,r,s,u,d){const m=r?.querySelector(".xyflow__viewport");let g=!1;if(!m)return{changes:[],updatedInternals:g};const p=[],y=window.getComputedStyle(m),{m22:v}=new window.DOMMatrixReadOnly(y.transform),b=[];for(const S of e.values()){const _=a.get(S.id);if(!_)continue;if(_.hidden){a.set(_.id,{..._,internals:{..._.internals,handleBounds:void 0}}),g=!0;continue}const E=km(S.nodeElement),T=_.measured.width!==E.width||_.measured.height!==E.height;if(!!(E.width&&E.height&&(T||!_.internals.handleBounds||S.force))){const k=S.nodeElement.getBoundingClientRect(),N=ei(_.extent)?_.extent:u;let{positionAbsolute:w}=_.internals;_.parentId&&_.extent==="parent"?w=_x(w,E,a.get(_.parentId)):N&&(w=Zo(w,N,E));const P={..._,measured:E,internals:{..._.internals,positionAbsolute:w,handleBounds:{source:Vv("source",S.nodeElement,k,v,_.id),target:Vv("target",S.nodeElement,k,v,_.id)}}};a.set(_.id,P),_.parentId&&Lm(P,a,o,{nodeOrigin:s,zIndexMode:d}),g=!0,T&&(p.push({id:_.id,type:"dimensions",dimensions:E}),_.expandParent&&_.parentId&&b.push({id:_.id,parentId:_.parentId,rect:Wr(P,s)}))}}if(b.length>0){const S=Bm(b,a,o,s);p.push(...S)}return{changes:p,updatedInternals:g}}async function oR({delta:e,panZoom:a,transform:o,translateExtent:r,width:s,height:u}){if(!a||!e.x&&!e.y)return Promise.resolve(!1);const d=await a.setViewportConstrained({x:o[0]+e.x,y:o[1]+e.y,zoom:o[2]},[[0,0],[s,u]],r),m=!!d&&(d.x!==o[0]||d.y!==o[1]||d.k!==o[2]);return Promise.resolve(m)}function Wv(e,a,o,r,s,u){let d=s;const m=r.get(d)||new Map;r.set(d,m.set(o,a)),d=`${s}-${e}`;const g=r.get(d)||new Map;if(r.set(d,g.set(o,a)),u){d=`${s}-${e}-${u}`;const p=r.get(d)||new Map;r.set(d,p.set(o,a))}}function Lx(e,a,o){e.clear(),a.clear();for(const r of o){const{source:s,target:u,sourceHandle:d=null,targetHandle:m=null}=r,g={edgeId:r.id,source:s,target:u,sourceHandle:d,targetHandle:m},p=`${s}-${d}--${u}-${m}`,y=`${u}-${m}--${s}-${d}`;Wv("source",g,y,e,s,d),Wv("target",g,p,e,u,m),a.set(r.id,r)}}function Bx(e,a){if(!e.parentId)return!1;const o=a.get(e.parentId);return o?o.selected?!0:Bx(o,a):!1}function e0(e,a,o){let r=e;do{if(r?.matches?.(a))return!0;if(r===o)return!1;r=r?.parentElement}while(r);return!1}function rR(e,a,o,r){const s=new Map;for(const[u,d]of e)if((d.selected||d.id===r)&&(!d.parentId||!Bx(d,e))&&(d.draggable||a&&typeof d.draggable>"u")){const m=e.get(u);m&&s.set(u,{id:u,position:m.position||{x:0,y:0},distance:{x:o.x-m.internals.positionAbsolute.x,y:o.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:e,dragItems:a,nodeLookup:o,dragging:r=!0}){const s=[];for(const[d,m]of a){const g=o.get(d)?.internals.userNode;g&&s.push({...g,position:m.position,dragging:r})}if(!e)return[s[0],s];const u=o.get(e)?.internals.userNode;return[u?{...u,position:a.get(e)?.position||u.position,dragging:r}:s[0],s]}function iR({dragItems:e,snapGrid:a,x:o,y:r}){const s=e.values().next().value;if(!s)return null;const u={x:o-s.distance.x,y:r-s.distance.y},d=Os(u,a);return{x:d.x-u.x,y:d.y-u.y}}function sR({onNodeMouseDown:e,getStoreItems:a,onDragStart:o,onDrag:r,onDragStop:s}){let u={x:null,y:null},d=0,m=new Map,g=!1,p={x:0,y:0},y=null,v=!1,b=null,S=!1,_=!1,E=null;function T({noDragClassName:k,handleSelector:N,domNode:w,isSelectable:P,nodeId:I,nodeClickDistance:O=0}){b=tn(w);function q({x:ae,y:ce}){const{nodeLookup:z,nodeExtent:D,snapGrid:R,snapToGrid:L,nodeOrigin:$,onNodeDrag:Q,onSelectionDrag:re,onError:A,updateNodePositions:B}=a();u={x:ae,y:ce};let G=!1;const J=m.size>1,K=J&&D?rm(ks(m)):null,se=J&&L?iR({dragItems:m,snapGrid:R,x:ae,y:ce}):null;for(const[V,te]of m){if(!z.has(V))continue;let he={x:ae-te.distance.x,y:ce-te.distance.y};L&&(he=se?{x:Math.round(he.x+se.x),y:Math.round(he.y+se.y)}:Os(he,R));let pe=null;if(J&&D&&!te.extent&&K){const{positionAbsolute:Te}=te.internals,De=Te.x-K.x+D[0][0],Fe=Te.x+te.measured.width-K.x2+D[1][0],Ue=Te.y-K.y+D[0][1],Je=Te.y+te.measured.height-K.y2+D[1][1];pe=[[De,Ue],[Fe,Je]]}const{position:ye,positionAbsolute:ve}=wx({nodeId:V,nextPosition:he,nodeLookup:z,nodeExtent:pe||D,nodeOrigin:$,onError:A});G=G||te.position.x!==ye.x||te.position.y!==ye.y,te.position=ye,te.internals.positionAbsolute=ve}if(_=_||G,!!G&&(B(m,!0),E&&(r||Q||!I&&re))){const[V,te]=Rf({nodeId:I,dragItems:m,nodeLookup:z});r?.(E,m,V,te),Q?.(E,V,te),I||re?.(E,te)}}async function X(){if(!y)return;const{transform:ae,panBy:ce,autoPanSpeed:z,autoPanOnNodeDrag:D}=a();if(!D){g=!1,cancelAnimationFrame(d);return}const[R,L]=Nx(p,y,z);(R!==0||L!==0)&&(u.x=(u.x??0)-R/ae[2],u.y=(u.y??0)-L/ae[2],await ce({x:R,y:L})&&q(u)),d=requestAnimationFrame(X)}function ue(ae){const{nodeLookup:ce,multiSelectionActive:z,nodesDraggable:D,transform:R,snapGrid:L,snapToGrid:$,selectNodesOnDrag:Q,onNodeDragStart:re,onSelectionDragStart:A,unselectNodesAndEdges:B}=a();v=!0,(!Q||!P)&&!z&&I&&(ce.get(I)?.selected||B()),P&&Q&&I&&e?.(I);const G=vs(ae.sourceEvent,{transform:R,snapGrid:L,snapToGrid:$,containerBounds:y});if(u=G,m=rR(ce,D,G,I),m.size>0&&(o||re||!I&&A)){const[J,K]=Rf({nodeId:I,dragItems:m,nodeLookup:ce});o?.(ae.sourceEvent,m,J,K),re?.(ae.sourceEvent,J,K),I||A?.(ae.sourceEvent,K)}}const Z=tx().clickDistance(O).on("start",ae=>{const{domNode:ce,nodeDragThreshold:z,transform:D,snapGrid:R,snapToGrid:L}=a();y=ce?.getBoundingClientRect()||null,S=!1,_=!1,E=ae.sourceEvent,z===0&&ue(ae),u=vs(ae.sourceEvent,{transform:D,snapGrid:R,snapToGrid:L,containerBounds:y}),p=Rn(ae.sourceEvent,y)}).on("drag",ae=>{const{autoPanOnNodeDrag:ce,transform:z,snapGrid:D,snapToGrid:R,nodeDragThreshold:L,nodeLookup:$}=a(),Q=vs(ae.sourceEvent,{transform:z,snapGrid:D,snapToGrid:R,containerBounds:y});if(E=ae.sourceEvent,(ae.sourceEvent.type==="touchmove"&&ae.sourceEvent.touches.length>1||I&&!$.has(I))&&(S=!0),!S){if(!g&&ce&&v&&(g=!0,X()),!v){const re=Rn(ae.sourceEvent,y),A=re.x-p.x,B=re.y-p.y;Math.sqrt(A*A+B*B)>L&&ue(ae)}(u.x!==Q.xSnapped||u.y!==Q.ySnapped)&&m&&v&&(p=Rn(ae.sourceEvent,y),q(Q))}}).on("end",ae=>{if(!(!v||S)&&(g=!1,v=!1,cancelAnimationFrame(d),m.size>0)){const{nodeLookup:ce,updateNodePositions:z,onNodeDragStop:D,onSelectionDragStop:R}=a();if(_&&(z(m,!1),_=!1),s||D||!I&&R){const[L,$]=Rf({nodeId:I,dragItems:m,nodeLookup:ce,dragging:!1});s?.(ae.sourceEvent,m,L,$),D?.(ae.sourceEvent,L,$),I||R?.(ae.sourceEvent,$)}}}).filter(ae=>{const ce=ae.target;return!ae.button&&(!k||!e0(ce,`.${k}`,w))&&(!N||e0(ce,N,w))});b.call(Z)}function C(){b?.on(".drag",null)}return{update:T,destroy:C}}function lR(e,a,o){const r=[],s={x:e.x-o,y:e.y-o,width:o*2,height:o*2};for(const u of a.values())Es(s,Wr(u))>0&&r.push(u);return r}const cR=250;function uR(e,a,o,r){let s=[],u=1/0;const d=lR(e,o,a+cR);for(const m of d){const g=[...m.internals.handleBounds?.source??[],...m.internals.handleBounds?.target??[]];for(const p of g){if(r.nodeId===p.nodeId&&r.type===p.type&&r.id===p.id)continue;const{x:y,y:v}=Qo(m,p,p.position,!0),b=Math.sqrt(Math.pow(y-e.x,2)+Math.pow(v-e.y,2));b>a||(b<u?(s=[{...p,x:y,y:v}],u=b):b===u&&s.push({...p,x:y,y:v}))}}if(!s.length)return null;if(s.length>1){const m=r.type==="source"?"target":"source";return s.find(g=>g.type===m)??s[0]}return s[0]}function Hx(e,a,o,r,s,u=!1){const d=r.get(e);if(!d)return null;const m=s==="strict"?d.internals.handleBounds?.[a]:[...d.internals.handleBounds?.source??[],...d.internals.handleBounds?.target??[]],g=(o?m?.find(p=>p.id===o):m?.[0])??null;return g&&u?{...g,...Qo(d,g,g.position,!0)}:g}function Ux(e,a){return e||(a?.classList.contains("target")?"target":a?.classList.contains("source")?"source":null)}function dR(e,a){let o=null;return a?o=!0:e&&!a&&(o=!1),o}const Px=()=>!0;function fR(e,{connectionMode:a,connectionRadius:o,handleId:r,nodeId:s,edgeUpdaterType:u,isTarget:d,domNode:m,nodeLookup:g,lib:p,autoPanOnConnect:y,flowId:v,panBy:b,cancelConnection:S,onConnectStart:_,onConnect:E,onConnectEnd:T,isValidConnection:C=Px,onReconnectEnd:k,updateConnection:N,getTransform:w,getFromHandle:P,autoPanSpeed:I,dragThreshold:O=1,handleDomNode:q}){const X=Mx(e.target);let ue=0,Z;const{x:ae,y:ce}=Rn(e),z=Ux(u,q),D=m?.getBoundingClientRect();let R=!1;if(!D||!z)return;const L=Hx(s,z,r,g,a);if(!L)return;let $=Rn(e,D),Q=!1,re=null,A=!1,B=null;function G(){if(!y||!D)return;const[ye,ve]=Nx($,D,I);b({x:ye,y:ve}),ue=requestAnimationFrame(G)}const J={...L,nodeId:s,type:z,position:L.position},K=g.get(s);let V={inProgress:!0,isValid:null,from:Qo(K,J,_e.Left,!0),fromHandle:J,fromPosition:J.position,fromNode:K,to:$,toHandle:null,toPosition:qv[J.position],toNode:null,pointer:$};function te(){R=!0,N(V),_?.(e,{nodeId:s,handleId:r,handleType:z})}O===0&&te();function he(ye){if(!R){const{x:Je,y:jt}=Rn(ye),rt=Je-ae,Ft=jt-ce;if(!(rt*rt+Ft*Ft>O*O))return;te()}if(!P()||!J){pe(ye);return}const ve=w();$=Rn(ye,D),Z=uR(zs($,ve,!1,[1,1]),o,g,J),Q||(G(),Q=!0);const Te=qx(ye,{handle:Z,connectionMode:a,fromNodeId:s,fromHandleId:r,fromType:d?"target":"source",isValidConnection:C,doc:X,lib:p,flowId:v,nodeLookup:g});B=Te.handleDomNode,re=Te.connection,A=dR(!!Z,Te.isValid);const De=g.get(s),Fe=De?Qo(De,J,_e.Left,!0):V.from,Ue={...V,from:Fe,isValid:A,to:Te.toHandle&&A?Hc({x:Te.toHandle.x,y:Te.toHandle.y},ve):$,toHandle:Te.toHandle,toPosition:A&&Te.toHandle?Te.toHandle.position:qv[J.position],toNode:Te.toHandle?g.get(Te.toHandle.nodeId):null,pointer:$};N(Ue),V=Ue}function pe(ye){if(!("touches"in ye&&ye.touches.length>0)){if(R){(Z||B)&&re&&A&&E?.(re);const{inProgress:ve,...Te}=V,De={...Te,toPosition:V.toHandle?V.toPosition:null};T?.(ye,De),u&&k?.(ye,De)}S(),cancelAnimationFrame(ue),Q=!1,A=!1,re=null,B=null,X.removeEventListener("mousemove",he),X.removeEventListener("mouseup",pe),X.removeEventListener("touchmove",he),X.removeEventListener("touchend",pe)}}X.addEventListener("mousemove",he),X.addEventListener("mouseup",pe),X.addEventListener("touchmove",he),X.addEventListener("touchend",pe)}function qx(e,{handle:a,connectionMode:o,fromNodeId:r,fromHandleId:s,fromType:u,doc:d,lib:m,flowId:g,isValidConnection:p=Px,nodeLookup:y}){const v=u==="target",b=a?d.querySelector(`.${m}-flow__handle[data-id="${g}-${a?.nodeId}-${a?.id}-${a?.type}"]`):null,{x:S,y:_}=Rn(e),E=d.elementFromPoint(S,_),T=E?.classList.contains(`${m}-flow__handle`)?E:b,C={handleDomNode:T,isValid:!1,connection:null,toHandle:null};if(T){const k=Ux(void 0,T),N=T.getAttribute("data-nodeid"),w=T.getAttribute("data-handleid"),P=T.classList.contains("connectable"),I=T.classList.contains("connectableend");if(!N||!k)return C;const O={source:v?N:r,sourceHandle:v?w:s,target:v?r:N,targetHandle:v?s:w};C.connection=O;const X=P&&I&&(o===Ko.Strict?v&&k==="source"||!v&&k==="target":N!==r||w!==s);C.isValid=X&&p(O),C.toHandle=Hx(N,k,w,y,o,!0)}return C}const cm={onPointerDown:fR,isValid:qx};function mR({domNode:e,panZoom:a,getTransform:o,getViewScale:r}){const s=tn(e);function u({translateExtent:m,width:g,height:p,zoomStep:y=1,pannable:v=!0,zoomable:b=!0,inversePan:S=!1}){const _=N=>{if(N.sourceEvent.type!=="wheel"||!a)return;const w=o(),P=N.sourceEvent.ctrlKey&&Cs()?10:1,I=-N.sourceEvent.deltaY*(N.sourceEvent.deltaMode===1?.05:N.sourceEvent.deltaMode?1:.002)*y,O=w[2]*Math.pow(2,I*P);a.scaleTo(O)};let E=[0,0];const T=N=>{(N.sourceEvent.type==="mousedown"||N.sourceEvent.type==="touchstart")&&(E=[N.sourceEvent.clientX??N.sourceEvent.touches[0].clientX,N.sourceEvent.clientY??N.sourceEvent.touches[0].clientY])},C=N=>{const w=o();if(N.sourceEvent.type!=="mousemove"&&N.sourceEvent.type!=="touchmove"||!a)return;const P=[N.sourceEvent.clientX??N.sourceEvent.touches[0].clientX,N.sourceEvent.clientY??N.sourceEvent.touches[0].clientY],I=[P[0]-E[0],P[1]-E[1]];E=P;const O=r()*Math.max(w[2],Math.log(w[2]))*(S?-1:1),q={x:w[0]-I[0]*O,y:w[1]-I[1]*O},X=[[0,0],[g,p]];a.setViewportConstrained({x:q.x,y:q.y,zoom:w[2]},X,m)},k=gx().on("start",T).on("zoom",v?C:null).on("zoom.wheel",b?_:null);s.call(k,{})}function d(){s.on("zoom",null)}return{update:u,destroy:d,pointer:Mn}}const Kc=e=>({x:e.x,y:e.y,zoom:e.k}),Df=({x:e,y:a,zoom:o})=>Vc.translate(e,a).scale(o),$r=(e,a)=>e.target.closest(`.${a}`),Gx=(e,a)=>a===2&&Array.isArray(e)&&e.includes(2),hR=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,kf=(e,a=0,o=hR,r=()=>{})=>{const s=typeof a=="number"&&a>0;return s||r(),s?e.transition().duration(a).ease(o).on("end",r):e},Fx=e=>{const a=e.ctrlKey&&Cs()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*a};function pR({zoomPanValues:e,noWheelClassName:a,d3Selection:o,d3Zoom:r,panOnScrollMode:s,panOnScrollSpeed:u,zoomOnPinch:d,onPanZoomStart:m,onPanZoom:g,onPanZoomEnd:p}){return y=>{if($r(y,a))return y.ctrlKey&&y.preventDefault(),!1;y.preventDefault(),y.stopImmediatePropagation();const v=o.property("__zoom").k||1;if(y.ctrlKey&&d){const T=Mn(y),C=Fx(y),k=v*Math.pow(2,C);r.scaleTo(o,k,T,y);return}const b=y.deltaMode===1?20:1;let S=s===$o.Vertical?0:y.deltaX*b,_=s===$o.Horizontal?0:y.deltaY*b;!Cs()&&y.shiftKey&&s!==$o.Vertical&&(S=y.deltaY*b,_=0),r.translateBy(o,-(S/v)*u,-(_/v)*u,{internal:!0});const E=Kc(o.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(g?.(y,E),e.panScrollTimeout=setTimeout(()=>{p?.(y,E),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,m?.(y,E))}}function gR({noWheelClassName:e,preventScrolling:a,d3ZoomHandler:o}){return function(r,s){const u=r.type==="wheel",d=!a&&u&&!r.ctrlKey,m=$r(r,e);if(r.ctrlKey&&u&&m&&r.preventDefault(),d||m)return null;r.preventDefault(),o.call(this,r,s)}}function yR({zoomPanValues:e,onDraggingChange:a,onPanZoomStart:o}){return r=>{if(r.sourceEvent?.internal)return;const s=Kc(r.transform);e.mouseButton=r.sourceEvent?.button||0,e.isZoomingOrPanning=!0,e.prevViewport=s,r.sourceEvent?.type==="mousedown"&&a(!0),o&&o?.(r.sourceEvent,s)}}function vR({zoomPanValues:e,panOnDrag:a,onPaneContextMenu:o,onTransformChange:r,onPanZoom:s}){return u=>{e.usedRightMouseButton=!!(o&&Gx(a,e.mouseButton??0)),u.sourceEvent?.sync||r([u.transform.x,u.transform.y,u.transform.k]),s&&!u.sourceEvent?.internal&&s?.(u.sourceEvent,Kc(u.transform))}}function bR({zoomPanValues:e,panOnDrag:a,panOnScroll:o,onDraggingChange:r,onPanZoomEnd:s,onPaneContextMenu:u}){return d=>{if(!d.sourceEvent?.internal&&(e.isZoomingOrPanning=!1,u&&Gx(a,e.mouseButton??0)&&!e.usedRightMouseButton&&d.sourceEvent&&u(d.sourceEvent),e.usedRightMouseButton=!1,r(!1),s)){const m=Kc(d.transform);e.prevViewport=m,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{s?.(d.sourceEvent,m)},o?150:0)}}}function xR({zoomActivationKeyPressed:e,zoomOnScroll:a,zoomOnPinch:o,panOnDrag:r,panOnScroll:s,zoomOnDoubleClick:u,userSelectionActive:d,noWheelClassName:m,noPanClassName:g,lib:p,connectionInProgress:y}){return v=>{const b=e||a,S=o&&v.ctrlKey,_=v.type==="wheel";if(v.button===1&&v.type==="mousedown"&&($r(v,`${p}-flow__node`)||$r(v,`${p}-flow__edge`)))return!0;if(!r&&!b&&!s&&!u&&!o||d||y&&!_||$r(v,m)&&_||$r(v,g)&&(!_||s&&_&&!e)||!o&&v.ctrlKey&&_)return!1;if(!o&&v.type==="touchstart"&&v.touches?.length>1)return v.preventDefault(),!1;if(!b&&!s&&!S&&_||!r&&(v.type==="mousedown"||v.type==="touchstart")||Array.isArray(r)&&!r.includes(v.button)&&v.type==="mousedown")return!1;const E=Array.isArray(r)&&r.includes(v.button)||!v.button||v.button<=1;return(!v.ctrlKey||_)&&E}}function SR({domNode:e,minZoom:a,maxZoom:o,translateExtent:r,viewport:s,onPanZoom:u,onPanZoomStart:d,onPanZoomEnd:m,onDraggingChange:g}){const p={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},y=e.getBoundingClientRect(),v=gx().scaleExtent([a,o]).translateExtent(r),b=tn(e).call(v);k({x:s.x,y:s.y,zoom:Jr(s.zoom,a,o)},[[0,0],[y.width,y.height]],r);const S=b.on("wheel.zoom"),_=b.on("dblclick.zoom");v.wheelDelta(Fx);function E(Z,ae){return b?new Promise(ce=>{v?.interpolate(ae?.interpolate==="linear"?ys:wc).transform(kf(b,ae?.duration,ae?.ease,()=>ce(!0)),Z)}):Promise.resolve(!1)}function T({noWheelClassName:Z,noPanClassName:ae,onPaneContextMenu:ce,userSelectionActive:z,panOnScroll:D,panOnDrag:R,panOnScrollMode:L,panOnScrollSpeed:$,preventScrolling:Q,zoomOnPinch:re,zoomOnScroll:A,zoomOnDoubleClick:B,zoomActivationKeyPressed:G,lib:J,onTransformChange:K,connectionInProgress:se,paneClickDistance:V,selectionOnDrag:te}){z&&!p.isZoomingOrPanning&&C();const he=D&&!G&&!z;v.clickDistance(te?1/0:!An(V)||V<0?0:V);const pe=he?pR({zoomPanValues:p,noWheelClassName:Z,d3Selection:b,d3Zoom:v,panOnScrollMode:L,panOnScrollSpeed:$,zoomOnPinch:re,onPanZoomStart:d,onPanZoom:u,onPanZoomEnd:m}):gR({noWheelClassName:Z,preventScrolling:Q,d3ZoomHandler:S});if(b.on("wheel.zoom",pe,{passive:!1}),!z){const ve=yR({zoomPanValues:p,onDraggingChange:g,onPanZoomStart:d});v.on("start",ve);const Te=vR({zoomPanValues:p,panOnDrag:R,onPaneContextMenu:!!ce,onPanZoom:u,onTransformChange:K});v.on("zoom",Te);const De=bR({zoomPanValues:p,panOnDrag:R,panOnScroll:D,onPaneContextMenu:ce,onPanZoomEnd:m,onDraggingChange:g});v.on("end",De)}const ye=xR({zoomActivationKeyPressed:G,panOnDrag:R,zoomOnScroll:A,panOnScroll:D,zoomOnDoubleClick:B,zoomOnPinch:re,userSelectionActive:z,noPanClassName:ae,noWheelClassName:Z,lib:J,connectionInProgress:se});v.filter(ye),B?b.on("dblclick.zoom",_):b.on("dblclick.zoom",null)}function C(){v.on("zoom",null)}async function k(Z,ae,ce){const z=Df(Z),D=v?.constrain()(z,ae,ce);return D&&await E(D),new Promise(R=>R(D))}async function N(Z,ae){const ce=Df(Z);return await E(ce,ae),new Promise(z=>z(ce))}function w(Z){if(b){const ae=Df(Z),ce=b.property("__zoom");(ce.k!==Z.zoom||ce.x!==Z.x||ce.y!==Z.y)&&v?.transform(b,ae,null,{sync:!0})}}function P(){const Z=b?px(b.node()):{x:0,y:0,k:1};return{x:Z.x,y:Z.y,zoom:Z.k}}function I(Z,ae){return b?new Promise(ce=>{v?.interpolate(ae?.interpolate==="linear"?ys:wc).scaleTo(kf(b,ae?.duration,ae?.ease,()=>ce(!0)),Z)}):Promise.resolve(!1)}function O(Z,ae){return b?new Promise(ce=>{v?.interpolate(ae?.interpolate==="linear"?ys:wc).scaleBy(kf(b,ae?.duration,ae?.ease,()=>ce(!0)),Z)}):Promise.resolve(!1)}function q(Z){v?.scaleExtent(Z)}function X(Z){v?.translateExtent(Z)}function ue(Z){const ae=!An(Z)||Z<0?0:Z;v?.clickDistance(ae)}return{update:T,destroy:C,setViewport:N,setViewportConstrained:k,getViewport:P,scaleTo:I,scaleBy:O,setScaleExtent:q,setTranslateExtent:X,syncViewport:w,setClickDistance:ue}}var ti;(function(e){e.Line="line",e.Handle="handle"})(ti||(ti={}));function wR({width:e,prevWidth:a,height:o,prevHeight:r,affectsX:s,affectsY:u}){const d=e-a,m=o-r,g=[d>0?1:d<0?-1:0,m>0?1:m<0?-1:0];return d&&s&&(g[0]=g[0]*-1),m&&u&&(g[1]=g[1]*-1),g}function t0(e){const a=e.includes("right")||e.includes("left"),o=e.includes("bottom")||e.includes("top"),r=e.includes("left"),s=e.includes("top");return{isHorizontal:a,isVertical:o,affectsX:r,affectsY:s}}function no(e,a){return Math.max(0,a-e)}function ao(e,a){return Math.max(0,e-a)}function uc(e,a,o){return Math.max(0,a-e,e-o)}function n0(e,a){return e?!a:a}function _R(e,a,o,r,s,u,d,m){let{affectsX:g,affectsY:p}=a;const{isHorizontal:y,isVertical:v}=a,b=y&&v,{xSnapped:S,ySnapped:_}=o,{minWidth:E,maxWidth:T,minHeight:C,maxHeight:k}=r,{x:N,y:w,width:P,height:I,aspectRatio:O}=e;let q=Math.floor(y?S-e.pointerX:0),X=Math.floor(v?_-e.pointerY:0);const ue=P+(g?-q:q),Z=I+(p?-X:X),ae=-u[0]*P,ce=-u[1]*I;let z=uc(ue,E,T),D=uc(Z,C,k);if(d){let $=0,Q=0;g&&q<0?$=no(N+q+ae,d[0][0]):!g&&q>0&&($=ao(N+ue+ae,d[1][0])),p&&X<0?Q=no(w+X+ce,d[0][1]):!p&&X>0&&(Q=ao(w+Z+ce,d[1][1])),z=Math.max(z,$),D=Math.max(D,Q)}if(m){let $=0,Q=0;g&&q>0?$=ao(N+q,m[0][0]):!g&&q<0&&($=no(N+ue,m[1][0])),p&&X>0?Q=ao(w+X,m[0][1]):!p&&X<0&&(Q=no(w+Z,m[1][1])),z=Math.max(z,$),D=Math.max(D,Q)}if(s){if(y){const $=uc(ue/O,C,k)*O;if(z=Math.max(z,$),d){let Q=0;!g&&!p||g&&!p&&b?Q=ao(w+ce+ue/O,d[1][1])*O:Q=no(w+ce+(g?q:-q)/O,d[0][1])*O,z=Math.max(z,Q)}if(m){let Q=0;!g&&!p||g&&!p&&b?Q=no(w+ue/O,m[1][1])*O:Q=ao(w+(g?q:-q)/O,m[0][1])*O,z=Math.max(z,Q)}}if(v){const $=uc(Z*O,E,T)/O;if(D=Math.max(D,$),d){let Q=0;!g&&!p||p&&!g&&b?Q=ao(N+Z*O+ae,d[1][0])/O:Q=no(N+(p?X:-X)*O+ae,d[0][0])/O,D=Math.max(D,Q)}if(m){let Q=0;!g&&!p||p&&!g&&b?Q=no(N+Z*O,m[1][0])/O:Q=ao(N+(p?X:-X)*O,m[0][0])/O,D=Math.max(D,Q)}}}X=X+(X<0?D:-D),q=q+(q<0?z:-z),s&&(b?ue>Z*O?X=(n0(g,p)?-q:q)/O:q=(n0(g,p)?-X:X)*O:y?(X=q/O,p=g):(q=X*O,g=p));const R=g?N+q:N,L=p?w+X:w;return{width:P+(g?-q:q),height:I+(p?-X:X),x:u[0]*q*(g?-1:1)+R,y:u[1]*X*(p?-1:1)+L}}const $x={width:0,height:0,x:0,y:0},NR={...$x,pointerX:0,pointerY:0,aspectRatio:1};function ER(e){return[[0,0],[e.measured.width,e.measured.height]]}function CR(e,a,o){const r=a.position.x+e.position.x,s=a.position.y+e.position.y,u=e.measured.width??0,d=e.measured.height??0,m=o[0]*u,g=o[1]*d;return[[r-m,s-g],[r+u-m,s+d-g]]}function TR({domNode:e,nodeId:a,getStoreItems:o,onChange:r,onEnd:s}){const u=tn(e);let d={controlDirection:t0("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:y,keepAspectRatio:v,resizeDirection:b,onResizeStart:S,onResize:_,onResizeEnd:E,shouldResize:T}){let C={...$x},k={...NR};d={boundaries:y,resizeDirection:b,keepAspectRatio:v,controlDirection:t0(p)};let N,w=null,P=[],I,O,q,X=!1;const ue=tx().on("start",Z=>{const{nodeLookup:ae,transform:ce,snapGrid:z,snapToGrid:D,nodeOrigin:R,paneDomNode:L}=o();if(N=ae.get(a),!N)return;w=L?.getBoundingClientRect()??null;const{xSnapped:$,ySnapped:Q}=vs(Z.sourceEvent,{transform:ce,snapGrid:z,snapToGrid:D,containerBounds:w});C={width:N.measured.width??0,height:N.measured.height??0,x:N.position.x??0,y:N.position.y??0},k={...C,pointerX:$,pointerY:Q,aspectRatio:C.width/C.height},I=void 0,N.parentId&&(N.extent==="parent"||N.expandParent)&&(I=ae.get(N.parentId),O=I&&N.extent==="parent"?ER(I):void 0),P=[],q=void 0;for(const[re,A]of ae)if(A.parentId===a&&(P.push({id:re,position:{...A.position},extent:A.extent}),A.extent==="parent"||A.expandParent)){const B=CR(A,N,A.origin??R);q?q=[[Math.min(B[0][0],q[0][0]),Math.min(B[0][1],q[0][1])],[Math.max(B[1][0],q[1][0]),Math.max(B[1][1],q[1][1])]]:q=B}S?.(Z,{...C})}).on("drag",Z=>{const{transform:ae,snapGrid:ce,snapToGrid:z,nodeOrigin:D}=o(),R=vs(Z.sourceEvent,{transform:ae,snapGrid:ce,snapToGrid:z,containerBounds:w}),L=[];if(!N)return;const{x:$,y:Q,width:re,height:A}=C,B={},G=N.origin??D,{width:J,height:K,x:se,y:V}=_R(k,d.controlDirection,R,d.boundaries,d.keepAspectRatio,G,O,q),te=J!==re,he=K!==A,pe=se!==$&&te,ye=V!==Q&&he;if(!pe&&!ye&&!te&&!he)return;if((pe||ye||G[0]===1||G[1]===1)&&(B.x=pe?se:C.x,B.y=ye?V:C.y,C.x=B.x,C.y=B.y,P.length>0)){const Fe=se-$,Ue=V-Q;for(const Je of P)Je.position={x:Je.position.x-Fe+G[0]*(J-re),y:Je.position.y-Ue+G[1]*(K-A)},L.push(Je)}if((te||he)&&(B.width=te&&(!d.resizeDirection||d.resizeDirection==="horizontal")?J:C.width,B.height=he&&(!d.resizeDirection||d.resizeDirection==="vertical")?K:C.height,C.width=B.width,C.height=B.height),I&&N.expandParent){const Fe=G[0]*(B.width??0);B.x&&B.x<Fe&&(C.x=Fe,k.x=k.x-(B.x-Fe));const Ue=G[1]*(B.height??0);B.y&&B.y<Ue&&(C.y=Ue,k.y=k.y-(B.y-Ue))}const ve=wR({width:C.width,prevWidth:re,height:C.height,prevHeight:A,affectsX:d.controlDirection.affectsX,affectsY:d.controlDirection.affectsY}),Te={...C,direction:ve};T?.(Z,Te)!==!1&&(X=!0,_?.(Z,Te),r(B,L))}).on("end",Z=>{X&&(E?.(Z,{...C}),s?.({...C}),X=!1)});u.call(ue)}function g(){u.on(".drag",null)}return{update:m,destroy:g}}var Of={exports:{}},zf={},If={exports:{}},Lf={};var a0;function MR(){if(a0)return Lf;a0=1;var e=Ms();function a(v,b){return v===b&&(v!==0||1/v===1/b)||v!==v&&b!==b}var o=typeof Object.is=="function"?Object.is:a,r=e.useState,s=e.useEffect,u=e.useLayoutEffect,d=e.useDebugValue;function m(v,b){var S=b(),_=r({inst:{value:S,getSnapshot:b}}),E=_[0].inst,T=_[1];return u(function(){E.value=S,E.getSnapshot=b,g(E)&&T({inst:E})},[v,S,b]),s(function(){return g(E)&&T({inst:E}),v(function(){g(E)&&T({inst:E})})},[v]),d(S),S}function g(v){var b=v.getSnapshot;v=v.value;try{var S=b();return!o(v,S)}catch{return!0}}function p(v,b){return b()}var y=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?p:m;return Lf.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:y,Lf}var o0;function jR(){return o0||(o0=1,If.exports=MR()),If.exports}var r0;function AR(){if(r0)return zf;r0=1;var e=Ms(),a=jR();function o(p,y){return p===y&&(p!==0||1/p===1/y)||p!==p&&y!==y}var r=typeof Object.is=="function"?Object.is:o,s=a.useSyncExternalStore,u=e.useRef,d=e.useEffect,m=e.useMemo,g=e.useDebugValue;return zf.useSyncExternalStoreWithSelector=function(p,y,v,b,S){var _=u(null);if(_.current===null){var E={hasValue:!1,value:null};_.current=E}else E=_.current;_=m(function(){function C(I){if(!k){if(k=!0,N=I,I=b(I),S!==void 0&&E.hasValue){var O=E.value;if(S(O,I))return w=O}return w=I}if(O=w,r(N,I))return O;var q=b(I);return S!==void 0&&S(O,q)?(N=I,O):(N=I,w=q)}var k=!1,N,w,P=v===void 0?null:v;return[function(){return C(y())},P===null?void 0:function(){return C(P())}]},[y,v,b,S]);var T=s(p,_[0],_[1]);return d(function(){E.hasValue=!0,E.value=T},[T]),g(T),T},zf}var i0;function RR(){return i0||(i0=1,Of.exports=AR()),Of.exports}var DR=RR();const kR=P0(DR),OR={},s0=e=>{let a;const o=new Set,r=(y,v)=>{const b=typeof y=="function"?y(a):y;if(!Object.is(b,a)){const S=a;a=v??(typeof b!="object"||b===null)?b:Object.assign({},a,b),o.forEach(_=>_(a,S))}},s=()=>a,g={setState:r,getState:s,getInitialState:()=>p,subscribe:y=>(o.add(y),()=>o.delete(y)),destroy:()=>{(OR?"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."),o.clear()}},p=a=e(r,s,g);return g},zR=e=>e?s0(e):s0,{useDebugValue:IR}=ls,{useSyncExternalStoreWithSelector:LR}=kR,BR=e=>e;function Vx(e,a=BR,o){const r=LR(e.subscribe,e.getState,e.getServerState||e.getInitialState,a,o);return IR(r),r}const l0=(e,a)=>{const o=zR(e),r=(s,u=a)=>Vx(o,s,u);return Object.assign(r,o),r},HR=(e,a)=>e?l0(e,a):l0;function nt(e,a){if(Object.is(e,a))return!0;if(typeof e!="object"||e===null||typeof a!="object"||a===null)return!1;if(e instanceof Map&&a instanceof Map){if(e.size!==a.size)return!1;for(const[r,s]of e)if(!Object.is(s,a.get(r)))return!1;return!0}if(e instanceof Set&&a instanceof Set){if(e.size!==a.size)return!1;for(const r of e)if(!a.has(r))return!1;return!0}const o=Object.keys(e);if(o.length!==Object.keys(a).length)return!1;for(const r of o)if(!Object.prototype.hasOwnProperty.call(a,r)||!Object.is(e[r],a[r]))return!1;return!0}q0();const Zc=M.createContext(null),UR=Zc.Provider,Yx=Xn.error001();function Pe(e,a){const o=M.useContext(Zc);if(o===null)throw new Error(Yx);return Vx(o,e,a)}function at(){const e=M.useContext(Zc);if(e===null)throw new Error(Yx);return M.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const c0={display:"none"},PR={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},Xx="react-flow__node-desc",Kx="react-flow__edge-desc",qR="react-flow__aria-live",GR=e=>e.ariaLiveMessage,FR=e=>e.ariaLabelConfig;function $R({rfId:e}){const a=Pe(GR);return c.jsx("div",{id:`${qR}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:PR,children:a})}function VR({rfId:e,disableKeyboardA11y:a}){const o=Pe(FR);return c.jsxs(c.Fragment,{children:[c.jsx("div",{id:`${Xx}-${e}`,style:c0,children:a?o["node.a11yDescription.default"]:o["node.a11yDescription.keyboardDisabled"]}),c.jsx("div",{id:`${Kx}-${e}`,style:c0,children:o["edge.a11yDescription.default"]}),!a&&c.jsx($R,{rfId:e})]})}const Is=M.forwardRef(({position:e="top-left",children:a,className:o,style:r,...s},u)=>{const d=`${e}`.split("-");return c.jsx("div",{className:gt(["react-flow__panel",o,...d]),style:r,ref:u,...s,children:a})});Is.displayName="Panel";function YR({proOptions:e,position:a="bottom-right"}){return e?.hideAttribution?null:c.jsx(Is,{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:c.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const XR=e=>{const a=[],o=[];for(const[,r]of e.nodeLookup)r.selected&&a.push(r.internals.userNode);for(const[,r]of e.edgeLookup)r.selected&&o.push(r);return{selectedNodes:a,selectedEdges:o}},dc=e=>e.id;function KR(e,a){return nt(e.selectedNodes.map(dc),a.selectedNodes.map(dc))&&nt(e.selectedEdges.map(dc),a.selectedEdges.map(dc))}function ZR({onSelectionChange:e}){const a=at(),{selectedNodes:o,selectedEdges:r}=Pe(XR,KR);return M.useEffect(()=>{const s={nodes:o,edges:r};e?.(s),a.getState().onSelectionChangeHandlers.forEach(u=>u(s))},[o,r,e]),null}const QR=e=>!!e.onSelectionChangeHandlers;function JR({onSelectionChange:e}){const a=Pe(QR);return e||a?c.jsx(ZR,{onSelectionChange:e}):null}const um=typeof window<"u"?M.useLayoutEffect:M.useEffect,Zx=[0,0],WR={x:0,y:0,zoom:1},eD=["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"],u0=[...eD,"rfId"],tD=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),d0={translateExtent:_s,nodeOrigin:Zx,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function nD(e){const{setNodes:a,setEdges:o,setMinZoom:r,setMaxZoom:s,setTranslateExtent:u,setNodeExtent:d,reset:m,setDefaultNodesAndEdges:g}=Pe(tD,nt),p=at();um(()=>(g(e.defaultNodes,e.defaultEdges),()=>{y.current=d0,m()}),[]);const y=M.useRef(d0);return um(()=>{for(const v of u0){const b=e[v],S=y.current[v];b!==S&&(typeof e[v]>"u"||(v==="nodes"?a(b):v==="edges"?o(b):v==="minZoom"?r(b):v==="maxZoom"?s(b):v==="translateExtent"?u(b):v==="nodeExtent"?d(b):v==="ariaLabelConfig"?p.setState({ariaLabelConfig:HA(b)}):v==="fitView"?p.setState({fitViewQueued:b}):v==="fitViewOptions"?p.setState({fitViewOptions:b}):p.setState({[v]:b})))}y.current=e},u0.map(v=>e[v])),null}function f0(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function aD(e){const[a,o]=M.useState(e==="system"?null:e);return M.useEffect(()=>{if(e!=="system"){o(e);return}const r=f0(),s=()=>o(r?.matches?"dark":"light");return s(),r?.addEventListener("change",s),()=>{r?.removeEventListener("change",s)}},[e]),a!==null?a:f0()?.matches?"dark":"light"}const m0=typeof document<"u"?document:null;function Ts(e=null,a={target:m0,actInsideInputWithModifier:!0}){const[o,r]=M.useState(!1),s=M.useRef(!1),u=M.useRef(new Set([])),[d,m]=M.useMemo(()=>{if(e!==null){const p=(Array.isArray(e)?e:[e]).filter(v=>typeof v=="string").map(v=>v.replace("+",`
24
+ `).replace(`
25
+
26
+ `,`
27
+ +`).split(`
28
+ `)),y=p.reduce((v,b)=>v.concat(...b),[]);return[p,y]}return[[],[]]},[e]);return M.useEffect(()=>{const g=a?.target??m0,p=a?.actInsideInputWithModifier??!0;if(e!==null){const y=S=>{if(s.current=S.ctrlKey||S.metaKey||S.shiftKey||S.altKey,(!s.current||s.current&&!p)&&jx(S))return!1;const E=p0(S.code,m);if(u.current.add(S[E]),h0(d,u.current,!1)){const T=S.composedPath?.()?.[0]||S.target,C=T?.nodeName==="BUTTON"||T?.nodeName==="A";a.preventDefault!==!1&&(s.current||!C)&&S.preventDefault(),r(!0)}},v=S=>{const _=p0(S.code,m);h0(d,u.current,!0)?(r(!1),u.current.clear()):u.current.delete(S[_]),S.key==="Meta"&&u.current.clear(),s.current=!1},b=()=>{u.current.clear(),r(!1)};return g?.addEventListener("keydown",y),g?.addEventListener("keyup",v),window.addEventListener("blur",b),window.addEventListener("contextmenu",b),()=>{g?.removeEventListener("keydown",y),g?.removeEventListener("keyup",v),window.removeEventListener("blur",b),window.removeEventListener("contextmenu",b)}}},[e,r]),o}function h0(e,a,o){return e.filter(r=>o||r.length===a.size).some(r=>r.every(s=>a.has(s)))}function p0(e,a){return a.includes(e)?"code":"key"}const oD=()=>{const e=at();return M.useMemo(()=>({zoomIn:a=>{const{panZoom:o}=e.getState();return o?o.scaleBy(1.2,a):Promise.resolve(!1)},zoomOut:a=>{const{panZoom:o}=e.getState();return o?o.scaleBy(1/1.2,a):Promise.resolve(!1)},zoomTo:(a,o)=>{const{panZoom:r}=e.getState();return r?r.scaleTo(a,o):Promise.resolve(!1)},getZoom:()=>e.getState().transform[2],setViewport:async(a,o)=>{const{transform:[r,s,u],panZoom:d}=e.getState();return d?(await d.setViewport({x:a.x??r,y:a.y??s,zoom:a.zoom??u},o),Promise.resolve(!0)):Promise.resolve(!1)},getViewport:()=>{const[a,o,r]=e.getState().transform;return{x:a,y:o,zoom:r}},setCenter:async(a,o,r)=>e.getState().setCenter(a,o,r),fitBounds:async(a,o)=>{const{width:r,height:s,minZoom:u,maxZoom:d,panZoom:m}=e.getState(),g=Dm(a,r,s,u,d,o?.padding??.1);return m?(await m.setViewport(g,{duration:o?.duration,ease:o?.ease,interpolate:o?.interpolate}),Promise.resolve(!0)):Promise.resolve(!1)},screenToFlowPosition:(a,o={})=>{const{transform:r,snapGrid:s,snapToGrid:u,domNode:d}=e.getState();if(!d)return a;const{x:m,y:g}=d.getBoundingClientRect(),p={x:a.x-m,y:a.y-g},y=o.snapGrid??s,v=o.snapToGrid??u;return zs(p,r,v,y)},flowToScreenPosition:a=>{const{transform:o,domNode:r}=e.getState();if(!r)return a;const{x:s,y:u}=r.getBoundingClientRect(),d=Hc(a,o);return{x:d.x+s,y:d.y+u}}}),[])};function Qx(e,a){const o=[],r=new Map,s=[];for(const u of e)if(u.type==="add"){s.push(u);continue}else if(u.type==="remove"||u.type==="replace")r.set(u.id,[u]);else{const d=r.get(u.id);d?d.push(u):r.set(u.id,[u])}for(const u of a){const d=r.get(u.id);if(!d){o.push(u);continue}if(d[0].type==="remove")continue;if(d[0].type==="replace"){o.push({...d[0].item});continue}const m={...u};for(const g of d)rD(g,m);o.push(m)}return s.length&&s.forEach(u=>{u.index!==void 0?o.splice(u.index,0,{...u.item}):o.push({...u.item})}),o}function rD(e,a){switch(e.type){case"select":{a.selected=e.selected;break}case"position":{typeof e.position<"u"&&(a.position=e.position),typeof e.dragging<"u"&&(a.dragging=e.dragging);break}case"dimensions":{typeof e.dimensions<"u"&&(a.measured={...e.dimensions},e.setAttributes&&((e.setAttributes===!0||e.setAttributes==="width")&&(a.width=e.dimensions.width),(e.setAttributes===!0||e.setAttributes==="height")&&(a.height=e.dimensions.height))),typeof e.resizing=="boolean"&&(a.resizing=e.resizing);break}}}function Jx(e,a){return Qx(e,a)}function Wx(e,a){return Qx(e,a)}function Lo(e,a){return{id:e,type:"select",selected:a}}function Vr(e,a=new Set,o=!1){const r=[];for(const[s,u]of e){const d=a.has(s);!(u.selected===void 0&&!d)&&u.selected!==d&&(o&&(u.selected=d),r.push(Lo(u.id,d)))}return r}function g0({items:e=[],lookup:a}){const o=[],r=new Map(e.map(s=>[s.id,s]));for(const[s,u]of e.entries()){const d=a.get(u.id),m=d?.internals?.userNode??d;m!==void 0&&m!==u&&o.push({id:u.id,item:u,type:"replace"}),m===void 0&&o.push({item:u,type:"add",index:s})}for(const[s]of a)r.get(s)===void 0&&o.push({id:s,type:"remove"});return o}function y0(e){return{id:e.id,type:"remove"}}const v0=e=>jA(e),iD=e=>Sx(e);function eS(e){return M.forwardRef(e)}function b0(e){const[a,o]=M.useState(BigInt(0)),[r]=M.useState(()=>sD(()=>o(s=>s+BigInt(1))));return um(()=>{const s=r.get();s.length&&(e(s),r.reset())},[a]),r}function sD(e){let a=[];return{get:()=>a,reset:()=>{a=[]},push:o=>{a.push(o),e()}}}const tS=M.createContext(null);function lD({children:e}){const a=at(),o=M.useCallback(m=>{const{nodes:g=[],setNodes:p,hasDefaultNodes:y,onNodesChange:v,nodeLookup:b,fitViewQueued:S,onNodesChangeMiddlewareMap:_}=a.getState();let E=g;for(const C of m)E=typeof C=="function"?C(E):C;let T=g0({items:E,lookup:b});for(const C of _.values())T=C(T);y&&p(E),T.length>0?v?.(T):S&&window.requestAnimationFrame(()=>{const{fitViewQueued:C,nodes:k,setNodes:N}=a.getState();C&&N(k)})},[]),r=b0(o),s=M.useCallback(m=>{const{edges:g=[],setEdges:p,hasDefaultEdges:y,onEdgesChange:v,edgeLookup:b}=a.getState();let S=g;for(const _ of m)S=typeof _=="function"?_(S):_;y?p(S):v&&v(g0({items:S,lookup:b}))},[]),u=b0(s),d=M.useMemo(()=>({nodeQueue:r,edgeQueue:u}),[]);return c.jsx(tS.Provider,{value:d,children:e})}function cD(){const e=M.useContext(tS);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}const uD=e=>!!e.panZoom;function Qc(){const e=oD(),a=at(),o=cD(),r=Pe(uD),s=M.useMemo(()=>{const u=v=>a.getState().nodeLookup.get(v),d=v=>{o.nodeQueue.push(v)},m=v=>{o.edgeQueue.push(v)},g=v=>{const{nodeLookup:b,nodeOrigin:S}=a.getState(),_=v0(v)?v:b.get(v.id),E=_.parentId?Tx(_.position,_.measured,_.parentId,b,S):_.position,T={..._,position:E,width:_.measured?.width??_.width,height:_.measured?.height??_.height};return Wr(T)},p=(v,b,S={replace:!1})=>{d(_=>_.map(E=>{if(E.id===v){const T=typeof b=="function"?b(E):b;return S.replace&&v0(T)?T:{...E,...T}}return E}))},y=(v,b,S={replace:!1})=>{m(_=>_.map(E=>{if(E.id===v){const T=typeof b=="function"?b(E):b;return S.replace&&iD(T)?T:{...E,...T}}return E}))};return{getNodes:()=>a.getState().nodes.map(v=>({...v})),getNode:v=>u(v)?.internals.userNode,getInternalNode:u,getEdges:()=>{const{edges:v=[]}=a.getState();return v.map(b=>({...b}))},getEdge:v=>a.getState().edgeLookup.get(v),setNodes:d,setEdges:m,addNodes:v=>{const b=Array.isArray(v)?v:[v];o.nodeQueue.push(S=>[...S,...b])},addEdges:v=>{const b=Array.isArray(v)?v:[v];o.edgeQueue.push(S=>[...S,...b])},toObject:()=>{const{nodes:v=[],edges:b=[],transform:S}=a.getState(),[_,E,T]=S;return{nodes:v.map(C=>({...C})),edges:b.map(C=>({...C})),viewport:{x:_,y:E,zoom:T}}},deleteElements:async({nodes:v=[],edges:b=[]})=>{const{nodes:S,edges:_,onNodesDelete:E,onEdgesDelete:T,triggerNodeChanges:C,triggerEdgeChanges:k,onDelete:N,onBeforeDelete:w}=a.getState(),{nodes:P,edges:I}=await OA({nodesToRemove:v,edgesToRemove:b,nodes:S,edges:_,onBeforeDelete:w}),O=I.length>0,q=P.length>0;if(O){const X=I.map(y0);T?.(I),k(X)}if(q){const X=P.map(y0);E?.(P),C(X)}return(q||O)&&N?.({nodes:P,edges:I}),{deletedNodes:P,deletedEdges:I}},getIntersectingNodes:(v,b=!0,S)=>{const _=Fv(v),E=_?v:g(v),T=S!==void 0;return E?(S||a.getState().nodes).filter(C=>{const k=a.getState().nodeLookup.get(C.id);if(k&&!_&&(C.id===v.id||!k.internals.positionAbsolute))return!1;const N=Wr(T?C:k),w=Es(N,E);return b&&w>0||w>=N.width*N.height||w>=E.width*E.height}):[]},isNodeIntersecting:(v,b,S=!0)=>{const E=Fv(v)?v:g(v);if(!E)return!1;const T=Es(E,b);return S&&T>0||T>=b.width*b.height||T>=E.width*E.height},updateNode:p,updateNodeData:(v,b,S={replace:!1})=>{p(v,_=>{const E=typeof b=="function"?b(_):b;return S.replace?{..._,data:E}:{..._,data:{..._.data,...E}}},S)},updateEdge:y,updateEdgeData:(v,b,S={replace:!1})=>{y(v,_=>{const E=typeof b=="function"?b(_):b;return S.replace?{..._,data:E}:{..._,data:{..._.data,...E}}},S)},getNodesBounds:v=>{const{nodeLookup:b,nodeOrigin:S}=a.getState();return AA(v,{nodeLookup:b,nodeOrigin:S})},getHandleConnections:({type:v,id:b,nodeId:S})=>Array.from(a.getState().connectionLookup.get(`${S}-${v}${b?`-${b}`:""}`)?.values()??[]),getNodeConnections:({type:v,handleId:b,nodeId:S})=>Array.from(a.getState().connectionLookup.get(`${S}${v?b?`-${v}-${b}`:`-${v}`:""}`)?.values()??[]),fitView:async v=>{const b=a.getState().fitViewResolver??BA();return a.setState({fitViewQueued:!0,fitViewOptions:v,fitViewResolver:b}),o.nodeQueue.push(S=>[...S]),b.promise}}},[]);return M.useMemo(()=>({...s,...e,viewportInitialized:r}),[r])}const x0=e=>e.selected,dD=typeof window<"u"?window:void 0;function fD({deleteKeyCode:e,multiSelectionKeyCode:a}){const o=at(),{deleteElements:r}=Qc(),s=Ts(e,{actInsideInputWithModifier:!1}),u=Ts(a,{target:dD});M.useEffect(()=>{if(s){const{edges:d,nodes:m}=o.getState();r({nodes:m.filter(x0),edges:d.filter(x0)}),o.setState({nodesSelectionActive:!1})}},[s]),M.useEffect(()=>{o.setState({multiSelectionActive:u})},[u])}function mD(e){const a=at();M.useEffect(()=>{const o=()=>{if(!e.current||!(e.current.checkVisibility?.()??!0))return!1;const r=km(e.current);(r.height===0||r.width===0)&&a.getState().onError?.("004",Xn.error004()),a.setState({width:r.width||500,height:r.height||500})};if(e.current){o(),window.addEventListener("resize",o);const r=new ResizeObserver(()=>o());return r.observe(e.current),()=>{window.removeEventListener("resize",o),r&&e.current&&r.unobserve(e.current)}}},[])}const Jc={position:"absolute",width:"100%",height:"100%",top:0,left:0},hD=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function pD({onPaneContextMenu:e,zoomOnScroll:a=!0,zoomOnPinch:o=!0,panOnScroll:r=!1,panOnScrollSpeed:s=.5,panOnScrollMode:u=$o.Free,zoomOnDoubleClick:d=!0,panOnDrag:m=!0,defaultViewport:g,translateExtent:p,minZoom:y,maxZoom:v,zoomActivationKeyCode:b,preventScrolling:S=!0,children:_,noWheelClassName:E,noPanClassName:T,onViewportChange:C,isControlledViewport:k,paneClickDistance:N,selectionOnDrag:w}){const P=at(),I=M.useRef(null),{userSelectionActive:O,lib:q,connectionInProgress:X}=Pe(hD,nt),ue=Ts(b),Z=M.useRef();mD(I);const ae=M.useCallback(ce=>{C?.({x:ce[0],y:ce[1],zoom:ce[2]}),k||P.setState({transform:ce})},[C,k]);return M.useEffect(()=>{if(I.current){Z.current=SR({domNode:I.current,minZoom:y,maxZoom:v,translateExtent:p,viewport:g,onDraggingChange:R=>P.setState(L=>L.paneDragging===R?L:{paneDragging:R}),onPanZoomStart:(R,L)=>{const{onViewportChangeStart:$,onMoveStart:Q}=P.getState();Q?.(R,L),$?.(L)},onPanZoom:(R,L)=>{const{onViewportChange:$,onMove:Q}=P.getState();Q?.(R,L),$?.(L)},onPanZoomEnd:(R,L)=>{const{onViewportChangeEnd:$,onMoveEnd:Q}=P.getState();Q?.(R,L),$?.(L)}});const{x:ce,y:z,zoom:D}=Z.current.getViewport();return P.setState({panZoom:Z.current,transform:[ce,z,D],domNode:I.current.closest(".react-flow")}),()=>{Z.current?.destroy()}}},[]),M.useEffect(()=>{Z.current?.update({onPaneContextMenu:e,zoomOnScroll:a,zoomOnPinch:o,panOnScroll:r,panOnScrollSpeed:s,panOnScrollMode:u,zoomOnDoubleClick:d,panOnDrag:m,zoomActivationKeyPressed:ue,preventScrolling:S,noPanClassName:T,userSelectionActive:O,noWheelClassName:E,lib:q,onTransformChange:ae,connectionInProgress:X,selectionOnDrag:w,paneClickDistance:N})},[e,a,o,r,s,u,d,m,ue,S,T,O,E,q,ae,X,w,N]),c.jsx("div",{className:"react-flow__renderer",ref:I,style:Jc,children:_})}const gD=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function yD(){const{userSelectionActive:e,userSelectionRect:a}=Pe(gD,nt);return e&&a?c.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 Bf=(e,a)=>o=>{o.target===a.current&&e?.(o)},vD=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,connectionInProgress:e.connection.inProgress,dragging:e.paneDragging});function bD({isSelecting:e,selectionKeyPressed:a,selectionMode:o=Ns.Full,panOnDrag:r,paneClickDistance:s,selectionOnDrag:u,onSelectionStart:d,onSelectionEnd:m,onPaneClick:g,onPaneContextMenu:p,onPaneScroll:y,onPaneMouseEnter:v,onPaneMouseMove:b,onPaneMouseLeave:S,children:_}){const E=at(),{userSelectionActive:T,elementsSelectable:C,dragging:k,connectionInProgress:N}=Pe(vD,nt),w=C&&(e||T),P=M.useRef(null),I=M.useRef(),O=M.useRef(new Set),q=M.useRef(new Set),X=M.useRef(!1),ue=$=>{if(X.current||N){X.current=!1;return}g?.($),E.getState().resetSelectedElements(),E.setState({nodesSelectionActive:!1})},Z=$=>{if(Array.isArray(r)&&r?.includes(2)){$.preventDefault();return}p?.($)},ae=y?$=>y($):void 0,ce=$=>{X.current&&($.stopPropagation(),X.current=!1)},z=$=>{const{domNode:Q}=E.getState();if(I.current=Q?.getBoundingClientRect(),!I.current)return;const re=$.target===P.current;if(!re&&!!$.target.closest(".nokey")||!e||!(u&&re||a)||$.button!==0||!$.isPrimary)return;$.target?.setPointerCapture?.($.pointerId),X.current=!1;const{x:G,y:J}=Rn($.nativeEvent,I.current);E.setState({userSelectionRect:{width:0,height:0,startX:G,startY:J,x:G,y:J}}),re||($.stopPropagation(),$.preventDefault())},D=$=>{const{userSelectionRect:Q,transform:re,nodeLookup:A,edgeLookup:B,connectionLookup:G,triggerNodeChanges:J,triggerEdgeChanges:K,defaultEdgeOptions:se,resetSelectedElements:V}=E.getState();if(!I.current||!Q)return;const{x:te,y:he}=Rn($.nativeEvent,I.current),{startX:pe,startY:ye}=Q;if(!X.current){const Ue=a?0:s;if(Math.hypot(te-pe,he-ye)<=Ue)return;V(),d?.($)}X.current=!0;const ve={startX:pe,startY:ye,x:te<pe?te:pe,y:he<ye?he:ye,width:Math.abs(te-pe),height:Math.abs(he-ye)},Te=O.current,De=q.current;O.current=new Set(Rm(A,ve,re,o===Ns.Partial,!0).map(Ue=>Ue.id)),q.current=new Set;const Fe=se?.selectable??!0;for(const Ue of O.current){const Je=G.get(Ue);if(Je)for(const{edgeId:jt}of Je.values()){const rt=B.get(jt);rt&&(rt.selectable??Fe)&&q.current.add(jt)}}if(!$v(Te,O.current)){const Ue=Vr(A,O.current,!0);J(Ue)}if(!$v(De,q.current)){const Ue=Vr(B,q.current);K(Ue)}E.setState({userSelectionRect:ve,userSelectionActive:!0,nodesSelectionActive:!1})},R=$=>{$.button===0&&($.target?.releasePointerCapture?.($.pointerId),!T&&$.target===P.current&&E.getState().userSelectionRect&&ue?.($),E.setState({userSelectionActive:!1,userSelectionRect:null}),X.current&&(m?.($),E.setState({nodesSelectionActive:O.current.size>0})))},L=r===!0||Array.isArray(r)&&r.includes(0);return c.jsxs("div",{className:gt(["react-flow__pane",{draggable:L,dragging:k,selection:e}]),onClick:w?void 0:Bf(ue,P),onContextMenu:Bf(Z,P),onWheel:Bf(ae,P),onPointerEnter:w?void 0:v,onPointerMove:w?D:b,onPointerUp:w?R:void 0,onPointerDownCapture:w?z:void 0,onClickCapture:w?ce:void 0,onPointerLeave:S,ref:P,style:Jc,children:[_,c.jsx(yD,{})]})}function dm({id:e,store:a,unselect:o=!1,nodeRef:r}){const{addSelectedNodes:s,unselectNodesAndEdges:u,multiSelectionActive:d,nodeLookup:m,onError:g}=a.getState(),p=m.get(e);if(!p){g?.("012",Xn.error012(e));return}a.setState({nodesSelectionActive:!1}),p.selected?(o||p.selected&&d)&&(u({nodes:[p],edges:[]}),requestAnimationFrame(()=>r?.current?.blur())):s([e])}function nS({nodeRef:e,disabled:a=!1,noDragClassName:o,handleSelector:r,nodeId:s,isSelectable:u,nodeClickDistance:d}){const m=at(),[g,p]=M.useState(!1),y=M.useRef();return M.useEffect(()=>{y.current=sR({getStoreItems:()=>m.getState(),onNodeMouseDown:v=>{dm({id:v,store:m,nodeRef:e})},onDragStart:()=>{p(!0)},onDragStop:()=>{p(!1)}})},[]),M.useEffect(()=>{if(!(a||!e.current||!y.current))return y.current.update({noDragClassName:o,handleSelector:r,domNode:e.current,isSelectable:u,nodeId:s,nodeClickDistance:d}),()=>{y.current?.destroy()}},[o,r,a,u,e,s,d]),g}const xD=e=>a=>a.selected&&(a.draggable||e&&typeof a.draggable>"u");function aS(){const e=at();return M.useCallback(o=>{const{nodeExtent:r,snapToGrid:s,snapGrid:u,nodesDraggable:d,onError:m,updateNodePositions:g,nodeLookup:p,nodeOrigin:y}=e.getState(),v=new Map,b=xD(d),S=s?u[0]:5,_=s?u[1]:5,E=o.direction.x*S*o.factor,T=o.direction.y*_*o.factor;for(const[,C]of p){if(!b(C))continue;let k={x:C.internals.positionAbsolute.x+E,y:C.internals.positionAbsolute.y+T};s&&(k=Os(k,u));const{position:N,positionAbsolute:w}=wx({nodeId:C.id,nextPosition:k,nodeLookup:p,nodeExtent:r,nodeOrigin:y,onError:m});C.position=N,C.internals.positionAbsolute=w,v.set(C.id,C)}g(v)},[])}const Hm=M.createContext(null),SD=Hm.Provider;Hm.Consumer;const oS=()=>M.useContext(Hm),wD=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),_D=(e,a,o)=>r=>{const{connectionClickStartHandle:s,connectionMode:u,connection:d}=r,{fromHandle:m,toHandle:g,isValid:p}=d,y=g?.nodeId===e&&g?.id===a&&g?.type===o;return{connectingFrom:m?.nodeId===e&&m?.id===a&&m?.type===o,connectingTo:y,clickConnecting:s?.nodeId===e&&s?.id===a&&s?.type===o,isPossibleEndHandle:u===Ko.Strict?m?.type!==o:e!==m?.nodeId||a!==m?.id,connectionInProcess:!!m,clickConnectionInProcess:!!s,valid:y&&p}};function ND({type:e="source",position:a=_e.Top,isValidConnection:o,isConnectable:r=!0,isConnectableStart:s=!0,isConnectableEnd:u=!0,id:d,onConnect:m,children:g,className:p,onMouseDown:y,onTouchStart:v,...b},S){const _=d||null,E=e==="target",T=at(),C=oS(),{connectOnClick:k,noPanClassName:N,rfId:w}=Pe(wD,nt),{connectingFrom:P,connectingTo:I,clickConnecting:O,isPossibleEndHandle:q,connectionInProcess:X,clickConnectionInProcess:ue,valid:Z}=Pe(_D(C,_,e),nt);C||T.getState().onError?.("010",Xn.error010());const ae=D=>{const{defaultEdgeOptions:R,onConnect:L,hasDefaultEdges:$}=T.getState(),Q={...R,...D};if($){const{edges:re,setEdges:A}=T.getState();A($A(Q,re))}L?.(Q),m?.(Q)},ce=D=>{if(!C)return;const R=Ax(D.nativeEvent);if(s&&(R&&D.button===0||!R)){const L=T.getState();cm.onPointerDown(D.nativeEvent,{handleDomNode:D.currentTarget,autoPanOnConnect:L.autoPanOnConnect,connectionMode:L.connectionMode,connectionRadius:L.connectionRadius,domNode:L.domNode,nodeLookup:L.nodeLookup,lib:L.lib,isTarget:E,handleId:_,nodeId:C,flowId:L.rfId,panBy:L.panBy,cancelConnection:L.cancelConnection,onConnectStart:L.onConnectStart,onConnectEnd:(...$)=>T.getState().onConnectEnd?.(...$),updateConnection:L.updateConnection,onConnect:ae,isValidConnection:o||((...$)=>T.getState().isValidConnection?.(...$)??!0),getTransform:()=>T.getState().transform,getFromHandle:()=>T.getState().connection.fromHandle,autoPanSpeed:L.autoPanSpeed,dragThreshold:L.connectionDragThreshold})}R?y?.(D):v?.(D)},z=D=>{const{onClickConnectStart:R,onClickConnectEnd:L,connectionClickStartHandle:$,connectionMode:Q,isValidConnection:re,lib:A,rfId:B,nodeLookup:G,connection:J}=T.getState();if(!C||!$&&!s)return;if(!$){R?.(D.nativeEvent,{nodeId:C,handleId:_,handleType:e}),T.setState({connectionClickStartHandle:{nodeId:C,type:e,id:_}});return}const K=Mx(D.target),se=o||re,{connection:V,isValid:te}=cm.isValid(D.nativeEvent,{handle:{nodeId:C,id:_,type:e},connectionMode:Q,fromNodeId:$.nodeId,fromHandleId:$.id||null,fromType:$.type,isValidConnection:se,flowId:B,doc:K,lib:A,nodeLookup:G});te&&V&&ae(V);const he=structuredClone(J);delete he.inProgress,he.toPosition=he.toHandle?he.toHandle.position:null,L?.(D,he),T.setState({connectionClickStartHandle:null})};return c.jsx("div",{"data-handleid":_,"data-nodeid":C,"data-handlepos":a,"data-id":`${w}-${C}-${_}-${e}`,className:gt(["react-flow__handle",`react-flow__handle-${a}`,"nodrag",N,p,{source:!E,target:E,connectable:r,connectablestart:s,connectableend:u,clickconnecting:O,connectingfrom:P,connectingto:I,valid:Z,connectionindicator:r&&(!X||q)&&(X||ue?u:s)}]),onMouseDown:ce,onTouchStart:ce,onClick:k?z:void 0,ref:S,...b,children:g})}const ni=M.memo(eS(ND));function ED({data:e,isConnectable:a,sourcePosition:o=_e.Bottom}){return c.jsxs(c.Fragment,{children:[e?.label,c.jsx(ni,{type:"source",position:o,isConnectable:a})]})}function CD({data:e,isConnectable:a,targetPosition:o=_e.Top,sourcePosition:r=_e.Bottom}){return c.jsxs(c.Fragment,{children:[c.jsx(ni,{type:"target",position:o,isConnectable:a}),e?.label,c.jsx(ni,{type:"source",position:r,isConnectable:a})]})}function TD(){return null}function MD({data:e,isConnectable:a,targetPosition:o=_e.Top}){return c.jsxs(c.Fragment,{children:[c.jsx(ni,{type:"target",position:o,isConnectable:a}),e?.label]})}const Uc={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},S0={input:ED,default:CD,output:MD,group:TD};function jD(e){return e.internals.handleBounds===void 0?{width:e.width??e.initialWidth??e.style?.width,height:e.height??e.initialHeight??e.style?.height}:{width:e.width??e.style?.width,height:e.height??e.style?.height}}const AD=e=>{const{width:a,height:o,x:r,y:s}=ks(e.nodeLookup,{filter:u=>!!u.selected});return{width:An(a)?a:null,height:An(o)?o:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${r}px,${s}px)`}};function RD({onSelectionContextMenu:e,noPanClassName:a,disableKeyboardA11y:o}){const r=at(),{width:s,height:u,transformString:d,userSelectionActive:m}=Pe(AD,nt),g=aS(),p=M.useRef(null);M.useEffect(()=>{o||p.current?.focus({preventScroll:!0})},[o]);const y=!m&&s!==null&&u!==null;if(nS({nodeRef:p,disabled:!y}),!y)return null;const v=e?S=>{const _=r.getState().nodes.filter(E=>E.selected);e(S,_)}:void 0,b=S=>{Object.prototype.hasOwnProperty.call(Uc,S.key)&&(S.preventDefault(),g({direction:Uc[S.key],factor:S.shiftKey?4:1}))};return c.jsx("div",{className:gt(["react-flow__nodesselection","react-flow__container",a]),style:{transform:d},children:c.jsx("div",{ref:p,className:"react-flow__nodesselection-rect",onContextMenu:v,tabIndex:o?void 0:-1,onKeyDown:o?void 0:b,style:{width:s,height:u}})})}const w0=typeof window<"u"?window:void 0,DD=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function rS({children:e,onPaneClick:a,onPaneMouseEnter:o,onPaneMouseMove:r,onPaneMouseLeave:s,onPaneContextMenu:u,onPaneScroll:d,paneClickDistance:m,deleteKeyCode:g,selectionKeyCode:p,selectionOnDrag:y,selectionMode:v,onSelectionStart:b,onSelectionEnd:S,multiSelectionKeyCode:_,panActivationKeyCode:E,zoomActivationKeyCode:T,elementsSelectable:C,zoomOnScroll:k,zoomOnPinch:N,panOnScroll:w,panOnScrollSpeed:P,panOnScrollMode:I,zoomOnDoubleClick:O,panOnDrag:q,defaultViewport:X,translateExtent:ue,minZoom:Z,maxZoom:ae,preventScrolling:ce,onSelectionContextMenu:z,noWheelClassName:D,noPanClassName:R,disableKeyboardA11y:L,onViewportChange:$,isControlledViewport:Q}){const{nodesSelectionActive:re,userSelectionActive:A}=Pe(DD,nt),B=Ts(p,{target:w0}),G=Ts(E,{target:w0}),J=G||q,K=G||w,se=y&&J!==!0,V=B||A||se;return fD({deleteKeyCode:g,multiSelectionKeyCode:_}),c.jsx(pD,{onPaneContextMenu:u,elementsSelectable:C,zoomOnScroll:k,zoomOnPinch:N,panOnScroll:K,panOnScrollSpeed:P,panOnScrollMode:I,zoomOnDoubleClick:O,panOnDrag:!B&&J,defaultViewport:X,translateExtent:ue,minZoom:Z,maxZoom:ae,zoomActivationKeyCode:T,preventScrolling:ce,noWheelClassName:D,noPanClassName:R,onViewportChange:$,isControlledViewport:Q,paneClickDistance:m,selectionOnDrag:se,children:c.jsxs(bD,{onSelectionStart:b,onSelectionEnd:S,onPaneClick:a,onPaneMouseEnter:o,onPaneMouseMove:r,onPaneMouseLeave:s,onPaneContextMenu:u,onPaneScroll:d,panOnDrag:J,isSelecting:!!V,selectionMode:v,selectionKeyPressed:B,paneClickDistance:m,selectionOnDrag:se,children:[e,re&&c.jsx(RD,{onSelectionContextMenu:z,noPanClassName:R,disableKeyboardA11y:L})]})})}rS.displayName="FlowRenderer";const kD=M.memo(rS),OD=e=>a=>e?Rm(a.nodeLookup,{x:0,y:0,width:a.width,height:a.height},a.transform,!0).map(o=>o.id):Array.from(a.nodeLookup.keys());function zD(e){return Pe(M.useCallback(OD(e),[e]),nt)}const ID=e=>e.updateNodeInternals;function LD(){const e=Pe(ID),[a]=M.useState(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(o=>{const r=new Map;o.forEach(s=>{const u=s.target.getAttribute("data-id");r.set(u,{id:u,nodeElement:s.target,force:!0})}),e(r)}));return M.useEffect(()=>()=>{a?.disconnect()},[a]),a}function BD({node:e,nodeType:a,hasDimensions:o,resizeObserver:r}){const s=at(),u=M.useRef(null),d=M.useRef(null),m=M.useRef(e.sourcePosition),g=M.useRef(e.targetPosition),p=M.useRef(a),y=o&&!!e.internals.handleBounds;return M.useEffect(()=>{u.current&&!e.hidden&&(!y||d.current!==u.current)&&(d.current&&r?.unobserve(d.current),r?.observe(u.current),d.current=u.current)},[y,e.hidden]),M.useEffect(()=>()=>{d.current&&(r?.unobserve(d.current),d.current=null)},[]),M.useEffect(()=>{if(u.current){const v=p.current!==a,b=m.current!==e.sourcePosition,S=g.current!==e.targetPosition;(v||b||S)&&(p.current=a,m.current=e.sourcePosition,g.current=e.targetPosition,s.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:u.current,force:!0}]])))}},[e.id,a,e.sourcePosition,e.targetPosition]),u}function HD({id:e,onClick:a,onMouseEnter:o,onMouseMove:r,onMouseLeave:s,onContextMenu:u,onDoubleClick:d,nodesDraggable:m,elementsSelectable:g,nodesConnectable:p,nodesFocusable:y,resizeObserver:v,noDragClassName:b,noPanClassName:S,disableKeyboardA11y:_,rfId:E,nodeTypes:T,nodeClickDistance:C,onError:k}){const{node:N,internals:w,isParent:P}=Pe(te=>{const he=te.nodeLookup.get(e),pe=te.parentLookup.has(e);return{node:he,internals:he.internals,isParent:pe}},nt);let I=N.type||"default",O=T?.[I]||S0[I];O===void 0&&(k?.("003",Xn.error003(I)),I="default",O=T?.default||S0.default);const q=!!(N.draggable||m&&typeof N.draggable>"u"),X=!!(N.selectable||g&&typeof N.selectable>"u"),ue=!!(N.connectable||p&&typeof N.connectable>"u"),Z=!!(N.focusable||y&&typeof N.focusable>"u"),ae=at(),ce=Cx(N),z=BD({node:N,nodeType:I,hasDimensions:ce,resizeObserver:v}),D=nS({nodeRef:z,disabled:N.hidden||!q,noDragClassName:b,handleSelector:N.dragHandle,nodeId:e,isSelectable:X,nodeClickDistance:C}),R=aS();if(N.hidden)return null;const L=Ca(N),$=jD(N),Q=X||q||a||o||r||s,re=o?te=>o(te,{...w.userNode}):void 0,A=r?te=>r(te,{...w.userNode}):void 0,B=s?te=>s(te,{...w.userNode}):void 0,G=u?te=>u(te,{...w.userNode}):void 0,J=d?te=>d(te,{...w.userNode}):void 0,K=te=>{const{selectNodesOnDrag:he,nodeDragThreshold:pe}=ae.getState();X&&(!he||!q||pe>0)&&dm({id:e,store:ae,nodeRef:z}),a&&a(te,{...w.userNode})},se=te=>{if(!(jx(te.nativeEvent)||_)){if(yx.includes(te.key)&&X){const he=te.key==="Escape";dm({id:e,store:ae,unselect:he,nodeRef:z})}else if(q&&N.selected&&Object.prototype.hasOwnProperty.call(Uc,te.key)){te.preventDefault();const{ariaLabelConfig:he}=ae.getState();ae.setState({ariaLiveMessage:he["node.a11yDescription.ariaLiveMessage"]({direction:te.key.replace("Arrow","").toLowerCase(),x:~~w.positionAbsolute.x,y:~~w.positionAbsolute.y})}),R({direction:Uc[te.key],factor:te.shiftKey?4:1})}}},V=()=>{if(_||!z.current?.matches(":focus-visible"))return;const{transform:te,width:he,height:pe,autoPanOnNodeFocus:ye,setCenter:ve}=ae.getState();if(!ye)return;Rm(new Map([[e,N]]),{x:0,y:0,width:he,height:pe},te,!0).length>0||ve(N.position.x+L.width/2,N.position.y+L.height/2,{zoom:te[2]})};return c.jsx("div",{className:gt(["react-flow__node",`react-flow__node-${I}`,{[S]:q},N.className,{selected:N.selected,selectable:X,parent:P,draggable:q,dragging:D}]),ref:z,style:{zIndex:w.z,transform:`translate(${w.positionAbsolute.x}px,${w.positionAbsolute.y}px)`,pointerEvents:Q?"all":"none",visibility:ce?"visible":"hidden",...N.style,...$},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:re,onMouseMove:A,onMouseLeave:B,onContextMenu:G,onClick:K,onDoubleClick:J,onKeyDown:Z?se:void 0,tabIndex:Z?0:void 0,onFocus:Z?V:void 0,role:N.ariaRole??(Z?"group":void 0),"aria-roledescription":"node","aria-describedby":_?void 0:`${Xx}-${E}`,"aria-label":N.ariaLabel,...N.domAttributes,children:c.jsx(SD,{value:e,children:c.jsx(O,{id:e,data:N.data,type:I,positionAbsoluteX:w.positionAbsolute.x,positionAbsoluteY:w.positionAbsolute.y,selected:N.selected??!1,selectable:X,draggable:q,deletable:N.deletable??!0,isConnectable:ue,sourcePosition:N.sourcePosition,targetPosition:N.targetPosition,dragging:D,dragHandle:N.dragHandle,zIndex:w.z,parentId:N.parentId,...L})})})}var UD=M.memo(HD);const PD=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function iS(e){const{nodesDraggable:a,nodesConnectable:o,nodesFocusable:r,elementsSelectable:s,onError:u}=Pe(PD,nt),d=zD(e.onlyRenderVisibleElements),m=LD();return c.jsx("div",{className:"react-flow__nodes",style:Jc,children:d.map(g=>c.jsx(UD,{id:g,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:m,nodesDraggable:a,nodesConnectable:o,nodesFocusable:r,elementsSelectable:s,nodeClickDistance:e.nodeClickDistance,onError:u},g))})}iS.displayName="NodeRenderer";const qD=M.memo(iS);function GD(e){return Pe(M.useCallback(o=>{if(!e)return o.edges.map(s=>s.id);const r=[];if(o.width&&o.height)for(const s of o.edges){const u=o.nodeLookup.get(s.source),d=o.nodeLookup.get(s.target);u&&d&&qA({sourceNode:u,targetNode:d,width:o.width,height:o.height,transform:o.transform})&&r.push(s.id)}return r},[e]),nt)}const FD=({color:e="none",strokeWidth:a=1})=>{const o={strokeWidth:a,...e&&{stroke:e}};return c.jsx("polyline",{className:"arrow",style:o,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},$D=({color:e="none",strokeWidth:a=1})=>{const o={strokeWidth:a,...e&&{stroke:e,fill:e}};return c.jsx("polyline",{className:"arrowclosed",style:o,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},_0={[Lc.Arrow]:FD,[Lc.ArrowClosed]:$D};function VD(e){const a=at();return M.useMemo(()=>Object.prototype.hasOwnProperty.call(_0,e)?_0[e]:(a.getState().onError?.("009",Xn.error009(e)),null),[e])}const YD=({id:e,type:a,color:o,width:r=12.5,height:s=12.5,markerUnits:u="strokeWidth",strokeWidth:d,orient:m="auto-start-reverse"})=>{const g=VD(a);return g?c.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${r}`,markerHeight:`${s}`,viewBox:"-10 -10 20 20",markerUnits:u,orient:m,refX:"0",refY:"0",children:c.jsx(g,{color:o,strokeWidth:d})}):null},sS=({defaultColor:e,rfId:a})=>{const o=Pe(u=>u.edges),r=Pe(u=>u.defaultEdgeOptions),s=M.useMemo(()=>ZA(o,{id:a,defaultColor:e,defaultMarkerStart:r?.markerStart,defaultMarkerEnd:r?.markerEnd}),[o,r,a,e]);return s.length?c.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:c.jsx("defs",{children:s.map(u=>c.jsx(YD,{id:u.id,type:u.type,color:u.color,width:u.width,height:u.height,markerUnits:u.markerUnits,strokeWidth:u.strokeWidth,orient:u.orient},u.id))})}):null};sS.displayName="MarkerDefinitions";var XD=M.memo(sS);function lS({x:e,y:a,label:o,labelStyle:r,labelShowBg:s=!0,labelBgStyle:u,labelBgPadding:d=[2,4],labelBgBorderRadius:m=2,children:g,className:p,...y}){const[v,b]=M.useState({x:1,y:0,width:0,height:0}),S=gt(["react-flow__edge-textwrapper",p]),_=M.useRef(null);return M.useEffect(()=>{if(_.current){const E=_.current.getBBox();b({x:E.x,y:E.y,width:E.width,height:E.height})}},[o]),o?c.jsxs("g",{transform:`translate(${e-v.width/2} ${a-v.height/2})`,className:S,visibility:v.width?"visible":"hidden",...y,children:[s&&c.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:u,rx:m,ry:m}),c.jsx("text",{className:"react-flow__edge-text",y:v.height/2,dy:"0.3em",ref:_,style:r,children:o}),g]}):null}lS.displayName="EdgeText";const KD=M.memo(lS);function Wc({path:e,labelX:a,labelY:o,label:r,labelStyle:s,labelShowBg:u,labelBgStyle:d,labelBgPadding:m,labelBgBorderRadius:g,interactionWidth:p=20,...y}){return c.jsxs(c.Fragment,{children:[c.jsx("path",{...y,d:e,fill:"none",className:gt(["react-flow__edge-path",y.className])}),p?c.jsx("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:p,className:"react-flow__edge-interaction"}):null,r&&An(a)&&An(o)?c.jsx(KD,{x:a,y:o,label:r,labelStyle:s,labelShowBg:u,labelBgStyle:d,labelBgPadding:m,labelBgBorderRadius:g}):null]})}function N0({pos:e,x1:a,y1:o,x2:r,y2:s}){return e===_e.Left||e===_e.Right?[.5*(a+r),o]:[a,.5*(o+s)]}function cS({sourceX:e,sourceY:a,sourcePosition:o=_e.Bottom,targetX:r,targetY:s,targetPosition:u=_e.Top}){const[d,m]=N0({pos:o,x1:e,y1:a,x2:r,y2:s}),[g,p]=N0({pos:u,x1:r,y1:s,x2:e,y2:a}),[y,v,b,S]=Rx({sourceX:e,sourceY:a,targetX:r,targetY:s,sourceControlX:d,sourceControlY:m,targetControlX:g,targetControlY:p});return[`M${e},${a} C${d},${m} ${g},${p} ${r},${s}`,y,v,b,S]}function uS(e){return M.memo(({id:a,sourceX:o,sourceY:r,targetX:s,targetY:u,sourcePosition:d,targetPosition:m,label:g,labelStyle:p,labelShowBg:y,labelBgStyle:v,labelBgPadding:b,labelBgBorderRadius:S,style:_,markerEnd:E,markerStart:T,interactionWidth:C})=>{const[k,N,w]=cS({sourceX:o,sourceY:r,sourcePosition:d,targetX:s,targetY:u,targetPosition:m}),P=e.isInternal?void 0:a;return c.jsx(Wc,{id:P,path:k,labelX:N,labelY:w,label:g,labelStyle:p,labelShowBg:y,labelBgStyle:v,labelBgPadding:b,labelBgBorderRadius:S,style:_,markerEnd:E,markerStart:T,interactionWidth:C})})}const ZD=uS({isInternal:!1}),dS=uS({isInternal:!0});ZD.displayName="SimpleBezierEdge";dS.displayName="SimpleBezierEdgeInternal";function fS(e){return M.memo(({id:a,sourceX:o,sourceY:r,targetX:s,targetY:u,label:d,labelStyle:m,labelShowBg:g,labelBgStyle:p,labelBgPadding:y,labelBgBorderRadius:v,style:b,sourcePosition:S=_e.Bottom,targetPosition:_=_e.Top,markerEnd:E,markerStart:T,pathOptions:C,interactionWidth:k})=>{const[N,w,P]=im({sourceX:o,sourceY:r,sourcePosition:S,targetX:s,targetY:u,targetPosition:_,borderRadius:C?.borderRadius,offset:C?.offset,stepPosition:C?.stepPosition}),I=e.isInternal?void 0:a;return c.jsx(Wc,{id:I,path:N,labelX:w,labelY:P,label:d,labelStyle:m,labelShowBg:g,labelBgStyle:p,labelBgPadding:y,labelBgBorderRadius:v,style:b,markerEnd:E,markerStart:T,interactionWidth:k})})}const mS=fS({isInternal:!1}),hS=fS({isInternal:!0});mS.displayName="SmoothStepEdge";hS.displayName="SmoothStepEdgeInternal";function pS(e){return M.memo(({id:a,...o})=>{const r=e.isInternal?void 0:a;return c.jsx(mS,{...o,id:r,pathOptions:M.useMemo(()=>({borderRadius:0,offset:o.pathOptions?.offset}),[o.pathOptions?.offset])})})}const QD=pS({isInternal:!1}),gS=pS({isInternal:!0});QD.displayName="StepEdge";gS.displayName="StepEdgeInternal";function yS(e){return M.memo(({id:a,sourceX:o,sourceY:r,targetX:s,targetY:u,label:d,labelStyle:m,labelShowBg:g,labelBgStyle:p,labelBgPadding:y,labelBgBorderRadius:v,style:b,markerEnd:S,markerStart:_,interactionWidth:E})=>{const[T,C,k]=Ox({sourceX:o,sourceY:r,targetX:s,targetY:u}),N=e.isInternal?void 0:a;return c.jsx(Wc,{id:N,path:T,labelX:C,labelY:k,label:d,labelStyle:m,labelShowBg:g,labelBgStyle:p,labelBgPadding:y,labelBgBorderRadius:v,style:b,markerEnd:S,markerStart:_,interactionWidth:E})})}const JD=yS({isInternal:!1}),vS=yS({isInternal:!0});JD.displayName="StraightEdge";vS.displayName="StraightEdgeInternal";function bS(e){return M.memo(({id:a,sourceX:o,sourceY:r,targetX:s,targetY:u,sourcePosition:d=_e.Bottom,targetPosition:m=_e.Top,label:g,labelStyle:p,labelShowBg:y,labelBgStyle:v,labelBgPadding:b,labelBgBorderRadius:S,style:_,markerEnd:E,markerStart:T,pathOptions:C,interactionWidth:k})=>{const[N,w,P]=Dx({sourceX:o,sourceY:r,sourcePosition:d,targetX:s,targetY:u,targetPosition:m,curvature:C?.curvature}),I=e.isInternal?void 0:a;return c.jsx(Wc,{id:I,path:N,labelX:w,labelY:P,label:g,labelStyle:p,labelShowBg:y,labelBgStyle:v,labelBgPadding:b,labelBgBorderRadius:S,style:_,markerEnd:E,markerStart:T,interactionWidth:k})})}const WD=bS({isInternal:!1}),xS=bS({isInternal:!0});WD.displayName="BezierEdge";xS.displayName="BezierEdgeInternal";const E0={default:xS,straight:vS,step:gS,smoothstep:hS,simplebezier:dS},C0={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},ek=(e,a,o)=>o===_e.Left?e-a:o===_e.Right?e+a:e,tk=(e,a,o)=>o===_e.Top?e-a:o===_e.Bottom?e+a:e,T0="react-flow__edgeupdater";function M0({position:e,centerX:a,centerY:o,radius:r=10,onMouseDown:s,onMouseEnter:u,onMouseOut:d,type:m}){return c.jsx("circle",{onMouseDown:s,onMouseEnter:u,onMouseOut:d,className:gt([T0,`${T0}-${m}`]),cx:ek(a,r,e),cy:tk(o,r,e),r,stroke:"transparent",fill:"transparent"})}function nk({isReconnectable:e,reconnectRadius:a,edge:o,sourceX:r,sourceY:s,targetX:u,targetY:d,sourcePosition:m,targetPosition:g,onReconnect:p,onReconnectStart:y,onReconnectEnd:v,setReconnecting:b,setUpdateHover:S}){const _=at(),E=(w,P)=>{if(w.button!==0)return;const{autoPanOnConnect:I,domNode:O,connectionMode:q,connectionRadius:X,lib:ue,onConnectStart:Z,cancelConnection:ae,nodeLookup:ce,rfId:z,panBy:D,updateConnection:R}=_.getState(),L=P.type==="target",$=(A,B)=>{b(!1),v?.(A,o,P.type,B)},Q=A=>p?.(o,A),re=(A,B)=>{b(!0),y?.(w,o,P.type),Z?.(A,B)};cm.onPointerDown(w.nativeEvent,{autoPanOnConnect:I,connectionMode:q,connectionRadius:X,domNode:O,handleId:P.id,nodeId:P.nodeId,nodeLookup:ce,isTarget:L,edgeUpdaterType:P.type,lib:ue,flowId:z,cancelConnection:ae,panBy:D,isValidConnection:(...A)=>_.getState().isValidConnection?.(...A)??!0,onConnect:Q,onConnectStart:re,onConnectEnd:(...A)=>_.getState().onConnectEnd?.(...A),onReconnectEnd:$,updateConnection:R,getTransform:()=>_.getState().transform,getFromHandle:()=>_.getState().connection.fromHandle,dragThreshold:_.getState().connectionDragThreshold,handleDomNode:w.currentTarget})},T=w=>E(w,{nodeId:o.target,id:o.targetHandle??null,type:"target"}),C=w=>E(w,{nodeId:o.source,id:o.sourceHandle??null,type:"source"}),k=()=>S(!0),N=()=>S(!1);return c.jsxs(c.Fragment,{children:[(e===!0||e==="source")&&c.jsx(M0,{position:m,centerX:r,centerY:s,radius:a,onMouseDown:T,onMouseEnter:k,onMouseOut:N,type:"source"}),(e===!0||e==="target")&&c.jsx(M0,{position:g,centerX:u,centerY:d,radius:a,onMouseDown:C,onMouseEnter:k,onMouseOut:N,type:"target"})]})}function ak({id:e,edgesFocusable:a,edgesReconnectable:o,elementsSelectable:r,onClick:s,onDoubleClick:u,onContextMenu:d,onMouseEnter:m,onMouseMove:g,onMouseLeave:p,reconnectRadius:y,onReconnect:v,onReconnectStart:b,onReconnectEnd:S,rfId:_,edgeTypes:E,noPanClassName:T,onError:C,disableKeyboardA11y:k}){let N=Pe(ve=>ve.edgeLookup.get(e));const w=Pe(ve=>ve.defaultEdgeOptions);N=w?{...w,...N}:N;let P=N.type||"default",I=E?.[P]||E0[P];I===void 0&&(C?.("011",Xn.error011(P)),P="default",I=E?.default||E0.default);const O=!!(N.focusable||a&&typeof N.focusable>"u"),q=typeof v<"u"&&(N.reconnectable||o&&typeof N.reconnectable>"u"),X=!!(N.selectable||r&&typeof N.selectable>"u"),ue=M.useRef(null),[Z,ae]=M.useState(!1),[ce,z]=M.useState(!1),D=at(),{zIndex:R,sourceX:L,sourceY:$,targetX:Q,targetY:re,sourcePosition:A,targetPosition:B}=Pe(M.useCallback(ve=>{const Te=ve.nodeLookup.get(N.source),De=ve.nodeLookup.get(N.target);if(!Te||!De)return{zIndex:N.zIndex,...C0};const Fe=KA({id:e,sourceNode:Te,targetNode:De,sourceHandle:N.sourceHandle||null,targetHandle:N.targetHandle||null,connectionMode:ve.connectionMode,onError:C});return{zIndex:PA({selected:N.selected,zIndex:N.zIndex,sourceNode:Te,targetNode:De,elevateOnSelect:ve.elevateEdgesOnSelect,zIndexMode:ve.zIndexMode}),...Fe||C0}},[N.source,N.target,N.sourceHandle,N.targetHandle,N.selected,N.zIndex]),nt),G=M.useMemo(()=>N.markerStart?`url('#${sm(N.markerStart,_)}')`:void 0,[N.markerStart,_]),J=M.useMemo(()=>N.markerEnd?`url('#${sm(N.markerEnd,_)}')`:void 0,[N.markerEnd,_]);if(N.hidden||L===null||$===null||Q===null||re===null)return null;const K=ve=>{const{addSelectedEdges:Te,unselectNodesAndEdges:De,multiSelectionActive:Fe}=D.getState();X&&(D.setState({nodesSelectionActive:!1}),N.selected&&Fe?(De({nodes:[],edges:[N]}),ue.current?.blur()):Te([e])),s&&s(ve,N)},se=u?ve=>{u(ve,{...N})}:void 0,V=d?ve=>{d(ve,{...N})}:void 0,te=m?ve=>{m(ve,{...N})}:void 0,he=g?ve=>{g(ve,{...N})}:void 0,pe=p?ve=>{p(ve,{...N})}:void 0,ye=ve=>{if(!k&&yx.includes(ve.key)&&X){const{unselectNodesAndEdges:Te,addSelectedEdges:De}=D.getState();ve.key==="Escape"?(ue.current?.blur(),Te({edges:[N]})):De([e])}};return c.jsx("svg",{style:{zIndex:R},children:c.jsxs("g",{className:gt(["react-flow__edge",`react-flow__edge-${P}`,N.className,T,{selected:N.selected,animated:N.animated,inactive:!X&&!s,updating:Z,selectable:X}]),onClick:K,onDoubleClick:se,onContextMenu:V,onMouseEnter:te,onMouseMove:he,onMouseLeave:pe,onKeyDown:O?ye:void 0,tabIndex:O?0:void 0,role:N.ariaRole??(O?"group":"img"),"aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":N.ariaLabel===null?void 0:N.ariaLabel||`Edge from ${N.source} to ${N.target}`,"aria-describedby":O?`${Kx}-${_}`:void 0,ref:ue,...N.domAttributes,children:[!ce&&c.jsx(I,{id:e,source:N.source,target:N.target,type:N.type,selected:N.selected,animated:N.animated,selectable:X,deletable:N.deletable??!0,label:N.label,labelStyle:N.labelStyle,labelShowBg:N.labelShowBg,labelBgStyle:N.labelBgStyle,labelBgPadding:N.labelBgPadding,labelBgBorderRadius:N.labelBgBorderRadius,sourceX:L,sourceY:$,targetX:Q,targetY:re,sourcePosition:A,targetPosition:B,data:N.data,style:N.style,sourceHandleId:N.sourceHandle,targetHandleId:N.targetHandle,markerStart:G,markerEnd:J,pathOptions:"pathOptions"in N?N.pathOptions:void 0,interactionWidth:N.interactionWidth}),q&&c.jsx(nk,{edge:N,isReconnectable:q,reconnectRadius:y,onReconnect:v,onReconnectStart:b,onReconnectEnd:S,sourceX:L,sourceY:$,targetX:Q,targetY:re,sourcePosition:A,targetPosition:B,setUpdateHover:ae,setReconnecting:z})]})})}var ok=M.memo(ak);const rk=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function SS({defaultMarkerColor:e,onlyRenderVisibleElements:a,rfId:o,edgeTypes:r,noPanClassName:s,onReconnect:u,onEdgeContextMenu:d,onEdgeMouseEnter:m,onEdgeMouseMove:g,onEdgeMouseLeave:p,onEdgeClick:y,reconnectRadius:v,onEdgeDoubleClick:b,onReconnectStart:S,onReconnectEnd:_,disableKeyboardA11y:E}){const{edgesFocusable:T,edgesReconnectable:C,elementsSelectable:k,onError:N}=Pe(rk,nt),w=GD(a);return c.jsxs("div",{className:"react-flow__edges",children:[c.jsx(XD,{defaultColor:e,rfId:o}),w.map(P=>c.jsx(ok,{id:P,edgesFocusable:T,edgesReconnectable:C,elementsSelectable:k,noPanClassName:s,onReconnect:u,onContextMenu:d,onMouseEnter:m,onMouseMove:g,onMouseLeave:p,onClick:y,reconnectRadius:v,onDoubleClick:b,onReconnectStart:S,onReconnectEnd:_,rfId:o,onError:N,edgeTypes:r,disableKeyboardA11y:E},P))]})}SS.displayName="EdgeRenderer";const ik=M.memo(SS),sk=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function lk({children:e}){const a=Pe(sk);return c.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:a},children:e})}function ck(e){const a=Qc(),o=M.useRef(!1);M.useEffect(()=>{!o.current&&a.viewportInitialized&&e&&(setTimeout(()=>e(a),1),o.current=!0)},[e,a.viewportInitialized])}const uk=e=>e.panZoom?.syncViewport;function dk(e){const a=Pe(uk),o=at();return M.useEffect(()=>{e&&(a?.(e),o.setState({transform:[e.x,e.y,e.zoom]}))},[e,a]),null}function fk(e){return e.connection.inProgress?{...e.connection,to:zs(e.connection.to,e.transform)}:{...e.connection}}function mk(e){return fk}function hk(e){const a=mk();return Pe(a,nt)}const pk=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function gk({containerStyle:e,style:a,type:o,component:r}){const{nodesConnectable:s,width:u,height:d,isValid:m,inProgress:g}=Pe(pk,nt);return!(u&&s&&g)?null:c.jsx("svg",{style:e,width:u,height:d,className:"react-flow__connectionline react-flow__container",children:c.jsx("g",{className:gt(["react-flow__connection",xx(m)]),children:c.jsx(wS,{style:a,type:o,CustomComponent:r,isValid:m})})})}const wS=({style:e,type:a=so.Bezier,CustomComponent:o,isValid:r})=>{const{inProgress:s,from:u,fromNode:d,fromHandle:m,fromPosition:g,to:p,toNode:y,toHandle:v,toPosition:b,pointer:S}=hk();if(!s)return;if(o)return c.jsx(o,{connectionLineType:a,connectionLineStyle:e,fromNode:d,fromHandle:m,fromX:u.x,fromY:u.y,toX:p.x,toY:p.y,fromPosition:g,toPosition:b,connectionStatus:xx(r),toNode:y,toHandle:v,pointer:S});let _="";const E={sourceX:u.x,sourceY:u.y,sourcePosition:g,targetX:p.x,targetY:p.y,targetPosition:b};switch(a){case so.Bezier:[_]=Dx(E);break;case so.SimpleBezier:[_]=cS(E);break;case so.Step:[_]=im({...E,borderRadius:0});break;case so.SmoothStep:[_]=im(E);break;default:[_]=Ox(E)}return c.jsx("path",{d:_,fill:"none",className:"react-flow__connection-path",style:e})};wS.displayName="ConnectionLine";const yk={};function j0(e=yk){M.useRef(e),at(),M.useEffect(()=>{},[e])}function vk(){at(),M.useRef(!1),M.useEffect(()=>{},[])}function _S({nodeTypes:e,edgeTypes:a,onInit:o,onNodeClick:r,onEdgeClick:s,onNodeDoubleClick:u,onEdgeDoubleClick:d,onNodeMouseEnter:m,onNodeMouseMove:g,onNodeMouseLeave:p,onNodeContextMenu:y,onSelectionContextMenu:v,onSelectionStart:b,onSelectionEnd:S,connectionLineType:_,connectionLineStyle:E,connectionLineComponent:T,connectionLineContainerStyle:C,selectionKeyCode:k,selectionOnDrag:N,selectionMode:w,multiSelectionKeyCode:P,panActivationKeyCode:I,zoomActivationKeyCode:O,deleteKeyCode:q,onlyRenderVisibleElements:X,elementsSelectable:ue,defaultViewport:Z,translateExtent:ae,minZoom:ce,maxZoom:z,preventScrolling:D,defaultMarkerColor:R,zoomOnScroll:L,zoomOnPinch:$,panOnScroll:Q,panOnScrollSpeed:re,panOnScrollMode:A,zoomOnDoubleClick:B,panOnDrag:G,onPaneClick:J,onPaneMouseEnter:K,onPaneMouseMove:se,onPaneMouseLeave:V,onPaneScroll:te,onPaneContextMenu:he,paneClickDistance:pe,nodeClickDistance:ye,onEdgeContextMenu:ve,onEdgeMouseEnter:Te,onEdgeMouseMove:De,onEdgeMouseLeave:Fe,reconnectRadius:Ue,onReconnect:Je,onReconnectStart:jt,onReconnectEnd:rt,noDragClassName:Ft,noWheelClassName:an,noPanClassName:Zn,disableKeyboardA11y:kn,nodeExtent:yt,rfId:Qn,viewport:vt,onViewportChange:kt}){return j0(e),j0(a),vk(),ck(o),dk(vt),c.jsx(kD,{onPaneClick:J,onPaneMouseEnter:K,onPaneMouseMove:se,onPaneMouseLeave:V,onPaneContextMenu:he,onPaneScroll:te,paneClickDistance:pe,deleteKeyCode:q,selectionKeyCode:k,selectionOnDrag:N,selectionMode:w,onSelectionStart:b,onSelectionEnd:S,multiSelectionKeyCode:P,panActivationKeyCode:I,zoomActivationKeyCode:O,elementsSelectable:ue,zoomOnScroll:L,zoomOnPinch:$,zoomOnDoubleClick:B,panOnScroll:Q,panOnScrollSpeed:re,panOnScrollMode:A,panOnDrag:G,defaultViewport:Z,translateExtent:ae,minZoom:ce,maxZoom:z,onSelectionContextMenu:v,preventScrolling:D,noDragClassName:Ft,noWheelClassName:an,noPanClassName:Zn,disableKeyboardA11y:kn,onViewportChange:kt,isControlledViewport:!!vt,children:c.jsxs(lk,{children:[c.jsx(ik,{edgeTypes:a,onEdgeClick:s,onEdgeDoubleClick:d,onReconnect:Je,onReconnectStart:jt,onReconnectEnd:rt,onlyRenderVisibleElements:X,onEdgeContextMenu:ve,onEdgeMouseEnter:Te,onEdgeMouseMove:De,onEdgeMouseLeave:Fe,reconnectRadius:Ue,defaultMarkerColor:R,noPanClassName:Zn,disableKeyboardA11y:kn,rfId:Qn}),c.jsx(gk,{style:E,type:_,component:T,containerStyle:C}),c.jsx("div",{className:"react-flow__edgelabel-renderer"}),c.jsx(qD,{nodeTypes:e,onNodeClick:r,onNodeDoubleClick:u,onNodeMouseEnter:m,onNodeMouseMove:g,onNodeMouseLeave:p,onNodeContextMenu:y,nodeClickDistance:ye,onlyRenderVisibleElements:X,noPanClassName:Zn,noDragClassName:Ft,disableKeyboardA11y:kn,nodeExtent:yt,rfId:Qn}),c.jsx("div",{className:"react-flow__viewport-portal"})]})})}_S.displayName="GraphView";const bk=M.memo(_S),A0=({nodes:e,edges:a,defaultNodes:o,defaultEdges:r,width:s,height:u,fitView:d,fitViewOptions:m,minZoom:g=.5,maxZoom:p=2,nodeOrigin:y,nodeExtent:v,zIndexMode:b="basic"}={})=>{const S=new Map,_=new Map,E=new Map,T=new Map,C=r??a??[],k=o??e??[],N=y??[0,0],w=v??_s;Lx(E,T,C);const{nodesInitialized:P}=lm(k,S,_,{nodeOrigin:N,nodeExtent:w,zIndexMode:b});let I=[0,0,1];if(d&&s&&u){const O=ks(S,{filter:Z=>!!((Z.width||Z.initialWidth)&&(Z.height||Z.initialHeight))}),{x:q,y:X,zoom:ue}=Dm(O,s,u,g,p,m?.padding??.1);I=[q,X,ue]}return{rfId:"1",width:s??0,height:u??0,transform:I,nodes:k,nodesInitialized:P,nodeLookup:S,parentLookup:_,edges:C,edgeLookup:T,connectionLookup:E,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:o!==void 0,hasDefaultEdges:r!==void 0,panZoom:null,minZoom:g,maxZoom:p,translateExtent:_s,nodeExtent:w,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:Ko.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:N,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:{...bx},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:zA,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:vx,zIndexMode:b,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},xk=({nodes:e,edges:a,defaultNodes:o,defaultEdges:r,width:s,height:u,fitView:d,fitViewOptions:m,minZoom:g,maxZoom:p,nodeOrigin:y,nodeExtent:v,zIndexMode:b})=>HR((S,_)=>{async function E(){const{nodeLookup:T,panZoom:C,fitViewOptions:k,fitViewResolver:N,width:w,height:P,minZoom:I,maxZoom:O}=_();C&&(await kA({nodes:T,width:w,height:P,panZoom:C,minZoom:I,maxZoom:O},k),N?.resolve(!0),S({fitViewResolver:null}))}return{...A0({nodes:e,edges:a,width:s,height:u,fitView:d,fitViewOptions:m,minZoom:g,maxZoom:p,nodeOrigin:y,nodeExtent:v,defaultNodes:o,defaultEdges:r,zIndexMode:b}),setNodes:T=>{const{nodeLookup:C,parentLookup:k,nodeOrigin:N,elevateNodesOnSelect:w,fitViewQueued:P,zIndexMode:I,nodesSelectionActive:O}=_(),{nodesInitialized:q,hasSelectedNodes:X}=lm(T,C,k,{nodeOrigin:N,nodeExtent:v,elevateNodesOnSelect:w,checkEquality:!0,zIndexMode:I}),ue=O&&X;P&&q?(E(),S({nodes:T,nodesInitialized:q,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:ue})):S({nodes:T,nodesInitialized:q,nodesSelectionActive:ue})},setEdges:T=>{const{connectionLookup:C,edgeLookup:k}=_();Lx(C,k,T),S({edges:T})},setDefaultNodesAndEdges:(T,C)=>{if(T){const{setNodes:k}=_();k(T),S({hasDefaultNodes:!0})}if(C){const{setEdges:k}=_();k(C),S({hasDefaultEdges:!0})}},updateNodeInternals:T=>{const{triggerNodeChanges:C,nodeLookup:k,parentLookup:N,domNode:w,nodeOrigin:P,nodeExtent:I,debug:O,fitViewQueued:q,zIndexMode:X}=_(),{changes:ue,updatedInternals:Z}=aR(T,k,N,w,P,I,X);Z&&(WA(k,N,{nodeOrigin:P,nodeExtent:I,zIndexMode:X}),q?(E(),S({fitViewQueued:!1,fitViewOptions:void 0})):S({}),ue?.length>0&&(O&&console.log("React Flow: trigger node changes",ue),C?.(ue)))},updateNodePositions:(T,C=!1)=>{const k=[];let N=[];const{nodeLookup:w,triggerNodeChanges:P,connection:I,updateConnection:O,onNodesChangeMiddlewareMap:q}=_();for(const[X,ue]of T){const Z=w.get(X),ae=!!(Z?.expandParent&&Z?.parentId&&ue?.position),ce={id:X,type:"position",position:ae?{x:Math.max(0,ue.position.x),y:Math.max(0,ue.position.y)}:ue.position,dragging:C};if(Z&&I.inProgress&&I.fromNode.id===Z.id){const z=Qo(Z,I.fromHandle,_e.Left,!0);O({...I,from:z})}ae&&Z.parentId&&k.push({id:X,parentId:Z.parentId,rect:{...ue.internals.positionAbsolute,width:ue.measured.width??0,height:ue.measured.height??0}}),N.push(ce)}if(k.length>0){const{parentLookup:X,nodeOrigin:ue}=_(),Z=Bm(k,w,X,ue);N.push(...Z)}for(const X of q.values())N=X(N);P(N)},triggerNodeChanges:T=>{const{onNodesChange:C,setNodes:k,nodes:N,hasDefaultNodes:w,debug:P}=_();if(T?.length){if(w){const I=Jx(T,N);k(I)}P&&console.log("React Flow: trigger node changes",T),C?.(T)}},triggerEdgeChanges:T=>{const{onEdgesChange:C,setEdges:k,edges:N,hasDefaultEdges:w,debug:P}=_();if(T?.length){if(w){const I=Wx(T,N);k(I)}P&&console.log("React Flow: trigger edge changes",T),C?.(T)}},addSelectedNodes:T=>{const{multiSelectionActive:C,edgeLookup:k,nodeLookup:N,triggerNodeChanges:w,triggerEdgeChanges:P}=_();if(C){const I=T.map(O=>Lo(O,!0));w(I);return}w(Vr(N,new Set([...T]),!0)),P(Vr(k))},addSelectedEdges:T=>{const{multiSelectionActive:C,edgeLookup:k,nodeLookup:N,triggerNodeChanges:w,triggerEdgeChanges:P}=_();if(C){const I=T.map(O=>Lo(O,!0));P(I);return}P(Vr(k,new Set([...T]))),w(Vr(N,new Set,!0))},unselectNodesAndEdges:({nodes:T,edges:C}={})=>{const{edges:k,nodes:N,nodeLookup:w,triggerNodeChanges:P,triggerEdgeChanges:I}=_(),O=T||N,q=C||k,X=[];for(const Z of O){if(!Z.selected)continue;const ae=w.get(Z.id);ae&&(ae.selected=!1),X.push(Lo(Z.id,!1))}const ue=[];for(const Z of q)Z.selected&&ue.push(Lo(Z.id,!1));P(X),I(ue)},setMinZoom:T=>{const{panZoom:C,maxZoom:k}=_();C?.setScaleExtent([T,k]),S({minZoom:T})},setMaxZoom:T=>{const{panZoom:C,minZoom:k}=_();C?.setScaleExtent([k,T]),S({maxZoom:T})},setTranslateExtent:T=>{_().panZoom?.setTranslateExtent(T),S({translateExtent:T})},resetSelectedElements:()=>{const{edges:T,nodes:C,triggerNodeChanges:k,triggerEdgeChanges:N,elementsSelectable:w}=_();if(!w)return;const P=C.reduce((O,q)=>q.selected?[...O,Lo(q.id,!1)]:O,[]),I=T.reduce((O,q)=>q.selected?[...O,Lo(q.id,!1)]:O,[]);k(P),N(I)},setNodeExtent:T=>{const{nodes:C,nodeLookup:k,parentLookup:N,nodeOrigin:w,elevateNodesOnSelect:P,nodeExtent:I,zIndexMode:O}=_();T[0][0]===I[0][0]&&T[0][1]===I[0][1]&&T[1][0]===I[1][0]&&T[1][1]===I[1][1]||(lm(C,k,N,{nodeOrigin:w,nodeExtent:T,elevateNodesOnSelect:P,checkEquality:!1,zIndexMode:O}),S({nodeExtent:T}))},panBy:T=>{const{transform:C,width:k,height:N,panZoom:w,translateExtent:P}=_();return oR({delta:T,panZoom:w,transform:C,translateExtent:P,width:k,height:N})},setCenter:async(T,C,k)=>{const{width:N,height:w,maxZoom:P,panZoom:I}=_();if(!I)return Promise.resolve(!1);const O=typeof k?.zoom<"u"?k.zoom:P;return await I.setViewport({x:N/2-T*O,y:w/2-C*O,zoom:O},{duration:k?.duration,ease:k?.ease,interpolate:k?.interpolate}),Promise.resolve(!0)},cancelConnection:()=>{S({connection:{...bx}})},updateConnection:T=>{S({connection:T})},reset:()=>S({...A0()})}},Object.is);function NS({initialNodes:e,initialEdges:a,defaultNodes:o,defaultEdges:r,initialWidth:s,initialHeight:u,initialMinZoom:d,initialMaxZoom:m,initialFitViewOptions:g,fitView:p,nodeOrigin:y,nodeExtent:v,zIndexMode:b,children:S}){const[_]=M.useState(()=>xk({nodes:e,edges:a,defaultNodes:o,defaultEdges:r,width:s,height:u,fitView:p,minZoom:d,maxZoom:m,fitViewOptions:g,nodeOrigin:y,nodeExtent:v,zIndexMode:b}));return c.jsx(UR,{value:_,children:c.jsx(lD,{children:S})})}function Sk({children:e,nodes:a,edges:o,defaultNodes:r,defaultEdges:s,width:u,height:d,fitView:m,fitViewOptions:g,minZoom:p,maxZoom:y,nodeOrigin:v,nodeExtent:b,zIndexMode:S}){return M.useContext(Zc)?c.jsx(c.Fragment,{children:e}):c.jsx(NS,{initialNodes:a,initialEdges:o,defaultNodes:r,defaultEdges:s,initialWidth:u,initialHeight:d,fitView:m,initialFitViewOptions:g,initialMinZoom:p,initialMaxZoom:y,nodeOrigin:v,nodeExtent:b,zIndexMode:S,children:e})}const wk={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function _k({nodes:e,edges:a,defaultNodes:o,defaultEdges:r,className:s,nodeTypes:u,edgeTypes:d,onNodeClick:m,onEdgeClick:g,onInit:p,onMove:y,onMoveStart:v,onMoveEnd:b,onConnect:S,onConnectStart:_,onConnectEnd:E,onClickConnectStart:T,onClickConnectEnd:C,onNodeMouseEnter:k,onNodeMouseMove:N,onNodeMouseLeave:w,onNodeContextMenu:P,onNodeDoubleClick:I,onNodeDragStart:O,onNodeDrag:q,onNodeDragStop:X,onNodesDelete:ue,onEdgesDelete:Z,onDelete:ae,onSelectionChange:ce,onSelectionDragStart:z,onSelectionDrag:D,onSelectionDragStop:R,onSelectionContextMenu:L,onSelectionStart:$,onSelectionEnd:Q,onBeforeDelete:re,connectionMode:A,connectionLineType:B=so.Bezier,connectionLineStyle:G,connectionLineComponent:J,connectionLineContainerStyle:K,deleteKeyCode:se="Backspace",selectionKeyCode:V="Shift",selectionOnDrag:te=!1,selectionMode:he=Ns.Full,panActivationKeyCode:pe="Space",multiSelectionKeyCode:ye=Cs()?"Meta":"Control",zoomActivationKeyCode:ve=Cs()?"Meta":"Control",snapToGrid:Te,snapGrid:De,onlyRenderVisibleElements:Fe=!1,selectNodesOnDrag:Ue,nodesDraggable:Je,autoPanOnNodeFocus:jt,nodesConnectable:rt,nodesFocusable:Ft,nodeOrigin:an=Zx,edgesFocusable:Zn,edgesReconnectable:kn,elementsSelectable:yt=!0,defaultViewport:Qn=WR,minZoom:vt=.5,maxZoom:kt=2,translateExtent:Ot=_s,preventScrolling:Wo=!0,nodeExtent:$t,defaultMarkerColor:pn="#b1b1b7",zoomOnScroll:Ta=!0,zoomOnPinch:Rt=!0,panOnScroll:wt=!1,panOnScrollSpeed:bt=.5,panOnScrollMode:it=$o.Free,zoomOnDoubleClick:Jn=!0,panOnDrag:ri=!0,onPaneClick:On,onPaneMouseEnter:Ma,onPaneMouseMove:gn,onPaneMouseLeave:yn,onPaneScroll:fe,onPaneContextMenu:zn,paneClickDistance:Wn=1,nodeClickDistance:ii=0,children:er,onReconnect:uo,onReconnectStart:Vt,onReconnectEnd:In,onEdgeContextMenu:xt,onEdgeDoubleClick:tr,onEdgeMouseEnter:ja,onEdgeMouseMove:Aa,onEdgeMouseLeave:fo,reconnectRadius:on=10,onNodesChange:nr,onEdgesChange:rn,noDragClassName:ot="nodrag",noWheelClassName:_t="nowheel",noPanClassName:vn="nopan",fitView:Ra,fitViewOptions:mo,connectOnClick:si,attributionPosition:ar,proOptions:ea,defaultEdgeOptions:ho,elevateNodesOnSelect:Ln=!0,elevateEdgesOnSelect:bn=!1,disableKeyboardA11y:xn=!1,autoPanOnConnect:Sn,autoPanOnNodeDrag:st,autoPanSpeed:or,connectionRadius:rr,isValidConnection:wn,onError:Bn,style:po,id:go,nodeDragThreshold:ta,connectionDragThreshold:li,viewport:Da,onViewportChange:H,width:ge,height:Ee,colorMode:ze="light",debug:Hn,onScroll:na,ariaLabelConfig:ir,zIndexMode:yo="basic",...eu},zt){const vo=go||"1",Ls=aD(ze),ci=M.useCallback(aa=>{aa.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),na?.(aa)},[na]);return c.jsx("div",{"data-testid":"rf__wrapper",...eu,onScroll:ci,style:{...po,...wk},ref:zt,className:gt(["react-flow",s,Ls]),id:go,role:"application",children:c.jsxs(Sk,{nodes:e,edges:a,width:ge,height:Ee,fitView:Ra,fitViewOptions:mo,minZoom:vt,maxZoom:kt,nodeOrigin:an,nodeExtent:$t,zIndexMode:yo,children:[c.jsx(nD,{nodes:e,edges:a,defaultNodes:o,defaultEdges:r,onConnect:S,onConnectStart:_,onConnectEnd:E,onClickConnectStart:T,onClickConnectEnd:C,nodesDraggable:Je,autoPanOnNodeFocus:jt,nodesConnectable:rt,nodesFocusable:Ft,edgesFocusable:Zn,edgesReconnectable:kn,elementsSelectable:yt,elevateNodesOnSelect:Ln,elevateEdgesOnSelect:bn,minZoom:vt,maxZoom:kt,nodeExtent:$t,onNodesChange:nr,onEdgesChange:rn,snapToGrid:Te,snapGrid:De,connectionMode:A,translateExtent:Ot,connectOnClick:si,defaultEdgeOptions:ho,fitView:Ra,fitViewOptions:mo,onNodesDelete:ue,onEdgesDelete:Z,onDelete:ae,onNodeDragStart:O,onNodeDrag:q,onNodeDragStop:X,onSelectionDrag:D,onSelectionDragStart:z,onSelectionDragStop:R,onMove:y,onMoveStart:v,onMoveEnd:b,noPanClassName:vn,nodeOrigin:an,rfId:vo,autoPanOnConnect:Sn,autoPanOnNodeDrag:st,autoPanSpeed:or,onError:Bn,connectionRadius:rr,isValidConnection:wn,selectNodesOnDrag:Ue,nodeDragThreshold:ta,connectionDragThreshold:li,onBeforeDelete:re,debug:Hn,ariaLabelConfig:ir,zIndexMode:yo}),c.jsx(bk,{onInit:p,onNodeClick:m,onEdgeClick:g,onNodeMouseEnter:k,onNodeMouseMove:N,onNodeMouseLeave:w,onNodeContextMenu:P,onNodeDoubleClick:I,nodeTypes:u,edgeTypes:d,connectionLineType:B,connectionLineStyle:G,connectionLineComponent:J,connectionLineContainerStyle:K,selectionKeyCode:V,selectionOnDrag:te,selectionMode:he,deleteKeyCode:se,multiSelectionKeyCode:ye,panActivationKeyCode:pe,zoomActivationKeyCode:ve,onlyRenderVisibleElements:Fe,defaultViewport:Qn,translateExtent:Ot,minZoom:vt,maxZoom:kt,preventScrolling:Wo,zoomOnScroll:Ta,zoomOnPinch:Rt,zoomOnDoubleClick:Jn,panOnScroll:wt,panOnScrollSpeed:bt,panOnScrollMode:it,panOnDrag:ri,onPaneClick:On,onPaneMouseEnter:Ma,onPaneMouseMove:gn,onPaneMouseLeave:yn,onPaneScroll:fe,onPaneContextMenu:zn,paneClickDistance:Wn,nodeClickDistance:ii,onSelectionContextMenu:L,onSelectionStart:$,onSelectionEnd:Q,onReconnect:uo,onReconnectStart:Vt,onReconnectEnd:In,onEdgeContextMenu:xt,onEdgeDoubleClick:tr,onEdgeMouseEnter:ja,onEdgeMouseMove:Aa,onEdgeMouseLeave:fo,reconnectRadius:on,defaultMarkerColor:pn,noDragClassName:ot,noWheelClassName:_t,noPanClassName:vn,rfId:vo,disableKeyboardA11y:xn,nodeExtent:$t,viewport:Da,onViewportChange:H}),c.jsx(JR,{onSelectionChange:ce}),er,c.jsx(YR,{proOptions:ea,position:ar}),c.jsx(VR,{rfId:vo,disableKeyboardA11y:xn})]})})}var Nk=eS(_k);function Ek({dimensions:e,lineWidth:a,variant:o,className:r}){return c.jsx("path",{strokeWidth:a,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:gt(["react-flow__background-pattern",o,r])})}function Ck({radius:e,className:a}){return c.jsx("circle",{cx:e,cy:e,r:e,className:gt(["react-flow__background-pattern","dots",a])})}var co;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(co||(co={}));const Tk={[co.Dots]:1,[co.Lines]:1,[co.Cross]:6},Mk=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function ES({id:e,variant:a=co.Dots,gap:o=20,size:r,lineWidth:s=1,offset:u=0,color:d,bgColor:m,style:g,className:p,patternClassName:y}){const v=M.useRef(null),{transform:b,patternId:S}=Pe(Mk,nt),_=r||Tk[a],E=a===co.Dots,T=a===co.Cross,C=Array.isArray(o)?o:[o,o],k=[C[0]*b[2]||1,C[1]*b[2]||1],N=_*b[2],w=Array.isArray(u)?u:[u,u],P=T?[N,N]:k,I=[w[0]*b[2]||1+P[0]/2,w[1]*b[2]||1+P[1]/2],O=`${S}${e||""}`;return c.jsxs("svg",{className:gt(["react-flow__background",p]),style:{...g,...Jc,"--xy-background-color-props":m,"--xy-background-pattern-color-props":d},ref:v,"data-testid":"rf__background",children:[c.jsx("pattern",{id:O,x:b[0]%k[0],y:b[1]%k[1],width:k[0],height:k[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${I[0]},-${I[1]})`,children:E?c.jsx(Ck,{radius:N/2,className:y}):c.jsx(Ek,{dimensions:P,lineWidth:s,variant:a,className:y})}),c.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${O})`})]})}ES.displayName="Background";const jk=M.memo(ES);function Ak(){return c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:c.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function Rk(){return c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:c.jsx("path",{d:"M0 0h32v4.2H0z"})})}function Dk(){return c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:c.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 kk(){return c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:c.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 Ok(){return c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:c.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 fc({children:e,className:a,...o}){return c.jsx("button",{type:"button",className:gt(["react-flow__controls-button",a]),...o,children:e})}const zk=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function CS({style:e,showZoom:a=!0,showFitView:o=!0,showInteractive:r=!0,fitViewOptions:s,onZoomIn:u,onZoomOut:d,onFitView:m,onInteractiveChange:g,className:p,children:y,position:v="bottom-left",orientation:b="vertical","aria-label":S}){const _=at(),{isInteractive:E,minZoomReached:T,maxZoomReached:C,ariaLabelConfig:k}=Pe(zk,nt),{zoomIn:N,zoomOut:w,fitView:P}=Qc(),I=()=>{N(),u?.()},O=()=>{w(),d?.()},q=()=>{P(s),m?.()},X=()=>{_.setState({nodesDraggable:!E,nodesConnectable:!E,elementsSelectable:!E}),g?.(!E)},ue=b==="horizontal"?"horizontal":"vertical";return c.jsxs(Is,{className:gt(["react-flow__controls",ue,p]),position:v,style:e,"data-testid":"rf__controls","aria-label":S??k["controls.ariaLabel"],children:[a&&c.jsxs(c.Fragment,{children:[c.jsx(fc,{onClick:I,className:"react-flow__controls-zoomin",title:k["controls.zoomIn.ariaLabel"],"aria-label":k["controls.zoomIn.ariaLabel"],disabled:C,children:c.jsx(Ak,{})}),c.jsx(fc,{onClick:O,className:"react-flow__controls-zoomout",title:k["controls.zoomOut.ariaLabel"],"aria-label":k["controls.zoomOut.ariaLabel"],disabled:T,children:c.jsx(Rk,{})})]}),o&&c.jsx(fc,{className:"react-flow__controls-fitview",onClick:q,title:k["controls.fitView.ariaLabel"],"aria-label":k["controls.fitView.ariaLabel"],children:c.jsx(Dk,{})}),r&&c.jsx(fc,{className:"react-flow__controls-interactive",onClick:X,title:k["controls.interactive.ariaLabel"],"aria-label":k["controls.interactive.ariaLabel"],children:E?c.jsx(Ok,{}):c.jsx(kk,{})}),y]})}CS.displayName="Controls";const Ik=M.memo(CS);function Lk({id:e,x:a,y:o,width:r,height:s,style:u,color:d,strokeColor:m,strokeWidth:g,className:p,borderRadius:y,shapeRendering:v,selected:b,onClick:S}){const{background:_,backgroundColor:E}=u||{},T=d||_||E;return c.jsx("rect",{className:gt(["react-flow__minimap-node",{selected:b},p]),x:a,y:o,rx:y,ry:y,width:r,height:s,style:{fill:T,stroke:m,strokeWidth:g},shapeRendering:v,onClick:S?C=>S(C,e):void 0})}const Bk=M.memo(Lk),Hk=e=>e.nodes.map(a=>a.id),Hf=e=>e instanceof Function?e:()=>e;function Uk({nodeStrokeColor:e,nodeColor:a,nodeClassName:o="",nodeBorderRadius:r=5,nodeStrokeWidth:s,nodeComponent:u=Bk,onClick:d}){const m=Pe(Hk,nt),g=Hf(a),p=Hf(e),y=Hf(o),v=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return c.jsx(c.Fragment,{children:m.map(b=>c.jsx(qk,{id:b,nodeColorFunc:g,nodeStrokeColorFunc:p,nodeClassNameFunc:y,nodeBorderRadius:r,nodeStrokeWidth:s,NodeComponent:u,onClick:d,shapeRendering:v},b))})}function Pk({id:e,nodeColorFunc:a,nodeStrokeColorFunc:o,nodeClassNameFunc:r,nodeBorderRadius:s,nodeStrokeWidth:u,shapeRendering:d,NodeComponent:m,onClick:g}){const{node:p,x:y,y:v,width:b,height:S}=Pe(_=>{const E=_.nodeLookup.get(e);if(!E)return{node:void 0,x:0,y:0,width:0,height:0};const T=E.internals.userNode,{x:C,y:k}=E.internals.positionAbsolute,{width:N,height:w}=Ca(T);return{node:T,x:C,y:k,width:N,height:w}},nt);return!p||p.hidden||!Cx(p)?null:c.jsx(m,{x:y,y:v,width:b,height:S,style:p.style,selected:!!p.selected,className:r(p),color:a(p),borderRadius:s,strokeColor:o(p),strokeWidth:u,shapeRendering:d,onClick:g,id:p.id})}const qk=M.memo(Pk);var Gk=M.memo(Uk);const Fk=200,$k=150,Vk=e=>!e.hidden,Yk=e=>{const a={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:a,boundingRect:e.nodeLookup.size>0?Ex(ks(e.nodeLookup,{filter:Vk}),a):a,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},Xk="react-flow__minimap-desc";function TS({style:e,className:a,nodeStrokeColor:o,nodeColor:r,nodeClassName:s="",nodeBorderRadius:u=5,nodeStrokeWidth:d,nodeComponent:m,bgColor:g,maskColor:p,maskStrokeColor:y,maskStrokeWidth:v,position:b="bottom-right",onClick:S,onNodeClick:_,pannable:E=!1,zoomable:T=!1,ariaLabel:C,inversePan:k,zoomStep:N=1,offsetScale:w=5}){const P=at(),I=M.useRef(null),{boundingRect:O,viewBB:q,rfId:X,panZoom:ue,translateExtent:Z,flowWidth:ae,flowHeight:ce,ariaLabelConfig:z}=Pe(Yk,nt),D=e?.width??Fk,R=e?.height??$k,L=O.width/D,$=O.height/R,Q=Math.max(L,$),re=Q*D,A=Q*R,B=w*Q,G=O.x-(re-O.width)/2-B,J=O.y-(A-O.height)/2-B,K=re+B*2,se=A+B*2,V=`${Xk}-${X}`,te=M.useRef(0),he=M.useRef();te.current=Q,M.useEffect(()=>{if(I.current&&ue)return he.current=mR({domNode:I.current,panZoom:ue,getTransform:()=>P.getState().transform,getViewScale:()=>te.current}),()=>{he.current?.destroy()}},[ue]),M.useEffect(()=>{he.current?.update({translateExtent:Z,width:ae,height:ce,inversePan:k,pannable:E,zoomStep:N,zoomable:T})},[E,T,k,N,Z,ae,ce]);const pe=S?Te=>{const[De,Fe]=he.current?.pointer(Te)||[0,0];S(Te,{x:De,y:Fe})}:void 0,ye=_?M.useCallback((Te,De)=>{const Fe=P.getState().nodeLookup.get(De).internals.userNode;_(Te,Fe)},[]):void 0,ve=C??z["minimap.ariaLabel"];return c.jsx(Is,{position:b,style:{...e,"--xy-minimap-background-color-props":typeof g=="string"?g:void 0,"--xy-minimap-mask-background-color-props":typeof p=="string"?p:void 0,"--xy-minimap-mask-stroke-color-props":typeof y=="string"?y:void 0,"--xy-minimap-mask-stroke-width-props":typeof v=="number"?v*Q:void 0,"--xy-minimap-node-background-color-props":typeof r=="string"?r:void 0,"--xy-minimap-node-stroke-color-props":typeof o=="string"?o:void 0,"--xy-minimap-node-stroke-width-props":typeof d=="number"?d:void 0},className:gt(["react-flow__minimap",a]),"data-testid":"rf__minimap",children:c.jsxs("svg",{width:D,height:R,viewBox:`${G} ${J} ${K} ${se}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":V,ref:I,onClick:pe,children:[ve&&c.jsx("title",{id:V,children:ve}),c.jsx(Gk,{onClick:ye,nodeColor:r,nodeStrokeColor:o,nodeBorderRadius:u,nodeClassName:s,nodeStrokeWidth:d,nodeComponent:m}),c.jsx("path",{className:"react-flow__minimap-mask",d:`M${G-B},${J-B}h${K+B*2}v${se+B*2}h${-K-B*2}z
29
+ M${q.x},${q.y}h${q.width}v${q.height}h${-q.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}TS.displayName="MiniMap";const Kk=M.memo(TS),Zk=e=>a=>e?`${Math.max(1/a.transform[2],1)}`:void 0,Qk={[ti.Line]:"right",[ti.Handle]:"bottom-right"};function Jk({nodeId:e,position:a,variant:o=ti.Handle,className:r,style:s=void 0,children:u,color:d,minWidth:m=10,minHeight:g=10,maxWidth:p=Number.MAX_VALUE,maxHeight:y=Number.MAX_VALUE,keepAspectRatio:v=!1,resizeDirection:b,autoScale:S=!0,shouldResize:_,onResizeStart:E,onResize:T,onResizeEnd:C}){const k=oS(),N=typeof e=="string"?e:k,w=at(),P=M.useRef(null),I=o===ti.Handle,O=Pe(M.useCallback(Zk(I&&S),[I,S]),nt),q=M.useRef(null),X=a??Qk[o];M.useEffect(()=>{if(!(!P.current||!N))return q.current||(q.current=TR({domNode:P.current,nodeId:N,getStoreItems:()=>{const{nodeLookup:Z,transform:ae,snapGrid:ce,snapToGrid:z,nodeOrigin:D,domNode:R}=w.getState();return{nodeLookup:Z,transform:ae,snapGrid:ce,snapToGrid:z,nodeOrigin:D,paneDomNode:R}},onChange:(Z,ae)=>{const{triggerNodeChanges:ce,nodeLookup:z,parentLookup:D,nodeOrigin:R}=w.getState(),L=[],$={x:Z.x,y:Z.y},Q=z.get(N);if(Q&&Q.expandParent&&Q.parentId){const re=Q.origin??R,A=Z.width??Q.measured.width??0,B=Z.height??Q.measured.height??0,G={id:Q.id,parentId:Q.parentId,rect:{width:A,height:B,...Tx({x:Z.x??Q.position.x,y:Z.y??Q.position.y},{width:A,height:B},Q.parentId,z,re)}},J=Bm([G],z,D,R);L.push(...J),$.x=Z.x?Math.max(re[0]*A,Z.x):void 0,$.y=Z.y?Math.max(re[1]*B,Z.y):void 0}if($.x!==void 0&&$.y!==void 0){const re={id:N,type:"position",position:{...$}};L.push(re)}if(Z.width!==void 0&&Z.height!==void 0){const A={id:N,type:"dimensions",resizing:!0,setAttributes:b?b==="horizontal"?"width":"height":!0,dimensions:{width:Z.width,height:Z.height}};L.push(A)}for(const re of ae){const A={...re,type:"position"};L.push(A)}ce(L)},onEnd:({width:Z,height:ae})=>{const ce={id:N,type:"dimensions",resizing:!1,dimensions:{width:Z,height:ae}};w.getState().triggerNodeChanges([ce])}})),q.current.update({controlPosition:X,boundaries:{minWidth:m,minHeight:g,maxWidth:p,maxHeight:y},keepAspectRatio:v,resizeDirection:b,onResizeStart:E,onResize:T,onResizeEnd:C,shouldResize:_}),()=>{q.current?.destroy()}},[X,m,g,p,y,v,E,T,C,_]);const ue=X.split("-");return c.jsx("div",{className:gt(["react-flow__resize-control","nodrag",...ue,o,r]),ref:P,style:{...s,scale:O,...d&&{[I?"backgroundColor":"borderColor"]:d}},children:u})}M.memo(Jk);const Uf=5,Cc=240,Wk=180,e4=420,R0=[{id:"top",position:_e.Top},{id:"right",position:_e.Right},{id:"bottom",position:_e.Bottom},{id:"left",position:_e.Left}];function t4(e){const a=/^(\d+)x(\d+)$/.exec(e??"");if(!a)return Cc;const o=Number(a[1]),r=Number(a[2]);if(!Number.isFinite(o)||!Number.isFinite(r)||o<=0||r<=0)return Cc;const s=Cc*(o/r);return Math.round(Math.min(e4,Math.max(Wk,s)))}function n4({id:e,data:a,selected:o}){const{t:r}=Se(),s=a,u=U(G=>G.updateNodePrompt),d=U(G=>G.addNodeReferences),m=U(G=>G.readDroppedImageMetadata),g=U(G=>G.removeNodeReference),p=U(G=>G.generateNode),y=U(G=>G.generateNodeInPlace),v=U(G=>G.generateNodeVariation),b=U(G=>G.addChildNode),S=U(G=>G.duplicateBranchRoot),_=U(G=>G.deleteNode),E=M.useRef(null),[T,C]=M.useState(!1),[k,N]=M.useState(!1),w=s.referenceImages??[],P=s.status==="pending"||s.status==="reconciling",I=!P&&w.length<Uf,O={"--node-preview-w":`${t4(s.size)}px`,"--node-preview-h":`${Cc}px`},q=M.useCallback(G=>u(e,G.target.value),[e,u]),X=M.useCallback(()=>{p(e)},[e,p]),ue=M.useCallback(()=>{y(e)},[e,y]),Z=M.useCallback(()=>{v(e)},[e,v]),ae=M.useCallback(()=>{s.status==="ready"&&b(e)},[e,s.status,b]),ce=M.useCallback(()=>{S(e)},[e,S]),z=M.useCallback(()=>_(e),[e,_]),D=G=>{if(!G)return[];const J=[];for(const K of Array.from(G)){if(K.kind!=="file"||!K.type.startsWith("image/"))continue;const se=K.getAsFile();se&&J.push(se)}return J},R=async G=>{G.length!==0&&(G.length===1&&await m(G[0],e)||await d(e,G))},L=async G=>{G.preventDefault(),G.stopPropagation(),C(!1);const J=Array.from(G.dataTransfer.files).filter(K=>K.type.startsWith("image/"));J.length===1&&await m(J[0],e)||I&&J.length>0&&d(e,J)},$=G=>{G.preventDefault(),G.stopPropagation(),I&&!T&&C(!0)},Q=G=>{G.currentTarget.contains(G.relatedTarget)||C(!1)},re=G=>{const J=D(G.clipboardData?.items??null);if(J.length===0||(G.preventDefault(),G.stopPropagation(),!I))return;const K=Uf-w.length;d(e,J.slice(0,K))},B=(()=>{switch(s.status){case"empty":return r("node.empty");case"pending":return r("node.pending");case"reconciling":return s.pendingPhase?r("node.reconcilingPhase",{phase:s.pendingPhase}):r("node.reconciling");case"ready":return[s.webSearchCalls?r("node.readyWithSearch",{elapsed:s.elapsed??"?",searches:s.webSearchCalls}):r("node.ready",{elapsed:s.elapsed??"?"}),J0(s.model)].filter(Boolean).join(" · ");case"stale":return s.error?r("node.staleWithError",{error:s.error}):r("node.stale");case"asset-missing":return s.error?r("node.assetMissingWithError",{error:s.error}):r("node.assetMissing");case"error":return r("node.error",{error:s.error??r("node.errorUnknown")});default:return""}})();return c.jsxs("div",{className:`image-node image-node--${s.status}${o?" image-node--selected":""}`,style:O,children:[R0.map(({id:G,position:J})=>c.jsx(ni,{type:"target",id:`target-${G}`,position:J,className:`image-node__handle image-node__handle--target image-node__handle--${G}`},`target-${G}`)),c.jsx("div",{className:"image-node__preview",children:s.imageUrl&&s.status!=="asset-missing"?c.jsx("img",{src:s.imageUrl,alt:r("node.nodeImageAlt")}):P&&s.partialImageUrl?c.jsx("img",{className:"image-node__partial",src:s.partialImageUrl,alt:r("node.partialImageAlt")}):P?c.jsx("div",{className:"image-node__skeleton"}):s.status==="asset-missing"?c.jsx("div",{className:"image-node__placeholder",children:r("node.noAsset")}):s.status==="stale"?c.jsx("div",{className:"image-node__placeholder",children:r("node.stateStale")}):c.jsx("div",{className:"image-node__placeholder",children:r("node.noImage")})}),c.jsxs("div",{className:`image-node__composer nodrag${T?" is-dragging":""}`,onDrop:L,onDragOver:$,onDragLeave:Q,onPaste:re,children:[w.length>0?c.jsx("div",{className:"image-node__refs",children:w.map((G,J)=>c.jsxs("div",{className:"image-node__ref-chip",title:r("node.refAlt",{n:J+1}),children:[c.jsx("img",{src:G,alt:r("node.refAlt",{n:J+1})}),c.jsx("button",{type:"button",className:"image-node__ref-remove",onClick:()=>g(e,J),disabled:P,"aria-label":r("node.removeRef",{n:J+1}),children:"×"})]},J))}):null,c.jsx("textarea",{className:"image-node__prompt",value:s.prompt,onChange:q,onKeyDown:G=>G.stopPropagation(),placeholder:s.parentServerNodeId?r("node.editPromptPlaceholder"):r("node.promptPlaceholder"),rows:2,disabled:P}),c.jsxs("div",{className:"image-node__composer-bar",children:[c.jsx("button",{type:"button",className:"image-node__attach",onClick:()=>I&&E.current?.click(),disabled:!I,title:s.parentServerNodeId?r("node.nodeRefsUsedWithParent"):r("node.attachRefTitle"),children:r("node.attachRef")}),T?c.jsx("span",{className:"image-node__drop-hint",children:r("node.dropRefs")}):w.length>0?c.jsxs("span",{className:"image-node__ref-count",children:[w.length,"/",Uf]}):null]}),c.jsx("input",{ref:E,type:"file",accept:"image/*",multiple:!0,hidden:!0,onChange:G=>{const J=Array.from(G.target.files??[]);J.length>0&&R(J),G.target.value=""}})]}),c.jsxs("div",{className:"image-node__footer nodrag",children:[c.jsx("span",{className:"image-node__status",title:B,children:B}),c.jsxs("div",{className:"image-node__actions",children:[c.jsxs("div",{style:{position:"relative"},children:[c.jsx("button",{type:"button",onClick:()=>N(G=>!G),disabled:!s.prompt?.trim(),title:r("promptLibrary.saveTitle"),"aria-label":r("promptLibrary.saveTitle"),children:"☆"}),k&&c.jsx(ym,{text:s.prompt||"",onClose:()=>N(!1)})]}),s.status==="ready"?c.jsxs(c.Fragment,{children:[c.jsx("button",{type:"button",onClick:ue,disabled:P,title:r("node.regenerateTitle"),"aria-label":r("node.regenerateTitle"),children:"↻"}),c.jsx("button",{type:"button",onClick:Z,disabled:P,title:r("node.newVariationTitle"),"aria-label":r("node.newVariationTitle"),children:r("node.newVariation")})]}):c.jsx("button",{type:"button",className:"image-node__generate",onClick:X,disabled:P,title:r("node.generateTitle"),"aria-label":r("node.generateTitle"),children:r("node.generate")}),s.status==="ready"?c.jsxs(c.Fragment,{children:[c.jsx("button",{type:"button",onClick:ae,title:r("node.addChildTitle"),"aria-label":r("node.addChildTitle"),children:r("node.addChild")}),c.jsx("button",{type:"button",onClick:ce,title:r("node.duplicateBranchTitle"),"aria-label":r("node.duplicateBranchTitle"),children:r("node.duplicateBranch")})]}):null,c.jsx("button",{type:"button",onClick:z,className:"image-node__del",title:r("node.deleteTitle"),"aria-label":r("node.deleteTitle"),children:"×"})]})]}),R0.map(({id:G,position:J})=>c.jsx(ni,{type:"source",id:`source-${G}`,position:J,className:`image-node__handle image-node__handle--source image-node__handle--${G}`},`source-${G}`))]})}const a4=M.memo(n4);function o4(){const{t:e}=Se(),a=U(k=>k.graphNodes),o=U(k=>k.graphEdges),r=U(k=>k.nodeSelectionMode),s=U(k=>k.nodeBatchRunning),u=U(k=>k.nodeBatchStopping),d=U(k=>k.toggleNodeSelectionMode),m=U(k=>k.selectAllGraphNodes),g=U(k=>k.clearNodeSelection),p=U(k=>k.runNodeBatch),y=U(k=>k.cancelNodeBatch),v=U(k=>k.disconnectEdges),b=a.filter(k=>k.selected).map(k=>k.id),S=o.filter(k=>k.selected).map(k=>k.id),_=new Set(b),E=a.filter(k=>_.has(k.id)&&!ib(k)).length,T=sb(o,b).length,C=k=>{p(k)};return c.jsxs(Is,{position:"top-center",className:"node-batch-bar nodrag",children:[c.jsx("button",{type:"button",onClick:d,"aria-pressed":r,children:e(r?"nodeBatch.selectionOn":"nodeBatch.selectionOff")}),c.jsx("button",{type:"button",onClick:m,disabled:a.length===0,children:e("nodeBatch.selectAll")}),S.length>0?c.jsx("button",{type:"button",className:"node-batch-bar__danger",onClick:()=>v(S),title:e("edge.disconnectTitle"),"aria-label":e("edge.disconnectTitle"),children:e("edge.disconnect")}):null,b.length>0?c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"node-batch-bar__meta",children:e("nodeBatch.summary",{selected:b.length,missing:E,stale:T})}),c.jsx("button",{type:"button",onClick:()=>C("missing-only"),disabled:s,children:e("nodeBatch.generateMissing")}),c.jsx("button",{type:"button",onClick:()=>C("regenerate-all"),disabled:s,children:e("nodeBatch.regenerateSelected")}),s?c.jsx("button",{type:"button",onClick:y,disabled:u,children:e(u?"nodeBatch.stopping":"nodeBatch.stopRemaining")}):null,c.jsx("button",{type:"button",onClick:g,disabled:s,children:e("nodeBatch.clear")})]}):null]})}const D0="(max-width: 800px)";function oi(){const[e,a]=M.useState(()=>typeof window<"u"?window.matchMedia(D0).matches:!1);return M.useEffect(()=>{if(typeof window>"u")return;const o=window.matchMedia(D0),r=()=>a(o.matches);return o.addEventListener("change",r),()=>o.removeEventListener("change",r)},[]),e}function r4(){const{t:e}=Se(),a=oi(),o=U(O=>O.graphNodes),r=U(O=>O.graphEdges),s=U(O=>O.setGraphNodes),u=U(O=>O.setGraphEdges),d=U(O=>O.disconnectEdges),m=U(O=>O.addRootNode),g=U(O=>O.addChildNodeAt),p=U(O=>O.connectNodes),y=U(O=>O.deleteNodes),v=U(O=>O.nodeSelectionMode),b=U(O=>O.selectNodeGraph),S=U(O=>O.sessionLoading),{screenToFlowPosition:_}=Qc(),E=M.useRef(null),T=M.useMemo(()=>({imageNode:a4}),[]),C=M.useCallback(O=>s(Jx(O,o)),[o,s]),k=M.useCallback(O=>{const q=O.filter(X=>X.type==="remove").map(X=>X.id);if(q.length>0){if(v)return;d(q);return}u(Wx(O,r))},[d,r,v,u]),N=M.useCallback(O=>{O.source&&O.target&&p(O.source,O.target,O.sourceHandle,O.targetHandle)},[p]),w=M.useCallback((O,q)=>{if(q.isValid)return;const X=q.fromNode?.id;if(!X||q.toNode||q.toHandle)return;const ue="touches"in O?O.changedTouches[0].clientX:O.clientX,Z="touches"in O?O.changedTouches[0].clientY:O.clientY,ae=_({x:ue,y:Z});g(X,ae,q.fromHandle?.id??null)},[g,_]),P=M.useCallback(O=>y(O.map(q=>q.id)),[y]),I=M.useCallback((O,q)=>{v&&(O.preventDefault(),b(q.id,O.metaKey||O.ctrlKey))},[v,b]);return c.jsxs("main",{className:"node-canvas",ref:E,children:[S&&c.jsx("div",{className:"node-canvas__loading",children:e("nodeCanvas.loading")}),o.length===0?c.jsx("button",{type:"button",className:"node-canvas__plus",onClick:()=>m(),children:e("nodeCanvas.addFirst")}):c.jsxs(c.Fragment,{children:[c.jsxs(Nk,{nodes:o,edges:r,onNodesChange:C,onEdgesChange:k,onConnect:N,onConnectEnd:w,onNodesDelete:P,onNodeClick:I,nodeTypes:T,connectionMode:Ko.Loose,connectionRadius:32,selectionOnDrag:v,multiSelectionKeyCode:v?null:void 0,panOnDrag:v?[2]:!0,fitView:!0,deleteKeyCode:v?null:["Delete","Backspace"],proOptions:{hideAttribution:!0},children:[c.jsx(o4,{}),c.jsx(jk,{gap:24,color:"var(--canvas-grid)"}),c.jsx(Ik,{className:"node-canvas__controls"}),!a&&c.jsx(Kk,{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)"}})]}),c.jsx("button",{type:"button",className:"node-canvas__add-root",onClick:()=>m(),title:e("nodeCanvas.addRootTitle"),children:"+"}),c.jsx("div",{className:"node-canvas__hint",children:e("nodeCanvas.hint")})]})]})}function i4(){return c.jsx(NS,{children:c.jsx(r4,{})})}function qo({title:e,help:a,items:o,value:r,onChange:s}){return c.jsxs("div",{className:"option-group",children:[e?c.jsx("div",{className:"section-title",children:e}):null,c.jsx("div",{className:"option-row",children:o.map(u=>c.jsxs("button",{className:`option-btn${u.value===r?" active":""}`,style:u.color?{color:u.color}:void 0,disabled:u.disabled,onClick:()=>s(u.value),type:"button",children:[u.label,u.sub?c.jsxs(c.Fragment,{children:[c.jsx("br",{}),c.jsx("span",{className:"option-sub",children:u.sub})]}):null]},u.value))}),a?c.jsx("p",{className:"option-help",children:a}):null]})}const MS="ima2.customSizeSlots";function s4(e){if(!e||typeof e!="object")return!1;const a=e;return typeof a.id=="string"&&typeof a.w=="number"&&typeof a.h=="number"&&typeof a.updatedAt=="number"}function l4(){try{const e=localStorage.getItem(MS);if(!e)return[];const a=JSON.parse(e);return Array.isArray(a)?Yr(a.filter(s4)):[]}catch{return[]}}function c4(e){try{localStorage.setItem(MS,JSON.stringify(Yr(e)))}catch{}}function u4(e,a,o){return Pc({id:`slot_${Date.now()}_${Math.random().toString(36).slice(2,7)}`,w:e,h:a,ratio:o,updatedAt:Date.now()})}function is(e){return e.map(a=>({value:a.value,label:a.label,sub:a.sub}))}function d4(){const e=U(D=>D.sizePreset),a=U(D=>D.setSizePreset),o=U(D=>D.customW),r=U(D=>D.customH),s=U(D=>D.setCustomSize),{t:u}=Se(),[d,m]=M.useState(String(o)),[g,p]=M.useState(String(r)),[y,v]=M.useState(e==="custom"),[b,S]=M.useState(()=>l4()),[_,E]=M.useState(null),[T,C]=M.useState("free"),k=e==="custom",N=pm(d,g,o,r),w=wE().filter(D=>D.value==="auto");M.useEffect(()=>{m(String(o)),p(String(r))},[o,r]),M.useEffect(()=>{k||(v(!1),E(null))},[k]);function P(D){S(D),c4(D)}function I(){const D=Yn(d,o),R=Yn(g,r);s(D,R),m(String(D)),p(String(R))}function O(D){D.key==="Enter"&&(D.preventDefault(),I())}function q(){a("custom"),v(!0),E(b.length>=Gr?b[0]?.id??null:null)}function X(D){a(D),D!=="custom"&&(v(!1),E(null))}function ue(D){a("custom"),s(D.w,D.h),m(String(D.w)),p(String(D.h)),v(!1),E(D.id)}function Z(D){C(D.id);const R=pE(D);R&&(m(String(R.w)),p(String(R.h)))}function ae(){const D=u4(N.w,N.h,T),R=b.length>=Gr&&_?yE(b,_,D):gE(b,D);P(R),a("custom"),s(N.w,N.h),m(String(N.w)),p(String(N.h)),E(D.id),v(!1)}const ce=N.reasons.length>0?N.reasons.map(D=>u(`size.adjustedReasons.${D}`)).join(", "):u("size.noAdjustment"),z=N.reasons.includes("maxPixels")&&N.requestedW===N.requestedH&&N.w===N.h?u("size.squareMaxHint",{size:`${Vy}×${Vy}`}):null;return c.jsxs("div",{className:"option-group size-picker",children:[c.jsx("div",{className:"section-title",children:u("size.title")}),c.jsx(qo,{title:"",items:is(vE),value:e,onChange:X}),c.jsx(qo,{title:"",items:is(bE),value:e,onChange:X}),c.jsx(qo,{title:"",items:is(xE),value:e,onChange:X}),c.jsx(qo,{title:"",items:is(SE),value:e,onChange:X}),c.jsxs("div",{className:"option-row size-picker__quick-row",children:[is(w).map(D=>c.jsxs("button",{type:"button",className:`option-btn${e===D.value?" active":""}`,onClick:()=>X(D.value),children:[D.label,D.sub?c.jsxs(c.Fragment,{children:[c.jsx("br",{}),c.jsx("span",{className:"option-sub",children:D.sub})]}):null]},D.value)),c.jsxs("button",{type:"button",className:`option-btn${k?" active":""}`,onClick:q,children:[u("size.customPlus"),c.jsx("br",{}),c.jsx("span",{className:"option-sub",children:u("size.customSub")})]})]}),b.length>0?c.jsx("div",{className:"option-row size-picker__slot-row",children:b.map(D=>c.jsxs("button",{type:"button",className:`option-btn size-picker__slot${k&&o===D.w&&r===D.h?" active":""}`,onClick:()=>ue(D),children:[D.w,"×",D.h,c.jsx("br",{}),c.jsx("span",{className:"option-sub",children:D.ratio||u("size.customSlot")})]},D.id))}):null,y?c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"size-picker__ratio-row",children:mE.map(D=>c.jsx("button",{type:"button",className:`size-picker__ratio${T===D.id?" active":""}`,onClick:()=>Z(D),children:D.id==="free"?u("size.ratioFree"):D.label},D.id))}),c.jsxs("div",{className:"option-row size-picker__custom-row",children:[c.jsx("input",{type:"text",inputMode:"numeric",pattern:"[0-9]*",className:"custom-size-input",value:d,onChange:D=>m(D.target.value.replace(/\D/g,"")),onBlur:I,onKeyDown:O,placeholder:u("size.width")}),c.jsx("span",{className:"size-picker__dimension-separator","aria-hidden":"true",children:"×"}),c.jsx("input",{type:"text",inputMode:"numeric",pattern:"[0-9]*",className:"custom-size-input",value:g,onChange:D=>p(D.target.value.replace(/\D/g,"")),onBlur:I,onKeyDown:O,placeholder:u("size.height")})]}),c.jsxs("div",{className:"size-picker__preview",children:[c.jsx("span",{children:u("size.normalizedPreview")}),c.jsx("strong",{children:hE(N.w,N.h)})]}),c.jsx("div",{className:"size-picker__preview size-picker__preview--reason",children:ce}),z?c.jsx("div",{className:"size-picker__preview size-picker__preview--detail",children:z}):null,b.length>=Gr?c.jsxs("div",{className:"size-picker__replace-row",children:[c.jsx("span",{children:u("size.replaceCustomSlot")}),b.map(D=>c.jsxs("button",{type:"button",className:`size-picker__replace${_===D.id?" active":""}`,onClick:()=>E(D.id),children:[D.w,"×",D.h]},D.id))]}):null,c.jsx("button",{type:"button",className:"size-picker__save",onClick:ae,children:b.length>=Gr?u("size.replaceCustomSlot"):u("size.saveCustomSlot")}),c.jsx("div",{className:"size-hint",children:u("size.hint")})]}):null]})}const Pf=[1,2,4];function k0(e){return Math.min(8,Math.max(1,Math.trunc(e||1)))}function f4(){const e=U(k=>k.count),a=U(k=>k.setCount),o=U(k=>k.uiMode),r=U(k=>k.multimode),s=U(k=>k.multimodeMaxImages),u=U(k=>k.setMultimodeMaxImages),{t:d}=Se(),m=o==="classic"&&r,g=m?s:e,p=m?u:a,[y,v]=M.useState(!Pf.includes(g)),[b,S]=M.useState(String(g));M.useEffect(()=>{v(!Pf.includes(g)),S(String(g))},[m,g]);function _(k=b){const N=k0(Number.parseInt(k,10));p(N),S(String(N))}function E(k){v(!1),S(String(k)),p(k)}function T(k){const N=k0(g+k);v(!0),S(String(N)),p(N)}function C(k){k.key==="Enter"&&(k.preventDefault(),_())}return c.jsxs("div",{className:"option-group count-picker",children:[c.jsx("div",{className:"section-title",children:d(m?"multimode.maxStages":"count.title")}),c.jsxs("div",{className:"option-row",children:[Pf.map(k=>c.jsx("button",{type:"button",className:`option-btn${g===k&&!y?" active":""}`,onClick:()=>E(k),children:k},k)),c.jsx("button",{type:"button",className:`option-btn${y?" active":""}`,onClick:()=>{v(k=>!k),S(String(g))},children:d("count.customPlus")})]}),y?c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"count-picker__custom",children:[c.jsx("button",{type:"button",className:"count-picker__step",onClick:()=>T(-1),"aria-label":d("count.decrease"),children:"-"}),c.jsx("input",{type:"text",inputMode:"numeric",pattern:"[0-9]*",className:"count-picker__input",value:b,onChange:k=>S(k.target.value.replace(/\D/g,"")),onBlur:()=>_(),onKeyDown:C,"aria-label":d("count.customLabel")}),c.jsx("button",{type:"button",className:"count-picker__step",onClick:()=>T(1),"aria-label":d("count.increase"),children:"+"})]}),c.jsx("p",{className:"option-help",children:g>=5?d(m?"multimode.highCountHint":"count.highCountHint"):d(m?"multimode.minMaxHint":"count.minMaxHint")})]}):null]})}const m4={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 h4(e,a){return m4[e]?.[a]??0}function p4(){const{t:e}=Se(),a=U(v=>v.provider),o=U(v=>v.quality),r=U(v=>v.multimode),s=U(v=>v.multimodeMaxImages),d=U(v=>v.getResolvedSize)(),m=a==="oauth",g=h4(o,d),p=m?e("cost.free"):r?e("cost.multimodeApprox",{amount:(g*s).toFixed(3),count:s}):e("cost.approx",{amount:g.toFixed(3)}),y=m?"var(--green)":void 0;return c.jsxs("div",{className:"cost-estimate",children:[c.jsx("span",{children:e("cost.label")}),c.jsx("span",{className:"price",style:y?{color:y}:void 0,children:p})]})}function g4({prompt:e,onClose:a,onLoad:o,onInsert:r,onDelete:s,onToggleFavorite:u}){const{t:d}=Se(),m=async()=>{try{await navigator.clipboard.writeText(e.text)}catch{}};return c.jsxs("div",{className:"prompt-detail-modal",onClick:a,children:[c.jsx("div",{className:"prompt-detail-modal__backdrop"}),c.jsxs("div",{className:"prompt-detail-modal__content",onClick:g=>g.stopPropagation(),children:[c.jsxs("div",{className:"prompt-detail-modal__header",children:[c.jsx("h4",{children:e.name||d("promptLibrary.untitled")}),c.jsx("button",{className:"prompt-detail-modal__close",onClick:a,"aria-label":d("common.close"),children:"×"})]}),c.jsxs("div",{className:"prompt-detail-modal__body",children:[c.jsx("div",{className:"prompt-detail-modal__label",children:d("promptLibrary.content")}),c.jsx("div",{className:"prompt-detail-modal__prompt",children:e.text}),e.tags.length>0&&c.jsxs("div",{className:"prompt-detail-modal__tags",children:[c.jsx("div",{className:"prompt-detail-modal__label",children:d("promptLibrary.tags")}),c.jsx("div",{className:"prompt-detail-modal__tag-list",children:e.tags.map(g=>c.jsxs("span",{className:"prompt-detail-modal__tag",children:["#",g]},g))})]})]}),c.jsxs("div",{className:"prompt-detail-modal__footer",children:[c.jsx("button",{className:"prompt-detail-modal__load",onClick:o,children:d("promptLibrary.load")}),c.jsx("button",{className:"prompt-detail-modal__copy",onClick:m,children:d("promptLibrary.copy")}),c.jsxs("button",{className:"prompt-detail-modal__insert",onClick:r,children:["+ ",d("promptLibrary.insert")]}),c.jsx("button",{className:`prompt-detail-modal__favorite${e.isFavorite?" prompt-detail-modal__favorite--on":""}`,onClick:u,children:e.isFavorite?"★ "+d("promptLibrary.unfavorite"):"☆ "+d("promptLibrary.favorite")}),c.jsx("button",{className:"prompt-detail-modal__delete",onClick:s,children:d("common.delete")})]})]})]})}function y4({prompt:e,onLoad:a,onInsert:o,onDelete:r,onToggleFavorite:s}){const{t:u}=Se(),[d,m]=M.useState(!1),g=e.text.length>45?e.text.slice(0,45)+"...":e.text;return c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"prompt-library-row",onClick:()=>m(!0),children:[c.jsxs("div",{className:"prompt-library-row__main",children:[c.jsx("div",{className:"prompt-library-row__title",children:e.name||u("promptLibrary.untitled")}),c.jsx("div",{className:"prompt-library-row__preview",children:g})]}),c.jsxs("div",{className:"prompt-library-row__actions",children:[c.jsx("button",{className:"prompt-library-row__insert",onClick:p=>{p.stopPropagation(),o()},title:u("promptLibrary.insert"),"aria-label":u("promptLibrary.insert"),children:"+"}),c.jsx("button",{className:`prompt-library-row__star${e.isFavorite?" prompt-library-row__star--on":""}`,onClick:p=>{p.stopPropagation(),s()},"aria-label":e.isFavorite?u("promptLibrary.unfavorite"):u("promptLibrary.favorite"),children:e.isFavorite?"★":"☆"}),c.jsx("span",{className:"prompt-library-row__chevron",children:"›"})]})]}),d&&c.jsx(g4,{prompt:e,onClose:()=>m(!1),onLoad:()=>{a(),m(!1)},onInsert:()=>{o(),m(!1)},onDelete:r,onToggleFavorite:s})]})}const v4=["gpt-image-2 prompt","nano banana prompts","typography image prompt"];function b4({disabled:e=!1,onError:a,onSourcesChanged:o}){const{t:r}=Se(),[s,u]=M.useState("gpt-image-2 prompt"),[d,m]=M.useState([]),[g,p]=M.useState(!1),[y,v]=M.useState([]),[b,S]=M.useState({});M.useEffect(()=>{let T=!1;return R_().then(C=>{T||m(C.candidates)}).catch(()=>{T||m([])}),()=>{T=!0}},[]);const _=M.useCallback(async()=>{p(!0),v([]),a(null);try{const T=await D_({q:s.trim(),seeds:v4});m(T.candidates),v([...T.warnings,...T.rateLimit?.remaining===0?["github-rate-limit-exhausted"]:[]]),T.candidates.length===0&&a(r("promptLibrary.discoveryNoResults"))}catch(T){a(T instanceof Error?T.message:r("promptLibrary.importFailed"))}finally{p(!1)}},[a,s,r]),E=M.useCallback(async(T,C)=>{p(!0),v([]),a(null);try{const N=(b[T.fullName]||"").split(/\r?\n|,/).map(P=>P.trim()).filter(Boolean),w=await k_({repo:T.fullName,status:C,allowedPaths:C==="approved"?N:[],defaultSearch:C==="approved"&&N.length>0});v(w.warnings),m(P=>P.map(I=>I.fullName===T.fullName?w.candidate:I)),await o()}catch(k){a(k instanceof Error?k.message:r("promptLibrary.importFailed"))}finally{p(!1)}},[b,a,o,r]);return c.jsxs("div",{className:"prompt-import-dialog__discovery",children:[c.jsxs("div",{className:"prompt-import-dialog__section-title",children:[c.jsx("strong",{children:r("promptLibrary.discovery")}),c.jsx("span",{children:r("promptLibrary.discoveryReviewQueue")})]}),c.jsxs("div",{className:"prompt-import-dialog__discovery-actions",children:[c.jsx("input",{type:"text",value:s,onChange:T=>u(T.target.value),placeholder:r("promptLibrary.discoverySearchPlaceholder"),"aria-label":r("promptLibrary.discoverySearch")}),c.jsx("button",{type:"button",onClick:()=>{_()},disabled:e||g||!s.trim(),children:r(g?"common.loading":"promptLibrary.discoverySearch")})]}),y.length>0?c.jsx("div",{className:"prompt-import-dialog__discovery-warning",children:y.slice(0,3).join(" · ")}):null,d.length===0?c.jsx("div",{className:"prompt-import-dialog__empty",children:r("promptLibrary.discoveryNoResults")}):c.jsx("div",{className:"prompt-import-dialog__discovery-list",children:d.map(T=>c.jsxs("article",{className:"prompt-import-dialog__discovery-candidate",children:[c.jsxs("div",{children:[c.jsx("strong",{children:T.fullName}),c.jsx("small",{children:T.description||T.htmlUrl})]}),c.jsxs("div",{className:"prompt-import-dialog__score",children:[c.jsxs("span",{children:[r("promptLibrary.discoveryScore"),": ",T.score]}),c.jsx("span",{children:T.licenseSpdx}),c.jsx("span",{children:T.status})]}),T.scoreReasons.length>0?c.jsx("em",{children:T.scoreReasons.slice(0,3).join(" · ")}):null,T.warnings.length>0?c.jsx("b",{children:T.warnings.slice(0,2).join(" · ")}):null,c.jsx("textarea",{value:b[T.fullName]||"",onChange:C=>S(k=>({...k,[T.fullName]:C.target.value})),placeholder:"README.md, prompts/example.md","aria-label":r("promptLibrary.discoveryRequiresPaths")}),c.jsxs("div",{className:"prompt-import-dialog__review-actions",children:[c.jsx("button",{type:"button",onClick:()=>{E(T,"approved")},disabled:e||g,children:r("promptLibrary.discoveryApprove")}),c.jsx("button",{type:"button",onClick:()=>{E(T,"rejected")},disabled:e||g,children:r("promptLibrary.discoveryReject")})]})]},T.fullName))})]})}function x4({input:e,disabled:a=!1,onCandidates:o,onError:r}){const{t:s}=Se(),[u,d]=M.useState([]),[m,g]=M.useState(new Set),[p,y]=M.useState(!1),[v,b]=M.useState([]),S=M.useCallback(async()=>{if(e.trim()){y(!0),b([]),r(null);try{const E=await O_({source:{kind:"github-folder",input:e.trim()}});d(E.files),g(new Set(E.files.slice(0,5).map(T=>T.path))),b(E.warnings),E.files.length===0&&r(s("promptLibrary.folderFilesEmpty"))}catch(E){d([]),g(new Set),r(E instanceof Error?E.message:s("promptLibrary.folderUnsupported"))}finally{y(!1)}}},[e,r,s]),_=M.useCallback(async()=>{const E=[...m];if(E.length===0){r(s("promptLibrary.folderNoSelection"));return}y(!0),b([]),r(null);try{const T=await z_({source:{kind:"github-folder",input:e.trim()},paths:E});b(T.warnings),o(T.candidates)}catch(T){r(T instanceof Error?T.message:s("promptLibrary.importFailed"))}finally{y(!1)}},[e,o,r,m,s]);return c.jsxs("div",{className:"prompt-import-dialog__folder",children:[c.jsxs("div",{className:"prompt-import-dialog__section-title",children:[c.jsx("strong",{children:s("promptLibrary.folderFiles")}),c.jsx("span",{children:s("promptLibrary.folderBrowseHint")})]}),c.jsxs("div",{className:"prompt-import-dialog__folder-actions",children:[c.jsx("button",{type:"button",onClick:()=>{S()},disabled:a||p||!e.trim(),children:s(p?"common.loading":"promptLibrary.folderBrowse")}),c.jsx("button",{type:"button",onClick:()=>{_()},disabled:a||p||m.size===0,children:s("promptLibrary.folderPreviewSelected")}),c.jsx("span",{children:s("promptLibrary.folderSelectedCount",{count:m.size})})]}),u.length>0?c.jsx("div",{className:"prompt-import-dialog__folder-list",children:u.map(E=>c.jsxs("label",{className:"prompt-import-dialog__folder-file",children:[c.jsx("input",{type:"checkbox",checked:m.has(E.path),onChange:T=>{g(C=>{const k=new Set(C);return T.target.checked?k.add(E.path):k.delete(E.path),k})}}),c.jsxs("span",{children:[c.jsx("strong",{children:E.name}),c.jsx("small",{children:E.path})]}),c.jsxs("em",{children:[Math.ceil(E.sizeBytes/1024)," KB"]})]},E.path))}):null,v.length>0?c.jsx("div",{className:"prompt-import-dialog__folder-warning",children:v.slice(0,3).join(" · ")}):null]})}const S4=/\.(txt|md|markdown)$/i;function w4({open:e,onClose:a,onImported:o}){const{t:r}=Se(),s=U(K=>K.showToast),u=M.useRef(null),d=M.useRef(null),m=M.useRef(null),[g,p]=M.useState(""),[y,v]=M.useState([]),[b,S]=M.useState(new Set),[_,E]=M.useState(!1),[T,C]=M.useState(null),[k,N]=M.useState(!1),[w,P]=M.useState([]),[I,O]=M.useState(""),[q,X]=M.useState(new Set),[ue,Z]=M.useState(!1),[ae,ce]=M.useState([]),[z,D]=M.useState("curated");M.useEffect(()=>{if(e)return m.current=document.activeElement,window.setTimeout(()=>d.current?.focus(),0),()=>m.current?.focus()},[e]);const R=M.useCallback(async()=>{const K=await Uy();P(K.sources),X(new Set(K.sources.filter(se=>se.defaultSearch).map(se=>se.id)))},[]);M.useEffect(()=>{if(!e)return;let K=!1;return Uy().then(se=>{K||(P(se.sources),X(new Set(se.sources.filter(V=>V.defaultSearch).map(V=>V.id))))}).catch(()=>{K||P([])}),()=>{K=!0}},[e]);const L=M.useCallback(K=>{v(se=>{const V=new Set(se.map(he=>he.id)),te=[...se];for(const he of K)V.has(he.id)||te.push(he);return S(new Set(te.map(he=>he.id))),te})},[]),$=M.useCallback(async K=>{const se=K.filter(V=>S4.test(V.name));if(se.length===0){C(r("promptLibrary.importNoValidFiles"));return}E(!0),C(null);try{const V=[];for(const te of se)V.push(await Hy({source:{kind:"local",filename:te.name,text:await te.text()}}));L(V.flatMap(te=>te.candidates))}catch(V){C(V instanceof Error?V.message:r("promptLibrary.importFailed"))}finally{E(!1)}},[L,r]),Q=M.useCallback(async()=>{if(g.trim()){E(!0),C(null);try{const K=await Hy({source:{kind:"github",input:g.trim()}});L(K.candidates)}catch(K){C(K instanceof Error?K.message:r("promptLibrary.importFailed"))}finally{E(!1)}}},[L,g,r]),re=M.useCallback(async()=>{Z(!0),C(null),ce([]);try{const K=await j_({q:I.trim(),sourceIds:[...q]});L(K.results),ce(K.warnings),K.results.length===0&&C(r("promptLibrary.noCuratedResults"))}catch(K){C(K instanceof Error?K.message:r("promptLibrary.importFailed"))}finally{Z(!1)}},[L,I,q,r]),A=M.useCallback(async K=>{Z(!0),C(null),ce([]);try{const se=await A_({sourceId:K});ce(se.warnings),s(r("promptLibrary.curatedRefreshed",{count:se.candidateCount}))}catch(se){C(se instanceof Error?se.message:r("promptLibrary.importFailed"))}finally{Z(!1)}},[s,r]),B=M.useCallback(async()=>{const K=y.filter(se=>b.has(se.id));if(K.length===0){C(r("promptLibrary.importSelectAtLeastOne"));return}E(!0),C(null);try{const se=await M_({candidates:K});await o(),s(r("promptLibrary.imported",{count:se.promptsImported})),a()}catch(se){C(se instanceof Error?se.message:r("promptLibrary.importFailed"))}finally{E(!1)}},[y,a,o,b,s,r]),G=M.useCallback(K=>{const se=Array.from(K.target.files??[]);se.length>0&&$(se),K.target.value=""},[$]),J=M.useCallback(K=>{K.preventDefault(),K.stopPropagation(),N(!1);const se=Array.from(K.dataTransfer?.files??[]);se.length>0&&$(se)},[$]);return M.useEffect(()=>{if(!e)return;const K=V=>{V.preventDefault(),N(!0)},se=V=>{V.relatedTarget===null&&N(!1)};return window.addEventListener("dragover",K),window.addEventListener("dragleave",se),window.addEventListener("drop",J),()=>{window.removeEventListener("dragover",K),window.removeEventListener("dragleave",se),window.removeEventListener("drop",J)}},[J,e]),e?c.jsxs("div",{className:"prompt-import-dialog",role:"presentation",children:[c.jsx("div",{className:"prompt-import-dialog__backdrop",onClick:a}),c.jsxs("div",{ref:d,className:"prompt-import-dialog__panel",role:"dialog","aria-modal":"true","aria-labelledby":"prompt-import-title",tabIndex:-1,onKeyDown:K=>{K.key==="Escape"&&a()},children:[c.jsxs("div",{className:"prompt-import-dialog__header",children:[c.jsx("h3",{id:"prompt-import-title",children:r("promptLibrary.importTitle")}),c.jsx("button",{type:"button",onClick:a,"aria-label":r("common.close"),children:"×"})]}),c.jsxs("div",{className:`prompt-import-dialog__dropzone${k?" active":""}`,onDragOver:K=>{K.preventDefault(),N(!0)},onDragLeave:()=>N(!1),onDrop:J,children:[c.jsx("strong",{children:r("promptLibrary.importDropTitle")}),c.jsx("span",{children:r("promptLibrary.importDropHint")}),c.jsx("button",{type:"button",onClick:()=>u.current?.click(),children:r("promptLibrary.importChooseFiles")}),c.jsx("input",{ref:u,className:"prompt-library-panel__file-input",type:"file",accept:".txt,.md,.markdown,text/plain,text/markdown",multiple:!0,onChange:G})]}),c.jsxs("div",{className:"prompt-import-dialog__github",children:[c.jsx("label",{htmlFor:"prompt-import-github",children:r("promptLibrary.importGithubLabel")}),c.jsxs("div",{children:[c.jsx("input",{id:"prompt-import-github",type:"text",value:g,onChange:K=>p(K.target.value),placeholder:"owner/repo:path/to/prompts.md"}),c.jsx("button",{type:"button",onClick:()=>{Q()},disabled:_||!g.trim(),children:r("promptLibrary.importPreview")})]})]}),c.jsx(x4,{input:g,disabled:_,onCandidates:L,onError:C}),c.jsxs("div",{className:"prompt-import-dialog__source-tabs",role:"tablist","aria-label":r("promptLibrary.curatedSources"),children:[c.jsx("button",{type:"button",className:z==="curated"?"active":"",onClick:()=>D("curated"),"aria-pressed":z==="curated",children:r("promptLibrary.curatedSources")}),c.jsx("button",{type:"button",className:z==="discovery"?"active":"",onClick:()=>D("discovery"),"aria-pressed":z==="discovery",children:r("promptLibrary.discovery")})]}),z==="curated"?c.jsxs("div",{className:"prompt-import-dialog__curated",children:[c.jsxs("div",{className:"prompt-import-dialog__section-title",children:[c.jsx("strong",{children:r("promptLibrary.curatedSources")}),c.jsx("span",{children:r("promptLibrary.curatedSourcesHint")})]}),c.jsx("div",{className:"prompt-import-dialog__source-list",children:w.filter(K=>K.trustTier!=="manual-review").map(K=>c.jsxs("label",{className:"prompt-import-dialog__source",children:[c.jsx("input",{type:"checkbox",checked:q.has(K.id),onChange:se=>{X(V=>{const te=new Set(V);return se.target.checked?te.add(K.id):te.delete(K.id),te})}}),c.jsxs("span",{children:[c.jsx("strong",{children:K.displayName}),c.jsxs("small",{children:[K.licenseSpdx," · ",K.trustTier]})]}),c.jsx("button",{type:"button",onClick:()=>{A(K.id)},disabled:ue,children:r("promptLibrary.refreshSource")})]},K.id))}),c.jsxs("div",{className:"prompt-import-dialog__search-results",children:[c.jsx("input",{type:"text",value:I,onChange:K=>O(K.target.value),placeholder:r("promptLibrary.curatedSearchPlaceholder"),"aria-label":r("promptLibrary.curatedSearch")}),c.jsx("button",{type:"button",onClick:()=>{re()},disabled:ue||q.size===0,children:r(ue?"common.loading":"promptLibrary.curatedSearch")})]}),ae.length>0?c.jsx("div",{className:"prompt-import-dialog__warning",children:ae.slice(0,3).join(" · ")}):null]}):c.jsx(b4,{disabled:_,onError:C,onSourcesChanged:R}),T?c.jsx("div",{className:"prompt-import-dialog__error",role:"alert",children:T}):null,c.jsx("div",{className:"prompt-import-dialog__preview","aria-live":"polite",children:y.length===0?c.jsx("div",{className:"prompt-import-dialog__empty",children:r("promptLibrary.importPreviewEmpty")}):y.map(K=>c.jsxs("label",{className:"prompt-import-dialog__candidate",children:[c.jsx("input",{type:"checkbox",checked:b.has(K.id),onChange:se=>{S(V=>{const te=new Set(V);return se.target.checked?te.add(K.id):te.delete(K.id),te})}}),c.jsxs("span",{children:[c.jsx("strong",{children:K.name}),c.jsx("small",{children:K.text.slice(0,180)}),K.warnings?.length?c.jsx("b",{className:"prompt-import-dialog__hint-chip",children:K.warnings[0]}):null,K.tags.length>0?c.jsx("em",{children:K.tags.join(" · ")}):null]})]},K.id))}),c.jsxs("div",{className:"prompt-import-dialog__footer",children:[c.jsx("button",{type:"button",onClick:a,children:r("common.cancel")}),c.jsx("button",{type:"button",onClick:()=>{B()},disabled:_||b.size===0,children:r(_?"common.loading":"promptLibrary.importCommit")})]})]})]}):null}function jS({variant:e="overlay"}){const{t:a}=Se(),o=U(q=>q.promptLibraryOpen),r=U(q=>q.togglePromptLibrary),s=U(q=>q.promptLibrary),u=U(q=>q.promptLibraryLoading),d=U(q=>q.loadPromptLibrary),m=U(q=>q.deletePromptFromLibrary),g=U(q=>q.togglePromptFavorite),p=U(q=>q.setPrompt),y=U(q=>q.insertPromptToComposer),v=U(q=>q.clearInsertedPrompts),b=U(q=>q.showToast),[S,_]=M.useState(""),[E,T]=M.useState(!1),[C,k]=M.useState(!1),[N,w]=M.useState(!1);M.useEffect(()=>{o&&d()},[o,d]);const P=M.useCallback(q=>{y({id:q.id,name:q.name||a("promptLibrary.untitled"),text:q.text}),b(a("promptLibrary.inserted")),r()},[y,b,a,r]);if(!o)return null;const I=s.prompts.filter(q=>{if(E&&!q.isFavorite)return!1;if(!S.trim())return!0;const X=S.toLowerCase();return q.name.toLowerCase().includes(X)||q.text.toLowerCase().includes(X)||q.tags.some(ue=>ue.toLowerCase().includes(X))}),O=c.jsxs("div",{className:"prompt-library-panel__drawer",children:[c.jsxs("div",{className:"prompt-library-panel__header",children:[c.jsx("h3",{children:a("promptLibrary.title")}),c.jsxs("div",{className:"prompt-library-panel__actions",children:[c.jsx("button",{className:"prompt-library-panel__add",onClick:()=>k(q=>!q),title:a("promptLibrary.addNew"),"aria-label":a("promptLibrary.addNew"),children:"+"}),c.jsx("button",{className:"prompt-library-panel__import",onClick:()=>w(!0),title:a("promptLibrary.importFiles"),"aria-label":a("promptLibrary.importFiles"),children:a("promptLibrary.import")}),c.jsx("button",{onClick:r,"aria-label":a("common.close"),children:"×"})]}),C&&c.jsx(ym,{text:"",onClose:()=>k(!1)})]}),c.jsxs("div",{className:"prompt-library-panel__search",children:[c.jsx("input",{type:"text",placeholder:a("promptLibrary.search"),value:S,onChange:q=>_(q.target.value)}),c.jsxs("button",{type:"button",className:`prompt-library-panel__filter-toggle${E?" active":""}`,"aria-pressed":E,title:a("promptLibrary.favorites"),onClick:()=>T(q=>!q),children:[c.jsx("span",{"aria-hidden":"true",children:"★"}),c.jsx("span",{children:a("promptLibrary.favorites")})]})]}),u?c.jsx("div",{className:"prompt-library-panel__loading",children:a("common.loading")}):c.jsx("div",{className:"prompt-library-panel__list",children:I.length===0?c.jsx("div",{className:"prompt-library-panel__empty",children:a("promptLibrary.empty")}):I.map(q=>c.jsx(y4,{prompt:q,onLoad:()=>{v(),p(q.text),r()},onInsert:()=>P(q),onDelete:()=>m(q.id),onToggleFavorite:()=>g(q.id)},q.id))}),c.jsx(w4,{open:N,onClose:()=>w(!1),onImported:d})]});return c.jsxs("div",{className:`prompt-library-panel prompt-library-panel--${e}`,children:[e==="overlay"?c.jsx("div",{className:"prompt-library-panel__backdrop",onClick:r}):null,O]})}const _4=[{value:"png",label:"PNG"},{value:"jpeg",label:"JPEG"},{value:"webp",label:"WebP"}];function N4(){const e=U(w=>w.rightPanelOpen),a=U(w=>w.toggleRightPanel),o=U(w=>w.promptLibraryOpen),r=U(w=>w.togglePromptLibrary),{t:s}=Se(),[u,d]=M.useState(typeof window<"u"?window.matchMedia("(max-width: 800px)").matches:!1);M.useEffect(()=>{if(typeof window>"u")return;const w=window.matchMedia("(max-width: 800px)"),P=()=>d(w.matches);return w.addEventListener("change",P),()=>w.removeEventListener("change",P)},[]);const m=u?e:!0,g=U(w=>w.quality),p=U(w=>w.setQuality),y=U(w=>w.format),v=U(w=>w.setFormat),b=U(w=>w.moderation),S=U(w=>w.setModeration),_=U(w=>w.multimode),E=U(w=>w.setMultimode),C=U(w=>w.uiMode)==="classic",k=[{value:"low",label:s("quality.lowLabel"),sub:s("quality.lowSub")},{value:"medium",label:s("quality.mediumLabel"),sub:s("quality.mediumSub")},{value:"high",label:s("quality.highLabel"),sub:s("quality.highSub")}],N=[{value:"auto",label:s("moderation.autoLabel"),sub:s("moderation.autoSub")},{value:"low",label:s("moderation.lowLabel"),sub:s("moderation.lowSub"),color:"var(--amber)"}];return c.jsxs(c.Fragment,{children:[u&&e?c.jsx("div",{className:"right-panel-backdrop",role:"button","aria-label":s("panel.closeSettings"),onClick:a}):null,c.jsxs("aside",{className:`right-panel${e?"":" collapsed"}${u&&m?" drawer-open":""}`,"aria-label":s("panel.detailSettings"),children:[!u&&c.jsx("button",{type:"button",className:"right-panel-toggle","aria-expanded":e,"aria-controls":"right-panel-body",onClick:a,title:s(e?"panel.toggleHide":"panel.toggleShow"),children:e?">":"<"}),c.jsxs("div",{id:"right-panel-body",className:"right-panel-body",hidden:!e,children:[c.jsxs("div",{className:"right-panel-tabs",role:"tablist","aria-label":s("panel.detailSettings"),children:[c.jsx("button",{type:"button",role:"tab","aria-selected":!o,className:`right-panel-tabs__button${o?"":" active"}`,onClick:()=>{o&&r()},children:s("panel.detailSettings")}),c.jsx("button",{type:"button",role:"tab","aria-selected":o,className:`right-panel-tabs__button${o?" active":""}`,onClick:()=>{o||r()},children:s("promptLibrary.title")})]}),o?c.jsx(jS,{variant:"embedded"}):c.jsxs("div",{className:"right-panel-settings",role:"tabpanel",children:[c.jsx(qo,{title:s("quality.title"),items:k,value:g,onChange:p}),c.jsx(d4,{}),c.jsx(qo,{title:s("format.title"),items:_4,value:y,onChange:v}),c.jsx(qo,{title:s("moderation.title"),items:N,value:b,onChange:S}),c.jsx("p",{className:"option-help",children:s("moderation.explain")}),C&&c.jsx("div",{className:"option-group multimode-toggle",children:c.jsxs("button",{type:"button",className:`multimode-toggle__button${_?" active":""}`,"aria-pressed":_,title:s("multimode.tooltip"),onClick:()=>E(!_),children:[c.jsx("span",{children:s("multimode.label")}),c.jsx("span",{children:s("multimode.shortHint")})]})}),c.jsx(f4,{}),c.jsx(p4,{})]})]})]})]})}function AS(e){const a=e.currentTarget;if(a.scrollWidth<=a.clientWidth||!(Math.abs(e.deltaY)>Math.abs(e.deltaX)))return;const r=a.scrollLeft<=0,s=a.scrollLeft+a.clientWidth>=a.scrollWidth-1,u=e.deltaY<0,d=e.deltaY>0;u&&r||d&&s||(e.preventDefault(),a.scrollLeft+=e.deltaY)}function O0(e){return e.filename??e.url??e.image}function E4(){const e=U(p=>p.history),a=U(p=>p.currentImage),o=U(p=>p.historyStripLayout),r=U(p=>p.selectHistory),s=U(p=>p.openGallery),u=M.useRef({}),{t:d}=Se(),m=a?O0(a):null,g=M.useMemo(()=>e.filter(p=>!p.canvasVersion),[e]);return M.useEffect(()=>{m&&u.current[m]?.scrollIntoView({block:"nearest",inline:"nearest"})},[m,g]),c.jsxs("div",{className:`history-strip${o==="horizontal"?" history-strip--horizontal":""}${o==="sidebar"?" history-strip--sidebar":""}`,onWheel:AS,"data-layout":o,children:[c.jsx("button",{type:"button",className:"history-thumb history-thumb--add",onClick:s,"aria-label":d("history.openGalleryAria"),title:d("history.openGalleryTitle"),children:c.jsxs("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[c.jsx("rect",{x:"3",y:"3",width:"7",height:"7",rx:"1"}),c.jsx("rect",{x:"14",y:"3",width:"7",height:"7",rx:"1"}),c.jsx("rect",{x:"3",y:"14",width:"7",height:"7",rx:"1"}),c.jsx("rect",{x:"14",y:"14",width:"7",height:"7",rx:"1"})]})}),g.map((p,y)=>{const v=O0(p),b=m===v;return c.jsx("img",{ref:S=>{u.current[v]=S},src:p.thumb||p.url||p.image,alt:"",className:`history-thumb${b?" active":""}`,onClick:()=>r(p)},p.filename??`${y}-${p.image}`)})]})}function C4(){const[e,a]=M.useState(null),[o,r]=M.useState(!1);return M.useEffect(()=>{let s=!1;return t_().then(u=>{s||a(u)}).catch(()=>{s||r(!0)}),()=>{s=!0}},[]),{data:e,error:o}}function T4(){const[e,a]=M.useState(null);return M.useEffect(()=>{let o=!1,r=null;const s=async()=>{try{const u=await e_();if(o)return;a(u),u.status==="starting"&&(r=setTimeout(s,3e3))}catch{o||a(null)}};return s(),()=>{o=!0,r&&clearTimeout(r)}},[]),e}function M4(e){return e==="ready"?"Ready":e==="auth_required"?"Login required":e==="starting"?"Starting":e==="offline"?"Offline":"Checking"}function j4(){const{t:e}=Se(),a=T4(),{data:o,error:r}=C4(),s=o?.apiKeySource==="env"||o?.apiKeySource==="config"||o?.apiKeyValid===!0,u=a?.status==="ready",d=o?.apiKeySource==="config"?e("settings.account.apiSourceConfig"):e("settings.account.apiSourceEnv");return c.jsxs(c.Fragment,{children:[c.jsxs("article",{className:"settings-row",children:[c.jsxs("div",{className:"settings-row__copy",children:[c.jsx("p",{className:"settings-eyebrow",children:e("settings.account.primaryEyebrow")}),c.jsx("h4",{children:e("settings.account.oauthTitle")}),c.jsx("p",{children:e("settings.account.oauthBody")})]}),c.jsxs("div",{className:`settings-status${u?" is-ok":""}`,children:[c.jsx("span",{"aria-hidden":"true"}),M4(a?.status)]})]}),s?c.jsxs("article",{className:"settings-row",children:[c.jsxs("div",{className:"settings-row__copy",children:[c.jsx("p",{className:"settings-eyebrow",children:d}),c.jsx("h4",{children:e("settings.account.apiTitle")}),c.jsx("p",{children:e("settings.account.apiBody")})]}),c.jsxs("div",{className:"settings-status is-muted",children:[c.jsx("span",{"aria-hidden":"true"}),e(r?"settings.account.apiUnknown":"settings.account.apiDisabled")]})]}):null]})}function A4(){const{t:e}=Se(),a=U(s=>s.reasoningEffort),o=U(s=>s.setReasoningEffort),r=s=>{o(s.target.value)};return c.jsx("div",{className:"image-model-select image-model-select--settings",children:c.jsx("select",{id:"settings-reasoning-effort",value:a,onChange:r,children:eb.map(s=>c.jsx("option",{value:s.value,children:e(s.fullLabelKey)},s.value))})})}const R4={ko:"KO",en:"EN"};function D4(){const{t:e,locale:a}=Se(),o=U(r=>r.setLocale);return c.jsx("div",{className:"lang-toggle",role:"group","aria-label":e("language.label"),children:iE.map(r=>c.jsx("button",{type:"button",className:`lang-toggle__btn ${a===r?"is-active":""}`,onClick:()=>o(r),"aria-pressed":a===r,title:e(`language.${r}`),children:c.jsx("span",{className:"lang-toggle__label",children:R4[r]})},r))})}const k4=["system","dark","light"];function O4(){const{t:e}=Se(),a=U(p=>p.theme),o=U(p=>p.setTheme),r=U(p=>p.themeFamily),s=U(p=>p.setThemeFamily),[u,d]=M.useState(!1),m=M.useRef(null);M.useEffect(()=>{if(!u)return;const p=v=>{m.current&&(m.current.contains(v.target)||d(!1))},y=v=>{v.key==="Escape"&&d(!1)};return document.addEventListener("mousedown",p),document.addEventListener("keydown",y),()=>{document.removeEventListener("mousedown",p),document.removeEventListener("keydown",y)}},[u]);const g=p=>e(`theme.family.${p}`);return c.jsxs("div",{className:"theme-toggle","aria-label":e("theme.label"),children:[c.jsxs("div",{className:"theme-toggle__row",children:[c.jsx("span",{className:"theme-toggle__label",id:"theme-style-label",children:e("theme.styleLabel")}),c.jsxs("div",{className:"theme-toggle__family",ref:m,children:[c.jsxs("button",{type:"button",className:"theme-toggle__family-trigger","aria-haspopup":"listbox","aria-expanded":u,"aria-labelledby":"theme-style-label",onClick:()=>d(p=>!p),children:[c.jsx("span",{className:`theme-toggle__family-dot theme-toggle__family-dot--${r}`,"aria-hidden":"true"}),c.jsx("span",{className:"theme-toggle__family-name",children:g(r)}),c.jsx("span",{className:"theme-toggle__family-caret","aria-hidden":"true",children:"▾"})]}),u?c.jsx("ul",{className:"theme-toggle__family-menu",role:"listbox","aria-labelledby":"theme-style-label",children:F0.map(p=>c.jsx("li",{role:"none",children:c.jsxs("button",{type:"button",role:"option","aria-selected":r===p,className:`theme-toggle__family-option ${r===p?"is-active":""}`,onClick:()=>{s(p),d(!1)},children:[c.jsx("span",{className:`theme-toggle__family-dot theme-toggle__family-dot--${p}`,"aria-hidden":"true"}),c.jsx("span",{className:"theme-toggle__family-name",children:g(p)})]})},p))}):null]})]}),c.jsxs("div",{className:"theme-toggle__row",children:[c.jsx("span",{className:"theme-toggle__label",id:"theme-mode-label",children:e("theme.modeLabel")}),c.jsx("div",{className:"theme-toggle__mode",role:"group","aria-labelledby":"theme-mode-label",children:k4.map(p=>c.jsx("button",{type:"button",className:`theme-toggle__btn ${a===p?"is-active":""}`,onClick:()=>o(p),"aria-pressed":a===p,title:e(`theme.${p}`),children:e(`theme.${p}`)},p))})]})]})}const z4=["rail","horizontal","sidebar"];function I4(){const{t:e}=Se(),a=U(r=>r.historyStripLayout),o=U(r=>r.setHistoryStripLayout);return c.jsx("div",{className:"history-layout-toggle",role:"group","aria-label":e("settings.appearance.historyStripLayoutTitle"),children:z4.map(r=>c.jsx("button",{type:"button",className:`history-layout-toggle__btn ${a===r?"is-active":""}`,onClick:()=>o(r),"aria-pressed":a===r,title:e(`settings.appearance.historyStripLayout.${r}`),children:e(`settings.appearance.historyStripLayout.${r}`)},r))})}const mc=["account","generation","appearance","language","future"];function ss({id:e,setRef:a,children:o}){const{t:r}=Se();return c.jsxs("section",{id:e,ref:s=>a(e,s),className:"settings-section","aria-labelledby":`settings-section-${e}`,children:[c.jsx("header",{className:"settings-section__header",children:c.jsxs("div",{children:[c.jsx("h3",{id:`settings-section-${e}`,children:r(`settings.sections.${e}.title`)}),c.jsx("p",{children:r(`settings.sections.${e}.hint`)})]})}),c.jsx("div",{className:"settings-section__body",children:o})]})}function L4(){const{t:e}=Se(),a=U(y=>y.activeSettingsSection),o=U(y=>y.setActiveSettingsSection),r=U(y=>y.closeSettings),s=M.useRef(null),u=M.useRef(null),d=M.useRef(!1),m=M.useRef({account:null,generation:null,appearance:null,language:null,future:null}),g=(y,v)=>{m.current[y]=v},p=y=>{o(y),d.current=!0,m.current[y]?.scrollIntoView({behavior:"auto",block:"start"}),u.current!==null&&window.clearTimeout(u.current),u.current=window.setTimeout(()=>{d.current=!1,u.current=null},120)};return M.useEffect(()=>{const y=v=>{v.key==="Escape"&&r()};return window.addEventListener("keydown",y),()=>window.removeEventListener("keydown",y)},[r]),M.useEffect(()=>{const y=s.current;if(!y||typeof IntersectionObserver!="function")return;const v=new IntersectionObserver(b=>{if(d.current)return;const _=b.filter(E=>E.isIntersecting).sort((E,T)=>T.intersectionRatio-E.intersectionRatio)[0]?.target.id;_&&mc.includes(_)&&o(_)},{root:y,threshold:[.35,.6]});for(const b of mc){const S=m.current[b];S&&v.observe(S)}return()=>v.disconnect()},[o]),M.useEffect(()=>()=>{u.current!==null&&window.clearTimeout(u.current)},[]),c.jsx("main",{ref:s,className:"settings-workspace","aria-labelledby":"settings-title",children:c.jsxs("div",{className:"settings-shell",children:[c.jsxs("header",{className:"settings-header",children:[c.jsxs("div",{children:[c.jsx("p",{className:"settings-eyebrow",children:e("settings.eyebrow")}),c.jsx("h2",{id:"settings-title",children:e("settings.title")}),c.jsx("p",{children:e("settings.subtitle")})]}),c.jsx("button",{type:"button",className:"settings-close",onClick:r,"aria-label":e("settings.closeAria"),title:e("settings.closeTitle"),children:"X"})]}),c.jsxs("div",{className:"settings-layout",children:[c.jsx("nav",{className:"settings-nav settings-nav--mobile","aria-label":e("settings.navAria"),children:c.jsx("select",{value:a,onChange:y=>p(y.target.value),"aria-label":e("settings.navAria"),children:mc.map(y=>c.jsx("option",{value:y,children:e(`settings.sections.${y}.title`)},y))})}),c.jsx("nav",{className:"settings-nav","aria-label":e("settings.navAria"),children:mc.map(y=>c.jsxs("button",{type:"button",className:`settings-nav__item${a===y?" is-active":""}`,onClick:()=>p(y),"aria-label":e("settings.jumpTo",{section:e(`settings.sections.${y}.title`)}),children:[c.jsx("span",{children:e(`settings.sections.${y}.title`)}),c.jsx("small",{children:e(`settings.sections.${y}.hint`)})]},y))}),c.jsxs("section",{className:"settings-content","aria-label":e("settings.contentAria"),children:[c.jsx(ss,{id:"account",setRef:g,children:c.jsx(j4,{})}),c.jsxs(ss,{id:"generation",setRef:g,children:[c.jsxs("article",{className:"settings-row",children:[c.jsxs("div",{className:"settings-row__copy",children:[c.jsx("h4",{children:e("settings.imageModel.title")}),c.jsx("p",{children:e("settings.imageModel.body")}),c.jsx("p",{className:"settings-row__microcopy",children:e("settings.imageModel.unsupportedHelp")})]}),c.jsx("div",{className:"settings-row__control",children:c.jsx(vm,{variant:"settings"})})]}),c.jsxs("article",{className:"settings-row",children:[c.jsxs("div",{className:"settings-row__copy",children:[c.jsx("h4",{children:e("settings.reasoning.title")}),c.jsx("p",{children:e("settings.reasoning.body")})]}),c.jsx("div",{className:"settings-row__control",children:c.jsx(A4,{})})]}),c.jsxs("article",{className:"settings-row",children:[c.jsxs("div",{className:"settings-row__copy",children:[c.jsx("h4",{children:e("settings.webSearch.title")}),c.jsx("p",{children:e("settings.webSearch.body")})]}),c.jsx("div",{className:"settings-row__control",children:c.jsx(Eb,{})})]})]}),c.jsxs(ss,{id:"appearance",setRef:g,children:[c.jsxs("article",{className:"settings-row",children:[c.jsxs("div",{className:"settings-row__copy",children:[c.jsx("h4",{children:e("settings.appearance.themeTitle")}),c.jsx("p",{children:e("settings.appearance.themeBody")})]}),c.jsx("div",{className:"settings-row__control",children:c.jsx(O4,{})})]}),c.jsxs("article",{className:"settings-row",children:[c.jsxs("div",{className:"settings-row__copy",children:[c.jsx("h4",{children:e("settings.appearance.historyStripLayoutTitle")}),c.jsx("p",{children:e("settings.appearance.historyStripLayoutBody")})]}),c.jsx("div",{className:"settings-row__control",children:c.jsx(I4,{})})]})]}),c.jsx(ss,{id:"language",setRef:g,children:c.jsxs("article",{className:"settings-row",children:[c.jsxs("div",{className:"settings-row__copy",children:[c.jsx("h4",{children:e("settings.language.title")}),c.jsx("p",{children:e("settings.language.body")})]}),c.jsx("div",{className:"settings-row__control",children:c.jsx(D4,{})})]})}),c.jsx(ss,{id:"future",setRef:g,children:c.jsxs("article",{className:"settings-note",children:[c.jsx("h4",{children:e("settings.future.title")}),c.jsx("p",{children:e("settings.future.body")})]})})]})]})]})})}function B4(){const e=U(s=>s.toast),[a,o]=M.useState(!1);if(M.useEffect(()=>{if(!e)return;o(!0);const s=setTimeout(()=>o(!1),3e3);return()=>clearTimeout(s)},[e]),!e)return null;const r=["toast",a?"visible":"",e.error?"error":""].filter(Boolean).join(" ");return c.jsx("div",{className:r,children:e.message})}function H4(){const{t:e}=Se(),a=U(v=>v.errorCard),o=U(v=>v.dismissErrorCard);if(!a)return null;const r=ms[a.code]??ms.UNKNOWN,s=`${r.cardKey??"errorCard.unknown"}.title`,u=`${r.cardKey??"errorCard.unknown"}.body`,d=r.cta?`${r.cardKey??"errorCard.unknown"}.cta`:null,m=e(s),g=e(u),p=d?e(d):null,y=()=>{if(r.cta==="reload"){window.location.reload();return}else o()};return c.jsx("div",{className:"error-card-backdrop",role:"alertdialog","aria-labelledby":"error-card-title",children:c.jsxs("div",{className:"error-card",children:[c.jsx("div",{className:"error-card__icon","aria-hidden":"true",children:c.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[c.jsx("circle",{cx:"12",cy:"12",r:"10"}),c.jsx("line",{x1:"12",y1:"8",x2:"12",y2:"12"}),c.jsx("line",{x1:"12",y1:"16",x2:"12.01",y2:"16"})]})}),c.jsxs("div",{className:"error-card__content",children:[c.jsx("h3",{id:"error-card-title",className:"error-card__title",children:m}),c.jsx("p",{className:"error-card__body",children:g}),a.fallbackMessage&&c.jsxs("details",{className:"error-card__details",children:[c.jsx("summary",{children:e("errorCard.details")}),c.jsx("pre",{children:a.fallbackMessage})]}),c.jsxs("div",{className:"error-card__actions",children:[c.jsx("button",{type:"button",className:"btn btn--ghost",onClick:o,children:e("errorCard.close")}),p&&c.jsx("button",{type:"button",className:"btn btn--primary",onClick:y,children:p})]})]})]})})}function U4(e){if(!e)return"earlier";const a=new Date(e);if(Number.isNaN(a.getTime()))return"earlier";const r=Math.floor((new Date().getTime()-a.getTime())/864e5);return r===0?"today":r===1?"yesterday":r<7?"thisWeek":a.toLocaleDateString("ko-KR",{year:"numeric",month:"short",day:"numeric"})}function z0(e){return e.filename||e.image}function P4({item:e,onOpen:a,onCopyPath:o,onDownloadManifest:r}){const{t:s}=Se(),d=e.cards?.find(m=>m.headline)?.headline||e.headline||s("gallery.cardNewsSet");return c.jsxs(c.Fragment,{children:[c.jsxs("button",{type:"button",className:"gallery__tile",onClick:()=>a(e),title:d,children:[e.image?c.jsx("img",{src:e.image,alt:d,loading:"lazy"}):null,c.jsxs("div",{className:"gallery__caption",children:[c.jsx("small",{children:s("gallery.cardNewsSet")}),c.jsx("span",{className:"gallery__caption-text",children:d})]}),c.jsx("div",{className:"gallery-card-news-strip",children:(e.cards||[]).slice(0,5).map((m,g)=>c.jsxs("span",{children:[m.url?c.jsx("img",{src:m.url,alt:m.headline??"",loading:"lazy"}):null,c.jsx("em",{children:m.cardOrder??g+1})]},`${m.url}-${g}`))})]}),c.jsxs("div",{className:"gallery-card-news-actions",children:[c.jsx("span",{children:s("gallery.cardNewsCount",{n:e.cards?.length??0})}),c.jsx("button",{type:"button",onClick:()=>a(e),children:s("gallery.openCardNewsSet")}),c.jsx("button",{type:"button",onClick:m=>o(e,m),children:s("gallery.copyCardNewsSetPath")}),c.jsx("button",{type:"button",onClick:m=>r(e,m),children:s("gallery.downloadCardNewsManifest")})]})]})}function q4({item:e,active:a,itemRef:o,onSelect:r,onDelete:s,onToggleFavorite:u,t:d}){return c.jsxs("div",{ref:o,className:`gallery__tile-wrap${a?" gallery__tile-wrap--active":""}${e.isFavorite?" gallery__tile-wrap--favorite":""}`,children:[c.jsxs("button",{type:"button",className:`gallery__tile${a?" gallery__tile--active":""}`,onClick:()=>r(e),title:e.prompt??"",children:[c.jsx("img",{src:e.thumb||e.image,alt:e.prompt??d("gallery.imageAltFallback"),loading:"lazy",decoding:"async"}),e.prompt&&c.jsx("div",{className:"gallery__caption",children:c.jsx("span",{className:"gallery__caption-text",children:e.prompt})})]}),e.filename&&u&&c.jsx("button",{type:"button",className:`gallery__favorite${e.isFavorite?" gallery__favorite--on":""}`,onClick:m=>{m.stopPropagation(),u(e)},title:e.isFavorite?d("gallery.unfavoriteTitle"):d("gallery.favoriteTitle"),"aria-label":e.isFavorite?d("gallery.unfavoriteAria"):d("gallery.favoriteAria"),children:e.isFavorite?"★":"☆"}),e.filename&&c.jsx("button",{type:"button",className:"gallery__delete",onClick:m=>s(e,m),title:d("gallery.deleteTitle"),"aria-label":d("gallery.deleteAria"),children:"×"})]})}const I0="ima2.storageNoticeDismissed.0.09.23";function qf(e){return!e.canvasVersion}function G4(){const{t:e}=Se(),a=U(V=>V.galleryOpen),o=U(V=>V.closeGallery),r=U(V=>V.history),s=U(V=>V.selectHistory),u=U(V=>V.currentImage),d=U(V=>V.trashHistoryItem),m=U(V=>V.showToast),g=U(V=>V.toggleGalleryFavorite),[p,y]=M.useState(""),[v,b]=M.useState("date"),[S,_]=M.useState(!1),[E,T]=M.useState([]),[C,k]=M.useState([]),[N,w]=M.useState(null),[P,I]=M.useState(()=>{try{return localStorage.getItem(I0)==="1"}catch{return!1}}),O=M.useRef(null),q=M.useRef({}),X=M.useRef(0),ue=M.useMemo(()=>r.filter(qf),[r]);M.useEffect(()=>{if(!a)return;const V=te=>{te.key==="Escape"&&o()};return window.addEventListener("keydown",V),()=>window.removeEventListener("keydown",V)},[a,o]),M.useEffect(()=>{a||y("")},[a]),M.useEffect(()=>{if(!a)return;let V=!1;return(async()=>{try{const te=await l_();V||w(te)}catch{V||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}})}})(),()=>{V=!0}},[a]),M.useEffect(()=>{if(!a||v!=="session")return;let V=!1;return(async()=>{try{const te=await i_({limit:500});if(V)return;const he=pe=>{const ye=pe.kind,ve=ye==="classic"||ye==="edit"||ye==="generate"||ye==="card-news-card"||ye==="card-news-set"?ye:null;return{image:pe.url,url:pe.url,filename:pe.filename,prompt:pe.prompt??void 0,size:pe.size??void 0,quality:pe.quality??void 0,model:pe.model??void 0,provider:pe.provider,createdAt:pe.createdAt,sessionId:pe.sessionId??null,nodeId:pe.nodeId??null,clientNodeId:pe.clientNodeId??null,kind:ve,setId:pe.setId??null,cardId:pe.cardId??null,cardOrder:pe.cardOrder??null,headline:pe.headline??null,body:pe.body??null,cards:pe.cards,isFavorite:pe.isFavorite??!1}};T(te.sessions.map(pe=>({sessionId:pe.sessionId,title:pe.title??null,label:pe.label??null,displayLabel:pe.title||pe.label||pe.sessionId.slice(0,8),items:pe.items.filter(qf).map(he)})).filter(pe=>pe.items.length>0)),k(te.loose.filter(qf).map(he))}catch{}})(),()=>{V=!0}},[a,v]);const Z=M.useMemo(()=>{const V=p.trim().toLowerCase().normalize("NFC");return ue.filter(te=>S&&!te.isFavorite?!1:V?(te.prompt??"").toLowerCase().normalize("NFC").includes(V)||(te.filename??"").toLowerCase().normalize("NFC").includes(V):!0)},[ue,p,S]),ae=M.useMemo(()=>S?E.map(V=>({...V,items:V.items.filter(te=>te.isFavorite)})).filter(V=>V.items.length>0):E,[E,S]),ce=M.useMemo(()=>S?C.filter(V=>V.isFavorite):C,[C,S]),z=M.useMemo(()=>{const V=new Map;for(const te of Z){const he=U4(te.createdAt);V.has(he)||V.set(he,[]),V.get(he).push(te)}return Array.from(V.entries())},[Z]),D=v==="session"?ae.reduce((V,te)=>V+te.items.length,0)+ce.length:Z.length;M.useLayoutEffect(()=>{if(!a)return;const V=u?z0(u):null,te=V?q.current[V]:null;if(te){te.scrollIntoView({block:"center"});return}O.current&&(O.current.scrollTop=X.current)},[a,u?.filename,u?.image,v,D,z.length,ae.length,ce.length]);async function R(V,te){te.stopPropagation(),await d(V)}async function L(){try{await c_(),m(e("toast.openGeneratedDirOpened"))}catch{m(e("toast.openGeneratedDirFailed"),!0)}}async function $(V){if(V.setId)try{await Me.getState().loadSet(V.setId),U.getState().setUIMode("card-news"),o()}catch{m(e("gallery.openCardNewsSetFailed"),!0)}}async function Q(V,te){if(te.stopPropagation(),!V.setId)return;const he=`generated/cardnews/${V.setId}`;try{await navigator.clipboard?.writeText(he),m(e("gallery.cardNewsPathCopied"))}catch{m(e("toast.copyFailed"),!0)}}function re(V,te){te.stopPropagation(),V.setId&&window.open(EC(V.setId),"_blank","noopener,noreferrer")}function A(){I(!0);try{localStorage.setItem(I0,"1")}catch{}}if(!a)return null;const B=V=>V==="earlier"||V==="today"||V==="yesterday"||V==="thisWeek"?e(`gallery.${V}`):V,G=(V,te,he)=>{const pe=u?.image===V.image,ye=ve=>{q.current[z0(V)]=ve};return V.kind==="card-news-set"?c.jsx("div",{ref:ye,className:"gallery__tile-wrap gallery-card-news-set",children:c.jsx(P4,{item:V,onOpen:ve=>{$(ve)},onCopyPath:Q,onDownloadManifest:re})},`${te}-${he}-${V.filename??he}`):c.jsx(q4,{item:V,active:pe,itemRef:ye,onSelect:ve=>{s(ve),o()},onDelete:R,onToggleFavorite:ve=>{g(ve.filename)},t:e},`${te}-${he}-${V.filename??he}`)},J=v==="session",K=N!=null&&N.state!=="ok"&&!P,se=N?.state==="recoverable"?"gallery.storageNoticeRecoverable":N?.state==="not_found"?"gallery.storageNoticeNotFound":"gallery.storageNoticeUnknown";return c.jsx("div",{className:"gallery-backdrop",onClick:o,role:"presentation",children:c.jsxs("div",{className:"gallery",role:"dialog","aria-modal":"true","aria-label":e("gallery.ariaLabel"),onClick:V=>V.stopPropagation(),children:[c.jsxs("div",{className:"gallery__header",children:[c.jsxs("div",{className:"gallery__title-row",children:[c.jsx("div",{className:"gallery__title",children:e("gallery.title")}),c.jsxs("div",{className:"gallery__meta",children:[e("gallery.total",{n:D}),p||S?e("gallery.totalFiltered",{n:ue.length}):""]}),c.jsxs("div",{className:"gallery__favorite-filter",role:"tablist","aria-label":e("gallery.favoriteFilterAria"),children:[c.jsx("button",{type:"button",role:"tab","aria-selected":!S,className:S?"":"active",onClick:()=>_(!1),children:e("gallery.filterAll")}),c.jsx("button",{type:"button",role:"tab","aria-selected":S,className:S?"active":"",onClick:()=>_(!0),children:e("gallery.filterFavorites")})]}),c.jsxs("div",{className:"gallery__group-toggle",role:"tablist","aria-label":e("gallery.sortByAria"),children:[c.jsx("button",{type:"button",role:"tab","aria-selected":v==="date",className:v==="date"?"active":"",onClick:()=>b("date"),children:e("gallery.sortByDate")}),c.jsx("button",{type:"button",role:"tab","aria-selected":v==="session",className:v==="session"?"active":"",onClick:()=>b("session"),children:e("gallery.sortBySession")})]})]}),c.jsx("input",{type:"text",className:"gallery__search",placeholder:e(J?"gallery.searchDisabledPlaceholder":"gallery.searchPlaceholder"),value:p,onChange:V=>y(V.target.value),autoFocus:!0,disabled:J}),c.jsx("button",{type:"button",className:"gallery__close",onClick:o,"aria-label":e("gallery.closeAria"),title:e("gallery.closeTitle"),children:"×"})]}),c.jsxs("div",{className:`gallery__storage-bar${K?" gallery__storage-bar--notice":""}`,children:[K?c.jsxs("div",{className:"gallery__storage-copy",children:[c.jsx("div",{className:"gallery__storage-title",children:e("gallery.storageNoticeTitle")}),c.jsx("div",{className:"gallery__storage-text",children:e(se)})]}):c.jsx("div",{className:"gallery__storage-copy gallery__storage-copy--quiet",children:N?.generatedDirLabel??"~/.ima2/generated"}),c.jsxs("div",{className:"gallery__storage-actions",children:[c.jsx("button",{type:"button",className:"gallery__storage-button",onClick:L,title:e("gallery.openGeneratedDirTitle"),children:e("gallery.openGeneratedDir")}),K&&c.jsx("button",{type:"button",className:"gallery__storage-button gallery__storage-button--ghost",onClick:A,children:e("common.close")})]})]}),c.jsx("div",{className:"gallery__scroll",ref:O,onScroll:()=>{X.current=O.current?.scrollTop??0},children:J?c.jsxs(c.Fragment,{children:[ae.map(V=>c.jsxs("section",{className:"gallery__group",children:[c.jsxs("header",{className:"gallery__group-header",children:[c.jsx("span",{className:"gallery__group-label",title:V.sessionId,children:V.title?V.displayLabel:e("gallery.sessionLabel",{name:V.displayLabel})}),c.jsx("span",{className:"gallery__group-count",children:V.items.length})]}),c.jsx("div",{className:"gallery__grid",children:V.items.map((te,he)=>G(te,V.sessionId,he))})]},V.sessionId)),ce.length>0&&c.jsxs("section",{className:"gallery__group",children:[c.jsxs("header",{className:"gallery__group-header",children:[c.jsx("span",{className:"gallery__group-label",children:e("gallery.standalone")}),c.jsx("span",{className:"gallery__group-count",children:ce.length})]}),c.jsx("div",{className:"gallery__grid",children:ce.map((V,te)=>G(V,"loose",te))})]}),ae.length===0&&ce.length===0&&c.jsx("div",{className:"gallery__empty",children:e(S?"gallery.emptyFavorites":"gallery.emptySessions")})]}):Z.length===0?c.jsx("div",{className:"gallery__empty",children:ue.length===0?e("gallery.emptyAll"):e(S?"gallery.emptyFavorites":"gallery.noResults")}):z.map(([V,te])=>c.jsxs("section",{className:"gallery__group",children:[c.jsxs("header",{className:"gallery__group-header",children:[c.jsx("span",{className:"gallery__group-label",children:B(V)}),c.jsx("span",{className:"gallery__group-count",children:te.length})]}),c.jsx("div",{className:"gallery__grid",children:te.map((he,pe)=>G(he,V,pe))})]},V))})]})})}function F4(e){return e.includes("ratio")?"sizeConfirm.reasonRatio":e.includes("maxPixels")||e.includes("pixels")?"sizeConfirm.reasonPixels":e.includes("minPixels")?"sizeConfirm.reasonMinPixels":e.includes("min")?"sizeConfirm.reasonMin":e.includes("maxEdge")||e.includes("max")?"sizeConfirm.reasonMax":"sizeConfirm.reasonSnap"}function $4(){const e=U(m=>m.customSizeConfirm),a=U(m=>m.confirmCustomSizeAdjustment),o=U(m=>m.cancelCustomSizeAdjustment),r=M.useRef(null),{t:s}=Se();if(M.useEffect(()=>{if(!e)return;r.current?.focus();const m=g=>{g.key==="Escape"&&o()};return window.addEventListener("keydown",m),()=>window.removeEventListener("keydown",m)},[o,e]),!e)return null;const u=`${e.requestedW}x${e.requestedH}`,d=`${e.adjustedW}x${e.adjustedH}`;return c.jsx("div",{className:"modal-backdrop custom-size-confirm-backdrop",role:"presentation",children:c.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:[c.jsx("div",{id:"custom-size-confirm-title",className:"modal__title",children:s("sizeConfirm.title")}),c.jsxs("div",{id:"custom-size-confirm-body",className:"modal__body",children:[c.jsx("p",{children:s("sizeConfirm.body")}),c.jsxs("dl",{className:"size-confirm__pairs",children:[c.jsxs("div",{className:"size-confirm__pair",children:[c.jsx("dt",{children:s("sizeConfirm.requested")}),c.jsx("dd",{children:u})]}),c.jsxs("div",{className:"size-confirm__pair",children:[c.jsx("dt",{children:s("sizeConfirm.adjusted")}),c.jsx("dd",{children:d})]})]}),c.jsx("p",{className:"size-confirm__reason",children:s(F4(e.reasons))})]}),c.jsxs("div",{className:"modal__actions",children:[c.jsx("button",{ref:r,type:"button",className:"modal__btn modal__btn--secondary",onClick:o,children:s("sizeConfirm.cancel")}),c.jsx("button",{type:"button",className:"modal__btn",onClick:()=>{a()},children:s("sizeConfirm.approve")})]})]})})}function hc(e){return e==null||e===""?"-":String(e)}function V4(){const{t:e}=Se(),a=U(m=>m.metadataRestore),o=U(m=>m.applyMetadataRestore),r=U(m=>m.addMetadataRestoreAsReference),s=U(m=>m.cancelMetadataRestore);if(!a)return null;const u=a.metadata,d=u.userPrompt||u.prompt||u.revisedPrompt||"";return c.jsx("div",{className:"modal-backdrop metadata-restore-backdrop",role:"presentation",children:c.jsxs("div",{className:"modal metadata-restore",role:"dialog","aria-modal":"true","aria-labelledby":"metadata-restore-title",children:[c.jsx("div",{id:"metadata-restore-title",className:"modal__title",children:e("metadata.restoreTitle")}),c.jsxs("div",{className:"modal__body metadata-restore__body",children:[c.jsx("p",{children:e("metadata.restoreBody")}),c.jsxs("div",{className:"metadata-restore__preview",children:[c.jsx("img",{src:a.image,alt:e("metadata.imageAlt")}),c.jsxs("div",{className:"metadata-restore__details",children:[c.jsxs("div",{children:[c.jsx("span",{children:e("metadata.prompt")}),c.jsx("strong",{title:d,children:hc(d)})]}),c.jsxs("div",{children:[c.jsx("span",{children:e("metadata.size")}),c.jsx("strong",{children:hc(u.size)})]}),c.jsxs("div",{children:[c.jsx("span",{children:e("metadata.quality")}),c.jsx("strong",{children:hc(u.quality)})]}),c.jsxs("div",{children:[c.jsx("span",{children:e("metadata.model")}),c.jsx("strong",{children:hc(u.model)})]}),c.jsxs("div",{children:[c.jsx("span",{children:e("metadata.source")}),c.jsx("strong",{children:a.source==="png-comment"?e("metadata.sourcePngComment"):e("metadata.sourceXmp")})]})]})]})]}),c.jsxs("div",{className:"modal__actions",children:[c.jsx("button",{type:"button",className:"modal__btn modal__btn--secondary",onClick:s,children:e("common.cancel")}),c.jsx("button",{type:"button",className:"modal__btn modal__btn--secondary",onClick:r,children:e("metadata.useAsReferenceOnly")}),c.jsx("button",{type:"button",className:"modal__btn",onClick:o,children:e("metadata.applySettings")})]})]})})}function Y4(){const e=U(d=>d.trashPending),a=U(d=>d.restorePendingTrash),o=U(d=>d.clearPendingTrash),{t:r}=Se(),[s,u]=M.useState(Date.now());return M.useEffect(()=>{if(!e)return;u(Date.now());const d=window.setInterval(()=>{const m=Date.now();u(m),m>=e.expiresAt&&o()},500);return()=>window.clearInterval(d)},[o,e]),e?c.jsxs("div",{className:"trash-undo-toast",children:[c.jsx("span",{children:r("gallery.deleted",{filename:e.filename})}),c.jsx("button",{type:"button",onClick:()=>{a()},children:r("gallery.undo")}),c.jsx("span",{className:"trash-undo-toast__timer",children:r("gallery.secondsSuffix",{n:Math.max(0,Math.ceil((e.expiresAt-s)/1e3))})})]}):null}function X4(e){const a=e.slots.filter(r=>r.kind==="text"||r.textKind).length,o=e.slots.filter(r=>r.kind==="image").length;return`${a} text / ${o} image`}function K4(){const{t:e}=Se(),a=Me(s=>s.templates),o=Me(s=>s.imageTemplateId),r=Me(s=>s.setImageTemplate);return c.jsxs("section",{className:"card-news-panel",children:[c.jsxs("div",{className:"card-news-panel__head",children:[c.jsx("span",{children:e("cardNews.imageTemplate")}),c.jsx("button",{type:"button",disabled:!0,title:e("cardNews.newTemplateLater"),children:"+"})]}),c.jsx("div",{className:"card-news-template-grid",children:a.map(s=>c.jsxs("button",{type:"button",className:`card-news-template${o===s.id?" selected":""}`,onClick:()=>r(s.id),children:[c.jsx("img",{src:s.previewUrl,alt:""}),c.jsxs("span",{className:"card-news-template__body",children:[c.jsx("span",{className:"card-news-template__name",children:s.name}),c.jsx("span",{className:"card-news-template__meta",children:X4(s)}),c.jsx("span",{className:"card-news-template__sizes",children:s.recommendedOutputSizes.join(" · ")})]})]},s.id))})]})}function Z4(){const{t:e}=Se(),a=Me(s=>s.roleTemplates),o=Me(s=>s.roleTemplateId),r=Me(s=>s.setRoleTemplate);return c.jsxs("section",{className:"card-news-panel",children:[c.jsx("div",{className:"card-news-panel__head",children:c.jsx("span",{children:e("cardNews.roleTemplate")})}),c.jsx("div",{className:"card-news-role-row",children:a.map(s=>c.jsx("button",{type:"button",className:o===s.id?"selected":"",onClick:()=>r(s.id),children:s.name},s.id))})]})}function Q4({status:e,locked:a}){const{t:o}=Se(),r=a?"locked":e,s=r==="queued"||r==="generating";return c.jsxs("span",{className:`card-news-status-badge card-news-status-badge--${r}`,children:[s?c.jsx("span",{className:"card-news-spinner","aria-hidden":"true"}):null,o(`cardNews.status.${r}`)]})}function J4(e,a){const o=`cardNews.roles.${e}`,r=a(o);return r===o?e:r}function W4(){const{t:e}=Se(),a=Me(s=>s.activePlan),o=Me(s=>s.selectedCardId),r=Me(s=>s.selectCard);return a?c.jsx("div",{className:"card-news-deck","aria-label":"Card deck",onWheel:AS,children:a.cards.map(s=>c.jsxs("button",{type:"button",className:`card-news-deck-card${o===s.id?" selected":""}`,onClick:()=>r(s.id),children:[c.jsx("span",{children:String(s.order).padStart(2,"0")}),s.url?c.jsx("img",{src:s.url,alt:"",className:"card-news-deck-card__thumb"}):null,c.jsx("strong",{children:J4(s.role,e)}),c.jsx("small",{children:s.headline||s.textFields.find(u=>u.renderMode==="in-image")?.text}),c.jsx(Q4,{status:s.status,locked:s.locked})]},s.id))}):null}const e3=[];function t3(){const{t:e}=Se(),a=Me(s=>s.activePlan?.cards??e3),o=Me(s=>s.generating),r={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 r.total?c.jsxs("div",{className:"card-news-batch-bar","aria-live":"polite",children:[c.jsx("span",{children:o?e("cardNews.progress.generating",{done:r.done,total:r.total}):e("cardNews.progress.summary",{done:r.done,total:r.total})}),c.jsx("span",{children:e("cardNews.progress.detail",{queued:r.queued,errors:r.errors,skipped:r.skipped})})]}):null}function n3({meta:e}){const{t:a}=Se();if(!e)return null;const o=e.mode==="structured-output"?a("cardNews.planner.structured"):e.mode==="json-mode"?a("cardNews.planner.jsonMode"):a("cardNews.planner.fallback");return c.jsxs("span",{className:"card-news-planner-badge",children:[o," · ",e.model,e.repaired?` · ${a("cardNews.planner.repaired")}`:""]})}function a3(e){const a=e.textFields.filter(o=>o.renderMode==="in-image"&&o.text).map(o=>`[${o.placement}] ${o.text}`);return[e.headline,...a].filter(Boolean).join(`
30
+ `)}function o3(e,a){const o=e.slotId?a?.slots.find(r=>r.id===e.slotId):null;return o?{left:`${o.x/20.48}%`,top:`${o.y/20.48}%`,width:`${o.w/20.48}%`,minHeight:`${o.h/20.48}%`}:r3(e)}const L0={"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 r3(e){return L0[e.placement]||L0.center}function i3(){const{t:e}=Se(),a=Me(v=>v.activePlan),o=Me(v=>v.selectedCardId),r=Me(v=>v.selectedTextFieldId),s=Me(v=>v.templates),u=Me(v=>v.plannerMeta),d=Me(v=>v.retryCard),m=Me(v=>v.selectTextField),g=a?.cards.find(v=>v.id===o)||a?.cards[0],p=a?s.find(v=>v.id===a.imageTemplateId):void 0,y=g?.textFields.filter(v=>v.renderMode==="in-image")||[];return!a||!g?c.jsxs("section",{className:"card-news-empty",children:[c.jsxs("div",{className:"card-news-empty__deck","aria-hidden":"true",children:[c.jsx("div",{className:"card-news-empty__card card-news-empty__card--back"}),c.jsx("div",{className:"card-news-empty__card card-news-empty__card--mid"}),c.jsxs("div",{className:"card-news-empty__card",children:[c.jsx("span",{}),c.jsx("strong",{}),c.jsx("em",{})]})]}),c.jsxs("div",{className:"card-news-empty__copy",children:[c.jsx("span",{children:e("uiMode.cardNews")}),c.jsx("h2",{children:e("cardNews.emptyTitle")}),c.jsx("p",{children:e("cardNews.emptyBody")})]})]}):c.jsxs("section",{className:"card-news-stage",children:[c.jsxs("div",{className:"card-news-stage__header",children:[c.jsxs("div",{children:[c.jsx("h2",{children:a.title}),c.jsx("p",{children:a.generationStrategy}),c.jsx(n3,{meta:u})]}),c.jsxs("span",{children:[g.order," / ",a.cards.length]})]}),c.jsx(t3,{}),c.jsxs("div",{className:"card-news-preview",children:[g.status==="queued"||g.status==="generating"?c.jsx("div",{className:"card-news-preview__loading",children:e("cardNews.progress.cardGenerating")}):g.status==="error"?c.jsxs("div",{className:"card-news-preview__error",children:[c.jsx("span",{children:g.error||e("cardNews.error")}),g.locked?null:c.jsx("button",{type:"button",onClick:()=>{d(g.id)},children:e("cardNews.retryCard")})]}):g.url?c.jsx("img",{src:g.url,alt:g.headline}):c.jsx("div",{className:"card-news-preview__slot"}),y.length?c.jsx("div",{className:"card-news-stage-overlay",children:y.map(v=>c.jsx("button",{type:"button",className:`card-news-stage-overlay__field card-news-stage-overlay__field--${v.placement}${r===v.id?" selected":""}`,style:o3(v,p),onClick:()=>m(v.id),"aria-label":e("cardNews.selectTextField",{text:v.text||v.kind}),children:c.jsx("span",{children:v.text||v.kind})},v.id))}):null]}),g.url?c.jsxs("div",{className:"card-news-result-actions",children:[c.jsx("button",{type:"button",onClick:()=>navigator.clipboard?.writeText(g.visualPrompt),children:e("cardNews.actions.copyPrompt")}),c.jsx("button",{type:"button",onClick:()=>navigator.clipboard?.writeText(a3(g)),children:e("cardNews.actions.copyCopy")}),c.jsx("a",{href:g.url,target:"_blank",rel:"noreferrer",children:e("cardNews.actions.openImage")}),c.jsx("a",{href:g.url,download:!0,children:e("cardNews.actions.downloadCard")})]}):null]})}function RS(e,a){const o=`cardNews.placements.${e}`,r=a(o);return r===o?e:r}function s3({placement:e}){const{t:a}=Se();return c.jsx("span",{className:"card-news-placement-chip",children:RS(e,a)})}const l3=["headline","body","caption","cta","badge","number"],c3=["top-left","top-center","top-right","center-left","center","center-right","bottom-left","bottom-center","bottom-right","free"],u3=["in-image","ui-only"],d3=["primary","secondary","supporting"];function pc(e,a,o){const r=`cardNews.${e}.${a}`,s=o(r);return s===r?a:s}function f3({field:e,locked:a,selected:o=!1,onSelect:r,onChange:s,onRemove:u}){const{t:d}=Se(),m=e.text.length,g=typeof e.maxChars=="number"&&m>e.maxChars,p=e.maxChars===null||e.maxChars>80;return c.jsxs("div",{className:`card-news-text-field-card${o?" selected":""}`,onClick:r,children:[c.jsxs("div",{className:"card-news-text-field-card__header",children:[c.jsx("span",{children:pc("textKinds",e.kind,d)}),c.jsx(s3,{placement:e.placement})]}),c.jsxs("label",{className:"card-news-field",children:[c.jsx("span",{children:d("cardNews.textFieldText")}),p?c.jsx("textarea",{value:e.text,disabled:a,onChange:y=>s({text:y.target.value,source:"user"})}):c.jsx("input",{value:e.text,disabled:a,onChange:y=>s({text:y.target.value,source:"user"})})]}),c.jsxs("div",{className:"card-news-text-field-card__grid",children:[c.jsxs("label",{className:"card-news-field",children:[c.jsx("span",{children:d("cardNews.textKind")}),c.jsx("select",{value:e.kind,disabled:a,onChange:y=>s({kind:y.target.value,source:"user"}),children:l3.map(y=>c.jsx("option",{value:y,children:pc("textKinds",y,d)},y))})]}),c.jsxs("label",{className:"card-news-field",children:[c.jsx("span",{children:d("cardNews.placement")}),c.jsx("select",{value:e.placement,disabled:a,onChange:y=>s({placement:y.target.value,source:"user"}),children:c3.map(y=>c.jsx("option",{value:y,children:RS(y,d)},y))})]}),c.jsxs("label",{className:"card-news-field",children:[c.jsx("span",{children:d("cardNews.renderMode")}),c.jsx("select",{value:e.renderMode,disabled:a,onChange:y=>s({renderMode:y.target.value,source:"user"}),children:u3.map(y=>c.jsx("option",{value:y,children:pc("renderModes",y,d)},y))})]}),c.jsxs("label",{className:"card-news-field",children:[c.jsx("span",{children:d("cardNews.hierarchyLabel")}),c.jsx("select",{value:e.hierarchy,disabled:a,onChange:y=>s({hierarchy:y.target.value,source:"user"}),children:d3.map(y=>c.jsx("option",{value:y,children:pc("hierarchy",y,d)},y))})]})]}),c.jsxs("div",{className:`card-news-text-field-card__meta${g?" over":""}`,children:[c.jsx("span",{children:e.maxChars===null?m:`${m}/${e.maxChars}`}),g?c.jsx("span",{children:d("cardNews.textTooLong")}):null,u?c.jsx("button",{type:"button",disabled:a,onClick:u,children:d("cardNews.removeTextField")}):null]})]})}function m3(){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 h3(){const{t:e}=Se(),a=Me(v=>v.activePlan),o=Me(v=>v.selectedCardId),r=Me(v=>v.selectedTextFieldId),s=Me(v=>v.updateCard),u=Me(v=>v.updateTextField),d=Me(v=>v.addTextField),m=Me(v=>v.removeTextField),g=Me(v=>v.selectTextField),p=Me(v=>v.retryCard),y=a?.cards.find(v=>v.id===o)||a?.cards[0];return y?c.jsxs("aside",{className:"card-news-inspector",children:[c.jsx("div",{className:"section-title",children:e("cardNews.inspector")}),c.jsxs("div",{className:"card-news-inspector-group",children:[c.jsx("span",{className:"card-news-inspector-label",children:e("cardNews.cardTitle")}),c.jsxs("label",{className:"card-news-field",children:[c.jsx("span",{children:e("cardNews.headline")}),c.jsx("input",{value:y.headline,disabled:y.locked,onChange:v=>s(y.id,{headline:v.target.value})})]})]}),c.jsxs("div",{className:"card-news-inspector-group",children:[c.jsxs("div",{className:"card-news-inspector-row",children:[c.jsx("span",{className:"card-news-inspector-label",children:e("cardNews.textFields")}),c.jsx("button",{type:"button",className:"secondary-btn",disabled:y.locked,onClick:()=>d(y.id,m3()),children:e("cardNews.addTextField")})]}),y.textFields.length?y.textFields.map(v=>c.jsx(f3,{field:v,locked:y.locked,selected:r===v.id,onSelect:()=>g(v.id),onChange:b=>u(y.id,v.id,b),onRemove:()=>m(y.id,v.id)},v.id)):c.jsx("p",{className:"card-news-muted",children:e("cardNews.noTextFields")})]}),c.jsxs("details",{className:"card-news-inspector-group card-news-advanced-prompt",children:[c.jsx("summary",{children:e("cardNews.designPrompt")}),c.jsxs("label",{className:"card-news-field",children:[c.jsx("span",{children:e("cardNews.visualPrompt")}),c.jsx("textarea",{value:y.visualPrompt,disabled:y.locked,onChange:v=>s(y.id,{visualPrompt:v.target.value})})]})]}),y.imageFilename?c.jsxs("div",{className:"card-news-generated-meta",children:[c.jsx("span",{children:e("cardNews.generatedMeta")}),c.jsx("code",{children:y.imageFilename}),c.jsx("span",{children:y.status})]}):null,y.locked?c.jsx("p",{className:"card-news-locked-help",children:e("cardNews.lockedHelp")}):null,c.jsx("button",{type:"button",className:`secondary-btn${y.locked?" active":""}`,onClick:()=>s(y.id,{locked:!y.locked}),children:y.locked?e("cardNews.locked"):e("cardNews.unlocked")}),c.jsx("button",{type:"button",className:"secondary-btn",disabled:y.locked||!["draft","error"].includes(y.status),onClick:()=>{p(y.id)},children:e("cardNews.retryCard")})]}):c.jsxs("aside",{className:"card-news-inspector card-news-inspector-empty",children:[c.jsx("div",{className:"section-title",children:e("cardNews.inspector")}),c.jsxs("div",{className:"card-news-inspector-empty__mock","aria-hidden":"true",children:[c.jsx("span",{}),c.jsx("strong",{}),c.jsx("i",{}),c.jsx("i",{})]}),c.jsx("p",{children:e("cardNews.noCard")})]})}const B0="ima2:cardNewsMobileNoticeShown";function p3(){const{t:e}=Se(),a=oi(),[o,r]=M.useState(()=>{if(typeof window>"u")return!0;try{return localStorage.getItem(B0)==="1"}catch{return!1}});if(!a||o)return null;const s=()=>{try{localStorage.setItem(B0,"1")}catch{}r(!0)};return c.jsxs("div",{className:"card-news-mobile-notice",role:"status",children:[c.jsx("span",{children:e("mobile.cardNewsBanner")}),c.jsx("button",{type:"button",onClick:s,children:e("mobile.dismiss")})]})}function g3(){const{t:e}=Se(),a=Me(r=>r.hydrate),o=Me(r=>r.error);return M.useEffect(()=>{a()},[a]),c.jsxs("main",{className:"card-news-workspace","aria-label":e("cardNews.workspace"),children:[c.jsx(p3,{}),c.jsxs("div",{className:"card-news-setup",children:[c.jsx(K4,{}),c.jsx(Z4,{})]}),c.jsxs("div",{className:"card-news-main",children:[o?c.jsx("div",{className:"card-news-error",role:"alert",children:o}):null,c.jsx(i3,{}),c.jsx(W4,{})]}),c.jsx(h3,{})]})}function y3(){return c.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[c.jsx("line",{x1:"4",y1:"6",x2:"14",y2:"6"}),c.jsx("circle",{cx:"17",cy:"6",r:"2.2"}),c.jsx("line",{x1:"4",y1:"12",x2:"8",y2:"12"}),c.jsx("circle",{cx:"11",cy:"12",r:"2.2"}),c.jsx("line",{x1:"14",y1:"12",x2:"20",y2:"12"}),c.jsx("line",{x1:"4",y1:"18",x2:"14",y2:"18"}),c.jsx("circle",{cx:"17",cy:"18",r:"2.2"})]})}function v3(){const e=U(m=>m.rightPanelOpen),a=U(m=>m.toggleRightPanel),o=U(m=>m.settingsOpen),r=U(m=>m.uiMode),{t:s}=Se();if(!oi()||o||r==="card-news")return null;const d=s(e?"panel.closeSettings":"panel.openSettings");return c.jsx("button",{type:"button",className:"mobile-settings-toggle","aria-expanded":e,"aria-controls":"right-panel-body","aria-label":d,title:d,onClick:a,children:c.jsx(y3,{})})}function b3(){const{t:e}=Se(),a=U(b=>b.openComposeSheet),o=U(b=>b.toggleSettings),r=U(b=>b.togglePromptLibrary),s=U(b=>b.promptLibraryOpen),u=U(b=>b.rightPanelOpen),d=U(b=>b.toggleRightPanel),m=U(b=>b.settingsOpen),p=U(b=>b.uiMode)==="node"&&js?"node":"classic";if(!oi()||m||p!=="classic")return null;const v=()=>{!s&&!u&&d(),r()};return c.jsxs("header",{className:"mobile-app-bar",role:"banner",children:[c.jsxs("div",{className:"mobile-app-bar__brand",children:[c.jsx("div",{className:"logo-mark","aria-hidden":"true"}),c.jsx("span",{className:"mobile-app-bar__title",children:"ima2-gen"})]}),c.jsxs("div",{className:"mobile-app-bar__actions",children:[c.jsx(vm,{variant:"sidebar"}),c.jsx("button",{type:"button",className:"mobile-app-bar__icon-button",onClick:v,"aria-label":e("promptLibrary.title"),title:e("promptLibrary.title"),children:c.jsx("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:c.jsx("path",{d:"M19 21l-7-5-7 5V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z"})})}),c.jsx("button",{type:"button",className:"mobile-app-bar__icon-button",onClick:()=>o(),"aria-label":e("appBar.settings"),title:e("appBar.settings"),children:c.jsxs("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[c.jsx("circle",{cx:"12",cy:"12",r:"3"}),c.jsx("path",{d:"M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09a1.65 1.65 0 0 0-1-1.51 1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09a1.65 1.65 0 0 0 1.51-1 1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 2.83-2.83l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z"})]})}),c.jsx("button",{type:"button",className:"mobile-app-bar__compose",onClick:a,"aria-label":e("appBar.compose"),children:e("appBar.compose")})]})]})}function x3(){const{t:e}=Se(),a=U(m=>m.composeSheetOpen),o=U(m=>m.closeComposeSheet),r=U(m=>m.settingsOpen),u=U(m=>m.uiMode)==="node"&&js?"node":"classic",d=oi();return M.useEffect(()=>{if(!a)return;const m=g=>{g.key==="Escape"&&o()};return window.addEventListener("keydown",m),()=>window.removeEventListener("keydown",m)},[a,o]),!d||r||u!=="classic"?null:c.jsxs(c.Fragment,{children:[a?c.jsx("div",{className:"compose-sheet-backdrop",role:"button","aria-label":e("sheet.close"),onClick:o}):null,c.jsxs("section",{className:`compose-sheet${a?" compose-sheet--open":""}`,role:"dialog","aria-modal":a?"true":"false","aria-label":e("sheet.compose"),"aria-hidden":!a,children:[c.jsx("button",{type:"button",className:"compose-sheet__handle",onClick:o,"aria-label":e("sheet.close")}),c.jsx("div",{className:"compose-sheet__body",children:c.jsx(Mb,{})})]})]})}const S3={ArrowLeft:"previous",ArrowRight:"next",Home:"first",End:"last"};function w3(){const e=U(r=>r.uiMode),a=U(r=>r.currentImage),o=U(r=>r.selectHistoryShortcutTarget);M.useEffect(()=>{if(e!=="classic")return;const r=s=>{const u=S3[s.key];u&&(s.defaultPrevented||_a(s.target)||a&&(s.preventDefault(),o(u)))};return window.addEventListener("keydown",r),()=>window.removeEventListener("keydown",r)},[a,o,e])}const gc=64,DS="Image Gen";let Um=DS,fm=!1,lo=null,Pm="",mm=!1;function kS(){return navigator}function OS(){if(typeof document>"u")return null;if(lo)return lo;const e=document.querySelector('link[rel~="icon"]');if(e)return lo=e,Pm=e.href||e.getAttribute("href")||"",e;const a=document.createElement("link");return a.rel="icon",document.head.appendChild(a),lo=a,mm=!0,a}function _3(e){const a=document.createElement("canvas");a.width=gc,a.height=gc;const o=a.getContext("2d");return o?(o.clearRect(0,0,gc,gc),o.fillStyle="#0a0a0a",N3(o,6,6,52,52,12),o.fill(),o.strokeStyle="#ffffff",o.lineWidth=5,o.beginPath(),o.arc(30,32,14,0,Math.PI*2),o.stroke(),o.fillStyle="#ffffff",o.beginPath(),o.arc(30,32,5,0,Math.PI*2),o.fill(),o.beginPath(),o.arc(48,16,e>1?13:10,0,Math.PI*2),o.fillStyle="#ff335f",o.fill(),o.lineWidth=4,o.strokeStyle="#ffffff",o.stroke(),e>1&&(o.fillStyle="#ffffff",o.font="bold 15px sans-serif",o.textAlign="center",o.textBaseline="middle",o.fillText(String(Math.min(e,9)),48,17)),a.toDataURL("image/png")):Pm}function N3(e,a,o,r,s,u){e.beginPath(),e.moveTo(a+u,o),e.arcTo(a+r,o,a+r,o+s,u),e.arcTo(a+r,o+s,a,o+s,u),e.arcTo(a,o+s,a,o,u),e.arcTo(a,o,a+r,o,u),e.closePath()}async function E3(e){const a=kS();if(typeof a.setAppBadge=="function")try{await a.setAppBadge(e)}catch{}}async function C3(){const e=kS();if(typeof e.clearAppBadge=="function")try{await e.clearAppBadge()}catch{}}function T3(e){document.title=`(${e}) ${Um}`;const a=OS();a&&(a.href=_3(e)),E3(e)}function H0(){document.title=Um,lo&&(mm?(lo.remove(),lo=null,mm=!1):lo.href=Pm),C3()}function U0(){fm||typeof document>"u"||(fm=!0,Um=document.title||DS,OS())}function M3(e){M.useEffect(()=>(U0(),()=>{fm&&H0()}),[]),M.useEffect(()=>{U0(),e>0?T3(e):H0()},[e])}function j3(){M.useEffect(()=>{if(typeof window>"u")return;const e=window.visualViewport;if(!e)return;const a=()=>{const o=Math.round(e.height),r=Math.round(e.offsetTop);document.documentElement.style.setProperty("--vv-h",`${o}px`),document.documentElement.style.setProperty("--vv-offset-top",`${r}px`)};return a(),e.addEventListener("resize",a),e.addEventListener("scroll",a),()=>{e.removeEventListener("resize",a),e.removeEventListener("scroll",a)}},[])}function A3(){w3(),j3();const e=U(C=>C.hydrateHistory),a=U(C=>C.loadSessions),o=U(C=>C.startInFlightPolling),r=U(C=>C.reconcileInflight),s=U(C=>C.syncFromStorage),u=U(C=>C.theme),d=U(C=>C.resolvedTheme),m=U(C=>C.themeFamily),g=U(C=>C.settingsOpen),p=U(C=>C.unseenGeneratedCount),y=U(C=>C.historyStripLayout),v=U(C=>C.syncThemeFromStorage),b=U(C=>C.syncThemeFamilyFromStorage),S=U(C=>C.refreshResolvedTheme),E=U(C=>C.uiMode)==="node"&&js?"node":"classic",T=oi();return M3(p),M.useEffect(()=>{e(),a(),r(),o()},[e,a,r,o]),M.useEffect(()=>{const C=k=>{k.key&&(k.key==="ima2.inFlight"||k.key==="ima2.selectedFilename"?s():k.key==="ima2:theme"?v():k.key==="ima2:themeFamily"&&b())};return window.addEventListener("storage",C),()=>window.removeEventListener("storage",C)},[s,v,b]),M.useEffect(()=>{const C=document.documentElement;C.dataset.theme=d,C.dataset.themeMode=d,C.dataset.themeFamily=m,C.style.colorScheme=d},[d,m]),M.useEffect(()=>{if(u!=="system")return;const C=window.matchMedia("(prefers-color-scheme: light)");return C.addEventListener("change",S),()=>C.removeEventListener("change",S)},[S,u]),M.useEffect(()=>{const C=()=>{fC(U.getState)};return window.addEventListener("beforeunload",C),()=>{window.removeEventListener("beforeunload",C)}},[]),c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:`app${g?" app--settings-open":""}${y==="horizontal"?" app--history-horizontal":""}${y==="sidebar"?" app--history-sidebar":""}`,"data-theme-mode":d,"data-theme-family":m,"data-history-strip-layout":y,"data-mobile":T?"1":void 0,"data-ui-mode":E,children:[c.jsx(DC,{}),c.jsx(b3,{}),c.jsx(E4,{}),g?c.jsx(L4,{}):E==="classic"?c.jsx(Nv,{}):E==="node"?c.jsx(i4,{}):E==="card-news"?c.jsx(g3,{}):c.jsx(Nv,{}),E==="card-news"?null:c.jsx(N4,{})]}),c.jsx($4,{}),c.jsx(Y4,{}),c.jsx(B4,{}),c.jsx(H4,{}),c.jsx(G4,{}),c.jsx(V4,{}),c.jsx(x3,{}),c.jsx(v3,{}),E==="card-news"?c.jsx(jS,{}):null]})}X1.createRoot(document.getElementById("root")).render(c.jsx(M.StrictMode,{children:c.jsx(A3,{})}));
31
+ //# sourceMappingURL=index-D0fdHLkJ.js.map