function Rd(T){return T&&T.__esModule&&Object.prototype.hasOwnProperty.call(T,"default")?T.default:T}var ss={exports:{}},Ti={};/**
 * @license React
 * react-jsx-runtime.production.js
 *
 * Copyright (c) Meta Platforms, Inc. and affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */var md;function sh(){if(md)return Ti;md=1;var T=Symbol.for("react.transitional.element"),q=Symbol.for("react.fragment");function j(h,W,$){var Ae=null;if($!==void 0&&(Ae=""+$),W.key!==void 0&&(Ae=""+W.key),"key"in W){$={};for(var Oe in W)Oe!=="key"&&($[Oe]=W[Oe])}else $=W;return W=$.ref,{$$typeof:T,type:h,key:Ae,ref:W!==void 0?W:null,props:$}}return Ti.Fragment=q,Ti.jsx=j,Ti.jsxs=j,Ti}var yd;function uh(){return yd||(yd=1,ss.exports=sh()),ss.exports}var Oh=uh(),us={exports:{}},U={};/**
 * @license React
 * react.production.js
 *
 * Copyright (c) Meta Platforms, Inc. and affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */var bd;function rh(){if(bd)return U;bd=1;var T=Symbol.for("react.transitional.element"),q=Symbol.for("react.portal"),j=Symbol.for("react.fragment"),h=Symbol.for("react.strict_mode"),W=Symbol.for("react.profiler"),$=Symbol.for("react.consumer"),Ae=Symbol.for("react.context"),Oe=Symbol.for("react.forward_ref"),C=Symbol.for("react.suspense"),z=Symbol.for("react.memo"),F=Symbol.for("react.lazy"),L=Symbol.for("react.activity"),re=Symbol.iterator;function Xe(r){return r===null||typeof r!="object"?null:(r=re&&r[re]||r["@@iterator"],typeof r=="function"?r:null)}var Be={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Le=Object.assign,Mt={};function Ie(r,A,E){this.props=r,this.context=A,this.refs=Mt,this.updater=E||Be}Ie.prototype.isReactComponent={},Ie.prototype.setState=function(r,A){if(typeof r!="object"&&typeof r!="function"&&r!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,r,A,"setState")},Ie.prototype.forceUpdate=function(r){this.updater.enqueueForceUpdate(this,r,"forceUpdate")};function Wt(){}Wt.prototype=Ie.prototype;function Re(r,A,E){this.props=r,this.context=A,this.refs=Mt,this.updater=E||Be}var nt=Re.prototype=new Wt;nt.constructor=Re,Le(nt,Ie.prototype),nt.isPureReactComponent=!0;var At=Array.isArray;function Ne(){}var K={H:null,A:null,T:null,S:null},_e=Object.prototype.hasOwnProperty;function Tt(r,A,E){var x=E.ref;return{$$typeof:T,type:r,key:A,ref:x!==void 0?x:null,props:E}}function Qo(r,A){return Tt(r.type,A,r.props)}function zt(r){return typeof r=="object"&&r!==null&&r.$$typeof===T}function ke(r){var A={"=":"=0",":":"=2"};return"$"+r.replace(/[=:]/g,function(E){return A[E]})}var To=/\/+/g;function qt(r,A){return typeof r=="object"&&r!==null&&r.key!=null?ke(""+r.key):A.toString(36)}function yt(r){switch(r.status){case"fulfilled":return r.value;case"rejected":throw r.reason;default:switch(typeof r.status=="string"?r.then(Ne,Ne):(r.status="pending",r.then(function(A){r.status==="pending"&&(r.status="fulfilled",r.value=A)},function(A){r.status==="pending"&&(r.status="rejected",r.reason=A)})),r.status){case"fulfilled":return r.value;case"rejected":throw r.reason}}throw r}function b(r,A,E,x,B){var k=typeof r;(k==="undefined"||k==="boolean")&&(r=null);var J=!1;if(r===null)J=!0;else switch(k){case"bigint":case"string":case"number":J=!0;break;case"object":switch(r.$$typeof){case T:case q:J=!0;break;case F:return J=r._init,b(J(r._payload),A,E,x,B)}}if(J)return B=B(r),J=x===""?"."+qt(r,0):x,At(B)?(E="",J!=null&&(E=J.replace(To,"$&/")+"/"),b(B,A,E,"",function(qa){return qa})):B!=null&&(zt(B)&&(B=Qo(B,E+(B.key==null||r&&r.key===B.key?"":(""+B.key).replace(To,"$&/")+"/")+J)),A.push(B)),1;J=0;var He=x===""?".":x+":";if(At(r))for(var fe=0;fe<r.length;fe++)x=r[fe],k=He+qt(x,fe),J+=b(x,A,E,k,B);else if(fe=Xe(r),typeof fe=="function")for(r=fe.call(r),fe=0;!(x=r.next()).done;)x=x.value,k=He+qt(x,fe++),J+=b(x,A,E,k,B);else if(k==="object"){if(typeof r.then=="function")return b(yt(r),A,E,x,B);throw A=String(r),Error("Objects are not valid as a React child (found: "+(A==="[object Object]"?"object with keys {"+Object.keys(r).join(", ")+"}":A)+"). If you meant to render a collection of children, use an array instead.")}return J}function D(r,A,E){if(r==null)return r;var x=[],B=0;return b(r,x,"","",function(k){return A.call(E,k,B++)}),x}function H(r){if(r._status===-1){var A=r._result;A=A(),A.then(function(E){(r._status===0||r._status===-1)&&(r._status=1,r._result=E)},function(E){(r._status===0||r._status===-1)&&(r._status=2,r._result=E)}),r._status===-1&&(r._status=0,r._result=A)}if(r._status===1)return r._result.default;throw r._result}var oe=typeof reportError=="function"?reportError:function(r){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var A=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof r=="object"&&r!==null&&typeof r.message=="string"?String(r.message):String(r),error:r});if(!window.dispatchEvent(A))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",r);return}console.error(r)},le={map:D,forEach:function(r,A,E){D(r,function(){A.apply(this,arguments)},E)},count:function(r){var A=0;return D(r,function(){A++}),A},toArray:function(r){return D(r,function(A){return A})||[]},only:function(r){if(!zt(r))throw Error("React.Children.only expected to receive a single React element child.");return r}};return U.Activity=L,U.Children=le,U.Component=Ie,U.Fragment=j,U.Profiler=W,U.PureComponent=Re,U.StrictMode=h,U.Suspense=C,U.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=K,U.__COMPILER_RUNTIME={__proto__:null,c:function(r){return K.H.useMemoCache(r)}},U.cache=function(r){return function(){return r.apply(null,arguments)}},U.cacheSignal=function(){return null},U.cloneElement=function(r,A,E){if(r==null)throw Error("The argument must be a React element, but you passed "+r+".");var x=Le({},r.props),B=r.key;if(A!=null)for(k in A.key!==void 0&&(B=""+A.key),A)!_e.call(A,k)||k==="key"||k==="__self"||k==="__source"||k==="ref"&&A.ref===void 0||(x[k]=A[k]);var k=arguments.length-2;if(k===1)x.children=E;else if(1<k){for(var J=Array(k),He=0;He<k;He++)J[He]=arguments[He+2];x.children=J}return Tt(r.type,B,x)},U.createContext=function(r){return r={$$typeof:Ae,_currentValue:r,_currentValue2:r,_threadCount:0,Provider:null,Consumer:null},r.Provider=r,r.Consumer={$$typeof:$,_context:r},r},U.createElement=function(r,A,E){var x,B={},k=null;if(A!=null)for(x in A.key!==void 0&&(k=""+A.key),A)_e.call(A,x)&&x!=="key"&&x!=="__self"&&x!=="__source"&&(B[x]=A[x]);var J=arguments.length-2;if(J===1)B.children=E;else if(1<J){for(var He=Array(J),fe=0;fe<J;fe++)He[fe]=arguments[fe+2];B.children=He}if(r&&r.defaultProps)for(x in J=r.defaultProps,J)B[x]===void 0&&(B[x]=J[x]);return Tt(r,k,B)},U.createRef=function(){return{current:null}},U.forwardRef=function(r){return{$$typeof:Oe,render:r}},U.isValidElement=zt,U.lazy=function(r){return{$$typeof:F,_payload:{_status:-1,_result:r},_init:H}},U.memo=function(r,A){return{$$typeof:z,type:r,compare:A===void 0?null:A}},U.startTransition=function(r){var A=K.T,E={};K.T=E;try{var x=r(),B=K.S;B!==null&&B(E,x),typeof x=="object"&&x!==null&&typeof x.then=="function"&&x.then(Ne,oe)}catch(k){oe(k)}finally{A!==null&&E.types!==null&&(A.types=E.types),K.T=A}},U.unstable_useCacheRefresh=function(){return K.H.useCacheRefresh()},U.use=function(r){return K.H.use(r)},U.useActionState=function(r,A,E){return K.H.useActionState(r,A,E)},U.useCallback=function(r,A){return K.H.useCallback(r,A)},U.useContext=function(r){return K.H.useContext(r)},U.useDebugValue=function(){},U.useDeferredValue=function(r,A){return K.H.useDeferredValue(r,A)},U.useEffect=function(r,A){return K.H.useEffect(r,A)},U.useEffectEvent=function(r){return K.H.useEffectEvent(r)},U.useId=function(){return K.H.useId()},U.useImperativeHandle=function(r,A,E){return K.H.useImperativeHandle(r,A,E)},U.useInsertionEffect=function(r,A){return K.H.useInsertionEffect(r,A)},U.useLayoutEffect=function(r,A){return K.H.useLayoutEffect(r,A)},U.useMemo=function(r,A){return K.H.useMemo(r,A)},U.useOptimistic=function(r,A){return K.H.useOptimistic(r,A)},U.useReducer=function(r,A,E){return K.H.useReducer(r,A,E)},U.useRef=function(r){return K.H.useRef(r)},U.useState=function(r){return K.H.useState(r)},U.useSyncExternalStore=function(r,A,E){return K.H.useSyncExternalStore(r,A,E)},U.useTransition=function(){return K.H.useTransition()},U.version="19.2.3",U}var vd;function fs(){return vd||(vd=1,us.exports=rh()),us.exports}var ph=fs();const Lh=Rd(ph);var rs={exports:{}},zi={},ps={exports:{}},ds={};/**
 * @license React
 * scheduler.production.js
 *
 * Copyright (c) Meta Platforms, Inc. and affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */var Sd;function dh(){return Sd||(Sd=1,function(T){function q(b,D){var H=b.length;b.push(D);e:for(;0<H;){var oe=H-1>>>1,le=b[oe];if(0<W(le,D))b[oe]=D,b[H]=le,H=oe;else break e}}function j(b){return b.length===0?null:b[0]}function h(b){if(b.length===0)return null;var D=b[0],H=b.pop();if(H!==D){b[0]=H;e:for(var oe=0,le=b.length,r=le>>>1;oe<r;){var A=2*(oe+1)-1,E=b[A],x=A+1,B=b[x];if(0>W(E,H))x<le&&0>W(B,E)?(b[oe]=B,b[x]=H,oe=x):(b[oe]=E,b[A]=H,oe=A);else if(x<le&&0>W(B,H))b[oe]=B,b[x]=H,oe=x;else break e}}return D}function W(b,D){var H=b.sortIndex-D.sortIndex;return H!==0?H:b.id-D.id}if(T.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var $=performance;T.unstable_now=function(){return $.now()}}else{var Ae=Date,Oe=Ae.now();T.unstable_now=function(){return Ae.now()-Oe}}var C=[],z=[],F=1,L=null,re=3,Xe=!1,Be=!1,Le=!1,Mt=!1,Ie=typeof setTimeout=="function"?setTimeout:null,Wt=typeof clearTimeout=="function"?clearTimeout:null,Re=typeof setImmediate<"u"?setImmediate:null;function nt(b){for(var D=j(z);D!==null;){if(D.callback===null)h(z);else if(D.startTime<=b)h(z),D.sortIndex=D.expirationTime,q(C,D);else break;D=j(z)}}function At(b){if(Le=!1,nt(b),!Be)if(j(C)!==null)Be=!0,Ne||(Ne=!0,ke());else{var D=j(z);D!==null&&yt(At,D.startTime-b)}}var Ne=!1,K=-1,_e=5,Tt=-1;function Qo(){return Mt?!0:!(T.unstable_now()-Tt<_e)}function zt(){if(Mt=!1,Ne){var b=T.unstable_now();Tt=b;var D=!0;try{e:{Be=!1,Le&&(Le=!1,Wt(K),K=-1),Xe=!0;var H=re;try{t:{for(nt(b),L=j(C);L!==null&&!(L.expirationTime>b&&Qo());){var oe=L.callback;if(typeof oe=="function"){L.callback=null,re=L.priorityLevel;var le=oe(L.expirationTime<=b);if(b=T.unstable_now(),typeof le=="function"){L.callback=le,nt(b),D=!0;break t}L===j(C)&&h(C),nt(b)}else h(C);L=j(C)}if(L!==null)D=!0;else{var r=j(z);r!==null&&yt(At,r.startTime-b),D=!1}}break e}finally{L=null,re=H,Xe=!1}D=void 0}}finally{D?ke():Ne=!1}}}var ke;if(typeof Re=="function")ke=function(){Re(zt)};else if(typeof MessageChannel<"u"){var To=new MessageChannel,qt=To.port2;To.port1.onmessage=zt,ke=function(){qt.postMessage(null)}}else ke=function(){Ie(zt,0)};function yt(b,D){K=Ie(function(){b(T.unstable_now())},D)}T.unstable_IdlePriority=5,T.unstable_ImmediatePriority=1,T.unstable_LowPriority=4,T.unstable_NormalPriority=3,T.unstable_Profiling=null,T.unstable_UserBlockingPriority=2,T.unstable_cancelCallback=function(b){b.callback=null},T.unstable_forceFrameRate=function(b){0>b||125<b?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):_e=0<b?Math.floor(1e3/b):5},T.unstable_getCurrentPriorityLevel=function(){return re},T.unstable_next=function(b){switch(re){case 1:case 2:case 3:var D=3;break;default:D=re}var H=re;re=D;try{return b()}finally{re=H}},T.unstable_requestPaint=function(){Mt=!0},T.unstable_runWithPriority=function(b,D){switch(b){case 1:case 2:case 3:case 4:case 5:break;default:b=3}var H=re;re=b;try{return D()}finally{re=H}},T.unstable_scheduleCallback=function(b,D,H){var oe=T.unstable_now();switch(typeof H=="object"&&H!==null?(H=H.delay,H=typeof H=="number"&&0<H?oe+H:oe):H=oe,b){case 1:var le=-1;break;case 2:le=250;break;case 5:le=1073741823;break;case 4:le=1e4;break;default:le=5e3}return le=H+le,b={id:F++,callback:D,priorityLevel:b,startTime:H,expirationTime:le,sortIndex:-1},H>oe?(b.sortIndex=H,q(z,b),j(C)===null&&b===j(z)&&(Le?(Wt(K),K=-1):Le=!0,yt(At,H-oe))):(b.sortIndex=le,q(C,b),Be||Xe||(Be=!0,Ne||(Ne=!0,ke()))),b},T.unstable_shouldYield=Qo,T.unstable_wrapCallback=function(b){var D=re;return function(){var H=re;re=D;try{return b.apply(this,arguments)}finally{re=H}}}}(ds)),ds}var Ad;function gh(){return Ad||(Ad=1,ps.exports=dh()),ps.exports}var gs={exports:{}},Ce={};/**
 * @license React
 * react-dom.production.js
 *
 * Copyright (c) Meta Platforms, Inc. and affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */var Td;function fh(){if(Td)return Ce;Td=1;var T=fs();function q(C){var z="https://react.dev/errors/"+C;if(1<arguments.length){z+="?args[]="+encodeURIComponent(arguments[1]);for(var F=2;F<arguments.length;F++)z+="&args[]="+encodeURIComponent(arguments[F])}return"Minified React error #"+C+"; visit "+z+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function j(){}var h={d:{f:j,r:function(){throw Error(q(522))},D:j,C:j,L:j,m:j,X:j,S:j,M:j},p:0,findDOMNode:null},W=Symbol.for("react.portal");function $(C,z,F){var L=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:W,key:L==null?null:""+L,children:C,containerInfo:z,implementation:F}}var Ae=T.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function Oe(C,z){if(C==="font")return"";if(typeof z=="string")return z==="use-credentials"?z:""}return Ce.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=h,Ce.createPortal=function(C,z){var F=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!z||z.nodeType!==1&&z.nodeType!==9&&z.nodeType!==11)throw Error(q(299));return $(C,z,null,F)},Ce.flushSync=function(C){var z=Ae.T,F=h.p;try{if(Ae.T=null,h.p=2,C)return C()}finally{Ae.T=z,h.p=F,h.d.f()}},Ce.preconnect=function(C,z){typeof C=="string"&&(z?(z=z.crossOrigin,z=typeof z=="string"?z==="use-credentials"?z:"":void 0):z=null,h.d.C(C,z))},Ce.prefetchDNS=function(C){typeof C=="string"&&h.d.D(C)},Ce.preinit=function(C,z){if(typeof C=="string"&&z&&typeof z.as=="string"){var F=z.as,L=Oe(F,z.crossOrigin),re=typeof z.integrity=="string"?z.integrity:void 0,Xe=typeof z.fetchPriority=="string"?z.fetchPriority:void 0;F==="style"?h.d.S(C,typeof z.precedence=="string"?z.precedence:void 0,{crossOrigin:L,integrity:re,fetchPriority:Xe}):F==="script"&&h.d.X(C,{crossOrigin:L,integrity:re,fetchPriority:Xe,nonce:typeof z.nonce=="string"?z.nonce:void 0})}},Ce.preinitModule=function(C,z){if(typeof C=="string")if(typeof z=="object"&&z!==null){if(z.as==null||z.as==="script"){var F=Oe(z.as,z.crossOrigin);h.d.M(C,{crossOrigin:F,integrity:typeof z.integrity=="string"?z.integrity:void 0,nonce:typeof z.nonce=="string"?z.nonce:void 0})}}else z==null&&h.d.M(C)},Ce.preload=function(C,z){if(typeof C=="string"&&typeof z=="object"&&z!==null&&typeof z.as=="string"){var F=z.as,L=Oe(F,z.crossOrigin);h.d.L(C,F,{crossOrigin:L,integrity:typeof z.integrity=="string"?z.integrity:void 0,nonce:typeof z.nonce=="string"?z.nonce:void 0,type:typeof z.type=="string"?z.type:void 0,fetchPriority:typeof z.fetchPriority=="string"?z.fetchPriority:void 0,referrerPolicy:typeof z.referrerPolicy=="string"?z.referrerPolicy:void 0,imageSrcSet:typeof z.imageSrcSet=="string"?z.imageSrcSet:void 0,imageSizes:typeof z.imageSizes=="string"?z.imageSizes:void 0,media:typeof z.media=="string"?z.media:void 0})}},Ce.preloadModule=function(C,z){if(typeof C=="string")if(z){var F=Oe(z.as,z.crossOrigin);h.d.m(C,{as:typeof z.as=="string"&&z.as!=="script"?z.as:void 0,crossOrigin:F,integrity:typeof z.integrity=="string"?z.integrity:void 0})}else h.d.m(C)},Ce.requestFormReset=function(C){h.d.r(C)},Ce.unstable_batchedUpdates=function(C,z){return C(z)},Ce.useFormState=function(C,z,F){return Ae.H.useFormState(C,z,F)},Ce.useFormStatus=function(){return Ae.H.useHostTransitionStatus()},Ce.version="19.2.3",Ce}var zd;function hh(){if(zd)return gs.exports;zd=1;function T(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(T)}catch(q){console.error(q)}}return T(),gs.exports=fh(),gs.exports}/**
 * @license React
 * react-dom-client.production.js
 *
 * Copyright (c) Meta Platforms, Inc. and affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */var Dd;function mh(){if(Dd)return zi;Dd=1;var T=gh(),q=fs(),j=hh();function h(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var o=2;o<arguments.length;o++)t+="&args[]="+encodeURIComponent(arguments[o])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function W(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function $(e){var t=e,o=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(o=t.return),e=t.return;while(e)}return t.tag===3?o:null}function Ae(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function Oe(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function C(e){if($(e)!==e)throw Error(h(188))}function z(e){var t=e.alternate;if(!t){if(t=$(e),t===null)throw Error(h(188));return t!==e?null:e}for(var o=e,a=t;;){var i=o.return;if(i===null)break;var n=i.alternate;if(n===null){if(a=i.return,a!==null){o=a;continue}break}if(i.child===n.child){for(n=i.child;n;){if(n===o)return C(i),e;if(n===a)return C(i),t;n=n.sibling}throw Error(h(188))}if(o.return!==a.return)o=i,a=n;else{for(var l=!1,c=i.child;c;){if(c===o){l=!0,o=i,a=n;break}if(c===a){l=!0,a=i,o=n;break}c=c.sibling}if(!l){for(c=n.child;c;){if(c===o){l=!0,o=n,a=i;break}if(c===a){l=!0,a=n,o=i;break}c=c.sibling}if(!l)throw Error(h(189))}}if(o.alternate!==a)throw Error(h(190))}if(o.tag!==3)throw Error(h(188));return o.stateNode.current===o?e:t}function F(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=F(e),t!==null)return t;e=e.sibling}return null}var L=Object.assign,re=Symbol.for("react.element"),Xe=Symbol.for("react.transitional.element"),Be=Symbol.for("react.portal"),Le=Symbol.for("react.fragment"),Mt=Symbol.for("react.strict_mode"),Ie=Symbol.for("react.profiler"),Wt=Symbol.for("react.consumer"),Re=Symbol.for("react.context"),nt=Symbol.for("react.forward_ref"),At=Symbol.for("react.suspense"),Ne=Symbol.for("react.suspense_list"),K=Symbol.for("react.memo"),_e=Symbol.for("react.lazy"),Tt=Symbol.for("react.activity"),Qo=Symbol.for("react.memo_cache_sentinel"),zt=Symbol.iterator;function ke(e){return e===null||typeof e!="object"?null:(e=zt&&e[zt]||e["@@iterator"],typeof e=="function"?e:null)}var To=Symbol.for("react.client.reference");function qt(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===To?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Le:return"Fragment";case Ie:return"Profiler";case Mt:return"StrictMode";case At:return"Suspense";case Ne:return"SuspenseList";case Tt:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case Be:return"Portal";case Re:return e.displayName||"Context";case Wt:return(e._context.displayName||"Context")+".Consumer";case nt:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case K:return t=e.displayName||null,t!==null?t:qt(e.type)||"Memo";case _e:t=e._payload,e=e._init;try{return qt(e(t))}catch{}}return null}var yt=Array.isArray,b=q.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,D=j.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,H={pending:!1,data:null,method:null,action:null},oe=[],le=-1;function r(e){return{current:e}}function A(e){0>le||(e.current=oe[le],oe[le]=null,le--)}function E(e,t){le++,oe[le]=e.current,e.current=t}var x=r(null),B=r(null),k=r(null),J=r(null);function He(e,t){switch(E(k,t),E(B,e),E(x,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?kp(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=kp(t),e=Gp(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}A(x),E(x,e)}function fe(){A(x),A(B),A(k)}function qa(e){e.memoizedState!==null&&E(J,e);var t=x.current,o=Gp(t,e.type);t!==o&&(E(B,e),E(x,o))}function Di(e){B.current===e&&(A(x),A(B)),J.current===e&&(A(J),bi._currentValue=H)}var jn,hs;function zo(e){if(jn===void 0)try{throw Error()}catch(o){var t=o.stack.trim().match(/\n( *(at )?)/);jn=t&&t[1]||"",hs=-1<o.stack.indexOf(`
    at`)?" (<anonymous>)":-1<o.stack.indexOf("@")?"@unknown:0:0":""}return`
`+jn+e+hs}var Kn=!1;function Zn(e,t){if(!e||Kn)return"";Kn=!0;var o=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var a={DetermineComponentFrameRoot:function(){try{if(t){var S=function(){throw Error()};if(Object.defineProperty(S.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(S,[])}catch(m){var f=m}Reflect.construct(e,[],S)}else{try{S.call()}catch(m){f=m}e.call(S.prototype)}}else{try{throw Error()}catch(m){f=m}(S=e())&&typeof S.catch=="function"&&S.catch(function(){})}}catch(m){if(m&&f&&typeof m.stack=="string")return[m.stack,f.stack]}return[null,null]}};a.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var i=Object.getOwnPropertyDescriptor(a.DetermineComponentFrameRoot,"name");i&&i.configurable&&Object.defineProperty(a.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var n=a.DetermineComponentFrameRoot(),l=n[0],c=n[1];if(l&&c){var s=l.split(`
`),g=c.split(`
`);for(i=a=0;a<s.length&&!s[a].includes("DetermineComponentFrameRoot");)a++;for(;i<g.length&&!g[i].includes("DetermineComponentFrameRoot");)i++;if(a===s.length||i===g.length)for(a=s.length-1,i=g.length-1;1<=a&&0<=i&&s[a]!==g[i];)i--;for(;1<=a&&0<=i;a--,i--)if(s[a]!==g[i]){if(a!==1||i!==1)do if(a--,i--,0>i||s[a]!==g[i]){var y=`
`+s[a].replace(" at new "," at ");return e.displayName&&y.includes("<anonymous>")&&(y=y.replace("<anonymous>",e.displayName)),y}while(1<=a&&0<=i);break}}}finally{Kn=!1,Error.prepareStackTrace=o}return(o=e?e.displayName||e.name:"")?zo(o):""}function _d(e,t){switch(e.tag){case 26:case 27:case 5:return zo(e.type);case 16:return zo("Lazy");case 13:return e.child!==t&&t!==null?zo("Suspense Fallback"):zo("Suspense");case 19:return zo("SuspenseList");case 0:case 15:return Zn(e.type,!1);case 11:return Zn(e.type.render,!1);case 1:return Zn(e.type,!0);case 31:return zo("Activity");default:return""}}function ms(e){try{var t="",o=null;do t+=_d(e,o),o=e,e=e.return;while(e);return t}catch(a){return`
Error generating stack: `+a.message+`
`+a.stack}}var Xn=Object.prototype.hasOwnProperty,In=T.unstable_scheduleCallback,Wn=T.unstable_cancelCallback,kd=T.unstable_shouldYield,Gd=T.unstable_requestPaint,We=T.unstable_now,Yd=T.unstable_getCurrentPriorityLevel,ys=T.unstable_ImmediatePriority,bs=T.unstable_UserBlockingPriority,Ei=T.unstable_NormalPriority,Qd=T.unstable_LowPriority,vs=T.unstable_IdlePriority,Vd=T.log,jd=T.unstable_setDisableYieldValue,Ra=null,Pe=null;function Pt(e){if(typeof Vd=="function"&&jd(e),Pe&&typeof Pe.setStrictMode=="function")try{Pe.setStrictMode(Ra,e)}catch{}}var Fe=Math.clz32?Math.clz32:Xd,Kd=Math.log,Zd=Math.LN2;function Xd(e){return e>>>=0,e===0?32:31-(Kd(e)/Zd|0)|0}var wi=256,xi=262144,Mi=4194304;function Do(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function qi(e,t,o){var a=e.pendingLanes;if(a===0)return 0;var i=0,n=e.suspendedLanes,l=e.pingedLanes;e=e.warmLanes;var c=a&134217727;return c!==0?(a=c&~n,a!==0?i=Do(a):(l&=c,l!==0?i=Do(l):o||(o=c&~e,o!==0&&(i=Do(o))))):(c=a&~n,c!==0?i=Do(c):l!==0?i=Do(l):o||(o=a&~e,o!==0&&(i=Do(o)))),i===0?0:t!==0&&t!==i&&(t&n)===0&&(n=i&-i,o=t&-t,n>=o||n===32&&(o&4194048)!==0)?t:i}function Ca(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Id(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Ss(){var e=Mi;return Mi<<=1,(Mi&62914560)===0&&(Mi=4194304),e}function Pn(e){for(var t=[],o=0;31>o;o++)t.push(e);return t}function Oa(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Wd(e,t,o,a,i,n){var l=e.pendingLanes;e.pendingLanes=o,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=o,e.entangledLanes&=o,e.errorRecoveryDisabledLanes&=o,e.shellSuspendCounter=0;var c=e.entanglements,s=e.expirationTimes,g=e.hiddenUpdates;for(o=l&~o;0<o;){var y=31-Fe(o),S=1<<y;c[y]=0,s[y]=-1;var f=g[y];if(f!==null)for(g[y]=null,y=0;y<f.length;y++){var m=f[y];m!==null&&(m.lane&=-536870913)}o&=~S}a!==0&&As(e,a,0),n!==0&&i===0&&e.tag!==0&&(e.suspendedLanes|=n&~(l&~t))}function As(e,t,o){e.pendingLanes|=t,e.suspendedLanes&=~t;var a=31-Fe(t);e.entangledLanes|=t,e.entanglements[a]=e.entanglements[a]|1073741824|o&261930}function Ts(e,t){var o=e.entangledLanes|=t;for(e=e.entanglements;o;){var a=31-Fe(o),i=1<<a;i&t|e[a]&t&&(e[a]|=t),o&=~i}}function zs(e,t){var o=t&-t;return o=(o&42)!==0?1:Fn(o),(o&(e.suspendedLanes|t))!==0?0:o}function Fn(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function Jn(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function Ds(){var e=D.p;return e!==0?e:(e=window.event,e===void 0?32:ud(e.type))}function Es(e,t){var o=D.p;try{return D.p=e,t()}finally{D.p=o}}var Ft=Math.random().toString(36).slice(2),Ee="__reactFiber$"+Ft,Ge="__reactProps$"+Ft,Vo="__reactContainer$"+Ft,$n="__reactEvents$"+Ft,Pd="__reactListeners$"+Ft,Fd="__reactHandles$"+Ft,ws="__reactResources$"+Ft,La="__reactMarker$"+Ft;function el(e){delete e[Ee],delete e[Ge],delete e[$n],delete e[Pd],delete e[Fd]}function jo(e){var t=e[Ee];if(t)return t;for(var o=e.parentNode;o;){if(t=o[Vo]||o[Ee]){if(o=t.alternate,t.child!==null||o!==null&&o.child!==null)for(e=Xp(e);e!==null;){if(o=e[Ee])return o;e=Xp(e)}return t}e=o,o=e.parentNode}return null}function Ko(e){if(e=e[Ee]||e[Vo]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function Ha(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(h(33))}function Zo(e){var t=e[ws];return t||(t=e[ws]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function ze(e){e[La]=!0}var xs=new Set,Ms={};function Eo(e,t){Xo(e,t),Xo(e+"Capture",t)}function Xo(e,t){for(Ms[e]=t,e=0;e<t.length;e++)xs.add(t[e])}var Jd=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]*$"),qs={},Rs={};function $d(e){return Xn.call(Rs,e)?!0:Xn.call(qs,e)?!1:Jd.test(e)?Rs[e]=!0:(qs[e]=!0,!1)}function Ri(e,t,o){if($d(t))if(o===null)e.removeAttribute(t);else{switch(typeof o){case"undefined":case"function":case"symbol":e.removeAttribute(t);return;case"boolean":var a=t.toLowerCase().slice(0,5);if(a!=="data-"&&a!=="aria-"){e.removeAttribute(t);return}}e.setAttribute(t,""+o)}}function Ci(e,t,o){if(o===null)e.removeAttribute(t);else{switch(typeof o){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(t);return}e.setAttribute(t,""+o)}}function Rt(e,t,o,a){if(a===null)e.removeAttribute(o);else{switch(typeof a){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(o);return}e.setAttributeNS(t,o,""+a)}}function lt(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Cs(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function eg(e,t,o){var a=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&typeof a<"u"&&typeof a.get=="function"&&typeof a.set=="function"){var i=a.get,n=a.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(l){o=""+l,n.call(this,l)}}),Object.defineProperty(e,t,{enumerable:a.enumerable}),{getValue:function(){return o},setValue:function(l){o=""+l},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function tl(e){if(!e._valueTracker){var t=Cs(e)?"checked":"value";e._valueTracker=eg(e,t,""+e[t])}}function Os(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var o=t.getValue(),a="";return e&&(a=Cs(e)?e.checked?"true":"false":e.value),e=a,e!==o?(t.setValue(e),!0):!1}function Oi(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var tg=/[\n"\\]/g;function ct(e){return e.replace(tg,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function ol(e,t,o,a,i,n,l,c){e.name="",l!=null&&typeof l!="function"&&typeof l!="symbol"&&typeof l!="boolean"?e.type=l:e.removeAttribute("type"),t!=null?l==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+lt(t)):e.value!==""+lt(t)&&(e.value=""+lt(t)):l!=="submit"&&l!=="reset"||e.removeAttribute("value"),t!=null?al(e,l,lt(t)):o!=null?al(e,l,lt(o)):a!=null&&e.removeAttribute("value"),i==null&&n!=null&&(e.defaultChecked=!!n),i!=null&&(e.checked=i&&typeof i!="function"&&typeof i!="symbol"),c!=null&&typeof c!="function"&&typeof c!="symbol"&&typeof c!="boolean"?e.name=""+lt(c):e.removeAttribute("name")}function Ls(e,t,o,a,i,n,l,c){if(n!=null&&typeof n!="function"&&typeof n!="symbol"&&typeof n!="boolean"&&(e.type=n),t!=null||o!=null){if(!(n!=="submit"&&n!=="reset"||t!=null)){tl(e);return}o=o!=null?""+lt(o):"",t=t!=null?""+lt(t):o,c||t===e.value||(e.value=t),e.defaultValue=t}a=a??i,a=typeof a!="function"&&typeof a!="symbol"&&!!a,e.checked=c?e.checked:!!a,e.defaultChecked=!!a,l!=null&&typeof l!="function"&&typeof l!="symbol"&&typeof l!="boolean"&&(e.name=l),tl(e)}function al(e,t,o){t==="number"&&Oi(e.ownerDocument)===e||e.defaultValue===""+o||(e.defaultValue=""+o)}function Io(e,t,o,a){if(e=e.options,t){t={};for(var i=0;i<o.length;i++)t["$"+o[i]]=!0;for(o=0;o<e.length;o++)i=t.hasOwnProperty("$"+e[o].value),e[o].selected!==i&&(e[o].selected=i),i&&a&&(e[o].defaultSelected=!0)}else{for(o=""+lt(o),t=null,i=0;i<e.length;i++){if(e[i].value===o){e[i].selected=!0,a&&(e[i].defaultSelected=!0);return}t!==null||e[i].disabled||(t=e[i])}t!==null&&(t.selected=!0)}}function Hs(e,t,o){if(t!=null&&(t=""+lt(t),t!==e.value&&(e.value=t),o==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=o!=null?""+lt(o):""}function Us(e,t,o,a){if(t==null){if(a!=null){if(o!=null)throw Error(h(92));if(yt(a)){if(1<a.length)throw Error(h(93));a=a[0]}o=a}o==null&&(o=""),t=o}o=lt(t),e.defaultValue=o,a=e.textContent,a===o&&a!==""&&a!==null&&(e.value=a),tl(e)}function Wo(e,t){if(t){var o=e.firstChild;if(o&&o===e.lastChild&&o.nodeType===3){o.nodeValue=t;return}}e.textContent=t}var og=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 Bs(e,t,o){var a=t.indexOf("--")===0;o==null||typeof o=="boolean"||o===""?a?e.setProperty(t,""):t==="float"?e.cssFloat="":e[t]="":a?e.setProperty(t,o):typeof o!="number"||o===0||og.has(t)?t==="float"?e.cssFloat=o:e[t]=(""+o).trim():e[t]=o+"px"}function Ns(e,t,o){if(t!=null&&typeof t!="object")throw Error(h(62));if(e=e.style,o!=null){for(var a in o)!o.hasOwnProperty(a)||t!=null&&t.hasOwnProperty(a)||(a.indexOf("--")===0?e.setProperty(a,""):a==="float"?e.cssFloat="":e[a]="");for(var i in t)a=t[i],t.hasOwnProperty(i)&&o[i]!==a&&Bs(e,i,a)}else for(var n in t)t.hasOwnProperty(n)&&Bs(e,n,t[n])}function il(e){if(e.indexOf("-")===-1)return!1;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var ag=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"]]),ig=/^[\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 Li(e){return ig.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function Ct(){}var nl=null;function ll(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Po=null,Fo=null;function _s(e){var t=Ko(e);if(t&&(e=t.stateNode)){var o=e[Ge]||null;e:switch(e=t.stateNode,t.type){case"input":if(ol(e,o.value,o.defaultValue,o.defaultValue,o.checked,o.defaultChecked,o.type,o.name),t=o.name,o.type==="radio"&&t!=null){for(o=e;o.parentNode;)o=o.parentNode;for(o=o.querySelectorAll('input[name="'+ct(""+t)+'"][type="radio"]'),t=0;t<o.length;t++){var a=o[t];if(a!==e&&a.form===e.form){var i=a[Ge]||null;if(!i)throw Error(h(90));ol(a,i.value,i.defaultValue,i.defaultValue,i.checked,i.defaultChecked,i.type,i.name)}}for(t=0;t<o.length;t++)a=o[t],a.form===e.form&&Os(a)}break e;case"textarea":Hs(e,o.value,o.defaultValue);break e;case"select":t=o.value,t!=null&&Io(e,!!o.multiple,t,!1)}}}var cl=!1;function ks(e,t,o){if(cl)return e(t,o);cl=!0;try{var a=e(t);return a}finally{if(cl=!1,(Po!==null||Fo!==null)&&(An(),Po&&(t=Po,e=Fo,Fo=Po=null,_s(t),e)))for(t=0;t<e.length;t++)_s(e[t])}}function Ua(e,t){var o=e.stateNode;if(o===null)return null;var a=o[Ge]||null;if(a===null)return null;o=a[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(a=!a.disabled)||(e=e.type,a=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!a;break e;default:e=!1}if(e)return null;if(o&&typeof o!="function")throw Error(h(231,t,typeof o));return o}var Ot=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),sl=!1;if(Ot)try{var Ba={};Object.defineProperty(Ba,"passive",{get:function(){sl=!0}}),window.addEventListener("test",Ba,Ba),window.removeEventListener("test",Ba,Ba)}catch{sl=!1}var Jt=null,ul=null,Hi=null;function Gs(){if(Hi)return Hi;var e,t=ul,o=t.length,a,i="value"in Jt?Jt.value:Jt.textContent,n=i.length;for(e=0;e<o&&t[e]===i[e];e++);var l=o-e;for(a=1;a<=l&&t[o-a]===i[n-a];a++);return Hi=i.slice(e,1<a?1-a:void 0)}function Ui(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function Bi(){return!0}function Ys(){return!1}function Ye(e){function t(o,a,i,n,l){this._reactName=o,this._targetInst=i,this.type=a,this.nativeEvent=n,this.target=l,this.currentTarget=null;for(var c in e)e.hasOwnProperty(c)&&(o=e[c],this[c]=o?o(n):n[c]);return this.isDefaultPrevented=(n.defaultPrevented!=null?n.defaultPrevented:n.returnValue===!1)?Bi:Ys,this.isPropagationStopped=Ys,this}return L(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var o=this.nativeEvent;o&&(o.preventDefault?o.preventDefault():typeof o.returnValue!="unknown"&&(o.returnValue=!1),this.isDefaultPrevented=Bi)},stopPropagation:function(){var o=this.nativeEvent;o&&(o.stopPropagation?o.stopPropagation():typeof o.cancelBubble!="unknown"&&(o.cancelBubble=!0),this.isPropagationStopped=Bi)},persist:function(){},isPersistent:Bi}),t}var wo={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Ni=Ye(wo),Na=L({},wo,{view:0,detail:0}),ng=Ye(Na),rl,pl,_a,_i=L({},Na,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:gl,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==_a&&(_a&&e.type==="mousemove"?(rl=e.screenX-_a.screenX,pl=e.screenY-_a.screenY):pl=rl=0,_a=e),rl)},movementY:function(e){return"movementY"in e?e.movementY:pl}}),Qs=Ye(_i),lg=L({},_i,{dataTransfer:0}),cg=Ye(lg),sg=L({},Na,{relatedTarget:0}),dl=Ye(sg),ug=L({},wo,{animationName:0,elapsedTime:0,pseudoElement:0}),rg=Ye(ug),pg=L({},wo,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),dg=Ye(pg),gg=L({},wo,{data:0}),Vs=Ye(gg),fg={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},hg={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"},mg={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function yg(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=mg[e])?!!t[e]:!1}function gl(){return yg}var bg=L({},Na,{key:function(e){if(e.key){var t=fg[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=Ui(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?hg[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:gl,charCode:function(e){return e.type==="keypress"?Ui(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Ui(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),vg=Ye(bg),Sg=L({},_i,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),js=Ye(Sg),Ag=L({},Na,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:gl}),Tg=Ye(Ag),zg=L({},wo,{propertyName:0,elapsedTime:0,pseudoElement:0}),Dg=Ye(zg),Eg=L({},_i,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),wg=Ye(Eg),xg=L({},wo,{newState:0,oldState:0}),Mg=Ye(xg),qg=[9,13,27,32],fl=Ot&&"CompositionEvent"in window,ka=null;Ot&&"documentMode"in document&&(ka=document.documentMode);var Rg=Ot&&"TextEvent"in window&&!ka,Ks=Ot&&(!fl||ka&&8<ka&&11>=ka),Zs=" ",Xs=!1;function Is(e,t){switch(e){case"keyup":return qg.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ws(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Jo=!1;function Cg(e,t){switch(e){case"compositionend":return Ws(t);case"keypress":return t.which!==32?null:(Xs=!0,Zs);case"textInput":return e=t.data,e===Zs&&Xs?null:e;default:return null}}function Og(e,t){if(Jo)return e==="compositionend"||!fl&&Is(e,t)?(e=Gs(),Hi=ul=Jt=null,Jo=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Ks&&t.locale!=="ko"?null:t.data;default:return null}}var Lg={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 Ps(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!Lg[e.type]:t==="textarea"}function Fs(e,t,o,a){Po?Fo?Fo.push(a):Fo=[a]:Po=a,t=Mn(t,"onChange"),0<t.length&&(o=new Ni("onChange","change",null,o,a),e.push({event:o,listeners:t}))}var Ga=null,Ya=null;function Hg(e){Lp(e,0)}function ki(e){var t=Ha(e);if(Os(t))return e}function Js(e,t){if(e==="change")return t}var $s=!1;if(Ot){var hl;if(Ot){var ml="oninput"in document;if(!ml){var eu=document.createElement("div");eu.setAttribute("oninput","return;"),ml=typeof eu.oninput=="function"}hl=ml}else hl=!1;$s=hl&&(!document.documentMode||9<document.documentMode)}function tu(){Ga&&(Ga.detachEvent("onpropertychange",ou),Ya=Ga=null)}function ou(e){if(e.propertyName==="value"&&ki(Ya)){var t=[];Fs(t,Ya,e,ll(e)),ks(Hg,t)}}function Ug(e,t,o){e==="focusin"?(tu(),Ga=t,Ya=o,Ga.attachEvent("onpropertychange",ou)):e==="focusout"&&tu()}function Bg(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return ki(Ya)}function Ng(e,t){if(e==="click")return ki(t)}function _g(e,t){if(e==="input"||e==="change")return ki(t)}function kg(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Je=typeof Object.is=="function"?Object.is:kg;function Qa(e,t){if(Je(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var o=Object.keys(e),a=Object.keys(t);if(o.length!==a.length)return!1;for(a=0;a<o.length;a++){var i=o[a];if(!Xn.call(t,i)||!Je(e[i],t[i]))return!1}return!0}function au(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function iu(e,t){var o=au(e);e=0;for(var a;o;){if(o.nodeType===3){if(a=e+o.textContent.length,e<=t&&a>=t)return{node:o,offset:t-e};e=a}e:{for(;o;){if(o.nextSibling){o=o.nextSibling;break e}o=o.parentNode}o=void 0}o=au(o)}}function nu(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?nu(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function lu(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Oi(e.document);t instanceof e.HTMLIFrameElement;){try{var o=typeof t.contentWindow.location.href=="string"}catch{o=!1}if(o)e=t.contentWindow;else break;t=Oi(e.document)}return t}function yl(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var Gg=Ot&&"documentMode"in document&&11>=document.documentMode,$o=null,bl=null,Va=null,vl=!1;function cu(e,t,o){var a=o.window===o?o.document:o.nodeType===9?o:o.ownerDocument;vl||$o==null||$o!==Oi(a)||(a=$o,"selectionStart"in a&&yl(a)?a={start:a.selectionStart,end:a.selectionEnd}:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection(),a={anchorNode:a.anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset}),Va&&Qa(Va,a)||(Va=a,a=Mn(bl,"onSelect"),0<a.length&&(t=new Ni("onSelect","select",null,t,o),e.push({event:t,listeners:a}),t.target=$o)))}function xo(e,t){var o={};return o[e.toLowerCase()]=t.toLowerCase(),o["Webkit"+e]="webkit"+t,o["Moz"+e]="moz"+t,o}var ea={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")},Sl={},su={};Ot&&(su=document.createElement("div").style,"AnimationEvent"in window||(delete ea.animationend.animation,delete ea.animationiteration.animation,delete ea.animationstart.animation),"TransitionEvent"in window||delete ea.transitionend.transition);function Mo(e){if(Sl[e])return Sl[e];if(!ea[e])return e;var t=ea[e],o;for(o in t)if(t.hasOwnProperty(o)&&o in su)return Sl[e]=t[o];return e}var uu=Mo("animationend"),ru=Mo("animationiteration"),pu=Mo("animationstart"),Yg=Mo("transitionrun"),Qg=Mo("transitionstart"),Vg=Mo("transitioncancel"),du=Mo("transitionend"),gu=new Map,Al="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(" ");Al.push("scrollEnd");function bt(e,t){gu.set(e,t),Eo(t,[e])}var Gi=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},st=[],ta=0,Tl=0;function Yi(){for(var e=ta,t=Tl=ta=0;t<e;){var o=st[t];st[t++]=null;var a=st[t];st[t++]=null;var i=st[t];st[t++]=null;var n=st[t];if(st[t++]=null,a!==null&&i!==null){var l=a.pending;l===null?i.next=i:(i.next=l.next,l.next=i),a.pending=i}n!==0&&fu(o,i,n)}}function Qi(e,t,o,a){st[ta++]=e,st[ta++]=t,st[ta++]=o,st[ta++]=a,Tl|=a,e.lanes|=a,e=e.alternate,e!==null&&(e.lanes|=a)}function zl(e,t,o,a){return Qi(e,t,o,a),Vi(e)}function qo(e,t){return Qi(e,null,null,t),Vi(e)}function fu(e,t,o){e.lanes|=o;var a=e.alternate;a!==null&&(a.lanes|=o);for(var i=!1,n=e.return;n!==null;)n.childLanes|=o,a=n.alternate,a!==null&&(a.childLanes|=o),n.tag===22&&(e=n.stateNode,e===null||e._visibility&1||(i=!0)),e=n,n=n.return;return e.tag===3?(n=e.stateNode,i&&t!==null&&(i=31-Fe(o),e=n.hiddenUpdates,a=e[i],a===null?e[i]=[t]:a.push(t),t.lane=o|536870912),n):null}function Vi(e){if(50<pi)throw pi=0,Oc=null,Error(h(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var oa={};function jg(e,t,o,a){this.tag=e,this.key=o,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=a,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function $e(e,t,o,a){return new jg(e,t,o,a)}function Dl(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Lt(e,t){var o=e.alternate;return o===null?(o=$e(e.tag,t,e.key,e.mode),o.elementType=e.elementType,o.type=e.type,o.stateNode=e.stateNode,o.alternate=e,e.alternate=o):(o.pendingProps=t,o.type=e.type,o.flags=0,o.subtreeFlags=0,o.deletions=null),o.flags=e.flags&65011712,o.childLanes=e.childLanes,o.lanes=e.lanes,o.child=e.child,o.memoizedProps=e.memoizedProps,o.memoizedState=e.memoizedState,o.updateQueue=e.updateQueue,t=e.dependencies,o.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},o.sibling=e.sibling,o.index=e.index,o.ref=e.ref,o.refCleanup=e.refCleanup,o}function hu(e,t){e.flags&=65011714;var o=e.alternate;return o===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=o.childLanes,e.lanes=o.lanes,e.child=o.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=o.memoizedProps,e.memoizedState=o.memoizedState,e.updateQueue=o.updateQueue,e.type=o.type,t=o.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function ji(e,t,o,a,i,n){var l=0;if(a=e,typeof e=="function")Dl(e)&&(l=1);else if(typeof e=="string")l=Pf(e,o,x.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case Tt:return e=$e(31,o,t,i),e.elementType=Tt,e.lanes=n,e;case Le:return Ro(o.children,i,n,t);case Mt:l=8,i|=24;break;case Ie:return e=$e(12,o,t,i|2),e.elementType=Ie,e.lanes=n,e;case At:return e=$e(13,o,t,i),e.elementType=At,e.lanes=n,e;case Ne:return e=$e(19,o,t,i),e.elementType=Ne,e.lanes=n,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Re:l=10;break e;case Wt:l=9;break e;case nt:l=11;break e;case K:l=14;break e;case _e:l=16,a=null;break e}l=29,o=Error(h(130,e===null?"null":typeof e,"")),a=null}return t=$e(l,o,t,i),t.elementType=e,t.type=a,t.lanes=n,t}function Ro(e,t,o,a){return e=$e(7,e,a,t),e.lanes=o,e}function El(e,t,o){return e=$e(6,e,null,t),e.lanes=o,e}function mu(e){var t=$e(18,null,null,0);return t.stateNode=e,t}function wl(e,t,o){return t=$e(4,e.children!==null?e.children:[],e.key,t),t.lanes=o,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var yu=new WeakMap;function ut(e,t){if(typeof e=="object"&&e!==null){var o=yu.get(e);return o!==void 0?o:(t={value:e,source:t,stack:ms(t)},yu.set(e,t),t)}return{value:e,source:t,stack:ms(t)}}var aa=[],ia=0,Ki=null,ja=0,rt=[],pt=0,$t=null,Dt=1,Et="";function Ht(e,t){aa[ia++]=ja,aa[ia++]=Ki,Ki=e,ja=t}function bu(e,t,o){rt[pt++]=Dt,rt[pt++]=Et,rt[pt++]=$t,$t=e;var a=Dt;e=Et;var i=32-Fe(a)-1;a&=~(1<<i),o+=1;var n=32-Fe(t)+i;if(30<n){var l=i-i%5;n=(a&(1<<l)-1).toString(32),a>>=l,i-=l,Dt=1<<32-Fe(t)+i|o<<i|a,Et=n+e}else Dt=1<<n|o<<i|a,Et=e}function xl(e){e.return!==null&&(Ht(e,1),bu(e,1,0))}function Ml(e){for(;e===Ki;)Ki=aa[--ia],aa[ia]=null,ja=aa[--ia],aa[ia]=null;for(;e===$t;)$t=rt[--pt],rt[pt]=null,Et=rt[--pt],rt[pt]=null,Dt=rt[--pt],rt[pt]=null}function vu(e,t){rt[pt++]=Dt,rt[pt++]=Et,rt[pt++]=$t,Dt=t.id,Et=t.overflow,$t=e}var we=null,se=null,Z=!1,eo=null,dt=!1,ql=Error(h(519));function to(e){var t=Error(h(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw Ka(ut(t,e)),ql}function Su(e){var t=e.stateNode,o=e.type,a=e.memoizedProps;switch(t[Ee]=e,t[Ge]=a,o){case"dialog":Y("cancel",t),Y("close",t);break;case"iframe":case"object":case"embed":Y("load",t);break;case"video":case"audio":for(o=0;o<gi.length;o++)Y(gi[o],t);break;case"source":Y("error",t);break;case"img":case"image":case"link":Y("error",t),Y("load",t);break;case"details":Y("toggle",t);break;case"input":Y("invalid",t),Ls(t,a.value,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name,!0);break;case"select":Y("invalid",t);break;case"textarea":Y("invalid",t),Us(t,a.value,a.defaultValue,a.children)}o=a.children,typeof o!="string"&&typeof o!="number"&&typeof o!="bigint"||t.textContent===""+o||a.suppressHydrationWarning===!0||Np(t.textContent,o)?(a.popover!=null&&(Y("beforetoggle",t),Y("toggle",t)),a.onScroll!=null&&Y("scroll",t),a.onScrollEnd!=null&&Y("scrollend",t),a.onClick!=null&&(t.onclick=Ct),t=!0):t=!1,t||to(e,!0)}function Au(e){for(we=e.return;we;)switch(we.tag){case 5:case 31:case 13:dt=!1;return;case 27:case 3:dt=!0;return;default:we=we.return}}function na(e){if(e!==we)return!1;if(!Z)return Au(e),Z=!0,!1;var t=e.tag,o;if((o=t!==3&&t!==27)&&((o=t===5)&&(o=e.type,o=!(o!=="form"&&o!=="button")||Xc(e.type,e.memoizedProps)),o=!o),o&&se&&to(e),Au(e),t===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(h(317));se=Zp(e)}else if(t===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(h(317));se=Zp(e)}else t===27?(t=se,mo(e.type)?(e=Jc,Jc=null,se=e):se=t):se=we?ft(e.stateNode.nextSibling):null;return!0}function Co(){se=we=null,Z=!1}function Rl(){var e=eo;return e!==null&&(Ke===null?Ke=e:Ke.push.apply(Ke,e),eo=null),e}function Ka(e){eo===null?eo=[e]:eo.push(e)}var Cl=r(null),Oo=null,Ut=null;function oo(e,t,o){E(Cl,t._currentValue),t._currentValue=o}function Bt(e){e._currentValue=Cl.current,A(Cl)}function Ol(e,t,o){for(;e!==null;){var a=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,a!==null&&(a.childLanes|=t)):a!==null&&(a.childLanes&t)!==t&&(a.childLanes|=t),e===o)break;e=e.return}}function Ll(e,t,o,a){var i=e.child;for(i!==null&&(i.return=e);i!==null;){var n=i.dependencies;if(n!==null){var l=i.child;n=n.firstContext;e:for(;n!==null;){var c=n;n=i;for(var s=0;s<t.length;s++)if(c.context===t[s]){n.lanes|=o,c=n.alternate,c!==null&&(c.lanes|=o),Ol(n.return,o,e),a||(l=null);break e}n=c.next}}else if(i.tag===18){if(l=i.return,l===null)throw Error(h(341));l.lanes|=o,n=l.alternate,n!==null&&(n.lanes|=o),Ol(l,o,e),l=null}else l=i.child;if(l!==null)l.return=i;else for(l=i;l!==null;){if(l===e){l=null;break}if(i=l.sibling,i!==null){i.return=l.return,l=i;break}l=l.return}i=l}}function la(e,t,o,a){e=null;for(var i=t,n=!1;i!==null;){if(!n){if((i.flags&524288)!==0)n=!0;else if((i.flags&262144)!==0)break}if(i.tag===10){var l=i.alternate;if(l===null)throw Error(h(387));if(l=l.memoizedProps,l!==null){var c=i.type;Je(i.pendingProps.value,l.value)||(e!==null?e.push(c):e=[c])}}else if(i===J.current){if(l=i.alternate,l===null)throw Error(h(387));l.memoizedState.memoizedState!==i.memoizedState.memoizedState&&(e!==null?e.push(bi):e=[bi])}i=i.return}e!==null&&Ll(t,e,o,a),t.flags|=262144}function Zi(e){for(e=e.firstContext;e!==null;){if(!Je(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function Lo(e){Oo=e,Ut=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function xe(e){return Tu(Oo,e)}function Xi(e,t){return Oo===null&&Lo(e),Tu(e,t)}function Tu(e,t){var o=t._currentValue;if(t={context:t,memoizedValue:o,next:null},Ut===null){if(e===null)throw Error(h(308));Ut=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else Ut=Ut.next=t;return o}var Kg=typeof AbortController<"u"?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(o,a){e.push(a)}};this.abort=function(){t.aborted=!0,e.forEach(function(o){return o()})}},Zg=T.unstable_scheduleCallback,Xg=T.unstable_NormalPriority,ye={$$typeof:Re,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Hl(){return{controller:new Kg,data:new Map,refCount:0}}function Za(e){e.refCount--,e.refCount===0&&Zg(Xg,function(){e.controller.abort()})}var Xa=null,Ul=0,ca=0,sa=null;function Ig(e,t){if(Xa===null){var o=Xa=[];Ul=0,ca=_c(),sa={status:"pending",value:void 0,then:function(a){o.push(a)}}}return Ul++,t.then(zu,zu),t}function zu(){if(--Ul===0&&Xa!==null){sa!==null&&(sa.status="fulfilled");var e=Xa;Xa=null,ca=0,sa=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function Wg(e,t){var o=[],a={status:"pending",value:null,reason:null,then:function(i){o.push(i)}};return e.then(function(){a.status="fulfilled",a.value=t;for(var i=0;i<o.length;i++)(0,o[i])(t)},function(i){for(a.status="rejected",a.reason=i,i=0;i<o.length;i++)(0,o[i])(void 0)}),a}var Du=b.S;b.S=function(e,t){cp=We(),typeof t=="object"&&t!==null&&typeof t.then=="function"&&Ig(e,t),Du!==null&&Du(e,t)};var Ho=r(null);function Bl(){var e=Ho.current;return e!==null?e:ce.pooledCache}function Ii(e,t){t===null?E(Ho,Ho.current):E(Ho,t.pool)}function Eu(){var e=Bl();return e===null?null:{parent:ye._currentValue,pool:e}}var ua=Error(h(460)),Nl=Error(h(474)),Wi=Error(h(542)),Pi={then:function(){}};function wu(e){return e=e.status,e==="fulfilled"||e==="rejected"}function xu(e,t,o){switch(o=e[o],o===void 0?e.push(t):o!==t&&(t.then(Ct,Ct),t=o),t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,qu(e),e;default:if(typeof t.status=="string")t.then(Ct,Ct);else{if(e=ce,e!==null&&100<e.shellSuspendCounter)throw Error(h(482));e=t,e.status="pending",e.then(function(a){if(t.status==="pending"){var i=t;i.status="fulfilled",i.value=a}},function(a){if(t.status==="pending"){var i=t;i.status="rejected",i.reason=a}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,qu(e),e}throw Bo=t,ua}}function Uo(e){try{var t=e._init;return t(e._payload)}catch(o){throw o!==null&&typeof o=="object"&&typeof o.then=="function"?(Bo=o,ua):o}}var Bo=null;function Mu(){if(Bo===null)throw Error(h(459));var e=Bo;return Bo=null,e}function qu(e){if(e===ua||e===Wi)throw Error(h(483))}var ra=null,Ia=0;function Fi(e){var t=Ia;return Ia+=1,ra===null&&(ra=[]),xu(ra,e,t)}function Wa(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function Ji(e,t){throw t.$$typeof===re?Error(h(525)):(e=Object.prototype.toString.call(t),Error(h(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)))}function Ru(e){function t(p,u){if(e){var d=p.deletions;d===null?(p.deletions=[u],p.flags|=16):d.push(u)}}function o(p,u){if(!e)return null;for(;u!==null;)t(p,u),u=u.sibling;return null}function a(p){for(var u=new Map;p!==null;)p.key!==null?u.set(p.key,p):u.set(p.index,p),p=p.sibling;return u}function i(p,u){return p=Lt(p,u),p.index=0,p.sibling=null,p}function n(p,u,d){return p.index=d,e?(d=p.alternate,d!==null?(d=d.index,d<u?(p.flags|=67108866,u):d):(p.flags|=67108866,u)):(p.flags|=1048576,u)}function l(p){return e&&p.alternate===null&&(p.flags|=67108866),p}function c(p,u,d,v){return u===null||u.tag!==6?(u=El(d,p.mode,v),u.return=p,u):(u=i(u,d),u.return=p,u)}function s(p,u,d,v){var R=d.type;return R===Le?y(p,u,d.props.children,v,d.key):u!==null&&(u.elementType===R||typeof R=="object"&&R!==null&&R.$$typeof===_e&&Uo(R)===u.type)?(u=i(u,d.props),Wa(u,d),u.return=p,u):(u=ji(d.type,d.key,d.props,null,p.mode,v),Wa(u,d),u.return=p,u)}function g(p,u,d,v){return u===null||u.tag!==4||u.stateNode.containerInfo!==d.containerInfo||u.stateNode.implementation!==d.implementation?(u=wl(d,p.mode,v),u.return=p,u):(u=i(u,d.children||[]),u.return=p,u)}function y(p,u,d,v,R){return u===null||u.tag!==7?(u=Ro(d,p.mode,v,R),u.return=p,u):(u=i(u,d),u.return=p,u)}function S(p,u,d){if(typeof u=="string"&&u!==""||typeof u=="number"||typeof u=="bigint")return u=El(""+u,p.mode,d),u.return=p,u;if(typeof u=="object"&&u!==null){switch(u.$$typeof){case Xe:return d=ji(u.type,u.key,u.props,null,p.mode,d),Wa(d,u),d.return=p,d;case Be:return u=wl(u,p.mode,d),u.return=p,u;case _e:return u=Uo(u),S(p,u,d)}if(yt(u)||ke(u))return u=Ro(u,p.mode,d,null),u.return=p,u;if(typeof u.then=="function")return S(p,Fi(u),d);if(u.$$typeof===Re)return S(p,Xi(p,u),d);Ji(p,u)}return null}function f(p,u,d,v){var R=u!==null?u.key:null;if(typeof d=="string"&&d!==""||typeof d=="number"||typeof d=="bigint")return R!==null?null:c(p,u,""+d,v);if(typeof d=="object"&&d!==null){switch(d.$$typeof){case Xe:return d.key===R?s(p,u,d,v):null;case Be:return d.key===R?g(p,u,d,v):null;case _e:return d=Uo(d),f(p,u,d,v)}if(yt(d)||ke(d))return R!==null?null:y(p,u,d,v,null);if(typeof d.then=="function")return f(p,u,Fi(d),v);if(d.$$typeof===Re)return f(p,u,Xi(p,d),v);Ji(p,d)}return null}function m(p,u,d,v,R){if(typeof v=="string"&&v!==""||typeof v=="number"||typeof v=="bigint")return p=p.get(d)||null,c(u,p,""+v,R);if(typeof v=="object"&&v!==null){switch(v.$$typeof){case Xe:return p=p.get(v.key===null?d:v.key)||null,s(u,p,v,R);case Be:return p=p.get(v.key===null?d:v.key)||null,g(u,p,v,R);case _e:return v=Uo(v),m(p,u,d,v,R)}if(yt(v)||ke(v))return p=p.get(d)||null,y(u,p,v,R,null);if(typeof v.then=="function")return m(p,u,d,Fi(v),R);if(v.$$typeof===Re)return m(p,u,d,Xi(u,v),R);Ji(u,v)}return null}function w(p,u,d,v){for(var R=null,X=null,M=u,_=u=0,V=null;M!==null&&_<d.length;_++){M.index>_?(V=M,M=null):V=M.sibling;var I=f(p,M,d[_],v);if(I===null){M===null&&(M=V);break}e&&M&&I.alternate===null&&t(p,M),u=n(I,u,_),X===null?R=I:X.sibling=I,X=I,M=V}if(_===d.length)return o(p,M),Z&&Ht(p,_),R;if(M===null){for(;_<d.length;_++)M=S(p,d[_],v),M!==null&&(u=n(M,u,_),X===null?R=M:X.sibling=M,X=M);return Z&&Ht(p,_),R}for(M=a(M);_<d.length;_++)V=m(M,p,_,d[_],v),V!==null&&(e&&V.alternate!==null&&M.delete(V.key===null?_:V.key),u=n(V,u,_),X===null?R=V:X.sibling=V,X=V);return e&&M.forEach(function(Ao){return t(p,Ao)}),Z&&Ht(p,_),R}function O(p,u,d,v){if(d==null)throw Error(h(151));for(var R=null,X=null,M=u,_=u=0,V=null,I=d.next();M!==null&&!I.done;_++,I=d.next()){M.index>_?(V=M,M=null):V=M.sibling;var Ao=f(p,M,I.value,v);if(Ao===null){M===null&&(M=V);break}e&&M&&Ao.alternate===null&&t(p,M),u=n(Ao,u,_),X===null?R=Ao:X.sibling=Ao,X=Ao,M=V}if(I.done)return o(p,M),Z&&Ht(p,_),R;if(M===null){for(;!I.done;_++,I=d.next())I=S(p,I.value,v),I!==null&&(u=n(I,u,_),X===null?R=I:X.sibling=I,X=I);return Z&&Ht(p,_),R}for(M=a(M);!I.done;_++,I=d.next())I=m(M,p,_,I.value,v),I!==null&&(e&&I.alternate!==null&&M.delete(I.key===null?_:I.key),u=n(I,u,_),X===null?R=I:X.sibling=I,X=I);return e&&M.forEach(function(ch){return t(p,ch)}),Z&&Ht(p,_),R}function ne(p,u,d,v){if(typeof d=="object"&&d!==null&&d.type===Le&&d.key===null&&(d=d.props.children),typeof d=="object"&&d!==null){switch(d.$$typeof){case Xe:e:{for(var R=d.key;u!==null;){if(u.key===R){if(R=d.type,R===Le){if(u.tag===7){o(p,u.sibling),v=i(u,d.props.children),v.return=p,p=v;break e}}else if(u.elementType===R||typeof R=="object"&&R!==null&&R.$$typeof===_e&&Uo(R)===u.type){o(p,u.sibling),v=i(u,d.props),Wa(v,d),v.return=p,p=v;break e}o(p,u);break}else t(p,u);u=u.sibling}d.type===Le?(v=Ro(d.props.children,p.mode,v,d.key),v.return=p,p=v):(v=ji(d.type,d.key,d.props,null,p.mode,v),Wa(v,d),v.return=p,p=v)}return l(p);case Be:e:{for(R=d.key;u!==null;){if(u.key===R)if(u.tag===4&&u.stateNode.containerInfo===d.containerInfo&&u.stateNode.implementation===d.implementation){o(p,u.sibling),v=i(u,d.children||[]),v.return=p,p=v;break e}else{o(p,u);break}else t(p,u);u=u.sibling}v=wl(d,p.mode,v),v.return=p,p=v}return l(p);case _e:return d=Uo(d),ne(p,u,d,v)}if(yt(d))return w(p,u,d,v);if(ke(d)){if(R=ke(d),typeof R!="function")throw Error(h(150));return d=R.call(d),O(p,u,d,v)}if(typeof d.then=="function")return ne(p,u,Fi(d),v);if(d.$$typeof===Re)return ne(p,u,Xi(p,d),v);Ji(p,d)}return typeof d=="string"&&d!==""||typeof d=="number"||typeof d=="bigint"?(d=""+d,u!==null&&u.tag===6?(o(p,u.sibling),v=i(u,d),v.return=p,p=v):(o(p,u),v=El(d,p.mode,v),v.return=p,p=v),l(p)):o(p,u)}return function(p,u,d,v){try{Ia=0;var R=ne(p,u,d,v);return ra=null,R}catch(M){if(M===ua||M===Wi)throw M;var X=$e(29,M,null,p.mode);return X.lanes=v,X.return=p,X}finally{}}}var No=Ru(!0),Cu=Ru(!1),ao=!1;function _l(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function kl(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function io(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function no(e,t,o){var a=e.updateQueue;if(a===null)return null;if(a=a.shared,(P&2)!==0){var i=a.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),a.pending=t,t=Vi(e),fu(e,null,o),t}return Qi(e,a,t,o),Vi(e)}function Pa(e,t,o){if(t=t.updateQueue,t!==null&&(t=t.shared,(o&4194048)!==0)){var a=t.lanes;a&=e.pendingLanes,o|=a,t.lanes=o,Ts(e,o)}}function Gl(e,t){var o=e.updateQueue,a=e.alternate;if(a!==null&&(a=a.updateQueue,o===a)){var i=null,n=null;if(o=o.firstBaseUpdate,o!==null){do{var l={lane:o.lane,tag:o.tag,payload:o.payload,callback:null,next:null};n===null?i=n=l:n=n.next=l,o=o.next}while(o!==null);n===null?i=n=t:n=n.next=t}else i=n=t;o={baseState:a.baseState,firstBaseUpdate:i,lastBaseUpdate:n,shared:a.shared,callbacks:a.callbacks},e.updateQueue=o;return}e=o.lastBaseUpdate,e===null?o.firstBaseUpdate=t:e.next=t,o.lastBaseUpdate=t}var Yl=!1;function Fa(){if(Yl){var e=sa;if(e!==null)throw e}}function Ja(e,t,o,a){Yl=!1;var i=e.updateQueue;ao=!1;var n=i.firstBaseUpdate,l=i.lastBaseUpdate,c=i.shared.pending;if(c!==null){i.shared.pending=null;var s=c,g=s.next;s.next=null,l===null?n=g:l.next=g,l=s;var y=e.alternate;y!==null&&(y=y.updateQueue,c=y.lastBaseUpdate,c!==l&&(c===null?y.firstBaseUpdate=g:c.next=g,y.lastBaseUpdate=s))}if(n!==null){var S=i.baseState;l=0,y=g=s=null,c=n;do{var f=c.lane&-536870913,m=f!==c.lane;if(m?(Q&f)===f:(a&f)===f){f!==0&&f===ca&&(Yl=!0),y!==null&&(y=y.next={lane:0,tag:c.tag,payload:c.payload,callback:null,next:null});e:{var w=e,O=c;f=t;var ne=o;switch(O.tag){case 1:if(w=O.payload,typeof w=="function"){S=w.call(ne,S,f);break e}S=w;break e;case 3:w.flags=w.flags&-65537|128;case 0:if(w=O.payload,f=typeof w=="function"?w.call(ne,S,f):w,f==null)break e;S=L({},S,f);break e;case 2:ao=!0}}f=c.callback,f!==null&&(e.flags|=64,m&&(e.flags|=8192),m=i.callbacks,m===null?i.callbacks=[f]:m.push(f))}else m={lane:f,tag:c.tag,payload:c.payload,callback:c.callback,next:null},y===null?(g=y=m,s=S):y=y.next=m,l|=f;if(c=c.next,c===null){if(c=i.shared.pending,c===null)break;m=c,c=m.next,m.next=null,i.lastBaseUpdate=m,i.shared.pending=null}}while(!0);y===null&&(s=S),i.baseState=s,i.firstBaseUpdate=g,i.lastBaseUpdate=y,n===null&&(i.shared.lanes=0),ro|=l,e.lanes=l,e.memoizedState=S}}function Ou(e,t){if(typeof e!="function")throw Error(h(191,e));e.call(t)}function Lu(e,t){var o=e.callbacks;if(o!==null)for(e.callbacks=null,e=0;e<o.length;e++)Ou(o[e],t)}var pa=r(null),$i=r(0);function Hu(e,t){e=Kt,E($i,e),E(pa,t),Kt=e|t.baseLanes}function Ql(){E($i,Kt),E(pa,pa.current)}function Vl(){Kt=$i.current,A(pa),A($i)}var et=r(null),gt=null;function lo(e){var t=e.alternate;E(he,he.current&1),E(et,e),gt===null&&(t===null||pa.current!==null||t.memoizedState!==null)&&(gt=e)}function jl(e){E(he,he.current),E(et,e),gt===null&&(gt=e)}function Uu(e){e.tag===22?(E(he,he.current),E(et,e),gt===null&&(gt=e)):co()}function co(){E(he,he.current),E(et,et.current)}function tt(e){A(et),gt===e&&(gt=null),A(he)}var he=r(0);function en(e){for(var t=e;t!==null;){if(t.tag===13){var o=t.memoizedState;if(o!==null&&(o=o.dehydrated,o===null||Pc(o)||Fc(o)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder==="forwards"||t.memoizedProps.revealOrder==="backwards"||t.memoizedProps.revealOrder==="unstable_legacy-backwards"||t.memoizedProps.revealOrder==="together")){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Nt=0,N=null,ae=null,be=null,tn=!1,da=!1,_o=!1,on=0,$a=0,ga=null,Pg=0;function de(){throw Error(h(321))}function Kl(e,t){if(t===null)return!1;for(var o=0;o<t.length&&o<e.length;o++)if(!Je(e[o],t[o]))return!1;return!0}function Zl(e,t,o,a,i,n){return Nt=n,N=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,b.H=e===null||e.memoizedState===null?br:cc,_o=!1,n=o(a,i),_o=!1,da&&(n=Nu(t,o,a,i)),Bu(e),n}function Bu(e){b.H=oi;var t=ae!==null&&ae.next!==null;if(Nt=0,be=ae=N=null,tn=!1,$a=0,ga=null,t)throw Error(h(300));e===null||ve||(e=e.dependencies,e!==null&&Zi(e)&&(ve=!0))}function Nu(e,t,o,a){N=e;var i=0;do{if(da&&(ga=null),$a=0,da=!1,25<=i)throw Error(h(301));if(i+=1,be=ae=null,e.updateQueue!=null){var n=e.updateQueue;n.lastEffect=null,n.events=null,n.stores=null,n.memoCache!=null&&(n.memoCache.index=0)}b.H=vr,n=t(o,a)}while(da);return n}function Fg(){var e=b.H,t=e.useState()[0];return t=typeof t.then=="function"?ei(t):t,e=e.useState()[0],(ae!==null?ae.memoizedState:null)!==e&&(N.flags|=1024),t}function Xl(){var e=on!==0;return on=0,e}function Il(e,t,o){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o}function Wl(e){if(tn){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}tn=!1}Nt=0,be=ae=N=null,da=!1,$a=on=0,ga=null}function Ue(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return be===null?N.memoizedState=be=e:be=be.next=e,be}function me(){if(ae===null){var e=N.alternate;e=e!==null?e.memoizedState:null}else e=ae.next;var t=be===null?N.memoizedState:be.next;if(t!==null)be=t,ae=e;else{if(e===null)throw N.alternate===null?Error(h(467)):Error(h(310));ae=e,e={memoizedState:ae.memoizedState,baseState:ae.baseState,baseQueue:ae.baseQueue,queue:ae.queue,next:null},be===null?N.memoizedState=be=e:be=be.next=e}return be}function an(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function ei(e){var t=$a;return $a+=1,ga===null&&(ga=[]),e=xu(ga,e,t),t=N,(be===null?t.memoizedState:be.next)===null&&(t=t.alternate,b.H=t===null||t.memoizedState===null?br:cc),e}function nn(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return ei(e);if(e.$$typeof===Re)return xe(e)}throw Error(h(438,String(e)))}function Pl(e){var t=null,o=N.updateQueue;if(o!==null&&(t=o.memoCache),t==null){var a=N.alternate;a!==null&&(a=a.updateQueue,a!==null&&(a=a.memoCache,a!=null&&(t={data:a.data.map(function(i){return i.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),o===null&&(o=an(),N.updateQueue=o),o.memoCache=t,o=t.data[t.index],o===void 0)for(o=t.data[t.index]=Array(e),a=0;a<e;a++)o[a]=Qo;return t.index++,o}function _t(e,t){return typeof t=="function"?t(e):t}function ln(e){var t=me();return Fl(t,ae,e)}function Fl(e,t,o){var a=e.queue;if(a===null)throw Error(h(311));a.lastRenderedReducer=o;var i=e.baseQueue,n=a.pending;if(n!==null){if(i!==null){var l=i.next;i.next=n.next,n.next=l}t.baseQueue=i=n,a.pending=null}if(n=e.baseState,i===null)e.memoizedState=n;else{t=i.next;var c=l=null,s=null,g=t,y=!1;do{var S=g.lane&-536870913;if(S!==g.lane?(Q&S)===S:(Nt&S)===S){var f=g.revertLane;if(f===0)s!==null&&(s=s.next={lane:0,revertLane:0,gesture:null,action:g.action,hasEagerState:g.hasEagerState,eagerState:g.eagerState,next:null}),S===ca&&(y=!0);else if((Nt&f)===f){g=g.next,f===ca&&(y=!0);continue}else S={lane:0,revertLane:g.revertLane,gesture:null,action:g.action,hasEagerState:g.hasEagerState,eagerState:g.eagerState,next:null},s===null?(c=s=S,l=n):s=s.next=S,N.lanes|=f,ro|=f;S=g.action,_o&&o(n,S),n=g.hasEagerState?g.eagerState:o(n,S)}else f={lane:S,revertLane:g.revertLane,gesture:g.gesture,action:g.action,hasEagerState:g.hasEagerState,eagerState:g.eagerState,next:null},s===null?(c=s=f,l=n):s=s.next=f,N.lanes|=S,ro|=S;g=g.next}while(g!==null&&g!==t);if(s===null?l=n:s.next=c,!Je(n,e.memoizedState)&&(ve=!0,y&&(o=sa,o!==null)))throw o;e.memoizedState=n,e.baseState=l,e.baseQueue=s,a.lastRenderedState=n}return i===null&&(a.lanes=0),[e.memoizedState,a.dispatch]}function Jl(e){var t=me(),o=t.queue;if(o===null)throw Error(h(311));o.lastRenderedReducer=e;var a=o.dispatch,i=o.pending,n=t.memoizedState;if(i!==null){o.pending=null;var l=i=i.next;do n=e(n,l.action),l=l.next;while(l!==i);Je(n,t.memoizedState)||(ve=!0),t.memoizedState=n,t.baseQueue===null&&(t.baseState=n),o.lastRenderedState=n}return[n,a]}function _u(e,t,o){var a=N,i=me(),n=Z;if(n){if(o===void 0)throw Error(h(407));o=o()}else o=t();var l=!Je((ae||i).memoizedState,o);if(l&&(i.memoizedState=o,ve=!0),i=i.queue,tc(Yu.bind(null,a,i,e),[e]),i.getSnapshot!==t||l||be!==null&&be.memoizedState.tag&1){if(a.flags|=2048,fa(9,{destroy:void 0},Gu.bind(null,a,i,o,t),null),ce===null)throw Error(h(349));n||(Nt&127)!==0||ku(a,t,o)}return o}function ku(e,t,o){e.flags|=16384,e={getSnapshot:t,value:o},t=N.updateQueue,t===null?(t=an(),N.updateQueue=t,t.stores=[e]):(o=t.stores,o===null?t.stores=[e]:o.push(e))}function Gu(e,t,o,a){t.value=o,t.getSnapshot=a,Qu(t)&&Vu(e)}function Yu(e,t,o){return o(function(){Qu(t)&&Vu(e)})}function Qu(e){var t=e.getSnapshot;e=e.value;try{var o=t();return!Je(e,o)}catch{return!0}}function Vu(e){var t=qo(e,2);t!==null&&Ze(t,e,2)}function $l(e){var t=Ue();if(typeof e=="function"){var o=e;if(e=o(),_o){Pt(!0);try{o()}finally{Pt(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:_t,lastRenderedState:e},t}function ju(e,t,o,a){return e.baseState=o,Fl(e,ae,typeof a=="function"?a:_t)}function Jg(e,t,o,a,i){if(un(e))throw Error(h(485));if(e=t.action,e!==null){var n={payload:i,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(l){n.listeners.push(l)}};b.T!==null?o(!0):n.isTransition=!1,a(n),o=t.pending,o===null?(n.next=t.pending=n,Ku(t,n)):(n.next=o.next,t.pending=o.next=n)}}function Ku(e,t){var o=t.action,a=t.payload,i=e.state;if(t.isTransition){var n=b.T,l={};b.T=l;try{var c=o(i,a),s=b.S;s!==null&&s(l,c),Zu(e,t,c)}catch(g){ec(e,t,g)}finally{n!==null&&l.types!==null&&(n.types=l.types),b.T=n}}else try{n=o(i,a),Zu(e,t,n)}catch(g){ec(e,t,g)}}function Zu(e,t,o){o!==null&&typeof o=="object"&&typeof o.then=="function"?o.then(function(a){Xu(e,t,a)},function(a){return ec(e,t,a)}):Xu(e,t,o)}function Xu(e,t,o){t.status="fulfilled",t.value=o,Iu(t),e.state=o,t=e.pending,t!==null&&(o=t.next,o===t?e.pending=null:(o=o.next,t.next=o,Ku(e,o)))}function ec(e,t,o){var a=e.pending;if(e.pending=null,a!==null){a=a.next;do t.status="rejected",t.reason=o,Iu(t),t=t.next;while(t!==a)}e.action=null}function Iu(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function Wu(e,t){return t}function Pu(e,t){if(Z){var o=ce.formState;if(o!==null){e:{var a=N;if(Z){if(se){t:{for(var i=se,n=dt;i.nodeType!==8;){if(!n){i=null;break t}if(i=ft(i.nextSibling),i===null){i=null;break t}}n=i.data,i=n==="F!"||n==="F"?i:null}if(i){se=ft(i.nextSibling),a=i.data==="F!";break e}}to(a)}a=!1}a&&(t=o[0])}}return o=Ue(),o.memoizedState=o.baseState=t,a={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Wu,lastRenderedState:t},o.queue=a,o=hr.bind(null,N,a),a.dispatch=o,a=$l(!1),n=lc.bind(null,N,!1,a.queue),a=Ue(),i={state:t,dispatch:null,action:e,pending:null},a.queue=i,o=Jg.bind(null,N,i,n,o),i.dispatch=o,a.memoizedState=e,[t,o,!1]}function Fu(e){var t=me();return Ju(t,ae,e)}function Ju(e,t,o){if(t=Fl(e,t,Wu)[0],e=ln(_t)[0],typeof t=="object"&&t!==null&&typeof t.then=="function")try{var a=ei(t)}catch(l){throw l===ua?Wi:l}else a=t;t=me();var i=t.queue,n=i.dispatch;return o!==t.memoizedState&&(N.flags|=2048,fa(9,{destroy:void 0},$g.bind(null,i,o),null)),[a,n,e]}function $g(e,t){e.action=t}function $u(e){var t=me(),o=ae;if(o!==null)return Ju(t,o,e);me(),t=t.memoizedState,o=me();var a=o.queue.dispatch;return o.memoizedState=e,[t,a,!1]}function fa(e,t,o,a){return e={tag:e,create:o,deps:a,inst:t,next:null},t=N.updateQueue,t===null&&(t=an(),N.updateQueue=t),o=t.lastEffect,o===null?t.lastEffect=e.next=e:(a=o.next,o.next=e,e.next=a,t.lastEffect=e),e}function er(){return me().memoizedState}function cn(e,t,o,a){var i=Ue();N.flags|=e,i.memoizedState=fa(1|t,{destroy:void 0},o,a===void 0?null:a)}function sn(e,t,o,a){var i=me();a=a===void 0?null:a;var n=i.memoizedState.inst;ae!==null&&a!==null&&Kl(a,ae.memoizedState.deps)?i.memoizedState=fa(t,n,o,a):(N.flags|=e,i.memoizedState=fa(1|t,n,o,a))}function tr(e,t){cn(8390656,8,e,t)}function tc(e,t){sn(2048,8,e,t)}function ef(e){N.flags|=4;var t=N.updateQueue;if(t===null)t=an(),N.updateQueue=t,t.events=[e];else{var o=t.events;o===null?t.events=[e]:o.push(e)}}function or(e){var t=me().memoizedState;return ef({ref:t,nextImpl:e}),function(){if((P&2)!==0)throw Error(h(440));return t.impl.apply(void 0,arguments)}}function ar(e,t){return sn(4,2,e,t)}function ir(e,t){return sn(4,4,e,t)}function nr(e,t){if(typeof t=="function"){e=e();var o=t(e);return function(){typeof o=="function"?o():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function lr(e,t,o){o=o!=null?o.concat([e]):null,sn(4,4,nr.bind(null,t,e),o)}function oc(){}function cr(e,t){var o=me();t=t===void 0?null:t;var a=o.memoizedState;return t!==null&&Kl(t,a[1])?a[0]:(o.memoizedState=[e,t],e)}function sr(e,t){var o=me();t=t===void 0?null:t;var a=o.memoizedState;if(t!==null&&Kl(t,a[1]))return a[0];if(a=e(),_o){Pt(!0);try{e()}finally{Pt(!1)}}return o.memoizedState=[a,t],a}function ac(e,t,o){return o===void 0||(Nt&1073741824)!==0&&(Q&261930)===0?e.memoizedState=t:(e.memoizedState=o,e=up(),N.lanes|=e,ro|=e,o)}function ur(e,t,o,a){return Je(o,t)?o:pa.current!==null?(e=ac(e,o,a),Je(e,t)||(ve=!0),e):(Nt&42)===0||(Nt&1073741824)!==0&&(Q&261930)===0?(ve=!0,e.memoizedState=o):(e=up(),N.lanes|=e,ro|=e,t)}function rr(e,t,o,a,i){var n=D.p;D.p=n!==0&&8>n?n:8;var l=b.T,c={};b.T=c,lc(e,!1,t,o);try{var s=i(),g=b.S;if(g!==null&&g(c,s),s!==null&&typeof s=="object"&&typeof s.then=="function"){var y=Wg(s,a);ti(e,t,y,it(e))}else ti(e,t,a,it(e))}catch(S){ti(e,t,{then:function(){},status:"rejected",reason:S},it())}finally{D.p=n,l!==null&&c.types!==null&&(l.types=c.types),b.T=l}}function tf(){}function ic(e,t,o,a){if(e.tag!==5)throw Error(h(476));var i=pr(e).queue;rr(e,i,t,H,o===null?tf:function(){return dr(e),o(a)})}function pr(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:H,baseState:H,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:_t,lastRenderedState:H},next:null};var o={};return t.next={memoizedState:o,baseState:o,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:_t,lastRenderedState:o},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function dr(e){var t=pr(e);t.next===null&&(t=e.alternate.memoizedState),ti(e,t.next.queue,{},it())}function nc(){return xe(bi)}function gr(){return me().memoizedState}function fr(){return me().memoizedState}function of(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var o=it();e=io(o);var a=no(t,e,o);a!==null&&(Ze(a,t,o),Pa(a,t,o)),t={cache:Hl()},e.payload=t;return}t=t.return}}function af(e,t,o){var a=it();o={lane:a,revertLane:0,gesture:null,action:o,hasEagerState:!1,eagerState:null,next:null},un(e)?mr(t,o):(o=zl(e,t,o,a),o!==null&&(Ze(o,e,a),yr(o,t,a)))}function hr(e,t,o){var a=it();ti(e,t,o,a)}function ti(e,t,o,a){var i={lane:a,revertLane:0,gesture:null,action:o,hasEagerState:!1,eagerState:null,next:null};if(un(e))mr(t,i);else{var n=e.alternate;if(e.lanes===0&&(n===null||n.lanes===0)&&(n=t.lastRenderedReducer,n!==null))try{var l=t.lastRenderedState,c=n(l,o);if(i.hasEagerState=!0,i.eagerState=c,Je(c,l))return Qi(e,t,i,0),ce===null&&Yi(),!1}catch{}finally{}if(o=zl(e,t,i,a),o!==null)return Ze(o,e,a),yr(o,t,a),!0}return!1}function lc(e,t,o,a){if(a={lane:2,revertLane:_c(),gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},un(e)){if(t)throw Error(h(479))}else t=zl(e,o,a,2),t!==null&&Ze(t,e,2)}function un(e){var t=e.alternate;return e===N||t!==null&&t===N}function mr(e,t){da=tn=!0;var o=e.pending;o===null?t.next=t:(t.next=o.next,o.next=t),e.pending=t}function yr(e,t,o){if((o&4194048)!==0){var a=t.lanes;a&=e.pendingLanes,o|=a,t.lanes=o,Ts(e,o)}}var oi={readContext:xe,use:nn,useCallback:de,useContext:de,useEffect:de,useImperativeHandle:de,useLayoutEffect:de,useInsertionEffect:de,useMemo:de,useReducer:de,useRef:de,useState:de,useDebugValue:de,useDeferredValue:de,useTransition:de,useSyncExternalStore:de,useId:de,useHostTransitionStatus:de,useFormState:de,useActionState:de,useOptimistic:de,useMemoCache:de,useCacheRefresh:de};oi.useEffectEvent=de;var br={readContext:xe,use:nn,useCallback:function(e,t){return Ue().memoizedState=[e,t===void 0?null:t],e},useContext:xe,useEffect:tr,useImperativeHandle:function(e,t,o){o=o!=null?o.concat([e]):null,cn(4194308,4,nr.bind(null,t,e),o)},useLayoutEffect:function(e,t){return cn(4194308,4,e,t)},useInsertionEffect:function(e,t){cn(4,2,e,t)},useMemo:function(e,t){var o=Ue();t=t===void 0?null:t;var a=e();if(_o){Pt(!0);try{e()}finally{Pt(!1)}}return o.memoizedState=[a,t],a},useReducer:function(e,t,o){var a=Ue();if(o!==void 0){var i=o(t);if(_o){Pt(!0);try{o(t)}finally{Pt(!1)}}}else i=t;return a.memoizedState=a.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},a.queue=e,e=e.dispatch=af.bind(null,N,e),[a.memoizedState,e]},useRef:function(e){var t=Ue();return e={current:e},t.memoizedState=e},useState:function(e){e=$l(e);var t=e.queue,o=hr.bind(null,N,t);return t.dispatch=o,[e.memoizedState,o]},useDebugValue:oc,useDeferredValue:function(e,t){var o=Ue();return ac(o,e,t)},useTransition:function(){var e=$l(!1);return e=rr.bind(null,N,e.queue,!0,!1),Ue().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,o){var a=N,i=Ue();if(Z){if(o===void 0)throw Error(h(407));o=o()}else{if(o=t(),ce===null)throw Error(h(349));(Q&127)!==0||ku(a,t,o)}i.memoizedState=o;var n={value:o,getSnapshot:t};return i.queue=n,tr(Yu.bind(null,a,n,e),[e]),a.flags|=2048,fa(9,{destroy:void 0},Gu.bind(null,a,n,o,t),null),o},useId:function(){var e=Ue(),t=ce.identifierPrefix;if(Z){var o=Et,a=Dt;o=(a&~(1<<32-Fe(a)-1)).toString(32)+o,t="_"+t+"R_"+o,o=on++,0<o&&(t+="H"+o.toString(32)),t+="_"}else o=Pg++,t="_"+t+"r_"+o.toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:nc,useFormState:Pu,useActionState:Pu,useOptimistic:function(e){var t=Ue();t.memoizedState=t.baseState=e;var o={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=o,t=lc.bind(null,N,!0,o),o.dispatch=t,[e,t]},useMemoCache:Pl,useCacheRefresh:function(){return Ue().memoizedState=of.bind(null,N)},useEffectEvent:function(e){var t=Ue(),o={impl:e};return t.memoizedState=o,function(){if((P&2)!==0)throw Error(h(440));return o.impl.apply(void 0,arguments)}}},cc={readContext:xe,use:nn,useCallback:cr,useContext:xe,useEffect:tc,useImperativeHandle:lr,useInsertionEffect:ar,useLayoutEffect:ir,useMemo:sr,useReducer:ln,useRef:er,useState:function(){return ln(_t)},useDebugValue:oc,useDeferredValue:function(e,t){var o=me();return ur(o,ae.memoizedState,e,t)},useTransition:function(){var e=ln(_t)[0],t=me().memoizedState;return[typeof e=="boolean"?e:ei(e),t]},useSyncExternalStore:_u,useId:gr,useHostTransitionStatus:nc,useFormState:Fu,useActionState:Fu,useOptimistic:function(e,t){var o=me();return ju(o,ae,e,t)},useMemoCache:Pl,useCacheRefresh:fr};cc.useEffectEvent=or;var vr={readContext:xe,use:nn,useCallback:cr,useContext:xe,useEffect:tc,useImperativeHandle:lr,useInsertionEffect:ar,useLayoutEffect:ir,useMemo:sr,useReducer:Jl,useRef:er,useState:function(){return Jl(_t)},useDebugValue:oc,useDeferredValue:function(e,t){var o=me();return ae===null?ac(o,e,t):ur(o,ae.memoizedState,e,t)},useTransition:function(){var e=Jl(_t)[0],t=me().memoizedState;return[typeof e=="boolean"?e:ei(e),t]},useSyncExternalStore:_u,useId:gr,useHostTransitionStatus:nc,useFormState:$u,useActionState:$u,useOptimistic:function(e,t){var o=me();return ae!==null?ju(o,ae,e,t):(o.baseState=e,[e,o.queue.dispatch])},useMemoCache:Pl,useCacheRefresh:fr};vr.useEffectEvent=or;function sc(e,t,o,a){t=e.memoizedState,o=o(a,t),o=o==null?t:L({},t,o),e.memoizedState=o,e.lanes===0&&(e.updateQueue.baseState=o)}var uc={enqueueSetState:function(e,t,o){e=e._reactInternals;var a=it(),i=io(a);i.payload=t,o!=null&&(i.callback=o),t=no(e,i,a),t!==null&&(Ze(t,e,a),Pa(t,e,a))},enqueueReplaceState:function(e,t,o){e=e._reactInternals;var a=it(),i=io(a);i.tag=1,i.payload=t,o!=null&&(i.callback=o),t=no(e,i,a),t!==null&&(Ze(t,e,a),Pa(t,e,a))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var o=it(),a=io(o);a.tag=2,t!=null&&(a.callback=t),t=no(e,a,o),t!==null&&(Ze(t,e,o),Pa(t,e,o))}};function Sr(e,t,o,a,i,n,l){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(a,n,l):t.prototype&&t.prototype.isPureReactComponent?!Qa(o,a)||!Qa(i,n):!0}function Ar(e,t,o,a){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(o,a),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(o,a),t.state!==e&&uc.enqueueReplaceState(t,t.state,null)}function ko(e,t){var o=t;if("ref"in t){o={};for(var a in t)a!=="ref"&&(o[a]=t[a])}if(e=e.defaultProps){o===t&&(o=L({},o));for(var i in e)o[i]===void 0&&(o[i]=e[i])}return o}function Tr(e){Gi(e)}function zr(e){console.error(e)}function Dr(e){Gi(e)}function rn(e,t){try{var o=e.onUncaughtError;o(t.value,{componentStack:t.stack})}catch(a){setTimeout(function(){throw a})}}function Er(e,t,o){try{var a=e.onCaughtError;a(o.value,{componentStack:o.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(i){setTimeout(function(){throw i})}}function rc(e,t,o){return o=io(o),o.tag=3,o.payload={element:null},o.callback=function(){rn(e,t)},o}function wr(e){return e=io(e),e.tag=3,e}function xr(e,t,o,a){var i=o.type.getDerivedStateFromError;if(typeof i=="function"){var n=a.value;e.payload=function(){return i(n)},e.callback=function(){Er(t,o,a)}}var l=o.stateNode;l!==null&&typeof l.componentDidCatch=="function"&&(e.callback=function(){Er(t,o,a),typeof i!="function"&&(po===null?po=new Set([this]):po.add(this));var c=a.stack;this.componentDidCatch(a.value,{componentStack:c!==null?c:""})})}function nf(e,t,o,a,i){if(o.flags|=32768,a!==null&&typeof a=="object"&&typeof a.then=="function"){if(t=o.alternate,t!==null&&la(t,o,i,!0),o=et.current,o!==null){switch(o.tag){case 31:case 13:return gt===null?Tn():o.alternate===null&&ge===0&&(ge=3),o.flags&=-257,o.flags|=65536,o.lanes=i,a===Pi?o.flags|=16384:(t=o.updateQueue,t===null?o.updateQueue=new Set([a]):t.add(a),Uc(e,a,i)),!1;case 22:return o.flags|=65536,a===Pi?o.flags|=16384:(t=o.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([a])},o.updateQueue=t):(o=t.retryQueue,o===null?t.retryQueue=new Set([a]):o.add(a)),Uc(e,a,i)),!1}throw Error(h(435,o.tag))}return Uc(e,a,i),Tn(),!1}if(Z)return t=et.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=i,a!==ql&&(e=Error(h(422),{cause:a}),Ka(ut(e,o)))):(a!==ql&&(t=Error(h(423),{cause:a}),Ka(ut(t,o))),e=e.current.alternate,e.flags|=65536,i&=-i,e.lanes|=i,a=ut(a,o),i=rc(e.stateNode,a,i),Gl(e,i),ge!==4&&(ge=2)),!1;var n=Error(h(520),{cause:a});if(n=ut(n,o),ri===null?ri=[n]:ri.push(n),ge!==4&&(ge=2),t===null)return!0;a=ut(a,o),o=t;do{switch(o.tag){case 3:return o.flags|=65536,e=i&-i,o.lanes|=e,e=rc(o.stateNode,a,e),Gl(o,e),!1;case 1:if(t=o.type,n=o.stateNode,(o.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||n!==null&&typeof n.componentDidCatch=="function"&&(po===null||!po.has(n))))return o.flags|=65536,i&=-i,o.lanes|=i,i=wr(i),xr(i,e,o,a),Gl(o,i),!1}o=o.return}while(o!==null);return!1}var pc=Error(h(461)),ve=!1;function Me(e,t,o,a){t.child=e===null?Cu(t,null,o,a):No(t,e.child,o,a)}function Mr(e,t,o,a,i){o=o.render;var n=t.ref;if("ref"in a){var l={};for(var c in a)c!=="ref"&&(l[c]=a[c])}else l=a;return Lo(t),a=Zl(e,t,o,l,n,i),c=Xl(),e!==null&&!ve?(Il(e,t,i),kt(e,t,i)):(Z&&c&&xl(t),t.flags|=1,Me(e,t,a,i),t.child)}function qr(e,t,o,a,i){if(e===null){var n=o.type;return typeof n=="function"&&!Dl(n)&&n.defaultProps===void 0&&o.compare===null?(t.tag=15,t.type=n,Rr(e,t,n,a,i)):(e=ji(o.type,null,a,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(n=e.child,!vc(e,i)){var l=n.memoizedProps;if(o=o.compare,o=o!==null?o:Qa,o(l,a)&&e.ref===t.ref)return kt(e,t,i)}return t.flags|=1,e=Lt(n,a),e.ref=t.ref,e.return=t,t.child=e}function Rr(e,t,o,a,i){if(e!==null){var n=e.memoizedProps;if(Qa(n,a)&&e.ref===t.ref)if(ve=!1,t.pendingProps=a=n,vc(e,i))(e.flags&131072)!==0&&(ve=!0);else return t.lanes=e.lanes,kt(e,t,i)}return dc(e,t,o,a,i)}function Cr(e,t,o,a){var i=a.children,n=e!==null?e.memoizedState:null;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),a.mode==="hidden"){if((t.flags&128)!==0){if(n=n!==null?n.baseLanes|o:o,e!==null){for(a=t.child=e.child,i=0;a!==null;)i=i|a.lanes|a.childLanes,a=a.sibling;a=i&~n}else a=0,t.child=null;return Or(e,t,n,o,a)}if((o&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&Ii(t,n!==null?n.cachePool:null),n!==null?Hu(t,n):Ql(),Uu(t);else return a=t.lanes=536870912,Or(e,t,n!==null?n.baseLanes|o:o,o,a)}else n!==null?(Ii(t,n.cachePool),Hu(t,n),co(),t.memoizedState=null):(e!==null&&Ii(t,null),Ql(),co());return Me(e,t,i,o),t.child}function ai(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function Or(e,t,o,a,i){var n=Bl();return n=n===null?null:{parent:ye._currentValue,pool:n},t.memoizedState={baseLanes:o,cachePool:n},e!==null&&Ii(t,null),Ql(),Uu(t),e!==null&&la(e,t,a,!0),t.childLanes=i,null}function pn(e,t){return t=gn({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function Lr(e,t,o){return No(t,e.child,null,o),e=pn(t,t.pendingProps),e.flags|=2,tt(t),t.memoizedState=null,e}function lf(e,t,o){var a=t.pendingProps,i=(t.flags&128)!==0;if(t.flags&=-129,e===null){if(Z){if(a.mode==="hidden")return e=pn(t,a),t.lanes=536870912,ai(null,e);if(jl(t),(e=se)?(e=Kp(e,dt),e=e!==null&&e.data==="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:$t!==null?{id:Dt,overflow:Et}:null,retryLane:536870912,hydrationErrors:null},o=mu(e),o.return=t,t.child=o,we=t,se=null)):e=null,e===null)throw to(t);return t.lanes=536870912,null}return pn(t,a)}var n=e.memoizedState;if(n!==null){var l=n.dehydrated;if(jl(t),i)if(t.flags&256)t.flags&=-257,t=Lr(e,t,o);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(h(558));else if(ve||la(e,t,o,!1),i=(o&e.childLanes)!==0,ve||i){if(a=ce,a!==null&&(l=zs(a,o),l!==0&&l!==n.retryLane))throw n.retryLane=l,qo(e,l),Ze(a,e,l),pc;Tn(),t=Lr(e,t,o)}else e=n.treeContext,se=ft(l.nextSibling),we=t,Z=!0,eo=null,dt=!1,e!==null&&vu(t,e),t=pn(t,a),t.flags|=4096;return t}return e=Lt(e.child,{mode:a.mode,children:a.children}),e.ref=t.ref,t.child=e,e.return=t,e}function dn(e,t){var o=t.ref;if(o===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof o!="function"&&typeof o!="object")throw Error(h(284));(e===null||e.ref!==o)&&(t.flags|=4194816)}}function dc(e,t,o,a,i){return Lo(t),o=Zl(e,t,o,a,void 0,i),a=Xl(),e!==null&&!ve?(Il(e,t,i),kt(e,t,i)):(Z&&a&&xl(t),t.flags|=1,Me(e,t,o,i),t.child)}function Hr(e,t,o,a,i,n){return Lo(t),t.updateQueue=null,o=Nu(t,a,o,i),Bu(e),a=Xl(),e!==null&&!ve?(Il(e,t,n),kt(e,t,n)):(Z&&a&&xl(t),t.flags|=1,Me(e,t,o,n),t.child)}function Ur(e,t,o,a,i){if(Lo(t),t.stateNode===null){var n=oa,l=o.contextType;typeof l=="object"&&l!==null&&(n=xe(l)),n=new o(a,n),t.memoizedState=n.state!==null&&n.state!==void 0?n.state:null,n.updater=uc,t.stateNode=n,n._reactInternals=t,n=t.stateNode,n.props=a,n.state=t.memoizedState,n.refs={},_l(t),l=o.contextType,n.context=typeof l=="object"&&l!==null?xe(l):oa,n.state=t.memoizedState,l=o.getDerivedStateFromProps,typeof l=="function"&&(sc(t,o,l,a),n.state=t.memoizedState),typeof o.getDerivedStateFromProps=="function"||typeof n.getSnapshotBeforeUpdate=="function"||typeof n.UNSAFE_componentWillMount!="function"&&typeof n.componentWillMount!="function"||(l=n.state,typeof n.componentWillMount=="function"&&n.componentWillMount(),typeof n.UNSAFE_componentWillMount=="function"&&n.UNSAFE_componentWillMount(),l!==n.state&&uc.enqueueReplaceState(n,n.state,null),Ja(t,a,n,i),Fa(),n.state=t.memoizedState),typeof n.componentDidMount=="function"&&(t.flags|=4194308),a=!0}else if(e===null){n=t.stateNode;var c=t.memoizedProps,s=ko(o,c);n.props=s;var g=n.context,y=o.contextType;l=oa,typeof y=="object"&&y!==null&&(l=xe(y));var S=o.getDerivedStateFromProps;y=typeof S=="function"||typeof n.getSnapshotBeforeUpdate=="function",c=t.pendingProps!==c,y||typeof n.UNSAFE_componentWillReceiveProps!="function"&&typeof n.componentWillReceiveProps!="function"||(c||g!==l)&&Ar(t,n,a,l),ao=!1;var f=t.memoizedState;n.state=f,Ja(t,a,n,i),Fa(),g=t.memoizedState,c||f!==g||ao?(typeof S=="function"&&(sc(t,o,S,a),g=t.memoizedState),(s=ao||Sr(t,o,s,a,f,g,l))?(y||typeof n.UNSAFE_componentWillMount!="function"&&typeof n.componentWillMount!="function"||(typeof n.componentWillMount=="function"&&n.componentWillMount(),typeof n.UNSAFE_componentWillMount=="function"&&n.UNSAFE_componentWillMount()),typeof n.componentDidMount=="function"&&(t.flags|=4194308)):(typeof n.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=a,t.memoizedState=g),n.props=a,n.state=g,n.context=l,a=s):(typeof n.componentDidMount=="function"&&(t.flags|=4194308),a=!1)}else{n=t.stateNode,kl(e,t),l=t.memoizedProps,y=ko(o,l),n.props=y,S=t.pendingProps,f=n.context,g=o.contextType,s=oa,typeof g=="object"&&g!==null&&(s=xe(g)),c=o.getDerivedStateFromProps,(g=typeof c=="function"||typeof n.getSnapshotBeforeUpdate=="function")||typeof n.UNSAFE_componentWillReceiveProps!="function"&&typeof n.componentWillReceiveProps!="function"||(l!==S||f!==s)&&Ar(t,n,a,s),ao=!1,f=t.memoizedState,n.state=f,Ja(t,a,n,i),Fa();var m=t.memoizedState;l!==S||f!==m||ao||e!==null&&e.dependencies!==null&&Zi(e.dependencies)?(typeof c=="function"&&(sc(t,o,c,a),m=t.memoizedState),(y=ao||Sr(t,o,y,a,f,m,s)||e!==null&&e.dependencies!==null&&Zi(e.dependencies))?(g||typeof n.UNSAFE_componentWillUpdate!="function"&&typeof n.componentWillUpdate!="function"||(typeof n.componentWillUpdate=="function"&&n.componentWillUpdate(a,m,s),typeof n.UNSAFE_componentWillUpdate=="function"&&n.UNSAFE_componentWillUpdate(a,m,s)),typeof n.componentDidUpdate=="function"&&(t.flags|=4),typeof n.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof n.componentDidUpdate!="function"||l===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof n.getSnapshotBeforeUpdate!="function"||l===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=a,t.memoizedState=m),n.props=a,n.state=m,n.context=s,a=y):(typeof n.componentDidUpdate!="function"||l===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof n.getSnapshotBeforeUpdate!="function"||l===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),a=!1)}return n=a,dn(e,t),a=(t.flags&128)!==0,n||a?(n=t.stateNode,o=a&&typeof o.getDerivedStateFromError!="function"?null:n.render(),t.flags|=1,e!==null&&a?(t.child=No(t,e.child,null,i),t.child=No(t,null,o,i)):Me(e,t,o,i),t.memoizedState=n.state,e=t.child):e=kt(e,t,i),e}function Br(e,t,o,a){return Co(),t.flags|=256,Me(e,t,o,a),t.child}var gc={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function fc(e){return{baseLanes:e,cachePool:Eu()}}function hc(e,t,o){return e=e!==null?e.childLanes&~o:0,t&&(e|=at),e}function Nr(e,t,o){var a=t.pendingProps,i=!1,n=(t.flags&128)!==0,l;if((l=n)||(l=e!==null&&e.memoizedState===null?!1:(he.current&2)!==0),l&&(i=!0,t.flags&=-129),l=(t.flags&32)!==0,t.flags&=-33,e===null){if(Z){if(i?lo(t):co(),(e=se)?(e=Kp(e,dt),e=e!==null&&e.data!=="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:$t!==null?{id:Dt,overflow:Et}:null,retryLane:536870912,hydrationErrors:null},o=mu(e),o.return=t,t.child=o,we=t,se=null)):e=null,e===null)throw to(t);return Fc(e)?t.lanes=32:t.lanes=536870912,null}var c=a.children;return a=a.fallback,i?(co(),i=t.mode,c=gn({mode:"hidden",children:c},i),a=Ro(a,i,o,null),c.return=t,a.return=t,c.sibling=a,t.child=c,a=t.child,a.memoizedState=fc(o),a.childLanes=hc(e,l,o),t.memoizedState=gc,ai(null,a)):(lo(t),mc(t,c))}var s=e.memoizedState;if(s!==null&&(c=s.dehydrated,c!==null)){if(n)t.flags&256?(lo(t),t.flags&=-257,t=yc(e,t,o)):t.memoizedState!==null?(co(),t.child=e.child,t.flags|=128,t=null):(co(),c=a.fallback,i=t.mode,a=gn({mode:"visible",children:a.children},i),c=Ro(c,i,o,null),c.flags|=2,a.return=t,c.return=t,a.sibling=c,t.child=a,No(t,e.child,null,o),a=t.child,a.memoizedState=fc(o),a.childLanes=hc(e,l,o),t.memoizedState=gc,t=ai(null,a));else if(lo(t),Fc(c)){if(l=c.nextSibling&&c.nextSibling.dataset,l)var g=l.dgst;l=g,a=Error(h(419)),a.stack="",a.digest=l,Ka({value:a,source:null,stack:null}),t=yc(e,t,o)}else if(ve||la(e,t,o,!1),l=(o&e.childLanes)!==0,ve||l){if(l=ce,l!==null&&(a=zs(l,o),a!==0&&a!==s.retryLane))throw s.retryLane=a,qo(e,a),Ze(l,e,a),pc;Pc(c)||Tn(),t=yc(e,t,o)}else Pc(c)?(t.flags|=192,t.child=e.child,t=null):(e=s.treeContext,se=ft(c.nextSibling),we=t,Z=!0,eo=null,dt=!1,e!==null&&vu(t,e),t=mc(t,a.children),t.flags|=4096);return t}return i?(co(),c=a.fallback,i=t.mode,s=e.child,g=s.sibling,a=Lt(s,{mode:"hidden",children:a.children}),a.subtreeFlags=s.subtreeFlags&65011712,g!==null?c=Lt(g,c):(c=Ro(c,i,o,null),c.flags|=2),c.return=t,a.return=t,a.sibling=c,t.child=a,ai(null,a),a=t.child,c=e.child.memoizedState,c===null?c=fc(o):(i=c.cachePool,i!==null?(s=ye._currentValue,i=i.parent!==s?{parent:s,pool:s}:i):i=Eu(),c={baseLanes:c.baseLanes|o,cachePool:i}),a.memoizedState=c,a.childLanes=hc(e,l,o),t.memoizedState=gc,ai(e.child,a)):(lo(t),o=e.child,e=o.sibling,o=Lt(o,{mode:"visible",children:a.children}),o.return=t,o.sibling=null,e!==null&&(l=t.deletions,l===null?(t.deletions=[e],t.flags|=16):l.push(e)),t.child=o,t.memoizedState=null,o)}function mc(e,t){return t=gn({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function gn(e,t){return e=$e(22,e,null,t),e.lanes=0,e}function yc(e,t,o){return No(t,e.child,null,o),e=mc(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function _r(e,t,o){e.lanes|=t;var a=e.alternate;a!==null&&(a.lanes|=t),Ol(e.return,t,o)}function bc(e,t,o,a,i,n){var l=e.memoizedState;l===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:a,tail:o,tailMode:i,treeForkCount:n}:(l.isBackwards=t,l.rendering=null,l.renderingStartTime=0,l.last=a,l.tail=o,l.tailMode=i,l.treeForkCount=n)}function kr(e,t,o){var a=t.pendingProps,i=a.revealOrder,n=a.tail;a=a.children;var l=he.current,c=(l&2)!==0;if(c?(l=l&1|2,t.flags|=128):l&=1,E(he,l),Me(e,t,a,o),a=Z?ja:0,!c&&e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&_r(e,o,t);else if(e.tag===19)_r(e,o,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(i){case"forwards":for(o=t.child,i=null;o!==null;)e=o.alternate,e!==null&&en(e)===null&&(i=o),o=o.sibling;o=i,o===null?(i=t.child,t.child=null):(i=o.sibling,o.sibling=null),bc(t,!1,i,o,n,a);break;case"backwards":case"unstable_legacy-backwards":for(o=null,i=t.child,t.child=null;i!==null;){if(e=i.alternate,e!==null&&en(e)===null){t.child=i;break}e=i.sibling,i.sibling=o,o=i,i=e}bc(t,!0,o,null,n,a);break;case"together":bc(t,!1,null,null,void 0,a);break;default:t.memoizedState=null}return t.child}function kt(e,t,o){if(e!==null&&(t.dependencies=e.dependencies),ro|=t.lanes,(o&t.childLanes)===0)if(e!==null){if(la(e,t,o,!1),(o&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(h(153));if(t.child!==null){for(e=t.child,o=Lt(e,e.pendingProps),t.child=o,o.return=t;e.sibling!==null;)e=e.sibling,o=o.sibling=Lt(e,e.pendingProps),o.return=t;o.sibling=null}return t.child}function vc(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&Zi(e)))}function cf(e,t,o){switch(t.tag){case 3:He(t,t.stateNode.containerInfo),oo(t,ye,e.memoizedState.cache),Co();break;case 27:case 5:qa(t);break;case 4:He(t,t.stateNode.containerInfo);break;case 10:oo(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,jl(t),null;break;case 13:var a=t.memoizedState;if(a!==null)return a.dehydrated!==null?(lo(t),t.flags|=128,null):(o&t.child.childLanes)!==0?Nr(e,t,o):(lo(t),e=kt(e,t,o),e!==null?e.sibling:null);lo(t);break;case 19:var i=(e.flags&128)!==0;if(a=(o&t.childLanes)!==0,a||(la(e,t,o,!1),a=(o&t.childLanes)!==0),i){if(a)return kr(e,t,o);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),E(he,he.current),a)break;return null;case 22:return t.lanes=0,Cr(e,t,o,t.pendingProps);case 24:oo(t,ye,e.memoizedState.cache)}return kt(e,t,o)}function Gr(e,t,o){if(e!==null)if(e.memoizedProps!==t.pendingProps)ve=!0;else{if(!vc(e,o)&&(t.flags&128)===0)return ve=!1,cf(e,t,o);ve=(e.flags&131072)!==0}else ve=!1,Z&&(t.flags&1048576)!==0&&bu(t,ja,t.index);switch(t.lanes=0,t.tag){case 16:e:{var a=t.pendingProps;if(e=Uo(t.elementType),t.type=e,typeof e=="function")Dl(e)?(a=ko(e,a),t.tag=1,t=Ur(null,t,e,a,o)):(t.tag=0,t=dc(null,t,e,a,o));else{if(e!=null){var i=e.$$typeof;if(i===nt){t.tag=11,t=Mr(null,t,e,a,o);break e}else if(i===K){t.tag=14,t=qr(null,t,e,a,o);break e}}throw t=qt(e)||e,Error(h(306,t,""))}}return t;case 0:return dc(e,t,t.type,t.pendingProps,o);case 1:return a=t.type,i=ko(a,t.pendingProps),Ur(e,t,a,i,o);case 3:e:{if(He(t,t.stateNode.containerInfo),e===null)throw Error(h(387));a=t.pendingProps;var n=t.memoizedState;i=n.element,kl(e,t),Ja(t,a,null,o);var l=t.memoizedState;if(a=l.cache,oo(t,ye,a),a!==n.cache&&Ll(t,[ye],o,!0),Fa(),a=l.element,n.isDehydrated)if(n={element:a,isDehydrated:!1,cache:l.cache},t.updateQueue.baseState=n,t.memoizedState=n,t.flags&256){t=Br(e,t,a,o);break e}else if(a!==i){i=ut(Error(h(424)),t),Ka(i),t=Br(e,t,a,o);break e}else{switch(e=t.stateNode.containerInfo,e.nodeType){case 9:e=e.body;break;default:e=e.nodeName==="HTML"?e.ownerDocument.body:e}for(se=ft(e.firstChild),we=t,Z=!0,eo=null,dt=!0,o=Cu(t,null,a,o),t.child=o;o;)o.flags=o.flags&-3|4096,o=o.sibling}else{if(Co(),a===i){t=kt(e,t,o);break e}Me(e,t,a,o)}t=t.child}return t;case 26:return dn(e,t),e===null?(o=Fp(t.type,null,t.pendingProps,null))?t.memoizedState=o:Z||(o=t.type,e=t.pendingProps,a=qn(k.current).createElement(o),a[Ee]=t,a[Ge]=e,qe(a,o,e),ze(a),t.stateNode=a):t.memoizedState=Fp(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return qa(t),e===null&&Z&&(a=t.stateNode=Ip(t.type,t.pendingProps,k.current),we=t,dt=!0,i=se,mo(t.type)?(Jc=i,se=ft(a.firstChild)):se=i),Me(e,t,t.pendingProps.children,o),dn(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&Z&&((i=a=se)&&(a=Nf(a,t.type,t.pendingProps,dt),a!==null?(t.stateNode=a,we=t,se=ft(a.firstChild),dt=!1,i=!0):i=!1),i||to(t)),qa(t),i=t.type,n=t.pendingProps,l=e!==null?e.memoizedProps:null,a=n.children,Xc(i,n)?a=null:l!==null&&Xc(i,l)&&(t.flags|=32),t.memoizedState!==null&&(i=Zl(e,t,Fg,null,null,o),bi._currentValue=i),dn(e,t),Me(e,t,a,o),t.child;case 6:return e===null&&Z&&((e=o=se)&&(o=_f(o,t.pendingProps,dt),o!==null?(t.stateNode=o,we=t,se=null,e=!0):e=!1),e||to(t)),null;case 13:return Nr(e,t,o);case 4:return He(t,t.stateNode.containerInfo),a=t.pendingProps,e===null?t.child=No(t,null,a,o):Me(e,t,a,o),t.child;case 11:return Mr(e,t,t.type,t.pendingProps,o);case 7:return Me(e,t,t.pendingProps,o),t.child;case 8:return Me(e,t,t.pendingProps.children,o),t.child;case 12:return Me(e,t,t.pendingProps.children,o),t.child;case 10:return a=t.pendingProps,oo(t,t.type,a.value),Me(e,t,a.children,o),t.child;case 9:return i=t.type._context,a=t.pendingProps.children,Lo(t),i=xe(i),a=a(i),t.flags|=1,Me(e,t,a,o),t.child;case 14:return qr(e,t,t.type,t.pendingProps,o);case 15:return Rr(e,t,t.type,t.pendingProps,o);case 19:return kr(e,t,o);case 31:return lf(e,t,o);case 22:return Cr(e,t,o,t.pendingProps);case 24:return Lo(t),a=xe(ye),e===null?(i=Bl(),i===null&&(i=ce,n=Hl(),i.pooledCache=n,n.refCount++,n!==null&&(i.pooledCacheLanes|=o),i=n),t.memoizedState={parent:a,cache:i},_l(t),oo(t,ye,i)):((e.lanes&o)!==0&&(kl(e,t),Ja(t,null,null,o),Fa()),i=e.memoizedState,n=t.memoizedState,i.parent!==a?(i={parent:a,cache:a},t.memoizedState=i,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=i),oo(t,ye,a)):(a=n.cache,oo(t,ye,a),a!==i.cache&&Ll(t,[ye],o,!0))),Me(e,t,t.pendingProps.children,o),t.child;case 29:throw t.pendingProps}throw Error(h(156,t.tag))}function Gt(e){e.flags|=4}function Sc(e,t,o,a,i){if((t=(e.mode&32)!==0)&&(t=!1),t){if(e.flags|=16777216,(i&335544128)===i)if(e.stateNode.complete)e.flags|=8192;else if(gp())e.flags|=8192;else throw Bo=Pi,Nl}else e.flags&=-16777217}function Yr(e,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!od(t))if(gp())e.flags|=8192;else throw Bo=Pi,Nl}function fn(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?Ss():536870912,e.lanes|=t,ba|=t)}function ii(e,t){if(!Z)switch(e.tailMode){case"hidden":t=e.tail;for(var o=null;t!==null;)t.alternate!==null&&(o=t),t=t.sibling;o===null?e.tail=null:o.sibling=null;break;case"collapsed":o=e.tail;for(var a=null;o!==null;)o.alternate!==null&&(a=o),o=o.sibling;a===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:a.sibling=null}}function ue(e){var t=e.alternate!==null&&e.alternate.child===e.child,o=0,a=0;if(t)for(var i=e.child;i!==null;)o|=i.lanes|i.childLanes,a|=i.subtreeFlags&65011712,a|=i.flags&65011712,i.return=e,i=i.sibling;else for(i=e.child;i!==null;)o|=i.lanes|i.childLanes,a|=i.subtreeFlags,a|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=a,e.childLanes=o,t}function sf(e,t,o){var a=t.pendingProps;switch(Ml(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return ue(t),null;case 1:return ue(t),null;case 3:return o=t.stateNode,a=null,e!==null&&(a=e.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),Bt(ye),fe(),o.pendingContext&&(o.context=o.pendingContext,o.pendingContext=null),(e===null||e.child===null)&&(na(t)?Gt(t):e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Rl())),ue(t),null;case 26:var i=t.type,n=t.memoizedState;return e===null?(Gt(t),n!==null?(ue(t),Yr(t,n)):(ue(t),Sc(t,i,null,a,o))):n?n!==e.memoizedState?(Gt(t),ue(t),Yr(t,n)):(ue(t),t.flags&=-16777217):(e=e.memoizedProps,e!==a&&Gt(t),ue(t),Sc(t,i,e,a,o)),null;case 27:if(Di(t),o=k.current,i=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==a&&Gt(t);else{if(!a){if(t.stateNode===null)throw Error(h(166));return ue(t),null}e=x.current,na(t)?Su(t):(e=Ip(i,a,o),t.stateNode=e,Gt(t))}return ue(t),null;case 5:if(Di(t),i=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==a&&Gt(t);else{if(!a){if(t.stateNode===null)throw Error(h(166));return ue(t),null}if(n=x.current,na(t))Su(t);else{var l=qn(k.current);switch(n){case 1:n=l.createElementNS("http://www.w3.org/2000/svg",i);break;case 2:n=l.createElementNS("http://www.w3.org/1998/Math/MathML",i);break;default:switch(i){case"svg":n=l.createElementNS("http://www.w3.org/2000/svg",i);break;case"math":n=l.createElementNS("http://www.w3.org/1998/Math/MathML",i);break;case"script":n=l.createElement("div"),n.innerHTML="<script><\/script>",n=n.removeChild(n.firstChild);break;case"select":n=typeof a.is=="string"?l.createElement("select",{is:a.is}):l.createElement("select"),a.multiple?n.multiple=!0:a.size&&(n.size=a.size);break;default:n=typeof a.is=="string"?l.createElement(i,{is:a.is}):l.createElement(i)}}n[Ee]=t,n[Ge]=a;e:for(l=t.child;l!==null;){if(l.tag===5||l.tag===6)n.appendChild(l.stateNode);else if(l.tag!==4&&l.tag!==27&&l.child!==null){l.child.return=l,l=l.child;continue}if(l===t)break e;for(;l.sibling===null;){if(l.return===null||l.return===t)break e;l=l.return}l.sibling.return=l.return,l=l.sibling}t.stateNode=n;e:switch(qe(n,i,a),i){case"button":case"input":case"select":case"textarea":a=!!a.autoFocus;break e;case"img":a=!0;break e;default:a=!1}a&&Gt(t)}}return ue(t),Sc(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,o),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==a&&Gt(t);else{if(typeof a!="string"&&t.stateNode===null)throw Error(h(166));if(e=k.current,na(t)){if(e=t.stateNode,o=t.memoizedProps,a=null,i=we,i!==null)switch(i.tag){case 27:case 5:a=i.memoizedProps}e[Ee]=t,e=!!(e.nodeValue===o||a!==null&&a.suppressHydrationWarning===!0||Np(e.nodeValue,o)),e||to(t,!0)}else e=qn(e).createTextNode(a),e[Ee]=t,t.stateNode=e}return ue(t),null;case 31:if(o=t.memoizedState,e===null||e.memoizedState!==null){if(a=na(t),o!==null){if(e===null){if(!a)throw Error(h(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(h(557));e[Ee]=t}else Co(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;ue(t),e=!1}else o=Rl(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=o),e=!0;if(!e)return t.flags&256?(tt(t),t):(tt(t),null);if((t.flags&128)!==0)throw Error(h(558))}return ue(t),null;case 13:if(a=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(i=na(t),a!==null&&a.dehydrated!==null){if(e===null){if(!i)throw Error(h(318));if(i=t.memoizedState,i=i!==null?i.dehydrated:null,!i)throw Error(h(317));i[Ee]=t}else Co(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;ue(t),i=!1}else i=Rl(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),i=!0;if(!i)return t.flags&256?(tt(t),t):(tt(t),null)}return tt(t),(t.flags&128)!==0?(t.lanes=o,t):(o=a!==null,e=e!==null&&e.memoizedState!==null,o&&(a=t.child,i=null,a.alternate!==null&&a.alternate.memoizedState!==null&&a.alternate.memoizedState.cachePool!==null&&(i=a.alternate.memoizedState.cachePool.pool),n=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(n=a.memoizedState.cachePool.pool),n!==i&&(a.flags|=2048)),o!==e&&o&&(t.child.flags|=8192),fn(t,t.updateQueue),ue(t),null);case 4:return fe(),e===null&&Qc(t.stateNode.containerInfo),ue(t),null;case 10:return Bt(t.type),ue(t),null;case 19:if(A(he),a=t.memoizedState,a===null)return ue(t),null;if(i=(t.flags&128)!==0,n=a.rendering,n===null)if(i)ii(a,!1);else{if(ge!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(n=en(e),n!==null){for(t.flags|=128,ii(a,!1),e=n.updateQueue,t.updateQueue=e,fn(t,e),t.subtreeFlags=0,e=o,o=t.child;o!==null;)hu(o,e),o=o.sibling;return E(he,he.current&1|2),Z&&Ht(t,a.treeForkCount),t.child}e=e.sibling}a.tail!==null&&We()>vn&&(t.flags|=128,i=!0,ii(a,!1),t.lanes=4194304)}else{if(!i)if(e=en(n),e!==null){if(t.flags|=128,i=!0,e=e.updateQueue,t.updateQueue=e,fn(t,e),ii(a,!0),a.tail===null&&a.tailMode==="hidden"&&!n.alternate&&!Z)return ue(t),null}else 2*We()-a.renderingStartTime>vn&&o!==536870912&&(t.flags|=128,i=!0,ii(a,!1),t.lanes=4194304);a.isBackwards?(n.sibling=t.child,t.child=n):(e=a.last,e!==null?e.sibling=n:t.child=n,a.last=n)}return a.tail!==null?(e=a.tail,a.rendering=e,a.tail=e.sibling,a.renderingStartTime=We(),e.sibling=null,o=he.current,E(he,i?o&1|2:o&1),Z&&Ht(t,a.treeForkCount),e):(ue(t),null);case 22:case 23:return tt(t),Vl(),a=t.memoizedState!==null,e!==null?e.memoizedState!==null!==a&&(t.flags|=8192):a&&(t.flags|=8192),a?(o&536870912)!==0&&(t.flags&128)===0&&(ue(t),t.subtreeFlags&6&&(t.flags|=8192)):ue(t),o=t.updateQueue,o!==null&&fn(t,o.retryQueue),o=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(o=e.memoizedState.cachePool.pool),a=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(a=t.memoizedState.cachePool.pool),a!==o&&(t.flags|=2048),e!==null&&A(Ho),null;case 24:return o=null,e!==null&&(o=e.memoizedState.cache),t.memoizedState.cache!==o&&(t.flags|=2048),Bt(ye),ue(t),null;case 25:return null;case 30:return null}throw Error(h(156,t.tag))}function uf(e,t){switch(Ml(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Bt(ye),fe(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Di(t),null;case 31:if(t.memoizedState!==null){if(tt(t),t.alternate===null)throw Error(h(340));Co()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(tt(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(h(340));Co()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return A(he),null;case 4:return fe(),null;case 10:return Bt(t.type),null;case 22:case 23:return tt(t),Vl(),e!==null&&A(Ho),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return Bt(ye),null;case 25:return null;default:return null}}function Qr(e,t){switch(Ml(t),t.tag){case 3:Bt(ye),fe();break;case 26:case 27:case 5:Di(t);break;case 4:fe();break;case 31:t.memoizedState!==null&&tt(t);break;case 13:tt(t);break;case 19:A(he);break;case 10:Bt(t.type);break;case 22:case 23:tt(t),Vl(),e!==null&&A(Ho);break;case 24:Bt(ye)}}function ni(e,t){try{var o=t.updateQueue,a=o!==null?o.lastEffect:null;if(a!==null){var i=a.next;o=i;do{if((o.tag&e)===e){a=void 0;var n=o.create,l=o.inst;a=n(),l.destroy=a}o=o.next}while(o!==i)}}catch(c){te(t,t.return,c)}}function so(e,t,o){try{var a=t.updateQueue,i=a!==null?a.lastEffect:null;if(i!==null){var n=i.next;a=n;do{if((a.tag&e)===e){var l=a.inst,c=l.destroy;if(c!==void 0){l.destroy=void 0,i=t;var s=o,g=c;try{g()}catch(y){te(i,s,y)}}}a=a.next}while(a!==n)}}catch(y){te(t,t.return,y)}}function Vr(e){var t=e.updateQueue;if(t!==null){var o=e.stateNode;try{Lu(t,o)}catch(a){te(e,e.return,a)}}}function jr(e,t,o){o.props=ko(e.type,e.memoizedProps),o.state=e.memoizedState;try{o.componentWillUnmount()}catch(a){te(e,t,a)}}function li(e,t){try{var o=e.ref;if(o!==null){switch(e.tag){case 26:case 27:case 5:var a=e.stateNode;break;case 30:a=e.stateNode;break;default:a=e.stateNode}typeof o=="function"?e.refCleanup=o(a):o.current=a}}catch(i){te(e,t,i)}}function wt(e,t){var o=e.ref,a=e.refCleanup;if(o!==null)if(typeof a=="function")try{a()}catch(i){te(e,t,i)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof o=="function")try{o(null)}catch(i){te(e,t,i)}else o.current=null}function Kr(e){var t=e.type,o=e.memoizedProps,a=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":o.autoFocus&&a.focus();break e;case"img":o.src?a.src=o.src:o.srcSet&&(a.srcset=o.srcSet)}}catch(i){te(e,e.return,i)}}function Ac(e,t,o){try{var a=e.stateNode;Cf(a,e.type,o,t),a[Ge]=t}catch(i){te(e,e.return,i)}}function Zr(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&mo(e.type)||e.tag===4}function Tc(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Zr(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&mo(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function zc(e,t,o){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?(o.nodeType===9?o.body:o.nodeName==="HTML"?o.ownerDocument.body:o).insertBefore(e,t):(t=o.nodeType===9?o.body:o.nodeName==="HTML"?o.ownerDocument.body:o,t.appendChild(e),o=o._reactRootContainer,o!=null||t.onclick!==null||(t.onclick=Ct));else if(a!==4&&(a===27&&mo(e.type)&&(o=e.stateNode,t=null),e=e.child,e!==null))for(zc(e,t,o),e=e.sibling;e!==null;)zc(e,t,o),e=e.sibling}function hn(e,t,o){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?o.insertBefore(e,t):o.appendChild(e);else if(a!==4&&(a===27&&mo(e.type)&&(o=e.stateNode),e=e.child,e!==null))for(hn(e,t,o),e=e.sibling;e!==null;)hn(e,t,o),e=e.sibling}function Xr(e){var t=e.stateNode,o=e.memoizedProps;try{for(var a=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);qe(t,a,o),t[Ee]=e,t[Ge]=o}catch(n){te(e,e.return,n)}}var Yt=!1,Se=!1,Dc=!1,Ir=typeof WeakSet=="function"?WeakSet:Set,De=null;function rf(e,t){if(e=e.containerInfo,Kc=Bn,e=lu(e),yl(e)){if("selectionStart"in e)var o={start:e.selectionStart,end:e.selectionEnd};else e:{o=(o=e.ownerDocument)&&o.defaultView||window;var a=o.getSelection&&o.getSelection();if(a&&a.rangeCount!==0){o=a.anchorNode;var i=a.anchorOffset,n=a.focusNode;a=a.focusOffset;try{o.nodeType,n.nodeType}catch{o=null;break e}var l=0,c=-1,s=-1,g=0,y=0,S=e,f=null;t:for(;;){for(var m;S!==o||i!==0&&S.nodeType!==3||(c=l+i),S!==n||a!==0&&S.nodeType!==3||(s=l+a),S.nodeType===3&&(l+=S.nodeValue.length),(m=S.firstChild)!==null;)f=S,S=m;for(;;){if(S===e)break t;if(f===o&&++g===i&&(c=l),f===n&&++y===a&&(s=l),(m=S.nextSibling)!==null)break;S=f,f=S.parentNode}S=m}o=c===-1||s===-1?null:{start:c,end:s}}else o=null}o=o||{start:0,end:0}}else o=null;for(Zc={focusedElem:e,selectionRange:o},Bn=!1,De=t;De!==null;)if(t=De,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,De=e;else for(;De!==null;){switch(t=De,n=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(o=0;o<e.length;o++)i=e[o],i.ref.impl=i.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&n!==null){e=void 0,o=t,i=n.memoizedProps,n=n.memoizedState,a=o.stateNode;try{var w=ko(o.type,i);e=a.getSnapshotBeforeUpdate(w,n),a.__reactInternalSnapshotBeforeUpdate=e}catch(O){te(o,o.return,O)}}break;case 3:if((e&1024)!==0){if(e=t.stateNode.containerInfo,o=e.nodeType,o===9)Wc(e);else if(o===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":Wc(e);break;default:e.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((e&1024)!==0)throw Error(h(163))}if(e=t.sibling,e!==null){e.return=t.return,De=e;break}De=t.return}}function Wr(e,t,o){var a=o.flags;switch(o.tag){case 0:case 11:case 15:Vt(e,o),a&4&&ni(5,o);break;case 1:if(Vt(e,o),a&4)if(e=o.stateNode,t===null)try{e.componentDidMount()}catch(l){te(o,o.return,l)}else{var i=ko(o.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(i,t,e.__reactInternalSnapshotBeforeUpdate)}catch(l){te(o,o.return,l)}}a&64&&Vr(o),a&512&&li(o,o.return);break;case 3:if(Vt(e,o),a&64&&(e=o.updateQueue,e!==null)){if(t=null,o.child!==null)switch(o.child.tag){case 27:case 5:t=o.child.stateNode;break;case 1:t=o.child.stateNode}try{Lu(e,t)}catch(l){te(o,o.return,l)}}break;case 27:t===null&&a&4&&Xr(o);case 26:case 5:Vt(e,o),t===null&&a&4&&Kr(o),a&512&&li(o,o.return);break;case 12:Vt(e,o);break;case 31:Vt(e,o),a&4&&Jr(e,o);break;case 13:Vt(e,o),a&4&&$r(e,o),a&64&&(e=o.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(o=vf.bind(null,o),kf(e,o))));break;case 22:if(a=o.memoizedState!==null||Yt,!a){t=t!==null&&t.memoizedState!==null||Se,i=Yt;var n=Se;Yt=a,(Se=t)&&!n?jt(e,o,(o.subtreeFlags&8772)!==0):Vt(e,o),Yt=i,Se=n}break;case 30:break;default:Vt(e,o)}}function Pr(e){var t=e.alternate;t!==null&&(e.alternate=null,Pr(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&el(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var pe=null,Qe=!1;function Qt(e,t,o){for(o=o.child;o!==null;)Fr(e,t,o),o=o.sibling}function Fr(e,t,o){if(Pe&&typeof Pe.onCommitFiberUnmount=="function")try{Pe.onCommitFiberUnmount(Ra,o)}catch{}switch(o.tag){case 26:Se||wt(o,t),Qt(e,t,o),o.memoizedState?o.memoizedState.count--:o.stateNode&&(o=o.stateNode,o.parentNode.removeChild(o));break;case 27:Se||wt(o,t);var a=pe,i=Qe;mo(o.type)&&(pe=o.stateNode,Qe=!1),Qt(e,t,o),hi(o.stateNode),pe=a,Qe=i;break;case 5:Se||wt(o,t);case 6:if(a=pe,i=Qe,pe=null,Qt(e,t,o),pe=a,Qe=i,pe!==null)if(Qe)try{(pe.nodeType===9?pe.body:pe.nodeName==="HTML"?pe.ownerDocument.body:pe).removeChild(o.stateNode)}catch(n){te(o,t,n)}else try{pe.removeChild(o.stateNode)}catch(n){te(o,t,n)}break;case 18:pe!==null&&(Qe?(e=pe,Vp(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,o.stateNode),wa(e)):Vp(pe,o.stateNode));break;case 4:a=pe,i=Qe,pe=o.stateNode.containerInfo,Qe=!0,Qt(e,t,o),pe=a,Qe=i;break;case 0:case 11:case 14:case 15:so(2,o,t),Se||so(4,o,t),Qt(e,t,o);break;case 1:Se||(wt(o,t),a=o.stateNode,typeof a.componentWillUnmount=="function"&&jr(o,t,a)),Qt(e,t,o);break;case 21:Qt(e,t,o);break;case 22:Se=(a=Se)||o.memoizedState!==null,Qt(e,t,o),Se=a;break;default:Qt(e,t,o)}}function Jr(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{wa(e)}catch(o){te(t,t.return,o)}}}function $r(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{wa(e)}catch(o){te(t,t.return,o)}}function pf(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new Ir),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new Ir),t;default:throw Error(h(435,e.tag))}}function mn(e,t){var o=pf(e);t.forEach(function(a){if(!o.has(a)){o.add(a);var i=Sf.bind(null,e,a);a.then(i,i)}})}function Ve(e,t){var o=t.deletions;if(o!==null)for(var a=0;a<o.length;a++){var i=o[a],n=e,l=t,c=l;e:for(;c!==null;){switch(c.tag){case 27:if(mo(c.type)){pe=c.stateNode,Qe=!1;break e}break;case 5:pe=c.stateNode,Qe=!1;break e;case 3:case 4:pe=c.stateNode.containerInfo,Qe=!0;break e}c=c.return}if(pe===null)throw Error(h(160));Fr(n,l,i),pe=null,Qe=!1,n=i.alternate,n!==null&&(n.return=null),i.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)ep(t,e),t=t.sibling}var vt=null;function ep(e,t){var o=e.alternate,a=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:Ve(t,e),je(e),a&4&&(so(3,e,e.return),ni(3,e),so(5,e,e.return));break;case 1:Ve(t,e),je(e),a&512&&(Se||o===null||wt(o,o.return)),a&64&&Yt&&(e=e.updateQueue,e!==null&&(a=e.callbacks,a!==null&&(o=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=o===null?a:o.concat(a))));break;case 26:var i=vt;if(Ve(t,e),je(e),a&512&&(Se||o===null||wt(o,o.return)),a&4){var n=o!==null?o.memoizedState:null;if(a=e.memoizedState,o===null)if(a===null)if(e.stateNode===null){e:{a=e.type,o=e.memoizedProps,i=i.ownerDocument||i;t:switch(a){case"title":n=i.getElementsByTagName("title")[0],(!n||n[La]||n[Ee]||n.namespaceURI==="http://www.w3.org/2000/svg"||n.hasAttribute("itemprop"))&&(n=i.createElement(a),i.head.insertBefore(n,i.querySelector("head > title"))),qe(n,a,o),n[Ee]=e,ze(n),a=n;break e;case"link":var l=ed("link","href",i).get(a+(o.href||""));if(l){for(var c=0;c<l.length;c++)if(n=l[c],n.getAttribute("href")===(o.href==null||o.href===""?null:o.href)&&n.getAttribute("rel")===(o.rel==null?null:o.rel)&&n.getAttribute("title")===(o.title==null?null:o.title)&&n.getAttribute("crossorigin")===(o.crossOrigin==null?null:o.crossOrigin)){l.splice(c,1);break t}}n=i.createElement(a),qe(n,a,o),i.head.appendChild(n);break;case"meta":if(l=ed("meta","content",i).get(a+(o.content||""))){for(c=0;c<l.length;c++)if(n=l[c],n.getAttribute("content")===(o.content==null?null:""+o.content)&&n.getAttribute("name")===(o.name==null?null:o.name)&&n.getAttribute("property")===(o.property==null?null:o.property)&&n.getAttribute("http-equiv")===(o.httpEquiv==null?null:o.httpEquiv)&&n.getAttribute("charset")===(o.charSet==null?null:o.charSet)){l.splice(c,1);break t}}n=i.createElement(a),qe(n,a,o),i.head.appendChild(n);break;default:throw Error(h(468,a))}n[Ee]=e,ze(n),a=n}e.stateNode=a}else td(i,e.type,e.stateNode);else e.stateNode=$p(i,a,e.memoizedProps);else n!==a?(n===null?o.stateNode!==null&&(o=o.stateNode,o.parentNode.removeChild(o)):n.count--,a===null?td(i,e.type,e.stateNode):$p(i,a,e.memoizedProps)):a===null&&e.stateNode!==null&&Ac(e,e.memoizedProps,o.memoizedProps)}break;case 27:Ve(t,e),je(e),a&512&&(Se||o===null||wt(o,o.return)),o!==null&&a&4&&Ac(e,e.memoizedProps,o.memoizedProps);break;case 5:if(Ve(t,e),je(e),a&512&&(Se||o===null||wt(o,o.return)),e.flags&32){i=e.stateNode;try{Wo(i,"")}catch(w){te(e,e.return,w)}}a&4&&e.stateNode!=null&&(i=e.memoizedProps,Ac(e,i,o!==null?o.memoizedProps:i)),a&1024&&(Dc=!0);break;case 6:if(Ve(t,e),je(e),a&4){if(e.stateNode===null)throw Error(h(162));a=e.memoizedProps,o=e.stateNode;try{o.nodeValue=a}catch(w){te(e,e.return,w)}}break;case 3:if(On=null,i=vt,vt=Rn(t.containerInfo),Ve(t,e),vt=i,je(e),a&4&&o!==null&&o.memoizedState.isDehydrated)try{wa(t.containerInfo)}catch(w){te(e,e.return,w)}Dc&&(Dc=!1,tp(e));break;case 4:a=vt,vt=Rn(e.stateNode.containerInfo),Ve(t,e),je(e),vt=a;break;case 12:Ve(t,e),je(e);break;case 31:Ve(t,e),je(e),a&4&&(a=e.updateQueue,a!==null&&(e.updateQueue=null,mn(e,a)));break;case 13:Ve(t,e),je(e),e.child.flags&8192&&e.memoizedState!==null!=(o!==null&&o.memoizedState!==null)&&(bn=We()),a&4&&(a=e.updateQueue,a!==null&&(e.updateQueue=null,mn(e,a)));break;case 22:i=e.memoizedState!==null;var s=o!==null&&o.memoizedState!==null,g=Yt,y=Se;if(Yt=g||i,Se=y||s,Ve(t,e),Se=y,Yt=g,je(e),a&8192)e:for(t=e.stateNode,t._visibility=i?t._visibility&-2:t._visibility|1,i&&(o===null||s||Yt||Se||Go(e)),o=null,t=e;;){if(t.tag===5||t.tag===26){if(o===null){s=o=t;try{if(n=s.stateNode,i)l=n.style,typeof l.setProperty=="function"?l.setProperty("display","none","important"):l.display="none";else{c=s.stateNode;var S=s.memoizedProps.style,f=S!=null&&S.hasOwnProperty("display")?S.display:null;c.style.display=f==null||typeof f=="boolean"?"":(""+f).trim()}}catch(w){te(s,s.return,w)}}}else if(t.tag===6){if(o===null){s=t;try{s.stateNode.nodeValue=i?"":s.memoizedProps}catch(w){te(s,s.return,w)}}}else if(t.tag===18){if(o===null){s=t;try{var m=s.stateNode;i?jp(m,!0):jp(s.stateNode,!1)}catch(w){te(s,s.return,w)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;o===t&&(o=null),t=t.return}o===t&&(o=null),t.sibling.return=t.return,t=t.sibling}a&4&&(a=e.updateQueue,a!==null&&(o=a.retryQueue,o!==null&&(a.retryQueue=null,mn(e,o))));break;case 19:Ve(t,e),je(e),a&4&&(a=e.updateQueue,a!==null&&(e.updateQueue=null,mn(e,a)));break;case 30:break;case 21:break;default:Ve(t,e),je(e)}}function je(e){var t=e.flags;if(t&2){try{for(var o,a=e.return;a!==null;){if(Zr(a)){o=a;break}a=a.return}if(o==null)throw Error(h(160));switch(o.tag){case 27:var i=o.stateNode,n=Tc(e);hn(e,n,i);break;case 5:var l=o.stateNode;o.flags&32&&(Wo(l,""),o.flags&=-33);var c=Tc(e);hn(e,c,l);break;case 3:case 4:var s=o.stateNode.containerInfo,g=Tc(e);zc(e,g,s);break;default:throw Error(h(161))}}catch(y){te(e,e.return,y)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function tp(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;tp(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function Vt(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)Wr(e,t.alternate,t),t=t.sibling}function Go(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:so(4,t,t.return),Go(t);break;case 1:wt(t,t.return);var o=t.stateNode;typeof o.componentWillUnmount=="function"&&jr(t,t.return,o),Go(t);break;case 27:hi(t.stateNode);case 26:case 5:wt(t,t.return),Go(t);break;case 22:t.memoizedState===null&&Go(t);break;case 30:Go(t);break;default:Go(t)}e=e.sibling}}function jt(e,t,o){for(o=o&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var a=t.alternate,i=e,n=t,l=n.flags;switch(n.tag){case 0:case 11:case 15:jt(i,n,o),ni(4,n);break;case 1:if(jt(i,n,o),a=n,i=a.stateNode,typeof i.componentDidMount=="function")try{i.componentDidMount()}catch(g){te(a,a.return,g)}if(a=n,i=a.updateQueue,i!==null){var c=a.stateNode;try{var s=i.shared.hiddenCallbacks;if(s!==null)for(i.shared.hiddenCallbacks=null,i=0;i<s.length;i++)Ou(s[i],c)}catch(g){te(a,a.return,g)}}o&&l&64&&Vr(n),li(n,n.return);break;case 27:Xr(n);case 26:case 5:jt(i,n,o),o&&a===null&&l&4&&Kr(n),li(n,n.return);break;case 12:jt(i,n,o);break;case 31:jt(i,n,o),o&&l&4&&Jr(i,n);break;case 13:jt(i,n,o),o&&l&4&&$r(i,n);break;case 22:n.memoizedState===null&&jt(i,n,o),li(n,n.return);break;case 30:break;default:jt(i,n,o)}t=t.sibling}}function Ec(e,t){var o=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(o=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==o&&(e!=null&&e.refCount++,o!=null&&Za(o))}function wc(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Za(e))}function St(e,t,o,a){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)op(e,t,o,a),t=t.sibling}function op(e,t,o,a){var i=t.flags;switch(t.tag){case 0:case 11:case 15:St(e,t,o,a),i&2048&&ni(9,t);break;case 1:St(e,t,o,a);break;case 3:St(e,t,o,a),i&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Za(e)));break;case 12:if(i&2048){St(e,t,o,a),e=t.stateNode;try{var n=t.memoizedProps,l=n.id,c=n.onPostCommit;typeof c=="function"&&c(l,t.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(s){te(t,t.return,s)}}else St(e,t,o,a);break;case 31:St(e,t,o,a);break;case 13:St(e,t,o,a);break;case 23:break;case 22:n=t.stateNode,l=t.alternate,t.memoizedState!==null?n._visibility&2?St(e,t,o,a):ci(e,t):n._visibility&2?St(e,t,o,a):(n._visibility|=2,ha(e,t,o,a,(t.subtreeFlags&10256)!==0||!1)),i&2048&&Ec(l,t);break;case 24:St(e,t,o,a),i&2048&&wc(t.alternate,t);break;default:St(e,t,o,a)}}function ha(e,t,o,a,i){for(i=i&&((t.subtreeFlags&10256)!==0||!1),t=t.child;t!==null;){var n=e,l=t,c=o,s=a,g=l.flags;switch(l.tag){case 0:case 11:case 15:ha(n,l,c,s,i),ni(8,l);break;case 23:break;case 22:var y=l.stateNode;l.memoizedState!==null?y._visibility&2?ha(n,l,c,s,i):ci(n,l):(y._visibility|=2,ha(n,l,c,s,i)),i&&g&2048&&Ec(l.alternate,l);break;case 24:ha(n,l,c,s,i),i&&g&2048&&wc(l.alternate,l);break;default:ha(n,l,c,s,i)}t=t.sibling}}function ci(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var o=e,a=t,i=a.flags;switch(a.tag){case 22:ci(o,a),i&2048&&Ec(a.alternate,a);break;case 24:ci(o,a),i&2048&&wc(a.alternate,a);break;default:ci(o,a)}t=t.sibling}}var si=8192;function ma(e,t,o){if(e.subtreeFlags&si)for(e=e.child;e!==null;)ap(e,t,o),e=e.sibling}function ap(e,t,o){switch(e.tag){case 26:ma(e,t,o),e.flags&si&&e.memoizedState!==null&&Ff(o,vt,e.memoizedState,e.memoizedProps);break;case 5:ma(e,t,o);break;case 3:case 4:var a=vt;vt=Rn(e.stateNode.containerInfo),ma(e,t,o),vt=a;break;case 22:e.memoizedState===null&&(a=e.alternate,a!==null&&a.memoizedState!==null?(a=si,si=16777216,ma(e,t,o),si=a):ma(e,t,o));break;default:ma(e,t,o)}}function ip(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function ui(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var o=0;o<t.length;o++){var a=t[o];De=a,lp(a,e)}ip(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)np(e),e=e.sibling}function np(e){switch(e.tag){case 0:case 11:case 15:ui(e),e.flags&2048&&so(9,e,e.return);break;case 3:ui(e);break;case 12:ui(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,yn(e)):ui(e);break;default:ui(e)}}function yn(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var o=0;o<t.length;o++){var a=t[o];De=a,lp(a,e)}ip(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:so(8,t,t.return),yn(t);break;case 22:o=t.stateNode,o._visibility&2&&(o._visibility&=-3,yn(t));break;default:yn(t)}e=e.sibling}}function lp(e,t){for(;De!==null;){var o=De;switch(o.tag){case 0:case 11:case 15:so(8,o,t);break;case 23:case 22:if(o.memoizedState!==null&&o.memoizedState.cachePool!==null){var a=o.memoizedState.cachePool.pool;a!=null&&a.refCount++}break;case 24:Za(o.memoizedState.cache)}if(a=o.child,a!==null)a.return=o,De=a;else e:for(o=e;De!==null;){a=De;var i=a.sibling,n=a.return;if(Pr(a),a===o){De=null;break e}if(i!==null){i.return=n,De=i;break e}De=n}}}var df={getCacheForType:function(e){var t=xe(ye),o=t.data.get(e);return o===void 0&&(o=e(),t.data.set(e,o)),o},cacheSignal:function(){return xe(ye).controller.signal}},gf=typeof WeakMap=="function"?WeakMap:Map,P=0,ce=null,G=null,Q=0,ee=0,ot=null,uo=!1,ya=!1,xc=!1,Kt=0,ge=0,ro=0,Yo=0,Mc=0,at=0,ba=0,ri=null,Ke=null,qc=!1,bn=0,cp=0,vn=1/0,Sn=null,po=null,Te=0,go=null,va=null,Zt=0,Rc=0,Cc=null,sp=null,pi=0,Oc=null;function it(){return(P&2)!==0&&Q!==0?Q&-Q:b.T!==null?_c():Ds()}function up(){if(at===0)if((Q&536870912)===0||Z){var e=xi;xi<<=1,(xi&3932160)===0&&(xi=262144),at=e}else at=536870912;return e=et.current,e!==null&&(e.flags|=32),at}function Ze(e,t,o){(e===ce&&(ee===2||ee===9)||e.cancelPendingCommit!==null)&&(Sa(e,0),fo(e,Q,at,!1)),Oa(e,o),((P&2)===0||e!==ce)&&(e===ce&&((P&2)===0&&(Yo|=o),ge===4&&fo(e,Q,at,!1)),xt(e))}function rp(e,t,o){if((P&6)!==0)throw Error(h(327));var a=!o&&(t&127)===0&&(t&e.expiredLanes)===0||Ca(e,t),i=a?mf(e,t):Hc(e,t,!0),n=a;do{if(i===0){ya&&!a&&fo(e,t,0,!1);break}else{if(o=e.current.alternate,n&&!ff(o)){i=Hc(e,t,!1),n=!1;continue}if(i===2){if(n=t,e.errorRecoveryDisabledLanes&n)var l=0;else l=e.pendingLanes&-536870913,l=l!==0?l:l&536870912?536870912:0;if(l!==0){t=l;e:{var c=e;i=ri;var s=c.current.memoizedState.isDehydrated;if(s&&(Sa(c,l).flags|=256),l=Hc(c,l,!1),l!==2){if(xc&&!s){c.errorRecoveryDisabledLanes|=n,Yo|=n,i=4;break e}n=Ke,Ke=i,n!==null&&(Ke===null?Ke=n:Ke.push.apply(Ke,n))}i=l}if(n=!1,i!==2)continue}}if(i===1){Sa(e,0),fo(e,t,0,!0);break}e:{switch(a=e,n=i,n){case 0:case 1:throw Error(h(345));case 4:if((t&4194048)!==t)break;case 6:fo(a,t,at,!uo);break e;case 2:Ke=null;break;case 3:case 5:break;default:throw Error(h(329))}if((t&62914560)===t&&(i=bn+300-We(),10<i)){if(fo(a,t,at,!uo),qi(a,0,!0)!==0)break e;Zt=t,a.timeoutHandle=Yp(pp.bind(null,a,o,Ke,Sn,qc,t,at,Yo,ba,uo,n,"Throttled",-0,0),i);break e}pp(a,o,Ke,Sn,qc,t,at,Yo,ba,uo,n,null,-0,0)}}break}while(!0);xt(e)}function pp(e,t,o,a,i,n,l,c,s,g,y,S,f,m){if(e.timeoutHandle=-1,S=t.subtreeFlags,S&8192||(S&16785408)===16785408){S={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:Ct},ap(t,n,S);var w=(n&62914560)===n?bn-We():(n&4194048)===n?cp-We():0;if(w=Jf(S,w),w!==null){Zt=n,e.cancelPendingCommit=w(vp.bind(null,e,t,n,o,a,i,l,c,s,y,S,null,f,m)),fo(e,n,l,!g);return}}vp(e,t,n,o,a,i,l,c,s)}function ff(e){for(var t=e;;){var o=t.tag;if((o===0||o===11||o===15)&&t.flags&16384&&(o=t.updateQueue,o!==null&&(o=o.stores,o!==null)))for(var a=0;a<o.length;a++){var i=o[a],n=i.getSnapshot;i=i.value;try{if(!Je(n(),i))return!1}catch{return!1}}if(o=t.child,t.subtreeFlags&16384&&o!==null)o.return=t,t=o;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function fo(e,t,o,a){t&=~Mc,t&=~Yo,e.suspendedLanes|=t,e.pingedLanes&=~t,a&&(e.warmLanes|=t),a=e.expirationTimes;for(var i=t;0<i;){var n=31-Fe(i),l=1<<n;a[n]=-1,i&=~l}o!==0&&As(e,o,t)}function An(){return(P&6)===0?(di(0),!1):!0}function Lc(){if(G!==null){if(ee===0)var e=G.return;else e=G,Ut=Oo=null,Wl(e),ra=null,Ia=0,e=G;for(;e!==null;)Qr(e.alternate,e),e=e.return;G=null}}function Sa(e,t){var o=e.timeoutHandle;o!==-1&&(e.timeoutHandle=-1,Hf(o)),o=e.cancelPendingCommit,o!==null&&(e.cancelPendingCommit=null,o()),Zt=0,Lc(),ce=e,G=o=Lt(e.current,null),Q=t,ee=0,ot=null,uo=!1,ya=Ca(e,t),xc=!1,ba=at=Mc=Yo=ro=ge=0,Ke=ri=null,qc=!1,(t&8)!==0&&(t|=t&32);var a=e.entangledLanes;if(a!==0)for(e=e.entanglements,a&=t;0<a;){var i=31-Fe(a),n=1<<i;t|=e[i],a&=~n}return Kt=t,Yi(),o}function dp(e,t){N=null,b.H=oi,t===ua||t===Wi?(t=Mu(),ee=3):t===Nl?(t=Mu(),ee=4):ee=t===pc?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,ot=t,G===null&&(ge=1,rn(e,ut(t,e.current)))}function gp(){var e=et.current;return e===null?!0:(Q&4194048)===Q?gt===null:(Q&62914560)===Q||(Q&536870912)!==0?e===gt:!1}function fp(){var e=b.H;return b.H=oi,e===null?oi:e}function hp(){var e=b.A;return b.A=df,e}function Tn(){ge=4,uo||(Q&4194048)!==Q&&et.current!==null||(ya=!0),(ro&134217727)===0&&(Yo&134217727)===0||ce===null||fo(ce,Q,at,!1)}function Hc(e,t,o){var a=P;P|=2;var i=fp(),n=hp();(ce!==e||Q!==t)&&(Sn=null,Sa(e,t)),t=!1;var l=ge;e:do try{if(ee!==0&&G!==null){var c=G,s=ot;switch(ee){case 8:Lc(),l=6;break e;case 3:case 2:case 9:case 6:et.current===null&&(t=!0);var g=ee;if(ee=0,ot=null,Aa(e,c,s,g),o&&ya){l=0;break e}break;default:g=ee,ee=0,ot=null,Aa(e,c,s,g)}}hf(),l=ge;break}catch(y){dp(e,y)}while(!0);return t&&e.shellSuspendCounter++,Ut=Oo=null,P=a,b.H=i,b.A=n,G===null&&(ce=null,Q=0,Yi()),l}function hf(){for(;G!==null;)mp(G)}function mf(e,t){var o=P;P|=2;var a=fp(),i=hp();ce!==e||Q!==t?(Sn=null,vn=We()+500,Sa(e,t)):ya=Ca(e,t);e:do try{if(ee!==0&&G!==null){t=G;var n=ot;t:switch(ee){case 1:ee=0,ot=null,Aa(e,t,n,1);break;case 2:case 9:if(wu(n)){ee=0,ot=null,yp(t);break}t=function(){ee!==2&&ee!==9||ce!==e||(ee=7),xt(e)},n.then(t,t);break e;case 3:ee=7;break e;case 4:ee=5;break e;case 7:wu(n)?(ee=0,ot=null,yp(t)):(ee=0,ot=null,Aa(e,t,n,7));break;case 5:var l=null;switch(G.tag){case 26:l=G.memoizedState;case 5:case 27:var c=G;if(l?od(l):c.stateNode.complete){ee=0,ot=null;var s=c.sibling;if(s!==null)G=s;else{var g=c.return;g!==null?(G=g,zn(g)):G=null}break t}}ee=0,ot=null,Aa(e,t,n,5);break;case 6:ee=0,ot=null,Aa(e,t,n,6);break;case 8:Lc(),ge=6;break e;default:throw Error(h(462))}}yf();break}catch(y){dp(e,y)}while(!0);return Ut=Oo=null,b.H=a,b.A=i,P=o,G!==null?0:(ce=null,Q=0,Yi(),ge)}function yf(){for(;G!==null&&!kd();)mp(G)}function mp(e){var t=Gr(e.alternate,e,Kt);e.memoizedProps=e.pendingProps,t===null?zn(e):G=t}function yp(e){var t=e,o=t.alternate;switch(t.tag){case 15:case 0:t=Hr(o,t,t.pendingProps,t.type,void 0,Q);break;case 11:t=Hr(o,t,t.pendingProps,t.type.render,t.ref,Q);break;case 5:Wl(t);default:Qr(o,t),t=G=hu(t,Kt),t=Gr(o,t,Kt)}e.memoizedProps=e.pendingProps,t===null?zn(e):G=t}function Aa(e,t,o,a){Ut=Oo=null,Wl(t),ra=null,Ia=0;var i=t.return;try{if(nf(e,i,t,o,Q)){ge=1,rn(e,ut(o,e.current)),G=null;return}}catch(n){if(i!==null)throw G=i,n;ge=1,rn(e,ut(o,e.current)),G=null;return}t.flags&32768?(Z||a===1?e=!0:ya||(Q&536870912)!==0?e=!1:(uo=e=!0,(a===2||a===9||a===3||a===6)&&(a=et.current,a!==null&&a.tag===13&&(a.flags|=16384))),bp(t,e)):zn(t)}function zn(e){var t=e;do{if((t.flags&32768)!==0){bp(t,uo);return}e=t.return;var o=sf(t.alternate,t,Kt);if(o!==null){G=o;return}if(t=t.sibling,t!==null){G=t;return}G=t=e}while(t!==null);ge===0&&(ge=5)}function bp(e,t){do{var o=uf(e.alternate,e);if(o!==null){o.flags&=32767,G=o;return}if(o=e.return,o!==null&&(o.flags|=32768,o.subtreeFlags=0,o.deletions=null),!t&&(e=e.sibling,e!==null)){G=e;return}G=e=o}while(e!==null);ge=6,G=null}function vp(e,t,o,a,i,n,l,c,s){e.cancelPendingCommit=null;do Dn();while(Te!==0);if((P&6)!==0)throw Error(h(327));if(t!==null){if(t===e.current)throw Error(h(177));if(n=t.lanes|t.childLanes,n|=Tl,Wd(e,o,n,l,c,s),e===ce&&(G=ce=null,Q=0),va=t,go=e,Zt=o,Rc=n,Cc=i,sp=a,(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,Af(Ei,function(){return Dp(),null})):(e.callbackNode=null,e.callbackPriority=0),a=(t.flags&13878)!==0,(t.subtreeFlags&13878)!==0||a){a=b.T,b.T=null,i=D.p,D.p=2,l=P,P|=4;try{rf(e,t,o)}finally{P=l,D.p=i,b.T=a}}Te=1,Sp(),Ap(),Tp()}}function Sp(){if(Te===1){Te=0;var e=go,t=va,o=(t.flags&13878)!==0;if((t.subtreeFlags&13878)!==0||o){o=b.T,b.T=null;var a=D.p;D.p=2;var i=P;P|=4;try{ep(t,e);var n=Zc,l=lu(e.containerInfo),c=n.focusedElem,s=n.selectionRange;if(l!==c&&c&&c.ownerDocument&&nu(c.ownerDocument.documentElement,c)){if(s!==null&&yl(c)){var g=s.start,y=s.end;if(y===void 0&&(y=g),"selectionStart"in c)c.selectionStart=g,c.selectionEnd=Math.min(y,c.value.length);else{var S=c.ownerDocument||document,f=S&&S.defaultView||window;if(f.getSelection){var m=f.getSelection(),w=c.textContent.length,O=Math.min(s.start,w),ne=s.end===void 0?O:Math.min(s.end,w);!m.extend&&O>ne&&(l=ne,ne=O,O=l);var p=iu(c,O),u=iu(c,ne);if(p&&u&&(m.rangeCount!==1||m.anchorNode!==p.node||m.anchorOffset!==p.offset||m.focusNode!==u.node||m.focusOffset!==u.offset)){var d=S.createRange();d.setStart(p.node,p.offset),m.removeAllRanges(),O>ne?(m.addRange(d),m.extend(u.node,u.offset)):(d.setEnd(u.node,u.offset),m.addRange(d))}}}}for(S=[],m=c;m=m.parentNode;)m.nodeType===1&&S.push({element:m,left:m.scrollLeft,top:m.scrollTop});for(typeof c.focus=="function"&&c.focus(),c=0;c<S.length;c++){var v=S[c];v.element.scrollLeft=v.left,v.element.scrollTop=v.top}}Bn=!!Kc,Zc=Kc=null}finally{P=i,D.p=a,b.T=o}}e.current=t,Te=2}}function Ap(){if(Te===2){Te=0;var e=go,t=va,o=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||o){o=b.T,b.T=null;var a=D.p;D.p=2;var i=P;P|=4;try{Wr(e,t.alternate,t)}finally{P=i,D.p=a,b.T=o}}Te=3}}function Tp(){if(Te===4||Te===3){Te=0,Gd();var e=go,t=va,o=Zt,a=sp;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?Te=5:(Te=0,va=go=null,zp(e,e.pendingLanes));var i=e.pendingLanes;if(i===0&&(po=null),Jn(o),t=t.stateNode,Pe&&typeof Pe.onCommitFiberRoot=="function")try{Pe.onCommitFiberRoot(Ra,t,void 0,(t.current.flags&128)===128)}catch{}if(a!==null){t=b.T,i=D.p,D.p=2,b.T=null;try{for(var n=e.onRecoverableError,l=0;l<a.length;l++){var c=a[l];n(c.value,{componentStack:c.stack})}}finally{b.T=t,D.p=i}}(Zt&3)!==0&&Dn(),xt(e),i=e.pendingLanes,(o&261930)!==0&&(i&42)!==0?e===Oc?pi++:(pi=0,Oc=e):pi=0,di(0)}}function zp(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,Za(t)))}function Dn(){return Sp(),Ap(),Tp(),Dp()}function Dp(){if(Te!==5)return!1;var e=go,t=Rc;Rc=0;var o=Jn(Zt),a=b.T,i=D.p;try{D.p=32>o?32:o,b.T=null,o=Cc,Cc=null;var n=go,l=Zt;if(Te=0,va=go=null,Zt=0,(P&6)!==0)throw Error(h(331));var c=P;if(P|=4,np(n.current),op(n,n.current,l,o),P=c,di(0,!1),Pe&&typeof Pe.onPostCommitFiberRoot=="function")try{Pe.onPostCommitFiberRoot(Ra,n)}catch{}return!0}finally{D.p=i,b.T=a,zp(e,t)}}function Ep(e,t,o){t=ut(o,t),t=rc(e.stateNode,t,2),e=no(e,t,2),e!==null&&(Oa(e,2),xt(e))}function te(e,t,o){if(e.tag===3)Ep(e,e,o);else for(;t!==null;){if(t.tag===3){Ep(t,e,o);break}else if(t.tag===1){var a=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof a.componentDidCatch=="function"&&(po===null||!po.has(a))){e=ut(o,e),o=wr(2),a=no(t,o,2),a!==null&&(xr(o,a,t,e),Oa(a,2),xt(a));break}}t=t.return}}function Uc(e,t,o){var a=e.pingCache;if(a===null){a=e.pingCache=new gf;var i=new Set;a.set(t,i)}else i=a.get(t),i===void 0&&(i=new Set,a.set(t,i));i.has(o)||(xc=!0,i.add(o),e=bf.bind(null,e,t,o),t.then(e,e))}function bf(e,t,o){var a=e.pingCache;a!==null&&a.delete(t),e.pingedLanes|=e.suspendedLanes&o,e.warmLanes&=~o,ce===e&&(Q&o)===o&&(ge===4||ge===3&&(Q&62914560)===Q&&300>We()-bn?(P&2)===0&&Sa(e,0):Mc|=o,ba===Q&&(ba=0)),xt(e)}function wp(e,t){t===0&&(t=Ss()),e=qo(e,t),e!==null&&(Oa(e,t),xt(e))}function vf(e){var t=e.memoizedState,o=0;t!==null&&(o=t.retryLane),wp(e,o)}function Sf(e,t){var o=0;switch(e.tag){case 31:case 13:var a=e.stateNode,i=e.memoizedState;i!==null&&(o=i.retryLane);break;case 19:a=e.stateNode;break;case 22:a=e.stateNode._retryCache;break;default:throw Error(h(314))}a!==null&&a.delete(t),wp(e,o)}function Af(e,t){return In(e,t)}var En=null,Ta=null,Bc=!1,wn=!1,Nc=!1,ho=0;function xt(e){e!==Ta&&e.next===null&&(Ta===null?En=Ta=e:Ta=Ta.next=e),wn=!0,Bc||(Bc=!0,zf())}function di(e,t){if(!Nc&&wn){Nc=!0;do for(var o=!1,a=En;a!==null;){if(e!==0){var i=a.pendingLanes;if(i===0)var n=0;else{var l=a.suspendedLanes,c=a.pingedLanes;n=(1<<31-Fe(42|e)+1)-1,n&=i&~(l&~c),n=n&201326741?n&201326741|1:n?n|2:0}n!==0&&(o=!0,Rp(a,n))}else n=Q,n=qi(a,a===ce?n:0,a.cancelPendingCommit!==null||a.timeoutHandle!==-1),(n&3)===0||Ca(a,n)||(o=!0,Rp(a,n));a=a.next}while(o);Nc=!1}}function Tf(){xp()}function xp(){wn=Bc=!1;var e=0;ho!==0&&Lf()&&(e=ho);for(var t=We(),o=null,a=En;a!==null;){var i=a.next,n=Mp(a,t);n===0?(a.next=null,o===null?En=i:o.next=i,i===null&&(Ta=o)):(o=a,(e!==0||(n&3)!==0)&&(wn=!0)),a=i}Te!==0&&Te!==5||di(e),ho!==0&&(ho=0)}function Mp(e,t){for(var o=e.suspendedLanes,a=e.pingedLanes,i=e.expirationTimes,n=e.pendingLanes&-62914561;0<n;){var l=31-Fe(n),c=1<<l,s=i[l];s===-1?((c&o)===0||(c&a)!==0)&&(i[l]=Id(c,t)):s<=t&&(e.expiredLanes|=c),n&=~c}if(t=ce,o=Q,o=qi(e,e===t?o:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),a=e.callbackNode,o===0||e===t&&(ee===2||ee===9)||e.cancelPendingCommit!==null)return a!==null&&a!==null&&Wn(a),e.callbackNode=null,e.callbackPriority=0;if((o&3)===0||Ca(e,o)){if(t=o&-o,t===e.callbackPriority)return t;switch(a!==null&&Wn(a),Jn(o)){case 2:case 8:o=bs;break;case 32:o=Ei;break;case 268435456:o=vs;break;default:o=Ei}return a=qp.bind(null,e),o=In(o,a),e.callbackPriority=t,e.callbackNode=o,t}return a!==null&&a!==null&&Wn(a),e.callbackPriority=2,e.callbackNode=null,2}function qp(e,t){if(Te!==0&&Te!==5)return e.callbackNode=null,e.callbackPriority=0,null;var o=e.callbackNode;if(Dn()&&e.callbackNode!==o)return null;var a=Q;return a=qi(e,e===ce?a:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),a===0?null:(rp(e,a,t),Mp(e,We()),e.callbackNode!=null&&e.callbackNode===o?qp.bind(null,e):null)}function Rp(e,t){if(Dn())return null;rp(e,t,!0)}function zf(){Uf(function(){(P&6)!==0?In(ys,Tf):xp()})}function _c(){if(ho===0){var e=ca;e===0&&(e=wi,wi<<=1,(wi&261888)===0&&(wi=256)),ho=e}return ho}function Cp(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:Li(""+e)}function Op(e,t){var o=t.ownerDocument.createElement("input");return o.name=t.name,o.value=t.value,e.id&&o.setAttribute("form",e.id),t.parentNode.insertBefore(o,t),e=new FormData(e),o.parentNode.removeChild(o),e}function Df(e,t,o,a,i){if(t==="submit"&&o&&o.stateNode===i){var n=Cp((i[Ge]||null).action),l=a.submitter;l&&(t=(t=l[Ge]||null)?Cp(t.formAction):l.getAttribute("formAction"),t!==null&&(n=t,l=null));var c=new Ni("action","action",null,a,i);e.push({event:c,listeners:[{instance:null,listener:function(){if(a.defaultPrevented){if(ho!==0){var s=l?Op(i,l):new FormData(i);ic(o,{pending:!0,data:s,method:i.method,action:n},null,s)}}else typeof n=="function"&&(c.preventDefault(),s=l?Op(i,l):new FormData(i),ic(o,{pending:!0,data:s,method:i.method,action:n},n,s))},currentTarget:i}]})}}for(var kc=0;kc<Al.length;kc++){var Gc=Al[kc],Ef=Gc.toLowerCase(),wf=Gc[0].toUpperCase()+Gc.slice(1);bt(Ef,"on"+wf)}bt(uu,"onAnimationEnd"),bt(ru,"onAnimationIteration"),bt(pu,"onAnimationStart"),bt("dblclick","onDoubleClick"),bt("focusin","onFocus"),bt("focusout","onBlur"),bt(Yg,"onTransitionRun"),bt(Qg,"onTransitionStart"),bt(Vg,"onTransitionCancel"),bt(du,"onTransitionEnd"),Xo("onMouseEnter",["mouseout","mouseover"]),Xo("onMouseLeave",["mouseout","mouseover"]),Xo("onPointerEnter",["pointerout","pointerover"]),Xo("onPointerLeave",["pointerout","pointerover"]),Eo("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),Eo("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),Eo("onBeforeInput",["compositionend","keypress","textInput","paste"]),Eo("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),Eo("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),Eo("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var gi="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(" "),xf=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(gi));function Lp(e,t){t=(t&4)!==0;for(var o=0;o<e.length;o++){var a=e[o],i=a.event;a=a.listeners;e:{var n=void 0;if(t)for(var l=a.length-1;0<=l;l--){var c=a[l],s=c.instance,g=c.currentTarget;if(c=c.listener,s!==n&&i.isPropagationStopped())break e;n=c,i.currentTarget=g;try{n(i)}catch(y){Gi(y)}i.currentTarget=null,n=s}else for(l=0;l<a.length;l++){if(c=a[l],s=c.instance,g=c.currentTarget,c=c.listener,s!==n&&i.isPropagationStopped())break e;n=c,i.currentTarget=g;try{n(i)}catch(y){Gi(y)}i.currentTarget=null,n=s}}}}function Y(e,t){var o=t[$n];o===void 0&&(o=t[$n]=new Set);var a=e+"__bubble";o.has(a)||(Hp(t,e,2,!1),o.add(a))}function Yc(e,t,o){var a=0;t&&(a|=4),Hp(o,e,a,t)}var xn="_reactListening"+Math.random().toString(36).slice(2);function Qc(e){if(!e[xn]){e[xn]=!0,xs.forEach(function(o){o!=="selectionchange"&&(xf.has(o)||Yc(o,!1,e),Yc(o,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[xn]||(t[xn]=!0,Yc("selectionchange",!1,t))}}function Hp(e,t,o,a){switch(ud(t)){case 2:var i=th;break;case 8:i=oh;break;default:i=as}o=i.bind(null,t,o,e),i=void 0,!sl||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(i=!0),a?i!==void 0?e.addEventListener(t,o,{capture:!0,passive:i}):e.addEventListener(t,o,!0):i!==void 0?e.addEventListener(t,o,{passive:i}):e.addEventListener(t,o,!1)}function Vc(e,t,o,a,i){var n=a;if((t&1)===0&&(t&2)===0&&a!==null)e:for(;;){if(a===null)return;var l=a.tag;if(l===3||l===4){var c=a.stateNode.containerInfo;if(c===i)break;if(l===4)for(l=a.return;l!==null;){var s=l.tag;if((s===3||s===4)&&l.stateNode.containerInfo===i)return;l=l.return}for(;c!==null;){if(l=jo(c),l===null)return;if(s=l.tag,s===5||s===6||s===26||s===27){a=n=l;continue e}c=c.parentNode}}a=a.return}ks(function(){var g=n,y=ll(o),S=[];e:{var f=gu.get(e);if(f!==void 0){var m=Ni,w=e;switch(e){case"keypress":if(Ui(o)===0)break e;case"keydown":case"keyup":m=vg;break;case"focusin":w="focus",m=dl;break;case"focusout":w="blur",m=dl;break;case"beforeblur":case"afterblur":m=dl;break;case"click":if(o.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":m=Qs;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":m=cg;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":m=Tg;break;case uu:case ru:case pu:m=rg;break;case du:m=Dg;break;case"scroll":case"scrollend":m=ng;break;case"wheel":m=wg;break;case"copy":case"cut":case"paste":m=dg;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":m=js;break;case"toggle":case"beforetoggle":m=Mg}var O=(t&4)!==0,ne=!O&&(e==="scroll"||e==="scrollend"),p=O?f!==null?f+"Capture":null:f;O=[];for(var u=g,d;u!==null;){var v=u;if(d=v.stateNode,v=v.tag,v!==5&&v!==26&&v!==27||d===null||p===null||(v=Ua(u,p),v!=null&&O.push(fi(u,v,d))),ne)break;u=u.return}0<O.length&&(f=new m(f,w,null,o,y),S.push({event:f,listeners:O}))}}if((t&7)===0){e:{if(f=e==="mouseover"||e==="pointerover",m=e==="mouseout"||e==="pointerout",f&&o!==nl&&(w=o.relatedTarget||o.fromElement)&&(jo(w)||w[Vo]))break e;if((m||f)&&(f=y.window===y?y:(f=y.ownerDocument)?f.defaultView||f.parentWindow:window,m?(w=o.relatedTarget||o.toElement,m=g,w=w?jo(w):null,w!==null&&(ne=$(w),O=w.tag,w!==ne||O!==5&&O!==27&&O!==6)&&(w=null)):(m=null,w=g),m!==w)){if(O=Qs,v="onMouseLeave",p="onMouseEnter",u="mouse",(e==="pointerout"||e==="pointerover")&&(O=js,v="onPointerLeave",p="onPointerEnter",u="pointer"),ne=m==null?f:Ha(m),d=w==null?f:Ha(w),f=new O(v,u+"leave",m,o,y),f.target=ne,f.relatedTarget=d,v=null,jo(y)===g&&(O=new O(p,u+"enter",w,o,y),O.target=d,O.relatedTarget=ne,v=O),ne=v,m&&w)t:{for(O=Mf,p=m,u=w,d=0,v=p;v;v=O(v))d++;v=0;for(var R=u;R;R=O(R))v++;for(;0<d-v;)p=O(p),d--;for(;0<v-d;)u=O(u),v--;for(;d--;){if(p===u||u!==null&&p===u.alternate){O=p;break t}p=O(p),u=O(u)}O=null}else O=null;m!==null&&Up(S,f,m,O,!1),w!==null&&ne!==null&&Up(S,ne,w,O,!0)}}e:{if(f=g?Ha(g):window,m=f.nodeName&&f.nodeName.toLowerCase(),m==="select"||m==="input"&&f.type==="file")var X=Js;else if(Ps(f))if($s)X=_g;else{X=Bg;var M=Ug}else m=f.nodeName,!m||m.toLowerCase()!=="input"||f.type!=="checkbox"&&f.type!=="radio"?g&&il(g.elementType)&&(X=Js):X=Ng;if(X&&(X=X(e,g))){Fs(S,X,o,y);break e}M&&M(e,f,g),e==="focusout"&&g&&f.type==="number"&&g.memoizedProps.value!=null&&al(f,"number",f.value)}switch(M=g?Ha(g):window,e){case"focusin":(Ps(M)||M.contentEditable==="true")&&($o=M,bl=g,Va=null);break;case"focusout":Va=bl=$o=null;break;case"mousedown":vl=!0;break;case"contextmenu":case"mouseup":case"dragend":vl=!1,cu(S,o,y);break;case"selectionchange":if(Gg)break;case"keydown":case"keyup":cu(S,o,y)}var _;if(fl)e:{switch(e){case"compositionstart":var V="onCompositionStart";break e;case"compositionend":V="onCompositionEnd";break e;case"compositionupdate":V="onCompositionUpdate";break e}V=void 0}else Jo?Is(e,o)&&(V="onCompositionEnd"):e==="keydown"&&o.keyCode===229&&(V="onCompositionStart");V&&(Ks&&o.locale!=="ko"&&(Jo||V!=="onCompositionStart"?V==="onCompositionEnd"&&Jo&&(_=Gs()):(Jt=y,ul="value"in Jt?Jt.value:Jt.textContent,Jo=!0)),M=Mn(g,V),0<M.length&&(V=new Vs(V,e,null,o,y),S.push({event:V,listeners:M}),_?V.data=_:(_=Ws(o),_!==null&&(V.data=_)))),(_=Rg?Cg(e,o):Og(e,o))&&(V=Mn(g,"onBeforeInput"),0<V.length&&(M=new Vs("onBeforeInput","beforeinput",null,o,y),S.push({event:M,listeners:V}),M.data=_)),Df(S,e,g,o,y)}Lp(S,t)})}function fi(e,t,o){return{instance:e,listener:t,currentTarget:o}}function Mn(e,t){for(var o=t+"Capture",a=[];e!==null;){var i=e,n=i.stateNode;if(i=i.tag,i!==5&&i!==26&&i!==27||n===null||(i=Ua(e,o),i!=null&&a.unshift(fi(e,i,n)),i=Ua(e,t),i!=null&&a.push(fi(e,i,n))),e.tag===3)return a;e=e.return}return[]}function Mf(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Up(e,t,o,a,i){for(var n=t._reactName,l=[];o!==null&&o!==a;){var c=o,s=c.alternate,g=c.stateNode;if(c=c.tag,s!==null&&s===a)break;c!==5&&c!==26&&c!==27||g===null||(s=g,i?(g=Ua(o,n),g!=null&&l.unshift(fi(o,g,s))):i||(g=Ua(o,n),g!=null&&l.push(fi(o,g,s)))),o=o.return}l.length!==0&&e.push({event:t,listeners:l})}var qf=/\r\n?/g,Rf=/\u0000|\uFFFD/g;function Bp(e){return(typeof e=="string"?e:""+e).replace(qf,`
`).replace(Rf,"")}function Np(e,t){return t=Bp(t),Bp(e)===t}function ie(e,t,o,a,i,n){switch(o){case"children":typeof a=="string"?t==="body"||t==="textarea"&&a===""||Wo(e,a):(typeof a=="number"||typeof a=="bigint")&&t!=="body"&&Wo(e,""+a);break;case"className":Ci(e,"class",a);break;case"tabIndex":Ci(e,"tabindex",a);break;case"dir":case"role":case"viewBox":case"width":case"height":Ci(e,o,a);break;case"style":Ns(e,a,n);break;case"data":if(t!=="object"){Ci(e,"data",a);break}case"src":case"href":if(a===""&&(t!=="a"||o!=="href")){e.removeAttribute(o);break}if(a==null||typeof a=="function"||typeof a=="symbol"||typeof a=="boolean"){e.removeAttribute(o);break}a=Li(""+a),e.setAttribute(o,a);break;case"action":case"formAction":if(typeof a=="function"){e.setAttribute(o,"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 n=="function"&&(o==="formAction"?(t!=="input"&&ie(e,t,"name",i.name,i,null),ie(e,t,"formEncType",i.formEncType,i,null),ie(e,t,"formMethod",i.formMethod,i,null),ie(e,t,"formTarget",i.formTarget,i,null)):(ie(e,t,"encType",i.encType,i,null),ie(e,t,"method",i.method,i,null),ie(e,t,"target",i.target,i,null)));if(a==null||typeof a=="symbol"||typeof a=="boolean"){e.removeAttribute(o);break}a=Li(""+a),e.setAttribute(o,a);break;case"onClick":a!=null&&(e.onclick=Ct);break;case"onScroll":a!=null&&Y("scroll",e);break;case"onScrollEnd":a!=null&&Y("scrollend",e);break;case"dangerouslySetInnerHTML":if(a!=null){if(typeof a!="object"||!("__html"in a))throw Error(h(61));if(o=a.__html,o!=null){if(i.children!=null)throw Error(h(60));e.innerHTML=o}}break;case"multiple":e.multiple=a&&typeof a!="function"&&typeof a!="symbol";break;case"muted":e.muted=a&&typeof a!="function"&&typeof a!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(a==null||typeof a=="function"||typeof a=="boolean"||typeof a=="symbol"){e.removeAttribute("xlink:href");break}o=Li(""+a),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",o);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":a!=null&&typeof a!="function"&&typeof a!="symbol"?e.setAttribute(o,""+a):e.removeAttribute(o);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":a&&typeof a!="function"&&typeof a!="symbol"?e.setAttribute(o,""):e.removeAttribute(o);break;case"capture":case"download":a===!0?e.setAttribute(o,""):a!==!1&&a!=null&&typeof a!="function"&&typeof a!="symbol"?e.setAttribute(o,a):e.removeAttribute(o);break;case"cols":case"rows":case"size":case"span":a!=null&&typeof a!="function"&&typeof a!="symbol"&&!isNaN(a)&&1<=a?e.setAttribute(o,a):e.removeAttribute(o);break;case"rowSpan":case"start":a==null||typeof a=="function"||typeof a=="symbol"||isNaN(a)?e.removeAttribute(o):e.setAttribute(o,a);break;case"popover":Y("beforetoggle",e),Y("toggle",e),Ri(e,"popover",a);break;case"xlinkActuate":Rt(e,"http://www.w3.org/1999/xlink","xlink:actuate",a);break;case"xlinkArcrole":Rt(e,"http://www.w3.org/1999/xlink","xlink:arcrole",a);break;case"xlinkRole":Rt(e,"http://www.w3.org/1999/xlink","xlink:role",a);break;case"xlinkShow":Rt(e,"http://www.w3.org/1999/xlink","xlink:show",a);break;case"xlinkTitle":Rt(e,"http://www.w3.org/1999/xlink","xlink:title",a);break;case"xlinkType":Rt(e,"http://www.w3.org/1999/xlink","xlink:type",a);break;case"xmlBase":Rt(e,"http://www.w3.org/XML/1998/namespace","xml:base",a);break;case"xmlLang":Rt(e,"http://www.w3.org/XML/1998/namespace","xml:lang",a);break;case"xmlSpace":Rt(e,"http://www.w3.org/XML/1998/namespace","xml:space",a);break;case"is":Ri(e,"is",a);break;case"innerText":case"textContent":break;default:(!(2<o.length)||o[0]!=="o"&&o[0]!=="O"||o[1]!=="n"&&o[1]!=="N")&&(o=ag.get(o)||o,Ri(e,o,a))}}function jc(e,t,o,a,i,n){switch(o){case"style":Ns(e,a,n);break;case"dangerouslySetInnerHTML":if(a!=null){if(typeof a!="object"||!("__html"in a))throw Error(h(61));if(o=a.__html,o!=null){if(i.children!=null)throw Error(h(60));e.innerHTML=o}}break;case"children":typeof a=="string"?Wo(e,a):(typeof a=="number"||typeof a=="bigint")&&Wo(e,""+a);break;case"onScroll":a!=null&&Y("scroll",e);break;case"onScrollEnd":a!=null&&Y("scrollend",e);break;case"onClick":a!=null&&(e.onclick=Ct);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!Ms.hasOwnProperty(o))e:{if(o[0]==="o"&&o[1]==="n"&&(i=o.endsWith("Capture"),t=o.slice(2,i?o.length-7:void 0),n=e[Ge]||null,n=n!=null?n[o]:null,typeof n=="function"&&e.removeEventListener(t,n,i),typeof a=="function")){typeof n!="function"&&n!==null&&(o in e?e[o]=null:e.hasAttribute(o)&&e.removeAttribute(o)),e.addEventListener(t,a,i);break e}o in e?e[o]=a:a===!0?e.setAttribute(o,""):Ri(e,o,a)}}}function qe(e,t,o){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":Y("error",e),Y("load",e);var a=!1,i=!1,n;for(n in o)if(o.hasOwnProperty(n)){var l=o[n];if(l!=null)switch(n){case"src":a=!0;break;case"srcSet":i=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(h(137,t));default:ie(e,t,n,l,o,null)}}i&&ie(e,t,"srcSet",o.srcSet,o,null),a&&ie(e,t,"src",o.src,o,null);return;case"input":Y("invalid",e);var c=n=l=i=null,s=null,g=null;for(a in o)if(o.hasOwnProperty(a)){var y=o[a];if(y!=null)switch(a){case"name":i=y;break;case"type":l=y;break;case"checked":s=y;break;case"defaultChecked":g=y;break;case"value":n=y;break;case"defaultValue":c=y;break;case"children":case"dangerouslySetInnerHTML":if(y!=null)throw Error(h(137,t));break;default:ie(e,t,a,y,o,null)}}Ls(e,n,c,s,g,l,i,!1);return;case"select":Y("invalid",e),a=l=n=null;for(i in o)if(o.hasOwnProperty(i)&&(c=o[i],c!=null))switch(i){case"value":n=c;break;case"defaultValue":l=c;break;case"multiple":a=c;default:ie(e,t,i,c,o,null)}t=n,o=l,e.multiple=!!a,t!=null?Io(e,!!a,t,!1):o!=null&&Io(e,!!a,o,!0);return;case"textarea":Y("invalid",e),n=i=a=null;for(l in o)if(o.hasOwnProperty(l)&&(c=o[l],c!=null))switch(l){case"value":a=c;break;case"defaultValue":i=c;break;case"children":n=c;break;case"dangerouslySetInnerHTML":if(c!=null)throw Error(h(91));break;default:ie(e,t,l,c,o,null)}Us(e,a,i,n);return;case"option":for(s in o)if(o.hasOwnProperty(s)&&(a=o[s],a!=null))switch(s){case"selected":e.selected=a&&typeof a!="function"&&typeof a!="symbol";break;default:ie(e,t,s,a,o,null)}return;case"dialog":Y("beforetoggle",e),Y("toggle",e),Y("cancel",e),Y("close",e);break;case"iframe":case"object":Y("load",e);break;case"video":case"audio":for(a=0;a<gi.length;a++)Y(gi[a],e);break;case"image":Y("error",e),Y("load",e);break;case"details":Y("toggle",e);break;case"embed":case"source":case"link":Y("error",e),Y("load",e);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(g in o)if(o.hasOwnProperty(g)&&(a=o[g],a!=null))switch(g){case"children":case"dangerouslySetInnerHTML":throw Error(h(137,t));default:ie(e,t,g,a,o,null)}return;default:if(il(t)){for(y in o)o.hasOwnProperty(y)&&(a=o[y],a!==void 0&&jc(e,t,y,a,o,void 0));return}}for(c in o)o.hasOwnProperty(c)&&(a=o[c],a!=null&&ie(e,t,c,a,o,null))}function Cf(e,t,o,a){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var i=null,n=null,l=null,c=null,s=null,g=null,y=null;for(m in o){var S=o[m];if(o.hasOwnProperty(m)&&S!=null)switch(m){case"checked":break;case"value":break;case"defaultValue":s=S;default:a.hasOwnProperty(m)||ie(e,t,m,null,a,S)}}for(var f in a){var m=a[f];if(S=o[f],a.hasOwnProperty(f)&&(m!=null||S!=null))switch(f){case"type":n=m;break;case"name":i=m;break;case"checked":g=m;break;case"defaultChecked":y=m;break;case"value":l=m;break;case"defaultValue":c=m;break;case"children":case"dangerouslySetInnerHTML":if(m!=null)throw Error(h(137,t));break;default:m!==S&&ie(e,t,f,m,a,S)}}ol(e,l,c,s,g,y,n,i);return;case"select":m=l=c=f=null;for(n in o)if(s=o[n],o.hasOwnProperty(n)&&s!=null)switch(n){case"value":break;case"multiple":m=s;default:a.hasOwnProperty(n)||ie(e,t,n,null,a,s)}for(i in a)if(n=a[i],s=o[i],a.hasOwnProperty(i)&&(n!=null||s!=null))switch(i){case"value":f=n;break;case"defaultValue":c=n;break;case"multiple":l=n;default:n!==s&&ie(e,t,i,n,a,s)}t=c,o=l,a=m,f!=null?Io(e,!!o,f,!1):!!a!=!!o&&(t!=null?Io(e,!!o,t,!0):Io(e,!!o,o?[]:"",!1));return;case"textarea":m=f=null;for(c in o)if(i=o[c],o.hasOwnProperty(c)&&i!=null&&!a.hasOwnProperty(c))switch(c){case"value":break;case"children":break;default:ie(e,t,c,null,a,i)}for(l in a)if(i=a[l],n=o[l],a.hasOwnProperty(l)&&(i!=null||n!=null))switch(l){case"value":f=i;break;case"defaultValue":m=i;break;case"children":break;case"dangerouslySetInnerHTML":if(i!=null)throw Error(h(91));break;default:i!==n&&ie(e,t,l,i,a,n)}Hs(e,f,m);return;case"option":for(var w in o)if(f=o[w],o.hasOwnProperty(w)&&f!=null&&!a.hasOwnProperty(w))switch(w){case"selected":e.selected=!1;break;default:ie(e,t,w,null,a,f)}for(s in a)if(f=a[s],m=o[s],a.hasOwnProperty(s)&&f!==m&&(f!=null||m!=null))switch(s){case"selected":e.selected=f&&typeof f!="function"&&typeof f!="symbol";break;default:ie(e,t,s,f,a,m)}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 O in o)f=o[O],o.hasOwnProperty(O)&&f!=null&&!a.hasOwnProperty(O)&&ie(e,t,O,null,a,f);for(g in a)if(f=a[g],m=o[g],a.hasOwnProperty(g)&&f!==m&&(f!=null||m!=null))switch(g){case"children":case"dangerouslySetInnerHTML":if(f!=null)throw Error(h(137,t));break;default:ie(e,t,g,f,a,m)}return;default:if(il(t)){for(var ne in o)f=o[ne],o.hasOwnProperty(ne)&&f!==void 0&&!a.hasOwnProperty(ne)&&jc(e,t,ne,void 0,a,f);for(y in a)f=a[y],m=o[y],!a.hasOwnProperty(y)||f===m||f===void 0&&m===void 0||jc(e,t,y,f,a,m);return}}for(var p in o)f=o[p],o.hasOwnProperty(p)&&f!=null&&!a.hasOwnProperty(p)&&ie(e,t,p,null,a,f);for(S in a)f=a[S],m=o[S],!a.hasOwnProperty(S)||f===m||f==null&&m==null||ie(e,t,S,f,a,m)}function _p(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function Of(){if(typeof performance.getEntriesByType=="function"){for(var e=0,t=0,o=performance.getEntriesByType("resource"),a=0;a<o.length;a++){var i=o[a],n=i.transferSize,l=i.initiatorType,c=i.duration;if(n&&c&&_p(l)){for(l=0,c=i.responseEnd,a+=1;a<o.length;a++){var s=o[a],g=s.startTime;if(g>c)break;var y=s.transferSize,S=s.initiatorType;y&&_p(S)&&(s=s.responseEnd,l+=y*(s<c?1:(c-g)/(s-g)))}if(--a,t+=8*(n+l)/(i.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e=="number")?e:5}var Kc=null,Zc=null;function qn(e){return e.nodeType===9?e:e.ownerDocument}function kp(e){switch(e){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function Gp(e,t){if(e===0)switch(t){case"svg":return 1;case"math":return 2;default:return 0}return e===1&&t==="foreignObject"?0:e}function Xc(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.children=="bigint"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Ic=null;function Lf(){var e=window.event;return e&&e.type==="popstate"?e===Ic?!1:(Ic=e,!0):(Ic=null,!1)}var Yp=typeof setTimeout=="function"?setTimeout:void 0,Hf=typeof clearTimeout=="function"?clearTimeout:void 0,Qp=typeof Promise=="function"?Promise:void 0,Uf=typeof queueMicrotask=="function"?queueMicrotask:typeof Qp<"u"?function(e){return Qp.resolve(null).then(e).catch(Bf)}:Yp;function Bf(e){setTimeout(function(){throw e})}function mo(e){return e==="head"}function Vp(e,t){var o=t,a=0;do{var i=o.nextSibling;if(e.removeChild(o),i&&i.nodeType===8)if(o=i.data,o==="/$"||o==="/&"){if(a===0){e.removeChild(i),wa(t);return}a--}else if(o==="$"||o==="$?"||o==="$~"||o==="$!"||o==="&")a++;else if(o==="html")hi(e.ownerDocument.documentElement);else if(o==="head"){o=e.ownerDocument.head,hi(o);for(var n=o.firstChild;n;){var l=n.nextSibling,c=n.nodeName;n[La]||c==="SCRIPT"||c==="STYLE"||c==="LINK"&&n.rel.toLowerCase()==="stylesheet"||o.removeChild(n),n=l}}else o==="body"&&hi(e.ownerDocument.body);o=i}while(o);wa(t)}function jp(e,t){var o=e;e=0;do{var a=o.nextSibling;if(o.nodeType===1?t?(o._stashedDisplay=o.style.display,o.style.display="none"):(o.style.display=o._stashedDisplay||"",o.getAttribute("style")===""&&o.removeAttribute("style")):o.nodeType===3&&(t?(o._stashedText=o.nodeValue,o.nodeValue=""):o.nodeValue=o._stashedText||""),a&&a.nodeType===8)if(o=a.data,o==="/$"){if(e===0)break;e--}else o!=="$"&&o!=="$?"&&o!=="$~"&&o!=="$!"||e++;o=a}while(o)}function Wc(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var o=t;switch(t=t.nextSibling,o.nodeName){case"HTML":case"HEAD":case"BODY":Wc(o),el(o);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(o.rel.toLowerCase()==="stylesheet")continue}e.removeChild(o)}}function Nf(e,t,o,a){for(;e.nodeType===1;){var i=o;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!a&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(a){if(!e[La])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(n=e.getAttribute("rel"),n==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(n!==i.rel||e.getAttribute("href")!==(i.href==null||i.href===""?null:i.href)||e.getAttribute("crossorigin")!==(i.crossOrigin==null?null:i.crossOrigin)||e.getAttribute("title")!==(i.title==null?null:i.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(n=e.getAttribute("src"),(n!==(i.src==null?null:i.src)||e.getAttribute("type")!==(i.type==null?null:i.type)||e.getAttribute("crossorigin")!==(i.crossOrigin==null?null:i.crossOrigin))&&n&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(t==="input"&&e.type==="hidden"){var n=i.name==null?null:""+i.name;if(i.type==="hidden"&&e.getAttribute("name")===n)return e}else return e;if(e=ft(e.nextSibling),e===null)break}return null}function _f(e,t,o){if(t==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!o||(e=ft(e.nextSibling),e===null))return null;return e}function Kp(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!t||(e=ft(e.nextSibling),e===null))return null;return e}function Pc(e){return e.data==="$?"||e.data==="$~"}function Fc(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function kf(e,t){var o=e.ownerDocument;if(e.data==="$~")e._reactRetry=t;else if(e.data!=="$?"||o.readyState!=="loading")t();else{var a=function(){t(),o.removeEventListener("DOMContentLoaded",a)};o.addEventListener("DOMContentLoaded",a),e._reactRetry=a}}function ft(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?"||t==="$~"||t==="&"||t==="F!"||t==="F")break;if(t==="/$"||t==="/&")return null}}return e}var Jc=null;function Zp(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var o=e.data;if(o==="/$"||o==="/&"){if(t===0)return ft(e.nextSibling);t--}else o!=="$"&&o!=="$!"&&o!=="$?"&&o!=="$~"&&o!=="&"||t++}e=e.nextSibling}return null}function Xp(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var o=e.data;if(o==="$"||o==="$!"||o==="$?"||o==="$~"||o==="&"){if(t===0)return e;t--}else o!=="/$"&&o!=="/&"||t++}e=e.previousSibling}return null}function Ip(e,t,o){switch(t=qn(o),e){case"html":if(e=t.documentElement,!e)throw Error(h(452));return e;case"head":if(e=t.head,!e)throw Error(h(453));return e;case"body":if(e=t.body,!e)throw Error(h(454));return e;default:throw Error(h(451))}}function hi(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);el(e)}var ht=new Map,Wp=new Set;function Rn(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var Xt=D.d;D.d={f:Gf,r:Yf,D:Qf,C:Vf,L:jf,m:Kf,X:Xf,S:Zf,M:If};function Gf(){var e=Xt.f(),t=An();return e||t}function Yf(e){var t=Ko(e);t!==null&&t.tag===5&&t.type==="form"?dr(t):Xt.r(e)}var za=typeof document>"u"?null:document;function Pp(e,t,o){var a=za;if(a&&typeof t=="string"&&t){var i=ct(t);i='link[rel="'+e+'"][href="'+i+'"]',typeof o=="string"&&(i+='[crossorigin="'+o+'"]'),Wp.has(i)||(Wp.add(i),e={rel:e,crossOrigin:o,href:t},a.querySelector(i)===null&&(t=a.createElement("link"),qe(t,"link",e),ze(t),a.head.appendChild(t)))}}function Qf(e){Xt.D(e),Pp("dns-prefetch",e,null)}function Vf(e,t){Xt.C(e,t),Pp("preconnect",e,t)}function jf(e,t,o){Xt.L(e,t,o);var a=za;if(a&&e&&t){var i='link[rel="preload"][as="'+ct(t)+'"]';t==="image"&&o&&o.imageSrcSet?(i+='[imagesrcset="'+ct(o.imageSrcSet)+'"]',typeof o.imageSizes=="string"&&(i+='[imagesizes="'+ct(o.imageSizes)+'"]')):i+='[href="'+ct(e)+'"]';var n=i;switch(t){case"style":n=Da(e);break;case"script":n=Ea(e)}ht.has(n)||(e=L({rel:"preload",href:t==="image"&&o&&o.imageSrcSet?void 0:e,as:t},o),ht.set(n,e),a.querySelector(i)!==null||t==="style"&&a.querySelector(mi(n))||t==="script"&&a.querySelector(yi(n))||(t=a.createElement("link"),qe(t,"link",e),ze(t),a.head.appendChild(t)))}}function Kf(e,t){Xt.m(e,t);var o=za;if(o&&e){var a=t&&typeof t.as=="string"?t.as:"script",i='link[rel="modulepreload"][as="'+ct(a)+'"][href="'+ct(e)+'"]',n=i;switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":n=Ea(e)}if(!ht.has(n)&&(e=L({rel:"modulepreload",href:e},t),ht.set(n,e),o.querySelector(i)===null)){switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(o.querySelector(yi(n)))return}a=o.createElement("link"),qe(a,"link",e),ze(a),o.head.appendChild(a)}}}function Zf(e,t,o){Xt.S(e,t,o);var a=za;if(a&&e){var i=Zo(a).hoistableStyles,n=Da(e);t=t||"default";var l=i.get(n);if(!l){var c={loading:0,preload:null};if(l=a.querySelector(mi(n)))c.loading=5;else{e=L({rel:"stylesheet",href:e,"data-precedence":t},o),(o=ht.get(n))&&$c(e,o);var s=l=a.createElement("link");ze(s),qe(s,"link",e),s._p=new Promise(function(g,y){s.onload=g,s.onerror=y}),s.addEventListener("load",function(){c.loading|=1}),s.addEventListener("error",function(){c.loading|=2}),c.loading|=4,Cn(l,t,a)}l={type:"stylesheet",instance:l,count:1,state:c},i.set(n,l)}}}function Xf(e,t){Xt.X(e,t);var o=za;if(o&&e){var a=Zo(o).hoistableScripts,i=Ea(e),n=a.get(i);n||(n=o.querySelector(yi(i)),n||(e=L({src:e,async:!0},t),(t=ht.get(i))&&es(e,t),n=o.createElement("script"),ze(n),qe(n,"link",e),o.head.appendChild(n)),n={type:"script",instance:n,count:1,state:null},a.set(i,n))}}function If(e,t){Xt.M(e,t);var o=za;if(o&&e){var a=Zo(o).hoistableScripts,i=Ea(e),n=a.get(i);n||(n=o.querySelector(yi(i)),n||(e=L({src:e,async:!0,type:"module"},t),(t=ht.get(i))&&es(e,t),n=o.createElement("script"),ze(n),qe(n,"link",e),o.head.appendChild(n)),n={type:"script",instance:n,count:1,state:null},a.set(i,n))}}function Fp(e,t,o,a){var i=(i=k.current)?Rn(i):null;if(!i)throw Error(h(446));switch(e){case"meta":case"title":return null;case"style":return typeof o.precedence=="string"&&typeof o.href=="string"?(t=Da(o.href),o=Zo(i).hoistableStyles,a=o.get(t),a||(a={type:"style",instance:null,count:0,state:null},o.set(t,a)),a):{type:"void",instance:null,count:0,state:null};case"link":if(o.rel==="stylesheet"&&typeof o.href=="string"&&typeof o.precedence=="string"){e=Da(o.href);var n=Zo(i).hoistableStyles,l=n.get(e);if(l||(i=i.ownerDocument||i,l={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},n.set(e,l),(n=i.querySelector(mi(e)))&&!n._p&&(l.instance=n,l.state.loading=5),ht.has(e)||(o={rel:"preload",as:"style",href:o.href,crossOrigin:o.crossOrigin,integrity:o.integrity,media:o.media,hrefLang:o.hrefLang,referrerPolicy:o.referrerPolicy},ht.set(e,o),n||Wf(i,e,o,l.state))),t&&a===null)throw Error(h(528,""));return l}if(t&&a!==null)throw Error(h(529,""));return null;case"script":return t=o.async,o=o.src,typeof o=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=Ea(o),o=Zo(i).hoistableScripts,a=o.get(t),a||(a={type:"script",instance:null,count:0,state:null},o.set(t,a)),a):{type:"void",instance:null,count:0,state:null};default:throw Error(h(444,e))}}function Da(e){return'href="'+ct(e)+'"'}function mi(e){return'link[rel="stylesheet"]['+e+"]"}function Jp(e){return L({},e,{"data-precedence":e.precedence,precedence:null})}function Wf(e,t,o,a){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?a.loading=1:(t=e.createElement("link"),a.preload=t,t.addEventListener("load",function(){return a.loading|=1}),t.addEventListener("error",function(){return a.loading|=2}),qe(t,"link",o),ze(t),e.head.appendChild(t))}function Ea(e){return'[src="'+ct(e)+'"]'}function yi(e){return"script[async]"+e}function $p(e,t,o){if(t.count++,t.instance===null)switch(t.type){case"style":var a=e.querySelector('style[data-href~="'+ct(o.href)+'"]');if(a)return t.instance=a,ze(a),a;var i=L({},o,{"data-href":o.href,"data-precedence":o.precedence,href:null,precedence:null});return a=(e.ownerDocument||e).createElement("style"),ze(a),qe(a,"style",i),Cn(a,o.precedence,e),t.instance=a;case"stylesheet":i=Da(o.href);var n=e.querySelector(mi(i));if(n)return t.state.loading|=4,t.instance=n,ze(n),n;a=Jp(o),(i=ht.get(i))&&$c(a,i),n=(e.ownerDocument||e).createElement("link"),ze(n);var l=n;return l._p=new Promise(function(c,s){l.onload=c,l.onerror=s}),qe(n,"link",a),t.state.loading|=4,Cn(n,o.precedence,e),t.instance=n;case"script":return n=Ea(o.src),(i=e.querySelector(yi(n)))?(t.instance=i,ze(i),i):(a=o,(i=ht.get(n))&&(a=L({},o),es(a,i)),e=e.ownerDocument||e,i=e.createElement("script"),ze(i),qe(i,"link",a),e.head.appendChild(i),t.instance=i);case"void":return null;default:throw Error(h(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(a=t.instance,t.state.loading|=4,Cn(a,o.precedence,e));return t.instance}function Cn(e,t,o){for(var a=o.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),i=a.length?a[a.length-1]:null,n=i,l=0;l<a.length;l++){var c=a[l];if(c.dataset.precedence===t)n=c;else if(n!==i)break}n?n.parentNode.insertBefore(e,n.nextSibling):(t=o.nodeType===9?o.head:o,t.insertBefore(e,t.firstChild))}function $c(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function es(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var On=null;function ed(e,t,o){if(On===null){var a=new Map,i=On=new Map;i.set(o,a)}else i=On,a=i.get(o),a||(a=new Map,i.set(o,a));if(a.has(e))return a;for(a.set(e,null),o=o.getElementsByTagName(e),i=0;i<o.length;i++){var n=o[i];if(!(n[La]||n[Ee]||e==="link"&&n.getAttribute("rel")==="stylesheet")&&n.namespaceURI!=="http://www.w3.org/2000/svg"){var l=n.getAttribute(t)||"";l=e+l;var c=a.get(l);c?c.push(n):a.set(l,[n])}}return a}function td(e,t,o){e=e.ownerDocument||e,e.head.insertBefore(o,t==="title"?e.querySelector("head > title"):null)}function Pf(e,t,o){if(o===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;switch(t.rel){case"stylesheet":return e=t.disabled,typeof t.precedence=="string"&&e==null;default:return!0}case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function od(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function Ff(e,t,o,a){if(o.type==="stylesheet"&&(typeof a.media!="string"||matchMedia(a.media).matches!==!1)&&(o.state.loading&4)===0){if(o.instance===null){var i=Da(a.href),n=t.querySelector(mi(i));if(n){t=n._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=Ln.bind(e),t.then(e,e)),o.state.loading|=4,o.instance=n,ze(n);return}n=t.ownerDocument||t,a=Jp(a),(i=ht.get(i))&&$c(a,i),n=n.createElement("link"),ze(n);var l=n;l._p=new Promise(function(c,s){l.onload=c,l.onerror=s}),qe(n,"link",a),o.instance=n}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(o,t),(t=o.state.preload)&&(o.state.loading&3)===0&&(e.count++,o=Ln.bind(e),t.addEventListener("load",o),t.addEventListener("error",o))}}var ts=0;function Jf(e,t){return e.stylesheets&&e.count===0&&Un(e,e.stylesheets),0<e.count||0<e.imgCount?function(o){var a=setTimeout(function(){if(e.stylesheets&&Un(e,e.stylesheets),e.unsuspend){var n=e.unsuspend;e.unsuspend=null,n()}},6e4+t);0<e.imgBytes&&ts===0&&(ts=62500*Of());var i=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&Un(e,e.stylesheets),e.unsuspend)){var n=e.unsuspend;e.unsuspend=null,n()}},(e.imgBytes>ts?50:800)+t);return e.unsuspend=o,function(){e.unsuspend=null,clearTimeout(a),clearTimeout(i)}}:null}function Ln(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Un(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Hn=null;function Un(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Hn=new Map,t.forEach($f,e),Hn=null,Ln.call(e))}function $f(e,t){if(!(t.state.loading&4)){var o=Hn.get(e);if(o)var a=o.get(null);else{o=new Map,Hn.set(e,o);for(var i=e.querySelectorAll("link[data-precedence],style[data-precedence]"),n=0;n<i.length;n++){var l=i[n];(l.nodeName==="LINK"||l.getAttribute("media")!=="not all")&&(o.set(l.dataset.precedence,l),a=l)}a&&o.set(null,a)}i=t.instance,l=i.getAttribute("data-precedence"),n=o.get(l)||a,n===a&&o.set(null,i),o.set(l,i),this.count++,a=Ln.bind(this),i.addEventListener("load",a),i.addEventListener("error",a),n?n.parentNode.insertBefore(i,n.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(i,e.firstChild)),t.state.loading|=4}}var bi={$$typeof:Re,Provider:null,Consumer:null,_currentValue:H,_currentValue2:H,_threadCount:0};function eh(e,t,o,a,i,n,l,c,s){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=Pn(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Pn(0),this.hiddenUpdates=Pn(null),this.identifierPrefix=a,this.onUncaughtError=i,this.onCaughtError=n,this.onRecoverableError=l,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=s,this.incompleteTransitions=new Map}function ad(e,t,o,a,i,n,l,c,s,g,y,S){return e=new eh(e,t,o,l,s,g,y,S,c),t=1,n===!0&&(t|=24),n=$e(3,null,null,t),e.current=n,n.stateNode=e,t=Hl(),t.refCount++,e.pooledCache=t,t.refCount++,n.memoizedState={element:a,isDehydrated:o,cache:t},_l(n),e}function id(e){return e?(e=oa,e):oa}function nd(e,t,o,a,i,n){i=id(i),a.context===null?a.context=i:a.pendingContext=i,a=io(t),a.payload={element:o},n=n===void 0?null:n,n!==null&&(a.callback=n),o=no(e,a,t),o!==null&&(Ze(o,e,t),Pa(o,e,t))}function ld(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var o=e.retryLane;e.retryLane=o!==0&&o<t?o:t}}function os(e,t){ld(e,t),(e=e.alternate)&&ld(e,t)}function cd(e){if(e.tag===13||e.tag===31){var t=qo(e,67108864);t!==null&&Ze(t,e,67108864),os(e,67108864)}}function sd(e){if(e.tag===13||e.tag===31){var t=it();t=Fn(t);var o=qo(e,t);o!==null&&Ze(o,e,t),os(e,t)}}var Bn=!0;function th(e,t,o,a){var i=b.T;b.T=null;var n=D.p;try{D.p=2,as(e,t,o,a)}finally{D.p=n,b.T=i}}function oh(e,t,o,a){var i=b.T;b.T=null;var n=D.p;try{D.p=8,as(e,t,o,a)}finally{D.p=n,b.T=i}}function as(e,t,o,a){if(Bn){var i=is(a);if(i===null)Vc(e,t,a,Nn,o),rd(e,a);else if(ih(i,e,t,o,a))a.stopPropagation();else if(rd(e,a),t&4&&-1<ah.indexOf(e)){for(;i!==null;){var n=Ko(i);if(n!==null)switch(n.tag){case 3:if(n=n.stateNode,n.current.memoizedState.isDehydrated){var l=Do(n.pendingLanes);if(l!==0){var c=n;for(c.pendingLanes|=2,c.entangledLanes|=2;l;){var s=1<<31-Fe(l);c.entanglements[1]|=s,l&=~s}xt(n),(P&6)===0&&(vn=We()+500,di(0))}}break;case 31:case 13:c=qo(n,2),c!==null&&Ze(c,n,2),An(),os(n,2)}if(n=is(a),n===null&&Vc(e,t,a,Nn,o),n===i)break;i=n}i!==null&&a.stopPropagation()}else Vc(e,t,a,null,o)}}function is(e){return e=ll(e),ns(e)}var Nn=null;function ns(e){if(Nn=null,e=jo(e),e!==null){var t=$(e);if(t===null)e=null;else{var o=t.tag;if(o===13){if(e=Ae(t),e!==null)return e;e=null}else if(o===31){if(e=Oe(t),e!==null)return e;e=null}else if(o===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return Nn=e,null}function ud(e){switch(e){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(Yd()){case ys:return 2;case bs:return 8;case Ei:case Qd:return 32;case vs:return 268435456;default:return 32}default:return 32}}var ls=!1,yo=null,bo=null,vo=null,vi=new Map,Si=new Map,So=[],ah="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 rd(e,t){switch(e){case"focusin":case"focusout":yo=null;break;case"dragenter":case"dragleave":bo=null;break;case"mouseover":case"mouseout":vo=null;break;case"pointerover":case"pointerout":vi.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Si.delete(t.pointerId)}}function Ai(e,t,o,a,i,n){return e===null||e.nativeEvent!==n?(e={blockedOn:t,domEventName:o,eventSystemFlags:a,nativeEvent:n,targetContainers:[i]},t!==null&&(t=Ko(t),t!==null&&cd(t)),e):(e.eventSystemFlags|=a,t=e.targetContainers,i!==null&&t.indexOf(i)===-1&&t.push(i),e)}function ih(e,t,o,a,i){switch(t){case"focusin":return yo=Ai(yo,e,t,o,a,i),!0;case"dragenter":return bo=Ai(bo,e,t,o,a,i),!0;case"mouseover":return vo=Ai(vo,e,t,o,a,i),!0;case"pointerover":var n=i.pointerId;return vi.set(n,Ai(vi.get(n)||null,e,t,o,a,i)),!0;case"gotpointercapture":return n=i.pointerId,Si.set(n,Ai(Si.get(n)||null,e,t,o,a,i)),!0}return!1}function pd(e){var t=jo(e.target);if(t!==null){var o=$(t);if(o!==null){if(t=o.tag,t===13){if(t=Ae(o),t!==null){e.blockedOn=t,Es(e.priority,function(){sd(o)});return}}else if(t===31){if(t=Oe(o),t!==null){e.blockedOn=t,Es(e.priority,function(){sd(o)});return}}else if(t===3&&o.stateNode.current.memoizedState.isDehydrated){e.blockedOn=o.tag===3?o.stateNode.containerInfo:null;return}}}e.blockedOn=null}function _n(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var o=is(e.nativeEvent);if(o===null){o=e.nativeEvent;var a=new o.constructor(o.type,o);nl=a,o.target.dispatchEvent(a),nl=null}else return t=Ko(o),t!==null&&cd(t),e.blockedOn=o,!1;t.shift()}return!0}function dd(e,t,o){_n(e)&&o.delete(t)}function nh(){ls=!1,yo!==null&&_n(yo)&&(yo=null),bo!==null&&_n(bo)&&(bo=null),vo!==null&&_n(vo)&&(vo=null),vi.forEach(dd),Si.forEach(dd)}function kn(e,t){e.blockedOn===t&&(e.blockedOn=null,ls||(ls=!0,T.unstable_scheduleCallback(T.unstable_NormalPriority,nh)))}var Gn=null;function gd(e){Gn!==e&&(Gn=e,T.unstable_scheduleCallback(T.unstable_NormalPriority,function(){Gn===e&&(Gn=null);for(var t=0;t<e.length;t+=3){var o=e[t],a=e[t+1],i=e[t+2];if(typeof a!="function"){if(ns(a||o)===null)continue;break}var n=Ko(o);n!==null&&(e.splice(t,3),t-=3,ic(n,{pending:!0,data:i,method:o.method,action:a},a,i))}}))}function wa(e){function t(s){return kn(s,e)}yo!==null&&kn(yo,e),bo!==null&&kn(bo,e),vo!==null&&kn(vo,e),vi.forEach(t),Si.forEach(t);for(var o=0;o<So.length;o++){var a=So[o];a.blockedOn===e&&(a.blockedOn=null)}for(;0<So.length&&(o=So[0],o.blockedOn===null);)pd(o),o.blockedOn===null&&So.shift();if(o=(e.ownerDocument||e).$$reactFormReplay,o!=null)for(a=0;a<o.length;a+=3){var i=o[a],n=o[a+1],l=i[Ge]||null;if(typeof n=="function")l||gd(o);else if(l){var c=null;if(n&&n.hasAttribute("formAction")){if(i=n,l=n[Ge]||null)c=l.formAction;else if(ns(i)!==null)continue}else c=l.action;typeof c=="function"?o[a+1]=c:(o.splice(a,3),a-=3),gd(o)}}}function fd(){function e(n){n.canIntercept&&n.info==="react-transition"&&n.intercept({handler:function(){return new Promise(function(l){return i=l})},focusReset:"manual",scroll:"manual"})}function t(){i!==null&&(i(),i=null),a||setTimeout(o,20)}function o(){if(!a&&!navigation.transition){var n=navigation.currentEntry;n&&n.url!=null&&navigation.navigate(n.url,{state:n.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var a=!1,i=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",t),navigation.addEventListener("navigateerror",t),setTimeout(o,100),function(){a=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),i!==null&&(i(),i=null)}}}function cs(e){this._internalRoot=e}Yn.prototype.render=cs.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(h(409));var o=t.current,a=it();nd(o,a,e,t,null,null)},Yn.prototype.unmount=cs.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;nd(e.current,2,null,e,null,null),An(),t[Vo]=null}};function Yn(e){this._internalRoot=e}Yn.prototype.unstable_scheduleHydration=function(e){if(e){var t=Ds();e={blockedOn:null,target:e,priority:t};for(var o=0;o<So.length&&t!==0&&t<So[o].priority;o++);So.splice(o,0,e),o===0&&pd(e)}};var hd=q.version;if(hd!=="19.2.3")throw Error(h(527,hd,"19.2.3"));D.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(h(188)):(e=Object.keys(e).join(","),Error(h(268,e)));return e=z(t),e=e!==null?F(e):null,e=e===null?null:e.stateNode,e};var lh={bundleType:0,version:"19.2.3",rendererPackageName:"react-dom",currentDispatcherRef:b,reconcilerVersion:"19.2.3"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Qn=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Qn.isDisabled&&Qn.supportsFiber)try{Ra=Qn.inject(lh),Pe=Qn}catch{}}return zi.createRoot=function(e,t){if(!W(e))throw Error(h(299));var o=!1,a="",i=Tr,n=zr,l=Dr;return t!=null&&(t.unstable_strictMode===!0&&(o=!0),t.identifierPrefix!==void 0&&(a=t.identifierPrefix),t.onUncaughtError!==void 0&&(i=t.onUncaughtError),t.onCaughtError!==void 0&&(n=t.onCaughtError),t.onRecoverableError!==void 0&&(l=t.onRecoverableError)),t=ad(e,1,!1,null,null,o,a,null,i,n,l,fd),e[Vo]=t.current,Qc(e),new cs(t)},zi.hydrateRoot=function(e,t,o){if(!W(e))throw Error(h(299));var a=!1,i="",n=Tr,l=zr,c=Dr,s=null;return o!=null&&(o.unstable_strictMode===!0&&(a=!0),o.identifierPrefix!==void 0&&(i=o.identifierPrefix),o.onUncaughtError!==void 0&&(n=o.onUncaughtError),o.onCaughtError!==void 0&&(l=o.onCaughtError),o.onRecoverableError!==void 0&&(c=o.onRecoverableError),o.formState!==void 0&&(s=o.formState)),t=ad(e,1,!0,t,o??null,a,i,s,n,l,c,fd),t.context=id(null),o=t.current,a=it(),a=Fn(a),i=io(a),i.callback=null,no(o,i,a),o=a,t.current.lanes=o,Oa(t,o),xt(t),e[Vo]=t.current,Qc(e),new Yn(t)},zi.version="19.2.3",zi}var Ed;function yh(){if(Ed)return rs.exports;Ed=1;function T(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(T)}catch(q){console.error(q)}}return T(),rs.exports=mh(),rs.exports}var bh=yh();const Hh=Rd(bh);var Md,qd;const vh=(qd=(Md=globalThis.browser)==null?void 0:Md.runtime)!=null&&qd.id?globalThis.browser:globalThis.chrome,mt=vh,Uh="https://starrylingo.com",Sh=[{name:"简体中文",code:"zh"},{name:"繁體中文",code:"zh-TW"},{name:"English",code:"en"},{name:"日本語",code:"ja"},{name:"한국어",code:"ko"},{name:"Français",code:"fr"},{name:"Deutsch",code:"de"},{name:"Español",code:"es"},{name:"Português",code:"pt"},{name:"Italiano",code:"it"},{name:"Русский",code:"ru"}],Bh=Sh,Nh=["none","background","text","underline","double-underline","wavy","dotted","dashed"],Cd=["none","hover","click"],Ah=["icon","dot"],_h=["warm","fresh","classic"],It={nativeLanguage:"zh",learningLanguage:"en",shoutcut:"",quickSearchShortcut:"ctrl+shift+f",paragraphTranslateShortcut:"ctrl+shift+t",enableHighlight:!0,highlightStyle:"underline",highlightColor:"#fbbf24",highlightOpacity:.5,highlightTrigger:"click",disabledHighlightWebsites:[],cardTheme:"warm",showExamples:!0,enableFloatingButton:!0,floatingButtonTrigger:"click",floatingButtonSize:"medium",floatingButtonColor:"#3b82f6",floatingButtonStyle:"dot",floatingButtonOpacity:1,subtitleSecondaryMode:"normal",subtitleAutoPause:!1,subtitleClickableWords:!1,enableSpeech:!0,speechProvider:"edge",speechRate:1,speechPitch:1,speechVoices:{},speechEdgeVoices:{},useCustomAI:!1,includeKeyPoints:!0,aiProvider:"openai",openaiApiKey:"",openaiModel:"gpt-4o-mini",openrouterApiKey:"",openrouterModel:"openai/gpt-4o-mini",deepseekApiKey:"",deepseekModel:"deepseek-chat",customBaseUrl:"",customApiKey:"",customModel:"",customTranslatePrompt:"",enableTagHighlight:!1,tagHighlightRules:[],enableInlineAnnotation:!1,dictionaryTabs:[{id:"ai",enabled:!0},{id:"dictionary",enabled:!0}]},xa="userSettings",Od=T=>{const q=typeof T=="number"?T:Number(T);return Number.isFinite(q)?Math.min(1,Math.max(.2,q)):It.floatingButtonOpacity},Ld=T=>{const q=typeof T=="number"?T:Number(T);return Number.isFinite(q)?Math.min(1,Math.max(.1,q)):It.highlightOpacity},kh=async()=>{try{const T=await mt.storage.local.get(xa);if(T[xa]){const q={...It,...T[xa]};return Ah.includes(q.floatingButtonStyle)||(q.floatingButtonStyle=It.floatingButtonStyle),Cd.includes(q.highlightTrigger)||(q.highlightTrigger=It.highlightTrigger),q.highlightOpacity=Ld(q.highlightOpacity),q.floatingButtonOpacity=Od(q.floatingButtonOpacity),q}return It}catch(T){return console.error("加载用户设置失败:",T),It}},Gh=async T=>{try{return await mt.storage.local.set({[xa]:T}),!0}catch(q){return console.error("保存用户设置失败:",q),!1}},Yh=T=>{var q;typeof mt<"u"&&((q=mt.storage)!=null&&q.onChanged)&&mt.storage.onChanged.addListener((j,h)=>{if(h==="local"&&j[xa]){const W=j[xa].newValue;if(W){const $={...It,...W};Cd.includes($.highlightTrigger)||($.highlightTrigger=It.highlightTrigger),$.highlightOpacity=Ld($.highlightOpacity),$.floatingButtonOpacity=Od($.floatingButtonOpacity),T($)}}})},Hd={"options.header.subtitle":"SentenWord Preference Desk","options.header.title":"Options Studio","options.header.description":"一站式管理翻译体验、词典展示与自定义 AI。视觉、交互与性能偏好都在这里完成编排。","options.language.title":"语言设置","options.language.description":"配置你的母语和正在学习的目标语言。","options.language.native":"母语","options.language.nativeDesc":"界面语言将根据此设置自动切换。","options.language.learning":"学习目标语言","options.language.learningDesc":"你正在学习的语言，用于翻译和词典功能。","options.account.title":"账户与连接","options.account.description":"管理登录状态与扩展连接行为。","options.account.label":"账户","options.account.loading":"正在读取登录状态","options.account.loggedIn":"已登录：","options.account.notLoggedIn":"尚未登录，可前往授权页面完成登录","options.account.logout":"退出登录","options.account.login":"去登录","options.account.loggedOut":"已退出登录","options.account.profile":"个人资料","options.account.avatar":"头像","options.account.name":"昵称","options.account.namePlaceholder":"输入昵称","options.account.save":"保存","options.account.saving":"保存中...","options.account.profileUpdated":"个人资料已更新","options.account.profileUpdateFailed":"更新失败，请重试","options.account.editProfile":"编辑资料","options.account.cancel":"取消","options.usage.title":"用量","options.usage.description":"AI Token 使用情况","options.usage.monthly":"本月限额","options.usage.used":"已使用","options.usage.limit":"上限","options.usage.resetAt":"重置时间","options.usage.tokens":"tokens","options.usage.loadFailed":"用量加载失败","options.usage.loginRequired":"登录后查看用量","options.usage.upgradeToPro":"升级到 Pro","options.usage.dailyBreakdown":"每日明细","options.usage.dailyTitle":"本月每日用量","options.usage.dailySubtitle":"柱高反映当日相对消耗 · 悬停可查看占当月总额的百分比","options.usage.monthTotal":"月累计","options.usage.dailyEmpty":"无法加载明细数据","options.usage.dailyNote":"备注：tokens 仅代表本系统中的消耗单位，不等同于具体某个模型的 token 计数。","options.usage.dailyLoadFailed":"加载明细失败","paywall.title":"升级到 SentenWord Pro","paywall.subtitle":"解锁 9 倍 AI 额度，畅享流畅翻译与高级功能","paywall.feature.quota":"AI Token 额度提升至 9 倍","paywall.feature.subtitles":"YouTube 双语字幕无限使用","paywall.feature.priority":"优先访问与专属客户支持","paywall.plan.monthly":"按月","paywall.plan.quarterly":"按季度","paywall.plan.halfYear":"半年","paywall.plan.yearly":"按年","paywall.priceSuffix.month":"/月","paywall.priceTotal":"总价 {{total}}","paywall.savings":"省 {{percent}}%","paywall.recommended":"最划算","paywall.continueButton":"继续结算","paywall.continueLoading":"正在跳转...","paywall.close":"关闭","paywall.error.loginRequired":"需要先登录才能升级。","paywall.error.goLogin":"去登录","paywall.error.network":"创建支付会话失败，请稍后重试","paywall.confirm.title":"等待支付完成","paywall.confirm.message":"已在新标签页打开支付页面。请在 Stripe 完成支付后回到此处点击下方按钮。","paywall.confirm.completed":"我已完成支付","paywall.confirm.cancel":"取消","paywall.confirm.checking":"正在确认…","paywall.confirm.retry":"再试一次","paywall.confirm.notYet":"暂未检测到 Pro 状态。如果你刚完成支付，请稍候片刻后再试。","options.highlight.title":"外观","options.highlight.description":"管理高亮样式与颜色设置。","options.highlight.panelTitle":"高亮","options.highlight.panelDescription":"单词收藏在网页中的呈现方式与色彩系统。","options.card.themeTitle":"卡片主题","options.card.themeDescription":"切换词典卡片的视觉风格。","options.card.theme.warm":"暖光","options.card.theme.classic":"经典","options.card.theme.fresh":"清新","options.highlight.enable":"启用高亮","options.highlight.enableDesc":"关闭后网页中的已收藏单词将不再高亮。","options.highlight.inlineAnnotation":"显示行内释义","options.highlight.inlineAnnotationDesc":"在高亮词旁边显示词性和释义，例如 Reload(v.重新加载)。","options.highlight.trigger":"解释面板触发","options.highlight.triggerDesc":"设置高亮词是否通过点击、悬停或不触发解释面板。","options.highlight.trigger.none":"无动作","options.highlight.styleSelect":"样式选择","options.highlight.colorSelect":"颜色选择","options.highlight.opacity":"高亮透明度","options.highlight.opacityDesc":"调整高亮颜色在网页中的透明程度。","options.highlight.style.none":"无","options.highlight.style.background":"背景色","options.highlight.style.text":"文字颜色","options.highlight.style.underline":"下划线","options.highlight.style.doubleUnderline":"双下划线","options.highlight.style.wavy":"波浪线","options.highlight.style.dotted":"点线","options.highlight.style.dashed":"虚线","options.tagHighlight.panelTitle":"词汇标签高亮","options.tagHighlight.panelDescription":"根据词典标签和词频范围高亮网页中的单词。","options.tagHighlight.enable":"启用标签高亮","options.tagHighlight.enableDesc":"根据配置的规则，自动高亮匹配的单词。","options.tagHighlight.addRule":"添加规则","options.tagHighlight.tag":"词典标签","options.tagHighlight.frqRange":"词频范围","options.tagHighlight.frqMin":"最小","options.tagHighlight.frqMax":"最大","options.tagHighlight.noRules":"暂无规则，点击上方按钮添加。","options.tagHighlight.deleteRule":"删除","options.tagHighlight.style":"样式","options.tagHighlight.color":"颜色","options.tagHighlight.enabled":"启用","options.translation.title":"划词翻译设置","options.translation.description":"管理词典内容展示与划词翻译按钮设置。","options.dictionary.title":"词典内容","options.dictionary.description":"控制单词卡片展示的解释层级与示例内容。","options.dictionary.showExamples":"显示例句","options.dictionary.showExamplesDesc":"在释义中展示句子例子。","options.dictionary.tabs.title":"查词设置","options.dictionary.tabs.description":"配置词典卡片中各查词方式的显示顺序与启用状态。仅在母语为中文、学习语言为英文时生效。","options.dictionary.tabs.ai":"AI 查词","options.dictionary.tabs.simple":"简易词典","options.dictionary.tabs.dictionary":"专业词典","options.dictionary.tabs.moveUp":"上移","options.dictionary.tabs.moveDown":"下移","options.floating.title":"划词翻译","options.floating.description":"定义浮动按钮的出现方式、尺寸、颜色、透明度与样式。","options.floating.enable":"启用浮动按钮","options.floating.enableDesc":"选中文本后显示翻译入口。","options.floating.trigger":"触发方式","options.floating.triggerDesc":"点击或悬停触发翻译。","options.floating.trigger.click":"点击","options.floating.trigger.hover":"悬停","options.floating.size":"按钮大小","options.floating.sizeDesc":"按你的视觉偏好调整尺寸。","options.floating.size.xsmall":"极小","options.floating.size.small":"小","options.floating.size.medium":"中","options.floating.size.large":"大","options.floating.style":"按钮样式","options.floating.styleDesc":"图标、圆点或文字。","options.floating.style.icon":"图标","options.floating.style.dot":"圆点","options.floating.color":"按钮颜色","options.floating.colorDesc":"可选预设或自定义色值。","options.floating.opacity":"按钮透明度","options.floating.opacityDesc":"调整浮动按钮在页面上的透明程度。","options.hotkeys.title":"快捷键","options.hotkeys.description":"按键支持失焦或回车自动保存。","options.companion.title":"iOS 应用","options.companion.description":"把你的收藏装进口袋——随时翻阅，随时复习。","options.companion.platform":"for iPhone · iPad","options.companion.pitch":"你可以在这个 App 里面查看你收藏的词句。","options.companion.feat1":"随时翻阅你保存的词与句","options.companion.feat2":"用间隔重复巩固记忆","options.companion.feat3":"更多精选词书，跟着系统学下去","options.companion.cta":"在 App Store 下载","options.speech.title":"语音朗读","options.speech.description":"配置朗读原文和译文时使用的语音。","options.speech.enable":"启用朗读","options.speech.enableDesc":"在翻译卡片上显示朗读按钮。","options.speech.rate":"语速","options.speech.rateDesc":"0.5× 到 2.0×，默认 1.0×。","options.speech.pitch":"音调","options.speech.pitchDesc":"0.5 到 1.5，默认 1.0。","options.speech.voices":"语音选择","options.speech.provider":"朗读引擎","options.speech.providerDesc":"Edge 使用微软神经网络语音（联网，音质更好）；系统使用浏览器自带语音（离线）。","options.speech.providerEdge":"Edge (高质量)","options.speech.providerWeb":"系统","options.speech.edgeVoicesDesc":"从微软神经网络语音中选择。失败时会自动回退到系统语音。","options.speech.voicesDesc":"为每种语言选择偏好语音，云端语音（☁）音质通常更好。","options.speech.auto":"自动（最佳）","options.speech.autoWithName":"自动 — {{name}}","options.speech.test":"试听","options.speech.noVoices":"当前浏览器未检测到语音，请检查系统语音设置。","options.hotkeys.quickSearch":"快速搜索","options.hotkeys.quickSearchDesc":"打开快速搜索弹窗。","options.hotkeys.paragraph":"段落翻译","options.hotkeys.paragraphDesc":"翻译鼠标悬停段落。","options.ai.title":"AI 翻译","options.ai.description":"选择 AI 翻译服务来源，可使用内置服务或配置自己的 API Key。","options.ai.usingCustom":"自定义 API","options.ai.usingBackend":"内置 AI","options.ai.providerLabel":"Provider: {{provider}}","options.ai.enable":"AI 服务","options.ai.enableDesc":"打开后使用你配置的 provider 与模型。","options.ai.enableDescBackend":"使用 SentenWord 提供的内置 AI 翻译服务。","options.ai.enableDescCustom":"使用自己的 API Key 与模型，Key 仅保存在本地。","options.ai.includeKeyPoints":"返回 Key Points","options.ai.includeKeyPointsDesc":"关闭后句子翻译仅返回译文，不返回 Key Points。","options.ai.provider":"Provider","options.ai.providerDesc":"选择 AI 服务商，或使用 Google / Microsoft 免费翻译，也可自定义 OpenAI 兼容 API。","options.ai.freeProviderNote":"免费公共接口，无需 API Key。单词解释等 AI 能力将回落到内置后端。","options.ai.apiKey":"API Key","options.ai.apiKeyDesc":"输入后失焦自动保存。","options.ai.model":"Model","options.ai.openaiModelDesc":"默认模型为 gpt-4o-mini。","options.ai.openrouterModelDesc":"示例：openai/gpt-4o-mini。","options.ai.deepseekModelDesc":"默认模型为 deepseek-chat。","options.ai.customBaseUrl":"API Base URL","options.ai.customBaseUrlDesc":"OpenAI 兼容 API 地址，如通义千问、智谱、Moonshot 等。","options.ai.customModelDesc":"模型名称，如 qwen-turbo、glm-4 等。","options.ai.translatePrompt":"翻译提示词","options.ai.translatePromptDesc":"自定义翻译时发送给 AI 的提示词，AI 会自动判断是单词还是段落。","options.ai.promptReset":"恢复默认","options.ai.promptVariablesHint":"可用模板变量：{{text}}、{{context}}、{{targetLanguage}}、{{#context}}...{{/context}}","options.metrics.highlight":"当前高亮","options.metrics.customAI":"自定义 AI","options.metrics.enabled":"已启用","options.metrics.disabled":"关闭","options.metrics.account":"账户状态","options.metrics.loading":"读取中","options.metrics.loggedIn":"已登录","options.metrics.notLoggedIn":"未登录","options.metrics.syncHint":"登录后可同步云端功能","options.metrics.syncingHint":"同步账户信息中","common.saving":"保存中","common.saveFailed":"保存失败，请重试","common.loading":"加载设置中...","common.definitionGenerating":"定义正在生成，请稍后再试。","common.unknownError":"未知错误","common.pageTranslateLoginRequired":"请先登录以使用页面翻译功能","common.trialQuotaExceededLogin":"试用次数已用完，请登录后继续使用","common.translationQuotaExceededUpgrade":"翻译额度已用完，请升级会员或稍后再试","common.rateLimitNotLoggedIn":"请求过于频繁，请登录以获取更多翻译额度","common.freeQuotaExceeded":"已达到本月使用上限，{{resetTime}}后重置。升级 Pro 可获得更充裕的额度","common.proQuotaExceeded":"已达到本月使用上限，{{resetTime}}后重置","common.toast.loginRequiredTitle":"需要登录","common.toast.quotaInsufficientTitle":"额度不足","common.toast.translationErrorTitle":"翻译出错","common.toast.loginAction":"去登录","common.toast.laterAction":"稍后","common.toast.upgradeAction":"升级会员","common.toast.closeAction":"关闭","common.sessionExpiredTitle":"登录已过期","common.sessionExpiredDesc":"请重新登录以继续使用完整功能","common.sessionReloginAction":"重新登录","common.preview":"示例","common.unexpectedError":"发生了意外错误","footer.copyright":"SentenWord","color.amber":"琥珀","color.green":"绿色","color.blue":"蓝色","color.indigo":"靛蓝","color.coral":"珊瑚","color.orange":"橙色","color.cyan":"青色","color.brown":"棕色","color.red":"红色","color.gold":"金色","color.magenta":"品红","color.darkGray":"深灰","color.custom":"自定义","color.customHighlight":"自定义高亮色","color.customButton":"自定义按钮色","welcome.subtitle":"欢迎使用 SentenWord，让我们先完成一些基本设置","welcome.nativeLanguage":"你的母语","welcome.nativeLanguageDesc":"界面语言将根据此设置自动切换。","welcome.learningLanguage":"你想学习的语言","welcome.learningLanguageDesc":"选择你正在学习的目标语言。","welcome.getStarted":"开始使用","welcome.account":"账号","welcome.accountDesc":"登录后可同步收藏词汇和学习进度。","welcome.login":"登录 / 注册","welcome.maybeLater":"以后再说","welcome.loggedInAs":"已登录","welcome.next":"下一步","welcome.back":"返回","popup.title":"SentenWord","popup.settings":"设置","popup.quickSearch":"快速搜索","popup.stopTranslate":"停止翻译","popup.translatePage":"翻译页面","popup.translationEnabled":"翻译已启用","popup.visitWebsite":"访问官网","popup.wordBook":"单词本","popup.login":"登录","popup.loginDesc":"登录以同步数据","popup.screenshot":"截图识别","screenshot.hint":"拖动以选择要识别的区域 · 按 Esc 取消","screenshot.processing":"识别中…","screenshot.empty":"未识别到文字","screenshot.failed":"识别失败","screenshot.loginRequired":"请先登录后再使用截图识别","screenshot.quotaExceeded":"本月额度已用完，明天再试或升级套餐","screenshot.translation":"翻译","screenshot.close":"关闭","screenshot.copy":"复制","screenshot.copied":"已复制","card.title":"SentenWord","card.wordBook":"单词本","card.tabSimpleDictionary":"简易词典","card.tabDictionary":"详解词典","card.tabAI":"AI 解释","card.detailedExplanation":"详细解释","card.detailedExplanationLoading":"正在生成详细解释...","card.detailedExplanationRetry":"重试","card.originalText":"原文","card.translationText":"翻译","card.closeDetailedExplanation":"关闭详细解释","card.closeCard":"关闭卡片","card.settings":"设置","collection.title":"收藏","collection.closeModal":"关闭收藏窗口","collection.folder":"收藏夹","collection.loading":"正在加载...","collection.defaultFolder":"默认收藏夹","collection.loadingHint":"加载中…","collection.word":"单词 *","collection.wordPlaceholder":"请输入单词","collection.partOfSpeech":"词性","collection.partOfSpeechPlaceholder":"词性","collection.phonetic":"音标","collection.phoneticPlaceholder":"如 /mɪˈlɛniə/","collection.meaning":"单词解释","collection.meaningPlaceholder":"单词解释","collection.context":"上下文内容 *","collection.contextPlaceholder":"请输入完整例句","collection.contextTranslation":"上下文翻译","collection.contextTranslationPlaceholder":"请输入上下文的翻译","collection.examples":"额外例句","collection.examplesHint":"（可不填，每行一个）","collection.examplesPlaceholder":"输入额外例句，每行一个","collection.saving":"保存中...","collection.save":"保存","collection.saveSuccess":"收藏成功","collection.saveFailed":"收藏失败","collection.notLoggedIn":"用户未登录，无法收藏","collection.notLoggedInLoad":"用户未登录，无法加载收藏夹","collection.loadFailed":"加载收藏夹失败","collection.wordRequired":"请填写单词/短语","collection.contextTooLong":"上下文内容不能超过{{max}}个字符","youtube.machineTranslate":"机器翻译","youtube.aiTranslate":"AI 翻译","youtube.subtitlePanel":"字幕面板","youtube.closePanel":"关闭字幕面板","youtube.panelAriaLabel":"字幕面板标签","youtube.tabSubtitles":"字幕","youtube.tabSettings":"设置","youtube.downloadSrt":"下载双语 SRT","youtube.noSubtitles":"暂无字幕","youtube.showBilingualSubtitle":"显示双语字幕","youtube.showBilingualSubtitleDesc":"控制视频画面上的双语字幕覆盖层","youtube.enableSubtitleList":"启用字幕列表","youtube.enableSubtitleListDesc":"关闭后将收起当前字幕列表面板","youtube.autoScroll":"自动滚动","youtube.autoScrollDesc":"播放时自动定位到当前句子","youtube.noDownloadableSubtitle":"暂无可下载字幕","youtube.loadSecondaryFirst":"请先加载副字幕后再下载双语 SRT","youtube.exportEmpty":"字幕导出失败：内容为空","youtube.downloadStarted":"双语 SRT 下载已开始","youtube.downloadFailed":"双语 SRT 下载失败","youtube.subtitleTranslateFallbackFailed":"字幕翻译失败，请稍后重试","youtube.primaryLoadFailed":"主字幕加载失败","youtube.machineTranslateUnavailable":"机器翻译不可用，已切换到 AI 翻译","youtube.machineTranslateFailed":"机器翻译获取失败，已切换到 AI 翻译","youtube.secondaryLoadFailed":"副字幕加载失败","youtube.aiTranslateEnabled":"已启用 AI 字幕翻译","youtube.fetchingMachineTranslate":"正在获取机器翻译字幕...","youtube.subtitleContentEmpty":"当前选中的字幕内容为空或暂时不可用","youtube.noAvailableSubtitles":"该视频没有可用字幕","youtube.trackLoadFailed":"字幕轨道加载失败","youtube.btnSubtitleOn":"SentenWord 双语字幕 (开)","youtube.btnSubtitleOff":"SentenWord 双语字幕 (关)","youtube.btnPanelOn":"SentenWord 字幕面板 (开)","youtube.btnPanelOff":"SentenWord 字幕面板 (关)","youtube.btnSettings":"SentenWord 字幕设置","youtube.menuBilingualSubtitle":"双语字幕","youtube.menuSidebar":"字幕侧边栏","youtube.menuSettings":"设置","contextMenu.smartTranslate":"SentenWord","contextMenu.translatePage":"SentenWord | 翻译全文","contextMenu.restoreOriginal":"SentenWord | 恢复原文","quickSearch.title":"Quick Search","quickSearch.dictionary":"词典","quickSearch.ai":"AI","quickSearch.dictPlaceholder":"输入单词查询...","quickSearch.aiPlaceholder":"输入单词或句子，AI 为你解释...","quickSearch.submit":"查询","quickSearch.hint":"Ctrl+Shift+F 唤起 · Enter 查询 · Tab 切换模式 · Escape 关闭","subtitle.loading":"字幕加载中...","subtitle.ready":"字幕已就绪，等待语音开始","subtitle.notDetected":"暂未检测到可显示字幕，请继续播放或切换视频重试","floating.translate":"翻译","word.viewInDict":"在 {{name}} 中查看","word.unfavorite":"取消收藏","speech.playOriginal":"朗读原文","speech.playTranslation":"朗读译文","word.favorite":"收藏单词","ai.favoritePhrase":"收藏短语","ai.collapse":"收起","ai.viewAll":"查看全部 ({{count}})","ai.noResult":"暂无翻译结果","ai.loading":"加载中...","common.expand":"查看全部","common.collapseText":"收起","common.translating":"翻译中...","update.action":"有新版本可用"},Th={"options.header.subtitle":"SentenWord Preference Desk","options.header.title":"Options Studio","options.header.description":"一站式管理翻譯體驗、詞典展示與自訂 AI。視覺、互動與效能偏好都在這裡完成編排。","options.language.title":"語言設定","options.language.description":"配置你的母語和正在學習的目標語言。","options.language.native":"母語","options.language.nativeDesc":"介面語言將根據此設定自動切換。","options.language.learning":"學習目標語言","options.language.learningDesc":"你正在學習的語言，用於翻譯和詞典功能。","options.account.title":"帳戶與連線","options.account.description":"管理登入狀態與擴充功能連線行為。","options.account.label":"帳戶","options.account.loading":"正在讀取登入狀態","options.account.loggedIn":"已登入：","options.account.notLoggedIn":"尚未登入，可前往授權頁面完成登入","options.account.logout":"登出","options.account.login":"去登入","options.account.loggedOut":"已登出","options.account.profile":"個人資料","options.account.avatar":"頭像","options.account.name":"暱稱","options.account.namePlaceholder":"輸入暱稱","options.account.save":"儲存","options.account.saving":"儲存中...","options.account.profileUpdated":"個人資料已更新","options.account.profileUpdateFailed":"更新失敗，請重試","options.account.editProfile":"編輯資料","options.account.cancel":"取消","options.usage.title":"用量","options.usage.description":"AI Token 使用情況","options.usage.monthly":"本月限額","options.usage.used":"已使用","options.usage.limit":"上限","options.usage.resetAt":"重置時間","options.usage.tokens":"tokens","options.usage.loadFailed":"用量載入失敗","options.usage.loginRequired":"登入後查看用量","options.usage.upgradeToPro":"升級到 Pro","options.usage.dailyBreakdown":"每日明細","options.usage.dailyTitle":"本月每日用量","options.usage.dailySubtitle":"柱高反映當日相對消耗 · 懸停可查看佔當月總額的百分比","options.usage.monthTotal":"月累計","options.usage.dailyEmpty":"無法載入明細資料","options.usage.dailyNote":"備註：tokens 僅代表本系統中的消耗單位，不等同於具體某個模型的 token 計數。","options.usage.dailyLoadFailed":"載入明細失敗","paywall.title":"升級到 SentenWord Pro","paywall.subtitle":"解鎖 9 倍 AI 額度，暢享流暢翻譯與進階功能","paywall.feature.quota":"AI Token 額度提升至 9 倍","paywall.feature.subtitles":"YouTube 雙語字幕無限使用","paywall.feature.priority":"優先存取與專屬客戶支援","paywall.plan.monthly":"月方案","paywall.plan.quarterly":"季方案","paywall.plan.halfYear":"半年方案","paywall.plan.yearly":"年方案","paywall.priceSuffix.month":"/月","paywall.priceTotal":"總價 {{total}}","paywall.savings":"省 {{percent}}%","paywall.recommended":"最划算","paywall.continueButton":"繼續結算","paywall.continueLoading":"正在跳轉...","paywall.close":"關閉","paywall.error.loginRequired":"需要先登入才能升級。","paywall.error.goLogin":"去登入","paywall.error.network":"建立付款工作階段失敗，請稍後重試","paywall.confirm.title":"等待付款完成","paywall.confirm.message":"已在新分頁開啟付款頁面。請在 Stripe 完成付款後回到此處點擊下方按鈕。","paywall.confirm.completed":"我已完成付款","paywall.confirm.cancel":"取消","paywall.confirm.checking":"正在確認…","paywall.confirm.retry":"再試一次","paywall.confirm.notYet":"尚未偵測到 Pro 狀態。如果您剛完成付款，請稍候片刻後再試。","options.highlight.title":"外觀","options.highlight.description":"管理醒目標示樣式與顏色設定。","options.highlight.panelTitle":"醒目標示樣式","options.highlight.panelDescription":"單字收藏在網頁中的呈現方式與色彩系統。","options.card.themeTitle":"卡片主題","options.card.themeDescription":"切換詞典卡片的視覺風格。","options.card.theme.warm":"暖光","options.card.theme.classic":"經典","options.card.theme.fresh":"清新","options.highlight.enable":"啟用醒目標示","options.highlight.enableDesc":"關閉後網頁中的已收藏單字將不再醒目標示。","options.highlight.inlineAnnotation":"顯示行內釋義","options.highlight.inlineAnnotationDesc":"在醒目標示詞旁邊顯示詞性和釋義，例如 Reload(v.重新載入)。","options.highlight.trigger":"解釋面板觸發","options.highlight.triggerDesc":"設定醒目標示詞是否透過點擊、懸停或不觸發解釋面板。","options.highlight.trigger.none":"無動作","options.highlight.styleSelect":"樣式選擇","options.highlight.colorSelect":"顏色選擇","options.highlight.opacity":"醒目標示透明度","options.highlight.opacityDesc":"調整醒目標示顏色在網頁中的透明程度。","options.highlight.style.none":"無","options.highlight.style.background":"背景色","options.highlight.style.text":"文字顏色","options.highlight.style.underline":"底線","options.highlight.style.doubleUnderline":"雙底線","options.highlight.style.wavy":"波浪線","options.highlight.style.dotted":"點線","options.highlight.style.dashed":"虛線","options.tagHighlight.panelTitle":"詞彙標籤醒目標示","options.tagHighlight.panelDescription":"根據詞典標籤和詞頻範圍醒目標示網頁中的單字。","options.tagHighlight.enable":"啟用標籤醒目標示","options.tagHighlight.enableDesc":"根據配置的規則，自動醒目標示匹配的單字。","options.tagHighlight.addRule":"新增規則","options.tagHighlight.tag":"詞典標籤","options.tagHighlight.frqRange":"詞頻範圍","options.tagHighlight.frqMin":"最小","options.tagHighlight.frqMax":"最大","options.tagHighlight.noRules":"暫無規則，點擊上方按鈕新增。","options.tagHighlight.deleteRule":"刪除","options.tagHighlight.style":"樣式","options.tagHighlight.color":"顏色","options.tagHighlight.enabled":"啟用","options.translation.title":"劃詞翻譯設定","options.translation.description":"管理詞典內容展示與劃詞翻譯按鈕設定。","options.dictionary.title":"詞典內容","options.dictionary.description":"控制單字卡片展示的解釋層級與範例內容。","options.dictionary.showExamples":"顯示例句","options.dictionary.showExamplesDesc":"在釋義中展示句子範例。","options.dictionary.tabs.title":"查詞設定","options.dictionary.tabs.description":"配置詞典卡片中各查詞方式的顯示順序與啟用狀態。僅在母語為中文、學習語言為英文時生效。","options.dictionary.tabs.ai":"AI 查詞","options.dictionary.tabs.simple":"簡易詞典","options.dictionary.tabs.dictionary":"專業詞典","options.dictionary.tabs.moveUp":"上移","options.dictionary.tabs.moveDown":"下移","options.floating.title":"劃詞翻譯","options.floating.description":"定義浮動按鈕的出現方式、尺寸、顏色、透明度與樣式。","options.floating.enable":"啟用浮動按鈕","options.floating.enableDesc":"選取文字後顯示翻譯入口。","options.floating.trigger":"觸發方式","options.floating.triggerDesc":"點擊或懸停觸發翻譯。","options.floating.trigger.click":"點擊","options.floating.trigger.hover":"懸停","options.floating.size":"按鈕大小","options.floating.sizeDesc":"按你的視覺偏好調整尺寸。","options.floating.size.xsmall":"極小","options.floating.size.small":"小","options.floating.size.medium":"中","options.floating.size.large":"大","options.floating.style":"按鈕樣式","options.floating.styleDesc":"圖示、圓點或文字。","options.floating.style.icon":"圖示","options.floating.style.dot":"圓點","options.floating.color":"按鈕顏色","options.floating.colorDesc":"可選預設或自訂色值。","options.floating.opacity":"按鈕透明度","options.floating.opacityDesc":"調整浮動按鈕在頁面上的透明程度。","options.hotkeys.title":"快捷鍵","options.hotkeys.description":"按鍵支援失焦或回車自動儲存。","options.companion.title":"iOS 應用","options.companion.description":"把你的收藏裝進口袋——隨時翻閱，隨時複習。","options.companion.platform":"for iPhone · iPad","options.companion.pitch":"你可以在這個 App 裡查看你收藏的詞句。","options.companion.feat1":"隨時翻閱你保存的詞與句","options.companion.feat2":"用間隔重複鞏固記憶","options.companion.feat3":"更多精選詞書，跟著系統學下去","options.companion.cta":"在 App Store 下載","options.speech.title":"語音朗讀","options.speech.description":"設定朗讀原文與譯文所使用的語音。","options.speech.enable":"啟用朗讀","options.speech.enableDesc":"在翻譯卡片上顯示朗讀按鈕。","options.speech.rate":"語速","options.speech.rateDesc":"0.5× 到 2.0×，預設 1.0×。","options.speech.pitch":"音調","options.speech.pitchDesc":"0.5 到 1.5，預設 1.0。","options.speech.voices":"語音選擇","options.speech.provider":"朗讀引擎","options.speech.providerDesc":"Edge 使用微軟神經網路語音（聯網，音質更好）；系統使用瀏覽器內建語音（離線）。","options.speech.providerEdge":"Edge (高品質)","options.speech.providerWeb":"系統","options.speech.edgeVoicesDesc":"從微軟神經網路語音中選擇。失敗時會自動回退到系統語音。","options.speech.voicesDesc":"為每種語言選擇偏好語音，雲端語音（☁）音質通常更佳。","options.speech.auto":"自動（最佳）","options.speech.autoWithName":"自動 — {{name}}","options.speech.test":"試聽","options.speech.noVoices":"目前瀏覽器未偵測到語音，請檢查系統語音設定。","options.hotkeys.quickSearch":"快速搜尋","options.hotkeys.quickSearchDesc":"開啟快速搜尋彈窗。","options.hotkeys.paragraph":"段落翻譯","options.hotkeys.paragraphDesc":"翻譯滑鼠懸停段落。","options.ai.title":"AI 翻譯","options.ai.description":"選擇 AI 翻譯服務來源，可使用內建服務或配置自己的 API Key。","options.ai.usingCustom":"自訂 API","options.ai.usingBackend":"內建 AI","options.ai.providerLabel":"Provider: {{provider}}","options.ai.enable":"AI 服務","options.ai.enableDesc":"開啟後使用你配置的 provider 與模型。","options.ai.enableDescBackend":"使用 SentenWord 提供的內建 AI 翻譯服務。","options.ai.enableDescCustom":"使用自己的 API Key 與模型，Key 僅儲存在本地。","options.ai.includeKeyPoints":"回傳 Key Points","options.ai.includeKeyPointsDesc":"關閉後句子翻譯僅回傳譯文，不回傳 Key Points。","options.ai.provider":"Provider","options.ai.providerDesc":"選擇 AI 服務商，或使用 Google / Microsoft 免費翻譯，也可自訂 OpenAI 相容 API。","options.ai.freeProviderNote":"免費公共介面，無需 API Key。單詞解釋等 AI 能力會自動回落到內建後端。","options.ai.apiKey":"API Key","options.ai.apiKeyDesc":"輸入後失焦自動儲存。","options.ai.model":"Model","options.ai.openaiModelDesc":"預設模型為 gpt-4o-mini。","options.ai.openrouterModelDesc":"範例：openai/gpt-4o-mini。","options.ai.deepseekModelDesc":"預設模型為 deepseek-chat。","options.ai.customBaseUrl":"API Base URL","options.ai.customBaseUrlDesc":"OpenAI 相容 API 位址，如通義千問、智譜、Moonshot 等。","options.ai.customModelDesc":"模型名稱，如 qwen-turbo、glm-4 等。","options.ai.translatePrompt":"翻譯提示詞","options.ai.translatePromptDesc":"自訂翻譯時傳送給 AI 的提示詞，AI 會自動判斷是單詞還是段落。","options.ai.promptReset":"恢復預設","options.ai.promptVariablesHint":"可用模板變數：{{text}}、{{context}}、{{targetLanguage}}、{{#context}}...{{/context}}","options.metrics.highlight":"目前醒目標示","options.metrics.customAI":"自訂 AI","options.metrics.enabled":"已啟用","options.metrics.disabled":"關閉","options.metrics.account":"帳戶狀態","options.metrics.loading":"讀取中","options.metrics.loggedIn":"已登入","options.metrics.notLoggedIn":"未登入","options.metrics.syncHint":"登入後可同步雲端功能","options.metrics.syncingHint":"同步帳戶資訊中","common.saving":"儲存中","common.saveFailed":"儲存失敗，請重試","common.loading":"載入設定中...","common.definitionGenerating":"定義正在產生，請稍後再試。","common.unknownError":"未知錯誤","common.pageTranslateLoginRequired":"請先登入以使用頁面翻譯功能","common.trialQuotaExceededLogin":"試用次數已用完，請登入後繼續使用","common.translationQuotaExceededUpgrade":"翻譯額度已用完，請升級會員或稍後再試","common.rateLimitNotLoggedIn":"請求過於頻繁，請登入以獲取更多翻譯額度","common.freeQuotaExceeded":"已達到本月使用上限，{{resetTime}}後重置。升級 Pro 可獲得更充裕的額度","common.proQuotaExceeded":"已達到本月使用上限，{{resetTime}}後重置","common.toast.loginRequiredTitle":"需要登入","common.toast.quotaInsufficientTitle":"額度不足","common.toast.translationErrorTitle":"翻譯出錯","common.toast.loginAction":"去登入","common.toast.laterAction":"稍後","common.toast.upgradeAction":"升級會員","common.toast.closeAction":"關閉","common.sessionExpiredTitle":"登入已過期","common.sessionExpiredDesc":"請重新登入以繼續使用完整功能","common.sessionReloginAction":"重新登入","common.preview":"範例","common.unexpectedError":"發生了意外錯誤","footer.copyright":"SentenWord | 智慧翻譯","color.amber":"琥珀","color.green":"綠色","color.blue":"藍色","color.indigo":"靛藍","color.coral":"珊瑚","color.orange":"橙色","color.cyan":"青色","color.brown":"棕色","color.red":"紅色","color.gold":"金色","color.magenta":"品紅","color.darkGray":"深灰","color.custom":"自訂","color.customHighlight":"自訂醒目標示色","color.customButton":"自訂按鈕色","welcome.subtitle":"歡迎使用 SentenWord，讓我們先完成一些基本設定","welcome.nativeLanguage":"你的母語","welcome.nativeLanguageDesc":"介面語言將根據此設定自動切換。","welcome.learningLanguage":"你想學習的語言","welcome.learningLanguageDesc":"選擇你正在學習的目標語言。","welcome.getStarted":"開始使用","welcome.account":"帳號","welcome.accountDesc":"登入後可同步收藏詞彙和學習進度。","welcome.login":"登入 / 註冊","welcome.maybeLater":"以後再說","welcome.loggedInAs":"已登入","welcome.next":"下一步","welcome.back":"返回","popup.title":"SentenWord | 智慧翻譯","popup.settings":"設定","popup.quickSearch":"快速搜尋","popup.stopTranslate":"停止翻譯","popup.translatePage":"翻譯頁面","popup.translationEnabled":"翻譯已啟用","popup.visitWebsite":"造訪官網","popup.wordBook":"單字本","popup.login":"登入","popup.loginDesc":"登入以同步資料","popup.screenshot":"截圖識別","screenshot.hint":"拖曳以選擇要識別的區域 · 按 Esc 取消","screenshot.processing":"識別中…","screenshot.empty":"未識別到文字","screenshot.failed":"識別失敗","screenshot.loginRequired":"請先登入後再使用截圖識別","screenshot.quotaExceeded":"本月額度已用完，明天再試或升級方案","screenshot.translation":"翻譯","screenshot.close":"關閉","screenshot.copy":"複製","screenshot.copied":"已複製","card.title":"SentenWord | 智慧翻譯","card.wordBook":"單字本","card.tabSimpleDictionary":"簡易詞典","card.tabDictionary":"詞典","card.tabAI":"AI 解釋","card.detailedExplanation":"詳細解釋","card.detailedExplanationLoading":"正在生成詳細解釋...","card.detailedExplanationRetry":"重試","card.originalText":"原文","card.translationText":"譯文","card.closeDetailedExplanation":"關閉詳細解釋","card.closeCard":"關閉卡片","card.settings":"設定","collection.title":"收藏","collection.closeModal":"關閉收藏視窗","collection.folder":"收藏夾","collection.loading":"正在載入...","collection.defaultFolder":"預設收藏夾","collection.loadingHint":"載入中…","collection.word":"單字 *","collection.wordPlaceholder":"請輸入單字","collection.partOfSpeech":"詞性","collection.partOfSpeechPlaceholder":"詞性","collection.phonetic":"音標","collection.phoneticPlaceholder":"如 /mɪˈlɛniə/","collection.meaning":"單字解釋","collection.meaningPlaceholder":"單字解釋","collection.context":"上下文內容 *","collection.contextPlaceholder":"請輸入完整例句","collection.contextTranslation":"上下文翻譯","collection.contextTranslationPlaceholder":"請輸入上下文的翻譯","collection.examples":"額外例句","collection.examplesHint":"（可不填，每行一個）","collection.examplesPlaceholder":"輸入額外例句，每行一個","collection.saving":"儲存中...","collection.save":"儲存","collection.saveSuccess":"收藏成功","collection.saveFailed":"收藏失敗","collection.notLoggedIn":"使用者未登入，無法收藏","collection.notLoggedInLoad":"使用者未登入，無法載入收藏夾","collection.loadFailed":"載入收藏夾失敗","collection.wordRequired":"請填寫單字/短語","collection.contextTooLong":"上下文內容不能超過{{max}}個字元","youtube.machineTranslate":"機器翻譯","youtube.aiTranslate":"AI 翻譯","youtube.subtitlePanel":"字幕面板","youtube.closePanel":"關閉字幕面板","youtube.panelAriaLabel":"字幕面板標籤","youtube.tabSubtitles":"字幕","youtube.tabSettings":"設定","youtube.downloadSrt":"下載雙語 SRT","youtube.noSubtitles":"暫無字幕","youtube.showBilingualSubtitle":"顯示雙語字幕","youtube.showBilingualSubtitleDesc":"控制影片畫面上的雙語字幕覆蓋層","youtube.enableSubtitleList":"啟用字幕列表","youtube.enableSubtitleListDesc":"關閉後將收起目前字幕列表面板","youtube.autoScroll":"自動捲動","youtube.autoScrollDesc":"播放時自動定位到目前句子","youtube.noDownloadableSubtitle":"暫無可下載字幕","youtube.loadSecondaryFirst":"請先載入副字幕後再下載雙語 SRT","youtube.exportEmpty":"字幕匯出失敗：內容為空","youtube.downloadStarted":"雙語 SRT 下載已開始","youtube.downloadFailed":"雙語 SRT 下載失敗","youtube.subtitleTranslateFallbackFailed":"字幕翻譯失敗，請稍後重試","youtube.primaryLoadFailed":"主字幕載入失敗","youtube.machineTranslateUnavailable":"機器翻譯不可用，已切換到 AI 翻譯","youtube.machineTranslateFailed":"機器翻譯取得失敗，已切換到 AI 翻譯","youtube.secondaryLoadFailed":"副字幕載入失敗","youtube.aiTranslateEnabled":"已啟用 AI 字幕翻譯","youtube.fetchingMachineTranslate":"正在取得機器翻譯字幕...","youtube.subtitleContentEmpty":"目前選中的字幕內容為空或暫時不可用","youtube.noAvailableSubtitles":"該影片沒有可用字幕","youtube.trackLoadFailed":"字幕軌道載入失敗","youtube.btnSubtitleOn":"SentenWord 雙語字幕 (開)","youtube.btnSubtitleOff":"SentenWord 雙語字幕 (關)","youtube.btnPanelOn":"SentenWord 字幕面板 (開)","youtube.btnPanelOff":"SentenWord 字幕面板 (關)","youtube.btnSettings":"SentenWord 字幕設定","youtube.menuBilingualSubtitle":"雙語字幕","youtube.menuSidebar":"字幕側邊欄","youtube.menuSettings":"設定","contextMenu.smartTranslate":"SentenWord | 智慧翻譯","contextMenu.translatePage":"SentenWord | 翻譯全文","contextMenu.restoreOriginal":"SentenWord | 恢復原文","quickSearch.title":"Quick Search","quickSearch.dictionary":"詞典","quickSearch.ai":"AI","quickSearch.dictPlaceholder":"輸入單字查詢...","quickSearch.aiPlaceholder":"輸入單字或句子，AI 為你解釋...","quickSearch.submit":"查詢","quickSearch.hint":"Ctrl+Shift+F 喚起 · Enter 查詢 · Tab 切換模式 · Escape 關閉","subtitle.loading":"字幕載入中...","subtitle.ready":"字幕已就緒，等待語音開始","subtitle.notDetected":"暫未偵測到可顯示字幕，請繼續播放或切換影片重試","floating.translate":"翻譯","word.viewInDict":"在 {{name}} 中檢視","word.unfavorite":"取消收藏","speech.playOriginal":"朗讀原文","speech.playTranslation":"朗讀譯文","word.favorite":"收藏單字","ai.favoritePhrase":"收藏短語","ai.collapse":"收起","ai.viewAll":"檢視全部 ({{count}})","ai.noResult":"暫無翻譯結果","ai.loading":"載入中...","common.expand":"檢視全部","common.collapseText":"收起","common.translating":"翻譯中...","update.action":"有新版本可用"},zh={"options.header.subtitle":"SentenWord Preference Desk","options.header.title":"Options Studio","options.header.description":"Manage your translation experience, dictionary display, and custom AI settings. Configure visual, interaction, and performance preferences here.","options.language.title":"Language Settings","options.language.description":"Configure your native language and the target language you're learning.","options.language.native":"Native Language","options.language.nativeDesc":"The interface language will automatically switch based on this setting.","options.language.learning":"Learning Target Language","options.language.learningDesc":"The language you're learning, used for translation and dictionary features.","options.account.title":"Account & Connection","options.account.description":"Manage login status and extension connection behavior.","options.account.label":"Account","options.account.loading":"Loading login status","options.account.loggedIn":"Logged in: ","options.account.notLoggedIn":"Not logged in. Go to authorization page to log in.","options.account.logout":"Log Out","options.account.login":"Log In","options.account.loggedOut":"Logged out","options.account.profile":"Profile","options.account.avatar":"Avatar","options.account.name":"Display Name","options.account.namePlaceholder":"Enter display name","options.account.save":"Save","options.account.saving":"Saving...","options.account.profileUpdated":"Profile updated","options.account.profileUpdateFailed":"Update failed, please try again","options.account.editProfile":"Edit Profile","options.account.cancel":"Cancel","options.usage.title":"Usage","options.usage.description":"AI Token usage","options.usage.monthly":"Monthly Quota","options.usage.used":"Used","options.usage.limit":"Limit","options.usage.resetAt":"Resets at","options.usage.tokens":"tokens","options.usage.loadFailed":"Failed to load usage","options.usage.loginRequired":"Log in to view usage","options.usage.upgradeToPro":"Upgrade to Pro","options.usage.dailyBreakdown":"Daily breakdown","options.usage.dailyTitle":"Daily usage this month","options.usage.dailySubtitle":"Bar height shows relative daily consumption · Hover to see share of monthly total","options.usage.monthTotal":"Month total","options.usage.dailyEmpty":"Unable to load breakdown data","options.usage.dailyNote":"Note: tokens here represent this system's consumption units, not a specific model's token count.","options.usage.dailyLoadFailed":"Failed to load breakdown","paywall.title":"Upgrade to SentenWord Pro","paywall.subtitle":"Unlock 9× AI quota and enjoy seamless translations with premium features.","paywall.feature.quota":"9× higher AI token quota","paywall.feature.subtitles":"Unlimited YouTube bilingual subtitles","paywall.feature.priority":"Priority access and dedicated support","paywall.plan.monthly":"Monthly","paywall.plan.quarterly":"Quarterly","paywall.plan.halfYear":"6 Months","paywall.plan.yearly":"Yearly","paywall.priceSuffix.month":"/mo","paywall.priceTotal":"{{total}} total","paywall.savings":"Save {{percent}}%","paywall.recommended":"Best value","paywall.continueButton":"Continue to checkout","paywall.continueLoading":"Redirecting...","paywall.close":"Close","paywall.error.loginRequired":"You need to log in before upgrading.","paywall.error.goLogin":"Log in","paywall.error.network":"Failed to create checkout session. Please try again.","paywall.confirm.title":"Waiting for payment","paywall.confirm.message":"Checkout opened in a new tab. Complete the payment in Stripe, then return here and click below.","paywall.confirm.completed":"I've completed payment","paywall.confirm.cancel":"Cancel","paywall.confirm.checking":"Verifying…","paywall.confirm.retry":"Try again","paywall.confirm.notYet":"Pro status not detected yet. If you just completed payment, please wait a moment and try again.","options.highlight.title":"Appearance","options.highlight.description":"Manage highlight styles and color settings.","options.highlight.panelTitle":"Highlight Style","options.highlight.panelDescription":"How saved words appear on web pages and the color system.","options.card.themeTitle":"Card Theme","options.card.themeDescription":"Switch the visual style of the dictionary card.","options.card.theme.warm":"Warm","options.card.theme.classic":"Classic","options.card.theme.fresh":"Fresh","options.highlight.enable":"Enable Highlight","options.highlight.enableDesc":"When disabled, saved words will no longer be highlighted on web pages.","options.highlight.inlineAnnotation":"Show Inline Definitions","options.highlight.inlineAnnotationDesc":"Display part of speech and definition next to highlighted words, e.g. Reload(v.reload).","options.highlight.trigger":"Definition Panel Trigger","options.highlight.triggerDesc":"Choose whether highlighted words open the definition panel on click, hover, or not at all.","options.highlight.trigger.none":"No Action","options.highlight.styleSelect":"Style Selection","options.highlight.colorSelect":"Color Selection","options.highlight.opacity":"Highlight Opacity","options.highlight.opacityDesc":"Adjust how transparent the highlight color appears on pages.","options.highlight.style.none":"None","options.highlight.style.background":"Background","options.highlight.style.text":"Text Color","options.highlight.style.underline":"Underline","options.highlight.style.doubleUnderline":"Double Underline","options.highlight.style.wavy":"Wavy","options.highlight.style.dotted":"Dotted","options.highlight.style.dashed":"Dashed","options.tagHighlight.panelTitle":"Vocabulary Tag Highlight","options.tagHighlight.panelDescription":"Highlight words on web pages based on dictionary tags and frequency ranges.","options.tagHighlight.enable":"Enable Tag Highlight","options.tagHighlight.enableDesc":"Automatically highlight words matching the configured rules.","options.tagHighlight.addRule":"Add Rule","options.tagHighlight.tag":"Dictionary Tag","options.tagHighlight.frqRange":"Frequency Range","options.tagHighlight.frqMin":"Min","options.tagHighlight.frqMax":"Max","options.tagHighlight.noRules":"No rules yet. Click the button above to add one.","options.tagHighlight.deleteRule":"Delete","options.tagHighlight.style":"Style","options.tagHighlight.color":"Color","options.tagHighlight.enabled":"Enabled","options.translation.title":"Translation","options.translation.description":"Manage dictionary content display and floating translate button settings.","options.dictionary.title":"Dictionary Content","options.dictionary.description":"Control the definition levels and example content displayed on word cards.","options.dictionary.showExamples":"Show Examples","options.dictionary.showExamplesDesc":"Display sentence examples in definitions.","options.dictionary.tabs.title":"Dictionary Lookup Settings","options.dictionary.tabs.description":"Configure the display order and enabled state of dictionary lookup tabs. Only effective when native language is Chinese and learning language is English.","options.dictionary.tabs.ai":"AI Lookup","options.dictionary.tabs.simple":"Quick Dictionary","options.dictionary.tabs.dictionary":"Professional Dictionary","options.dictionary.tabs.moveUp":"Move Up","options.dictionary.tabs.moveDown":"Move Down","options.floating.title":"Selection Translation","options.floating.description":"Define the floating button's appearance, size, color, opacity, and style.","options.floating.enable":"Enable Floating Button","options.floating.enableDesc":"Show translation entry after selecting text.","options.floating.trigger":"Trigger Mode","options.floating.triggerDesc":"Click or hover to trigger translation.","options.floating.trigger.click":"Click","options.floating.trigger.hover":"Hover","options.floating.size":"Button Size","options.floating.sizeDesc":"Adjust size according to your visual preference.","options.floating.size.xsmall":"XS","options.floating.size.small":"S","options.floating.size.medium":"M","options.floating.size.large":"L","options.floating.style":"Button Style","options.floating.styleDesc":"Icon, dot, or text.","options.floating.style.icon":"Icon","options.floating.style.dot":"Dot","options.floating.color":"Button Color","options.floating.colorDesc":"Choose preset or custom color.","options.floating.opacity":"Button Opacity","options.floating.opacityDesc":"Adjust how transparent the floating button appears on pages.","options.hotkeys.title":"Hotkeys","options.hotkeys.description":"Keys are auto-saved on blur or Enter.","options.companion.title":"iOS App","options.companion.description":"Carry your collection in your pocket — review your saved words and sentences anywhere.","options.companion.platform":"for iPhone · iPad","options.companion.pitch":"Open every word and sentence you've saved, right from your iPhone.","options.companion.feat1":"Revisit your saved words and sentences any time","options.companion.feat2":"Strengthen memory with spaced review","options.companion.feat3":"Explore curated wordbooks built for systematic study","options.companion.cta":"Get it on the App Store","options.speech.title":"Text-to-Speech","options.speech.description":"Configure the voice used for reading original and translated text.","options.speech.enable":"Enable speech","options.speech.enableDesc":"Show speaker buttons on the translation card.","options.speech.rate":"Rate","options.speech.rateDesc":"0.5× to 2.0×, default 1.0×.","options.speech.pitch":"Pitch","options.speech.pitchDesc":"0.5 to 1.5, default 1.0.","options.speech.voices":"Voices","options.speech.provider":"Engine","options.speech.providerDesc":"Edge uses Microsoft Neural voices (online, higher quality). System uses built-in browser voices (offline).","options.speech.providerEdge":"Edge (high quality)","options.speech.providerWeb":"System","options.speech.edgeVoicesDesc":"Pick a Microsoft Neural voice. Falls back to system voice on failure.","options.speech.voicesDesc":"Pick a preferred voice per language. Cloud voices (☁) usually sound better.","options.speech.auto":"Auto (best)","options.speech.autoWithName":"Auto — {{name}}","options.speech.test":"Test","options.speech.noVoices":"No speech voices detected in this browser. Check your system voice settings.","options.hotkeys.quickSearch":"Quick Search","options.hotkeys.quickSearchDesc":"Open quick search popup.","options.hotkeys.paragraph":"Paragraph Translation","options.hotkeys.paragraphDesc":"Translate paragraph under cursor.","options.ai.title":"AI Translation","options.ai.description":"Choose your AI translation service: use the built-in service or configure your own API Key.","options.ai.usingCustom":"Custom API","options.ai.usingBackend":"Built-in AI","options.ai.providerLabel":"Provider: {{provider}}","options.ai.enable":"AI Service","options.ai.enableDesc":"When enabled, use your configured provider and model.","options.ai.enableDescBackend":"Use the built-in AI translation service provided by SentenWord.","options.ai.enableDescCustom":"Use your own API Key and model. Keys are stored locally only.","options.ai.includeKeyPoints":"Return Key Points","options.ai.includeKeyPointsDesc":"When off, sentence translation returns only translation text without Key Points.","options.ai.provider":"Provider","options.ai.providerDesc":"Select an AI provider, use Google / Microsoft free translate, or a custom OpenAI-compatible API.","options.ai.freeProviderNote":"Free public endpoint — no API key required. Word explanations fall back to the built-in backend.","options.ai.apiKey":"API Key","options.ai.apiKeyDesc":"Auto-saved on blur.","options.ai.model":"Model","options.ai.openaiModelDesc":"Default model is gpt-4o-mini.","options.ai.openrouterModelDesc":"Example: openai/gpt-4o-mini.","options.ai.deepseekModelDesc":"Default model is deepseek-chat.","options.ai.customBaseUrl":"API Base URL","options.ai.customBaseUrlDesc":"OpenAI-compatible API URL, such as Qwen, Zhipu, Moonshot, etc.","options.ai.customModelDesc":"Model name, such as qwen-turbo, glm-4, etc.","options.ai.translatePrompt":"Translation Prompt","options.ai.translatePromptDesc":"Custom prompt sent to AI for translation. The AI will automatically determine whether the input is a word or a passage.","options.ai.promptReset":"Reset to default","options.ai.promptVariablesHint":"Available variables: {{text}}, {{context}}, {{targetLanguage}}, {{#context}}...{{/context}}","options.metrics.highlight":"Current Highlight","options.metrics.customAI":"Custom AI","options.metrics.enabled":"Enabled","options.metrics.disabled":"Disabled","options.metrics.account":"Account Status","options.metrics.loading":"Loading","options.metrics.loggedIn":"Logged In","options.metrics.notLoggedIn":"Not Logged In","options.metrics.syncHint":"Log in to sync cloud features","options.metrics.syncingHint":"Syncing account info","common.saving":"Saving","common.saveFailed":"Save failed, please retry","common.loading":"Loading settings...","common.definitionGenerating":"Definition is being generated, please try again shortly.","common.unknownError":"Unknown error","common.pageTranslateLoginRequired":"Please log in to use page translation.","common.trialQuotaExceededLogin":"Free trial uses are exhausted. Please log in to continue.","common.translationQuotaExceededUpgrade":"Translation quota is exhausted. Please upgrade or try again later.","common.rateLimitNotLoggedIn":"Too many requests. Please log in for more translation quota.","common.freeQuotaExceeded":"Monthly usage limit reached, resets on {{resetTime}}. Upgrade to Pro for higher limits.","common.proQuotaExceeded":"Monthly usage limit reached, resets on {{resetTime}}.","common.toast.loginRequiredTitle":"Login Required","common.toast.quotaInsufficientTitle":"Quota Exceeded","common.toast.translationErrorTitle":"Translation Error","common.toast.loginAction":"Log In","common.toast.laterAction":"Later","common.toast.upgradeAction":"Upgrade Plan","common.toast.closeAction":"Close","common.sessionExpiredTitle":"Session Expired","common.sessionExpiredDesc":"Please log in again to continue using all features.","common.sessionReloginAction":"Log In Again","common.preview":"Preview","common.unexpectedError":"An unexpected error occurred","footer.copyright":"SentenWord | Smart Translation","color.amber":"Amber","color.green":"Green","color.blue":"Blue","color.indigo":"Indigo","color.coral":"Coral","color.orange":"Orange","color.cyan":"Cyan","color.brown":"Brown","color.red":"Red","color.gold":"Gold","color.magenta":"Magenta","color.darkGray":"Dark Gray","color.custom":"Custom","color.customHighlight":"Custom highlight color","color.customButton":"Custom button color","welcome.subtitle":"Welcome to SentenWord, let's get some basics set up","welcome.nativeLanguage":"Your Native Language","welcome.nativeLanguageDesc":"The interface language will automatically switch based on this setting.","welcome.learningLanguage":"Language You Want to Learn","welcome.learningLanguageDesc":"Select the target language you're learning.","welcome.getStarted":"Get Started","welcome.account":"Account","welcome.accountDesc":"Sign in to sync your vocabulary and learning progress.","welcome.login":"Login / Register","welcome.maybeLater":"Maybe Later","welcome.loggedInAs":"Logged in","welcome.next":"Next","welcome.back":"Back","popup.title":"SentenWord | Smart Translation","popup.settings":"Settings","popup.quickSearch":"Quick Search","popup.stopTranslate":"Stop Translation","popup.translatePage":"Translate Page","popup.translationEnabled":"Translation enabled","popup.visitWebsite":"Visit Website","popup.wordBook":"Word Book","popup.login":"Login","popup.loginDesc":"Login to sync your data","popup.screenshot":"Screenshot OCR","screenshot.hint":"Drag to select an area · Esc to cancel","screenshot.processing":"Recognizing…","screenshot.empty":"No text detected","screenshot.failed":"Recognition failed","screenshot.loginRequired":"Please log in to use Screenshot OCR","screenshot.quotaExceeded":"Monthly quota reached. Try again later or upgrade your plan.","screenshot.translation":"Translation","screenshot.close":"Close","screenshot.copy":"Copy","screenshot.copied":"Copied","card.title":"SentenWord | Smart Translation","card.wordBook":"Word Book","card.tabSimpleDictionary":"Quick Dict","card.tabDictionary":"Dictionary","card.tabAI":"AI Explain","card.detailedExplanation":"Detailed Explanation","card.detailedExplanationLoading":"Generating explanation...","card.detailedExplanationRetry":"Retry","card.originalText":"Original","card.translationText":"Translation","card.closeDetailedExplanation":"Close detailed explanation","card.closeCard":"Close the card","card.settings":"Settings","collection.title":"Collect","collection.closeModal":"Close collection window","collection.folder":"Collection","collection.loading":"Loading...","collection.defaultFolder":"Default Collection","collection.loadingHint":"Loading…","collection.word":"Word *","collection.wordPlaceholder":"Enter a word","collection.partOfSpeech":"POS","collection.partOfSpeechPlaceholder":"Part of speech","collection.phonetic":"Phonetic","collection.phoneticPlaceholder":"e.g. /mɪˈlɛniə/","collection.meaning":"Definition","collection.meaningPlaceholder":"Word definition","collection.context":"Context *","collection.contextPlaceholder":"Enter the full sentence","collection.contextTranslation":"Context Translation","collection.contextTranslationPlaceholder":"Translation of the context sentence","collection.examples":"Extra Examples","collection.examplesHint":"(optional, one per line)","collection.examplesPlaceholder":"Enter extra examples, one per line","collection.saving":"Saving...","collection.save":"Save","collection.saveSuccess":"Saved successfully","collection.saveFailed":"Save failed","collection.notLoggedIn":"Not logged in, cannot save","collection.notLoggedInLoad":"Not logged in, cannot load collections","collection.loadFailed":"Failed to load collections","collection.wordRequired":"Please enter a word/phrase","collection.contextTooLong":"Context cannot exceed {{max}} characters","youtube.machineTranslate":"Machine Translate","youtube.aiTranslate":"AI Translate","youtube.subtitlePanel":"Subtitle Panel","youtube.closePanel":"Close subtitle panel","youtube.panelAriaLabel":"Subtitle panel tabs","youtube.tabSubtitles":"Subtitles","youtube.tabSettings":"Settings","youtube.downloadSrt":"Download Bilingual SRT","youtube.noSubtitles":"No subtitles","youtube.showBilingualSubtitle":"Show Bilingual Subtitles","youtube.showBilingualSubtitleDesc":"Toggle bilingual subtitle overlay on the video","youtube.enableSubtitleList":"Enable Subtitle List","youtube.enableSubtitleListDesc":"When disabled, the subtitle list panel will be hidden","youtube.autoScroll":"Auto Scroll","youtube.autoScrollDesc":"Automatically scroll to the current sentence during playback","youtube.noDownloadableSubtitle":"No downloadable subtitles","youtube.loadSecondaryFirst":"Please load secondary subtitles before downloading bilingual SRT","youtube.exportEmpty":"Subtitle export failed: content is empty","youtube.downloadStarted":"Bilingual SRT download started","youtube.downloadFailed":"Bilingual SRT download failed","youtube.subtitleTranslateFallbackFailed":"Subtitle translation failed, please try again later","youtube.primaryLoadFailed":"Primary subtitle loading failed","youtube.machineTranslateUnavailable":"Machine translation unavailable, switched to AI translation","youtube.machineTranslateFailed":"Machine translation failed, switched to AI translation","youtube.secondaryLoadFailed":"Secondary subtitle loading failed","youtube.aiTranslateEnabled":"AI subtitle translation enabled","youtube.fetchingMachineTranslate":"Fetching machine translation subtitles...","youtube.subtitleContentEmpty":"Subtitle track found, but no displayable subtitles are available","youtube.noAvailableSubtitles":"No subtitles available for this video","youtube.trackLoadFailed":"Subtitle track loading failed","youtube.btnSubtitleOn":"SentenWord Bilingual Subtitles (On)","youtube.btnSubtitleOff":"SentenWord Bilingual Subtitles (Off)","youtube.btnPanelOn":"SentenWord Subtitle Panel (On)","youtube.btnPanelOff":"SentenWord Subtitle Panel (Off)","youtube.btnSettings":"SentenWord Subtitle Settings","youtube.menuBilingualSubtitle":"Bilingual Subtitles","youtube.menuSidebar":"Subtitle Sidebar","youtube.menuSettings":"Settings","contextMenu.smartTranslate":"SentenWord | Smart Translate","contextMenu.translatePage":"SentenWord | Translate Page","contextMenu.restoreOriginal":"SentenWord | Restore Original","quickSearch.title":"Quick Search","quickSearch.dictionary":"Dictionary","quickSearch.ai":"AI","quickSearch.dictPlaceholder":"Search for a word...","quickSearch.aiPlaceholder":"Enter a word or sentence for AI explanation...","quickSearch.submit":"Search","quickSearch.hint":"Ctrl+Shift+F to open · Enter to search · Tab to switch mode · Escape to close","subtitle.loading":"Loading subtitles...","subtitle.ready":"Subtitles ready, waiting for speech to begin","subtitle.notDetected":"No displayable subtitles detected, please continue playing or try another video","floating.translate":"Translate","word.viewInDict":"View in {{name}}","word.unfavorite":"Remove from favorites","speech.playOriginal":"Play original","speech.playTranslation":"Play translation","word.favorite":"Add to favorites","ai.favoritePhrase":"Add phrase to favorites","ai.collapse":"Collapse","ai.viewAll":"View all ({{count}})","ai.noResult":"No translation results","ai.loading":"Loading...","common.expand":"View all","common.collapseText":"Collapse","common.translating":"Translating...","update.action":"New version available"},Dh={"options.header.subtitle":"SentenWord Preference Desk","options.header.title":"Options Studio","options.header.description":"翻訳体験、辞書表示、カスタムAI設定を一元管理。視覚・操作・パフォーマンスの好みをここで調整できます。","options.language.title":"言語設定","options.language.description":"母国語と学習中のターゲット言語を設定します。","options.language.native":"母国語","options.language.nativeDesc":"この設定に基づいてUIの言語が自動的に切り替わります。","options.language.learning":"学習ターゲット言語","options.language.learningDesc":"学習中の言語。翻訳と辞書機能に使用されます。","options.account.title":"アカウントと接続","options.account.description":"ログイン状態と拡張機能の接続を管理します。","options.account.label":"アカウント","options.account.loading":"ログイン状態を読み込み中","options.account.loggedIn":"ログイン中：","options.account.notLoggedIn":"未ログイン。認証ページでログインしてください。","options.account.logout":"ログアウト","options.account.login":"ログイン","options.account.loggedOut":"ログアウトしました","options.account.profile":"プロフィール","options.account.avatar":"アバター","options.account.name":"ニックネーム","options.account.namePlaceholder":"ニックネームを入力","options.account.save":"保存","options.account.saving":"保存中...","options.account.profileUpdated":"プロフィールが更新されました","options.account.profileUpdateFailed":"更新に失敗しました。もう一度お試しください","options.account.editProfile":"プロフィール編集","options.account.cancel":"キャンセル","options.usage.title":"使用量","options.usage.description":"AI Token の使用状況","options.usage.monthly":"月間クォータ","options.usage.used":"使用済み","options.usage.limit":"上限","options.usage.resetAt":"リセット時刻","options.usage.tokens":"tokens","options.usage.loadFailed":"使用量の読み込みに失敗しました","options.usage.loginRequired":"使用量を確認するにはログインしてください","options.usage.upgradeToPro":"Proにアップグレード","options.usage.dailyBreakdown":"日別内訳","options.usage.dailyTitle":"今月の日別使用量","options.usage.dailySubtitle":"棒の高さはその日の相対的な消費量を示します · ホバーで月間総量に対する割合を確認","options.usage.monthTotal":"今月累計","options.usage.dailyEmpty":"内訳データを読み込めません","options.usage.dailyNote":"注：ここでの tokens は当システムの消費単位であり、特定モデルの token 数とは一致しません。","options.usage.dailyLoadFailed":"内訳の読み込みに失敗しました","paywall.title":"SentenWord Pro にアップグレード","paywall.subtitle":"AI クォータ 9 倍で、快適な翻訳とプレミアム機能をご利用いただけます","paywall.feature.quota":"AI トークンクォータが 9 倍に","paywall.feature.subtitles":"YouTube バイリンガル字幕が無制限","paywall.feature.priority":"優先アクセスと専用サポート","paywall.plan.monthly":"月額","paywall.plan.quarterly":"3ヶ月","paywall.plan.halfYear":"6ヶ月","paywall.plan.yearly":"年額","paywall.priceSuffix.month":"/月","paywall.priceTotal":"合計 {{total}}","paywall.savings":"{{percent}}% お得","paywall.recommended":"おすすめ","paywall.continueButton":"決済へ進む","paywall.continueLoading":"リダイレクト中...","paywall.close":"閉じる","paywall.error.loginRequired":"アップグレードするにはログインが必要です。","paywall.error.goLogin":"ログイン","paywall.error.network":"決済セッションの作成に失敗しました。後でもう一度お試しください。","paywall.confirm.title":"決済の完了を待っています","paywall.confirm.message":"新しいタブで決済ページを開きました。Stripe で決済を完了したら、こちらに戻って下のボタンをクリックしてください。","paywall.confirm.completed":"決済完了","paywall.confirm.cancel":"キャンセル","paywall.confirm.checking":"確認中…","paywall.confirm.retry":"もう一度試す","paywall.confirm.notYet":"まだ Pro が確認できません。決済直後の場合は少し待ってから再試行してください。","options.highlight.title":"外観","options.highlight.description":"ハイライトスタイルとカラー設定を管理します。","options.highlight.panelTitle":"ハイライトスタイル","options.highlight.panelDescription":"保存した単語のWebページ上での表示方法とカラーシステム。","options.card.themeTitle":"カードテーマ","options.card.themeDescription":"辞書カードのビジュアルスタイルを切り替えます。","options.card.theme.warm":"ウォーム","options.card.theme.classic":"クラシック","options.card.theme.fresh":"フレッシュ","options.highlight.enable":"ハイライトを有効にする","options.highlight.enableDesc":"無効にすると、保存した単語はWebページ上でハイライトされなくなります。","options.highlight.inlineAnnotation":"インライン定義を表示","options.highlight.inlineAnnotationDesc":"ハイライトされた単語の横に品詞と定義を表示します（例：Reload(v.再読み込み)）。","options.highlight.trigger":"定義パネルのトリガー","options.highlight.triggerDesc":"ハイライト語でクリック、ホバー、または何もしない動作を選びます。","options.highlight.trigger.none":"動作なし","options.highlight.styleSelect":"スタイル選択","options.highlight.colorSelect":"カラー選択","options.highlight.opacity":"ハイライトの透明度","options.highlight.opacityDesc":"Webページ上のハイライト色の透明度を調整します。","options.highlight.style.none":"なし","options.highlight.style.background":"背景色","options.highlight.style.text":"テキスト色","options.highlight.style.underline":"下線","options.highlight.style.doubleUnderline":"二重下線","options.highlight.style.wavy":"波線","options.highlight.style.dotted":"点線","options.highlight.style.dashed":"破線","options.tagHighlight.panelTitle":"語彙タグハイライト","options.tagHighlight.panelDescription":"辞書タグと語頻範囲に基づいてWebページの単語をハイライトします。","options.tagHighlight.enable":"タグハイライトを有効にする","options.tagHighlight.enableDesc":"設定したルールに一致する単語を自動的にハイライトします。","options.tagHighlight.addRule":"ルールを追加","options.tagHighlight.tag":"辞書タグ","options.tagHighlight.frqRange":"語頻範囲","options.tagHighlight.frqMin":"最小","options.tagHighlight.frqMax":"最大","options.tagHighlight.noRules":"ルールがありません。上のボタンをクリックして追加してください。","options.tagHighlight.deleteRule":"削除","options.tagHighlight.style":"スタイル","options.tagHighlight.color":"カラー","options.tagHighlight.enabled":"有効","options.translation.title":"翻訳設定","options.translation.description":"辞書コンテンツの表示とフローティング翻訳ボタンの設定を管理します。","options.dictionary.title":"辞書コンテンツ","options.dictionary.description":"単語カードに表示される定義レベルと例文を制御します。","options.dictionary.showExamples":"例文を表示","options.dictionary.showExamplesDesc":"定義内に例文を表示します。","options.dictionary.tabs.title":"辞書検索設定","options.dictionary.tabs.description":"辞書カードの各検索タブの表示順序と有効状態を設定します。母語が中国語で学習言語が英語の場合のみ有効です。","options.dictionary.tabs.ai":"AI 検索","options.dictionary.tabs.simple":"簡易辞書","options.dictionary.tabs.dictionary":"専門辞書","options.dictionary.tabs.moveUp":"上へ移動","options.dictionary.tabs.moveDown":"下へ移動","options.floating.title":"選択翻訳","options.floating.description":"フローティングボタンの表示方法、サイズ、色、透明度、スタイルを定義します。","options.floating.enable":"フローティングボタンを有効にする","options.floating.enableDesc":"テキスト選択後に翻訳入口を表示します。","options.floating.trigger":"トリガーモード","options.floating.triggerDesc":"クリックまたはホバーで翻訳をトリガーします。","options.floating.trigger.click":"クリック","options.floating.trigger.hover":"ホバー","options.floating.size":"ボタンサイズ","options.floating.sizeDesc":"お好みに合わせてサイズを調整してください。","options.floating.size.xsmall":"極小","options.floating.size.small":"小","options.floating.size.medium":"中","options.floating.size.large":"大","options.floating.style":"ボタンスタイル","options.floating.styleDesc":"アイコン、ドット、またはテキスト。","options.floating.style.icon":"アイコン","options.floating.style.dot":"ドット","options.floating.color":"ボタンの色","options.floating.colorDesc":"プリセットまたはカスタムカラーを選択。","options.floating.opacity":"ボタンの透明度","options.floating.opacityDesc":"ページ上でのフローティングボタンの透明度を調整します。","options.hotkeys.title":"ショートカットキー","options.hotkeys.description":"フォーカス解除またはEnterで自動保存されます。","options.companion.title":"iOS アプリ","options.companion.description":"コレクションをポケットへ — 保存した単語と文をどこでも復習。","options.companion.platform":"for iPhone · iPad","options.companion.pitch":"保存した単語や例文を、iPhone でいつでも見返せます。","options.companion.feat1":"保存した単語と文をいつでも見返す","options.companion.feat2":"間隔反復で記憶を定着","options.companion.feat3":"厳選された単語帳で体系的に学習","options.companion.cta":"App Store で入手","options.speech.title":"音声読み上げ","options.speech.description":"原文と訳文を読み上げる際の音声を設定します。","options.speech.enable":"読み上げを有効化","options.speech.enableDesc":"翻訳カードに読み上げボタンを表示します。","options.speech.rate":"速度","options.speech.rateDesc":"0.5×〜2.0×、既定 1.0×。","options.speech.pitch":"ピッチ","options.speech.pitchDesc":"0.5〜1.5、既定 1.0。","options.speech.voices":"音声の選択","options.speech.provider":"エンジン","options.speech.providerDesc":"Edge は Microsoft ニューラル音声（オンライン、高音質）。システムはブラウザ内蔵音声（オフライン）。","options.speech.providerEdge":"Edge (高音質)","options.speech.providerWeb":"システム","options.speech.edgeVoicesDesc":"Microsoft ニューラル音声から選択。失敗時はシステム音声に自動フォールバックします。","options.speech.voicesDesc":"言語ごとに好みの音声を選択します。クラウド音声（☁）は通常より自然です。","options.speech.auto":"自動（最適）","options.speech.autoWithName":"自動 — {{name}}","options.speech.test":"試聴","options.speech.noVoices":"このブラウザで音声が検出されませんでした。システム音声設定を確認してください。","options.hotkeys.quickSearch":"クイック検索","options.hotkeys.quickSearchDesc":"クイック検索ポップアップを開きます。","options.hotkeys.paragraph":"段落翻訳","options.hotkeys.paragraphDesc":"カーソル下の段落を翻訳します。","options.ai.title":"AI翻訳","options.ai.description":"AI翻訳サービスを選択：内蔵サービスまたは独自のAPIキーを設定。","options.ai.usingCustom":"カスタムAPI","options.ai.usingBackend":"内蔵AI","options.ai.providerLabel":"プロバイダー: {{provider}}","options.ai.enable":"AIサービス","options.ai.enableDesc":"有効にすると、設定したプロバイダーとモデルを使用します。","options.ai.enableDescBackend":"SentenWordが提供する内蔵AI翻訳サービスを使用します。","options.ai.enableDescCustom":"独自のAPIキーとモデルを使用。キーはローカルにのみ保存されます。","options.ai.includeKeyPoints":"Key Points を返す","options.ai.includeKeyPointsDesc":"オフの場合、文の翻訳は訳文のみを返し、Key Points は返しません。","options.ai.provider":"プロバイダー","options.ai.providerDesc":"AIプロバイダーを選ぶか、Google / Microsoft の無料翻訳、または OpenAI 互換 API を使用します。","options.ai.freeProviderNote":"無料の公開エンドポイント。API キーは不要です。単語解説などの AI 機能は内蔵バックエンドに自動フォールバックします。","options.ai.apiKey":"APIキー","options.ai.apiKeyDesc":"フォーカス解除で自動保存。","options.ai.model":"モデル","options.ai.openaiModelDesc":"デフォルトモデルはgpt-4o-miniです。","options.ai.openrouterModelDesc":"例：openai/gpt-4o-mini。","options.ai.deepseekModelDesc":"デフォルトモデルはdeepseek-chatです。","options.ai.customBaseUrl":"API Base URL","options.ai.customBaseUrlDesc":"OpenAI互換APIのURL（Qwen、Zhipu、Moonshotなど）。","options.ai.customModelDesc":"モデル名（qwen-turbo、glm-4など）。","options.ai.translatePrompt":"翻訳プロンプト","options.ai.translatePromptDesc":"翻訳時にAIに送信するカスタムプロンプト。AIが自動的に単語か段落かを判断します。","options.ai.promptReset":"デフォルトに戻す","options.ai.promptVariablesHint":"使用可能な変数：{{text}}、{{context}}、{{targetLanguage}}、{{#context}}...{{/context}}","options.metrics.highlight":"現在のハイライト","options.metrics.customAI":"カスタムAI","options.metrics.enabled":"有効","options.metrics.disabled":"無効","options.metrics.account":"アカウント状態","options.metrics.loading":"読み込み中","options.metrics.loggedIn":"ログイン中","options.metrics.notLoggedIn":"未ログイン","options.metrics.syncHint":"ログインしてクラウド機能を同期","options.metrics.syncingHint":"アカウント情報を同期中","common.saving":"保存中","common.saveFailed":"保存に失敗しました。再試行してください","common.loading":"設定を読み込み中...","common.definitionGenerating":"定義を生成中です。しばらくしてからもう一度お試しください。","common.unknownError":"不明なエラー","common.pageTranslateLoginRequired":"ページ翻訳を利用するにはログインしてください。","common.trialQuotaExceededLogin":"無料体験回数を使い切りました。続行するにはログインしてください。","common.translationQuotaExceededUpgrade":"翻訳枠を使い切りました。プランをアップグレードするか、しばらくしてから再試行してください。","common.rateLimitNotLoggedIn":"リクエストが多すぎます。ログインしてより多くの翻訳枠を取得してください。","common.freeQuotaExceeded":"今月の使用上限に達しました。{{resetTime}}にリセットされます。Proにアップグレードしてより多くの枠を取得できます","common.proQuotaExceeded":"今月の使用上限に達しました。{{resetTime}}にリセットされます","common.toast.loginRequiredTitle":"ログインが必要です","common.toast.quotaInsufficientTitle":"利用枠不足","common.toast.translationErrorTitle":"翻訳エラー","common.toast.loginAction":"ログイン","common.toast.laterAction":"後で","common.toast.upgradeAction":"プランをアップグレード","common.toast.closeAction":"閉じる","common.sessionExpiredTitle":"ログインの有効期限が切れました","common.sessionExpiredDesc":"すべての機能を続けて利用するには、再度ログインしてください。","common.sessionReloginAction":"再ログイン","common.preview":"プレビュー","common.unexpectedError":"予期しないエラーが発生しました","footer.copyright":"SentenWord | スマート翻訳","color.amber":"アンバー","color.green":"グリーン","color.blue":"ブルー","color.indigo":"インディゴ","color.coral":"コーラル","color.orange":"オレンジ","color.cyan":"シアン","color.brown":"ブラウン","color.red":"レッド","color.gold":"ゴールド","color.magenta":"マゼンタ","color.darkGray":"ダークグレー","color.custom":"カスタム","color.customHighlight":"カスタムハイライト色","color.customButton":"カスタムボタン色","welcome.subtitle":"SentenWordへようこそ。まず基本設定を完了しましょう","welcome.nativeLanguage":"あなたの母国語","welcome.nativeLanguageDesc":"この設定に基づいてUIの言語が自動的に切り替わります。","welcome.learningLanguage":"学びたい言語","welcome.learningLanguageDesc":"学習中のターゲット言語を選択してください。","welcome.getStarted":"はじめる","welcome.account":"アカウント","welcome.accountDesc":"ログインして語彙と学習進捗を同期しましょう。","welcome.login":"ログイン / 登録","welcome.maybeLater":"あとで","welcome.loggedInAs":"ログイン済み","welcome.next":"次へ","welcome.back":"戻る","popup.title":"SentenWord | スマート翻訳","popup.settings":"設定","popup.quickSearch":"クイック検索","popup.stopTranslate":"翻訳を停止","popup.translatePage":"ページを翻訳","popup.translationEnabled":"翻訳が有効です","popup.visitWebsite":"公式サイトへ","popup.wordBook":"単語帳","popup.login":"ログイン","popup.loginDesc":"ログインしてデータを同期","popup.screenshot":"スクリーンショット認識","screenshot.hint":"ドラッグして範囲を選択 · Esc でキャンセル","screenshot.processing":"認識中…","screenshot.empty":"テキストが見つかりません","screenshot.failed":"認識に失敗しました","screenshot.loginRequired":"ログイン後にスクリーンショット認識をご利用いただけます","screenshot.quotaExceeded":"今月の利用枠を使い切りました。時間を置いて再試行するか、プランをアップグレードしてください。","screenshot.translation":"翻訳","screenshot.close":"閉じる","screenshot.copy":"コピー","screenshot.copied":"コピーしました","card.title":"SentenWord | スマート翻訳","card.wordBook":"単語帳","card.tabSimpleDictionary":"簡易辞書","card.tabDictionary":"辞書","card.tabAI":"AI 解説","card.detailedExplanation":"詳細解説","card.detailedExplanationLoading":"詳細解説を生成中...","card.detailedExplanationRetry":"再試行","card.originalText":"原文","card.translationText":"訳文","card.closeDetailedExplanation":"詳細解説を閉じる","card.closeCard":"カードを閉じる","card.settings":"設定","collection.title":"コレクション","collection.closeModal":"コレクションウィンドウを閉じる","collection.folder":"コレクション","collection.loading":"読み込み中...","collection.defaultFolder":"デフォルトコレクション","collection.loadingHint":"読み込み中…","collection.word":"単語 *","collection.wordPlaceholder":"単語を入力","collection.partOfSpeech":"品詞","collection.partOfSpeechPlaceholder":"品詞","collection.phonetic":"発音記号","collection.phoneticPlaceholder":"例: /mɪˈlɛniə/","collection.meaning":"意味","collection.meaningPlaceholder":"単語の意味","collection.context":"コンテキスト *","collection.contextPlaceholder":"完全な例文を入力","collection.contextTranslation":"コンテキストの翻訳","collection.contextTranslationPlaceholder":"コンテキスト文の翻訳を入力","collection.examples":"追加例文","collection.examplesHint":"（任意、1行に1つ）","collection.examplesPlaceholder":"追加例文を入力、1行に1つ","collection.saving":"保存中...","collection.save":"保存","collection.saveSuccess":"保存しました","collection.saveFailed":"保存に失敗しました","collection.notLoggedIn":"ログインしていないため保存できません","collection.notLoggedInLoad":"ログインしていないためコレクションを読み込めません","collection.loadFailed":"コレクションの読み込みに失敗しました","collection.wordRequired":"単語/フレーズを入力してください","collection.contextTooLong":"コンテキストは{{max}}文字以内にしてください","youtube.machineTranslate":"機械翻訳","youtube.aiTranslate":"AI 翻訳","youtube.subtitlePanel":"字幕パネル","youtube.closePanel":"字幕パネルを閉じる","youtube.panelAriaLabel":"字幕パネルタブ","youtube.tabSubtitles":"字幕","youtube.tabSettings":"設定","youtube.downloadSrt":"バイリンガル SRT をダウンロード","youtube.noSubtitles":"字幕なし","youtube.showBilingualSubtitle":"バイリンガル字幕を表示","youtube.showBilingualSubtitleDesc":"動画上のバイリンガル字幕オーバーレイを切り替え","youtube.enableSubtitleList":"字幕リストを有効にする","youtube.enableSubtitleListDesc":"無効にすると字幕リストパネルが非表示になります","youtube.autoScroll":"自動スクロール","youtube.autoScrollDesc":"再生中に現在の文に自動スクロール","youtube.noDownloadableSubtitle":"ダウンロード可能な字幕がありません","youtube.loadSecondaryFirst":"バイリンガル SRT をダウンロードする前に副字幕を読み込んでください","youtube.exportEmpty":"字幕エクスポート失敗：内容が空です","youtube.downloadStarted":"バイリンガル SRT のダウンロードを開始しました","youtube.downloadFailed":"バイリンガル SRT のダウンロードに失敗しました","youtube.subtitleTranslateFallbackFailed":"字幕の翻訳に失敗しました。後ほど再試行してください","youtube.primaryLoadFailed":"主字幕の読み込みに失敗しました","youtube.machineTranslateUnavailable":"機械翻訳が利用できないため、AI 翻訳に切り替えました","youtube.machineTranslateFailed":"機械翻訳の取得に失敗、AI 翻訳に切り替えました","youtube.secondaryLoadFailed":"副字幕の読み込みに失敗しました","youtube.aiTranslateEnabled":"AI オンデマンド翻訳を有効にしました","youtube.fetchingMachineTranslate":"機械翻訳字幕を取得中...","youtube.subtitleContentEmpty":"字幕トラックは見つかりましたが、表示できる字幕がありません","youtube.noAvailableSubtitles":"この動画には利用可能な字幕がありません","youtube.trackLoadFailed":"字幕トラックの読み込みに失敗しました","youtube.btnSubtitleOn":"SentenWord バイリンガル字幕 (オン)","youtube.btnSubtitleOff":"SentenWord バイリンガル字幕 (オフ)","youtube.btnPanelOn":"SentenWord 字幕パネル (オン)","youtube.btnPanelOff":"SentenWord 字幕パネル (オフ)","youtube.btnSettings":"SentenWord 字幕設定","youtube.menuBilingualSubtitle":"バイリンガル字幕","youtube.menuSidebar":"字幕サイドバー","youtube.menuSettings":"設定","contextMenu.smartTranslate":"SentenWord | スマート翻訳","contextMenu.translatePage":"SentenWord | ページ翻訳","contextMenu.restoreOriginal":"SentenWord | 原文に戻す","quickSearch.title":"クイック検索","quickSearch.dictionary":"辞書","quickSearch.ai":"AI","quickSearch.dictPlaceholder":"単語を検索...","quickSearch.aiPlaceholder":"単語や文を入力してAIに説明してもらう...","quickSearch.submit":"検索","quickSearch.hint":"Ctrl+Shift+F で起動 · Enter で検索 · Tab でモード切替 · Escape で閉じる","subtitle.loading":"字幕を読み込み中...","subtitle.ready":"字幕準備完了、音声の開始を待っています","subtitle.notDetected":"表示可能な字幕が検出されませんでした。再生を続けるか、別の動画をお試しください","floating.translate":"翻訳","word.viewInDict":"{{name}} で表示","word.unfavorite":"お気に入りから削除","speech.playOriginal":"原文を再生","speech.playTranslation":"訳文を再生","word.favorite":"お気に入りに追加","ai.favoritePhrase":"フレーズをお気に入りに追加","ai.collapse":"折りたたむ","ai.viewAll":"すべて表示 ({{count}})","ai.noResult":"翻訳結果がありません","ai.loading":"読み込み中...","common.expand":"すべて表示","common.collapseText":"折りたたむ","common.translating":"翻訳中...","update.action":"新しいバージョンが利用可能"},Eh={"options.header.subtitle":"SentenWord Preference Desk","options.header.title":"Options Studio","options.header.description":"번역 경험, 사전 표시 및 맞춤 AI 설정을 한곳에서 관리하세요. 시각, 상호작용 및 성능 설정을 여기서 구성합니다.","options.language.title":"언어 설정","options.language.description":"모국어와 학습 중인 대상 언어를 설정합니다.","options.language.native":"모국어","options.language.nativeDesc":"이 설정에 따라 인터페이스 언어가 자동으로 전환됩니다.","options.language.learning":"학습 대상 언어","options.language.learningDesc":"학습 중인 언어로, 번역 및 사전 기능에 사용됩니다.","options.account.title":"계정 및 연결","options.account.description":"로그인 상태와 확장 프로그램 연결을 관리합니다.","options.account.label":"계정","options.account.loading":"로그인 상태 확인 중","options.account.loggedIn":"로그인됨: ","options.account.notLoggedIn":"로그인되지 않음. 인증 페이지에서 로그인하세요.","options.account.logout":"로그아웃","options.account.login":"로그인","options.account.loggedOut":"로그아웃되었습니다","options.account.profile":"프로필","options.account.avatar":"아바타","options.account.name":"닉네임","options.account.namePlaceholder":"닉네임 입력","options.account.save":"저장","options.account.saving":"저장 중...","options.account.profileUpdated":"프로필이 업데이트되었습니다","options.account.profileUpdateFailed":"업데이트 실패, 다시 시도해 주세요","options.account.editProfile":"프로필 편집","options.account.cancel":"취소","options.usage.title":"사용량","options.usage.description":"AI Token 사용 현황","options.usage.monthly":"월간 할당량","options.usage.used":"사용됨","options.usage.limit":"한도","options.usage.resetAt":"초기화 시간","options.usage.tokens":"tokens","options.usage.loadFailed":"사용량 로드 실패","options.usage.loginRequired":"사용량을 보려면 로그인하세요","options.usage.upgradeToPro":"Pro로 업그레이드","options.usage.dailyBreakdown":"일별 내역","options.usage.dailyTitle":"이번 달 일별 사용량","options.usage.dailySubtitle":"막대 높이는 해당 일의 상대적 소비량을 나타냅니다 · 마우스를 올리면 월 총량 대비 비율을 확인할 수 있습니다","options.usage.monthTotal":"월 누계","options.usage.dailyEmpty":"내역 데이터를 불러올 수 없습니다","options.usage.dailyNote":"참고: 여기서 tokens는 본 시스템의 소비 단위이며 특정 모델의 token 수와는 다릅니다.","options.usage.dailyLoadFailed":"내역 로드 실패","paywall.title":"SentenWord Pro로 업그레이드","paywall.subtitle":"AI 할당량 9배, 끊김 없는 번역과 프리미엄 기능을 누리세요","paywall.feature.quota":"AI 토큰 할당량 9배 증가","paywall.feature.subtitles":"YouTube 이중 자막 무제한","paywall.feature.priority":"우선 액세스 및 전담 지원","paywall.plan.monthly":"월간","paywall.plan.quarterly":"분기","paywall.plan.halfYear":"6개월","paywall.plan.yearly":"연간","paywall.priceSuffix.month":"/월","paywall.priceTotal":"총 {{total}}","paywall.savings":"{{percent}}% 할인","paywall.recommended":"최고 가치","paywall.continueButton":"결제 진행","paywall.continueLoading":"이동 중...","paywall.close":"닫기","paywall.error.loginRequired":"업그레이드하려면 로그인이 필요합니다.","paywall.error.goLogin":"로그인","paywall.error.network":"결제 세션 생성에 실패했습니다. 나중에 다시 시도해 주세요.","paywall.confirm.title":"결제 완료를 기다리는 중","paywall.confirm.message":"새 탭에서 결제 페이지가 열렸습니다. Stripe에서 결제를 완료한 후 이곳으로 돌아와 아래 버튼을 클릭하세요.","paywall.confirm.completed":"결제를 완료했습니다","paywall.confirm.cancel":"취소","paywall.confirm.checking":"확인 중…","paywall.confirm.retry":"다시 시도","paywall.confirm.notYet":"아직 Pro 상태가 감지되지 않습니다. 방금 결제를 완료했다면 잠시 후 다시 시도해 주세요.","options.highlight.title":"외관","options.highlight.description":"하이라이트 스타일과 색상 설정을 관리합니다.","options.highlight.panelTitle":"하이라이트 스타일","options.highlight.panelDescription":"저장된 단어가 웹페이지에 표시되는 방식과 색상 시스템입니다.","options.card.themeTitle":"카드 테마","options.card.themeDescription":"사전 카드의 시각적 스타일을 전환합니다.","options.card.theme.warm":"따뜻한","options.card.theme.classic":"클래식","options.card.theme.fresh":"프레시","options.highlight.enable":"하이라이트 활성화","options.highlight.enableDesc":"비활성화하면 저장된 단어가 더 이상 웹페이지에 하이라이트되지 않습니다.","options.highlight.inlineAnnotation":"인라인 정의 표시","options.highlight.inlineAnnotationDesc":"하이라이트된 단어 옆에 품사와 정의를 표시합니다. 예: Reload(v.다시 로드).","options.highlight.trigger":"정의 패널 트리거","options.highlight.triggerDesc":"하이라이트 단어가 클릭, 호버 또는 동작 없음으로 정의 패널을 열지 선택합니다.","options.highlight.trigger.none":"동작 없음","options.highlight.styleSelect":"스타일 선택","options.highlight.colorSelect":"색상 선택","options.highlight.opacity":"하이라이트 투명도","options.highlight.opacityDesc":"페이지에서 하이라이트 색상이 보이는 투명도를 조정합니다.","options.highlight.style.none":"없음","options.highlight.style.background":"배경색","options.highlight.style.text":"텍스트 색상","options.highlight.style.underline":"밑줄","options.highlight.style.doubleUnderline":"이중 밑줄","options.highlight.style.wavy":"물결선","options.highlight.style.dotted":"점선","options.highlight.style.dashed":"파선","options.tagHighlight.panelTitle":"어휘 태그 하이라이트","options.tagHighlight.panelDescription":"사전 태그와 빈도 범위를 기반으로 웹페이지의 단어를 하이라이트합니다.","options.tagHighlight.enable":"태그 하이라이트 활성화","options.tagHighlight.enableDesc":"설정된 규칙에 맞는 단어를 자동으로 하이라이트합니다.","options.tagHighlight.addRule":"규칙 추가","options.tagHighlight.tag":"사전 태그","options.tagHighlight.frqRange":"빈도 범위","options.tagHighlight.frqMin":"최소","options.tagHighlight.frqMax":"최대","options.tagHighlight.noRules":"규칙이 없습니다. 위의 버튼을 클릭하여 추가하세요.","options.tagHighlight.deleteRule":"삭제","options.tagHighlight.style":"스타일","options.tagHighlight.color":"색상","options.tagHighlight.enabled":"활성화","options.translation.title":"번역 설정","options.translation.description":"사전 콘텐츠 표시와 플로팅 번역 버튼 설정을 관리합니다.","options.dictionary.title":"사전 콘텐츠","options.dictionary.description":"단어 카드에 표시되는 정의 수준과 예문을 제어합니다.","options.dictionary.showExamples":"예문 표시","options.dictionary.showExamplesDesc":"정의에 예문을 표시합니다.","options.dictionary.tabs.title":"사전 검색 설정","options.dictionary.tabs.description":"사전 카드의 각 검색 탭 표시 순서와 활성화 상태를 설정합니다. 모국어가 중국어이고 학습 언어가 영어인 경우에만 적용됩니다.","options.dictionary.tabs.ai":"AI 검색","options.dictionary.tabs.simple":"간이 사전","options.dictionary.tabs.dictionary":"전문 사전","options.dictionary.tabs.moveUp":"위로 이동","options.dictionary.tabs.moveDown":"아래로 이동","options.floating.title":"선택 번역","options.floating.description":"플로팅 버튼의 표시 방식, 크기, 색상, 투명도 및 스타일을 정의합니다.","options.floating.enable":"플로팅 버튼 활성화","options.floating.enableDesc":"텍스트 선택 후 번역 입구를 표시합니다.","options.floating.trigger":"트리거 모드","options.floating.triggerDesc":"클릭 또는 호버로 번역을 트리거합니다.","options.floating.trigger.click":"클릭","options.floating.trigger.hover":"호버","options.floating.size":"버튼 크기","options.floating.sizeDesc":"선호도에 맞게 크기를 조절하세요.","options.floating.size.xsmall":"아주 작게","options.floating.size.small":"작게","options.floating.size.medium":"중간","options.floating.size.large":"크게","options.floating.style":"버튼 스타일","options.floating.styleDesc":"아이콘, 점 또는 텍스트.","options.floating.style.icon":"아이콘","options.floating.style.dot":"점","options.floating.color":"버튼 색상","options.floating.colorDesc":"프리셋 또는 사용자 정의 색상을 선택하세요.","options.floating.opacity":"버튼 투명도","options.floating.opacityDesc":"페이지에서 플로팅 버튼이 보이는 투명도를 조정합니다.","options.hotkeys.title":"단축키","options.hotkeys.description":"포커스 해제 또는 Enter 키로 자동 저장됩니다.","options.companion.title":"iOS 앱","options.companion.description":"컬렉션을 주머니 속에 — 저장한 단어와 문장을 어디서든 복습하세요.","options.companion.platform":"for iPhone · iPad","options.companion.pitch":"저장해 둔 단어와 문장을 iPhone에서 바로 열어보세요.","options.companion.feat1":"저장한 단어와 문장을 언제든 다시 보기","options.companion.feat2":"간격 반복으로 기억 강화","options.companion.feat3":"엄선된 단어장으로 체계적으로 학습","options.companion.cta":"App Store에서 받기","options.speech.title":"음성 읽기","options.speech.description":"원문과 번역을 읽어줄 음성을 설정합니다.","options.speech.enable":"읽기 활성화","options.speech.enableDesc":"번역 카드에 스피커 버튼을 표시합니다.","options.speech.rate":"속도","options.speech.rateDesc":"0.5×에서 2.0×, 기본 1.0×.","options.speech.pitch":"음조","options.speech.pitchDesc":"0.5에서 1.5, 기본 1.0.","options.speech.voices":"음성 선택","options.speech.provider":"엔진","options.speech.providerDesc":"Edge는 Microsoft 신경망 음성(온라인, 더 좋은 음질). 시스템은 브라우저 내장 음성(오프라인).","options.speech.providerEdge":"Edge (고품질)","options.speech.providerWeb":"시스템","options.speech.edgeVoicesDesc":"Microsoft 신경망 음성에서 선택하세요. 실패 시 시스템 음성으로 대체됩니다.","options.speech.voicesDesc":"언어별로 선호하는 음성을 선택하세요. 클라우드 음성(☁)이 대체로 더 자연스럽습니다.","options.speech.auto":"자동 (최적)","options.speech.autoWithName":"자동 — {{name}}","options.speech.test":"미리듣기","options.speech.noVoices":"이 브라우저에서 음성을 찾을 수 없습니다. 시스템 음성 설정을 확인하세요.","options.hotkeys.quickSearch":"빠른 검색","options.hotkeys.quickSearchDesc":"빠른 검색 팝업을 엽니다.","options.hotkeys.paragraph":"단락 번역","options.hotkeys.paragraphDesc":"커서 아래의 단락을 번역합니다.","options.ai.title":"AI 번역","options.ai.description":"AI 번역 서비스를 선택하세요: 내장 서비스 또는 자체 API 키를 설정하세요.","options.ai.usingCustom":"맞춤 API","options.ai.usingBackend":"내장 AI","options.ai.providerLabel":"프로바이더: {{provider}}","options.ai.enable":"AI 서비스","options.ai.enableDesc":"활성화하면 구성된 프로바이더와 모델을 사용합니다.","options.ai.enableDescBackend":"SentenWord에서 제공하는 내장 AI 번역 서비스를 사용합니다.","options.ai.enableDescCustom":"자체 API 키와 모델을 사용합니다. 키는 로컬에만 저장됩니다.","options.ai.includeKeyPoints":"Key Points 반환","options.ai.includeKeyPointsDesc":"끄면 문장 번역은 번역문만 반환하고 Key Points는 반환하지 않습니다.","options.ai.provider":"프로바이더","options.ai.providerDesc":"AI 프로바이더를 선택하거나 Google / Microsoft 무료 번역, 맞춤 OpenAI 호환 API를 사용합니다.","options.ai.freeProviderNote":"무료 공개 엔드포인트 — API 키가 필요 없습니다. 단어 설명 등 AI 기능은 내장 백엔드로 대체됩니다.","options.ai.apiKey":"API 키","options.ai.apiKeyDesc":"포커스 해제 시 자동 저장.","options.ai.model":"모델","options.ai.openaiModelDesc":"기본 모델은 gpt-4o-mini입니다.","options.ai.openrouterModelDesc":"예: openai/gpt-4o-mini.","options.ai.deepseekModelDesc":"기본 모델은 deepseek-chat입니다.","options.ai.customBaseUrl":"API Base URL","options.ai.customBaseUrlDesc":"OpenAI 호환 API URL (Qwen, Zhipu, Moonshot 등).","options.ai.customModelDesc":"모델 이름 (qwen-turbo, glm-4 등).","options.ai.translatePrompt":"번역 프롬프트","options.ai.translatePromptDesc":"번역 시 AI에 전송하는 사용자 정의 프롬프트. AI가 자동으로 단어인지 단락인지 판단합니다.","options.ai.promptReset":"기본값으로 복원","options.ai.promptVariablesHint":"사용 가능한 변수: {{text}}, {{context}}, {{targetLanguage}}, {{#context}}...{{/context}}","options.metrics.highlight":"현재 하이라이트","options.metrics.customAI":"맞춤 AI","options.metrics.enabled":"활성화됨","options.metrics.disabled":"비활성화됨","options.metrics.account":"계정 상태","options.metrics.loading":"로딩 중","options.metrics.loggedIn":"로그인됨","options.metrics.notLoggedIn":"미로그인","options.metrics.syncHint":"로그인하여 클라우드 기능을 동기화하세요","options.metrics.syncingHint":"계정 정보 동기화 중","common.saving":"저장 중","common.saveFailed":"저장 실패. 다시 시도해 주세요","common.loading":"설정 로딩 중...","common.definitionGenerating":"정의를 생성 중입니다. 잠시 후 다시 시도해 주세요.","common.unknownError":"알 수 없는 오류","common.pageTranslateLoginRequired":"페이지 번역을 사용하려면 먼저 로그인해 주세요.","common.trialQuotaExceededLogin":"무료 체험 횟수를 모두 사용했습니다. 계속하려면 로그인해 주세요.","common.translationQuotaExceededUpgrade":"번역 한도를 모두 사용했습니다. 멤버십을 업그레이드하거나 잠시 후 다시 시도해 주세요.","common.rateLimitNotLoggedIn":"요청이 너무 많습니다. 더 많은 번역 한도를 받으려면 로그인해 주세요.","common.freeQuotaExceeded":"이번 달 사용 한도에 도달했습니다. {{resetTime}}에 초기화됩니다. Pro로 업그레이드하여 더 높은 한도를 받으세요","common.proQuotaExceeded":"이번 달 사용 한도에 도달했습니다. {{resetTime}}에 초기화됩니다","common.toast.loginRequiredTitle":"로그인이 필요합니다","common.toast.quotaInsufficientTitle":"할당량 부족","common.toast.translationErrorTitle":"번역 오류","common.toast.loginAction":"로그인","common.toast.laterAction":"나중에","common.toast.upgradeAction":"요금제 업그레이드","common.toast.closeAction":"닫기","common.sessionExpiredTitle":"로그인이 만료되었습니다","common.sessionExpiredDesc":"전체 기능을 계속 사용하려면 다시 로그인해 주세요.","common.sessionReloginAction":"다시 로그인","common.preview":"미리보기","common.unexpectedError":"예기치 않은 오류가 발생했습니다","footer.copyright":"SentenWord | 스마트 번역","color.amber":"앰버","color.green":"그린","color.blue":"블루","color.indigo":"인디고","color.coral":"코랄","color.orange":"오렌지","color.cyan":"시안","color.brown":"브라운","color.red":"레드","color.gold":"골드","color.magenta":"마젠타","color.darkGray":"다크 그레이","color.custom":"사용자 정의","color.customHighlight":"사용자 정의 하이라이트 색상","color.customButton":"사용자 정의 버튼 색상","welcome.subtitle":"SentenWord에 오신 것을 환영합니다. 기본 설정을 완료해 봅시다","welcome.nativeLanguage":"모국어","welcome.nativeLanguageDesc":"이 설정에 따라 인터페이스 언어가 자동으로 전환됩니다.","welcome.learningLanguage":"배우고 싶은 언어","welcome.learningLanguageDesc":"학습 중인 대상 언어를 선택하세요.","welcome.getStarted":"시작하기","welcome.account":"계정","welcome.accountDesc":"로그인하여 어휘와 학습 진도를 동기화하세요.","welcome.login":"로그인 / 가입","welcome.maybeLater":"나중에","welcome.loggedInAs":"로그인됨","welcome.next":"다음","welcome.back":"뒤로","popup.title":"SentenWord | 스마트 번역","popup.settings":"설정","popup.quickSearch":"빠른 검색","popup.stopTranslate":"번역 중지","popup.translatePage":"페이지 번역","popup.translationEnabled":"번역이 활성화되었습니다","popup.visitWebsite":"웹사이트 방문","popup.wordBook":"단어장","popup.login":"로그인","popup.loginDesc":"로그인하여 데이터 동기화","popup.screenshot":"스크린샷 인식","screenshot.hint":"드래그하여 영역 선택 · Esc로 취소","screenshot.processing":"인식 중…","screenshot.empty":"텍스트를 찾을 수 없습니다","screenshot.failed":"인식 실패","screenshot.loginRequired":"로그인 후 스크린샷 인식을 사용하세요","screenshot.quotaExceeded":"이번 달 사용량을 모두 사용했습니다. 잠시 후 다시 시도하거나 플랜을 업그레이드하세요.","screenshot.translation":"번역","screenshot.close":"닫기","screenshot.copy":"복사","screenshot.copied":"복사됨","card.title":"SentenWord | 스마트 번역","card.wordBook":"단어장","card.tabSimpleDictionary":"간이 사전","card.tabDictionary":"사전","card.tabAI":"AI 설명","card.detailedExplanation":"상세 설명","card.detailedExplanationLoading":"상세 설명 생성 중...","card.detailedExplanationRetry":"재시도","card.originalText":"원문","card.translationText":"번역","card.closeDetailedExplanation":"상세 설명 닫기","card.closeCard":"카드 닫기","card.settings":"설정","collection.title":"수집","collection.closeModal":"수집 창 닫기","collection.folder":"컬렉션","collection.loading":"로딩 중...","collection.defaultFolder":"기본 컬렉션","collection.loadingHint":"로딩 중…","collection.word":"단어 *","collection.wordPlaceholder":"단어를 입력하세요","collection.partOfSpeech":"품사","collection.partOfSpeechPlaceholder":"품사","collection.phonetic":"발음 기호","collection.phoneticPlaceholder":"예: /mɪˈlɛniə/","collection.meaning":"뜻","collection.meaningPlaceholder":"단어의 뜻","collection.context":"문맥 *","collection.contextPlaceholder":"전체 예문을 입력하세요","collection.contextTranslation":"문맥 번역","collection.contextTranslationPlaceholder":"문맥 문장의 번역을 입력하세요","collection.examples":"추가 예문","collection.examplesHint":"(선택, 줄당 하나)","collection.examplesPlaceholder":"추가 예문을 입력하세요, 줄당 하나","collection.saving":"저장 중...","collection.save":"저장","collection.saveSuccess":"저장되었습니다","collection.saveFailed":"저장 실패","collection.notLoggedIn":"로그인하지 않아 저장할 수 없습니다","collection.notLoggedInLoad":"로그인하지 않아 컬렉션을 불러올 수 없습니다","collection.loadFailed":"컬렉션 불러오기 실패","collection.wordRequired":"단어/구문을 입력해주세요","collection.contextTooLong":"문맥은 {{max}}자를 초과할 수 없습니다","youtube.machineTranslate":"기계 번역","youtube.aiTranslate":"AI 번역","youtube.subtitlePanel":"자막 패널","youtube.closePanel":"자막 패널 닫기","youtube.panelAriaLabel":"자막 패널 탭","youtube.tabSubtitles":"자막","youtube.tabSettings":"설정","youtube.downloadSrt":"이중 언어 SRT 다운로드","youtube.noSubtitles":"자막 없음","youtube.showBilingualSubtitle":"이중 언어 자막 표시","youtube.showBilingualSubtitleDesc":"동영상의 이중 언어 자막 오버레이를 전환합니다","youtube.enableSubtitleList":"자막 목록 활성화","youtube.enableSubtitleListDesc":"비활성화하면 자막 목록 패널이 숨겨집니다","youtube.autoScroll":"자동 스크롤","youtube.autoScrollDesc":"재생 중 현재 문장으로 자동 스크롤","youtube.noDownloadableSubtitle":"다운로드 가능한 자막이 없습니다","youtube.loadSecondaryFirst":"이중 언어 SRT를 다운로드하기 전에 보조 자막을 먼저 불러오세요","youtube.exportEmpty":"자막 내보내기 실패: 내용이 비어있습니다","youtube.downloadStarted":"이중 언어 SRT 다운로드가 시작되었습니다","youtube.downloadFailed":"이중 언어 SRT 다운로드 실패","youtube.subtitleTranslateFallbackFailed":"자막 번역에 실패했습니다. 잠시 후 다시 시도해 주세요","youtube.primaryLoadFailed":"주 자막 불러오기 실패","youtube.machineTranslateUnavailable":"기계 번역을 사용할 수 없어 AI 번역으로 전환했습니다","youtube.machineTranslateFailed":"기계 번역 가져오기 실패, AI 번역으로 전환했습니다","youtube.secondaryLoadFailed":"보조 자막 불러오기 실패","youtube.aiTranslateEnabled":"AI 주문형 번역이 활성화되었습니다","youtube.fetchingMachineTranslate":"기계 번역 자막을 가져오는 중...","youtube.subtitleContentEmpty":"자막 트랙은 찾았지만 표시할 수 있는 자막이 없습니다","youtube.noAvailableSubtitles":"이 동영상에는 사용 가능한 자막이 없습니다","youtube.trackLoadFailed":"자막 트랙 불러오기 실패","youtube.btnSubtitleOn":"SentenWord 이중 언어 자막 (켜짐)","youtube.btnSubtitleOff":"SentenWord 이중 언어 자막 (꺼짐)","youtube.btnPanelOn":"SentenWord 자막 패널 (열림)","youtube.btnPanelOff":"SentenWord 자막 패널 (닫힘)","youtube.btnSettings":"SentenWord 자막 설정","youtube.menuBilingualSubtitle":"이중 언어 자막","youtube.menuSidebar":"자막 사이드바","youtube.menuSettings":"설정","contextMenu.smartTranslate":"SentenWord | 스마트 번역","contextMenu.translatePage":"SentenWord | 페이지 번역","contextMenu.restoreOriginal":"SentenWord | 원문 복원","quickSearch.title":"빠른 검색","quickSearch.dictionary":"사전","quickSearch.ai":"AI","quickSearch.dictPlaceholder":"단어 검색...","quickSearch.aiPlaceholder":"단어나 문장을 입력하여 AI 설명을 받으세요...","quickSearch.submit":"검색","quickSearch.hint":"Ctrl+Shift+F 열기 · Enter 검색 · Tab 모드 전환 · Escape 닫기","subtitle.loading":"자막 로딩 중...","subtitle.ready":"자막 준비 완료, 음성 시작을 기다리는 중","subtitle.notDetected":"표시할 수 있는 자막이 감지되지 않았습니다. 재생을 계속하거나 다른 동영상을 시도해주세요","floating.translate":"번역","word.viewInDict":"{{name}}에서 보기","word.unfavorite":"즐겨찾기에서 제거","speech.playOriginal":"원문 재생","speech.playTranslation":"번역 재생","word.favorite":"즐겨찾기에 추가","ai.favoritePhrase":"구문을 즐겨찾기에 추가","ai.collapse":"접기","ai.viewAll":"모두 보기 ({{count}})","ai.noResult":"번역 결과 없음","ai.loading":"로딩 중...","common.expand":"모두 보기","common.collapseText":"접기","common.translating":"번역 중...","update.action":"새 버전 사용 가능"},wh={"options.header.subtitle":"SentenWord Preference Desk","options.header.title":"Options Studio","options.header.description":"Gérez votre expérience de traduction, l'affichage du dictionnaire et les paramètres d'IA personnalisés. Configurez vos préférences visuelles, d'interaction et de performance ici.","options.language.title":"Paramètres de langue","options.language.description":"Configurez votre langue maternelle et la langue cible que vous apprenez.","options.language.native":"Langue maternelle","options.language.nativeDesc":"La langue de l'interface changera automatiquement selon ce paramètre.","options.language.learning":"Langue cible d'apprentissage","options.language.learningDesc":"La langue que vous apprenez, utilisée pour la traduction et le dictionnaire.","options.account.title":"Compte et connexion","options.account.description":"Gérez l'état de connexion et le comportement de l'extension.","options.account.label":"Compte","options.account.loading":"Chargement de l'état de connexion","options.account.loggedIn":"Connecté : ","options.account.notLoggedIn":"Non connecté. Accédez à la page d'autorisation pour vous connecter.","options.account.logout":"Déconnexion","options.account.login":"Connexion","options.account.loggedOut":"Déconnecté","options.account.profile":"Profil","options.account.avatar":"Avatar","options.account.name":"Pseudo","options.account.namePlaceholder":"Entrez un pseudo","options.account.save":"Enregistrer","options.account.saving":"Enregistrement...","options.account.profileUpdated":"Profil mis à jour","options.account.profileUpdateFailed":"Échec de la mise à jour, veuillez réessayer","options.account.editProfile":"Modifier le profil","options.account.cancel":"Annuler","options.usage.title":"Utilisation","options.usage.description":"Utilisation des AI Tokens","options.usage.monthly":"Quota mensuel","options.usage.used":"Utilisé","options.usage.limit":"Limite","options.usage.resetAt":"Réinitialisation","options.usage.tokens":"tokens","options.usage.loadFailed":"Échec du chargement de l'utilisation","options.usage.loginRequired":"Connectez-vous pour voir l'utilisation","options.usage.upgradeToPro":"Passer à Pro","options.usage.dailyBreakdown":"Détail quotidien","options.usage.dailyTitle":"Utilisation quotidienne ce mois-ci","options.usage.dailySubtitle":"La hauteur des barres reflète la consommation relative du jour · Survolez pour voir la part du total mensuel","options.usage.monthTotal":"Total du mois","options.usage.dailyEmpty":"Impossible de charger le détail","options.usage.dailyNote":"Remarque : les tokens représentent l'unité de consommation du système, pas le nombre de tokens d'un modèle spécifique.","options.usage.dailyLoadFailed":"Échec du chargement du détail","paywall.title":"Passez à SentenWord Pro","paywall.subtitle":"Débloquez un quota IA 9× supérieur et profitez de traductions fluides et de fonctionnalités premium.","paywall.feature.quota":"Quota de tokens IA 9× plus élevé","paywall.feature.subtitles":"Sous-titres bilingues YouTube illimités","paywall.feature.priority":"Accès prioritaire et support dédié","paywall.plan.monthly":"Mensuel","paywall.plan.quarterly":"Trimestriel","paywall.plan.halfYear":"6 mois","paywall.plan.yearly":"Annuel","paywall.priceSuffix.month":"/mois","paywall.priceTotal":"Total {{total}}","paywall.savings":"−{{percent}}%","paywall.recommended":"Meilleure offre","paywall.continueButton":"Passer au paiement","paywall.continueLoading":"Redirection...","paywall.close":"Fermer","paywall.error.loginRequired":"Vous devez vous connecter avant de passer à Pro.","paywall.error.goLogin":"Se connecter","paywall.error.network":"Impossible de créer la session de paiement. Veuillez réessayer.","paywall.confirm.title":"En attente du paiement","paywall.confirm.message":"La page de paiement s'est ouverte dans un nouvel onglet. Finalisez le paiement sur Stripe, puis revenez ici et cliquez ci-dessous.","paywall.confirm.completed":"J'ai effectué le paiement","paywall.confirm.cancel":"Annuler","paywall.confirm.checking":"Vérification…","paywall.confirm.retry":"Réessayer","paywall.confirm.notYet":"Statut Pro non encore détecté. Si vous venez de payer, patientez un instant et réessayez.","options.highlight.title":"Apparence","options.highlight.description":"Gérer les styles et couleurs de surlignage.","options.highlight.panelTitle":"Style de surbrillance","options.highlight.panelDescription":"Apparence des mots sauvegardés sur les pages web et système de couleurs.","options.card.themeTitle":"Thème de carte","options.card.themeDescription":"Changer le style visuel de la carte dictionnaire.","options.card.theme.warm":"Chaleureux","options.card.theme.classic":"Classique","options.card.theme.fresh":"Frais","options.highlight.enable":"Activer la surbrillance","options.highlight.enableDesc":"Désactivé, les mots sauvegardés ne seront plus mis en surbrillance.","options.highlight.inlineAnnotation":"Afficher les définitions en ligne","options.highlight.inlineAnnotationDesc":"Affiche la nature et la définition à côté des mots surlignés, ex : Reload(v.recharger).","options.highlight.trigger":"Déclencheur du panneau","options.highlight.triggerDesc":"Choisissez si les mots surlignés ouvrent le panneau au clic, au survol ou pas du tout.","options.highlight.trigger.none":"Aucune action","options.highlight.styleSelect":"Sélection du style","options.highlight.colorSelect":"Sélection de couleur","options.highlight.opacity":"Opacité du surlignage","options.highlight.opacityDesc":"Ajustez la transparence de la couleur de surlignage sur les pages.","options.highlight.style.none":"Aucun","options.highlight.style.background":"Arrière-plan","options.highlight.style.text":"Couleur du texte","options.highlight.style.underline":"Souligné","options.highlight.style.doubleUnderline":"Double souligné","options.highlight.style.wavy":"Ondulé","options.highlight.style.dotted":"Pointillé","options.highlight.style.dashed":"Tirets","options.tagHighlight.panelTitle":"Surbrillance par étiquette","options.tagHighlight.panelDescription":"Mettre en surbrillance les mots sur les pages web selon les étiquettes et plages de fréquence.","options.tagHighlight.enable":"Activer la surbrillance par étiquette","options.tagHighlight.enableDesc":"Met automatiquement en surbrillance les mots correspondant aux règles configurées.","options.tagHighlight.addRule":"Ajouter une règle","options.tagHighlight.tag":"Étiquette","options.tagHighlight.frqRange":"Plage de fréquence","options.tagHighlight.frqMin":"Min","options.tagHighlight.frqMax":"Max","options.tagHighlight.noRules":"Aucune règle. Cliquez sur le bouton ci-dessus pour en ajouter.","options.tagHighlight.deleteRule":"Supprimer","options.tagHighlight.style":"Style","options.tagHighlight.color":"Couleur","options.tagHighlight.enabled":"Activé","options.translation.title":"Traduction","options.translation.description":"Gérer l'affichage du dictionnaire et les paramètres du bouton de traduction flottant.","options.dictionary.title":"Contenu du dictionnaire","options.dictionary.description":"Contrôlez les niveaux de définition et les exemples affichés sur les cartes de mots.","options.dictionary.showExamples":"Afficher les exemples","options.dictionary.showExamplesDesc":"Afficher des phrases d'exemple dans les définitions.","options.dictionary.tabs.title":"Paramètres de recherche","options.dictionary.tabs.description":"Configurez l'ordre d'affichage et l'état d'activation des onglets de recherche. Effectif uniquement lorsque la langue maternelle est le chinois et la langue d'apprentissage est l'anglais.","options.dictionary.tabs.ai":"Recherche IA","options.dictionary.tabs.simple":"Dict. rapide","options.dictionary.tabs.dictionary":"Dict. professionnel","options.dictionary.tabs.moveUp":"Monter","options.dictionary.tabs.moveDown":"Descendre","options.floating.title":"Traduction de sélection","options.floating.description":"Définissez l'apparence, la taille, la couleur, l'opacité et le style du bouton flottant.","options.floating.enable":"Activer le bouton flottant","options.floating.enableDesc":"Afficher l'entrée de traduction après sélection de texte.","options.floating.trigger":"Mode de déclenchement","options.floating.triggerDesc":"Clic ou survol pour déclencher la traduction.","options.floating.trigger.click":"Clic","options.floating.trigger.hover":"Survol","options.floating.size":"Taille du bouton","options.floating.sizeDesc":"Ajustez la taille selon vos préférences.","options.floating.size.xsmall":"Très petit","options.floating.size.small":"Petit","options.floating.size.medium":"Moyen","options.floating.size.large":"Grand","options.floating.style":"Style du bouton","options.floating.styleDesc":"Icône, point ou texte.","options.floating.style.icon":"Icône","options.floating.style.dot":"Point","options.floating.color":"Couleur du bouton","options.floating.colorDesc":"Choisissez un préréglage ou une couleur personnalisée.","options.floating.opacity":"Opacité du bouton","options.floating.opacityDesc":"Ajustez la transparence du bouton flottant sur les pages.","options.hotkeys.title":"Raccourcis clavier","options.hotkeys.description":"Sauvegarde automatique lors de la perte de focus ou avec Entrée.","options.companion.title":"Application iOS","options.companion.description":"Votre collection dans la poche — révisez vos mots et phrases enregistrés où que vous soyez.","options.companion.platform":"pour iPhone · iPad","options.companion.pitch":"Retrouvez chaque mot et chaque phrase que vous avez sauvegardés, directement sur votre iPhone.","options.companion.feat1":"Retrouvez à tout moment vos mots et phrases enregistrés","options.companion.feat2":"Consolidez votre mémoire avec la répétition espacée","options.companion.feat3":"Découvrez des recueils de vocabulaire pour un apprentissage structuré","options.companion.cta":"Télécharger sur l'App Store","options.speech.title":"Synthèse vocale","options.speech.description":"Configurez la voix utilisée pour lire le texte original et la traduction.","options.speech.enable":"Activer la lecture","options.speech.enableDesc":"Afficher les boutons de lecture sur la carte de traduction.","options.speech.rate":"Vitesse","options.speech.rateDesc":"0,5× à 2,0×, par défaut 1,0×.","options.speech.pitch":"Hauteur","options.speech.pitchDesc":"0,5 à 1,5, par défaut 1,0.","options.speech.voices":"Voix","options.speech.provider":"Moteur","options.speech.providerDesc":"Edge utilise les voix neuronales Microsoft (en ligne, meilleure qualité). Système utilise les voix du navigateur (hors ligne).","options.speech.providerEdge":"Edge (haute qualité)","options.speech.providerWeb":"Système","options.speech.edgeVoicesDesc":"Choisissez une voix neuronale Microsoft. Repli automatique vers la voix système en cas d'échec.","options.speech.voicesDesc":"Choisissez une voix par langue. Les voix cloud (☁) sonnent généralement mieux.","options.speech.auto":"Auto (meilleure)","options.speech.autoWithName":"Auto — {{name}}","options.speech.test":"Tester","options.speech.noVoices":"Aucune voix détectée dans ce navigateur. Vérifiez les paramètres vocaux du système.","options.hotkeys.quickSearch":"Recherche rapide","options.hotkeys.quickSearchDesc":"Ouvrir la fenêtre de recherche rapide.","options.hotkeys.paragraph":"Traduction de paragraphe","options.hotkeys.paragraphDesc":"Traduire le paragraphe sous le curseur.","options.ai.title":"Traduction IA","options.ai.description":"Choisissez votre service de traduction IA : service intégré ou configurez votre propre clé API.","options.ai.usingCustom":"API personnalisée","options.ai.usingBackend":"IA intégrée","options.ai.providerLabel":"Fournisseur : {{provider}}","options.ai.enable":"Service IA","options.ai.enableDesc":"Activé, utilise votre fournisseur et modèle configurés.","options.ai.enableDescBackend":"Utiliser le service de traduction IA intégré fourni par SentenWord.","options.ai.enableDescCustom":"Utiliser votre propre clé API et modèle. Les clés sont stockées localement uniquement.","options.ai.includeKeyPoints":"Renvoyer les Key Points","options.ai.includeKeyPointsDesc":"Désactivé : la traduction de phrase renvoie uniquement le texte traduit, sans Key Points.","options.ai.provider":"Fournisseur","options.ai.providerDesc":"Choisissez un fournisseur IA, Google / Microsoft gratuit, ou une API compatible OpenAI.","options.ai.freeProviderNote":"Point d'accès public gratuit — aucune clé API requise. Les explications de mots utilisent le backend intégré.","options.ai.apiKey":"Clé API","options.ai.apiKeyDesc":"Sauvegarde auto à la perte de focus.","options.ai.model":"Modèle","options.ai.openaiModelDesc":"Modèle par défaut : gpt-4o-mini.","options.ai.openrouterModelDesc":"Exemple : openai/gpt-4o-mini.","options.ai.deepseekModelDesc":"Modèle par défaut : deepseek-chat.","options.ai.customBaseUrl":"URL de base API","options.ai.customBaseUrlDesc":"URL d'API compatible OpenAI (Qwen, Zhipu, Moonshot, etc.).","options.ai.customModelDesc":"Nom du modèle (qwen-turbo, glm-4, etc.).","options.ai.translatePrompt":"Prompt de traduction","options.ai.translatePromptDesc":"Prompt personnalisé envoyé à l'IA pour la traduction. L'IA détermine automatiquement s'il s'agit d'un mot ou d'un passage.","options.ai.promptReset":"Réinitialiser par défaut","options.ai.promptVariablesHint":"Variables disponibles : {{text}}, {{context}}, {{targetLanguage}}, {{#context}}...{{/context}}","options.metrics.highlight":"Surbrillance actuelle","options.metrics.customAI":"IA personnalisée","options.metrics.enabled":"Activé","options.metrics.disabled":"Désactivé","options.metrics.account":"État du compte","options.metrics.loading":"Chargement","options.metrics.loggedIn":"Connecté","options.metrics.notLoggedIn":"Non connecté","options.metrics.syncHint":"Connectez-vous pour synchroniser les fonctionnalités cloud","options.metrics.syncingHint":"Synchronisation des informations du compte","common.saving":"Enregistrement","common.saveFailed":"Échec de l'enregistrement, veuillez réessayer","common.loading":"Chargement des paramètres...","common.definitionGenerating":"La définition est en cours de génération. Veuillez réessayer dans un instant.","common.unknownError":"Erreur inconnue","common.pageTranslateLoginRequired":"Veuillez vous connecter pour utiliser la traduction de page.","common.trialQuotaExceededLogin":"Les essais gratuits sont épuisés. Veuillez vous connecter pour continuer.","common.translationQuotaExceededUpgrade":"Le quota de traduction est épuisé. Veuillez passer à une offre supérieure ou réessayer plus tard.","common.rateLimitNotLoggedIn":"Trop de requêtes. Veuillez vous connecter pour obtenir plus de quota de traduction.","common.freeQuotaExceeded":"Limite d'utilisation mensuelle atteinte, réinitialisation le {{resetTime}}. Passez à Pro pour des limites plus élevées","common.proQuotaExceeded":"Limite d'utilisation mensuelle atteinte, réinitialisation le {{resetTime}}","common.toast.loginRequiredTitle":"Connexion requise","common.toast.quotaInsufficientTitle":"Quota insuffisant","common.toast.translationErrorTitle":"Erreur de traduction","common.toast.loginAction":"Se connecter","common.toast.laterAction":"Plus tard","common.toast.upgradeAction":"Mettre à niveau","common.toast.closeAction":"Fermer","common.sessionExpiredTitle":"Session expirée","common.sessionExpiredDesc":"Veuillez vous reconnecter pour continuer à utiliser toutes les fonctionnalités.","common.sessionReloginAction":"Se reconnecter","common.preview":"Aperçu","common.unexpectedError":"Une erreur inattendue s'est produite","footer.copyright":"SentenWord | Traduction intelligente","color.amber":"Ambre","color.green":"Vert","color.blue":"Bleu","color.indigo":"Indigo","color.coral":"Corail","color.orange":"Orange","color.cyan":"Cyan","color.brown":"Marron","color.red":"Rouge","color.gold":"Or","color.magenta":"Magenta","color.darkGray":"Gris foncé","color.custom":"Personnalisé","color.customHighlight":"Couleur de surbrillance personnalisée","color.customButton":"Couleur de bouton personnalisée","welcome.subtitle":"Bienvenue sur SentenWord, configurons les paramètres de base","welcome.nativeLanguage":"Votre langue maternelle","welcome.nativeLanguageDesc":"La langue de l'interface changera automatiquement selon ce paramètre.","welcome.learningLanguage":"Langue que vous souhaitez apprendre","welcome.learningLanguageDesc":"Sélectionnez la langue cible que vous apprenez.","welcome.getStarted":"Commencer","welcome.account":"Compte","welcome.accountDesc":"Connectez-vous pour synchroniser votre vocabulaire et vos progrès.","welcome.login":"Connexion / Inscription","welcome.maybeLater":"Plus tard","welcome.loggedInAs":"Connecté","welcome.next":"Suivant","welcome.back":"Retour","popup.title":"SentenWord | Traduction Intelligente","popup.settings":"Paramètres","popup.quickSearch":"Recherche rapide","popup.stopTranslate":"Arrêter la traduction","popup.translatePage":"Traduire la page","popup.translationEnabled":"Traduction activée","popup.visitWebsite":"Visiter le site","popup.wordBook":"Carnet de mots","popup.login":"Connexion","popup.loginDesc":"Connectez-vous pour synchroniser","popup.screenshot":"OCR de capture d'écran","screenshot.hint":"Glissez pour sélectionner une zone · Esc pour annuler","screenshot.processing":"Reconnaissance…","screenshot.empty":"Aucun texte détecté","screenshot.failed":"Échec de la reconnaissance","screenshot.loginRequired":"Connectez-vous pour utiliser l'OCR","screenshot.quotaExceeded":"Quota mensuel atteint. Réessayez plus tard ou passez à un forfait supérieur.","screenshot.translation":"Traduction","screenshot.close":"Fermer","screenshot.copy":"Copier","screenshot.copied":"Copié","card.title":"SentenWord | Traduction Intelligente","card.wordBook":"Carnet de mots","card.tabSimpleDictionary":"Dict. rapide","card.tabDictionary":"Dictionnaire","card.tabAI":"Explication IA","card.detailedExplanation":"Explication détaillée","card.detailedExplanationLoading":"Génération de l'explication...","card.detailedExplanationRetry":"Réessayer","card.originalText":"Texte original","card.translationText":"Traduction","card.closeDetailedExplanation":"Fermer l'explication détaillée","card.closeCard":"Fermer la carte","card.settings":"Paramètres","collection.title":"Collecter","collection.closeModal":"Fermer la fenêtre de collection","collection.folder":"Collection","collection.loading":"Chargement...","collection.defaultFolder":"Collection par défaut","collection.loadingHint":"Chargement…","collection.word":"Mot *","collection.wordPlaceholder":"Saisir un mot","collection.partOfSpeech":"Nature","collection.partOfSpeechPlaceholder":"Nature grammaticale","collection.phonetic":"Phonétique","collection.phoneticPlaceholder":"ex. /mɪˈlɛniə/","collection.meaning":"Définition","collection.meaningPlaceholder":"Définition du mot","collection.context":"Contexte *","collection.contextPlaceholder":"Saisir la phrase complète","collection.contextTranslation":"Traduction du contexte","collection.contextTranslationPlaceholder":"Traduction de la phrase de contexte","collection.examples":"Exemples supplémentaires","collection.examplesHint":"(facultatif, un par ligne)","collection.examplesPlaceholder":"Saisir des exemples supplémentaires, un par ligne","collection.saving":"Enregistrement...","collection.save":"Enregistrer","collection.saveSuccess":"Enregistré avec succès","collection.saveFailed":"Échec de l'enregistrement","collection.notLoggedIn":"Non connecté, impossible d'enregistrer","collection.notLoggedInLoad":"Non connecté, impossible de charger les collections","collection.loadFailed":"Échec du chargement des collections","collection.wordRequired":"Veuillez saisir un mot/phrase","collection.contextTooLong":"Le contexte ne peut pas dépasser {{max}} caractères","youtube.machineTranslate":"Traduction automatique","youtube.aiTranslate":"Traduction IA","youtube.subtitlePanel":"Panneau de sous-titres","youtube.closePanel":"Fermer le panneau de sous-titres","youtube.panelAriaLabel":"Onglets du panneau de sous-titres","youtube.tabSubtitles":"Sous-titres","youtube.tabSettings":"Paramètres","youtube.downloadSrt":"Télécharger SRT bilingue","youtube.noSubtitles":"Aucun sous-titre","youtube.showBilingualSubtitle":"Afficher les sous-titres bilingues","youtube.showBilingualSubtitleDesc":"Activer/désactiver la superposition de sous-titres bilingues","youtube.enableSubtitleList":"Activer la liste des sous-titres","youtube.enableSubtitleListDesc":"Lorsque désactivé, le panneau de sous-titres sera masqué","youtube.autoScroll":"Défilement automatique","youtube.autoScrollDesc":"Défiler automatiquement vers la phrase en cours pendant la lecture","youtube.noDownloadableSubtitle":"Aucun sous-titre téléchargeable","youtube.loadSecondaryFirst":"Veuillez charger les sous-titres secondaires avant de télécharger le SRT bilingue","youtube.exportEmpty":"Échec de l'export : contenu vide","youtube.downloadStarted":"Téléchargement du SRT bilingue commencé","youtube.downloadFailed":"Échec du téléchargement du SRT bilingue","youtube.subtitleTranslateFallbackFailed":"Échec de la traduction des sous-titres, veuillez réessayer plus tard","youtube.primaryLoadFailed":"Échec du chargement des sous-titres principaux","youtube.machineTranslateUnavailable":"Traduction automatique indisponible, basculé vers la traduction IA","youtube.machineTranslateFailed":"Échec de la traduction automatique, basculé vers la traduction IA","youtube.secondaryLoadFailed":"Échec du chargement des sous-titres secondaires","youtube.aiTranslateEnabled":"Traduction IA à la demande activée","youtube.fetchingMachineTranslate":"Récupération des sous-titres traduits automatiquement...","youtube.subtitleContentEmpty":"Une piste de sous-titres a été trouvée, mais aucun sous-titre affichable n'est disponible","youtube.noAvailableSubtitles":"Aucun sous-titre disponible pour cette vidéo","youtube.trackLoadFailed":"Échec du chargement des pistes de sous-titres","youtube.btnSubtitleOn":"SentenWord Sous-titres bilingues (Activé)","youtube.btnSubtitleOff":"SentenWord Sous-titres bilingues (Désactivé)","youtube.btnPanelOn":"SentenWord Panneau de sous-titres (Ouvert)","youtube.btnPanelOff":"SentenWord Panneau de sous-titres (Fermé)","youtube.btnSettings":"SentenWord Paramètres de sous-titres","youtube.menuBilingualSubtitle":"Sous-titres bilingues","youtube.menuSidebar":"Barre latérale des sous-titres","youtube.menuSettings":"Paramètres","contextMenu.smartTranslate":"SentenWord | Traduction Intelligente","contextMenu.translatePage":"SentenWord | Traduire la page","contextMenu.restoreOriginal":"SentenWord | Restaurer l'original","quickSearch.title":"Recherche rapide","quickSearch.dictionary":"Dictionnaire","quickSearch.ai":"IA","quickSearch.dictPlaceholder":"Rechercher un mot...","quickSearch.aiPlaceholder":"Saisir un mot ou une phrase pour une explication IA...","quickSearch.submit":"Rechercher","quickSearch.hint":"Ctrl+Shift+F pour ouvrir · Entrée pour rechercher · Tab pour changer de mode · Échap pour fermer","subtitle.loading":"Chargement des sous-titres...","subtitle.ready":"Sous-titres prêts, en attente du début de la parole","subtitle.notDetected":"Aucun sous-titre affichable détecté, continuez la lecture ou essayez une autre vidéo","floating.translate":"Traduire","word.viewInDict":"Voir dans {{name}}","word.unfavorite":"Retirer des favoris","speech.playOriginal":"Lire le texte original","speech.playTranslation":"Lire la traduction","word.favorite":"Ajouter aux favoris","ai.favoritePhrase":"Ajouter la phrase aux favoris","ai.collapse":"Réduire","ai.viewAll":"Voir tout ({{count}})","ai.noResult":"Aucun résultat de traduction","ai.loading":"Chargement...","common.expand":"Voir tout","common.collapseText":"Réduire","common.translating":"Traduction en cours...","update.action":"Nouvelle version disponible"},xh={"options.header.subtitle":"SentenWord Preference Desk","options.header.title":"Options Studio","options.header.description":"Verwalten Sie Ihre Übersetzungserfahrung, Wörterbuchanzeige und benutzerdefinierte KI-Einstellungen. Konfigurieren Sie hier visuelle, Interaktions- und Leistungseinstellungen.","options.language.title":"Spracheinstellungen","options.language.description":"Konfigurieren Sie Ihre Muttersprache und die Zielsprache, die Sie lernen.","options.language.native":"Muttersprache","options.language.nativeDesc":"Die Oberflächensprache wird automatisch basierend auf dieser Einstellung umgeschaltet.","options.language.learning":"Lern-Zielsprache","options.language.learningDesc":"Die Sprache, die Sie lernen, wird für Übersetzungs- und Wörterbuchfunktionen verwendet.","options.account.title":"Konto und Verbindung","options.account.description":"Verwalten Sie den Anmeldestatus und das Verbindungsverhalten der Erweiterung.","options.account.label":"Konto","options.account.loading":"Anmeldestatus wird geladen","options.account.loggedIn":"Angemeldet: ","options.account.notLoggedIn":"Nicht angemeldet. Gehen Sie zur Autorisierungsseite, um sich anzumelden.","options.account.logout":"Abmelden","options.account.login":"Anmelden","options.account.loggedOut":"Abgemeldet","options.account.profile":"Profil","options.account.avatar":"Avatar","options.account.name":"Anzeigename","options.account.namePlaceholder":"Anzeigename eingeben","options.account.save":"Speichern","options.account.saving":"Speichern...","options.account.profileUpdated":"Profil aktualisiert","options.account.profileUpdateFailed":"Aktualisierung fehlgeschlagen, bitte erneut versuchen","options.account.editProfile":"Profil bearbeiten","options.account.cancel":"Abbrechen","options.usage.title":"Nutzung","options.usage.description":"AI-Token-Nutzung","options.usage.monthly":"Monatskontingent","options.usage.used":"Verwendet","options.usage.limit":"Limit","options.usage.resetAt":"Zurücksetzen","options.usage.tokens":"Tokens","options.usage.loadFailed":"Nutzung konnte nicht geladen werden","options.usage.loginRequired":"Melden Sie sich an, um die Nutzung anzuzeigen","options.usage.upgradeToPro":"Auf Pro upgraden","options.usage.dailyBreakdown":"Tagesübersicht","options.usage.dailyTitle":"Tägliche Nutzung in diesem Monat","options.usage.dailySubtitle":"Balkenhöhe zeigt den relativen täglichen Verbrauch · Bewegen Sie den Mauszeiger, um den Anteil am Monatstotal zu sehen","options.usage.monthTotal":"Monatssumme","options.usage.dailyEmpty":"Detaildaten können nicht geladen werden","options.usage.dailyNote":"Hinweis: Tokens stehen hier für die Verbrauchseinheit dieses Systems, nicht für die Tokenanzahl eines bestimmten Modells.","options.usage.dailyLoadFailed":"Detail konnte nicht geladen werden","paywall.title":"Upgrade auf SentenWord Pro","paywall.subtitle":"9× mehr KI-Kontingent und nahtlose Übersetzungen mit Premium-Funktionen.","paywall.feature.quota":"9× höheres KI-Token-Kontingent","paywall.feature.subtitles":"Unbegrenzte zweisprachige YouTube-Untertitel","paywall.feature.priority":"Vorrangiger Zugang und dedizierter Support","paywall.plan.monthly":"Monatlich","paywall.plan.quarterly":"Quartalsweise","paywall.plan.halfYear":"6 Monate","paywall.plan.yearly":"Jährlich","paywall.priceSuffix.month":"/Mon.","paywall.priceTotal":"{{total}} gesamt","paywall.savings":"{{percent}}% sparen","paywall.recommended":"Bestes Angebot","paywall.continueButton":"Zur Kasse","paywall.continueLoading":"Weiterleitung...","paywall.close":"Schließen","paywall.error.loginRequired":"Sie müssen sich anmelden, bevor Sie upgraden können.","paywall.error.goLogin":"Anmelden","paywall.error.network":"Zahlungssitzung konnte nicht erstellt werden. Bitte erneut versuchen.","paywall.confirm.title":"Warte auf Zahlung","paywall.confirm.message":"Die Zahlungsseite wurde in einem neuen Tab geöffnet. Schließe die Zahlung bei Stripe ab und klicke dann hier unten.","paywall.confirm.completed":"Zahlung abgeschlossen","paywall.confirm.cancel":"Abbrechen","paywall.confirm.checking":"Überprüfung…","paywall.confirm.retry":"Erneut versuchen","paywall.confirm.notYet":"Pro-Status noch nicht erkannt. Wenn du gerade bezahlt hast, warte kurz und versuche es erneut.","options.highlight.title":"Erscheinungsbild","options.highlight.description":"Hervorhebungsstile und Farbeinstellungen verwalten.","options.highlight.panelTitle":"Hervorhebungsstil","options.highlight.panelDescription":"Wie gespeicherte Wörter auf Webseiten erscheinen und das Farbsystem.","options.card.themeTitle":"Kartenthema","options.card.themeDescription":"Visuellen Stil der Wörterbuchkarte wechseln.","options.card.theme.warm":"Warm","options.card.theme.classic":"Klassisch","options.card.theme.fresh":"Frisch","options.highlight.enable":"Hervorhebung aktivieren","options.highlight.enableDesc":"Bei Deaktivierung werden gespeicherte Wörter nicht mehr hervorgehoben.","options.highlight.inlineAnnotation":"Inline-Definitionen anzeigen","options.highlight.inlineAnnotationDesc":"Zeigt Wortart und Definition neben hervorgehobenen Wörtern an, z.B. Reload(v.neu laden).","options.highlight.trigger":"Definitionsfenster-Auslöser","options.highlight.triggerDesc":"Wählen Sie, ob hervorgehobene Wörter das Fenster per Klick, Hover oder gar nicht öffnen.","options.highlight.trigger.none":"Keine Aktion","options.highlight.styleSelect":"Stilauswahl","options.highlight.colorSelect":"Farbauswahl","options.highlight.opacity":"Hervorhebungsdeckkraft","options.highlight.opacityDesc":"Passen Sie die Transparenz der Hervorhebungsfarbe auf Seiten an.","options.highlight.style.none":"Keine","options.highlight.style.background":"Hintergrund","options.highlight.style.text":"Textfarbe","options.highlight.style.underline":"Unterstrichen","options.highlight.style.doubleUnderline":"Doppelt unterstrichen","options.highlight.style.wavy":"Wellig","options.highlight.style.dotted":"Gepunktet","options.highlight.style.dashed":"Gestrichelt","options.tagHighlight.panelTitle":"Vokabel-Tag-Hervorhebung","options.tagHighlight.panelDescription":"Wörter auf Webseiten anhand von Wörterbuch-Tags und Häufigkeitsbereichen hervorheben.","options.tagHighlight.enable":"Tag-Hervorhebung aktivieren","options.tagHighlight.enableDesc":"Wörter, die den konfigurierten Regeln entsprechen, automatisch hervorheben.","options.tagHighlight.addRule":"Regel hinzufügen","options.tagHighlight.tag":"Wörterbuch-Tag","options.tagHighlight.frqRange":"Häufigkeitsbereich","options.tagHighlight.frqMin":"Min","options.tagHighlight.frqMax":"Max","options.tagHighlight.noRules":"Keine Regeln. Klicken Sie oben, um eine hinzuzufügen.","options.tagHighlight.deleteRule":"Löschen","options.tagHighlight.style":"Stil","options.tagHighlight.color":"Farbe","options.tagHighlight.enabled":"Aktiviert","options.translation.title":"Übersetzung","options.translation.description":"Wörterbuchinhalte und Einstellungen der schwebenden Übersetzungsschaltfläche verwalten.","options.dictionary.title":"Wörterbuchinhalt","options.dictionary.description":"Steuern Sie die Definitionsebenen und Beispielinhalte auf Wortkarten.","options.dictionary.showExamples":"Beispiele anzeigen","options.dictionary.showExamplesDesc":"Beispielsätze in Definitionen anzeigen.","options.dictionary.tabs.title":"Wörterbuch-Sucheinstellungen","options.dictionary.tabs.description":"Konfigurieren Sie die Anzeigereihenfolge und den Aktivierungsstatus der Wörterbuch-Such-Tabs. Nur wirksam, wenn die Muttersprache Chinesisch und die Lernsprache Englisch ist.","options.dictionary.tabs.ai":"KI-Suche","options.dictionary.tabs.simple":"Kurzwörterbuch","options.dictionary.tabs.dictionary":"Fachwörterbuch","options.dictionary.tabs.moveUp":"Nach oben","options.dictionary.tabs.moveDown":"Nach unten","options.floating.title":"Auswahlübersetzung","options.floating.description":"Definieren Sie Erscheinungsbild, Größe, Farbe, Deckkraft und Stil des schwebenden Buttons.","options.floating.enable":"Schwebenden Button aktivieren","options.floating.enableDesc":"Übersetzungseintrag nach Textauswahl anzeigen.","options.floating.trigger":"Auslösemodus","options.floating.triggerDesc":"Klick oder Hover zum Auslösen der Übersetzung.","options.floating.trigger.click":"Klick","options.floating.trigger.hover":"Hover","options.floating.size":"Buttongröße","options.floating.sizeDesc":"Passen Sie die Größe nach Ihren Vorlieben an.","options.floating.size.xsmall":"Sehr klein","options.floating.size.small":"Klein","options.floating.size.medium":"Mittel","options.floating.size.large":"Groß","options.floating.style":"Buttonstil","options.floating.styleDesc":"Symbol, Punkt oder Text.","options.floating.style.icon":"Symbol","options.floating.style.dot":"Punkt","options.floating.color":"Buttonfarbe","options.floating.colorDesc":"Voreinstellung oder benutzerdefinierte Farbe wählen.","options.floating.opacity":"Button-Deckkraft","options.floating.opacityDesc":"Passen Sie an, wie transparent der schwebende Button auf Seiten erscheint.","options.hotkeys.title":"Tastaturkürzel","options.hotkeys.description":"Automatisches Speichern bei Fokusverlust oder Enter.","options.companion.title":"iOS-App","options.companion.description":"Deine Sammlung für unterwegs — gespeicherte Wörter und Sätze jederzeit wiederholen.","options.companion.platform":"für iPhone · iPad","options.companion.pitch":"Öffne jedes gespeicherte Wort und jeden Satz direkt auf deinem iPhone.","options.companion.feat1":"Gespeicherte Wörter und Sätze jederzeit nachlesen","options.companion.feat2":"Erinnerung mit verteilter Wiederholung festigen","options.companion.feat3":"Kuratierte Wortlisten für systematisches Lernen entdecken","options.companion.cta":"Im App Store laden","options.speech.title":"Sprachausgabe","options.speech.description":"Konfigurieren Sie die Stimme zum Vorlesen von Original und Übersetzung.","options.speech.enable":"Sprachausgabe aktivieren","options.speech.enableDesc":"Lautsprecher-Schaltflächen auf der Übersetzungskarte anzeigen.","options.speech.rate":"Geschwindigkeit","options.speech.rateDesc":"0,5× bis 2,0×, Standard 1,0×.","options.speech.pitch":"Tonhöhe","options.speech.pitchDesc":"0,5 bis 1,5, Standard 1,0.","options.speech.voices":"Stimmen","options.speech.provider":"Modul","options.speech.providerDesc":"Edge nutzt Microsoft-Neural-Stimmen (online, bessere Qualität). System nutzt Browser-Stimmen (offline).","options.speech.providerEdge":"Edge (hohe Qualität)","options.speech.providerWeb":"System","options.speech.edgeVoicesDesc":"Wähle eine Microsoft-Neural-Stimme. Bei Fehlern wird auf die Systemstimme zurückgegriffen.","options.speech.voicesDesc":"Bevorzugte Stimme je Sprache wählen. Cloud-Stimmen (☁) klingen meist besser.","options.speech.auto":"Auto (beste)","options.speech.autoWithName":"Auto — {{name}}","options.speech.test":"Testen","options.speech.noVoices":"Keine Stimmen in diesem Browser gefunden. Bitte Systemeinstellungen prüfen.","options.hotkeys.quickSearch":"Schnellsuche","options.hotkeys.quickSearchDesc":"Schnellsuche-Popup öffnen.","options.hotkeys.paragraph":"Absatzübersetzung","options.hotkeys.paragraphDesc":"Absatz unter dem Cursor übersetzen.","options.ai.title":"KI-Übersetzung","options.ai.description":"Wählen Sie Ihren KI-Übersetzungsdienst: integrierten Dienst oder eigenen API-Schlüssel konfigurieren.","options.ai.usingCustom":"Benutzerdefinierte API","options.ai.usingBackend":"Integrierte KI","options.ai.providerLabel":"Anbieter: {{provider}}","options.ai.enable":"KI-Dienst","options.ai.enableDesc":"Bei Aktivierung wird Ihr konfigurierter Anbieter und Ihr Modell verwendet.","options.ai.enableDescBackend":"Verwenden Sie den von SentenWord bereitgestellten integrierten KI-Übersetzungsdienst.","options.ai.enableDescCustom":"Verwenden Sie Ihren eigenen API-Schlüssel und Ihr Modell. Schlüssel werden nur lokal gespeichert.","options.ai.includeKeyPoints":"Key Points zurückgeben","options.ai.includeKeyPointsDesc":"Wenn deaktiviert, gibt die Satzübersetzung nur den Übersetzungstext ohne Key Points zurück.","options.ai.provider":"Anbieter","options.ai.providerDesc":"KI-Anbieter wählen, Google / Microsoft kostenlos nutzen oder eine OpenAI-kompatible API einsetzen.","options.ai.freeProviderNote":"Kostenloser öffentlicher Endpunkt — kein API-Schlüssel erforderlich. Worterklärungen greifen auf das integrierte Backend zurück.","options.ai.apiKey":"API-Schlüssel","options.ai.apiKeyDesc":"Automatisch gespeichert bei Fokusverlust.","options.ai.model":"Modell","options.ai.openaiModelDesc":"Standardmodell ist gpt-4o-mini.","options.ai.openrouterModelDesc":"Beispiel: openai/gpt-4o-mini.","options.ai.deepseekModelDesc":"Standardmodell ist deepseek-chat.","options.ai.customBaseUrl":"API-Basis-URL","options.ai.customBaseUrlDesc":"OpenAI-kompatible API-URL (Qwen, Zhipu, Moonshot usw.).","options.ai.customModelDesc":"Modellname (qwen-turbo, glm-4 usw.).","options.ai.translatePrompt":"Übersetzungs-Prompt","options.ai.translatePromptDesc":"Benutzerdefinierter Prompt für die Übersetzung. Die KI erkennt automatisch, ob es sich um ein Wort oder einen Absatz handelt.","options.ai.promptReset":"Auf Standard zurücksetzen","options.ai.promptVariablesHint":"Verfügbare Variablen: {{text}}, {{context}}, {{targetLanguage}}, {{#context}}...{{/context}}","options.metrics.highlight":"Aktuelle Hervorhebung","options.metrics.customAI":"Benutzerdefinierte KI","options.metrics.enabled":"Aktiviert","options.metrics.disabled":"Deaktiviert","options.metrics.account":"Kontostatus","options.metrics.loading":"Laden","options.metrics.loggedIn":"Angemeldet","options.metrics.notLoggedIn":"Nicht angemeldet","options.metrics.syncHint":"Anmelden, um Cloud-Funktionen zu synchronisieren","options.metrics.syncingHint":"Kontoinformationen werden synchronisiert","common.saving":"Speichern","common.saveFailed":"Speichern fehlgeschlagen, bitte erneut versuchen","common.loading":"Einstellungen werden geladen...","common.definitionGenerating":"Die Definition wird erstellt. Bitte versuchen Sie es in Kürze erneut.","common.unknownError":"Unbekannter Fehler","common.pageTranslateLoginRequired":"Bitte melden Sie sich an, um die Seitenübersetzung zu nutzen.","common.trialQuotaExceededLogin":"Die kostenlosen Testnutzungen sind aufgebraucht. Bitte melden Sie sich an, um fortzufahren.","common.translationQuotaExceededUpgrade":"Das Übersetzungskontingent ist aufgebraucht. Bitte upgraden Sie oder versuchen Sie es später erneut.","common.rateLimitNotLoggedIn":"Zu viele Anfragen. Bitte melden Sie sich an, um mehr Übersetzungskontingent zu erhalten.","common.freeQuotaExceeded":"Monatliches Nutzungslimit erreicht, Zurücksetzung am {{resetTime}}. Auf Pro upgraden für höhere Limits","common.proQuotaExceeded":"Monatliches Nutzungslimit erreicht, Zurücksetzung am {{resetTime}}","common.toast.loginRequiredTitle":"Anmeldung erforderlich","common.toast.quotaInsufficientTitle":"Kontingent erschöpft","common.toast.translationErrorTitle":"Übersetzungsfehler","common.toast.loginAction":"Anmelden","common.toast.laterAction":"Später","common.toast.upgradeAction":"Plan upgraden","common.toast.closeAction":"Schließen","common.sessionExpiredTitle":"Sitzung abgelaufen","common.sessionExpiredDesc":"Bitte melden Sie sich erneut an, um alle Funktionen weiter zu nutzen.","common.sessionReloginAction":"Erneut anmelden","common.preview":"Vorschau","common.unexpectedError":"Ein unerwarteter Fehler ist aufgetreten","footer.copyright":"SentenWord | Intelligente Übersetzung","color.amber":"Bernstein","color.green":"Grün","color.blue":"Blau","color.indigo":"Indigo","color.coral":"Koralle","color.orange":"Orange","color.cyan":"Cyan","color.brown":"Braun","color.red":"Rot","color.gold":"Gold","color.magenta":"Magenta","color.darkGray":"Dunkelgrau","color.custom":"Benutzerdefiniert","color.customHighlight":"Benutzerdefinierte Hervorhebungsfarbe","color.customButton":"Benutzerdefinierte Buttonfarbe","welcome.subtitle":"Willkommen bei SentenWord, lassen Sie uns die Grundeinstellungen vornehmen","welcome.nativeLanguage":"Ihre Muttersprache","welcome.nativeLanguageDesc":"Die Oberflächensprache wird automatisch basierend auf dieser Einstellung umgeschaltet.","welcome.learningLanguage":"Sprache, die Sie lernen möchten","welcome.learningLanguageDesc":"Wählen Sie die Zielsprache, die Sie lernen.","welcome.getStarted":"Loslegen","welcome.account":"Konto","welcome.accountDesc":"Melden Sie sich an, um Vokabeln und Lernfortschritte zu synchronisieren.","welcome.login":"Anmelden / Registrieren","welcome.maybeLater":"Vielleicht später","welcome.loggedInAs":"Angemeldet","welcome.next":"Weiter","welcome.back":"Zurück","popup.title":"SentenWord | Intelligente Übersetzung","popup.settings":"Einstellungen","popup.quickSearch":"Schnellsuche","popup.stopTranslate":"Übersetzung stoppen","popup.translatePage":"Seite übersetzen","popup.translationEnabled":"Übersetzung aktiviert","popup.visitWebsite":"Website besuchen","popup.wordBook":"Wortbuch","popup.login":"Anmelden","popup.loginDesc":"Anmelden zum Synchronisieren","popup.screenshot":"Screenshot-Texterkennung","screenshot.hint":"Ziehen, um Bereich auszuwählen · Esc zum Abbrechen","screenshot.processing":"Erkennung läuft…","screenshot.empty":"Kein Text erkannt","screenshot.failed":"Erkennung fehlgeschlagen","screenshot.loginRequired":"Bitte melde dich an, um die Screenshot-Texterkennung zu nutzen","screenshot.quotaExceeded":"Monatliches Kontingent erreicht. Bitte später erneut versuchen oder Plan upgraden.","screenshot.translation":"Übersetzung","screenshot.close":"Schließen","screenshot.copy":"Kopieren","screenshot.copied":"Kopiert","card.title":"SentenWord | Intelligente Übersetzung","card.wordBook":"Wörterbuch","card.tabSimpleDictionary":"Kurzwörterbuch","card.tabDictionary":"Wörterbuch","card.tabAI":"KI-Erklärung","card.detailedExplanation":"Ausführliche Erklärung","card.detailedExplanationLoading":"Erklärung wird generiert...","card.detailedExplanationRetry":"Erneut versuchen","card.originalText":"Originaltext","card.translationText":"Übersetzung","card.closeDetailedExplanation":"Ausführliche Erklärung schließen","card.closeCard":"Karte schließen","card.settings":"Einstellungen","collection.title":"Sammeln","collection.closeModal":"Sammlungsfenster schließen","collection.folder":"Sammlung","collection.loading":"Laden...","collection.defaultFolder":"Standardsammlung","collection.loadingHint":"Laden…","collection.word":"Wort *","collection.wordPlaceholder":"Wort eingeben","collection.partOfSpeech":"Wortart","collection.partOfSpeechPlaceholder":"Wortart","collection.phonetic":"Lautschrift","collection.phoneticPlaceholder":"z. B. /mɪˈlɛniə/","collection.meaning":"Bedeutung","collection.meaningPlaceholder":"Wortbedeutung","collection.context":"Kontext *","collection.contextPlaceholder":"Vollständigen Satz eingeben","collection.contextTranslation":"Übersetzung des Kontexts","collection.contextTranslationPlaceholder":"Übersetzung des Kontextsatzes","collection.examples":"Zusätzliche Beispiele","collection.examplesHint":"(optional, eins pro Zeile)","collection.examplesPlaceholder":"Zusätzliche Beispiele eingeben, eins pro Zeile","collection.saving":"Speichern...","collection.save":"Speichern","collection.saveSuccess":"Erfolgreich gespeichert","collection.saveFailed":"Speichern fehlgeschlagen","collection.notLoggedIn":"Nicht angemeldet, Speichern nicht möglich","collection.notLoggedInLoad":"Nicht angemeldet, Sammlungen können nicht geladen werden","collection.loadFailed":"Sammlungen konnten nicht geladen werden","collection.wordRequired":"Bitte ein Wort/eine Phrase eingeben","collection.contextTooLong":"Kontext darf {{max}} Zeichen nicht überschreiten","youtube.machineTranslate":"Maschinelle Übersetzung","youtube.aiTranslate":"KI-Übersetzung","youtube.subtitlePanel":"Untertitel-Panel","youtube.closePanel":"Untertitel-Panel schließen","youtube.panelAriaLabel":"Untertitel-Panel Tabs","youtube.tabSubtitles":"Untertitel","youtube.tabSettings":"Einstellungen","youtube.downloadSrt":"Zweisprachige SRT herunterladen","youtube.noSubtitles":"Keine Untertitel","youtube.showBilingualSubtitle":"Zweisprachige Untertitel anzeigen","youtube.showBilingualSubtitleDesc":"Zweisprachiges Untertitel-Overlay auf dem Video umschalten","youtube.enableSubtitleList":"Untertitelliste aktivieren","youtube.enableSubtitleListDesc":"Wenn deaktiviert, wird das Untertitel-Panel ausgeblendet","youtube.autoScroll":"Automatisches Scrollen","youtube.autoScrollDesc":"Automatisch zum aktuellen Satz scrollen während der Wiedergabe","youtube.noDownloadableSubtitle":"Keine herunterladbaren Untertitel","youtube.loadSecondaryFirst":"Bitte laden Sie zuerst die sekundären Untertitel, bevor Sie die zweisprachige SRT herunterladen","youtube.exportEmpty":"Untertitel-Export fehlgeschlagen: Inhalt ist leer","youtube.downloadStarted":"Download der zweisprachigen SRT gestartet","youtube.downloadFailed":"Download der zweisprachigen SRT fehlgeschlagen","youtube.subtitleTranslateFallbackFailed":"Untertitel-Übersetzung fehlgeschlagen, bitte später erneut versuchen","youtube.primaryLoadFailed":"Laden der primären Untertitel fehlgeschlagen","youtube.machineTranslateUnavailable":"Maschinelle Übersetzung nicht verfügbar, auf KI-Übersetzung umgeschaltet","youtube.machineTranslateFailed":"Maschinelle Übersetzung fehlgeschlagen, auf KI-Übersetzung umgeschaltet","youtube.secondaryLoadFailed":"Laden der sekundären Untertitel fehlgeschlagen","youtube.aiTranslateEnabled":"KI-On-Demand-Übersetzung aktiviert","youtube.fetchingMachineTranslate":"Maschinell übersetzte Untertitel werden abgerufen...","youtube.subtitleContentEmpty":"Untertitelspur gefunden, aber es sind keine anzeigbaren Untertitel verfügbar","youtube.noAvailableSubtitles":"Für dieses Video sind keine Untertitel verfügbar","youtube.trackLoadFailed":"Laden der Untertitelspuren fehlgeschlagen","youtube.btnSubtitleOn":"SentenWord Zweisprachige Untertitel (An)","youtube.btnSubtitleOff":"SentenWord Zweisprachige Untertitel (Aus)","youtube.btnPanelOn":"SentenWord Untertitel-Panel (Offen)","youtube.btnPanelOff":"SentenWord Untertitel-Panel (Geschlossen)","youtube.btnSettings":"SentenWord Untertiteleinstellungen","youtube.menuBilingualSubtitle":"Zweisprachige Untertitel","youtube.menuSidebar":"Untertitel-Seitenleiste","youtube.menuSettings":"Einstellungen","contextMenu.smartTranslate":"SentenWord | Intelligente Übersetzung","contextMenu.translatePage":"SentenWord | Seite übersetzen","contextMenu.restoreOriginal":"SentenWord | Original wiederherstellen","quickSearch.title":"Schnellsuche","quickSearch.dictionary":"Wörterbuch","quickSearch.ai":"KI","quickSearch.dictPlaceholder":"Wort suchen...","quickSearch.aiPlaceholder":"Wort oder Satz eingeben für KI-Erklärung...","quickSearch.submit":"Suchen","quickSearch.hint":"Ctrl+Shift+F zum Öffnen · Enter zum Suchen · Tab zum Moduswechsel · Escape zum Schließen","subtitle.loading":"Untertitel werden geladen...","subtitle.ready":"Untertitel bereit, warten auf Sprachbeginn","subtitle.notDetected":"Keine anzeigbaren Untertitel erkannt. Bitte weiter abspielen oder ein anderes Video versuchen","floating.translate":"Übersetzen","word.viewInDict":"In {{name}} ansehen","word.unfavorite":"Aus Favoriten entfernen","speech.playOriginal":"Original vorlesen","speech.playTranslation":"Übersetzung vorlesen","word.favorite":"Zu Favoriten hinzufügen","ai.favoritePhrase":"Phrase zu Favoriten hinzufügen","ai.collapse":"Einklappen","ai.viewAll":"Alle anzeigen ({{count}})","ai.noResult":"Keine Übersetzungsergebnisse","ai.loading":"Laden...","common.expand":"Alle anzeigen","common.collapseText":"Einklappen","common.translating":"Übersetzen...","update.action":"Neue Version verfügbar"},Mh={"options.header.subtitle":"SentenWord Preference Desk","options.header.title":"Options Studio","options.header.description":"Gestiona tu experiencia de traducción, visualización del diccionario y configuración de IA personalizada. Configura tus preferencias visuales, de interacción y rendimiento aquí.","options.language.title":"Configuración de idioma","options.language.description":"Configura tu idioma nativo y el idioma objetivo que estás aprendiendo.","options.language.native":"Idioma nativo","options.language.nativeDesc":"El idioma de la interfaz cambiará automáticamente según esta configuración.","options.language.learning":"Idioma objetivo de aprendizaje","options.language.learningDesc":"El idioma que estás aprendiendo, usado para traducción y diccionario.","options.account.title":"Cuenta y conexión","options.account.description":"Gestiona el estado de inicio de sesión y el comportamiento de la extensión.","options.account.label":"Cuenta","options.account.loading":"Cargando estado de inicio de sesión","options.account.loggedIn":"Conectado: ","options.account.notLoggedIn":"No conectado. Ve a la página de autorización para iniciar sesión.","options.account.logout":"Cerrar sesión","options.account.login":"Iniciar sesión","options.account.loggedOut":"Sesión cerrada","options.account.profile":"Perfil","options.account.avatar":"Avatar","options.account.name":"Nombre","options.account.namePlaceholder":"Ingrese su nombre","options.account.save":"Guardar","options.account.saving":"Guardando...","options.account.profileUpdated":"Perfil actualizado","options.account.profileUpdateFailed":"Error al actualizar, inténtelo de nuevo","options.account.editProfile":"Editar perfil","options.account.cancel":"Cancelar","options.usage.title":"Uso","options.usage.description":"Uso de AI Tokens","options.usage.monthly":"Cuota mensual","options.usage.used":"Usado","options.usage.limit":"Límite","options.usage.resetAt":"Se reinicia","options.usage.tokens":"tokens","options.usage.loadFailed":"Error al cargar el uso","options.usage.loginRequired":"Inicia sesión para ver el uso","options.usage.upgradeToPro":"Actualizar a Pro","options.usage.dailyBreakdown":"Detalle diario","options.usage.dailyTitle":"Uso diario de este mes","options.usage.dailySubtitle":"La altura de las barras refleja el consumo relativo del día · Pasa el ratón para ver el porcentaje del total mensual","options.usage.monthTotal":"Total del mes","options.usage.dailyEmpty":"No se pueden cargar los datos detallados","options.usage.dailyNote":"Nota: los tokens representan la unidad de consumo de este sistema y no equivalen al recuento de tokens de un modelo específico.","options.usage.dailyLoadFailed":"Error al cargar el detalle","paywall.title":"Actualiza a SentenWord Pro","paywall.subtitle":"Desbloquea 9× más cuota de IA y disfruta de traducciones fluidas con funciones premium.","paywall.feature.quota":"Cuota de tokens IA 9× mayor","paywall.feature.subtitles":"Subtítulos bilingües ilimitados en YouTube","paywall.feature.priority":"Acceso prioritario y soporte dedicado","paywall.plan.monthly":"Mensual","paywall.plan.quarterly":"Trimestral","paywall.plan.halfYear":"6 meses","paywall.plan.yearly":"Anual","paywall.priceSuffix.month":"/mes","paywall.priceTotal":"Total {{total}}","paywall.savings":"Ahorra {{percent}}%","paywall.recommended":"Mejor valor","paywall.continueButton":"Continuar al pago","paywall.continueLoading":"Redirigiendo...","paywall.close":"Cerrar","paywall.error.loginRequired":"Debes iniciar sesión antes de actualizar.","paywall.error.goLogin":"Iniciar sesión","paywall.error.network":"No se pudo crear la sesión de pago. Inténtalo de nuevo.","paywall.confirm.title":"Esperando el pago","paywall.confirm.message":"La página de pago se abrió en una pestaña nueva. Completa el pago en Stripe y vuelve aquí para hacer clic en el botón.","paywall.confirm.completed":"He completado el pago","paywall.confirm.cancel":"Cancelar","paywall.confirm.checking":"Verificando…","paywall.confirm.retry":"Intentar de nuevo","paywall.confirm.notYet":"Estado Pro aún no detectado. Si acabas de pagar, espera un momento e inténtalo de nuevo.","options.highlight.title":"Apariencia","options.highlight.description":"Gestionar estilos y colores de resaltado.","options.highlight.panelTitle":"Estilo de resaltado","options.highlight.panelDescription":"Cómo aparecen las palabras guardadas en las páginas web y el sistema de colores.","options.card.themeTitle":"Tema de tarjeta","options.card.themeDescription":"Cambiar el estilo visual de la tarjeta del diccionario.","options.card.theme.warm":"Cálido","options.card.theme.classic":"Clásico","options.card.theme.fresh":"Fresco","options.highlight.enable":"Activar resaltado","options.highlight.enableDesc":"Al desactivar, las palabras guardadas ya no se resaltarán en las páginas web.","options.highlight.inlineAnnotation":"Mostrar definiciones en línea","options.highlight.inlineAnnotationDesc":"Muestra la categoría gramatical y la definición junto a las palabras resaltadas, ej: Reload(v.recargar).","options.highlight.trigger":"Activación del panel","options.highlight.triggerDesc":"Elige si las palabras resaltadas abren el panel con clic, al pasar el cursor o no hacen nada.","options.highlight.trigger.none":"Sin acción","options.highlight.styleSelect":"Selección de estilo","options.highlight.colorSelect":"Selección de color","options.highlight.opacity":"Opacidad del resaltado","options.highlight.opacityDesc":"Ajusta la transparencia del color de resaltado en las páginas.","options.highlight.style.none":"Ninguno","options.highlight.style.background":"Fondo","options.highlight.style.text":"Color de texto","options.highlight.style.underline":"Subrayado","options.highlight.style.doubleUnderline":"Doble subrayado","options.highlight.style.wavy":"Ondulado","options.highlight.style.dotted":"Punteado","options.highlight.style.dashed":"Discontinuo","options.tagHighlight.panelTitle":"Resaltado por etiqueta","options.tagHighlight.panelDescription":"Resaltar palabras en páginas web según etiquetas y rangos de frecuencia.","options.tagHighlight.enable":"Activar resaltado por etiqueta","options.tagHighlight.enableDesc":"Resalta automáticamente las palabras que coincidan con las reglas configuradas.","options.tagHighlight.addRule":"Añadir regla","options.tagHighlight.tag":"Etiqueta","options.tagHighlight.frqRange":"Rango de frecuencia","options.tagHighlight.frqMin":"Mín","options.tagHighlight.frqMax":"Máx","options.tagHighlight.noRules":"Sin reglas. Haz clic en el botón de arriba para añadir una.","options.tagHighlight.deleteRule":"Eliminar","options.tagHighlight.style":"Estilo","options.tagHighlight.color":"Color","options.tagHighlight.enabled":"Activado","options.translation.title":"Traducción","options.translation.description":"Gestionar el contenido del diccionario y la configuración del botón de traducción flotante.","options.dictionary.title":"Contenido del diccionario","options.dictionary.description":"Controla los niveles de definición y ejemplos mostrados en las tarjetas de palabras.","options.dictionary.showExamples":"Mostrar ejemplos","options.dictionary.showExamplesDesc":"Mostrar frases de ejemplo en las definiciones.","options.dictionary.tabs.title":"Configuración de búsqueda","options.dictionary.tabs.description":"Configure el orden de visualización y el estado de activación de las pestañas de búsqueda del diccionario. Solo efectivo cuando el idioma nativo es chino y el idioma de aprendizaje es inglés.","options.dictionary.tabs.ai":"Búsqueda IA","options.dictionary.tabs.simple":"Dict. rápido","options.dictionary.tabs.dictionary":"Dict. profesional","options.dictionary.tabs.moveUp":"Subir","options.dictionary.tabs.moveDown":"Bajar","options.floating.title":"Traducción de selección","options.floating.description":"Define la apariencia, tamaño, color, opacidad y estilo del botón flotante.","options.floating.enable":"Activar botón flotante","options.floating.enableDesc":"Mostrar entrada de traducción después de seleccionar texto.","options.floating.trigger":"Modo de activación","options.floating.triggerDesc":"Clic o pasar el cursor para activar la traducción.","options.floating.trigger.click":"Clic","options.floating.trigger.hover":"Pasar cursor","options.floating.size":"Tamaño del botón","options.floating.sizeDesc":"Ajusta el tamaño según tu preferencia visual.","options.floating.size.xsmall":"Muy pequeño","options.floating.size.small":"Pequeño","options.floating.size.medium":"Mediano","options.floating.size.large":"Grande","options.floating.style":"Estilo del botón","options.floating.styleDesc":"Icono, punto o texto.","options.floating.style.icon":"Icono","options.floating.style.dot":"Punto","options.floating.color":"Color del botón","options.floating.colorDesc":"Elige un color predefinido o personalizado.","options.floating.opacity":"Opacidad del botón","options.floating.opacityDesc":"Ajusta qué tan transparente aparece el botón flotante en las páginas.","options.hotkeys.title":"Atajos de teclado","options.hotkeys.description":"Guardado automático al perder el foco o con Enter.","options.companion.title":"App para iOS","options.companion.description":"Tu colección en el bolsillo — repasa tus palabras y frases guardadas estés donde estés.","options.companion.platform":"para iPhone · iPad","options.companion.pitch":"Abre cada palabra y frase que has guardado, directamente desde tu iPhone.","options.companion.feat1":"Repasa tus palabras y frases guardadas cuando quieras","options.companion.feat2":"Refuerza la memoria con repetición espaciada","options.companion.feat3":"Descubre libros de vocabulario seleccionados para un estudio sistemático","options.companion.cta":"Descargar en App Store","options.speech.title":"Lectura por voz","options.speech.description":"Configura la voz usada para leer el texto original y la traducción.","options.speech.enable":"Activar lectura","options.speech.enableDesc":"Mostrar botones de altavoz en la tarjeta de traducción.","options.speech.rate":"Velocidad","options.speech.rateDesc":"0,5× a 2,0×, predeterminado 1,0×.","options.speech.pitch":"Tono","options.speech.pitchDesc":"0,5 a 1,5, predeterminado 1,0.","options.speech.voices":"Voces","options.speech.provider":"Motor","options.speech.providerDesc":"Edge usa voces Microsoft Neural (en línea, mejor calidad). Sistema usa voces del navegador (sin conexión).","options.speech.providerEdge":"Edge (alta calidad)","options.speech.providerWeb":"Sistema","options.speech.edgeVoicesDesc":"Elige una voz Microsoft Neural. Si falla, usará la voz del sistema automáticamente.","options.speech.voicesDesc":"Elige una voz preferida por idioma. Las voces en la nube (☁) suelen sonar mejor.","options.speech.auto":"Auto (mejor)","options.speech.autoWithName":"Auto — {{name}}","options.speech.test":"Probar","options.speech.noVoices":"No se detectan voces en este navegador. Revisa la configuración de voz del sistema.","options.hotkeys.quickSearch":"Búsqueda rápida","options.hotkeys.quickSearchDesc":"Abrir ventana de búsqueda rápida.","options.hotkeys.paragraph":"Traducción de párrafo","options.hotkeys.paragraphDesc":"Traducir el párrafo bajo el cursor.","options.ai.title":"Traducción IA","options.ai.description":"Elige tu servicio de traducción IA: servicio integrado o configura tu propia clave API.","options.ai.usingCustom":"API personalizada","options.ai.usingBackend":"IA integrada","options.ai.providerLabel":"Proveedor: {{provider}}","options.ai.enable":"Servicio IA","options.ai.enableDesc":"Al activar, usa tu proveedor y modelo configurados.","options.ai.enableDescBackend":"Usar el servicio de traducción IA integrado proporcionado por SentenWord.","options.ai.enableDescCustom":"Usar tu propia clave API y modelo. Las claves se almacenan solo localmente.","options.ai.includeKeyPoints":"Devolver Key Points","options.ai.includeKeyPointsDesc":"Si está desactivado, la traducción de oraciones devuelve solo el texto traducido sin Key Points.","options.ai.provider":"Proveedor","options.ai.providerDesc":"Elige un proveedor de IA, Google / Microsoft gratis, o una API compatible con OpenAI.","options.ai.freeProviderNote":"Endpoint público gratuito — no se necesita clave API. Las explicaciones de palabras usan el backend integrado.","options.ai.apiKey":"Clave API","options.ai.apiKeyDesc":"Guardado automático al perder el foco.","options.ai.model":"Modelo","options.ai.openaiModelDesc":"Modelo predeterminado: gpt-4o-mini.","options.ai.openrouterModelDesc":"Ejemplo: openai/gpt-4o-mini.","options.ai.deepseekModelDesc":"Modelo predeterminado: deepseek-chat.","options.ai.customBaseUrl":"URL base de API","options.ai.customBaseUrlDesc":"URL de API compatible con OpenAI (Qwen, Zhipu, Moonshot, etc.).","options.ai.customModelDesc":"Nombre del modelo (qwen-turbo, glm-4, etc.).","options.ai.translatePrompt":"Prompt de traducción","options.ai.translatePromptDesc":"Prompt personalizado enviado a la IA para la traducción. La IA determina automáticamente si es una palabra o un pasaje.","options.ai.promptReset":"Restablecer predeterminado","options.ai.promptVariablesHint":"Variables disponibles: {{text}}, {{context}}, {{targetLanguage}}, {{#context}}...{{/context}}","options.metrics.highlight":"Resaltado actual","options.metrics.customAI":"IA personalizada","options.metrics.enabled":"Activado","options.metrics.disabled":"Desactivado","options.metrics.account":"Estado de la cuenta","options.metrics.loading":"Cargando","options.metrics.loggedIn":"Conectado","options.metrics.notLoggedIn":"No conectado","options.metrics.syncHint":"Inicia sesión para sincronizar funciones en la nube","options.metrics.syncingHint":"Sincronizando información de la cuenta","common.saving":"Guardando","common.saveFailed":"Error al guardar, por favor reintenta","common.loading":"Cargando configuración...","common.definitionGenerating":"La definición se está generando. Vuelve a intentarlo en breve.","common.unknownError":"Error desconocido","common.pageTranslateLoginRequired":"Inicia sesión para usar la traducción de páginas.","common.trialQuotaExceededLogin":"Se agotaron los usos de prueba gratuitos. Inicia sesión para continuar.","common.translationQuotaExceededUpgrade":"Se agotó la cuota de traducción. Mejora tu plan o vuelve a intentarlo más tarde.","common.rateLimitNotLoggedIn":"Demasiadas solicitudes. Inicia sesión para obtener más cuota de traducción.","common.freeQuotaExceeded":"Límite de uso mensual alcanzado, se restablece el {{resetTime}}. Mejora a Pro para límites más altos","common.proQuotaExceeded":"Límite de uso mensual alcanzado, se restablece el {{resetTime}}","common.toast.loginRequiredTitle":"Se requiere iniciar sesión","common.toast.quotaInsufficientTitle":"Cuota insuficiente","common.toast.translationErrorTitle":"Error de traducción","common.toast.loginAction":"Iniciar sesión","common.toast.laterAction":"Más tarde","common.toast.upgradeAction":"Mejorar plan","common.toast.closeAction":"Cerrar","common.sessionExpiredTitle":"Sesión expirada","common.sessionExpiredDesc":"Vuelve a iniciar sesión para seguir usando todas las funciones.","common.sessionReloginAction":"Iniciar sesión de nuevo","common.preview":"Vista previa","common.unexpectedError":"Se produjo un error inesperado","footer.copyright":"SentenWord | Traducción inteligente","color.amber":"Ámbar","color.green":"Verde","color.blue":"Azul","color.indigo":"Índigo","color.coral":"Coral","color.orange":"Naranja","color.cyan":"Cian","color.brown":"Marrón","color.red":"Rojo","color.gold":"Dorado","color.magenta":"Magenta","color.darkGray":"Gris oscuro","color.custom":"Personalizado","color.customHighlight":"Color de resaltado personalizado","color.customButton":"Color de botón personalizado","welcome.subtitle":"Bienvenido a SentenWord, configuremos los ajustes básicos","welcome.nativeLanguage":"Tu idioma nativo","welcome.nativeLanguageDesc":"El idioma de la interfaz cambiará automáticamente según esta configuración.","welcome.learningLanguage":"Idioma que quieres aprender","welcome.learningLanguageDesc":"Selecciona el idioma objetivo que estás aprendiendo.","welcome.getStarted":"Comenzar","welcome.account":"Cuenta","welcome.accountDesc":"Inicia sesión para sincronizar tu vocabulario y progreso de aprendizaje.","welcome.login":"Iniciar sesión / Registrarse","welcome.maybeLater":"Quizás después","welcome.loggedInAs":"Conectado","welcome.next":"Siguiente","welcome.back":"Volver","popup.title":"SentenWord | Traducción Inteligente","popup.settings":"Configuración","popup.quickSearch":"Búsqueda rápida","popup.stopTranslate":"Detener traducción","popup.translatePage":"Traducir página","popup.translationEnabled":"Traducción activada","popup.visitWebsite":"Visitar sitio web","popup.wordBook":"Cuaderno de palabras","popup.login":"Iniciar sesión","popup.loginDesc":"Inicia sesión para sincronizar","popup.screenshot":"OCR de captura","screenshot.hint":"Arrastra para seleccionar un área · Esc para cancelar","screenshot.processing":"Reconociendo…","screenshot.empty":"No se detectó texto","screenshot.failed":"Error de reconocimiento","screenshot.loginRequired":"Inicia sesión para usar el OCR de captura","screenshot.quotaExceeded":"Cuota mensual agotada. Inténtalo más tarde o mejora tu plan.","screenshot.translation":"Traducción","screenshot.close":"Cerrar","screenshot.copy":"Copiar","screenshot.copied":"Copiado","card.title":"SentenWord | Traducción Inteligente","card.wordBook":"Cuaderno de palabras","card.tabSimpleDictionary":"Dict. rápido","card.tabDictionary":"Diccionario","card.tabAI":"Explicación IA","card.detailedExplanation":"Explicación detallada","card.detailedExplanationLoading":"Generando explicación...","card.detailedExplanationRetry":"Reintentar","card.originalText":"Texto original","card.translationText":"Traducción","card.closeDetailedExplanation":"Cerrar explicación detallada","card.closeCard":"Cerrar tarjeta","card.settings":"Configuración","collection.title":"Recopilar","collection.closeModal":"Cerrar ventana de colección","collection.folder":"Colección","collection.loading":"Cargando...","collection.defaultFolder":"Colección predeterminada","collection.loadingHint":"Cargando…","collection.word":"Palabra *","collection.wordPlaceholder":"Introduce una palabra","collection.partOfSpeech":"Categoría","collection.partOfSpeechPlaceholder":"Categoría gramatical","collection.phonetic":"Fonética","collection.phoneticPlaceholder":"p. ej. /mɪˈlɛniə/","collection.meaning":"Definición","collection.meaningPlaceholder":"Definición de la palabra","collection.context":"Contexto *","collection.contextPlaceholder":"Introduce la oración completa","collection.contextTranslation":"Traducción del contexto","collection.contextTranslationPlaceholder":"Traducción de la oración de contexto","collection.examples":"Ejemplos adicionales","collection.examplesHint":"(opcional, uno por línea)","collection.examplesPlaceholder":"Introduce ejemplos adicionales, uno por línea","collection.saving":"Guardando...","collection.save":"Guardar","collection.saveSuccess":"Guardado con éxito","collection.saveFailed":"Error al guardar","collection.notLoggedIn":"No has iniciado sesión, no se puede guardar","collection.notLoggedInLoad":"No has iniciado sesión, no se pueden cargar las colecciones","collection.loadFailed":"Error al cargar las colecciones","collection.wordRequired":"Por favor, introduce una palabra/frase","collection.contextTooLong":"El contexto no puede superar {{max}} caracteres","youtube.machineTranslate":"Traducción automática","youtube.aiTranslate":"Traducción IA","youtube.subtitlePanel":"Panel de subtítulos","youtube.closePanel":"Cerrar panel de subtítulos","youtube.panelAriaLabel":"Pestañas del panel de subtítulos","youtube.tabSubtitles":"Subtítulos","youtube.tabSettings":"Configuración","youtube.downloadSrt":"Descargar SRT bilingüe","youtube.noSubtitles":"Sin subtítulos","youtube.showBilingualSubtitle":"Mostrar subtítulos bilingües","youtube.showBilingualSubtitleDesc":"Alternar la superposición de subtítulos bilingües en el video","youtube.enableSubtitleList":"Activar lista de subtítulos","youtube.enableSubtitleListDesc":"Al desactivar, el panel de subtítulos se ocultará","youtube.autoScroll":"Desplazamiento automático","youtube.autoScrollDesc":"Desplazarse automáticamente a la frase actual durante la reproducción","youtube.noDownloadableSubtitle":"No hay subtítulos descargables","youtube.loadSecondaryFirst":"Carga los subtítulos secundarios antes de descargar el SRT bilingüe","youtube.exportEmpty":"Exportación de subtítulos fallida: contenido vacío","youtube.downloadStarted":"Descarga del SRT bilingüe iniciada","youtube.downloadFailed":"Error en la descarga del SRT bilingüe","youtube.subtitleTranslateFallbackFailed":"Error en la traducción de subtítulos, inténtalo de nuevo más tarde","youtube.primaryLoadFailed":"Error al cargar los subtítulos principales","youtube.machineTranslateUnavailable":"Traducción automática no disponible, cambiado a traducción IA","youtube.machineTranslateFailed":"Error en la traducción automática, cambiado a traducción IA","youtube.secondaryLoadFailed":"Error al cargar los subtítulos secundarios","youtube.aiTranslateEnabled":"Traducción IA bajo demanda activada","youtube.fetchingMachineTranslate":"Obteniendo subtítulos de traducción automática...","youtube.subtitleContentEmpty":"Se encontró una pista de subtítulos, pero no hay subtítulos visibles disponibles","youtube.noAvailableSubtitles":"No hay subtítulos disponibles para este video","youtube.trackLoadFailed":"Error al cargar las pistas de subtítulos","youtube.btnSubtitleOn":"SentenWord Subtítulos bilingües (Activado)","youtube.btnSubtitleOff":"SentenWord Subtítulos bilingües (Desactivado)","youtube.btnPanelOn":"SentenWord Panel de subtítulos (Abierto)","youtube.btnPanelOff":"SentenWord Panel de subtítulos (Cerrado)","youtube.btnSettings":"SentenWord Configuración de subtítulos","youtube.menuBilingualSubtitle":"Subtítulos bilingües","youtube.menuSidebar":"Barra lateral de subtítulos","youtube.menuSettings":"Configuración","contextMenu.smartTranslate":"SentenWord | Traducción Inteligente","contextMenu.translatePage":"SentenWord | Traducir página","contextMenu.restoreOriginal":"SentenWord | Restaurar original","quickSearch.title":"Búsqueda rápida","quickSearch.dictionary":"Diccionario","quickSearch.ai":"IA","quickSearch.dictPlaceholder":"Buscar una palabra...","quickSearch.aiPlaceholder":"Introduce una palabra o frase para explicación IA...","quickSearch.submit":"Buscar","quickSearch.hint":"Ctrl+Shift+F para abrir · Enter para buscar · Tab para cambiar modo · Escape para cerrar","subtitle.loading":"Cargando subtítulos...","subtitle.ready":"Subtítulos listos, esperando inicio de voz","subtitle.notDetected":"No se detectaron subtítulos visibles, continúa la reproducción o prueba otro video","floating.translate":"Traducir","word.viewInDict":"Ver en {{name}}","word.unfavorite":"Quitar de favoritos","speech.playOriginal":"Reproducir original","speech.playTranslation":"Reproducir traducción","word.favorite":"Añadir a favoritos","ai.favoritePhrase":"Añadir frase a favoritos","ai.collapse":"Contraer","ai.viewAll":"Ver todo ({{count}})","ai.noResult":"Sin resultados de traducción","ai.loading":"Cargando...","common.expand":"Ver todo","common.collapseText":"Contraer","common.translating":"Traduciendo...","update.action":"Nueva versión disponible"},qh={"options.header.subtitle":"SentenWord Preference Desk","options.header.title":"Options Studio","options.header.description":"Gerencie sua experiência de tradução, exibição do dicionário e configurações de IA personalizada. Configure suas preferências visuais, de interação e desempenho aqui.","options.language.title":"Configurações de idioma","options.language.description":"Configure seu idioma nativo e o idioma alvo que está aprendendo.","options.language.native":"Idioma nativo","options.language.nativeDesc":"O idioma da interface mudará automaticamente com base nesta configuração.","options.language.learning":"Idioma alvo de aprendizado","options.language.learningDesc":"O idioma que você está aprendendo, usado para tradução e dicionário.","options.account.title":"Conta e conexão","options.account.description":"Gerencie o status de login e o comportamento da extensão.","options.account.label":"Conta","options.account.loading":"Carregando status de login","options.account.loggedIn":"Conectado: ","options.account.notLoggedIn":"Não conectado. Vá à página de autorização para fazer login.","options.account.logout":"Sair","options.account.login":"Entrar","options.account.loggedOut":"Desconectado","options.account.profile":"Perfil","options.account.avatar":"Avatar","options.account.name":"Nome de exibição","options.account.namePlaceholder":"Digite o nome de exibição","options.account.save":"Salvar","options.account.saving":"Salvando...","options.account.profileUpdated":"Perfil atualizado","options.account.profileUpdateFailed":"Falha na atualização, tente novamente","options.account.editProfile":"Editar perfil","options.account.cancel":"Cancelar","options.usage.title":"Uso","options.usage.description":"Uso de AI Tokens","options.usage.monthly":"Cota mensal","options.usage.used":"Usado","options.usage.limit":"Limite","options.usage.resetAt":"Reinicia em","options.usage.tokens":"tokens","options.usage.loadFailed":"Falha ao carregar uso","options.usage.loginRequired":"Faça login para ver o uso","options.usage.upgradeToPro":"Atualizar para Pro","options.usage.dailyBreakdown":"Detalhes diários","options.usage.dailyTitle":"Uso diário deste mês","options.usage.dailySubtitle":"A altura das barras reflete o consumo relativo do dia · Passe o mouse para ver a porcentagem do total mensal","options.usage.monthTotal":"Total do mês","options.usage.dailyEmpty":"Não foi possível carregar os detalhes","options.usage.dailyNote":"Nota: os tokens representam a unidade de consumo deste sistema, não a contagem de tokens de um modelo específico.","options.usage.dailyLoadFailed":"Falha ao carregar os detalhes","paywall.title":"Faça upgrade para o SentenWord Pro","paywall.subtitle":"Desbloqueie 9× mais cota de IA e aproveite traduções fluidas com recursos premium.","paywall.feature.quota":"Cota de tokens de IA 9× maior","paywall.feature.subtitles":"Legendas bilíngues ilimitadas no YouTube","paywall.feature.priority":"Acesso prioritário e suporte dedicado","paywall.plan.monthly":"Mensal","paywall.plan.quarterly":"Trimestral","paywall.plan.halfYear":"6 meses","paywall.plan.yearly":"Anual","paywall.priceSuffix.month":"/mês","paywall.priceTotal":"Total {{total}}","paywall.savings":"Economize {{percent}}%","paywall.recommended":"Melhor valor","paywall.continueButton":"Ir para o pagamento","paywall.continueLoading":"Redirecionando...","paywall.close":"Fechar","paywall.error.loginRequired":"Você precisa entrar antes de fazer upgrade.","paywall.error.goLogin":"Entrar","paywall.error.network":"Falha ao criar sessão de pagamento. Tente novamente.","paywall.confirm.title":"Aguardando pagamento","paywall.confirm.message":"A página de pagamento foi aberta em uma nova aba. Conclua o pagamento no Stripe e volte aqui para clicar no botão abaixo.","paywall.confirm.completed":"Concluí o pagamento","paywall.confirm.cancel":"Cancelar","paywall.confirm.checking":"Verificando…","paywall.confirm.retry":"Tentar novamente","paywall.confirm.notYet":"Status Pro ainda não detectado. Se você acabou de pagar, aguarde um momento e tente novamente.","options.highlight.title":"Aparência","options.highlight.description":"Gerenciar estilos e cores de destaque.","options.highlight.panelTitle":"Estilo de destaque","options.highlight.panelDescription":"Como as palavras salvas aparecem nas páginas web e o sistema de cores.","options.card.themeTitle":"Tema do cartão","options.card.themeDescription":"Alterar o estilo visual do cartão do dicionário.","options.card.theme.warm":"Acolhedor","options.card.theme.classic":"Clássico","options.card.theme.fresh":"Fresco","options.highlight.enable":"Ativar destaque","options.highlight.enableDesc":"Ao desativar, as palavras salvas não serão mais destacadas nas páginas web.","options.highlight.inlineAnnotation":"Mostrar definições em linha","options.highlight.inlineAnnotationDesc":"Exibe a classe gramatical e a definição ao lado das palavras destacadas, ex: Reload(v.recarregar).","options.highlight.trigger":"Acionamento do painel","options.highlight.triggerDesc":"Escolha se palavras destacadas abrem o painel por clique, ao passar o cursor ou sem ação.","options.highlight.trigger.none":"Sem ação","options.highlight.styleSelect":"Seleção de estilo","options.highlight.colorSelect":"Seleção de cor","options.highlight.opacity":"Opacidade do destaque","options.highlight.opacityDesc":"Ajuste a transparência da cor de destaque nas páginas.","options.highlight.style.none":"Nenhum","options.highlight.style.background":"Fundo","options.highlight.style.text":"Cor do texto","options.highlight.style.underline":"Sublinhado","options.highlight.style.doubleUnderline":"Sublinhado duplo","options.highlight.style.wavy":"Ondulado","options.highlight.style.dotted":"Pontilhado","options.highlight.style.dashed":"Tracejado","options.tagHighlight.panelTitle":"Destaque por etiqueta","options.tagHighlight.panelDescription":"Destacar palavras em páginas web com base em etiquetas e faixas de frequência.","options.tagHighlight.enable":"Ativar destaque por etiqueta","options.tagHighlight.enableDesc":"Destaca automaticamente as palavras que correspondam às regras configuradas.","options.tagHighlight.addRule":"Adicionar regra","options.tagHighlight.tag":"Etiqueta","options.tagHighlight.frqRange":"Faixa de frequência","options.tagHighlight.frqMin":"Mín","options.tagHighlight.frqMax":"Máx","options.tagHighlight.noRules":"Sem regras. Clique no botão acima para adicionar.","options.tagHighlight.deleteRule":"Excluir","options.tagHighlight.style":"Estilo","options.tagHighlight.color":"Cor","options.tagHighlight.enabled":"Ativado","options.translation.title":"Tradução","options.translation.description":"Gerenciar exibição do dicionário e configurações do botão de tradução flutuante.","options.dictionary.title":"Conteúdo do dicionário","options.dictionary.description":"Controle os níveis de definição e exemplos exibidos nos cartões de palavras.","options.dictionary.showExamples":"Mostrar exemplos","options.dictionary.showExamplesDesc":"Exibir frases de exemplo nas definições.","options.dictionary.tabs.title":"Configurações de pesquisa","options.dictionary.tabs.description":"Configure a ordem de exibição e o estado de ativação das abas de pesquisa do dicionário. Efetivo apenas quando o idioma nativo é chinês e o idioma de aprendizagem é inglês.","options.dictionary.tabs.ai":"Pesquisa IA","options.dictionary.tabs.simple":"Dict. rápido","options.dictionary.tabs.dictionary":"Dict. profissional","options.dictionary.tabs.moveUp":"Mover para cima","options.dictionary.tabs.moveDown":"Mover para baixo","options.floating.title":"Tradução de seleção","options.floating.description":"Defina a aparência, tamanho, cor, opacidade e estilo do botão flutuante.","options.floating.enable":"Ativar botão flutuante","options.floating.enableDesc":"Mostrar entrada de tradução após selecionar texto.","options.floating.trigger":"Modo de ativação","options.floating.triggerDesc":"Clique ou passe o cursor para ativar a tradução.","options.floating.trigger.click":"Clique","options.floating.trigger.hover":"Passar cursor","options.floating.size":"Tamanho do botão","options.floating.sizeDesc":"Ajuste o tamanho de acordo com sua preferência.","options.floating.size.xsmall":"Muito pequeno","options.floating.size.small":"Pequeno","options.floating.size.medium":"Médio","options.floating.size.large":"Grande","options.floating.style":"Estilo do botão","options.floating.styleDesc":"Ícone, ponto ou texto.","options.floating.style.icon":"Ícone","options.floating.style.dot":"Ponto","options.floating.color":"Cor do botão","options.floating.colorDesc":"Escolha uma cor predefinida ou personalizada.","options.floating.opacity":"Opacidade do botão","options.floating.opacityDesc":"Ajuste a transparência do botão flutuante nas páginas.","options.hotkeys.title":"Atalhos de teclado","options.hotkeys.description":"Salvamento automático ao perder foco ou com Enter.","options.companion.title":"App para iOS","options.companion.description":"Sua coleção no bolso — revise palavras e frases salvas onde estiver.","options.companion.platform":"para iPhone · iPad","options.companion.pitch":"Abra cada palavra e frase que você salvou, direto do seu iPhone.","options.companion.feat1":"Reveja suas palavras e frases salvas a qualquer momento","options.companion.feat2":"Fortaleça a memória com repetição espaçada","options.companion.feat3":"Explore livros de vocabulário selecionados para um estudo sistemático","options.companion.cta":"Baixar na App Store","options.speech.title":"Leitura por voz","options.speech.description":"Configure a voz usada para ler o texto original e a tradução.","options.speech.enable":"Ativar leitura","options.speech.enableDesc":"Mostrar botões de alto-falante no cartão de tradução.","options.speech.rate":"Velocidade","options.speech.rateDesc":"0,5× a 2,0×, padrão 1,0×.","options.speech.pitch":"Tom","options.speech.pitchDesc":"0,5 a 1,5, padrão 1,0.","options.speech.voices":"Vozes","options.speech.provider":"Motor","options.speech.providerDesc":"Edge usa vozes Microsoft Neural (online, melhor qualidade). Sistema usa vozes do navegador (offline).","options.speech.providerEdge":"Edge (alta qualidade)","options.speech.providerWeb":"Sistema","options.speech.edgeVoicesDesc":"Escolha uma voz Microsoft Neural. Em caso de falha, retrocede para a voz do sistema.","options.speech.voicesDesc":"Escolha uma voz preferida por idioma. Vozes em nuvem (☁) costumam soar melhor.","options.speech.auto":"Auto (melhor)","options.speech.autoWithName":"Auto — {{name}}","options.speech.test":"Testar","options.speech.noVoices":"Nenhuma voz detectada neste navegador. Verifique as configurações de voz do sistema.","options.hotkeys.quickSearch":"Busca rápida","options.hotkeys.quickSearchDesc":"Abrir janela de busca rápida.","options.hotkeys.paragraph":"Tradução de parágrafo","options.hotkeys.paragraphDesc":"Traduzir o parágrafo sob o cursor.","options.ai.title":"Tradução IA","options.ai.description":"Escolha seu serviço de tradução IA: serviço integrado ou configure sua própria chave API.","options.ai.usingCustom":"API personalizada","options.ai.usingBackend":"IA integrada","options.ai.providerLabel":"Provedor: {{provider}}","options.ai.enable":"Serviço IA","options.ai.enableDesc":"Ao ativar, usa seu provedor e modelo configurados.","options.ai.enableDescBackend":"Usar o serviço de tradução IA integrado fornecido pelo SentenWord.","options.ai.enableDescCustom":"Usar sua própria chave API e modelo. As chaves são armazenadas apenas localmente.","options.ai.includeKeyPoints":"Retornar Key Points","options.ai.includeKeyPointsDesc":"Desativado: a tradução de frases retorna apenas o texto traduzido, sem Key Points.","options.ai.provider":"Provedor","options.ai.providerDesc":"Escolha um provedor de IA, Google / Microsoft grátis, ou uma API compatível com OpenAI.","options.ai.freeProviderNote":"Endpoint público gratuito — sem necessidade de chave API. Explicações de palavras usam o backend integrado.","options.ai.apiKey":"Chave API","options.ai.apiKeyDesc":"Salvo automaticamente ao perder foco.","options.ai.model":"Modelo","options.ai.openaiModelDesc":"Modelo padrão: gpt-4o-mini.","options.ai.openrouterModelDesc":"Exemplo: openai/gpt-4o-mini.","options.ai.deepseekModelDesc":"Modelo padrão: deepseek-chat.","options.ai.customBaseUrl":"URL base da API","options.ai.customBaseUrlDesc":"URL de API compatível com OpenAI (Qwen, Zhipu, Moonshot, etc.).","options.ai.customModelDesc":"Nome do modelo (qwen-turbo, glm-4, etc.).","options.ai.translatePrompt":"Prompt de tradução","options.ai.translatePromptDesc":"Prompt personalizado enviado à IA para tradução. A IA determina automaticamente se é uma palavra ou uma passagem.","options.ai.promptReset":"Restaurar padrão","options.ai.promptVariablesHint":"Variáveis disponíveis: {{text}}, {{context}}, {{targetLanguage}}, {{#context}}...{{/context}}","options.metrics.highlight":"Destaque atual","options.metrics.customAI":"IA personalizada","options.metrics.enabled":"Ativado","options.metrics.disabled":"Desativado","options.metrics.account":"Status da conta","options.metrics.loading":"Carregando","options.metrics.loggedIn":"Conectado","options.metrics.notLoggedIn":"Não conectado","options.metrics.syncHint":"Faça login para sincronizar recursos na nuvem","options.metrics.syncingHint":"Sincronizando informações da conta","common.saving":"Salvando","common.saveFailed":"Falha ao salvar, tente novamente","common.loading":"Carregando configurações...","common.definitionGenerating":"A definição está sendo gerada. Tente novamente em instantes.","common.unknownError":"Erro desconhecido","common.pageTranslateLoginRequired":"Faça login para usar a tradução de página.","common.trialQuotaExceededLogin":"As tentativas gratuitas se esgotaram. Faça login para continuar.","common.translationQuotaExceededUpgrade":"A cota de tradução se esgotou. Faça upgrade do plano ou tente novamente mais tarde.","common.rateLimitNotLoggedIn":"Muitas solicitações. Faça login para obter mais cota de tradução.","common.freeQuotaExceeded":"Limite de uso mensal atingido, redefine em {{resetTime}}. Faça upgrade para Pro para limites mais altos","common.proQuotaExceeded":"Limite de uso mensal atingido, redefine em {{resetTime}}","common.toast.loginRequiredTitle":"Login necessário","common.toast.quotaInsufficientTitle":"Cota insuficiente","common.toast.translationErrorTitle":"Erro de tradução","common.toast.loginAction":"Entrar","common.toast.laterAction":"Mais tarde","common.toast.upgradeAction":"Fazer upgrade do plano","common.toast.closeAction":"Fechar","common.sessionExpiredTitle":"Sessão expirada","common.sessionExpiredDesc":"Faça login novamente para continuar usando todos os recursos.","common.sessionReloginAction":"Entrar novamente","common.preview":"Visualização","common.unexpectedError":"Ocorreu um erro inesperado","footer.copyright":"SentenWord | Tradução inteligente","color.amber":"Âmbar","color.green":"Verde","color.blue":"Azul","color.indigo":"Índigo","color.coral":"Coral","color.orange":"Laranja","color.cyan":"Ciano","color.brown":"Marrom","color.red":"Vermelho","color.gold":"Dourado","color.magenta":"Magenta","color.darkGray":"Cinza escuro","color.custom":"Personalizado","color.customHighlight":"Cor de destaque personalizada","color.customButton":"Cor de botão personalizada","welcome.subtitle":"Bem-vindo ao SentenWord, vamos configurar o básico","welcome.nativeLanguage":"Seu idioma nativo","welcome.nativeLanguageDesc":"O idioma da interface mudará automaticamente com base nesta configuração.","welcome.learningLanguage":"Idioma que deseja aprender","welcome.learningLanguageDesc":"Selecione o idioma alvo que está aprendendo.","welcome.getStarted":"Começar","welcome.account":"Conta","welcome.accountDesc":"Faça login para sincronizar seu vocabulário e progresso de aprendizado.","welcome.login":"Entrar / Cadastrar","welcome.maybeLater":"Talvez depois","welcome.loggedInAs":"Conectado","welcome.next":"Próximo","welcome.back":"Voltar","popup.title":"SentenWord | Tradução Inteligente","popup.settings":"Configurações","popup.quickSearch":"Pesquisa rápida","popup.stopTranslate":"Parar tradução","popup.translatePage":"Traduzir página","popup.translationEnabled":"Tradução ativada","popup.visitWebsite":"Visitar site","popup.wordBook":"Caderno de palavras","popup.login":"Entrar","popup.loginDesc":"Entre para sincronizar dados","popup.screenshot":"OCR de captura","screenshot.hint":"Arraste para selecionar uma área · Esc para cancelar","screenshot.processing":"Reconhecendo…","screenshot.empty":"Nenhum texto detectado","screenshot.failed":"Falha no reconhecimento","screenshot.loginRequired":"Entre para usar o OCR de captura","screenshot.quotaExceeded":"Cota mensal esgotada. Tente novamente mais tarde ou atualize seu plano.","screenshot.translation":"Tradução","screenshot.close":"Fechar","screenshot.copy":"Copiar","screenshot.copied":"Copiado","card.title":"SentenWord | Tradução Inteligente","card.wordBook":"Caderno de palavras","card.tabSimpleDictionary":"Dict. rápido","card.tabDictionary":"Dicionário","card.tabAI":"Explicação IA","card.detailedExplanation":"Explicação detalhada","card.detailedExplanationLoading":"Gerando explicação...","card.detailedExplanationRetry":"Tentar novamente","card.originalText":"Texto original","card.translationText":"Tradução","card.closeDetailedExplanation":"Fechar explicação detalhada","card.closeCard":"Fechar cartão","card.settings":"Configurações","collection.title":"Coletar","collection.closeModal":"Fechar janela de coleção","collection.folder":"Coleção","collection.loading":"Carregando...","collection.defaultFolder":"Coleção padrão","collection.loadingHint":"Carregando…","collection.word":"Palavra *","collection.wordPlaceholder":"Digite uma palavra","collection.partOfSpeech":"Classe","collection.partOfSpeechPlaceholder":"Classe gramatical","collection.phonetic":"Fonética","collection.phoneticPlaceholder":"ex. /mɪˈlɛniə/","collection.meaning":"Definição","collection.meaningPlaceholder":"Definição da palavra","collection.context":"Contexto *","collection.contextPlaceholder":"Digite a frase completa","collection.contextTranslation":"Tradução do contexto","collection.contextTranslationPlaceholder":"Tradução da frase de contexto","collection.examples":"Exemplos adicionais","collection.examplesHint":"(opcional, um por linha)","collection.examplesPlaceholder":"Digite exemplos adicionais, um por linha","collection.saving":"Salvando...","collection.save":"Salvar","collection.saveSuccess":"Salvo com sucesso","collection.saveFailed":"Falha ao salvar","collection.notLoggedIn":"Não conectado, não é possível salvar","collection.notLoggedInLoad":"Não conectado, não é possível carregar coleções","collection.loadFailed":"Falha ao carregar coleções","collection.wordRequired":"Por favor, insira uma palavra/frase","collection.contextTooLong":"O contexto não pode exceder {{max}} caracteres","youtube.machineTranslate":"Tradução automática","youtube.aiTranslate":"Tradução IA","youtube.subtitlePanel":"Painel de legendas","youtube.closePanel":"Fechar painel de legendas","youtube.panelAriaLabel":"Abas do painel de legendas","youtube.tabSubtitles":"Legendas","youtube.tabSettings":"Configurações","youtube.downloadSrt":"Baixar SRT bilíngue","youtube.noSubtitles":"Sem legendas","youtube.showBilingualSubtitle":"Mostrar legendas bilíngues","youtube.showBilingualSubtitleDesc":"Alternar a sobreposição de legendas bilíngues no vídeo","youtube.enableSubtitleList":"Ativar lista de legendas","youtube.enableSubtitleListDesc":"Quando desativado, o painel de legendas será ocultado","youtube.autoScroll":"Rolagem automática","youtube.autoScrollDesc":"Rolar automaticamente para a frase atual durante a reprodução","youtube.noDownloadableSubtitle":"Nenhuma legenda disponível para download","youtube.loadSecondaryFirst":"Carregue as legendas secundárias antes de baixar o SRT bilíngue","youtube.exportEmpty":"Falha na exportação de legendas: conteúdo vazio","youtube.downloadStarted":"Download do SRT bilíngue iniciado","youtube.downloadFailed":"Falha no download do SRT bilíngue","youtube.subtitleTranslateFallbackFailed":"Falha na tradução dos subtítulos, tente novamente mais tarde","youtube.primaryLoadFailed":"Falha ao carregar legendas principais","youtube.machineTranslateUnavailable":"Tradução automática indisponível, alternado para tradução IA","youtube.machineTranslateFailed":"Falha na tradução automática, alternado para tradução IA","youtube.secondaryLoadFailed":"Falha ao carregar legendas secundárias","youtube.aiTranslateEnabled":"Tradução IA sob demanda ativada","youtube.fetchingMachineTranslate":"Obtendo legendas de tradução automática...","youtube.subtitleContentEmpty":"Faixa de legendas encontrada, mas não há legendas exibíveis disponíveis","youtube.noAvailableSubtitles":"Nenhuma legenda disponível para este vídeo","youtube.trackLoadFailed":"Falha ao carregar faixas de legendas","youtube.btnSubtitleOn":"SentenWord Legendas bilíngues (Ligado)","youtube.btnSubtitleOff":"SentenWord Legendas bilíngues (Desligado)","youtube.btnPanelOn":"SentenWord Painel de legendas (Aberto)","youtube.btnPanelOff":"SentenWord Painel de legendas (Fechado)","youtube.btnSettings":"SentenWord Configurações de legendas","youtube.menuBilingualSubtitle":"Legendas bilíngues","youtube.menuSidebar":"Barra lateral de legendas","youtube.menuSettings":"Configurações","contextMenu.smartTranslate":"SentenWord | Tradução Inteligente","contextMenu.translatePage":"SentenWord | Traduzir página","contextMenu.restoreOriginal":"SentenWord | Restaurar original","quickSearch.title":"Pesquisa rápida","quickSearch.dictionary":"Dicionário","quickSearch.ai":"IA","quickSearch.dictPlaceholder":"Pesquisar uma palavra...","quickSearch.aiPlaceholder":"Digite uma palavra ou frase para explicação IA...","quickSearch.submit":"Pesquisar","quickSearch.hint":"Ctrl+Shift+F para abrir · Enter para pesquisar · Tab para mudar modo · Escape para fechar","subtitle.loading":"Carregando legendas...","subtitle.ready":"Legendas prontas, aguardando início da fala","subtitle.notDetected":"Nenhuma legenda exibível detectada, continue a reprodução ou tente outro vídeo","floating.translate":"Traduzir","word.viewInDict":"Ver no {{name}}","word.unfavorite":"Remover dos favoritos","speech.playOriginal":"Reproduzir original","speech.playTranslation":"Reproduzir tradução","word.favorite":"Adicionar aos favoritos","ai.favoritePhrase":"Adicionar frase aos favoritos","ai.collapse":"Recolher","ai.viewAll":"Ver tudo ({{count}})","ai.noResult":"Sem resultados de tradução","ai.loading":"Carregando...","common.expand":"Ver tudo","common.collapseText":"Recolher","common.translating":"Traduzindo...","update.action":"Nova versão disponível"},Rh={"options.header.subtitle":"SentenWord Preference Desk","options.header.title":"Options Studio","options.header.description":"Gestisci la tua esperienza di traduzione, la visualizzazione del dizionario e le impostazioni IA personalizzate. Configura le preferenze visive, di interazione e prestazioni qui.","options.language.title":"Impostazioni lingua","options.language.description":"Configura la tua lingua madre e la lingua obiettivo che stai imparando.","options.language.native":"Lingua madre","options.language.nativeDesc":"La lingua dell'interfaccia cambierà automaticamente in base a questa impostazione.","options.language.learning":"Lingua obiettivo di apprendimento","options.language.learningDesc":"La lingua che stai imparando, usata per traduzione e dizionario.","options.account.title":"Account e connessione","options.account.description":"Gestisci lo stato di accesso e il comportamento dell'estensione.","options.account.label":"Account","options.account.loading":"Caricamento stato di accesso","options.account.loggedIn":"Connesso: ","options.account.notLoggedIn":"Non connesso. Vai alla pagina di autorizzazione per accedere.","options.account.logout":"Esci","options.account.login":"Accedi","options.account.loggedOut":"Disconnesso","options.account.profile":"Profilo","options.account.avatar":"Avatar","options.account.name":"Nome visualizzato","options.account.namePlaceholder":"Inserisci il nome visualizzato","options.account.save":"Salva","options.account.saving":"Salvataggio...","options.account.profileUpdated":"Profilo aggiornato","options.account.profileUpdateFailed":"Aggiornamento non riuscito, riprova","options.account.editProfile":"Modifica profilo","options.account.cancel":"Annulla","options.usage.title":"Utilizzo","options.usage.description":"Utilizzo dei token AI","options.usage.monthly":"Quota mensile","options.usage.used":"Utilizzato","options.usage.limit":"Limite","options.usage.resetAt":"Reset alle","options.usage.tokens":"tokens","options.usage.loadFailed":"Caricamento utilizzo fallito","options.usage.loginRequired":"Accedi per visualizzare l'utilizzo","options.usage.upgradeToPro":"Passa a Pro","options.usage.dailyBreakdown":"Dettaglio giornaliero","options.usage.dailyTitle":"Utilizzo giornaliero questo mese","options.usage.dailySubtitle":"L'altezza delle barre riflette il consumo relativo del giorno · Passa il mouse per vedere la percentuale sul totale mensile","options.usage.monthTotal":"Totale del mese","options.usage.dailyEmpty":"Impossibile caricare i dettagli","options.usage.dailyNote":"Nota: i tokens rappresentano l'unità di consumo di questo sistema, non il conteggio di tokens di un modello specifico.","options.usage.dailyLoadFailed":"Caricamento dei dettagli non riuscito","paywall.title":"Passa a SentenWord Pro","paywall.subtitle":"Sblocca una quota IA 9× superiore e goditi traduzioni fluide e funzioni premium.","paywall.feature.quota":"Quota di token IA 9× maggiore","paywall.feature.subtitles":"Sottotitoli bilingue YouTube illimitati","paywall.feature.priority":"Accesso prioritario e supporto dedicato","paywall.plan.monthly":"Mensile","paywall.plan.quarterly":"Trimestrale","paywall.plan.halfYear":"6 mesi","paywall.plan.yearly":"Annuale","paywall.priceSuffix.month":"/mese","paywall.priceTotal":"Totale {{total}}","paywall.savings":"Risparmia {{percent}}%","paywall.recommended":"Miglior valore","paywall.continueButton":"Vai al pagamento","paywall.continueLoading":"Reindirizzamento...","paywall.close":"Chiudi","paywall.error.loginRequired":"Devi accedere prima di passare a Pro.","paywall.error.goLogin":"Accedi","paywall.error.network":"Impossibile creare la sessione di pagamento. Riprova.","paywall.confirm.title":"In attesa del pagamento","paywall.confirm.message":"La pagina di pagamento è stata aperta in una nuova scheda. Completa il pagamento su Stripe, poi torna qui e clicca il pulsante.","paywall.confirm.completed":"Ho completato il pagamento","paywall.confirm.cancel":"Annulla","paywall.confirm.checking":"Verifica in corso…","paywall.confirm.retry":"Riprova","paywall.confirm.notYet":"Stato Pro non ancora rilevato. Se hai appena pagato, attendi un momento e riprova.","options.highlight.title":"Aspetto","options.highlight.description":"Gestisci stili e colori di evidenziazione.","options.highlight.panelTitle":"Stile evidenziazione","options.highlight.panelDescription":"Come appaiono le parole salvate sulle pagine web e il sistema di colori.","options.card.themeTitle":"Tema scheda","options.card.themeDescription":"Cambia lo stile visivo della scheda dizionario.","options.card.theme.warm":"Caldo","options.card.theme.classic":"Classico","options.card.theme.fresh":"Fresco","options.highlight.enable":"Attiva evidenziazione","options.highlight.enableDesc":"Se disattivato, le parole salvate non saranno più evidenziate sulle pagine web.","options.highlight.inlineAnnotation":"Mostra definizioni in linea","options.highlight.inlineAnnotationDesc":"Mostra la categoria grammaticale e la definizione accanto alle parole evidenziate, es: Reload(v.ricaricare).","options.highlight.trigger":"Attivazione pannello","options.highlight.triggerDesc":"Scegli se le parole evidenziate aprono il pannello al clic, al passaggio del mouse o mai.","options.highlight.trigger.none":"Nessuna azione","options.highlight.styleSelect":"Selezione stile","options.highlight.colorSelect":"Selezione colore","options.highlight.opacity":"Opacità evidenziazione","options.highlight.opacityDesc":"Regola la trasparenza del colore di evidenziazione nelle pagine.","options.highlight.style.none":"Nessuno","options.highlight.style.background":"Sfondo","options.highlight.style.text":"Colore testo","options.highlight.style.underline":"Sottolineato","options.highlight.style.doubleUnderline":"Doppia sottolineatura","options.highlight.style.wavy":"Ondulato","options.highlight.style.dotted":"Punteggiato","options.highlight.style.dashed":"Tratteggiato","options.tagHighlight.panelTitle":"Evidenziazione per etichetta","options.tagHighlight.panelDescription":"Evidenzia le parole sulle pagine web in base a etichette e intervalli di frequenza.","options.tagHighlight.enable":"Attiva evidenziazione per etichetta","options.tagHighlight.enableDesc":"Evidenzia automaticamente le parole corrispondenti alle regole configurate.","options.tagHighlight.addRule":"Aggiungi regola","options.tagHighlight.tag":"Etichetta","options.tagHighlight.frqRange":"Intervallo di frequenza","options.tagHighlight.frqMin":"Min","options.tagHighlight.frqMax":"Max","options.tagHighlight.noRules":"Nessuna regola. Clicca il pulsante sopra per aggiungerne una.","options.tagHighlight.deleteRule":"Elimina","options.tagHighlight.style":"Stile","options.tagHighlight.color":"Colore","options.tagHighlight.enabled":"Attivo","options.translation.title":"Traduzione","options.translation.description":"Gestisci la visualizzazione del dizionario e le impostazioni del pulsante di traduzione mobile.","options.dictionary.title":"Contenuto dizionario","options.dictionary.description":"Controlla i livelli di definizione e gli esempi mostrati nelle schede parole.","options.dictionary.showExamples":"Mostra esempi","options.dictionary.showExamplesDesc":"Mostra frasi di esempio nelle definizioni.","options.dictionary.tabs.title":"Impostazioni di ricerca","options.dictionary.tabs.description":"Configura l'ordine di visualizzazione e lo stato di attivazione delle schede di ricerca del dizionario. Effettivo solo quando la lingua madre è il cinese e la lingua di apprendimento è l'inglese.","options.dictionary.tabs.ai":"Ricerca IA","options.dictionary.tabs.simple":"Diz. rapido","options.dictionary.tabs.dictionary":"Diz. professionale","options.dictionary.tabs.moveUp":"Sposta su","options.dictionary.tabs.moveDown":"Sposta giù","options.floating.title":"Traduzione selezione","options.floating.description":"Definisci l'aspetto, la dimensione, il colore, l'opacità e lo stile del pulsante mobile.","options.floating.enable":"Attiva pulsante mobile","options.floating.enableDesc":"Mostra ingresso traduzione dopo la selezione del testo.","options.floating.trigger":"Modalità di attivazione","options.floating.triggerDesc":"Clic o passaggio del mouse per attivare la traduzione.","options.floating.trigger.click":"Clic","options.floating.trigger.hover":"Passaggio mouse","options.floating.size":"Dimensione pulsante","options.floating.sizeDesc":"Regola la dimensione secondo le tue preferenze.","options.floating.size.xsmall":"Molto piccolo","options.floating.size.small":"Piccolo","options.floating.size.medium":"Medio","options.floating.size.large":"Grande","options.floating.style":"Stile pulsante","options.floating.styleDesc":"Icona, punto o testo.","options.floating.style.icon":"Icona","options.floating.style.dot":"Punto","options.floating.color":"Colore pulsante","options.floating.colorDesc":"Scegli un colore preimpostato o personalizzato.","options.floating.opacity":"Opacità pulsante","options.floating.opacityDesc":"Regola la trasparenza del pulsante mobile nelle pagine.","options.hotkeys.title":"Scorciatoie da tastiera","options.hotkeys.description":"Salvataggio automatico alla perdita del focus o con Invio.","options.companion.title":"App iOS","options.companion.description":"La tua raccolta in tasca — rivedi parole e frasi salvate ovunque tu sia.","options.companion.platform":"per iPhone · iPad","options.companion.pitch":"Apri ogni parola e frase che hai salvato, direttamente dal tuo iPhone.","options.companion.feat1":"Rivedi parole e frasi salvate quando vuoi","options.companion.feat2":"Consolida la memoria con la ripetizione dilazionata","options.companion.feat3":"Scopri raccolte di vocaboli per uno studio sistematico","options.companion.cta":"Scarica su App Store","options.speech.title":"Lettura vocale","options.speech.description":"Configura la voce usata per leggere il testo originale e la traduzione.","options.speech.enable":"Attiva lettura","options.speech.enableDesc":"Mostra i pulsanti altoparlante sulla scheda di traduzione.","options.speech.rate":"Velocità","options.speech.rateDesc":"Da 0,5× a 2,0×, predefinito 1,0×.","options.speech.pitch":"Tono","options.speech.pitchDesc":"Da 0,5 a 1,5, predefinito 1,0.","options.speech.voices":"Voci","options.speech.provider":"Motore","options.speech.providerDesc":"Edge usa voci Microsoft Neural (online, qualità migliore). Sistema usa le voci del browser (offline).","options.speech.providerEdge":"Edge (alta qualità)","options.speech.providerWeb":"Sistema","options.speech.edgeVoicesDesc":"Scegli una voce Microsoft Neural. In caso di errore torna alla voce di sistema.","options.speech.voicesDesc":"Scegli una voce preferita per lingua. Le voci cloud (☁) suonano solitamente meglio.","options.speech.auto":"Auto (migliore)","options.speech.autoWithName":"Auto — {{name}}","options.speech.test":"Prova","options.speech.noVoices":"Nessuna voce rilevata in questo browser. Controlla le impostazioni vocali del sistema.","options.hotkeys.quickSearch":"Ricerca rapida","options.hotkeys.quickSearchDesc":"Apri il popup di ricerca rapida.","options.hotkeys.paragraph":"Traduzione paragrafo","options.hotkeys.paragraphDesc":"Traduci il paragrafo sotto il cursore.","options.ai.title":"Traduzione IA","options.ai.description":"Scegli il tuo servizio di traduzione IA: servizio integrato o configura la tua chiave API.","options.ai.usingCustom":"API personalizzata","options.ai.usingBackend":"IA integrata","options.ai.providerLabel":"Provider: {{provider}}","options.ai.enable":"Servizio IA","options.ai.enableDesc":"Se attivato, usa il provider e il modello configurati.","options.ai.enableDescBackend":"Utilizza il servizio di traduzione IA integrato fornito da SentenWord.","options.ai.enableDescCustom":"Usa la tua chiave API e il tuo modello. Le chiavi sono memorizzate solo localmente.","options.ai.includeKeyPoints":"Restituisci Key Points","options.ai.includeKeyPointsDesc":"Se disattivato, la traduzione delle frasi restituisce solo il testo tradotto senza Key Points.","options.ai.provider":"Provider","options.ai.providerDesc":"Scegli un provider IA, Google / Microsoft gratis, o un'API compatibile con OpenAI.","options.ai.freeProviderNote":"Endpoint pubblico gratuito — nessuna chiave API richiesta. Le spiegazioni delle parole usano il backend integrato.","options.ai.apiKey":"Chiave API","options.ai.apiKeyDesc":"Salvato automaticamente alla perdita del focus.","options.ai.model":"Modello","options.ai.openaiModelDesc":"Modello predefinito: gpt-4o-mini.","options.ai.openrouterModelDesc":"Esempio: openai/gpt-4o-mini.","options.ai.deepseekModelDesc":"Modello predefinito: deepseek-chat.","options.ai.customBaseUrl":"URL base API","options.ai.customBaseUrlDesc":"URL API compatibile con OpenAI (Qwen, Zhipu, Moonshot, ecc.).","options.ai.customModelDesc":"Nome del modello (qwen-turbo, glm-4, ecc.).","options.ai.translatePrompt":"Prompt di traduzione","options.ai.translatePromptDesc":"Prompt personalizzato inviato all'IA per la traduzione. L'IA determina automaticamente se si tratta di una parola o di un passaggio.","options.ai.promptReset":"Ripristina predefinito","options.ai.promptVariablesHint":"Variabili disponibili: {{text}}, {{context}}, {{targetLanguage}}, {{#context}}...{{/context}}","options.metrics.highlight":"Evidenziazione attuale","options.metrics.customAI":"IA personalizzata","options.metrics.enabled":"Attivato","options.metrics.disabled":"Disattivato","options.metrics.account":"Stato account","options.metrics.loading":"Caricamento","options.metrics.loggedIn":"Connesso","options.metrics.notLoggedIn":"Non connesso","options.metrics.syncHint":"Accedi per sincronizzare le funzionalità cloud","options.metrics.syncingHint":"Sincronizzazione informazioni account","common.saving":"Salvataggio","common.saveFailed":"Salvataggio fallito, riprova","common.loading":"Caricamento impostazioni...","common.definitionGenerating":"La definizione è in fase di generazione. Riprova tra poco.","common.unknownError":"Errore sconosciuto","common.pageTranslateLoginRequired":"Accedi per usare la traduzione della pagina.","common.trialQuotaExceededLogin":"Le prove gratuite sono esaurite. Accedi per continuare.","common.translationQuotaExceededUpgrade":"La quota di traduzione è esaurita. Passa a un piano superiore o riprova più tardi.","common.rateLimitNotLoggedIn":"Troppe richieste. Accedi per ottenere più quota di traduzione.","common.freeQuotaExceeded":"Limite di utilizzo mensile raggiunto, ripristino il {{resetTime}}. Passa a Pro per limiti più alti","common.proQuotaExceeded":"Limite di utilizzo mensile raggiunto, ripristino il {{resetTime}}","common.toast.loginRequiredTitle":"Accesso richiesto","common.toast.quotaInsufficientTitle":"Quota insufficiente","common.toast.translationErrorTitle":"Errore di traduzione","common.toast.loginAction":"Accedi","common.toast.laterAction":"Più tardi","common.toast.upgradeAction":"Aggiorna piano","common.toast.closeAction":"Chiudi","common.sessionExpiredTitle":"Sessione scaduta","common.sessionExpiredDesc":"Accedi di nuovo per continuare a usare tutte le funzionalità.","common.sessionReloginAction":"Accedi di nuovo","common.preview":"Anteprima","common.unexpectedError":"Si è verificato un errore imprevisto","footer.copyright":"SentenWord | Traduzione intelligente","color.amber":"Ambra","color.green":"Verde","color.blue":"Blu","color.indigo":"Indaco","color.coral":"Corallo","color.orange":"Arancione","color.cyan":"Ciano","color.brown":"Marrone","color.red":"Rosso","color.gold":"Oro","color.magenta":"Magenta","color.darkGray":"Grigio scuro","color.custom":"Personalizzato","color.customHighlight":"Colore evidenziazione personalizzato","color.customButton":"Colore pulsante personalizzato","welcome.subtitle":"Benvenuto su SentenWord, configuriamo le impostazioni di base","welcome.nativeLanguage":"La tua lingua madre","welcome.nativeLanguageDesc":"La lingua dell'interfaccia cambierà automaticamente in base a questa impostazione.","welcome.learningLanguage":"Lingua che vuoi imparare","welcome.learningLanguageDesc":"Seleziona la lingua obiettivo che stai imparando.","welcome.getStarted":"Inizia","welcome.account":"Account","welcome.accountDesc":"Accedi per sincronizzare il tuo vocabolario e i progressi di apprendimento.","welcome.login":"Accedi / Registrati","welcome.maybeLater":"Forse dopo","welcome.loggedInAs":"Connesso","welcome.next":"Avanti","welcome.back":"Indietro","popup.title":"SentenWord | Traduzione Intelligente","popup.settings":"Impostazioni","popup.quickSearch":"Ricerca rapida","popup.stopTranslate":"Ferma traduzione","popup.translatePage":"Traduci pagina","popup.translationEnabled":"Traduzione attivata","popup.visitWebsite":"Visita il sito","popup.wordBook":"Quaderno dei vocaboli","popup.login":"Accedi","popup.loginDesc":"Accedi per sincronizzare","popup.screenshot":"OCR Screenshot","screenshot.hint":"Trascina per selezionare un'area · Esc per annullare","screenshot.processing":"Riconoscimento…","screenshot.empty":"Nessun testo rilevato","screenshot.failed":"Riconoscimento fallito","screenshot.loginRequired":"Accedi per usare l'OCR Screenshot","screenshot.quotaExceeded":"Quota mensile esaurita. Riprova più tardi o aggiorna il piano.","screenshot.translation":"Traduzione","screenshot.close":"Chiudi","screenshot.copy":"Copia","screenshot.copied":"Copiato","card.title":"SentenWord | Traduzione Intelligente","card.wordBook":"Quaderno dei vocaboli","card.tabSimpleDictionary":"Diz. rapido","card.tabDictionary":"Dizionario","card.tabAI":"Spiegazione IA","card.detailedExplanation":"Spiegazione dettagliata","card.detailedExplanationLoading":"Generazione della spiegazione...","card.detailedExplanationRetry":"Riprova","card.originalText":"Testo originale","card.translationText":"Traduzione","card.closeDetailedExplanation":"Chiudi spiegazione dettagliata","card.closeCard":"Chiudi scheda","card.settings":"Impostazioni","collection.title":"Raccolta","collection.closeModal":"Chiudi finestra della raccolta","collection.folder":"Raccolta","collection.loading":"Caricamento...","collection.defaultFolder":"Raccolta predefinita","collection.loadingHint":"Caricamento…","collection.word":"Parola *","collection.wordPlaceholder":"Inserisci una parola","collection.partOfSpeech":"Categoria","collection.partOfSpeechPlaceholder":"Categoria grammaticale","collection.phonetic":"Fonetica","collection.phoneticPlaceholder":"es. /mɪˈlɛniə/","collection.meaning":"Definizione","collection.meaningPlaceholder":"Definizione della parola","collection.context":"Contesto *","collection.contextPlaceholder":"Inserisci la frase completa","collection.contextTranslation":"Traduzione del contesto","collection.contextTranslationPlaceholder":"Traduzione della frase di contesto","collection.examples":"Esempi aggiuntivi","collection.examplesHint":"(facoltativo, uno per riga)","collection.examplesPlaceholder":"Inserisci esempi aggiuntivi, uno per riga","collection.saving":"Salvataggio...","collection.save":"Salva","collection.saveSuccess":"Salvato con successo","collection.saveFailed":"Salvataggio fallito","collection.notLoggedIn":"Non connesso, impossibile salvare","collection.notLoggedInLoad":"Non connesso, impossibile caricare le raccolte","collection.loadFailed":"Caricamento delle raccolte fallito","collection.wordRequired":"Inserisci una parola/frase","collection.contextTooLong":"Il contesto non può superare {{max}} caratteri","youtube.machineTranslate":"Traduzione automatica","youtube.aiTranslate":"Traduzione IA","youtube.subtitlePanel":"Pannello sottotitoli","youtube.closePanel":"Chiudi pannello sottotitoli","youtube.panelAriaLabel":"Schede del pannello sottotitoli","youtube.tabSubtitles":"Sottotitoli","youtube.tabSettings":"Impostazioni","youtube.downloadSrt":"Scarica SRT bilingue","youtube.noSubtitles":"Nessun sottotitolo","youtube.showBilingualSubtitle":"Mostra sottotitoli bilingui","youtube.showBilingualSubtitleDesc":"Attiva/disattiva la sovrapposizione dei sottotitoli bilingui sul video","youtube.enableSubtitleList":"Attiva lista sottotitoli","youtube.enableSubtitleListDesc":"Se disattivato, il pannello sottotitoli verrà nascosto","youtube.autoScroll":"Scorrimento automatico","youtube.autoScrollDesc":"Scorri automaticamente alla frase corrente durante la riproduzione","youtube.noDownloadableSubtitle":"Nessun sottotitolo scaricabile","youtube.loadSecondaryFirst":"Carica i sottotitoli secondari prima di scaricare l'SRT bilingue","youtube.exportEmpty":"Esportazione sottotitoli fallita: contenuto vuoto","youtube.downloadStarted":"Download dell'SRT bilingue avviato","youtube.downloadFailed":"Download dell'SRT bilingue fallito","youtube.subtitleTranslateFallbackFailed":"Traduzione dei sottotitoli non riuscita, riprova più tardi","youtube.primaryLoadFailed":"Caricamento dei sottotitoli principali fallito","youtube.machineTranslateUnavailable":"Traduzione automatica non disponibile, passato alla traduzione IA","youtube.machineTranslateFailed":"Traduzione automatica fallita, passato alla traduzione IA","youtube.secondaryLoadFailed":"Caricamento dei sottotitoli secondari fallito","youtube.aiTranslateEnabled":"Traduzione IA su richiesta attivata","youtube.fetchingMachineTranslate":"Recupero dei sottotitoli tradotti automaticamente...","youtube.subtitleContentEmpty":"Traccia sottotitoli trovata, ma non ci sono sottotitoli visualizzabili disponibili","youtube.noAvailableSubtitles":"Nessun sottotitolo disponibile per questo video","youtube.trackLoadFailed":"Caricamento delle tracce sottotitoli fallito","youtube.btnSubtitleOn":"SentenWord Sottotitoli bilingui (Attivo)","youtube.btnSubtitleOff":"SentenWord Sottotitoli bilingui (Disattivo)","youtube.btnPanelOn":"SentenWord Pannello sottotitoli (Aperto)","youtube.btnPanelOff":"SentenWord Pannello sottotitoli (Chiuso)","youtube.btnSettings":"SentenWord Impostazioni sottotitoli","youtube.menuBilingualSubtitle":"Sottotitoli bilingui","youtube.menuSidebar":"Barra laterale sottotitoli","youtube.menuSettings":"Impostazioni","contextMenu.smartTranslate":"SentenWord | Traduzione Intelligente","contextMenu.translatePage":"SentenWord | Traduci pagina","contextMenu.restoreOriginal":"SentenWord | Ripristina originale","quickSearch.title":"Ricerca rapida","quickSearch.dictionary":"Dizionario","quickSearch.ai":"IA","quickSearch.dictPlaceholder":"Cerca una parola...","quickSearch.aiPlaceholder":"Inserisci una parola o frase per spiegazione IA...","quickSearch.submit":"Cerca","quickSearch.hint":"Ctrl+Shift+F per aprire · Invio per cercare · Tab per cambiare modalità · Esc per chiudere","subtitle.loading":"Caricamento sottotitoli...","subtitle.ready":"Sottotitoli pronti, in attesa dell'inizio del parlato","subtitle.notDetected":"Nessun sottotitolo visualizzabile rilevato, continua la riproduzione o prova un altro video","floating.translate":"Traduci","word.viewInDict":"Vedi su {{name}}","word.unfavorite":"Rimuovi dai preferiti","speech.playOriginal":"Riproduci originale","speech.playTranslation":"Riproduci traduzione","word.favorite":"Aggiungi ai preferiti","ai.favoritePhrase":"Aggiungi frase ai preferiti","ai.collapse":"Comprimi","ai.viewAll":"Vedi tutto ({{count}})","ai.noResult":"Nessun risultato di traduzione","ai.loading":"Caricamento...","common.expand":"Vedi tutto","common.collapseText":"Comprimi","common.translating":"Traduzione in corso...","update.action":"Nuova versione disponibile"},Ch={"options.header.subtitle":"SentenWord Preference Desk","options.header.title":"Options Studio","options.header.description":"Управляйте настройками перевода, отображением словаря и пользовательским ИИ. Настройте визуальные параметры, взаимодействие и производительность здесь.","options.language.title":"Настройки языка","options.language.description":"Настройте родной язык и целевой язык, который вы изучаете.","options.language.native":"Родной язык","options.language.nativeDesc":"Язык интерфейса автоматически изменится в соответствии с этой настройкой.","options.language.learning":"Целевой язык обучения","options.language.learningDesc":"Язык, который вы изучаете, используется для перевода и словаря.","options.account.title":"Аккаунт и подключение","options.account.description":"Управление состоянием входа и поведением расширения.","options.account.label":"Аккаунт","options.account.loading":"Загрузка статуса входа","options.account.loggedIn":"Вход выполнен: ","options.account.notLoggedIn":"Не авторизован. Перейдите на страницу авторизации для входа.","options.account.logout":"Выйти","options.account.login":"Войти","options.account.loggedOut":"Выход выполнен","options.account.profile":"Профиль","options.account.avatar":"Аватар","options.account.name":"Имя","options.account.namePlaceholder":"Введите имя","options.account.save":"Сохранить","options.account.saving":"Сохранение...","options.account.profileUpdated":"Профиль обновлён","options.account.profileUpdateFailed":"Ошибка обновления, попробуйте ещё раз","options.account.editProfile":"Редактировать профиль","options.account.cancel":"Отмена","options.usage.title":"Использование","options.usage.description":"Использование AI-токенов","options.usage.monthly":"Месячная квота","options.usage.used":"Использовано","options.usage.limit":"Лимит","options.usage.resetAt":"Сброс","options.usage.tokens":"токенов","options.usage.loadFailed":"Не удалось загрузить данные об использовании","options.usage.loginRequired":"Войдите, чтобы посмотреть использование","options.usage.upgradeToPro":"Перейти на Pro","options.usage.dailyBreakdown":"По дням","options.usage.dailyTitle":"Дневное использование за этот месяц","options.usage.dailySubtitle":"Высота столбцов отражает относительный расход за день · Наведите курсор, чтобы увидеть долю от месячного итога","options.usage.monthTotal":"Итог за месяц","options.usage.dailyEmpty":"Не удалось загрузить данные","options.usage.dailyNote":"Примечание: tokens здесь — это условная единица расхода данной системы, а не число токенов конкретной модели.","options.usage.dailyLoadFailed":"Не удалось загрузить детали","paywall.title":"Перейдите на SentenWord Pro","paywall.subtitle":"Откройте 9-кратную квоту ИИ и наслаждайтесь плавными переводами с премиум-функциями.","paywall.feature.quota":"Квота AI-токенов в 9 раз больше","paywall.feature.subtitles":"Безлимитные двуязычные субтитры YouTube","paywall.feature.priority":"Приоритетный доступ и поддержка","paywall.plan.monthly":"Месячный","paywall.plan.quarterly":"Квартальный","paywall.plan.halfYear":"6 месяцев","paywall.plan.yearly":"Годовой","paywall.priceSuffix.month":"/мес","paywall.priceTotal":"Итого {{total}}","paywall.savings":"Экономия {{percent}}%","paywall.recommended":"Лучшая цена","paywall.continueButton":"Перейти к оплате","paywall.continueLoading":"Переадресация...","paywall.close":"Закрыть","paywall.error.loginRequired":"Войдите, чтобы перейти на Pro.","paywall.error.goLogin":"Войти","paywall.error.network":"Не удалось создать платежную сессию. Попробуйте позже.","paywall.confirm.title":"Ожидание оплаты","paywall.confirm.message":"Страница оплаты открыта в новой вкладке. Завершите оплату в Stripe и вернитесь сюда, чтобы нажать кнопку ниже.","paywall.confirm.completed":"Я завершил оплату","paywall.confirm.cancel":"Отмена","paywall.confirm.checking":"Проверка…","paywall.confirm.retry":"Попробовать снова","paywall.confirm.notYet":"Статус Pro пока не определён. Если вы только что оплатили, подождите немного и попробуйте снова.","options.highlight.title":"Внешний вид","options.highlight.description":"Управление стилями и цветами выделения.","options.highlight.panelTitle":"Стиль выделения","options.highlight.panelDescription":"Как сохранённые слова отображаются на веб-страницах и система цветов.","options.card.themeTitle":"Тема карточки","options.card.themeDescription":"Переключить визуальный стиль карточки словаря.","options.card.theme.warm":"Тёплый","options.card.theme.classic":"Классика","options.card.theme.fresh":"Свежий","options.highlight.enable":"Включить выделение","options.highlight.enableDesc":"При отключении сохранённые слова больше не будут выделяться на веб-страницах.","options.highlight.inlineAnnotation":"Показать определения в строке","options.highlight.inlineAnnotationDesc":"Отображает часть речи и определение рядом с выделенными словами, напр.: Reload(v.перезагрузить).","options.highlight.trigger":"Открытие панели","options.highlight.triggerDesc":"Выберите, открывать ли панель по клику, при наведении или не открывать.","options.highlight.trigger.none":"Нет действия","options.highlight.styleSelect":"Выбор стиля","options.highlight.colorSelect":"Выбор цвета","options.highlight.opacity":"Прозрачность выделения","options.highlight.opacityDesc":"Настройте прозрачность цвета выделения на страницах.","options.highlight.style.none":"Нет","options.highlight.style.background":"Фон","options.highlight.style.text":"Цвет текста","options.highlight.style.underline":"Подчёркивание","options.highlight.style.doubleUnderline":"Двойное подчёркивание","options.highlight.style.wavy":"Волнистое","options.highlight.style.dotted":"Точечное","options.highlight.style.dashed":"Пунктирное","options.tagHighlight.panelTitle":"Выделение по тегам","options.tagHighlight.panelDescription":"Выделять слова на веб-страницах на основе тегов словаря и диапазонов частотности.","options.tagHighlight.enable":"Включить выделение по тегам","options.tagHighlight.enableDesc":"Автоматически выделять слова, соответствующие настроенным правилам.","options.tagHighlight.addRule":"Добавить правило","options.tagHighlight.tag":"Тег словаря","options.tagHighlight.frqRange":"Диапазон частотности","options.tagHighlight.frqMin":"Мин","options.tagHighlight.frqMax":"Макс","options.tagHighlight.noRules":"Нет правил. Нажмите кнопку выше, чтобы добавить.","options.tagHighlight.deleteRule":"Удалить","options.tagHighlight.style":"Стиль","options.tagHighlight.color":"Цвет","options.tagHighlight.enabled":"Включено","options.translation.title":"Перевод","options.translation.description":"Управление отображением словаря и настройками плавающей кнопки перевода.","options.dictionary.title":"Содержание словаря","options.dictionary.description":"Управление уровнями определений и примерами на карточках слов.","options.dictionary.showExamples":"Показать примеры","options.dictionary.showExamplesDesc":"Отображать примеры предложений в определениях.","options.dictionary.tabs.title":"Настройки поиска в словаре","options.dictionary.tabs.description":"Настройте порядок отображения и состояние активации вкладок поиска в словаре. Действует только при родном языке — китайском и изучаемом — английском.","options.dictionary.tabs.ai":"Поиск ИИ","options.dictionary.tabs.simple":"Краткий словарь","options.dictionary.tabs.dictionary":"Профессиональный словарь","options.dictionary.tabs.moveUp":"Вверх","options.dictionary.tabs.moveDown":"Вниз","options.floating.title":"Перевод выделения","options.floating.description":"Определите внешний вид, размер, цвет, прозрачность и стиль плавающей кнопки.","options.floating.enable":"Включить плавающую кнопку","options.floating.enableDesc":"Показывать вход для перевода после выделения текста.","options.floating.trigger":"Режим активации","options.floating.triggerDesc":"Клик или наведение для активации перевода.","options.floating.trigger.click":"Клик","options.floating.trigger.hover":"Наведение","options.floating.size":"Размер кнопки","options.floating.sizeDesc":"Настройте размер по вашим предпочтениям.","options.floating.size.xsmall":"Очень маленький","options.floating.size.small":"Маленький","options.floating.size.medium":"Средний","options.floating.size.large":"Большой","options.floating.style":"Стиль кнопки","options.floating.styleDesc":"Иконка, точка или текст.","options.floating.style.icon":"Иконка","options.floating.style.dot":"Точка","options.floating.color":"Цвет кнопки","options.floating.colorDesc":"Выберите предустановленный или пользовательский цвет.","options.floating.opacity":"Прозрачность кнопки","options.floating.opacityDesc":"Настройте прозрачность плавающей кнопки на страницах.","options.hotkeys.title":"Горячие клавиши","options.hotkeys.description":"Автосохранение при потере фокуса или нажатии Enter.","options.companion.title":"Приложение iOS","options.companion.description":"Ваша коллекция в кармане — повторяйте сохранённые слова и фразы где угодно.","options.companion.platform":"для iPhone · iPad","options.companion.pitch":"Открывайте каждое слово и фразу, которые вы сохранили, прямо с iPhone.","options.companion.feat1":"Возвращайтесь к сохранённым словам и фразам в любое время","options.companion.feat2":"Закрепляйте память с интервальным повторением","options.companion.feat3":"Изучайте подобранные словарные сборники для системной учёбы","options.companion.cta":"Загрузить в App Store","options.speech.title":"Озвучивание","options.speech.description":"Настройте голос для озвучивания оригинала и перевода.","options.speech.enable":"Включить озвучивание","options.speech.enableDesc":"Показывать кнопки озвучивания на карточке перевода.","options.speech.rate":"Скорость","options.speech.rateDesc":"0,5×–2,0×, по умолчанию 1,0×.","options.speech.pitch":"Тон","options.speech.pitchDesc":"0,5–1,5, по умолчанию 1,0.","options.speech.voices":"Голоса","options.speech.provider":"Движок","options.speech.providerDesc":"Edge использует нейронные голоса Microsoft (онлайн, лучше качество). Система — встроенные голоса браузера (офлайн).","options.speech.providerEdge":"Edge (качество)","options.speech.providerWeb":"Системный","options.speech.edgeVoicesDesc":"Выберите нейронный голос Microsoft. При ошибке переключится на системный голос.","options.speech.voicesDesc":"Выберите предпочтительный голос для каждого языка. Облачные голоса (☁) обычно звучат лучше.","options.speech.auto":"Авто (лучший)","options.speech.autoWithName":"Авто — {{name}}","options.speech.test":"Тест","options.speech.noVoices":"В этом браузере не найдены голоса. Проверьте системные настройки голоса.","options.hotkeys.quickSearch":"Быстрый поиск","options.hotkeys.quickSearchDesc":"Открыть окно быстрого поиска.","options.hotkeys.paragraph":"Перевод абзаца","options.hotkeys.paragraphDesc":"Перевести абзац под курсором.","options.ai.title":"ИИ-перевод","options.ai.description":"Выберите сервис ИИ-перевода: встроенный сервис или настройте свой API-ключ.","options.ai.usingCustom":"Свой API","options.ai.usingBackend":"Встроенный ИИ","options.ai.providerLabel":"Провайдер: {{provider}}","options.ai.enable":"Сервис ИИ","options.ai.enableDesc":"При включении используется настроенный провайдер и модель.","options.ai.enableDescBackend":"Используйте встроенный сервис ИИ-перевода от SentenWord.","options.ai.enableDescCustom":"Используйте свой API-ключ и модель. Ключи хранятся только локально.","options.ai.includeKeyPoints":"Возвращать Key Points","options.ai.includeKeyPointsDesc":"Если отключено, перевод предложений возвращает только текст перевода без Key Points.","options.ai.provider":"Провайдер","options.ai.providerDesc":"Выберите провайдера ИИ, бесплатный Google / Microsoft или API, совместимый с OpenAI.","options.ai.freeProviderNote":"Бесплатная публичная точка доступа — API-ключ не нужен. Объяснения слов используют встроенный бэкенд.","options.ai.apiKey":"API-ключ","options.ai.apiKeyDesc":"Автосохранение при потере фокуса.","options.ai.model":"Модель","options.ai.openaiModelDesc":"Модель по умолчанию: gpt-4o-mini.","options.ai.openrouterModelDesc":"Пример: openai/gpt-4o-mini.","options.ai.deepseekModelDesc":"Модель по умолчанию: deepseek-chat.","options.ai.customBaseUrl":"Базовый URL API","options.ai.customBaseUrlDesc":"URL API, совместимого с OpenAI (Qwen, Zhipu, Moonshot и т.д.).","options.ai.customModelDesc":"Имя модели (qwen-turbo, glm-4 и т.д.).","options.ai.translatePrompt":"Промпт для перевода","options.ai.translatePromptDesc":"Пользовательский промпт для перевода. ИИ автоматически определяет, является ли ввод словом или отрывком.","options.ai.promptReset":"Сбросить по умолчанию","options.ai.promptVariablesHint":"Доступные переменные: {{text}}, {{context}}, {{targetLanguage}}, {{#context}}...{{/context}}","options.metrics.highlight":"Текущее выделение","options.metrics.customAI":"Пользовательский ИИ","options.metrics.enabled":"Включено","options.metrics.disabled":"Отключено","options.metrics.account":"Статус аккаунта","options.metrics.loading":"Загрузка","options.metrics.loggedIn":"Вход выполнен","options.metrics.notLoggedIn":"Не авторизован","options.metrics.syncHint":"Войдите для синхронизации облачных функций","options.metrics.syncingHint":"Синхронизация информации аккаунта","common.saving":"Сохранение","common.saveFailed":"Ошибка сохранения, попробуйте снова","common.loading":"Загрузка настроек...","common.definitionGenerating":"Определение формируется. Повторите попытку чуть позже.","common.unknownError":"Неизвестная ошибка","common.pageTranslateLoginRequired":"Пожалуйста, войдите, чтобы использовать перевод страницы.","common.trialQuotaExceededLogin":"Бесплатные попытки закончились. Пожалуйста, войдите, чтобы продолжить.","common.translationQuotaExceededUpgrade":"Квота перевода исчерпана. Обновите тариф или попробуйте позже.","common.rateLimitNotLoggedIn":"Слишком много запросов. Войдите, чтобы получить больше квоты на перевод.","common.freeQuotaExceeded":"Достигнут месячный лимит использования, сброс {{resetTime}}. Перейдите на Pro для более высоких лимитов","common.proQuotaExceeded":"Достигнут месячный лимит использования, сброс {{resetTime}}","common.toast.loginRequiredTitle":"Требуется вход","common.toast.quotaInsufficientTitle":"Недостаточно квоты","common.toast.translationErrorTitle":"Ошибка перевода","common.toast.loginAction":"Войти","common.toast.laterAction":"Позже","common.toast.upgradeAction":"Обновить тариф","common.toast.closeAction":"Закрыть","common.sessionExpiredTitle":"Сессия истекла","common.sessionExpiredDesc":"Пожалуйста, войдите снова, чтобы продолжить пользоваться всеми функциями.","common.sessionReloginAction":"Войти снова","common.preview":"Предпросмотр","common.unexpectedError":"Произошла непредвиденная ошибка","footer.copyright":"SentenWord | Умный перевод","color.amber":"Янтарный","color.green":"Зелёный","color.blue":"Синий","color.indigo":"Индиго","color.coral":"Коралловый","color.orange":"Оранжевый","color.cyan":"Голубой","color.brown":"Коричневый","color.red":"Красный","color.gold":"Золотой","color.magenta":"Пурпурный","color.darkGray":"Тёмно-серый","color.custom":"Пользовательский","color.customHighlight":"Пользовательский цвет выделения","color.customButton":"Пользовательский цвет кнопки","welcome.subtitle":"Добро пожаловать в SentenWord, давайте настроим основные параметры","welcome.nativeLanguage":"Ваш родной язык","welcome.nativeLanguageDesc":"Язык интерфейса автоматически изменится в соответствии с этой настройкой.","welcome.learningLanguage":"Язык, который хотите изучать","welcome.learningLanguageDesc":"Выберите целевой язык, который вы изучаете.","welcome.getStarted":"Начать","welcome.account":"Аккаунт","welcome.accountDesc":"Войдите, чтобы синхронизировать словарь и прогресс обучения.","welcome.login":"Войти / Зарегистрироваться","welcome.maybeLater":"Может позже","welcome.loggedInAs":"Вы вошли","welcome.next":"Далее","welcome.back":"Назад","popup.title":"SentenWord | Умный перевод","popup.settings":"Настройки","popup.quickSearch":"Быстрый поиск","popup.stopTranslate":"Остановить перевод","popup.translatePage":"Перевести страницу","popup.translationEnabled":"Перевод включён","popup.visitWebsite":"Посетить сайт","popup.wordBook":"Словарь","popup.login":"Войти","popup.loginDesc":"Войдите для синхронизации","popup.screenshot":"Распознавание скриншота","screenshot.hint":"Перетащите, чтобы выделить область · Esc — отмена","screenshot.processing":"Распознавание…","screenshot.empty":"Текст не найден","screenshot.failed":"Ошибка распознавания","screenshot.loginRequired":"Войдите, чтобы использовать распознавание скриншота","screenshot.quotaExceeded":"Месячный лимит исчерпан. Попробуйте позже или обновите тариф.","screenshot.translation":"Перевод","screenshot.close":"Закрыть","screenshot.copy":"Копировать","screenshot.copied":"Скопировано","card.title":"SentenWord | Умный перевод","card.wordBook":"Словарь","card.tabSimpleDictionary":"Краткий словарь","card.tabDictionary":"Словарь","card.tabAI":"ИИ-объяснение","card.detailedExplanation":"Подробное объяснение","card.detailedExplanationLoading":"Генерация объяснения...","card.detailedExplanationRetry":"Повторить","card.originalText":"Оригинал","card.translationText":"Перевод","card.closeDetailedExplanation":"Закрыть подробное объяснение","card.closeCard":"Закрыть карточку","card.settings":"Настройки","collection.title":"Сохранить","collection.closeModal":"Закрыть окно коллекции","collection.folder":"Коллекция","collection.loading":"Загрузка...","collection.defaultFolder":"Коллекция по умолчанию","collection.loadingHint":"Загрузка…","collection.word":"Слово *","collection.wordPlaceholder":"Введите слово","collection.partOfSpeech":"Часть речи","collection.partOfSpeechPlaceholder":"Часть речи","collection.phonetic":"Транскрипция","collection.phoneticPlaceholder":"напр. /mɪˈlɛniə/","collection.meaning":"Значение","collection.meaningPlaceholder":"Значение слова","collection.context":"Контекст *","collection.contextPlaceholder":"Введите полное предложение","collection.contextTranslation":"Перевод контекста","collection.contextTranslationPlaceholder":"Перевод предложения контекста","collection.examples":"Дополнительные примеры","collection.examplesHint":"(необязательно, по одному в строке)","collection.examplesPlaceholder":"Введите дополнительные примеры, по одному в строке","collection.saving":"Сохранение...","collection.save":"Сохранить","collection.saveSuccess":"Успешно сохранено","collection.saveFailed":"Не удалось сохранить","collection.notLoggedIn":"Вы не авторизованы, сохранение невозможно","collection.notLoggedInLoad":"Вы не авторизованы, загрузка коллекций невозможна","collection.loadFailed":"Не удалось загрузить коллекции","collection.wordRequired":"Введите слово/фразу","collection.contextTooLong":"Контекст не может превышать {{max}} символов","youtube.machineTranslate":"Машинный перевод","youtube.aiTranslate":"ИИ-перевод","youtube.subtitlePanel":"Панель субтитров","youtube.closePanel":"Закрыть панель субтитров","youtube.panelAriaLabel":"Вкладки панели субтитров","youtube.tabSubtitles":"Субтитры","youtube.tabSettings":"Настройки","youtube.downloadSrt":"Скачать двуязычный SRT","youtube.noSubtitles":"Нет субтитров","youtube.showBilingualSubtitle":"Показать двуязычные субтитры","youtube.showBilingualSubtitleDesc":"Переключить наложение двуязычных субтитров на видео","youtube.enableSubtitleList":"Включить список субтитров","youtube.enableSubtitleListDesc":"При отключении панель списка субтитров будет скрыта","youtube.autoScroll":"Автопрокрутка","youtube.autoScrollDesc":"Автоматически прокручивать к текущему предложению при воспроизведении","youtube.noDownloadableSubtitle":"Нет субтитров для скачивания","youtube.loadSecondaryFirst":"Загрузите вторичные субтитры перед скачиванием двуязычного SRT","youtube.exportEmpty":"Ошибка экспорта субтитров: содержимое пустое","youtube.downloadStarted":"Скачивание двуязычного SRT начато","youtube.downloadFailed":"Ошибка скачивания двуязычного SRT","youtube.subtitleTranslateFallbackFailed":"Не удалось перевести субтитры, попробуйте позже","youtube.primaryLoadFailed":"Не удалось загрузить основные субтитры","youtube.machineTranslateUnavailable":"Машинный перевод недоступен, переключено на ИИ-перевод","youtube.machineTranslateFailed":"Ошибка машинного перевода, переключено на ИИ-перевод","youtube.secondaryLoadFailed":"Не удалось загрузить вторичные субтитры","youtube.aiTranslateEnabled":"ИИ-перевод по запросу включён","youtube.fetchingMachineTranslate":"Получение субтитров машинного перевода...","youtube.subtitleContentEmpty":"Дорожка субтитров найдена, но отображаемые субтитры недоступны","youtube.noAvailableSubtitles":"Для этого видео нет доступных субтитров","youtube.trackLoadFailed":"Не удалось загрузить дорожки субтитров","youtube.btnSubtitleOn":"SentenWord Двуязычные субтитры (Вкл)","youtube.btnSubtitleOff":"SentenWord Двуязычные субтитры (Выкл)","youtube.btnPanelOn":"SentenWord Панель субтитров (Открыта)","youtube.btnPanelOff":"SentenWord Панель субтитров (Закрыта)","youtube.btnSettings":"SentenWord Настройки субтитров","youtube.menuBilingualSubtitle":"Двуязычные субтитры","youtube.menuSidebar":"Боковая панель субтитров","youtube.menuSettings":"Настройки","contextMenu.smartTranslate":"SentenWord | Умный перевод","contextMenu.translatePage":"SentenWord | Перевести страницу","contextMenu.restoreOriginal":"SentenWord | Восстановить оригинал","quickSearch.title":"Быстрый поиск","quickSearch.dictionary":"Словарь","quickSearch.ai":"ИИ","quickSearch.dictPlaceholder":"Поиск слова...","quickSearch.aiPlaceholder":"Введите слово или предложение для объяснения ИИ...","quickSearch.submit":"Поиск","quickSearch.hint":"Ctrl+Shift+F для открытия · Enter для поиска · Tab для смены режима · Escape для закрытия","subtitle.loading":"Загрузка субтитров...","subtitle.ready":"Субтитры готовы, ожидание начала речи","subtitle.notDetected":"Отображаемые субтитры не обнаружены, продолжайте воспроизведение или попробуйте другое видео","floating.translate":"Перевести","word.viewInDict":"Посмотреть в {{name}}","word.unfavorite":"Удалить из избранного","speech.playOriginal":"Озвучить оригинал","speech.playTranslation":"Озвучить перевод","word.favorite":"Добавить в избранное","ai.favoritePhrase":"Добавить фразу в избранное","ai.collapse":"Свернуть","ai.viewAll":"Показать все ({{count}})","ai.noResult":"Нет результатов перевода","ai.loading":"Загрузка...","common.expand":"Показать все","common.collapseText":"Свернуть","common.translating":"Перевод...","update.action":"Доступна новая версия"},wd={zh:Hd,"zh-TW":Th,en:zh,ja:Dh,ko:Eh,fr:wh,de:xh,es:Mh,pt:qh,it:Rh,ru:Ch},xd="zh";function Qh(T,q=xd,j){let W=(wd[q]||wd[xd])[T]||Hd[T];return j&&Object.entries(j).forEach(([$,Ae])=>{W=W.replace(`{{${$}}}`,String(Ae))}),W}const Ma="userInfo",Vn="authToken",Ud="userId",Bd=T=>typeof T=="object"&&T!==null,Nd=T=>Bd(T)?typeof T.token=="string"&&typeof T.email=="string"&&typeof T.userId=="string"&&typeof T.name=="string"&&typeof T.image=="string"&&(T.plan==="pro"||T.plan==="free"):!1,Vh=async T=>{try{return await mt.storage.local.set({[Ma]:T,[Vn]:T.token,[Ud]:T.userId}),!0}catch(q){return console.error("Failed to save user info:",q),!1}},jh=async()=>{try{const q=(await mt.storage.local.get(Ma))[Ma];return Nd(q)?q:Bd(q)&&typeof q.token=="string"&&typeof q.email=="string"&&typeof q.userId=="string"?{...q,name:q.name||"",image:q.image||"",plan:q.plan||"free"}:null}catch(T){return console.error("Failed to get user info:",T),null}},Kh=async()=>{try{const q=(await mt.storage.local.get(Vn))[Vn];return typeof q=="string"?q:null}catch(T){return console.error("Failed to get token:",T),null}},Zh=async()=>{try{return await mt.storage.local.remove([Ma,Vn,Ud]),!0}catch(T){return console.error("Failed to clear user info:",T),!1}},Xh=T=>{var q;typeof mt<"u"&&((q=mt.storage)!=null&&q.onChanged)&&mt.storage.onChanged.addListener((j,h)=>{if(h==="local"&&j[Ma]){const W=j[Ma].newValue;T(Nd(W)?W:null)}})};export{Uh as B,_h as C,Nh as H,Bh as N,Hh as R,jh as a,mt as b,Zh as c,It as d,Vh as e,Xh as f,Kh as g,Lh as h,Oh as j,kh as l,Yh as o,ph as r,Gh as s,Qh as t};
