PageSourceSearch

https://app.genve.ai/assets/index-BL0BQclh.js

js genve.ai collected 2026-10-05 12:35:17 UTC 505,515 bytes, 311 lines download raw bytes

1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/OAuthConnectApp-Bt4Tygml.js","assets/ForgotPasswordPage-B1lzk3-j.js","assets/module-DqtpGAl2.js","assets/App-rrflGC5I.js","assets/gtag-hZvttaVe.js","assets/AnalyticsProvider-BHCeRgT6.js"])))=>i.map(i=>d[i]);
2(function(){const o=document.createElement("link").relList;if(o&&o.supports&&o.supports("modulepreload"))return;for(const c of document.querySelectorAll('link[rel="modulepreload"]'))r(c);new MutationObserver(c=>{for(const f of c)if(f.type==="childList")for(const m of f.addedNodes)m.tagName==="LINK"&&m.rel==="modulepreload"&&r(m)}).observe(document,{childList:!0,subtree:!0});function s(c){const f={};return c.integrity&&(f.integrity=c.integrity),c.referrerPolicy&&(f.referrerPolicy=c.referrerPolicy),c.crossOrigin==="use-credentials"?f.credentials="include":c.crossOrigin==="anonymous"?f.credentials="omit":f.credentials="same-origin",f}function r(c){if(c.ep)return;c.ep=!0;const f=s(c);fetch(c.href,f)}})();const Gh="modulepreload",Fh=function(u){return"/"+u},pm={},Bs=function(o,s,r){let c=Promise.resolve();if(s&&s.length>0){let m=function(g){return Promise.all(g.map(z=>Promise.resolve(z).then(y=>({status:"fulfilled",value:y}),y=>({status:"rejected",reason:y}))))};document.getElementsByTagName("link");const h=document.querySelector("meta[property=csp-nonce]"),v=(h==null?void 0:h.nonce)||(h==null?void 0:h.getAttribute("nonce"));c=m(s.map(g=>{if(g=Fh(g),g in pm)return;pm[g]=!0;const z=g.endsWith(".css"),y=z?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${g}"]${y}`))return;const D=document.createElement("link");if(D.rel=z?"stylesheet":Gh,z||(D.as="script"),D.crossOrigin="",D.href=g,v&&D.setAttribute("nonce",v),document.head.appendChild(D),z)return new Promise((j,M)=>{D.addEventListener("load",j),D.addEventListener("error",()=>M(new Error(`Unable to preload CSS for ${g}`)))})}))}function f(m){const h=new Event("vite:preloadError",{cancelable:!0});if(h.payload=m,window.dispatchEvent(h),!h.defaultPrevented)throw m}return c.then(m=>{for(const h of m||[])h.status==="rejected"&&f(h.reason);return o().catch(f)})};function Zm(u){return u&&u.__esModule&&Object.prototype.hasOwnProperty.call(u,"default")?u.default:u}var qs={exports:{}},Ni={};/**
3 * @license React
4 * react-jsx-runtime.production.js
5 *
6 * Copyright (c) Meta Platforms, Inc. and affiliates.
7 *
8 * This source code is licensed under the MIT license found in the
9 * LICENSE file in the root directory of this source tree.
10 */var gm;function Yh(){if(gm)return Ni;gm=1;var u=Symbol.for("react.transitional.element"),o=Symbol.for("react.fragment");function s(r,c,f){var m=null;if(f!==void 0&&(m=""+f),c.key!==void 0&&(m=""+c.key),"key"in c){f={};for(var h in c)h!=="key"&&(f[h]=c[h])}else f=c;return c=f.ref,{$$typeof:u,type:r,key:m,ref:c!==void 0?c:null,props:f}}return Ni.Fragment=o,Ni.jsx=s,Ni.jsxs=s,Ni}var hm;function Kh(){return hm||(hm=1,qs.exports=Yh()),qs.exports}var Ja=Kh();const J=u=>typeof u=="string",Vi=()=>{let u,o;const s=new Promise((r,c)=>{u=r,o=c});return s.resolve=u,s.reject=o,s},vm=u=>u==null?"":""+u,Zh=(u,o,s)=>{u.forEach(r=>{o[r]&&(s[r]=o[r])})},Qh=/###/g,ym=u=>u&&u.indexOf("###")>-1?u.replace(Qh,"."):u,bm=u=>!u||J(u),Li=(u,o,s)=>{const r=J(o)?o.split("."):o;let c=0;for(;c<r.length-1;){if(bm(u))return{};const f=ym(r[c]);!u[f]&&s&&(u[f]=new s),Object.prototype.hasOwnProperty.call(u,f)?u=u[f]:u={},++c}return bm(u)?{}:{obj:u,k:ym(r[c])}},Sm=(u,o,s)=>{const{obj:r,k:c}=Li(u,o,Object);if(r!==void 0||o.length===1){r[c]=s;return}let f=o[o.length-1],m=o.slice(0,o.length-1),h=Li(u,m,Object);for(;h.obj===void 0&&m.length;)f=`${m[m.length-1]}.${f}`,m=m.slice(0,m.length-1),h=Li(u,m,Object),h!=null&&h.obj&&typeof h.obj[`${h.k}.${f}`]<"u"&&(h.obj=void 0);h.obj[`${h.k}.${f}`]=s},$h=(u,o,s,r)=>{const{obj:c,k:f}=Li(u,o,Object);c[f]=c[f]||[],c[f].push(s)},po=(u,o)=>{const{obj:s,k:r}=Li(u,o);if(s&&Object.prototype.hasOwnProperty.call(s,r))return s[r]},Xh=(u,o,s)=>{const r=po(u,s);return r!==void 0?r:po(o,s)},Qm=(u,o,s)=>{for(const r in o)r!=="__proto__"&&r!=="constructor"&&(r in u?J(u[r])||u[r]instanceof String||J(o[r])||o[r]instanceof String?s&&(u[r]=o[r]):Qm(u[r],o[r],s):u[r]=o[r]);return u},Wa=u=>u.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var Jh={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};const Wh=u=>J(u)?u.replace(/[&<>
10"'\/]/g,o=>Jh[o]):u;class Ih{constructor(o){this.capacity=o,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(o){const s=this.regExpMap.get(o);if(s!==void 0)return s;const r=new RegExp(o);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(o,r),this.regExpQueue.push(o),r}}const ev=[" ",",","?","!",";"],tv=new Ih(20),av=(u,o,s)=>{o=o||"",s=s||"";const r=ev.filter(m=>o.indexOf(m)<0&&s.indexOf(m)<0);if(r.length===0)return!0;const c=tv.getRegExp(`(${r.map(m=>m==="?"?"\\?":m).join("|")})`);let f=!c.test(u);if(!f){const m=u.indexOf(s);m>0&&!c.test(u.substring(0,m))&&(f=!0)}return f},Ws=(u,o,s=".")=>{if(!u)return;if(u[o])return Object.prototype.hasOwnProperty.call(u,o)?u[o]:void 0;const r=o.split(s);let c=u;for(let f=0;f<r.length;){if(!c||typeof c!="object")return;let m,h="";for(let v=f;v<r.length;++v)if(v!==f&&(h+=s),h+=r[v],m=c[h],m!==void 0){if(["string","number","boolean"].indexOf(typeof m)>-1&&v<r.length-1)continue;f+=v-f+1;break}c=m}return c},_i=u=>u==null?void 0:u.replace(/_/g,"-"),nv={type:"logger",log(u){this.output("log",u)},warn(u){this.output("warn",u)},error(u){this.output("error",u)},output(u,o){var s,r;(r=(s=console==null?void 0:console[u])==null?void 0:s.apply)==null||r.call(s,console,o)}};class go{constructor(o,s={}){this.init(o,s)}init(o,s={}){this.prefix=s.prefix||"i18next:",this.logger=o||nv,this.options=s,this.debug=s.debug}log(...o){return this.forward(o,"log","",!0)}warn(...o){return this.forward(o,"warn","",!0)}error(...o){return this.forward(o,"error","")}deprecate(...o){return this.forward(o,"warn","WARNING DEPRECATED: ",!0)}forward(o,s,r,c){return c&&!this.debug?null:(J(o[0])&&(o[0]=`${r}${this.prefix} ${o[0]}`),this.logger[s](o))}create(o){return new go(this.logger,{prefix:`${this.prefix}:${o}:`,...this.options})}clone(o){return o=o||this.options,o.prefix=o.prefix||this.prefix,new go(this.logger,o)}}var Bt=new go;class yo{constructor(){this.observers={}}on(o,s){return o.split(" ").forEach(r=>{this.observers[r]||(this.observers[r]=new Map);const c=this.observers[r].get(s)||0;this.observers[r].set(s,c+1)}),this}off(o,s){if(this.observers[o]){if(!s){delete this.observers[o];return}this.observers[o].delete(s)}}emit(o,...s){this.observers[o]&&Array.from(this.observers[o].entries()).forEach(([c,f])=>{for(let m=0;m<f;m++)c(...s)}),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach(([c,f])=>{for(let m=0;m<f;m++)c.apply(c,[o,...s])})}}class zm extends yo{constructor(o,s={ns:["translation"],defaultNS:"translation"}){super(),this.data=o||{},this.options=s,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(o){this.options.ns.indexOf(o)<0&&this.options.ns.push(o)}removeNamespaces(o){const s=this.options.ns.indexOf(o);s>-1&&this.options.ns.splice(s,1)}getResource(o,s,r,c={}){var g,z;const f=c.keySeparator!==void 0?c.keySeparator:this.options.keySeparator,m=c.ignoreJSONStructure!==void 0?c.ignoreJSONStructure:this.options.ignoreJSONStructure;let h;o.indexOf(".")>-1?h=o.split("."):(h=[o,s],r&&(Array.isArray(r)?h.push(...r):J(r)&&f?h.push(...r.split(f)):h.push(r)));const v=po(this.data,h);return!v&&!s&&!r&&o.indexOf(".")>-1&&(o=h[0],s=h[1],r=h.slice(2).join(".")),v||!m||!J(r)?v:Ws((z=(g=this.data)==null?void 0:g[o])==null?void 0:z[s],r,f)}addResource(o,s,r,c,f={silent:!1}){const m=f.keySeparator!==void 0?f.keySeparator:this.options.keySeparator;let h=[o,s];r&&(h=h.concat(m?r.split(m):r)),o.indexOf(".")>-1&&(h=o.split("."),c=s,s=h[1]),this.addNamespaces(s),Sm(this.data,h,c),f.silent||this.emit("added",o,s,r,c)}addResources(o,s,r,c={silent:!1}){for(const f in r)(J(r[f])||Array.isArray(r[f]))&&this.addResource(o,s,f,r[f],{silent:!0});c.silent||this.emit("added",o,s,r)}addResourceBundle(o,s,r,c,f,m={silent:!1,skipCopy:!1}){let h=[o,s];o.indexOf(".")>-1&&(h=o.split("."),c=r,r=s,s=h[1]),this.addNamespaces(s);let v=po(this.data,h)||{};m.skipCopy||(r=JSON.parse(JSON.stringify(r))),c?Qm(v,r,f):v={...v,...r}
vendor: 1,448 bytes, line 10
10,Sm(this.data,h,v),m.silent||this.emit("added",o,s,r)}removeResourceBundle(o,s){this.hasResourceBundle(o,s)&&delete this.data[o][s],this.removeNamespaces(s),this.emit("removed",o,s)}hasResourceBundle(o,s){return this.getResource(o,s)!==void 0}getResourceBundle(o,s){return s||(s=this.options.defaultNS),this.getResource(o,s)}getDataByLanguage(o){return this.data[o]}hasLanguageSomeTranslations(o){const s=this.getDataByLanguage(o);return!!(s&&Object.keys(s)||[]).find(c=>s[c]&&Object.keys(s[c]).length>0)}toJSON(){return this.data}}var $m={processors:{},addPostProcessor(u){this.processors[u.name]=u},handle(u,o,s,r,c){return u.forEach(f=>{var m;o=((m=this.processors[f])==null?void 0:m.process(o,s,r,c))??o}),o}};const Xm=Symbol("i18next/PATH_KEY");function iv(){const u=[],o=Object.create(null);let s;return o.get=(r,c)=>{var f;return(f=s==null?void 0:s.revoke)==null||f.call(s),c===Xm?u:(u.push(c),s=Proxy.revocable(r,o),s.proxy)},Proxy.revocable(Object.create(null),o).proxy}function Bi(u,o){const{[Xm]:s}=u(iv()),r=(o==null?void 0:o.keySeparator)??".",c=(o==null?void 0:o.nsSeparator)??":";if(s.length>1&&c){const f=o==null?void 0:o.ns;if((f?Array.isArray(f)?f:[f]:[]).includes(s[0]))return`${s[0]}${c}${s.slice(1).join(r)}`}return s.join(r)}const Am={},_s=u=>!J(u)&&typeof u!="boolean"&&typeof u!="number";class ho extends yo{constructor(o,s={}){super(),Zh(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","
10i18nFormat","utils"],o,this),this.options=s,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=Bt.create("translator")}changeLanguage(o){o&&(this.language=o)}exists(o,s={interpolation:{}}){const r={...s};if(o==null)return!1;const c=this.resolve(o,r);if((c==null?void 0:c.res)===void 0)return!1;const f=_s(c.res);return!(r.returnObjects===!1&&f)}extractFromKey(o,s){let r=s.nsSeparator!==void 0?s.nsSeparator:this.options.nsSeparator;r===void 0&&(r=":");const c=s.keySeparator!==void 0?s.keySeparator:this.options.keySeparator;let f=s.ns||this.options.defaultNS||[];const m=r&&o.indexOf(r)>-1,h=!this.options.userDefinedKeySeparator&&!s.keySeparator&&!this.options.userDefinedNsSeparator&&!s.nsSeparator&&!av(o,r,c);if(m&&!h){const v=o.match(this.interpolator.nestingRegexp);if(v&&v.length>0)return{key:o,namespaces:J(f)?[f]:f};const g=o.split(r);(r!==c||r===c&&this.options.ns.indexOf(g[0])>-1)&&(f=g.shift()),o=g.join(c)}return{key:o,namespaces:J(f)?[f]:f}}translate(o,s,r){let c=typeof s=="object"?{...s}:s;if(typeof c!="object"&&this.options.overloadTranslationOptionHandler&&(c=this.options.overloadTranslationOptionHandler(arguments)),typeof c=="object"&&(c={...c}),c||(c={}),o==null)return"";typeof o=="function"&&(o=Bi(o,{...this.options,...c})),Array.isArray(o)||(o=[String(o)]),o=o.map(Re=>typeof Re=="function"?Bi(Re,{...this.options,...c}):String(Re));const f=c.returnDetails!==void 0?c.returnDetails:this.options.returnDetails,m=c.keySeparator!==void 0?c.keySeparator:this.options.keySeparator,{key:h,namespaces:v}=this.extractFromKey(o[o.length-1],c),g=v[v.length-1];let z=c.nsSeparator!==void 0?c.nsSeparator:this.options.nsSeparator;z===void 0&&(z=":");const y=c.lng||this.language,D=c.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if((y==null?void 0:y.toLowerCase())==="cimode")return D?f?{res:`${g}${z}${h}`,usedKey:h,exactUsedKey:h,usedLng:y,usedNS:g,usedParams:this.getUsedParamsDetails(c)}:`${g}${z}${h}`:f?{res:h,usedKey:h,exactUsedKey:h,usedLng:y,usedNS:g,usedParams:this.getUsedParamsDetails(c)}:h;const j=this.resolve(o,c);let M=j==null?void 0:j.res;const L=(j==null?void 0:j.usedKey)||h,q=(j==null?void 0:j.exactUsedKey)||h,H=["[object Number]","[object Function]","[object RegExp]"],$=c.joinArrays!==void 0?c.joinArrays:this.options.joinArrays,_=!this.i18nFormat||this.i18nFormat.handleAsObject,te=c.count!==void 0&&!J(c.count),oe=ho.hasDefaultValue(c),ve=te?this.pluralResolver.getSuffix(y,c.count,c):"",Q=c.ordinal&&te?this.pluralResolver.getSuffix(y,c.count,{ordinal:!1}):"",Te=te&&!c.ordinal&&c.count===0,me=Te&&c[`defaultValue${this.options.pluralSeparator}zero`]||c[`defaultValue${ve}`]||c[`defaultValue${Q}`]||c.defaultValue;let Se=M;_&&!M&&oe&&(Se=me);const St=_s(Se),$e=Object.prototype.toString.apply(Se);if(_&&Se&&St&&H.indexOf($e)<0&&!(J($)&&Array.isArray(Se))){if(!c.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const Re=this.options.returnedObjectHandler?this.options.returnedObjectHandler(L,Se,{...c,ns:v}):`key '${h} (${this.language})' returned an object instead of string.`;return f?(j.res=Re,j.usedParams=this.getUsedParamsDetails(c),j):Re}if(m){const Re=Array.isArray(Se),je=Re?[]:{},et=Re?q:L;for(const R in Se)if(Object.prototype.hasOwnProperty.call(Se,R)){const P=`${et}${m}${R}`;oe&&!M?je[R]=this.translate(P,{...c,defaultValue:_s(me)?me[R]:void 0,joinArrays:!1,ns:v}):je[R]=this.translate(P,{...c,joinArrays:!1,ns:v}),je[R]===P&&(je[R]=Se[R])}M=je}}else if(_&&J($)&&Array.isArray(M))M=M.join($),M&&(M=this.extendTranslation(M,o,c,r));else{let Re=!1,je=!1;!this.isValidLookup(M)&&oe&&(Re=!0,M=me),this.isValidLookup(M)||(je=!0,M=h);const R=(c.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&je?void 0:M,P=oe&&me!==M&&this.options.updateMissing;if(je||Re||P){if(this.logger.log(P?"updateKey":"missingKey",y,g,h,P?me:M),m){const S=this.resolve(h,{...c,keySeparator:!1});S&&S.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let Z=[];const ce=this.languageUtils.getFallbackCodes(this.options.fallbackLng,c.lng||this.language);if(this.options.saveMissingTo==="fallback"&&ce&&ce[0])for(let S=0;S<ce.length;S++)Z.push(ce[S]);else this.options.saveMissingTo==="all"?Z=this.languageUtils.toResolveHierarchy(c.lng||this.language):Z.push(c.lng||this.language);const ge=(S,N,B)=>{var W;const G=oe&&B!==M?B:R;this.options.missingKeyHandler?this.options.missingKeyHandler(S,g,N,G,P,c):(W=this.backendConnector)!=null&&W.saveMissing&&this.backendConnector.saveMissing(S,g,N,G,P,c),this.emit
vendor: 20,319 bytes, line 10
10("missingKey",S,g,N,M)};this.options.saveMissing&&(this.options.saveMissingPlurals&&te?Z.forEach(S=>{const N=this.pluralResolver.getSuffixes(S,c);Te&&c[`defaultValue${this.options.pluralSeparator}zero`]&&N.indexOf(`${this.options.pluralSeparator}zero`)<0&&N.push(`${this.options.pluralSeparator}zero`),N.forEach(B=>{ge([S],h+B,c[`defaultValue${B}`]||me)})}):ge(Z,h,me))}M=this.extendTranslation(M,o,c,j,r),je&&M===h&&this.options.appendNamespaceToMissingKey&&(M=`${g}${z}${h}`),(je||Re)&&this.options.parseMissingKeyHandler&&(M=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${g}${z}${h}`:h,Re?M:void 0,c))}return f?(j.res=M,j.usedParams=this.getUsedParamsDetails(c),j):M}extendTranslation(o,s,r,c,f){var v,g;if((v=this.i18nFormat)!=null&&v.parse)o=this.i18nFormat.parse(o,{...this.options.interpolation.defaultVariables,...r},r.lng||this.language||c.usedLng,c.usedNS,c.usedKey,{resolved:c});else if(!r.skipInterpolation){r.interpolation&&this.interpolator.init({...r,interpolation:{...this.options.interpolation,...r.interpolation}});const z=J(o)&&(((g=r==null?void 0:r.interpolation)==null?void 0:g.skipOnVariables)!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let y;if(z){const j=o.match(this.interpolator.nestingRegexp);y=j&&j.length}let D=r.replace&&!J(r.replace)?r.replace:r;if(this.options.interpolation.defaultVariables&&(D={...this.options.interpolation.defaultVariables,...D}),o=this.interpolator.interpolate(o,D,r.lng||this.language||c.usedLng,r),z){const j=o.match(this.interpolator.nestingRegexp),M=j&&j.length;y<M&&(r.nest=!1)}!r.lng&&c&&c.res&&(r.lng=this.language||c.usedLng),r.nest!==!1&&(o=this.interpolator.nest(o,(...j)=>(f==null?void 0:f[0])===j[0]&&!r.context?(this.logger.warn(`It seems you are nesting recursively key: ${j[0]} in key: ${s[0]}`),null):this.translate(...j,s),r)),r.interpolation&&this.interpolator.reset()}const m=r.postProcess||this.options.postProcess,h=J(m)?[m]:m;return o!=null&&(h!=null&&h.length)&&r.applyPostProcessor!==!1&&(o=$m.handle(h,o,s,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...c,usedParams:this.getUsedParamsDetails(r)},...r}:r,this)),o}resolve(o,s={}){let r,c,f,m,h;return J(o)&&(o=[o]),Array.isArray(o)&&(o=o.map(v=>typeof v=="function"?Bi(v,{...this.options,...s}):v)),o.forEach(v=>{if(this.isValidLookup(r))return;const g=this.extractFromKey(v,s),z=g.key;c=z;let y=g.namespaces;this.options.fallbackNS&&(y=y.concat(this.options.fallbackNS));const D=s.count!==void 0&&!J(s.count),j=D&&!s.ordinal&&s.count===0,M=s.context!==void 0&&(J(s.context)||typeof s.context=="number")&&s.context!=="",L=s.lngs?s.lngs:this.languageUtils.toResolveHierarchy(s.lng||this.language,s.fallbackLng);y.forEach(q=>{var H,$;this.isValidLookup(r)||(h=q,!Am[`${L[0]}-${q}`]&&((H=this.utils)!=null&&H.hasLoadedNamespace)&&!(($=this.utils)!=null&&$.hasLoadedNamespace(h))&&(Am[`${L[0]}-${q}`]=!0,this.logger.warn(`key "${c}" for languages "${L.join(", ")}" won't get resolved as namespace "${h}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),L.forEach(_=>{var ve;if(this.isValidLookup(r))return;m=_;const te=[z];if((ve=this.i18nFormat)!=null&&ve.addLookupKeys)this.i18nFormat.addLookupKeys(te,z,_,q,s);else{let Q;D&&(Q=this.pluralResolver.getSuffix(_,s.count,s));const Te=`${this.options.pluralSeparator}zero`,me=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(D&&(s.ordinal&&Q.indexOf(me)===0&&te.push(z+Q.replace(me,this.options.pluralSeparator)),te.push(z+Q),j&&te.push(z+Te)),M){const Se=`${z}${this.options.contextSeparator||"_"}${s.context}`;te.push(Se),D&&(s.ordinal&&Q.indexOf(me)===0&&te.push(Se+Q.replace(me,this.options.pluralSeparator)),te.push(Se+Q),j&&te.push(Se+Te))}}let oe;for(;oe=te.pop();)this.isValidLookup(r)||(f=oe,r=this.getResource(_,q,oe,s))}))})}),{res:r,usedKey:c,exactUsedKey:f,usedLng:m,usedNS:h}}isValidLookup(o){return o!==void 0&&!(!this.options.returnNull&&o===null)&&!(!this.options.returnEmptyString&&o==="")}getResource(o,s,r,c={}){var f;return(f=this.i18nFormat)!=null&&f.getResource?this.i18nFormat.getResource(o,s,r,c):this.resourceStore.getResource(o,s,r,c)}getUsedParamsDetails(o={}){const s=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],r=o.replace&&!J(o.replace);let c=r?o.replace:o;if(r&&typeof o.count<"u"&&(c.count=o.count),this.options.interpolation.defaultVariables&&(c={...this.options.interpolation.defaultVariables,...c}),!r){c={...c};for(const f of s)delete c[f]}return c}static hasDefaultValue(o){const s="defaultValue";for(const r in o)if(Object.prototype.hasOwnProperty.call(o,r)&&s===r.substring(0,s.length)&&o[r]!==void 0)return!0;return!1}}class Cm{constructor(o){this.options=o,this.supportedLngs=this.options.supportedLngs||!1,this.logger=Bt.create("languageUtils")}getScriptPartFromCode(o){if(o=_i(o),!o||o.indexOf("-")<0)return null;const s=o.split("-");return s.length===2||(s.pop(),s[s.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(s.join("-"))}getLanguagePartFromCode(o){if(o=_i(o),!o||o.indexOf("-")<0)return o;const s=o.split("-");return this.formatLanguageCode(s[0])}formatLanguageCode(o){if(J(o)&&o.indexOf("-")>-1){let s;try{s=Intl.getCanonicalLocales(o)[0]}catch{}return s&&this.options.lowerCaseLng&&(s=s.toLowerCase()),s||(this.options.lowerCaseLng?o.toLowerCase():o)}return this.options.cleanCode||this.options.lowerCaseLng?o.toLowerCase():o}isSupportedCode(o){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(o=this.getLanguagePartFromCode(o)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(o)>-1}getBestMatchFromCodes(o){if(!o)return null;let s;return o.forEach(r=>{if(s)return;const c=this.formatLanguageCode(r);(!this.options.supportedLngs||this.isSupportedCode(c))&&(s=c)}),!s&&this.options.supportedLngs&&o.forEach(r=>{if(s)return;const c=this.getScriptPartFromCode(r);if(this.isSupportedCode(c))return s=c;const f=this.getLanguagePartFromCode(r);if(this.isSupportedCode(f))return s=f;s=this.options.supportedLngs.find(m=>{if(m===f)return m;if(!(m.indexOf("-")<0&&f.indexOf("-")<0)&&(m.indexOf("-")>0&&f.indexOf("-")<0&&m.substring(0,m.indexOf("-"))===f||m.indexOf(f)===0&&f.length>1))return m})}),s||(s=this.getFallbackCodes(this.options.fallbackLng)[0]),s}getFallbackCodes(o,s){if(!o)return[];if(typeof o=="function"&&(o=o(s)),J(o)&&(o=[o]),Array.isArray(o))return o;if(!s)return o.default||[];let r=o[s];return r||(r=o[this.getScriptPartFromCode(s)]),r||(r=o[this.formatLanguageCode(s)]),r||(r=o[this.getLanguagePartFromCode(s)]),r||(r=o.default),r||[]}toResolveHierarchy(o,s){const r=this.getFallbackCodes((s===!1?[]:s)||this.options.fallbackLng||[],o),c=[],f=m=>{m&&(this.isSupportedCode(m)?c.push(m):this.logger.warn(`rejecting language code not found in supportedLngs: ${m}`))};return J(o)&&(o.indexOf("-")>-1||o.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&f(this.formatLanguageCode(o)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&f(this.getScriptPartFromCode(o)),this.options.load!=="currentOnly"&&f(this.getLanguagePartFromCode(o))):J(o)&&f(this.formatLanguageCode(o)),r.forEach(m=>{c.indexOf(m)<0&&f(this.formatLanguageCode(m))}),c}}const Tm={zero:0,one:1,two:2,few:3,many:4,other:5},Em={select:u=>u===1?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class lv{constructor(o,s={}){this.languageUtils=o,this.options=s,this.logger=Bt.create("pluralResolver"),this.pluralRulesCache={}}clearCache(){this.pluralRulesCache={}}getRule(o,s={}){const r=_i(o==="dev"?"en":o),c=s.ordinal?"ordinal":"cardinal",f=JSON.stringify({cleanedCode:r,type:c});if(f in this.pluralRulesCache)return this.pluralRulesCache[f];let m;try{m=new Intl.PluralRules(r,{type:c})}catch{if(typeof Intl>"u")return this.logger.error("No Intl support, please use an Intl polyfill!"),Em;if(!o.match(/-|_/))return Em;const v=this.languageUtils.getLanguagePartFromCode(o);m=this.getRule(v,s)}return this.pluralRulesCache[f]=m,m}needsPlural(o,s={}){let r=this.getRule(o,s);return r||(r=this.getRule("dev",s)),(r==null?void 0:r.resolvedOptions().pluralCategories.length)>1}getPluralFormsOfKey(o,s,r={}){return this.getSuffixes(o,r).map(c=>`${s}${c}`)}getSuffixes(o,s={}){let r=this.getRule(o,s);return r||(r=this.getRule("dev",s)),r?r.resolvedOptions().pluralCategories.sort((c,f)=>Tm[c]-Tm[f]).map(c=>`${this.options.prepend}${s.ordinal?`ordinal${this.options.prepend}`:""}${c}`):[]}getSuffix(o,s,r={}){const c=this.getRule(o,r);return c?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${c.select(s)}`:(this.logger.warn(`no plural rule found for: ${o}`),this.getSuffix("dev",s,r))}}const wm=(u,o,s,r=".",c=!0)=>{let f=Xh(u,o,s);return!f&&c&&J(s)&&(f=Ws(u,s,r),f===void 0&&(f=Ws(o,s,r))),f},Hs=u=>u.replace(/\$/g,"$$$$");class km{constructor(o={}){var s;this.logger=Bt.create("interpolator"),this.options=o,this.format=((s=o==null?void 0:o.interpolation)==null?void 0:s.format)||(r=>r),this.init(o)}init(o={}){o.interpolation||(o.interpolation={escapeValue:!0});const{escape:s,escapeValue:r,useRawValueToEscape:c,prefix:f,prefixEscaped:m,suffix:h,suffixEscaped:v,formatSeparator:g,unescapeSuffix:z,unescapePrefix:y,nestingPrefix:D,nestingPrefixEscaped:j,nestingSuffix:M,nestingSuffixEscaped:L,nestingOptionsSeparator:q,maxReplaces:H,alwaysFormat:$}=o.interpolation;this.escape=s!==void 0?s:Wh,this.escapeValue=r!==void 0?r:!0,this.useRawValueToEscape=c!==void 0?c:!1,this.prefix=f?Wa(f):m||"{{",this.suffix=h?Wa(h):v||"}}",this.formatSeparator=g||",",this.unescapePrefix=z?"":y||"-",this.unescapeSuffix=this.unescapePrefix?"":z||"",this.nestingPrefix=D?Wa(D):j||Wa("$t("),this.nestingSuffix=M?Wa(M):L||Wa(")"),this.nestingOptionsSeparator=q||",",this.maxReplaces=H||1e3,this.alwaysFormat=$!==void 0?$:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const o=(s,r)=>(s==null?void 0:s.source)===r?(s.lastIndex=0,s):new RegExp(r,"g");this.regexp=o(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=o(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=o(this.nestingRegexp,`${this.nestingPrefix}((?:[^()"']+|"[^"]*"|'[^']*'|\\((?:[^()]|"[^"]*"|'[^']*')*\\))*?)${this.nestingSuffix}`)}interpolate(o,s,r,c){var j;let f,m,h;const v=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},g=M=>{if(M.indexOf(this.formatSeparator)<0){const $=wm(s,v,M,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format($,void 0,r,{...c,...s,interpolationkey:M}):$}const L=M.split(this.formatSeparator),q=L.shift().trim(),H=L.join(this.formatSeparator).trim();return this.format(wm(s,v,q,this.options.keySeparator,this.options.ignoreJSONStructure),H,r,{...c,...s,interpolationkey:q})};this.resetRegExp();const z=(c==null?void 0:c.missingInterpolationHandler)||this.options.missingInterpolationHandler,y=((j=c==null?void 0:c.interpolation)==null?void 0:j.skipOnVariables)!==void 0?c.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:M=>Hs(M)},{regex:this.regexp,safeValue:M=>this.escapeValue?Hs(this.escape(M)):Hs(M)}].forEach(M=>{for(h=0;f=M.regex.exec(o);){const L=f[1].trim();if(m=g(L),m===void 0)if(typeof z=="function"){const H=z(o,f,c);m=J(H)?H:""}else if(c&&Object.prototype.hasOwnProperty.call(c,L))m="";else if(y){m=f[0];continue}else this.logger.warn(`missed to pass in variable ${L} for interpolating ${o}`),m="";else!J(m)&&!this.useRawValueToEscape&&(m=vm(m));const q=M.safeValue(m);if(o=o.replace(f[0],q),y?(M.regex.lastIndex+=m.length,M.regex.lastIndex-=f[0].length):M.regex.lastIndex=0,h++,h>=this.maxReplaces)break}}),o}nest(o,s,r={}){let c,f,m;const h=(v,g)=>{const z=this.nestingOptionsSeparator;if(v.indexOf(z)<0)return v;const y=v.split(new RegExp(`${Wa(z)}[ ]*{`));let D=`{${y[1]}`;v=y[0],D=this.interpolate(D,m);const j=D.match(/'/g),M=D.match(/"/g);(((j==null?void 0:j.length)??0)%2===0&&!M||((M==null?void 0:M.length)??0)%2!==0)&&(D=D.replace(/'/g,'"'));try{m=JSON.parse(D),g&&(m={...g,...m})}catch(L){return this.logger.warn(`failed parsing options string in nesting for key ${v}`,L),`${v}${z}${D}`}return m.defaultValue&&m.defaultValue.indexOf(this.prefix)>-1&&delete m.defaultValue,v};for(;c=this.nestingRegexp.exec(o);){let v=[];m={...r},m=m.replace&&!J(m.replace)?m.replace:m,m.applyPostProcessor=!1,delete m.defaultValue;const g=/{.*}/.test(c[1])?c[1].lastIndexOf("}")+1:c[1].indexOf(this.formatSeparator);if(g!==-1&&(v=c[1].slice(g).split(this.formatSeparator).map(z=>z.trim()).filter(Boolean),c[1]=c[1].slice(0,g)),f=s(h.call(this,c[1].trim(),m),m),f&&c[0]===o&&!J(f))return f;J(f)||(f=vm(f)),f||(this.logger.warn(`missed to resolve ${c[1]} for nesting ${o}`),f=""),v.length&&(f=v.reduce((z,y)=>this.format(z,y,r.lng,{...r,interpolationkey:c[1].trim()}),f.trim())),o=o.replace(c[0],f),this.regexp.lastIndex=0}return o}}const ov=u=>{let o=u.toLowerCase().trim();const s={};if(u.indexOf("(")>-1){const r=u.split("(");o=r[0].toLowerCase().trim();const c=r[1].substring(0,r[1].length-1);o==="currency"&&c.indexOf(":")<0?s.currency||(s.currency=c.trim()):o==="relativetime"&&c.indexOf(":")<0?s.range||(s.range=c.trim()):c.split(";").forEach(m=>{if(m){const[h,...v]=m.split(":"),g=v.join(":").trim().replace(/^'+|'+$/g,""),z=h.trim();s[z]||(s[z]=g),g==="false"&&(s[z]=!1),g==="true"&&(s[z]=!0),isNaN(g)||(s[z]=parseInt(g,10))}})}return{formatName:o,formatOptions:s}},Mm=u=>{const o={};return(s,r,c)=>{let f=c;c&&c.interpolationkey&&c.formatParams&&c.formatParams[c.interpolationkey]&&c[c.interpolationkey]&&(f={...f,[c.interpolationkey]:void 0});const m=r+JSON.stringify(f);let h=o[m];return h||(h=u(_i(r),c),o[m]=h),h(s)}},rv=u=>(o,s,r)=>u(_i(s),r)(o);class sv{constructor(o={}){this.logger=Bt.create("formatter"),this.options=o,this.init(o)}init(o,s={interpolation:{}}){this.formatSeparator=s.interpolation.formatSeparator||",";const r=s.cacheInBuiltFormats?Mm:rv;this.formats={number:r((c,f)=>{const m=new Intl.NumberFormat(c,{...f});return h=>m.format(h)}),currency:r((c,f)=>{const m=new Intl.NumberFormat(c,{...f,style:"currency"});return h=>m.format(h)}),datetime:r((c,f)=>{const m=new Intl.DateTimeFormat(c,{...f});return h=>m.format(h)}),relativetime:r((c,f)=>{const m=new Intl.RelativeTimeFormat(c,{...f});return h=>m.format(h,f.range||"day")}),list:r((c,f)=>{const m=new Intl.ListFormat(c,{...f});return h=>m.format(h)})}}add(o,s){this.formats[o.toLowerCase().trim()]=s}addCached(o,s){this.formats[o.toLowerCase().trim()]=Mm(s)}format(o,s,r,c={}){const f=s.split(this.formatSeparator);if(f.length>1&&f[0].indexOf("(")>1&&f[0].indexOf(")")<0&&f.find(h=>h.indexOf(")")>-1)){const h=f.findIndex(v=>v.indexOf(")")>-1);f[0]=[f[0],...f.splice(1,h)].join(this.formatSeparator)}return f.reduce((h,v)=>{var y;const{formatName:g,formatOptions:z}=ov(v);if(this.formats[g]){let D=h;try{const j=((y=c==null?void 0:c.formatParams)==null?void 0:y[c.interpolationkey])||{},M=j.locale||j.lng||c.locale||c.lng||r;D=this.formats[g](h,M,{...z,...c,...j})}catch(j){this.logger.warn(j)}return D}else this.logger.warn(`there was no format function for ${g}`);return h},o)}}const uv=(u,o)=>{u.pending[o]!==void 0&&(delete u.pending[o],u.pendingCount--)};class cv extends yo{constructor(o,s,r,c={}){var f,m;super(),this.backend=o,this.store=s,this.services=r,this.languageUtils=r.languageUtils,this.options=c,this.logger=Bt.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=c.maxParallelReads||10,this.readingCalls=0,this.maxRetries=c.maxRetries>=0?c.maxRetries:5,this.retryTimeout=c.retryTimeout>=1?c.retryTimeout:350,this.state={},this.queue=[],(m=(f=this.backend)==null?void 0:f.init)==null||m.call(f,r,c.backend,c)}queueLoad(o,s,r,c){const f={},m={},h={},v={};return o.forEach(g=>{let z=!0;s.forEach(y=>{const D=`${g}|${y}`;!r.reload&&this.store.hasResourceBundle(g,y)?this.state[D]=2:this.state[D]<0||(this.state[D]===1?m[D]===void 0&&(m[D]=!0):(this.state[D]=1,z=!1,m[D]===void 0&&(m[D]=!0),f[D]===void 0&&(f[D]=!0),v[y]===void 0&&(v[y]=!0)))}),z||(h[g]=!0)}),(Object.keys(f).length||Object.keys(m).length)&&this.queue.push({pending:m,pendingCount:Object.keys(m).length,loaded:{},errors:[],callback:c}),{toLoad:Object.keys(f),pending:Object.keys(m),toLoadLanguages:Object.keys(h),toLoadNamespaces:Object.keys(v)}}loaded(o,s,r){const c=o.split("|"),f=c[0],m=c[1];s&&this.emit("failedLoading",f,m,s),!s&&r&&this.store.addResourceBundle(f,m,r,void 0,void 0,{skipCopy:!0}),this.state[o]=s?-1:2,s&&r&&(this.state[o]=0);const h={};this.queue.forEach(v=>{$h(v.loaded,[f],m),uv(v,o),s&&v.errors.push(s),v.pendingCount===0&&!v.done&&(Object.keys(v.loaded).forEach(g=>{h[g]||(h[g]={});const z=v.loaded[g];z.length&&z.forEach(y=>{h[g][y]===void 0&&(h[g][y]=!0)})}),v.done=!0,v.errors.length?v.callback(v.errors):v.callback())}),this.emit("loaded",h),this.queue=this.queue.filter(v=>!v.done)}read(o,s,r,c=0,f=this.retryTimeout,m){if(!o.length)return m(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:o,ns:s,fcName:r,tried:c,wait:f,callback:m});return}this.readingCalls++;const h=(g,z)=>{if(this.readingCalls--,this.waitingReads.length>0){const y=this.waitingReads.shift();this.read(y.lng,y.ns,y.fcName,y.tried,y.wait,y.callback)}if(g&&z&&c<this.maxRetries){setTimeout(()=>{this.read.call(this,o,s,r,c+1,f*2,m)},f);return}m(g,z)},v=this.backend[r].bind(this.backend);if(v.length===2){try{const g=v(o,s);g&&typeof g.then=="function"?g.then(z=>h(null,z)).catch(h):h(null,g)}catch(g){h(g)}return}return v(o,s,h)}prepareLoading(o,s,r={},c){if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),c&&c();J(o)&&(o=this.languageUtils.toResolveHierarchy(o)),J(s)&&(s=[s]);const f=this.queueLoad(o,s,r,c);if(!f.toLoad.length)return f.pending.length||c(),null;f.toLoad.forEach(m=>{this.loadOne(m)})}load(o,s,r){this.prepareLoading(o,s,{},r)}reload(o,s,r){this.prepareLoading(o,s,{reload:!0},r)}loadOne(o,s=""){const r=o.split("|"),c=r[0],f=r[1];this.read(c,f,"read",void 0,void 0,(m,h)=>{m&&this.logger.warn(`${s}loading namespace ${f} for language ${c} failed`,m),!m&&h&&this.logger.log(`${s}loaded namespace ${f} for language ${c}`,h),this.loaded(o,m,h)})}saveMissing(o,s,r,c,f,m={},h=()=>{}){var v,g,z,y,D;if((g=(v=this.services)==null?void 0:v.utils)!=null&&g.hasLoadedNamespace&&!((y=(z=this.services)==null?void 0:z.utils)!=null&&y.hasLoadedNamespace(s))){this.logger.warn(`did not save key "${r}" as the namespace "${s}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(r==null||r==="")){if((D=this.backend)!=null&&D.create){const j={...m,isUpdate:f},M=this.backend.create.bind(this.backend);if(M.length<6)try{let L;M.length===5?L=M(o,s,r,c,j):L=M(o,s,r,c),L&&typeof L.then=="function"?L.then(q=>h(null,q)).catch(h):h(null,L)}catch(L){h(L)}else M(o,s,r,c,h,j)}!o||!o[0]||this.store.addResource(o[0],s,r,c)}}}const Gs=()=>({debug:!1,initAsync:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:u=>{let o={};if(typeof u[1]=="object"&&(o=u[1]),J(u[1])&&(o.defaultValue=u[1]),J(u[2])&&(o.tDescription=u[2]),typeof u[2]=="object"||typeof u[3]=="object"){const s=u[3]||u[2];
10Object.keys(s).forEach(r=>{o[r]=s[r]})}return o},interpolation:{escapeValue:!0,format:u=>u,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0},cacheInBuiltFormats:!0}),Dm=u=>{var o,s;return J(u.ns)&&(u.ns=[u.ns]),J(u.fallbackLng)&&(u.fallbackLng=[u.fallbackLng]),J(u.fallbackNS)&&(u.fallbackNS=[u.fallbackNS]),((s=(o=u.supportedLngs)==null?void 0:o.indexOf)==null?void 0:s.call(o,"cimode"))<0&&(u.supportedLngs=u.supportedLngs.concat(["cimode"])),typeof u.initImmediate=="boolean"&&(u.initAsync=u.initImmediate),u},uo=()=>{},dv=u=>{Object.getOwnPropertyNames(Object.getPrototypeOf(u)).forEach(s=>{typeof u[s]=="function"&&(u[s]=u[s].bind(u))})},Jm="__i18next_supportNoticeShown",fv=()=>typeof globalThis<"u"&&!!globalThis[Jm],mv=()=>{typeof globalThis<"u"&&(globalThis[Jm]=!0)},pv=u=>{var o,s,r,c,f,m,h,v,g,z,y,D,j;return!!(((r=(s=(o=u==null?void 0:u.modules)==null?void 0:o.backend)==null?void 0:s.name)==null?void 0:r.indexOf("Locize"))>0||((h=(m=(f=(c=u==null?void 0:u.modules)==null?void 0:c.backend)==null?void 0:f.constructor)==null?void 0:m.name)==null?void 0:h.indexOf("Locize"))>0||(g=(v=u==null?void 0:u.options)==null?void 0:v.backend)!=null&&g.backends&&u.options.backend.backends.some(M=>{var L,q,H;return((L=M==null?void 0:M.name)==null?void 0:L.indexOf("Locize"))>0||((H=(q=M==null?void 0:M.constructor)==null?void 0:q.name)==null?void 0:H.indexOf("Locize"))>0})||(y=(z=u==null?void 0:u.options)==null?void 0:z.backend)!=null&&y.projectId||(j=(D=u==null?void 0:u.options)==null?void 0:D.backend)!=null&&j.backendOptions&&u.options.backend.backendOptions.some(M=>M==null?void 0:M.projectId))};class qi extends yo{constructor(o={}
vendor: 8,251 bytes, line 10
10,s){if(super(),this.options=Dm(o),this.services={},this.logger=Bt,this.modules={external:[]},dv(this),s&&!this.isInitialized&&!o.isClone){if(!this.options.initAsync)return this.init(o,s),this;setTimeout(()=>{this.init(o,s)},0)}}init(o={},s){this.isInitializing=!0,typeof o=="function"&&(s=o,o={}),o.defaultNS==null&&o.ns&&(J(o.ns)?o.defaultNS=o.ns:o.ns.indexOf("translation")<0&&(o.defaultNS=o.ns[0]));const r=Gs();this.options={...r,...this.options,...Dm(o)},this.options.interpolation={...r.interpolation,...this.options.interpolation},o.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=o.keySeparator),o.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=o.nsSeparator),typeof this.options.overloadTranslationOptionHandler!="function"&&(this.options.overloadTranslationOptionHandler=r.overloadTranslationOptionHandler),this.options.showSupportNotice!==!1&&!pv(this)&&!fv()&&(typeof console<"u"&&typeof console.info<"u"&&console.info("🌐 i18next is made possible by our own product, Locize — consider powering your project with managed localization (AI, CDN, integrations): https://locize.com 💙"),mv());const c=g=>g?typeof g=="function"?new g:g:null;if(!this.options.isClone){this.modules.logger?Bt.init(c(this.modules.logger),this.options):Bt.init(null,this.options);let g;this.modules.formatter?g=this.modules.formatter:g=sv;const z=new Cm(this.options);this.store=new zm(this.options.resources,this.options);const y=this.services;y.logger=Bt,y.resourceStore=this.store,y.languageUtils=z,y.pluralResolver=new lv(z,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),this.options.interpolation.format&&this.options.interpolation.format!==r.interpolation.format&&this.logger.deprecate("init: you are still using the legacy format function, please use the new approach: https://www.i18next.com/translation-function/formatting"),g&&(!this.options.interpolation.format||this.options.interpolation.format===r.interpolation.format)&&(y.formatter=c(g),y.formatter.init&&y.formatter.init(y,this.options),this.options.interpolation.format=y.formatter.format.bind(y.formatter)),y.interpolator=new km(this.options),y.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},y.backendConnector=new cv(c(this.modules.backend),y.resourceStore,y,this.options),y.backendConnector.on("*",(j,...M)=>{this.emit(j,...M)}),this.modules.languageDetector&&(y.languageDetector=c(this.modules.languageDetector),y.languageDetector.init&&y.languageDetector.init(y,this.options.detection,this.options)),this.modules.i18nFormat&&(y.i18nFormat=c(this.modules.i18nFormat),y.i18nFormat.init&&y.i18nFormat.init(this)),this.translator=new ho(this.services,this.options),this.translator.on("*",(j,...M)=>{this.emit(j,...M)}),this.modules.external.forEach(j=>{j.init&&j.init(this)})}if(this.format=this.options.interpolation.format,s||(s=uo),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const g=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);g.length>0&&g[0]!=="dev"&&(this.options.lng=g[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(g=>{this[g]=(...z)=>this.store[g](...z)}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(g=>{this[g]=(...z)=>(this.store[g](...z),this)});const h=Vi(),v=()=>{const g=(z,y)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),h.resolve(y),s(z,y)};if(this.languages&&!this.isInitialized)return g(null,this.t.bind(this));this.changeLanguage(this.options.lng,g)};return this.options.resources||!this.options.initAsync?v():setTimeout(v,0),h}loadResources(o,s=uo){var f,m;let r=s;const c=J(o)?o:this.language;if(typeof o=="function"&&(r=o),!this.options.resources||this.options.partialBundledLanguages){if((c==null?void 0:c.toLowerCase())==="cimode"&&(!this.options.preload||this.options.preload.length===0))return r();const h=[],v=g=>{if(!g||g==="cimode")return;this.services.languageUtils.toResolveHierarchy(g).forEach(y=>{y!=="cimode"&&h.indexOf(y)<0&&h.push(y)})};c?v(c):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(z=>v(z)),(m=(f=this.options.preload)==null?void 0:f.forEach)==null||m.call(f,g=>v(g)),this.services.backendConnector.load(h,this.options.ns,g=>{!g&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),r(g)})}else r(null)}reloadResources(o,s,r){const c=Vi();return typeof o=="function"&&(r=o,o=void 0),typeof s=="function"&&(r=s,s=void 0),o||(o=this.languages),s||(s=this.options.ns),r||(r=uo),this.services.backendConnector.reload(o,s,f=>{c.resolve(),r(f)}),c}use(o){if(!o)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!o.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return o.type==="backend"&&(this.modules.backend=o),(o.type==="logger"||o.log&&o.warn&&o.error)&&(this.modules.logger=o),o.type==="languageDetector"&&(this.modules.languageDetector=o),o.type==="i18nFormat"&&(this.modules.i18nFormat=o),o.type==="postProcessor"&&$m.addPostProcessor(o),o.type==="formatter"&&(this.modules.formatter=o),o.type==="3rdParty"&&this.modules.external.push(o),this}setResolvedLanguage(o){if(!(!o||!this.languages)&&!(["cimode","dev"].indexOf(o)>-1)){for(let s=0;s<this.languages.length;s++){const r=this.languages[s];if(!(["cimode","dev"].indexOf(r)>-1)&&this.store.hasLanguageSomeTranslations(r)){this.resolvedLanguage=r;break}}!this.resolvedLanguage&&this.languages.indexOf(o)<0&&this.store.hasLanguageSomeTranslations(o)&&(this.resolvedLanguage=o,this.languages.unshift(o))}}changeLanguage(o,s){this.isLanguageChangingTo=o;const r=Vi();this.emit("languageChanging",o);const c=h=>{this.language=h,this.languages=this.services.languageUtils.toResolveHierarchy(h),this.resolvedLanguage=void 0,this.setResolvedLanguage(h)},f=(h,v)=>{v?this.isLanguageChangingTo===o&&(c(v),this.translator.changeLanguage(v),this.isLanguageChangingTo=void 0,this.emit("languageChanged",v),this.logger.log("languageChanged",v)):this.isLanguageChangingTo=void 0,r.resolve((...g)=>this.t(...g)),s&&s(h,(...g)=>this.t(...g))},m=h=>{var z,y;!o&&!h&&this.services.languageDetector&&(h=[]);const v=J(h)?h:h&&h[0],g=this.store.hasLanguageSomeTranslations(v)?v:this.services.languageUtils.getBestMatchFromCodes(J(h)?[h]:h);g&&(this.language||c(g),this.translator.language||this.translator.changeLanguage(g),(y=(z=this.services.languageDetector)==null?void 0:z.cacheUserLanguage)==null||y.call(z,g)),this.loadResources(g,D=>{f(D,g)})};return!o&&this.services.languageDetector&&!this.services.languageDetector.async?m(this.services.languageDetector.detect()):!o&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(m):this.services.languageDetector.detect(m):m(o),r}getFixedT(o,s,r){const c=(f,m,...h)=>{let v;typeof m!="object"?v=this.options.overloadTranslationOptionHandler([f,m].concat(h)):v={...m},v.lng=v.lng||c.lng,v.lngs=v.lngs||c.lngs,v.ns=v.ns||c.ns,v.keyPrefix!==""&&(v.keyPrefix=v.keyPrefix||r||c.keyPrefix);const g=this.options.keySeparator||".";let z;return v.keyPrefix&&Array.isArray(f)?z=f.map(y=>(typeof y=="function"&&(y=Bi(y,{...this.options,...m})),`${v.keyPrefix}${g}${y}`)):(typeof f=="function"&&(f=Bi(f,{...this.options,...m})),z=v.keyPrefix?`${v.keyPrefix}${g}${f}`:f),this.t(z,v)};return J(o)?c.lng=o:c.lngs=o,c.ns=s,c.keyPrefix=r,c}t(...o){var s;return(s=this.translator)==null?void 0:s.translate(...o)}exists(...o){var s;return(s=this.translator)==null?void 0:s.exists(...o)}setDefaultNamespace(o){this.options.defaultNS=o}hasLoadedNamespace(o,s={}){if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;
10if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const r=s.lng||this.resolvedLanguage||this.languages[0],c=this.options?this.options.fallbackLng:!1,f=this.languages[this.languages.length-1];if(r.toLowerCase()==="cimode")return!0;const m=(h,v)=>{const g=this.services.backendConnector.state[`${h}|${v}`];return g===-1||g===0||g===2};if(s.precheck){const h=s.precheck(this,m);if(h!==void 0)return h}return!!(this.hasResourceBundle(r,o)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||m(r,o)&&(!c||m(f,o)))}loadNamespaces(o,s){const r=Vi();return this.options.ns?(J(o)&&(o=[o]),o.forEach(c=>{this.options.ns.indexOf(c)<0&&this.options.ns.push(c)}),this.loadResources(c=>{r.resolve(),s&&s(c)}),r):(s&&s(),Promise.resolve())}loadLanguages(o,s){const r=Vi();J(o)&&(o=[o]);const c=this.options.preload||[],f=o.filter(m=>c.indexOf(m)<0&&this.services.languageUtils.isSupportedCode(m));return f.length?(this.options.preload=c.concat(f),this.loadResources(m=>{r.resolve(),s&&s(m)}),r):(s&&s(),Promise.resolve())}dir(o){var c,f;if(o||(o=this.resolvedLanguage||(((c=this.languages)==null?void 0:c.length)>0?this.languages[0]:this.language)),!o)return"rtl";try{const m=new Intl.Locale(o);if(m&&m.getTextInfo){const h=m.getTextInfo();if(h&&h.direction)return h.direction}}catch{}const s=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],r=((f=this.services)==null?void 0:f.languageUtils)||new Cm(Gs());return o.toLowerCase().indexOf("-latn")>1?"ltr":s.indexOf(r.getLanguagePartFromCode(o))>-1||o.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(o={},s){const r=new qi(o,s);return r.createInstance=qi.createInstance,r}cloneInstance(o={},s=uo){const r=o.forkResourceStore;r&&delete o.forkResourceStore;const c={...this.options,...o,isClone:!0},f=new qi(c);if((o.debug!==void 0||o.prefix!==void 0)&&(f.logger=f.logger.clone(o)),["store","services","language"].forEach(h=>{f[h]=this[h]}),f.services={...this.services},f.services.utils={hasLoadedNamespace:f.hasLoadedNamespace.bind(f)},r){const h=Object.keys(this.store.data).reduce((v,g)=>(v[g]={...this.store.data[g]},v[g]=Object.keys(v[g]).reduce((z,y)=>(z[y]={...v[g][y]},z),v[g]),v),{});f.store=new zm(h,c),f.services.resourceStore=f.store}if(o.interpolation){const v={...Gs().interpolation,...this.options.interpolation,...o.interpolation},g={...c,interpolation:v};f.services.interpolator=new km(g)}return f.translator=new ho(f.services,c),f.translator.on("*",(h,...v)=>{f.emit(h,...v)}),f.init(c,s),f.translator.options=c,f.translator.backendConnector.services.utils={hasLoadedNamespace:f.hasLoadedNamespace.bind(f)},f}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const Je=qi.createInstance();Je.createInstance;Je.dir;Je.init;Je.loadResources;Je.reloadResources;Je.use;Je.changeLanguage;Je.getFixedT;Je.t;Je.exists;Je.setDefaultNamespace;Je.hasLoadedNamespace;Je.loadNamespaces;Je.loadLanguages;var Fs={exports:{}},I={};/**
11 * @license React
12 * react.production.js
13 *
14 * Copyright (c) Meta Platforms, Inc. and affiliates.
15 *
16 * This source code is licensed under the MIT license found in the
17 * LICENSE file in the root directory of this source tree.
18 */var Rm;function gv(){if(Rm)return I;Rm=1;var u=Symbol.for("react.transitional.element"),o=Symbol.for("react.portal"),s=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),c=Symbol.for("react.profiler"),f=Symbol.for("react.consumer"),m=Symbol.for("react.context"),h=Symbol.for("react.forward_ref"),v=Symbol.for("react.suspense"),g=Symbol.for("react.memo"),z=Symbol.for("react.lazy"),y=Symbol.for("react.activity"),D=Symbol.iterator;function j(S){return S===null||typeof S!="object"?null:(S=D&&S[D]||S["@@iterator"],typeof S=="function"?S:null)}var M={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},L=Object.assign,q={};function H(S,N,B){this.props=S,this.context=N,this.refs=q,this.updater=B||M}H.prototype.isReactComponent={},H.prototype.setState=function(S,N){if(typeof S!="object"&&typeof S!="function"&&S!=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,S,N,"setState")},H.prototype.forceUpdate=function(S){this.updater.enqueueForceUpdate(this,S,"forceUpdate")};function $(){}$.prototype=H.prototype;function _(S,N,B){this.props=S,this.context=N,this.refs=q,this.updater=B||M}var te=_.prototype=new $;te.constructor=_,L(te,H.prototype),te.isPureReactComponent=!0;var oe=Array.isArray;function ve(){}var Q={H:null,A:null,T:null,S:null},Te=Object.prototype.hasOwnProperty;function me(S,N,B){var G=B.ref;return{$$typeof:u,type:S,key:N,ref:G!==void 0?G:null,props:B}}function Se(S,N){return me(S.type,N,S.props)}function St(S){return typeof S=="object"&&S!==null&&S.$$typeof===u}function $e(S){var N={"=":"=0",":":"=2"};return"$"+S.replace(/[=:]/g,function(B){return N[B]})}var Re=/\/+/g;function je(S,N){return typeof S=="object"&&S!==null&&S.key!=null?$e(""+S.key):N.toString(36)}function et(S){switch(S.status){case"fulfilled":return S.value;case"rejected":throw S.reason;default:switch(typeof S.status=="string"?S.then(ve,ve):(S.status="pending",S.then(function(N){S.status==="pending"&&(S.status="fulfilled",S.value=N)},function(N){S.status==="pending"&&(S.status="rejected",S.reason=N)})),S.status){case"fulfilled":return S.value;case"rejected":throw S.reason}}throw S}function R(S,N,B,G,W){var ne=typeof S;(ne==="undefined"||ne==="boolean")&&(S=null);var he=!1;if(S===null)he=!0;else switch(ne){case"bigint":case"string":case"number":he=!0;break;case"object":switch(S.$$typeof){case u:case o:he=!0;break;case z:return he=S._init,R(he(S._payload),N,B,G,W)}}
vendor: 6,455 bytes, line 18
18if(he)return W=W(S),he=G===""?"."+je(S,0):G,oe(W)?(B="",he!=null&&(B=he.replace(Re,"$&/")+"/"),R(W,N,B,"",function(_n){return _n})):W!=null&&(St(W)&&(W=Se(W,B+(W.key==null||S&&S.key===W.key?"":(""+W.key).replace(Re,"$&/")+"/")+he)),N.push(W)),1;he=0;var We=G===""?".":G+":";if(oe(S))for(var Ne=0;Ne<S.length;Ne++)G=S[Ne],ne=We+je(G,Ne),he+=R(G,N,B,ne,W);else if(Ne=j(S),typeof Ne=="function")for(S=Ne.call(S),Ne=0;!(G=S.next()).done;)G=G.value,ne=We+je(G,Ne++),he+=R(G,N,B,ne,W);else if(ne==="object"){if(typeof S.then=="function")return R(et(S),N,B,G,W);throw N=String(S),Error("Objects are not valid as a React child (found: "+(N==="[object Object]"?"object with keys {"+Object.keys(S).join(", ")+"}":N)+"). If you meant to render a collection of children, use an array instead.")}return he}function P(S,N,B){if(S==null)return S;var G=[],W=0;return R(S,G,"","",function(ne){return N.call(B,ne,W++)}),G}function Z(S){if(S._status===-1){var N=S._result;N=N(),N.then(function(B){(S._status===0||S._status===-1)&&(S._status=1,S._result=B)},function(B){(S._status===0||S._status===-1)&&(S._status=2,S._result=B)}),S._status===-1&&(S._status=0,S._result=N)}if(S._status===1)return S._result.default;throw S._result}var ce=typeof reportError=="function"?reportError:function(S){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var N=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof S=="object"&&S!==null&&typeof S.message=="string"?String(S.message):String(S),error:S});if(!window.dispatchEvent(N))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",S);return}console.error(S)},ge={map:P,forEach:function(S,N,B){P(S,function(){N.apply(this,arguments)},B)},count:function(S){var N=0;return P(S,function(){N++}),N},toArray:function(S){return P(S,function(N){return N})||[]},only:function(S){if(!St(S))throw Error("React.Children.only expected to receive a single React element child.");return S}};return I.Activity=y,I.Children=ge,I.Component=H,I.Fragment=s,I.Profiler=c,I.PureComponent=_,I.StrictMode=r,I.Suspense=v,I.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=Q,I.__COMPILER_RUNTIME={__proto__:null,c:function(S){return Q.H.useMemoCache(S)}},I.cache=function(S){return function(){return S.apply(null,arguments)}},I.cacheSignal=function(){return null},I.cloneElement=function(S,N,B){if(S==null)throw Error("The argument must be a React element, but you passed "+S+".");var G=L({},S.props),W=S.key;if(N!=null)for(ne in N.key!==void 0&&(W=""+N.key),N)!Te.call(N,ne)||ne==="key"||ne==="__self"||ne==="__source"||ne==="ref"&&N.ref===void 0||(G[ne]=N[ne]);var ne=arguments.length-2;if(ne===1)G.children=B;else if(1<ne){for(var he=Array(ne),We=0;We<ne;We++)he[We]=arguments[We+2];G.children=he}return me(S.type,W,G)},I.createContext=function(S){return S={$$typeof:m,_currentValue:S,_currentValue2:S,_threadCount:0,Provider:null,Consumer:null},S.Provider=S,S.Consumer={$$typeof:f,_context:S},S},I.createElement=function(S,N,B){var G,W={},ne=null;if(N!=null)for(G in N.key!==void 0&&(ne=""+N.key),N)Te.call(N,G)&&G!=="key"&&G!=="__self"&&G!=="__source"&&(W[G]=N[G]);var he=arguments.length-2;if(he===1)W.children=B;else if(1<he){for(var We=Array(he),Ne=0;Ne<he;Ne++)We[Ne]=arguments[Ne+2];W.children=We}if(S&&S.defaultProps)for(G in he=S.defaultProps,he)W[G]===void 0&&(W[G]=he[G]);return me(S,ne,W)},I.createRef=function(){return{current:null}},I.forwardRef=function(S){return{$$typeof:h,render:S}},I.isValidElement=St,I.lazy=function(S){return{$$typeof:z,_payload:{_status:-1,_result:S},_init:Z}},I.memo=function(S,N){return{$$typeof:g,type:S,compare:N===void 0?null:N}},I.startTransition=function(S){var N=Q.T,B={};Q.T=B;try{var G=S(),W=Q.S;W!==null&&W(B,G),typeof G=="object"&&G!==null&&typeof G.then=="function"&&G.then(ve,ce)}catch(ne){ce(ne)}finally{N!==null&&B.types!==null&&(N.types=B.types),Q.T=N}},I.unstable_useCacheRefresh=function(){return Q.H.useCacheRefresh()},I.use=function(S){return Q.H.use(S)},I.useActionState=function(S,N,B){return Q.H.useActionState(S,N,B)},I.useCallback=function(S,N){return Q.H.useCallback(S,N)},I.useContext=function(S){return Q.H.useContext(S)},I.useDebugValue=function(){},I.useDeferredValue=function(S,N){return Q.H.useDeferredValue(S,N)},I.useEffect=function(S,N){return Q.H.useEffect(S,N)},I.useEffectEvent=function(S){return Q.H.useEffectEvent(S)},I.useId=function(){return Q.H.useId()},I.useImperativeHandle=function(S,N,B){return Q.H.useImperativeHandle(S,N,B)},I.useInsertionEffect=function(S,N){return Q.H.useInsertionEffect(S,N)},I.useLayoutEffect=function(S,N){return Q.H.useLayoutEffect(S,N)},I.useMemo=function(S,N){return Q.H.useMemo(S,N)},I.useOptimistic=function(S,N){return Q.H.useOptimistic(S,N)},I.useReducer=function(S,N,B){return Q.H.useReducer(S,N,B)},I.useRef=function(S){return Q.H.useRef(S)},I.useState=function(S){return Q.H.useState(S)},I.useSyncExternalStore=function(S,N,B){return Q.H.useSyncExternalStore(S,N,B)},I.useTransition=function(){return Q.H.useTransition()},I.version="19.2.3",I}var xm;function nu(){return xm||(xm=1,Fs.exports=gv()),Fs.exports}var O=nu();const Om=Zm(O),hv=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,vv={"&amp;":"&","&#38;":"&","&lt;":"<","&#60;":"<","&gt;":">","&#62;":">","&apos;":"'","&#39;":"'","&quot;":'"',"&#34;":'"',"&nbsp;":" ","&#160;":" ","&copy;":"©","&#169;":"©","&reg;":"®","&#174;":"®","&hellip;":"…","&#8230;":"…","&#x2F;":"/","&#47;":"/"},yv=u=>vv[u],bv=u=>u.replace(hv,yv);let Is={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:bv,transDefaultProps:void 0};const Sv=(u={})=>{Is={...Is,...u}},x0=()=>Is;let Wm;const zv=u=>{Wm=u},O0=()=>Wm,Av={type:"3rdParty",init(u){Sv(u.options.react),zv(u)}},Cv={cancel:"Cancel",confirm:"Confirm",save:"Save",saving:"Saving...",delete:"Delete",deleting:"Deleting...",back:"Back",next:"Next",close:"Close",loading:"Loading...",retry:"Retry",upgrade:"Upgrade",buyMore:"Buy More",buyNow:"Buy Now",logOut:"Log out",free:"Free",pro:"Pro",active:"Active",canceled:"Canceled",expired:"Expired",previous:"Previous",credits:"credits",freeTrials:"free trials",continue:"Continue",rename:"Rename",name:"Name",preview:"Preview",processing:"Processing",ready:"Ready",failed:"Failed",unknown:"Unknown"}
18,Tv={fillAllFields:"Please fill in all fields",invalidEmail:"Please enter a valid email address",passwordTooShort:"Password must be at least 8 characters",passwordHint:"Must be at least 8 characters long.",fillBothPasswords:"Please fill in both password fields.",enterEmail:"Please enter your email address",invalidOtp:"Please enter a valid 6-digit code"},Ev={projects:"Projects",voices:"Voices",settings:"Settings",workspace:"Workspace",darkMode:"Dark Mode",lightMode:"Light Mode"},wv={plan:"Plan",freeTrials:"Free Trials",expiresIn:"Expires in {{days}} day(s)",myProfile:"My Profile",billingSubscription:"Billing & Subscription"},kv={myProjects:"My Projects",subtitle:"Manage and localize videos easily.",newProject:"New Project",createProjectFailed:"Create project failed",upgradeStarted:"Project upgrade started! Full translation is now in progress.",upgradeProjectFailed:"Failed to upgrade project",promoBanner:{title:"Upgrade to Go Global",description:"Unlock professional tools like 4K export and voice cloning to expand your reach.",upgradeNow:"Upgrade Now"}},Mv={title:"Translate video or audio to 40+ languages",description:"Get clean subtitles, natural voiceover, and perfect lip-sync timing in one tool. Upload your first video to get started.",cta:"Translate Video Now"},Dv={videoBundle:"Video Bundle",languages:"Languages",duration:"Duration",created:"Created",status:"Status",actions:"Actions",source:"Source",versions:"{{count}} Versions",readyCount:"{{count}} Ready",failedCount:"{{count}} Failed",allReady:"All Ready",clickToPreview:"Click to preview original",viewDetails:"View Details",downloadAll:"Download all",upgradeToDownload:"Upgrade to Download",deleteAll:"Delete all",firstMinTranslated:"First 1 min translated",processFullVideo:"Process Full Video",video:"Video",generating:"Generating...",videoWithSubtitles:"Video with Subtitles",translatedSubtitle:"Translated Subtitle",originalSubtitle:"Original Subtitle",noProjects:"No projects found. Create one to get started.",renameProject:"Rename project",renameVersion:"Rename version",deleteVersionConfirm:"Are you sure you want to delete this version?",deleteGroupConfirm:"Are you sure you want to delete this project group?",deleteVersionMessage:"Once deleted, this version will no longer be accessible.",deleteGroupMessage:"All versions in this group will be removed.",groupRenamed:"Project group renamed successfully",projectRenamed:"Project renamed successfully",renameFailed:"Rename failed",groupDeleted:"Project group deleted successfully",projectDeleted:"Project deleted successfully",deleteFailed:"Delete failed",videoNotAvailable:"Video URL not available",subtitleNotAvailable:"Video or subtitle not available",generatingVideoSubtitles:"Generating video with subtitles...",generatingPleaseWait:"This may take a moment. Please wait.",videoReady:"Video ready!",videoGenerated:"Video generated successfully!",generateFailed:"Failed to generate video with subtitles"},Rv={title:"New Project",uploadingFile:"Uploading {{fileName}}...",uploadFailed:"Upload Failed",clickToRetry:"Click to try again",dropVideo:"Drop your video here",releaseToUpload:"Release to upload",clickToUpload:"Click to upload or drag & drop",uploadHint:"MP4, MOV, or WEBM up to {{maxSize}}MB, max 1 hour",invalidVideoFileType:"Please upload a video file (MP4, MOV, or WEBM)",fileSizeExceeded:"File size ({{sizeMB}}MB) exceeds the {{maxSizeMB}}MB limit. Please upload a smaller video.",videoDurationExceeded:"Video duration ({{durationMin}} min) exceeds the {{maxMin}}-minute limit. Please upload a shorter video.",uploadFailedGeneric:"Upload failed",importFrom:"Or import from",pasteYoutube:"Paste YouTube Link (Coming Soon)",changeFile:"Change File",projectName:"Project Name",targetLanguages:"Target Languages",selectedCount:"{{count}} selected",selectLanguages:"Select languages...",search:"Search...",noMatch:"No match",audioMode:"Audio Mode",cloneVoiceAuto:"Clone Voice (Auto)",myVoices:"My Voices",systemVoices:"System Voices",speakerCount:"Speaker Count",autoDetect:"Auto Detect",speakerSingular:"{{count}} Speaker",speakerPlural:"{{count}} Speakers",durationMode:"Duration Mode",autoFit:"Auto-fit",natural
18:"Natural",custom:"Custom",autoFitDesc:"AI adjusts speech speed to match original video timing. Best for Ads & Lip-sync.",naturalDesc:"Prioritizes natural speaking pace. Video frame may freeze to sync audio. Best for Vlogs/Education.",customDesc:"Manually control the speed multiplier (e.g. 1.1x). Useful for specific pacing needs.",upTo:"Up to",timesOriginal:"× original",adCopy:"Ad Copy",optional:"(Optional)",quickAdd:"Quick add:",adCopyTitle:"Title",adCopyDescription:"Description",adCopyCta:"CTA",adCopyComment:"Comment",labelPlaceholder:"Label (e.g. Title)",addTextField:"Add Text Field",insufficientCredits:"Insufficient credits. Please upgrade to continue.",freeTrialInfo:"Free Trial: You can translate the first 60 seconds only.",freeTrialsRemaining:"({{count}} free trials remaining)",unlockFull:"Unlock Full Translation",noSubscription:"No active subscription. Please upgrade to continue.",trialLimitExceeded:"Trial limit exceeded. Please upgrade to continue.",trialMode:"Trial Mode (60s preview)",estimatedCredits:"Estimated: {{count}} credits",estimatedCreditsDetail:"({{langCount}} langs × {{creditsPerLang}} credits/lang)",estimatedZero:"Estimated: 0 credits",tryForFree:"Try for Free ({{count}})",translate:"Translate",translateCount:"Translate ({{count}})"},xv={login:{title:"Welcome back",subtitle:"Enter your credentials to access your workspace.",continueGoogle:"Continue with Google",orContinueEmail:"Or continue with email",email:"Email",password:"Password",forgotPassword:"Forgot password?",signIn:"Sign in",signingIn:"Signing in...",noAccount:"Don't have an account?",signUp:"Sign up",emailNotVerified:"Email not verified. Please verify your email.",loginFailed:"Login failed. Please check your credentials.",googleLoginFailed:"Failed to initialize Google login"},signup:{title:"Create an account",subtitle:"Start localizing your videos in minutes.",orSignupEmail:"Or sign up with email",name:"Name",namePlaceholder:"Your name",passwordPlaceholder:"Create a strong password",getStarted:"Get Started",creatingAccount:"Creating Account...",registrationFailed:"Registration failed",termsAgreement:'By clicking "Get Started", you agree to our',termsOfService:"Terms of Service",and:"and",privacyPolicy:"Privacy Policy",hasAccount:"Already have an account?",verify:{title:"Verify your email",subtitle:"We've sent a code to {{email}}",enterCode:"Enter Verification Code",verifyEmail:"Verify Email",resendIn:"Resend code in {{seconds}}s",resendCode:"Resend Verification Code",backToSignup:"Back to Sign up",incorrectCode:"Incorrect verification code. Please try again.",codeExpired:"Verification code has expired. Please request a new one.",verificationFailed:"Verification failed",resendFailed:"Failed to resend code"}},forgotPassword:{title:"Reset Password",subtitle:"Enter your email to receive a reset code.",setNewTitle:"Set New Password",setNewSubtitle:"Enter the code sent to your email and your new password.",sendResetCode:"Send Reset Code",sendingCode:"Sending Code...",resetCode:"Reset Code",enterCode:"Enter 6-digit code",newPassword:"New Password",resetPassword:"Reset Password",resetting:"Resetting...",backToLogin:"Back to Sign in",resetSuccess:"Password reset successfully! Redirecting to login...",resetCodeSent:"Reset code sent to your email",sendFailed:"Failed to send reset code",resetFailed:"Failed to reset password"},layout:{heroTitle:"Break language barriers with AI-powered video localization.",feature1:"Voice Cloning with 99% accuracy",feature2:"Perfect Lip-Sync technology",feature3:"Support for 40+ languages"}},Ov={title:"Settings",subtitle:"Configure your workspace preferences and API access.",appearance:"Appearance",themePreference:"Theme Preference",themeDescription:"Switch between light and dark modes.",light:"Light",dark:"Dark",generalPreferences:"General Preferences",language:"Language",languageDescription:"The language of the dashboard interface.",timezone:"Timezone",timezoneDescription:"Used for billing and notification emails.",notifications:"Notifications",projectCompletion:"Project completion alerts",weeklySummary:"Weekly summary emails",productUpdates:"Product updates & announcements",yourSubscription:"Your Subscription",youAreOn:"You are on",payingMonthly:"paying monthly",payingYearly:"paying yearly",planRenewOn:"Your plan will renew on {{date}} for {{amount}}.",subscriptionEndOn:"Your subscription will end on {{date}}.",cancelSubscription:"Cancel Subscription",keepSubscription:"Keep Subscription",resubscribe:"Resubscribe",upgradePlan:"Upgrade Plan",upgradeDescription:"Upgrade to unlock full video translations and premium features.",freePlan:"Free Plan",resubscribeFailed:"Failed to resubscribe",cancelSurvey:{title:"We're sorry to see you go",subtitle:"Please let us know why you're canceling so we can improve.",reasons:{noNeed:"I don't need video translation anymore.",qualityBad:"The translation quality didn't meet my expectations.",tooSlow:"Processing speed was too slow.",notUsed:"I'm not using the product often enough.",tooExpensive:"It's too expensive for my budget.",betterAlternative:"I found a better alternative."},other:"Other",otherPlaceholder:"Please tell us more..."},cancelConfirm:{title:"Cancel Subscription?",message:"Your subscription will remain active until <strong>{{date}}</strong>. After that, you will lose access to premium features.",yesCancel:"Yes, Cancel"}},jv={title:"Billing & Subscription",subtitle:"Manage your plan, billing history, and payment methods.",currentPlan:"Current Plan",youAreOn:"You are currently on the",plan:"plan.",creditsRemaining:"{{count}} credits remaining",renewsOn:"Renews on {{date}}",subscriptionEndOn:"Your subscription will end on {{date}}.",noteActiveRequired:"Note: An active plan is required to use credits.",manageSubscription:"Manage Subscription",opening:"Opening...",usage:"Usage",resetOn:"Reset on {{date}}",noActiveSubscription:"No active subscription",creditHistory:"Credit History",noTransactions:"No credit transactions yet.",description:"Description",date:"Date",amount:"Amount",page:"Page {{current}} of {{total}}",creditsUsed:"{{used}} / {{total}} credits used",freeTrialsUsed:"{{used}} / {{total}} Free trials used",upgradePlan:"Upgrade Plan",paymentSuccess:"Payment successful! Your subscription is now active.",confirmingPayment:"Confirming your payment...",subscriptionCanceled:"Subscription will be canceled at the end of the current period.",cancelFailed:"Failed to cancel subscription",subscriptionReactivated:"Subscription reactivated! Your plan will continue as normal.",resubscribeFailed:"Failed to resubscribe",cancelConfirm:{title:"Cancel Subscription?",message:"Your subscription will remain active until <strong>{{date}}</strong>. After that, you will lose access to premium features.",keepSubscription:"Keep Subscription",yesCancel:"Yes, Cancel"}},Nv={title:"My Profile",subtitle:"Manage your personal information and account security.",name:"Name",emailAddress:"Email Address",changePassword:"Change Password",workspaceName:"Workspace Name",saveChanges:"Save Changes",accountSettings:"Account Settings",mail:"Mail",oldPassword:"Old password",oldPasswordPlaceholder:"Enter old password",newPassword:"New password",newPasswordPlaceholder:"Enter new password",passwordUpdated:"Password updated successfully.",passwordUpdateFailed:"Failed to update password."},Vv={title:"Voice Library",subtitle:"Manage your custom voices and explore system voices for video dubbing.",cloneNewVoice:"Clone New Voice",searchPlaceholder:"Search voices by name, description, or tags...",filterAll:"All",f
18ilterMy:"My Voices",filterSystem:"System",myVoices:"My Voices",systemVoices:"System Voices",cloneQuota:"Clone Quota",paidOnly:"Paid",languages:"Languages",myClonedVoices:"My Cloned Voices",noClonedVoices:"No cloned voices yet",noClonedDescription:"Clone your voice to create personalized dubbing for your videos.",cloneFirstVoice:"Clone Your First Voice",uploadModal:{title:"Clone Your Voice",subtitle:"Upload an audio sample for voice cloning",voiceName:"Voice Name *",voiceNamePlaceholder:"e.g., My CEO Voice",description:"Description",descriptionPlaceholder:"Describe your voice (e.g., professional, warm, energetic...)",audioSample:"Audio Sample *",uploadPrompt:"Click to upload or drag and drop",uploadHint:"WAV, MP3, or M4A (max 10 MB, 30s-2min)",tagsOptional:"Tags (optional)",addTag:"Add tag...",tips:"Tips for best results:",tip1:"Record in a quiet environment",tip2:"Speak clearly at a natural pace",tip3:"Use 30 seconds to 2 minutes of audio",cloneVoice:"Clone Voice",processing:"Processing..."}},Uv={title:"Pricing",yearly:"Yearly",monthly:"Monthly",save40:"Save 40%",perMonthBilledAnnually:"per month, billed annually",perMonth:"per month",currentPlan:"Current Plan",mostPopular:"Most Popular",compareAllFeatures:"Compare All Features",closeAria:"Close pricing",saveAmount:"SAVE ${{amount}}",unitYear:"year",unitMonth:"month",creditsWithUnit:"{{credits}} credits/{{unit}}",translationUpTo:"AI Translation up to {{mins}} mins",translationUpToWithUnit:"AI Translation up to {{mins}} mins/{{unit}}",plans:{starter:"Starter",creator:"Creator",scale:"Scale"},planDescriptions:{starter:"Perfect for individuals and hobbyists.",creator:"For growing channels & stores.",scale:"Scale your global production."},loadingPlans:"Loading plans...",faq:{title:"Frequently Asked Questions",items:[{question:"What are Credits?",answer:`Credits are used to pay for video translation on Genve.
19
20• Rate: Every 30 seconds of video costs 0.5 Credit per target language.
21• Rounding: Time is rounded up to the next 30‑second block.
22(e.g. 45 seconds is charged as 60 seconds = 1 Credit)
23• Example:
24  - Translating a 1 minute 25 second video into 1 language will cost 1.5 credits.
25  - Translating a 2-minute video into 2 different languages will cost 4 credits.`},{question:"Do my credits expire?",answer:`Credit validity depends on your plan status:
26
27• Monthly Subscription: Credits roll over and remain valid for 2 months.
28• Yearly Subscription: Credits remain valid for 14 months (1 year + 2 months grace period).
29• Note: To utilize any accumulated credits, you must maintain an active subscription. If your subscription is cancelled, your credits will be frozen until you resubscribe.`},{question:"What is the refund policy?",answer:`We strive to provide a transparent and reliable service. Our policy is as follows:
30
31• Technical Failures: If a translation fails due to our system errors, the deducted credits will be automatically refunded to your account balance.
32• Subscription Payments: We currently do not offer refunds for subscription fees. To help you make an informed decision, we offer 3 complimentary trial opportunities to translate 3 videos for every new user. Please fully utilize these trials to experience our features before subscribing.
33
34If you have already subscribed but decide not to continue using our services, please cancel your subscription before the next billing cycle to avoid further charges.`},{question:"Can I change my plan?",answer:"Yes, you can upgrade or downgrade your plan at any time. Both upgrades and downgrades take effect immediately. Please choose the plan that best suits your current needs."},{question:"How do I cancel my subscription?",answer:`You can cancel your subscription by navigating to the Settings page and clicking "Cancel Subscription" in the Subscription module.
35
36• Access: After cancellation, you will retain access to all premium features until the end of your current billing cycle.
37• No Future Charges: Once the current cycle ends, you will no longer be charged.`},{question:"What happens to my credits after cancellation?",answer:`If your subscription expires (after the billing cycle ends):
38
39• Frozen Credits: Your unused credits will not disappear immediately; they are retained until their original expiration date.
40• Reactivation: However, you cannot use these credits while unsubscribed. If you reactivate your subscription before the credits expire, you will immediately regain access to use them.`},{question:"How can I get more credits?",answer:"If you run out of credits, you can simply upgrade your plan via your dashboard."},{question:"How do I contact support?",answer:`We are here to help! You can reach us via:
41
42• Live Chat: Click the support button in the bottom right corner of the page.
43• Email: Send your inquiries to [email protected].`}]},featureComparison:{credits:"Credits",aiTranslationDuration:"AI Translation Duration",aiLipSync:"AI Lip Sync",videoRes
43olution:"Video Resolution",languages:"Languages",speakerDetection:"Speaker Detection",qualityPreservation:"Quality Preservation",noWatermark:"No Watermark",creditRollover:"Credit Rollover",generationSpeed:"Generation Speed",techSupport:"Tech Support",autoUpdates:"Auto Updates",cancelAnytime:"Cancel Anytime"},featureValues:{videoResolution1080p:"1080p HD",videoResolution4k:"4K Ultra HD",languages60Plus:"60+ Languages",speakerDetectionAuto:"Auto-Detect",qualityLossless:"Lossless",creditRollover1Month:"1 Month",creditRollover2Months:"2 Months",generationSpeedStandard:"Standard",generationSpeed2xTurbo:"2x Turbo",generationSpeed3xMax:"3x Max",techSupportFree:"Free Support"},featureSuffix:{perUnit:" per {{unit}}",mins:" mins"}},Pv={unlockGlobalReach:"Unlock Global Reach",subtitle:"Scale your video content with professional AI translation, voice cloning, and lip-syncing."},Lv={cta:"Unlock now",resultLabel:"Your localized result",reasons:{download_video:{title:"Download your complete localized video",description:"Choose a plan to unlock full-resolution video downloads and commercial use."},download_subtitle:{title:"Unlock video and subtitle exports",description:"Get the translated video, original subtitles, and translated subtitles in one plan."},download_bundle:{title:"Download every localized version",description:"Upgrade once to export all ready languages and keep creating new versions."},second_project:{title:"Ready to localize your next video?",description:"Your first project is already underway. Choose a plan to create more projects."},additional_language:{title:"Reach more markets with every language",description:"Free projects include one target language. Upgrade to localize into multiple languages at once."},voice_clone:{title:"Clone a voice for your next video",description:"Voice cloning is included with paid plans for natural, consistent localized speech."},insufficient_credits:{title:"Keep your localization workflow moving",description:"Choose a plan to add processing minutes and start this project now."},header_upgrade:{title:"Unlock the complete Genve workflow",description:"Create more videos, add languages, clone voices, and export every result."},promo_banner:{title:"Turn one video into content for every market",description:"Upgrade to unlock more projects, languages, voice cloning, and full exports."},generic:{title:"Unlock the complete Genve workflow",description:"Create more videos, add languages, clone voices, and export every result."}}},Bv={title:"Process Full Video",subtitle:"Translate the remaining duration?",creditsToUse:"Credits to Use",remainingCredits:"Remaining Credits",insufficientCredits:"Insufficient Credits"},qv={upgradeTitle:"Upgrade to translate full video",upgradeDescription:"To translate videos over a minute long without watermark, choose plan that suits your needs.",completed:"Completed",video:"Video",videoWithSubtitles:"Video + Subtitles",translatedSubtitles:"Translated Subtitles",originalSubtitles:"Original Subtitles",firstMinTranslated:"First 1 min translated",translateFullVideo:"Translate Full Video",language:"Language",audio:"Audio",cloned:"Cloned",adCopy:"Ad Copy",localizedAdCopy:"Localized Ad Copy",original:"Original",translated:"Translated",noAdCopy:"No ad copy was provided",noAdCopyHint:"Add titles, descriptions, or CTAs in the New Project modal",copiedAll:"Copied All!",copyAllTranslated:"Copy All Translated Text",lastUpdated:"Last updated: Just now",upgradeToDownload:"Upgrade to Download"},_v={common:Cv,validation:Tv,sidebar:Ev,header:wv,dashboard:kv,emptyState:Mv,projectTable:Dv,newProject:Rv,auth:xv,settings:Ov,billing:jv,profile:Nv,voices:Vv,pricing:Uv,pricingModal:Pv,paywall:Lv,upgradeProject:Bv,videoDetails:qv},Hv={cancel:"取消",confirm:"确认",save:"保存",saving:"保存中...",delete:"删除",deleting:"删除中...",back:"返回",next:"下一步",close:"关闭",loading:"加载中...",retry:"重试",upgrade:"升级",buyMore:"购买更多",buyNow:"立即购买",logOut:"退出登录",free:"免费版",pro:"专业版",active:"活跃",canceled:"已取消",expired:"已过期",previous:"上一页",credits:"积分",freeTrials:"免费试用次数",continue:"ç»§ç»­",rename:"重命名",name:"名称",preview:"预览",processing:"处理中",ready:"å°±ç
43»ª",failed:"失败",unknown:"未知"},Gv={fillAllFields:"请填写所有字段",invalidEmail:"请输入有效的邮箱地址",passwordTooShort:"密码至少需要 8 个字符",passwordHint:"密码至少需要 8 个字符。",fillBothPasswords:"请填写新旧密码。",enterEmail:"请输入您的邮箱地址",invalidOtp:"请输入有效的 6 位验证码"},Fv={projects:"项目",voices:"声音库",settings:"设置",workspace:"工作区",darkMode:"深色模式",lightMode:"浅色模式"},Yv={plan:"套餐",freeTrials:"免费试用",expiresIn:"{{days}} 天后过期",myProfile:"个人资料",billingSubscription:"账单与订阅"},Kv={myProjects:"我的项目",subtitle:"轻松管理和本地化您的视频。",newProject:"新建项目",createProjectFailed:"创建项目失败",upgradeStarted:"项目升级已开始!正在进行完整翻译。",upgradeProjectFailed:"升级项目失败",promoBanner:{title:"升级畅享全球化",description:"解锁 4K 导出和声音克隆等专业功能,拓展您的全球影响力。",upgradeNow:"立即升级"}},Zv={title:"将视频或音频翻译成 40 多种语言",description:"一站式获取精准字幕、自然配音和完美唇形同步。上传您的第一个视频即可开始。",cta:"立即翻译视频"},Qv={videoBundle:"视频组",languages:"语言",duration:"时长",created:"创建时间",status:"状态",actions:"操作",source:"原始",versions:"{{count}} 个版本",readyCount:"{{count}} 个就绪",failedCount:"{{count}} 个失败",allReady:"全部就绪",clickToPreview:"点击预览原视频",viewDetails:"查看详情",downloadAll:"全部下载",upgradeToDownload:"升级后下载",deleteAll:"全部删除",firstMinTranslated:"已翻译前 1 分钟",processFullVideo:"处理完整视频",video:"视频",generating:"生成中...",videoWithSubtitles:"带字幕视频",translatedSubtitle:"翻译字幕",originalSubtitle:"原始字幕",noProjects:"暂无项目,立即创建一个吧。",renameProject:"重命名项目",renameVersion:"重命名版本",deleteVersionConfirm:"确定要删除此版本吗?",deleteGroupConfirm:"确定要删除整个项目组吗?",deleteVersionMessage:"删除后将无法恢复此版本。",deleteGroupMessage:"该组中的所有版本都将被移除。",groupRenamed:"项目组重命名成功",projectRenamed:"项目重命名成功",renameFailed:"重命名失败",groupDeleted:"项目组删除成功",projectDeleted:"项目删除成功",deleteFailed:"删除失败",videoNotAvailable:"视频链接不可用",subtitleNotAvailable:"视频或字幕不可用",generatingVideoSubtitles:"正在生成带字幕的视频...",generatingPleaseWait:"这可能需要一些时间,请稍候。",videoReady:"视频已就绪!",videoGenerated:"视频生成成功!",generateFailed:"生成带字幕视频失败"},$v={title:"新建项目",uploadingFile:"正在上传 {{fileName}}...",uploadFailed:"上传失败",clickToRetry:"点击重试",dropVideo:"将视频拖放到此处",releaseToUpload:"松开即可上传",clickToUpload:"点击上传或拖放文件",uploadHint:"MP4、MOV 或 WEBM 格式,最大 {{maxSize}}MB,最长 1 小时",invalidVideoFileType:"请上传视频文件(MP4、MOV 或 WEBM)",fileSizeExceeded:"文件大小({{sizeMB}}MB)超过 {{maxSizeMB}}MB 限制,请上传更小的视频。",videoDurationExceeded:"视频时长({{durationMin}} 分钟)超过 {{maxMin}} 分钟限制,请上传更短的视频。",uploadFailedGeneric:"上传失败",importFrom:"或从以下方式导入",pasteYoutube:"粘贴 YouTube 链接(即将推出)",changeFile:"更换文件",projectName:"项目名称",targetLanguages:"目标语言",selectedCount:"已选择 {{count}} 个",selectLanguages:"选择语言...",search:"搜索...",noMatch:"无匹配结果",audioMode:"音频模式",cloneVoiceAuto:"克隆声音(自动)",myVoices:"我的声音",systemVoices:"系统声音",speakerCount:"说话人数",autoDetect:"自动检测",speakerSingular:"{{count}} 位说话人",speakerPlural:"{{count}} 位说话人",durationMode:"时长模式",autoFit:"自动适配",natural:"自然",custom:"自定义",autoFitDesc:"AI 自动调整语速以匹配原视频时长。最适合广告和唇形同步。",naturalDesc:"优先保持自然语速。视频画面可能会冻结以同步音频。最适合 Vlog/教育类视频。",customDesc:"手动控制速度倍率(如 1.1x)。适用于特定节奏需求ã€
43‚",upTo:"最高",timesOriginal:"× 原始",adCopy:"广告文案",optional:"(可选)",quickAdd:"快速添加:",adCopyTitle:"标题",adCopyDescription:"描述",adCopyCta:"行动号召",adCopyComment:"评论",labelPlaceholder:"标签(如 标题)",addTextField:"添加文本字段",insufficientCredits:"积分不足,请升级后继续。",freeTrialInfo:"免费试用:仅翻译前 60 秒。",freeTrialsRemaining:"(剩余 {{count}} 次免费试用)",unlockFull:"解锁完整翻译",noSubscription:"无有效订阅,请升级后继续。",trialLimitExceeded:"试用次数已用完,请升级后继续。",trialMode:"试用模式(60 秒预览)",estimatedCredits:"预计使用:{{count}} 积分",estimatedCreditsDetail:"({{langCount}} 种语言 × {{creditsPerLang}} 积分/语言)",estimatedZero:"预计使用:0 积分",tryForFree:"免费试用 ({{count}})",translate:"翻译",translateCount:"翻译 ({{count}})"},Xv={login:{title:"欢迎回来",subtitle:"输入您的凭据以访问工作区。",continueGoogle:"使用 Google 登录",orContinueEmail:"或使用邮箱登录",email:"邮箱",password:"密码",forgotPassword:"忘记密码?",signIn:"登录",signingIn:"登录中...",noAccount:"还没有账号?",signUp:"注册",emailNotVerified:"邮箱未验证,请先验证您的邮箱。",loginFailed:"登录失败,请检查您的凭据。",googleLoginFailed:"Google 登录初始化失败"},signup:{title:"创建账号",subtitle:"几分钟内开始本地化您的视频。",orSignupEmail:"或使用邮箱注册",name:"姓名",namePlaceholder:"您的姓名",passwordPlaceholder:"创建一个强密码",getStarted:"开始使用",creatingAccount:"创建账号中...",registrationFailed:"注册失败",termsAgreement:"点击「开始使用」即表示您同意我们的",termsOfService:"服务条款",and:"和",privacyPolicy:"隐私政策",hasAccount:"已有账号?",verify:{title:"验证您的邮箱",subtitle:"我们已向 {{email}} 发送了验证码",enterCode:"输入验证码",verifyEmail:"验证邮箱",resendIn:"{{seconds}} 秒后可重新发送",resendCode:"重新发送验证码",backToSignup:"返回注册",incorrectCode:"验证码不正确,请重试。",codeExpired:"验证码已过期,请重新获取。",verificationFailed:"验证失败",resendFailed:"重新发送失败"}},forgotPassword:{title:"重置密码",subtitle:"输入您的邮箱以接收重置码。",setNewTitle:"设置新密码",setNewSubtitle:"输入发送到您邮箱的验证码和新密码。",sendResetCode:"发送重置码",sendingCode:"发送中...",resetCode:"重置码",enterCode:"输入 6 位验证码",newPassword:"新密码",resetPassword:"重置密码",resetting:"重置中...",backToLogin:"返回登录",resetSuccess:"密码重置成功!正在跳转到登录页...",resetCodeSent:"重置码已发送至您的邮箱",sendFailed:"发送重置码失败",resetFailed:"重置密码失败"},layout:{heroTitle:"用 AI 视频本地化打破语言障碍。",feature1:"99% 准确度的声音克隆",feature2:"完美唇形同步技术",feature3:"支持 40 多种语言"}},Jv={title:"设置",subtitle:"配置您的工作区偏好和 API 访问。",appearance:"外观",themePreference:"主题偏好",themeDescription:"在浅色和深色模式之间切换。",light:"浅色",dark:"深色",generalPreferences:"通用偏好",language:"语言",languageDescription:"控制面板的界面语言。",timezone:"时区",timezoneDescription:"用于账单和通知邮件。",notifications:"通知",projectCompletion:"项目完成提醒",weeklySummary:"每周摘要邮件",productUpdates:"产品更新与公告",yourSubscription:"您的订阅",youAreOn:"您当前使用的是",payingMonthly:"按月付费",payingYearly:"按年付费",planRenewOn:"您的套餐将于 {{date}} ç»­è´¹ {{amount}}。",subscriptionEndOn:"您的订阅将于 {{date}} 结束。",cancelSubscription:"取消订阅",keepSubscription:"保留订阅",resubscribe:"重新订阅",upgradePlan:"升级套餐",upgradeDescription:"升级以解锁完整视频翻译和高级功能。",freePlan:"免费版",resubscribeFailed:"重新订阅失败",cancelSurvey:{title:"很抱歉看到您离开",subtitle:"请告诉我们您取消的原因,以便我们改进。",reasons:{noNeed:"我不再需要视频翻译了。",qualityBad:"翻译质量未达到我的预期。",tooSlow:"处理速度太慢了。",notUsed:"我使用产品的频率不够高。",tooExpensive:"价格超出了我的预算。",betterAlternative:"我找到了更好的替代品。"},other:"其他",otherPlaceholder:"请告诉我们更多..."},cancelConfirm:{title:"确认取消订阅?",message:"您的订阅将在 <strong>{{date}}</strong> 之前保持有效。之后您将无法使用高级功能。",yesCancel:"确认取消"}},Wv={title:"账单与订阅",subtitle:"管理您的套餐、账单记录和支付方式。",currentPlan:"当前套餐",youAreOn:"您当前使用的是",plan:"套餐。",creditsRemaining:"剩余 {{count}} 积分",renewsOn:"续费日期:{{date}}",subscriptionEndOn:"您的订阅将于 {{date}} 结束。",noteActiveRequired:"注意:使用积分需要保持活跃订阅。",manageSubscription:"管理订阅",opening:"打开中...",usage:"使用量",resetOn:"重置日期:{{date}}",noActiveSubscription:"无活跃订阅",creditHistory:"积分记录",noTransactions:"暂无积分交易记录。",description:"描述",date:"日期",amount:"数量",page:"第 {{current}} 页 / 共 {{total}} 页",creditsUsed:"{{used}} / {{total}} 积分已使用",freeTrialsUsed:"{{used}} / {{total}} 免费试用已使用",upgradePlan:"升级套餐",paymentSuccess:"支付成功!您的订阅已激活。",confirmingPayment:"æ­£å
43œ¨ç¡®è®¤æ‚¨çš„æ”¯ä»˜...",subscriptionCanceled:"订阅将在当前周期结束时取消。",cancelFailed:"取消订阅失败",subscriptionReactivated:"订阅已重新激活!您的套餐将正常继续。",resubscribeFailed:"重新订阅失败",cancelConfirm:{title:"确认取消订阅?",message:"您的订阅将在 <strong>{{date}}</strong> 之前保持有效。之后您将无法使用高级功能。",keepSubscription:"保留订阅",yesCancel:"确认取消"}},Iv={title:"个人资料",subtitle:"管理您的个人信息和账户安全。",name:"姓名",emailAddress:"邮箱地址",changePassword:"修改密码",workspaceName:"工作区名称",saveChanges:"保存更改",accountSettings:"账户设置",mail:"邮箱",oldPassword:"旧密码",oldPasswordPlaceholder:"输入旧密码",newPassword:"新密码",newPasswordPlaceholder:"输入新密码",passwordUpdated:"密码更新成功。",passwordUpdateFailed:"密码更新失败。"},ey={title:"声音库",subtitle:"管理您的自定义声音,探索系统声音进行视频配音。",cloneNewVoice:"克隆新声音",searchPlaceholder:"搜索声音名称、描述或标签...",filterAll:"全部",filterMy:"我的声音",filterSystem:"系统声音",myVoices:"我的声音",systemVoices:"系统声音",cloneQuota:"克隆配额",paidOnly:"付费版",languages:"语言",myClonedVoices:"我的克隆声音",noClonedVoices:"暂无克隆声音",noClonedDescription:"克隆您的声音,为视频创建个性化配音。",cloneFirstVoice:"克隆您的第一个声音",uploadModal:{title:"克隆您的声音",subtitle:"上传音频样本进行声音克隆",voiceName:"声音名称 *",voiceNamePlaceholder:"例如:我的 CEO 声音",description:"描述",descriptionPlaceholder:"描述您的声音(例如:专业、温暖、充满活力...)",audioSample:"音频样本 *",uploadPrompt:"点击上传或拖放文件",uploadHint:"WAV、MP3 或 M4A(最大 10 MB,30秒-2分钟)",tagsOptional:"标签(可选)",addTag:"添加标签...",tips:"获得最佳效果的提示:",tip1:"在安静的环境中录制",tip2:"以自然的语速清晰地说话",tip3:"使用 30 秒到 2 分钟的音频",cloneVoice:"克隆声音",processing:"处理中..."}},ty={title:"ä»·æ ¼",yearly:"年付",monthly:"月付",save40:"节省 40%",perMonthBilledAnnually:"每月,按年计费",perMonth:"每月",currentPlan:"当前套餐",mostPopular:"最受欢迎",compareAllFeatures:"比较所有功能",closeAria:"关闭定价页",saveAmount:"立省 ${{amount}}",unitYear:"å¹´",unitMonth:"月",creditsWithUnit:"{{credits}} 积分/{{unit}}",translationUpTo:"AI 翻译最多 {{mins}} 分钟",translationUpToWithUnit:"AI 翻译最多 {{mins}} 分钟/{{unit}}",plans:{starter:"入门版",creator:"创作者版",scale:"规模版"},planDescriptions:{starter:"适合个人用户和兴趣创作者。",creator:"适合成长中的频道和店铺。",scale:"为全球化生产规模而打造。"},loadingPlans:"加载套餐中...",faq:{title:"常见问题",items:[{question:"什么是积分?",answer:`积分用于在 Genve 上支付视频翻译费用。
44
45• 费率:每 30 秒视频每种目标语言消耗 0.5 积分。
46• 进位规则:时间向上取整至下一个 30 秒区间。
47(例如:45 秒按 60 秒计费 = 1 积分)
48• 示例:
49  - 将 1 分 25 秒的视频翻译成 1 种语言将消耗 1.5 积分。
50  - 将 2 分钟的视频翻译成 2 种不同语言将消耗 4 积分。`},{question:"我的积分会过期吗?",answer:`积分有效期取决于您的套餐状态:
51
52• 月付订阅:积分可累积,有效期为 2 个月。
53• 年付订阅:积分有效期为 14 个月(1 年 + 2 个月宽限期)。
54• 注意:要使用累积的积分,您必须保持活跃的订阅。如果您取消了订阅,积分将被冻结,直到您重新订阅。`},{question:"退款政策是什么?",answer:`我们致力于提供透明可靠的服务。我们的政策如下:
55
56• 技术故障:如果因我们的系统错误导致翻译失败,扣除的积分将自动退还到您的账户余额。
57• 订阅付款:我们目前不提供订阅费退款。为帮助您做出明智的决定,我们为每位新用户提供 3 次免费试用机会来翻译 3 个视频。请充分利用这些试用机会来体验我们的功能后再订阅。
58
59如果您已订阅但决定不再使用我们的服务,请在下一个计费周期之前取消订阅以避免额外收费。`},{question:"我可以更改套餐吗?",answer:"可以,您可以随时升级或降级您的套餐。升级和降级都会立即生效。请选择最适合您当前需求的套餐。"},{question:"如何取消订阅?",answer:`您可以在设置页面中点击订阅模块中的「取消订阅」来取消。
60
61• 访问权限:取消后,您将保留所有高级功能的访问权限,直到当前计费周期结束。
62• 不再收费:当前周期结束后,您将不再被收费。`},{question:"取消后我的积分会怎样?",answer:`如果您的订阅过期(计费周期结束后):
63
64• 冻结积分:您未使用的积分不会立即消失;它们将保留到原始到期日。
65• 重新激活:但是,在未订阅期间您无法使用这些积分。如果您在积分过期前重新激活订阅,您将立即恢复ä
65½¿ç”¨æƒé™ã€‚`},{question:"如何获得更多积分?",answer:"如果积分用完了,您可以直接在控制面板中升级套餐。"},{question:"如何联系客服?",answer:`我们随时为您提供帮助!您可以通过以下方式联系我们:
66
67• 在线聊天:点击页面右下角的客服按钮。
68• 邮件:发送邮件至 [email protected]。`}]},featureComparison:{credits:"积分",aiTranslationDuration:"AI 翻译时长",aiLipSync:"AI 唇形同步",videoResolution:"视频分辨率",languages:"语言",speakerDetection:"说话人检测",qualityPreservation:"质量保留",noWatermark:"无水印",creditRollover:"积分累积",generationSpeed:"生成速度",techSupport:"技术支持",autoUpdates:"自动更新",cancelAnytime:"随时取消"},featureValues:{videoResolution1080p:"1080p 高清",videoResolution4k:"4K 超清",languages60Plus:"60+ 种语言",speakerDetectionAuto:"自动检测",qualityLossless:"无损",creditRollover1Month:"1 个月",creditRollover2Months:"2 个月",generationSpeedStandard:"标准",generationSpeed2xTurbo:"2 倍加速",generationSpeed3xMax:"3 倍极速",techSupportFree:"免费支持"},featureSuffix:{perUnit:"/{{unit}}",mins:" 分钟"}},ay={unlockGlobalReach:"解锁全球影响力",subtitle:"通过专业的 AI 翻译、声音克隆和唇形同步,扩展您的视频内容。"},ny={cta:"立即解锁",resultLabel:"你的本地化结果",reasons:{download_video:{title:"下载完整的本地化视频",description:"选择套餐,解锁完整清晰度视频下载和商业使用。"},download_subtitle:{title:"解锁视频和字幕导出",description:"一个套餐即可获得翻译视频、原始字幕和翻译字幕。"},download_bundle:{title:"下载全部语言版本",description:"升级后可一次导出所有已完成语言,并继续创建更多版本。"},second_project:{title:"准备本地化下一个视频了吗?",description:"你的首个项目已经开始,选择套餐即可继续创建更多项目。"},additional_language:{title:"增加语言,触达更多市场",description:"免费项目包含一个目标语言,升级后可同时本地化为多种语言。"},voice_clone:{title:"为下一个视频克隆声音",description:"付费套餐包含声音克隆,让不同语言的语音自然且一致。"},insufficient_credits:{title:"继续你的本地化工作流",description:"选择套餐增加处理分钟数,立即开始这个项目。"}
68,header_upgrade:{title:"解锁完整 Genve 工作流",description:"创建更多视频、增加语言、克隆声音并导出全部结果。"},promo_banner:{title:"让一个视频覆盖每个市场",description:"升级后可解锁更多项目、语言、声音克隆和完整导出。"},generic:{title:"解锁完整 Genve 工作流",description:"创建更多视频、增加语言、克隆声音并导出全部结果。"}}},iy={title:"处理完整视频",subtitle:"翻译剩余时长?",creditsToUse:"需要积分",remainingCredits:"剩余积分",insufficientCredits:"积分不足"},ly={upgradeTitle:"升级以翻译完整视频",upgradeDescription:"要翻译超过一分钟的视频且无水印,请选择适合您的套餐。",completed:"已完成",video:"视频",videoWithSubtitles:"视频 + 字幕",translatedSubtitles:"翻译字幕",originalSubtitles:"原始字幕",firstMinTranslated:"已翻译前 1 分钟",translateFullVideo:"翻译完整视频",language:"语言",audio:"音频",cloned:"已克隆",adCopy:"广告文案",localizedAdCopy:"本地化广告文案",original:"原文",translated:"译文",noAdCopy:"未提供广告文案",noAdCopyHint:"在新建项目弹窗中添加标题、描述或行动号召",copiedAll:"已复制全部!",copyAllTranslated:"复制所有翻译文本",lastUpdated:"最后更新:刚刚",upgradeToDownload:"升级后下载"},oy={common:Hv,validation:Gv,sidebar:Fv,header:Yv,dashboard:Kv,emptyState:Zv,projectTable:Qv,newProject:$v,auth:Xv,settings:Jv,billing:Wv,profile:Iv,voices:ey,pricing:ty,pricingModal:ay,paywall:ny,upgradeProject:iy,videoDetails:ly},ry={cancel:"Cancelar",confirm:"Confirmar",save:"Guardar",saving:"Guardando...",delete:"Eliminar",deleting:"Eliminando...",back:"Volver",next:"Siguiente",close:"Cerrar",loading:"Cargando...",retry:"Reintentar",upgrade:"Mejorar plan",buyMore:"Comprar más",buyNow:"Comprar ahora",logOut:"Cerrar sesión",free:"Gratuito",pro:"Pro",active:"Activo",canceled:"Cancelado",expired:"Expirado",previous:"Anterior",credits:"créditos",freeTrials:"pruebas gratuitas",continue:"Continuar",rename:"Renombrar",name:"Nombre",preview:"Vista previa",processing:"Procesando",ready:"Listo",failed:"Fallido",unknown:"Desconocido"},sy={fillAllFields:"Por favor, complete todos los campos",invalidEmail:"Por favor, introduzca una dirección de correo válida",passwordTooShort:"La contraseña debe tener al menos 8 caracteres",passwordHint:"Debe tener al menos 8 caracteres.",fillBothPasswords:"Por favor, complete ambos campos de contraseña.",enterEmail:"Por favor, introduzca su dirección de correo",invalidOtp:"Por favor, introduzca un código válido de 6 dígitos"},uy={projects:"Proyectos",voices:"Voces",settings:"Configuración",workspace:"Espacio de trabajo",darkMode:"Modo oscuro",lightMode:"Modo claro"},cy={plan:"Plan",freeTrials:"Pruebas gratuitas",expiresIn:"Expira en {{days}} día(s)",myProfile:"Mi perfil",billingSubscription:"Facturación y suscripción"},dy={myProjects:"Mis proyectos",subtitle:"Gestione y localice sus vídeos fácilmente.",newProject:"Nuevo proyecto",createProjectFailed:"Error al crear el proyecto",upgradeStarted:"¡Mejora del proyecto iniciada! La traducción completa está en progreso.",upgradeProjectFailed:"Error al mejorar el proyecto",promoBanner:{title:"Mejore su plan para alcance global",description:"Desbloquee herramientas profesionales como exportación 4K y clonación de voz para ampliar su alcance.",upgradeNow:"Mejorar ahora"}},fy={title:"Traduzca vídeo o audio a más de 40 idiomas",description:"Obtenga subtítulos limpios, locución natural y sincronización labial perfecta en una sola herramienta. Suba su primer vídeo para comenzar.",cta:"Traducir vídeo ahora"},my={videoBundle:"Paquete de vídeo",languages:"Idiomas",duration:"Duración",created:"Creado",status:"Estado",actions:"Acciones",source:"Origen",versions:"{{count}} versiones",readyCount:"{{count}} listos",failedCount:"{{count}} fallidos",allReady:"Todos listos",clickToPreview:"Haga clic para previsualizar el original",viewDetails:"Ver detalles",downloadAll:"Descargar todo",upgradeToDownload:"Mejore para descargar",deleteAll:"Eliminar todo",firstMinTranslated:"Primer minuto traducido",process
68FullVideo:"Procesar vídeo completo",video:"Vídeo",generating:"Generando...",videoWithSubtitles:"Vídeo con subtítulos",translatedSubtitle:"Subtítulo traducido",originalSubtitle:"Subtítulo original",noProjects:"No se encontraron proyectos. Cree uno para comenzar.",renameProject:"Renombrar proyecto",renameVersion:"Renombrar versión",deleteVersionConfirm:"¿Está seguro de que desea eliminar esta versión?",deleteGroupConfirm:"¿Está seguro de que desea eliminar este grupo de proyectos?",deleteVersionMessage:"Una vez eliminada, esta versión ya no será accesible.",deleteGroupMessage:"Se eliminarán todas las versiones de este grupo.",groupRenamed:"Grupo de proyectos renombrado correctamente",projectRenamed:"Proyecto renombrado correctamente",renameFailed:"Error al renombrar",groupDeleted:"Grupo de proyectos eliminado correctamente",projectDeleted:"Proyecto eliminado correctamente",deleteFailed:"Error al eliminar",videoNotAvailable:"URL del vídeo no disponible",subtitleNotAvailable:"Vídeo o subtítulo no disponible",generatingVideoSubtitles:"Generando vídeo con subtítulos...",generatingPleaseWait:"Esto puede tardar un momento. Por favor, espere.",videoReady:"¡Vídeo listo!",videoGenerated:"¡Vídeo generado correctamente!",generateFailed:"Error al generar vídeo con subtítulos"},py={title:"Nuevo proyecto",uploadingFile:"Subiendo {{fileName}}...",uploadFailed:"Error de subida",clickToRetry:"Haga clic para reintentar",dropVideo:"Suelte su vídeo aquí",releaseToUpload:"Suelte para subir",clickToUpload:"Haga clic para subir o arrastre y suelte",uploadHint:"MP4, MOV o WEBM hasta {{maxSize}}MB, máximo 1 hora",invalidVideoFileType:"Por favor, suba un archivo de vídeo (MP4, MOV o WEBM)",fileSizeExceeded:"El tamaño del archivo ({{sizeMB}}MB) supera el límite de {{maxSizeMB}}MB. Por favor, suba un vídeo más pequeño.",videoDurationExceeded:"La duración del vídeo ({{durationMin}} min) supera el límite de {{maxMin}} minutos. Por favor, suba un vídeo más corto.",uploadFailedGeneric:"Error de subida",importFrom:"O importar desde",pasteYoutube:"Pegar enlace de YouTube (Próximamente)",changeFile:"Cambiar archivo",projectName:"Nombre del proyecto",targetLanguages:"Idiomas de destino",selectedCount:"{{count}} seleccionados",selectLanguages:"Seleccionar idiomas...",search:"Buscar...",noMatch:"Sin coincidencias",audioMode:"Modo de audio",cloneVoiceAuto:"Clonar voz (Automático)",myVoices:"Mis voces",systemVoices:"Voces del sistema",speakerCount:"Número de hablantes",autoDetect:"Detección automática",speakerSingular:"{{count}} hablante",speakerPlural:"{{count}} hablantes",durationMode:"Modo de duración",autoFit:"Ajuste automático",natural:"Natural",custom:"Personalizado",autoFitDesc:"La IA ajusta la velocidad del habla para coincidir con la duración del vídeo original. Ideal para anuncios y sincronización labial.",naturalDesc:"Prioriza un ritmo de habla natural. El fotograma puede congelarse para sincronizar el audio. Ideal para Vlogs/Educación.",customDesc:"Controle manualmente el multiplicador de velocidad (ej. 1.1x). Útil para necesidades de ritmo específicas.",upTo:"Hasta",timesOriginal:"× original",adCopy:"Texto publicitario",optional:"(Opcional)",quickAdd:"Agregar rápido:",adCopyTitle:"Título",adCopyDescription:"Descripción",adCopyCta:"CTA",adCopyComment:"Comentario",labelPlaceholder:"Etiqueta (ej. Título)",addTextField:"Agregar campo de texto",insufficientCredits:"Créditos insuficientes. Por favor, mejore su plan para continuar.",freeTrialInfo:"Prueba gratuita: solo puede traducir los primeros 60 segundos.",freeTrialsRemaining:"({{count}} pruebas gratuitas restantes)",unlockFull:"Desbloquear traducción completa",noSubscription:"Sin suscripción activa. Por favor, mejore su plan para continuar.",trialLimitExceeded:"Límite de prueba superado. Por favor, mejore su plan para continuar.",trialMode:"Modo de prueba (vista previa de 60s)",estimatedCredits:"Estimado: {{count}} créditos",estimatedCreditsDetail:"({{langCount}} idiomas × {{creditsPerLang}} créditos/idioma)",estimatedZero:"Estimado: 0 créditos",tryForFree:"Probar gratis ({{count}})",translate:"Traducir",translateCount:"Traducir ({{count}})"},gy={login:{title:"Bienvenido de nuevo",subtitle:"Introduzca sus credenciales para acceder a su espacio de trabajo.",continueGoogle:"Continuar con Google",orContinueEmail:"O continuar con correo electrónico",email:"Correo electrónico",password:"Contraseña",forgotPassword:"¿Olvidó su contraseña?",signIn:"Iniciar sesión",signingIn:"Iniciando sesión...",noAccount:"¿No tiene una cuenta?",signUp:"Registrarse",emailNotVerified:"Correo no verificado. Por favor, verifique su correo.",loginFailed:"Error de inicio de sesión. Por favor, verifique sus credenciales.",googleLoginFailed:"Error al inicializar el inicio de sesión con Google"},signup:{title:"Crear una cuenta",subtitle:"Comience a localizar sus vídeos en minutos.",orSignupEmail:"O regístrese con correo electrónico",name:"Nombre",namePlaceholder:"Su nombre",passwordPlaceholder:"Cree una contraseña segura",getStarted:"Comenzar",creatingAccount:"Creando cuenta...",registrationFailed:"Error en el registro",termsAgreement:'Al hacer clic en "Comenzar", acepta nuestros',termsOfService:"Términos de servicio",and:"y",privacyPolicy:"Política de privacidad",hasAccount:"¿Ya tiene una cuenta?",verify:{title:"Verifique su correo",subtitle:"Hemos enviado un código a {{email}}",enterCode:"Introduzca el código de verificación",verifyEmail:"Verificar correo",resendIn:"Reenviar código en {{seconds}}s",resendCode:"Reenviar código de verificación",backToSignup:"Volver al registro",incorrectCode:"Código de verificación incorrecto. Por favor, inténtelo de nuevo.",codeExpired:"El código de verificación ha expirado. Por favor, solicite uno nuevo.",verificationFailed:"Error de verificación",resendFailed:"Error al reenviar el código"}},forgotPassword:{title:"Restablecer contraseña",subtitle:"Introduzca su correo para recibir un código de restablecimiento.",setNewTitle:"Establecer nueva contraseña",setNewSubtitle:"Introduzca el código enviado a su correo y su nueva contraseña.",sendResetCode:"Enviar código de restablecimiento",sendingCode:"Enviando código...",resetCode:"Código de restablecimiento",enterCode:"Introduzca el código de 6 dígitos",newPassword:"Nueva contraseña",resetPassword:"Restablecer contraseña",resetting:"Restableciendo...",backToLogin:"Volver a iniciar sesión",resetSuccess:"¡Contraseña restablecida correctamente! Redirigiendo al inicio de sesión...",resetCodeSent:"Código de restablecimiento enviado a su correo",sendFailed:"Error al enviar el código de restablecimiento",resetFailed:"Error al restablecer la contraseña"},layout:{heroTitle:"Rompa las barreras del idioma con la localización de vídeo impulsada por IA.",feature1:"Clonación de voz con 99% de precisión",feature2:"Tecnología de sincronización labial perfecta",feature3:"Soporte para más de 40 idiomas"}},hy={title:"Configuración",subtitle:"Configure las preferencias de su espacio de trabajo y acceso a la API.",appearance:"Apariencia",themePreference:"Preferencia de tema",themeDescription:"Cambie entre los modos claro y oscuro.",light:"Claro",dark:"Oscuro",generalPreferences:"Preferencias generales",language:"Idioma",languageDescription:"El idioma de la interfaz del panel.",timezone:"Zona horaria",timezoneDescription:"Utilizado para correos de facturación y notificaciones.",notifications:"Notificaciones",projectCompletion:"Alertas de finalización de proyecto",weeklySummary:"Correos de resumen semanal",productUpdates:"Actualizaciones y anuncios del producto",yourSubscription:"Su suscripción",youAreOn:"Está en el plan",payingMonthly:"pago mensual",payingYearly:"pago anual",planRenewOn:"Su plan se renovará el {{date}} por {{amount}}.",subscriptionEndOn:"Su suscripción finalizará el {{date}}.",cancelSubscription:"Cancelar suscripción",keepSubscription:"Mantener suscripción",resubscribe:"Volver a suscribirse",upgradePlan:"Mejorar plan",upgradeDescription:"Mejore su plan para desbloquear traducciones de vídeo completas y funciones premium.",freePlan:"Plan gratuito",resubscribeFailed:"Error al volver a suscribirse",cancelSurvey:{title:"Lamentamos que se vaya",subtitle:"Por favor, díganos por qué cancela para que podamos mejorar.",reasons:{noNeed:"Ya no necesito traducción de vídeo.",qualityBad:"La calidad de traducción no cumplió mis expectativas.",tooSlow:"La velocidad de procesamiento era demasiado lenta.",n
68otUsed:"No uso el producto con suficiente frecuencia.",tooExpensive:"Es demasiado caro para mi presupuesto.",betterAlternative:"Encontré una mejor alternativa."},other:"Otro",otherPlaceholder:"Por favor, cuéntenos más..."},cancelConfirm:{title:"¿Cancelar suscripción?",message:"Su suscripción permanecerá activa hasta el <strong>{{date}}</strong>. Después, perderá acceso a las funciones premium.",yesCancel:"Sí, cancelar"}},vy={title:"Facturación y suscripción",subtitle:"Gestione su plan, historial de facturación y métodos de pago.",currentPlan:"Plan actual",youAreOn:"Actualmente está en el plan",plan:".",creditsRemaining:"{{count}} créditos restantes",renewsOn:"Se renueva el {{date}}",subscriptionEndOn:"Su suscripción finalizará el {{date}}.",noteActiveRequired:"Nota: se requiere un plan activo para usar créditos.",manageSubscription:"Gestionar suscripción",opening:"Abriendo...",usage:"Uso",resetOn:"Se reinicia el {{date}}",noActiveSubscription:"Sin suscripción activa",creditHistory:"Historial de créditos",noTransactions:"Aún no hay transacciones de créditos.",description:"Descripción",date:"Fecha",amount:"Cantidad",page:"Página {{current}} de {{total}}",creditsUsed:"{{used}} / {{total}} créditos utilizados",freeTrialsUsed:"{{used}} / {{total}} pruebas gratuitas utilizadas",upgradePlan:"Mejorar plan",paymentSuccess:"¡Pago exitoso! Su suscripción está activa.",confirmingPayment:"Confirmando su pago...",subscriptionCanceled:"La suscripción se cancelará al final del período actual.",cancelFailed:"Error al cancelar la suscripción",subscriptionReactivated:"¡Suscripción reactivada! Su plan continuará con normalidad.",resubscribeFailed:"Error al volver a suscribirse",cancelConfirm:{title:"¿Cancelar suscripción?",message:"Su suscripción permanecerá activa hasta el <strong>{{date}}</strong>. Después, perderá acceso a las funciones premium.",keepSubscription:"Mantener suscripción",yesCancel:"Sí, cancelar"}},yy={title:"Mi perfil",subtitle:"Gestione su información personal y seguridad de la cuenta.",name:"Nombre",emailAddress:"Dirección de correo",changePassword:"Cambiar contraseña",workspaceName:"Nombre del espacio de trabajo",saveChanges:"Guardar cambios",accountSettings:"Configuración de cuenta",mail:"Correo",oldPassword:"Contraseña anterior",oldPasswordPlaceholder:"Introduzca la contraseña anterior",newPassword:"Nueva contraseña",newPasswordPlaceholder:"Introduzca la nueva contraseña",passwordUpdated:"Contraseña actualizada correctamente.",passwordUpdateFailed:"Error al actualizar la contraseña."},by={title:"Biblioteca de voces",subtitle:"Gestione sus voces personalizadas y explore las voces del sistema para el doblaje de vídeo.",cloneNewVoice:"Clonar nueva voz",searchPlaceholder:"Buscar voces por nombre, descripción o etiquetas...",filterAll:"Todas",filterMy:"Mis voces",filterSystem:"Sistema",myVoices:"Mis voces",systemVoices:"Voces del sistema",cloneQuota:"Cuota de clonación",languages:"Idiomas",myClonedVoices:"Mis voces clonadas",noClonedVoices:"Aún no hay voces clonadas",noClonedDescription:"Clone su voz para crear un doblaje personalizado para sus vídeos.",cloneFirstVoice:"Clone su primera voz",uploadModal:{title:"Clone su voz",subtitle:"Suba una muestra de audio para la clonación de voz",voiceName:"Nombre de la voz *",voiceNamePlaceholder:"ej., Mi voz ejecutiva",description:"Descripción",descriptionPlaceholder:"Describa su voz (ej., profesional, cálida, enérgica...)",audioSample:"Muestra de audio *",uploadPrompt:"Haga clic para subir o arrastre y suelte",uploadHint:"WAV, MP3 o M4A (máx. 10 MB, 30s-2min)",tagsOptional:"Etiquetas (opcional)",addTag:"Agregar etiqueta...",tips:"Consejos para mejores resultados:",tip1:"Grabe en un entorno silencioso",tip2:"Hable con claridad a un ritmo natural",tip3:"Use de 30 segundos a 2 minutos de audio",cloneVoice:"Clonar voz",processing:"Procesando..."}},Sy={title:"Precios",yearly:"Anual",monthly:"Mensual",save40:"Ahorre 40%",perMonthBilledAnnually:"por mes, facturado anualmente",perMonth:"por mes",currentPlan:"Plan actual",mostPopular:"Más popular",compareAllFeatures:"Comparar todas las funciones",closeAria:"Cerrar precios",saveAmount:"AHORRE ${{amount}}",unitYear:"año",unitMonth:"mes",creditsWithUnit:"{{credits}} créditos/{{unit}}",translationUpTo:"Traducción IA hasta {{mins}} min",translationUpToWithUnit:"Traducción IA hasta {{mins}} min/{{unit}}",plans:{starter:"Inicial",creator:"Creador",scale:"Escala"},planDescriptions:{starter:"Perfecto para particulares y aficionados.",creator:"Para canales y tiendas en crecimiento.",scale:"Escale su producción global."},loadingPlans:"Cargando planes...",faq:{title:"Preguntas frecuentes",items:[{question:"¿Qué son los créditos?",answer:`Los créditos se utilizan para pagar la traducción de vídeo en Genve.
69
70• Tarifa: Cada 30 segundos de vídeo cuesta 0,5 créditos por idioma de destino.
71• Redondeo: El tiempo se redondea al siguiente bloque de 30 segundos.
72(ej. 45 segundos se cobra como 60 segundos = 1 crédito)
73• Ejemplo:
74  - Traducir un vídeo de 1 minuto y 25 segundos a 1 idioma costará 1,5 créditos.
75  - Traducir un vídeo de 2 minutos a 2 idiomas diferentes costará 4 créditos.`},{question:"¿Mis créditos caducan?",answer:`La validez de los créditos depende del estado de su plan:
76
77• Suscripción mensual: Los créditos se acumulan y son válidos durante 2 meses.
78• Suscripción anual: Los créditos son válidos durante 14 meses (1 año + 2 meses de gracia).
79• Nota: Para utilizar los créditos acumulados, debe mantener una suscripción activa. Si su suscripción se cancela, sus créditos se congelarán hasta que vuelva a suscribirse.`},{question:"¿Cuál es la política de reembolso?",answer:`Nos esforzamos por ofrecer un servicio transparente y fiable. Nuestra política es la siguiente:
80
81• Fallos técnicos: Si una traducción falla debido a errores de nuestro sistema, los créditos deducidos se reembolsarán automáticamente a su saldo.
82• Pagos de suscripción: Actualmente no ofrecemos reembolsos por cuotas de suscripción. Para ayudarle a tomar una decisión informada, ofrecemos 3 op
82ortunidades de prueba gratuita para traducir 3 vídeos a cada nuevo usuario. Por favor, aproveche estas pruebas para experimentar nuestras funciones antes de suscribirse.
83
84Si ya se ha suscrito pero decide no continuar usando nuestros servicios, cancele su suscripción antes del próximo ciclo de facturación para evitar cargos adicionales.`},{question:"¿Puedo cambiar mi plan?",answer:"Sí, puede mejorar o reducir su plan en cualquier momento. Tanto las mejoras como las reducciones se aplican de inmediato. Elija el plan que mejor se adapte a sus necesidades actuales."},{question:"¿Cómo cancelo mi suscripción?",answer:`Puede cancelar su suscripción navegando a la página de Configuración y haciendo clic en "Cancelar suscripción" en el módulo de Suscripción.
85
86• Acceso: Después de la cancelación, conservará el acceso a todas las funciones premium hasta el final de su ciclo de facturación actual.
87• Sin cargos futuros: Una vez que termine el ciclo actual, no se le cobrará más.`},{question:"¿Qué pasa con mis créditos después de la cancelación?",answer:`Si su suscripción expira (después de que termine el ciclo de facturación):
88
89• Créditos congelados: Sus créditos no utilizados no desaparecerán inmediatamente; se conservan hasta su fecha de caducidad original.
90• Reactivación: Sin embargo, no puede usar estos créditos mientras no esté suscrito. Si reactiva su suscripción antes de que los créditos expiren, recuperará el acceso inmediatamente.`},{question:"¿Cómo puedo obtener más créditos?",answer:"Si se queda sin créditos, simplemente puede mejorar su plan desde su panel de control."},{question:"¿Cómo contacto con el soporte?",answer:`¡Estamos aquí para ayudarle! Puede contactarnos a través de:
91
92• Chat en vivo: Haga clic en el botón de soporte en la esquina inferior derecha de la página.
93• Correo electrónico: Envíe sus consultas a [email protected].`}]},featureComparison:{credits:"Créditos",aiTranslationDuration:"Duración de traducción IA",aiLipSync:"Sincronización labial IA",videoResolution:"Resolución de vídeo",languages:"Idiomas",speakerDetection:"Detección de hablantes",qualityPreservation:"Preservación de calidad",noWatermark:"Sin marca de agua",creditRollover:"Acumulación de créditos",generationSpeed:"Velocidad de generación",techSupport:"Soporte técnico",autoUpdates:"Actualizaciones automáticas",cancelAnytime:"Cancele en cualquier momento"},featureValues:{videoResolution1080p:"1080p HD",videoResolution4k:"4K Ultra HD",languages60Plus:"60+ idiomas",speakerDetectionAuto:"Auto-Detect",qualityLossless:"Sin pérdida",creditRollover1Month:"1 mes",creditRollover2Months:"2 meses",generationSpeedStandard:"Standard",generationSpeed2xTurbo:"2x Turbo",generationSpeed3xMax:"3x Max",techSupportFree:"Soporte gratuito"},featureSuffix:{perUnit:" por {{unit}}",mins:" min"}},zy={unlockGlobalReach:"Desbloquee el alcance global",subtitle:"Escale su contenido de vídeo con traducción IA profesional, clonación de voz y sincronización labial."},Ay={title:"Procesar vídeo completo",subtitle:"¿Traducir la duración restante?",creditsToUse:"Créditos a utilizar",remainingCredits:"Créditos restantes",insufficientCredits:"Créditos insuficientes"},Cy={upgradeTitle:"Mejore para traducir el vídeo completo",upgradeDescription:"Para traducir vídeos de más de un minuto sin marca de agua, elija el plan que se adapte a sus necesidades.",completed:"Completado",video:"Vídeo",videoWithSubtitles:"Vídeo + Subtítulos",translatedSubtitles:"Subtítulos traducidos",originalSubtitles:"Subtítulos originales",firstMinTranslated:"Primer minuto traducido",translateFullVideo:"Traducir vídeo completo",language:"Idioma",audio:"Audio",cloned:"Clonado",adCopy:"Texto publicitario",localizedAdCopy:"Texto publicitario localizado",original:"Original",translated:"Traducido",noAdCopy:"No se proporcionó texto publicitario",noAdCopyHint:"Agregue títulos, descripciones o CTAs en el modal de Nuevo proyecto",copiedAll:"¡Todo copiado!",copyAllTranslated:"Copiar todo el texto traducido",lastUpdated:"Última actualización: Ahora mismo",upgradeToDownload:"Mejore para descargar"},Ty={common:ry,validation:sy,sidebar:uy,header:cy,dashboard:dy,emptyState:fy,projectTable:my,newProject:py,auth:gy,settings:hy,billing:vy,profile:yy,voices:by,pricing:Sy,pricingModal:zy,upgradeProject:Ay,videoDetails:Cy},Ey={cancel:"Cancelar",confirm:"Confirmar",save:"Salvar",saving:"Salvando...",delete:"Excluir",deleting:"Excluindo...",back:"Voltar",next:"Próximo",close:"Fechar",loading:"Carregando...",retry:"Tentar novamente",upgrade:"Atualizar plano",buyMore:"Comprar mais",buyNow:"Comprar agora",logOut:"Sair",free:"Gratuito",pro:"Pro",active:"Ativo",canceled:"Cancelado",expired:"Expirado",previous:"Anterior",credits:"créditos",freeTrials:"testes gratuitos",continue:"Continuar",rename:"Renomear",name:"Nome",preview:"Pré-visualizar",processing:"Processando",ready:"Pronto",failed:"Falhou",unknown:"Desconhecido"}
93,wy={fillAllFields:"Por favor, preencha todos os campos",invalidEmail:"Por favor, insira um endereço de e-mail válido",passwordTooShort:"A senha deve ter pelo menos 8 caracteres",passwordHint:"Deve ter pelo menos 8 caracteres.",fillBothPasswords:"Por favor, preencha ambos os campos de senha.",enterEmail:"Por favor, insira seu endereço de e-mail",invalidOtp:"Por favor, insira um código válido de 6 dígitos"},ky={projects:"Projetos",voices:"Vozes",settings:"Configurações",workspace:"Espaço de trabalho",darkMode:"Modo escuro",lightMode:"Modo claro"},My={plan:"Plano",freeTrials:"Testes gratuitos",expiresIn:"Expira em {{days}} dia(s)",myProfile:"Meu perfil",billingSubscription:"Faturamento e assinatura"},Dy={myProjects:"Meus projetos",subtitle:"Gerencie e localize seus vídeos facilmente.",newProject:"Novo projeto",createProjectFailed:"Erro ao criar projeto",upgradeStarted:"Atualização do projeto iniciada! A tradução completa está em andamento.",upgradeProjectFailed:"Erro ao atualizar projeto",promoBanner:{title:"Atualize para alcance global",description:"Desbloqueie ferramentas profissionais como exportação 4K e clonagem de voz para expandir seu alcance.",upgradeNow:"Atualizar agora"}},Ry={title:"Traduza vídeo ou áudio para mais de 40 idiomas",description:"Obtenha legendas precisas, narração natural e sincronização labial perfeita em uma única ferramenta. Envie seu primeiro vídeo para começar.",cta:"Traduzir vídeo agora"},xy={videoBundle:"Pacote de vídeo",languages:"Idiomas",duration:"Duração",created:"Criado",status:"Status",actions:"Ações",source:"Origem",versions:"{{count}} versões",readyCount:"{{count}} prontos",failedCount:"{{count}} falharam",allReady:"Todos prontos",clickToPreview:"Clique para pré-visualizar o original",viewDetails:"Ver detalhes",downloadAll:"Baixar tudo",upgradeToDownload:"Atualize para baixar",deleteAll:"Excluir tudo",firstMinTranslated:"Primeiro minuto traduzido",processFullVideo:"Processar vídeo completo",video:"Vídeo",generating:"Gerando...",videoWithSubtitles:"Vídeo com legendas",translatedSubtitle:"Legenda traduzida",originalSubtitle:"Legenda original",noProjects:"Nenhum projeto encontrado. Crie um para começar.",renameProject:"Renomear projeto",renameVersion:"Renomear versão",deleteVersionConfirm:"Tem certeza de que deseja excluir esta versão?",deleteGroupConfirm:"Tem certeza de que deseja excluir este grupo de projetos?",deleteVersionMessage:"Uma vez excluída, esta versão não estará mais acessível.",deleteGroupMessage:"Todas as versões deste grupo serão removidas.",groupRenamed:"Grupo de projetos renomeado com sucesso",projectRenamed:"Projeto renomeado com sucesso",renameFailed:"Erro ao renomear",groupDeleted:"Grupo de projetos excluído com sucesso",projectDeleted:"Projeto excluído com sucesso",deleteFailed:"Erro ao excluir",videoNotAvailable:"URL do vídeo não disponível",subtitleNotAvailable:"Vídeo ou legenda não disponível",generatingVideoSubtitles:"Gerando vídeo com legendas...",generatingPleaseWait:"Isso pode levar um momento. Por favor, aguarde.",videoReady:"Vídeo pronto!",videoGenerated:"Vídeo gerado com sucesso!",generateFailed:"Erro ao gerar vídeo com legendas"},Oy={title:"Novo projeto",uploadingFile:"Enviando {{fileName}}...",uploadFailed:"Erro no envio",clickToRetry:"Clique para tentar novamente",dropVideo:"Solte seu vídeo aqui",releaseToUpload:"Solte para enviar",clickToUpload:"Clique para enviar ou arraste e solte",uploadHint:"MP4, MOV ou WEBM até {{maxSize}}MB, máximo 1 hora",invalidVideoFileType:"Por favor, envie um arquivo de vídeo (MP4, MOV ou WEBM)",fileSizeExceeded:"O tamanho do arquivo ({{sizeMB}}MB) excede o limite de {{maxSizeMB}}MB. Por favor, envie um vídeo menor.",videoDurationExceeded:"A duração do vídeo ({{durationMin}} min) excede o limite de {{maxMin}} minutos. Por favor, envie um vídeo mais curto.",uploadFailedGeneric:"Erro no envio",importFrom:"Ou importar de",pasteYoutube:"Colar link do YouTube (Em breve)",changeFile:"Alterar arquivo",projectName:"Nome do projeto",targetLanguages:"Idiomas de destino",selectedCount:"{{count}} selecionados",selectLanguages:"Selecionar idiomas...",search:"Pesquisar...",noMatch:"Nenhum resultado",audioMode:"Modo de áudio",cloneVoiceAuto:"Clonar voz (Automático)",myVoices:"Minhas vozes",systemVoices:"Vozes do sistema",speakerCount:"Número de locutores",autoDetect:"Detecção automática",speakerSingular:"{{count}} locutor",speakerPlural:"{{count}} locutores",durationMode:"Modo de duração",autoFit:"Ajuste automático",natural
93:"Natural",custom:"Personalizado",autoFitDesc:"A IA ajusta a velocidade da fala para coincidir com o tempo do vídeo original. Ideal para anúncios e sincronização labial.",naturalDesc:"Prioriza um ritmo de fala natural. O quadro do vídeo pode congelar para sincronizar o áudio. Ideal para Vlogs/Educação.",customDesc:"Controle manualmente o multiplicador de velocidade (ex. 1.1x). Útil para necessidades de ritmo específicas.",upTo:"Até",timesOriginal:"× original",adCopy:"Texto publicitário",optional:"(Opcional)",quickAdd:"Adicionar rápido:",adCopyTitle:"Título",adCopyDescription:"Descrição",adCopyCta:"CTA",adCopyComment:"Comentário",labelPlaceholder:"Rótulo (ex. Título)",addTextField:"Adicionar campo de texto",insufficientCredits:"Créditos insuficientes. Por favor, atualize seu plano para continuar.",freeTrialInfo:"Teste gratuito: você pode traduzir apenas os primeiros 60 segundos.",freeTrialsRemaining:"({{count}} testes gratuitos restantes)",unlockFull:"Desbloquear tradução completa",noSubscription:"Sem assinatura ativa. Por favor, atualize seu plano para continuar.",trialLimitExceeded:"Limite de teste excedido. Por favor, atualize seu plano para continuar.",trialMode:"Modo de teste (pré-visualização de 60s)",estimatedCredits:"Estimado: {{count}} créditos",estimatedCreditsDetail:"({{langCount}} idiomas × {{creditsPerLang}} créditos/idioma)",estimatedZero:"Estimado: 0 créditos",tryForFree:"Testar grátis ({{count}})",translate:"Traduzir",translateCount:"Traduzir ({{count}})"},jy={login:{title:"Bem-vindo de volta",subtitle:"Insira suas credenciais para acessar seu espaço de trabalho.",continueGoogle:"Continuar com Google",orContinueEmail:"Ou continuar com e-mail",email:"E-mail",password:"Senha",forgotPassword:"Esqueceu a senha?",signIn:"Entrar",signingIn:"Entrando...",noAccount:"Não tem uma conta?",signUp:"Cadastrar-se",emailNotVerified:"E-mail não verificado. Por favor, verifique seu e-mail.",loginFailed:"Falha no login. Por favor, verifique suas credenciais.",googleLoginFailed:"Erro ao inicializar o login com Google"},signup:{title:"Criar uma conta",subtitle:"Comece a localizar seus vídeos em minutos.",orSignupEmail:"Ou cadastre-se com e-mail",name:"Nome",namePlaceholder:"Seu nome",passwordPlaceholder:"Crie uma senha forte",getStarted:"Começar",creatingAccount:"Criando conta...",registrationFailed:"Erro no cadastro",termsAgreement:'Ao clicar em "Começar", você concorda com nossos',termsOfService:"Termos de serviço",and:"e",privacyPolicy:"Política de privacidade",hasAccount:"Já tem uma conta?",verify:{title:"Verifique seu e-mail",subtitle:"Enviamos um código para {{email}}",enterCode:"Insira o código de verificação",verifyEmail:"Verificar e-mail",resendIn:"Reenviar código em {{seconds}}s",resendCode:"Reenviar código de verificação",backToSignup:"Voltar ao cadastro",incorrectCode:"Código de verificação incorreto. Por favor, tente novamente.",codeExpired:"O código de verificação expirou. Por favor, solicite um novo.",verificationFailed:"Erro na verificação",resendFailed:"Erro ao reenviar o código"}},forgotPassword:{title:"Redefinir senha",subtitle:"Insira seu e-mail para receber um código de redefinição.",setNewTitle:"Definir nova senha",setNewSubtitle:"Insira o código enviado ao seu e-mail e sua nova senha.",sendResetCode:"Enviar código de redefinição",sendingCode:"Enviando código...",resetCode:"Código de redefinição",enterCode:"Insira o código de 6 dígitos",newPassword:"Nova senha",resetPassword:"Redefinir senha",resetting:"Redefinindo...",backToLogin:"Voltar ao login",resetSuccess:"Senha redefinida com sucesso! Redirecionando para o login...",resetCodeSent:"Código de redefinição enviado para seu e-mail",sendFailed:"Erro ao enviar o código de redefinição",resetFailed:"Erro ao redefinir a senha"},layout:{heroTitle:"Quebre barreiras linguísticas com localização de vídeo com IA.",feature1:"Clonagem de voz com 99% de precisão",feature2:"Tecnologia de sincronização labial perfeita",feature3:"Suporte para mais de 40 idiomas"}},Ny={title:"Configurações",subtitle:"Configure as preferências do seu espaço de trabalho e acesso à API.",appearance:"Aparência",themePreference:"Preferência de tema",themeDescription:"Alterne entre os modos claro e escuro.",light:"Claro",dark:"Escuro",generalPreferences:"Preferências gerais",language:"Idioma",languageDescription:"O idioma da interface do painel.",timezone:"Fuso horário",timezoneDescription:"Usado para e-mails de faturamento e notificações.",notifications:"Notificações",projectCompletion:"Alertas de conclusão de projeto",weeklySummary:"E-mail
93s de resumo semanal",productUpdates:"Atualizações e anúncios do produto",yourSubscription:"Sua assinatura",youAreOn:"Você está no plano",payingMonthly:"pagamento mensal",payingYearly:"pagamento anual",planRenewOn:"Seu plano será renovado em {{date}} por {{amount}}.",subscriptionEndOn:"Sua assinatura terminará em {{date}}.",cancelSubscription:"Cancelar assinatura",keepSubscription:"Manter assinatura",resubscribe:"Reassinar",upgradePlan:"Atualizar plano",upgradeDescription:"Atualize para desbloquear traduções de vídeo completas e recursos premium.",freePlan:"Plano gratuito",resubscribeFailed:"Erro ao reassinar",cancelSurvey:{title:"Lamentamos que esteja indo",subtitle:"Por favor, nos diga por que está cancelando para que possamos melhorar.",reasons:{noNeed:"Não preciso mais de tradução de vídeo.",qualityBad:"A qualidade da tradução não atendeu às minhas expectativas.",tooSlow:"A velocidade de processamento era muito lenta.",notUsed:"Não estou usando o produto com frequência suficiente.",tooExpensive:"É muito caro para o meu orçamento.",betterAlternative:"Encontrei uma alternativa melhor."},other:"Outro",otherPlaceholder:"Por favor, nos conte mais..."},cancelConfirm:{title:"Cancelar assinatura?",message:"Sua assinatura permanecerá ativa até <strong>{{date}}</strong>. Depois disso, você perderá acesso aos recursos premium.",yesCancel:"Sim, cancelar"}},Vy={title:"Faturamento e assinatura",subtitle:"Gerencie seu plano, histórico de faturamento e métodos de pagamento.",currentPlan:"Plano atual",youAreOn:"Você está atualmente no plano",plan:".",creditsRemaining:"{{count}} créditos restantes",renewsOn:"Renova em {{date}}",subscriptionEndOn:"Sua assinatura terminará em {{date}}.",noteActiveRequired:"Nota: um plano ativo é necessário para usar créditos.",manageSubscription:"Gerenciar assinatura",opening:"Abrindo...",usage:"Uso",resetOn:"Reinicia em {{date}}",noActiveSubscription:"Sem assinatura ativa",creditHistory:"Histórico de créditos",noTransactions:"Nenhuma transação de créditos ainda.",description:"Descrição",date:"Data",amount:"Valor",page:"Página {{current}} de {{total}}",creditsUsed:"{{used}} / {{total}} créditos usados",freeTrialsUsed:"{{used}} / {{total}} testes gratuitos usados",upgradePlan:"Atualizar plano",paymentSuccess:"Pagamento realizado! Sua assinatura está ativa.",confirmingPayment:"Confirmando seu pagamento...",subscriptionCanceled:"A assinatura será cancelada ao final do período atual.",cancelFailed:"Erro ao cancelar assinatura",subscriptionReactivated:"Assinatura reativada! Seu plano continuará normalmente.",resubscribeFailed:"Erro ao reassinar",cancelConfirm:{title:"Cancelar assinatura?",message:"Sua assinatura permanecerá ativa até <strong>{{date}}</strong>. Depois disso, você perderá acesso aos recursos premium.",keepSubscription:"Manter assinatura",yesCancel:"Sim, cancelar"}},Uy={title:"Meu perfil",subtitle:"Gerencie suas informações pessoais e segurança da conta.",name:"Nome",emailAddress:"Endereço de e-mail",changePassword:"Alterar senha",workspaceName:"Nome do espaço de trabalho",saveChanges:"Salvar alterações",accountSettings:"Configurações da conta",mail:"E-mail",oldPassword:"Senha anterior",oldPasswordPlaceholder:"Insira a senha anterior",newPassword:"Nova senha",newPasswordPlaceholder:"Insira a nova senha",passwordUpdated:"Senha atualizada com sucesso.",passwordUpdateFailed:"Erro ao atualizar a senha."},Py={title:"Biblioteca de vozes",subtitle:"Gerencie suas vozes personalizadas e explore as vozes do sistema para dublagem de vídeo.",cloneNewVoice:"Clonar nova voz",searchPlaceholder:"Pesquisar vozes por nome, descrição ou tags...",filterAll:"Todas",filterMy:"Minhas vozes",filterSystem:"Sistema",myVoices:"Minhas vozes",systemVoices:"Vozes do sistema",cloneQuota:"Cota de clonagem",languages:"Idiomas",myClonedVoices:"Minhas vozes clonadas",noClonedVoices:"Nenhuma voz clonada ainda",noClonedDescription:"Clone sua voz para criar dublagem personalizada para seus vídeos.",cloneFirstVoice:"Clone sua primeira voz",uploadModal:{title:"Clone sua voz",subt
93itle:"Envie uma amostra de áudio para clonagem de voz",voiceName:"Nome da voz *",voiceNamePlaceholder:"ex., Minha voz executiva",description:"Descrição",descriptionPlaceholder:"Descreva sua voz (ex., profissional, calorosa, enérgica...)",audioSample:"Amostra de áudio *",uploadPrompt:"Clique para enviar ou arraste e solte",uploadHint:"WAV, MP3 ou M4A (máx. 10 MB, 30s-2min)",tagsOptional:"Tags (opcional)",addTag:"Adicionar tag...",tips:"Dicas para melhores resultados:",tip1:"Grave em um ambiente silencioso",tip2:"Fale com clareza em um ritmo natural",tip3:"Use de 30 segundos a 2 minutos de áudio",cloneVoice:"Clonar voz",processing:"Processando..."}},Ly={title:"Preços",yearly:"Anual",monthly:"Mensal",save40:"Economize 40%",perMonthBilledAnnually:"por mês, cobrado anualmente",perMonth:"por mês",currentPlan:"Plano atual",mostPopular:"Mais popular",compareAllFeatures:"Comparar todos os recursos",closeAria:"Fechar preços",saveAmount:"ECONOMIZE ${{amount}}",unitYear:"ano",unitMonth:"mês",creditsWithUnit:"{{credits}} créditos/{{unit}}",translationUpTo:"Tradução IA até {{mins}} min",translationUpToWithUnit:"Tradução IA até {{mins}} min/{{unit}}",plans:{starter:"Inicial",creator:"Criador",scale:"Escala"},planDescriptions:{starter:"Perfeito para indivíduos e entusiastas.",creator:"Para canais e lojas em crescimento.",scale:"Escale sua produção global."},loadingPlans:"Carregando planos...",faq:{title:"Perguntas frequentes",items:[{question:"O que são créditos?",answer:`Os créditos são usados para pagar a tradução de vídeo no Genve.
94
95• Taxa: Cada 30 segundos de vídeo custa 0,5 crédito por idioma de destino.
96• Arredondamento: O tempo é arredondado para o próximo bloco de 30 segundos.
97(ex. 45 segundos é cobrado como 60 segundos = 1 crédito)
98• Exemplo:
99  - Traduzir um vídeo de 1 minuto e 25 segundos para 1 idioma custará 1,5 créditos.
100  - Traduzir um vídeo de 2 minutos para 2 idiomas diferentes custará 4 créditos.`},{question:"Meus créditos expiram?",answer:`A validade dos créditos depende do status do seu plano:
101
102• Assinatura mensal: Os créditos se acumulam e são válidos por 2 meses.
103• Assinatura anual: Os créditos são válidos por 14 meses (1 ano + 2 meses de carência).
104• Nota: Para utilizar os créditos acumulados, você deve manter uma assinatura ativa. Se sua assinatura for cancelada, seus créditos serão congelados até você reassinar.`},{question:"Qual é a política de reembolso?",answer:`Nos esforçamos para oferecer um serviço transparente e confiável. Nossa política é a seguinte:
105
106• Falhas técnicas: Se uma tradução falhar devido a erros do nosso sistema, os créditos deduzidos serão automaticamente reembolsados ao seu saldo.
107• Pagamentos de assinatura: Atualmente não oferecemos reembolso de taxas de assinatura. Para ajudá-lo a tomar uma decisão informada, oferecemos 3 oportunidades de teste gratuito para traduzir 3 vídeos para cada novo usuário. Por favor, aproveite esses testes para experimentar nossos recursos antes de assinar.
108
109Se já assinou mas decidiu não continuar usando nossos serviços, cancele sua assinatura antes do próximo ciclo de cobrança para evitar cobranças adicionais.`},{question:"Posso mudar meu plano?",answer:"Sim, você pode atualizar ou reduzir seu plano a qualquer momento. Tanto as atualizações quanto as reduções entram em vigor imediatamente. Escolha o plano que melhor se adapta às suas necessidades atuais."},{question:"Como cancelo minha assinatura?",answer:`Você pode cancelar sua assinatura navegando até a página de Configurações e clicando em "Cancelar assinatura" no módulo de Assinatura.
110
111• Acesso: Após o cancelamento, você manterá acesso a todos os recursos premium até o final do ciclo de cobrança atual.
112• Sem cobranças futuras: Após o término do ciclo atual, você não será mais cobrado.`},{question:"O que acontece com meus créditos após o cancelamento?",answer:`Se sua assinatura expirar (após o término do ciclo de cobrança):
113
114• Créditos congelados: Seus créditos não utilizados não desaparecerão imediatamente; eles são mantidos até a data de expiração original.
115• Reativação: No entanto, você não pode usar esses créditos enquanto não estiver assinante. Se reativar sua assinatura antes dos créditos expirarem, você recuperará o acesso imediatamente.`},{question:"Como posso obter mais créditos?",answer:"Se ficar sem créditos, você pode simplesmente atualizar seu plano pelo painel de controle."},{question:"Como entro em contato com o suporte?",answer:`Estamos aqui para ajudar! Você pode nos contatar através de:
116
117• Chat ao vivo: Clique no botão de suporte no canto inferior direito da página.
118• E-mail: Envie suas dúvidas para [email protected].`}]},featureComparison:{credits:"Créditos",aiTranslationDuration:"Duração de tradução IA",aiLipSync:"Sincronização labial IA",videoResolution:"Resolução de vídeo",languages:"Idiomas",speakerDetection:"Detecção de locutores",qualityPreservation:"Preservação de qualidade",noWatermark:"Sem marca d'água",creditRollover:"Acumulação de créditos",generationSpeed:"Velocidade de geração",techSupport:"Suporte técnico",autoUpdates:"Atualizações automáticas",cancelAnytime:"Cancele a qualquer momento"},featureValues:{videoResolution1080p:"1080p HD",videoResolution4k:"4K Ultra HD",languages60Plus:"60+ idiomas",speakerDetectionAuto:"Auto-Detect",qualityLossless:"Sem perdas",creditRollover1Month:"1 mês",creditRollover2Months:"2 meses",generationSpeedStandard:"Standard",generationSpeed2xTurbo:"2x Turbo",generationSpeed3xMax:"3x Max",techSupportFree:"Suporte gratuito"},featureSuffix:{perUnit:" por {{unit}}",mins:" min"}},By={unlockGlobalReach:"Desbloqueie o alcance global",subtitle:"Escale seu conteúdo de vídeo com tradução IA profissional, clonagem de voz e sincronização labial."},qy={title:"Processar vídeo completo",subtitle:"Traduzir a duração restante?",creditsToUse:"Créditos a utilizar",remainingCredits:"Créditos restantes",insufficientCredits:"Créditos insuficientes"},_y={upgradeTitle:"Atualize para traduzir o vídeo completo",upgradeDescription:"Para traduzir vídeos com mais de um minuto sem marca d'água, escolha o plano que se adapta às suas necessidades.",completed:"Concluído",video:"Vídeo",videoWithSubtitles:"Vídeo + Legendas",translatedSubtitles:"Legendas traduzidas",originalSubtitles:"Legendas originais",firstMinTranslated:"Primeiro minuto traduzido",translateFullVideo:"Traduzir vídeo completo",language:"Idioma",audio:"Áudio",cloned:"Clonado",adCopy:"Texto publicitário",localizedAdCopy:"Texto publicitário localizado",original:"Original",translated:"Traduzido",noAdCopy:"Nenhum texto publicitário foi fornecido",noAdCopyHint:"Adicione títulos, descrições ou CTAs no modal de Novo projeto",copiedAll:"Tudo copiado!",copyAllTranslated:"Copiar todo o texto traduzido",lastUpdated:"Última atualização: Agora mesmo",upgradeToDownload:"Atualize para baixar"},Hy={common:Ey,validation:wy,sidebar:ky,header:My,dashboard:Dy,emptyState:Ry,projectTable:xy,newProject:Oy,auth:jy,settings:Ny,billing:Vy,profile:Uy,voices:Py,pricing:Ly,pricingModal:By,upgradeProject:qy,videoDetails:_y},Gy={cancel:"Annuler",confirm:"Confirmer",save:"Enregistrer",saving:"Enregistrement...",delete:"Supprimer",deleting:"Suppression...",back:"Retour",next:"Suivant",close:"Fermer",loading:"Chargement...",retry:"Réessayer",upgrade:"Mettre à niveau",buyMore:"Acheter plus",buyNow:"Acheter maintenant",logOut:"Se déconnecter",free:"Gratuit",pro:"Pro",active:"Actif",canceled:"Annulé",expired:"Expiré",previous:"Précédent",credits:"crédits",freeTrials:"essais gratuits",continue:"Continuer",rename:"Renommer",name:"Nom",preview:"Aperçu",processing:"En cours",ready:"Prêt",failed:"Échoué",unknown:"Inconnu"},Fy={fillAllFields:"Veuillez remplir tous les champs",invalidEmail:"Veuillez saisir une adresse e-mail valide",passwordTooShort:"Le mot de passe doit contenir au moins 8 caractères",passwordHint:"Doit contenir au moins 8 caractères.",fillBothPasswords:"Veuillez remplir les deux champs de mot de passe.",enterEmail:"Veuillez saisir votre adresse e-mail",invalidOtp:"Veuillez saisir un code valide à 6 chiffres"},Yy={projects:"Projets",voices:"Voix",settings:"Paramètres",workspace:"Espace de travail",darkMode:"Mode sombre",lightMode:"Mode clair"}
118,Ky={plan:"Forfait",freeTrials:"Essais gratuits",expiresIn:"Expire dans {{days}} jour(s)",myProfile:"Mon profil",billingSubscription:"Facturation et abonnement"},Zy={myProjects:"Mes projets",subtitle:"Gérez et localisez vos vidéos facilement.",newProject:"Nouveau projet",createProjectFailed:"Échec de la création du projet",upgradeStarted:"Mise à niveau du projet lancée ! La traduction complète est en cours.",upgradeProjectFailed:"Échec de la mise à niveau du projet",promoBanner:{title:"Passez à la vitesse supérieure pour une portée mondiale",description:"Débloquez des outils professionnels comme l'export 4K et le clonage vocal pour élargir votre audience.",upgradeNow:"Mettre à niveau maintenant"}},Qy={title:"Traduisez vidéo ou audio dans plus de 40 langues",description:"Obtenez des sous-titres précis, une voix off naturelle et une synchronisation labiale parfaite en un seul outil. Importez votre première vidéo pour commencer.",cta:"Traduire une vidéo maintenant"},$y={videoBundle:"Lot vidéo",languages:"Langues",duration:"Durée",created:"Créé",status:"Statut",actions:"Actions",source:"Source",versions:"{{count}} versions",readyCount:"{{count}} prêts",failedCount:"{{count}} échoués",allReady:"Tous prêts",clickToPreview:"Cliquez pour prévisualiser l'original",viewDetails:"Voir les détails",downloadAll:"Tout télécharger",upgradeToDownload:"Mettre à niveau pour télécharger",deleteAll:"Tout supprimer",firstMinTranslated:"Première minute traduite",processFullVideo:"Traiter la vidéo complète",video:"Vidéo",generating:"Génération...",videoWithSubtitles:"Vidéo avec sous-titres",translatedSubtitle:"Sous-titre traduit",originalSubtitle:"Sous-titre original",noProjects:"Aucun projet trouvé. Créez-en un pour commencer.",renameProject:"Renommer le projet",renameVersion:"Renommer la ver
118sion",deleteVersionConfirm:"Êtes-vous sûr de vouloir supprimer cette version ?",deleteGroupConfirm:"Êtes-vous sûr de vouloir supprimer ce groupe de projets ?",deleteVersionMessage:"Une fois supprimée, cette version ne sera plus accessible.",deleteGroupMessage:"Toutes les versions de ce groupe seront supprimées.",groupRenamed:"Groupe de projets renommé avec succès",projectRenamed:"Projet renommé avec succès",renameFailed:"Échec du renommage",groupDeleted:"Groupe de projets supprimé avec succès",projectDeleted:"Projet supprimé avec succès",deleteFailed:"Échec de la suppression",videoNotAvailable:"URL de la vidéo non disponible",subtitleNotAvailable:"Vidéo ou sous-titre non disponible",generatingVideoSubtitles:"Génération de la vidéo avec sous-titres...",generatingPleaseWait:"Cela peut prendre un moment. Veuillez patienter.",videoReady:"Vidéo prête !",videoGenerated:"Vidéo générée avec succès !",generateFailed:"Échec de la génération de la vidéo avec sous-titres"},Xy={title:"Nouveau projet",uploadingFile:"Import de {{fileName}}...",uploadFailed:"Échec de l'import",clickToRetry:"Cliquez pour réessayer",dropVideo:"Déposez votre vidéo ici",releaseToUpload:"Relâchez pour importer",clickToUpload:"Cliquez pour importer ou glissez-déposez",uploadHint:"MP4, MOV ou WEBM jusqu'à {{maxSize}}Mo, max 1 heure",invalidVideoFileType:"Veuillez importer un fichier vidéo (MP4, MOV ou WEBM)",fileSizeExceeded:"La taille du fichier ({{sizeMB}}Mo) dépasse la limite de {{maxSizeMB}}Mo. Veuillez importer une vidéo plus petite.",videoDurationExceeded:"La durée de la vidéo ({{durationMin}} min) dépasse la limite de {{maxMin}} minutes. Veuillez importer une vidéo plus courte.",uploadFailedGeneric:"Échec de l'import",importFrom:"Ou importer depuis",pasteYoutube:"Coller un lien YouTube (Bientôt disponible)",changeFile:"Changer de fichier",projectName:"Nom du projet",targetLanguages:"Langues cibles",selectedCount:"{{count}} sélectionnés",selectLanguages:"Sélectionner les langues...",search:"Rechercher...",noMatch:"Aucun résultat",audioMode:"Mode audio",cloneVoiceAuto:"Cloner la voix (Automatique)",myVoices:"Mes voix",systemVoices:"Voix système",speakerCount:"Nombre de locuteurs",autoDetect:"Détection automatique",speakerSingular:"{{count}} locuteur",speakerPlural:"{{count}} locuteurs",durationMode:"Mode de durée",autoFit:"Ajustement auto",natural:"Naturel",custom:"Personnalisé",autoFitDesc:"L'IA ajuste la vitesse de parole pour correspondre à la durée de la vidéo originale. Idéal pour les publicités et la synchronisation labiale.",naturalDesc:"Privilégie un rythme de parole naturel. L'image peut se figer pour synchroniser l'audio. Idéal pour les Vlogs/Éducation.",customDesc:"Contrôlez manuellement le multiplicateur de vitesse (ex. 1.1x). Utile pour des besoins de rythme spécifiques.",upTo:"Jusqu'à",timesOriginal:"× original",adCopy:"Texte publicitaire",optional:"(Facultatif)",quickAdd:"Ajout rapide :",adCopyTitle:"Titre",adCopyDescription:"Description",adCopyCta:"CTA",adCopyComment:"Commentaire",labelPlaceholder:"Libellé (ex. Titre)",addTextField:"Ajouter un champ texte",insufficientCredits:"Crédits insuffisants. Veuillez mettre à niveau pour continuer.",freeTrialInfo:"Essai gratuit : vous pouvez traduire uniquement les 60 premières secondes.",freeTrialsRemaining:"({{count}} essais gratuits restants)",unlockFull:"Débloquer la traduction complète",noSubscription:"Aucun abonnement actif. Veuillez mettre à niveau pour continuer.",trialLimitExceeded:"Limite d'essai dépassée. Veuillez mettre à niveau pour continuer.",trialMode:"Mode essai (aperçu 60s)",estimatedCredits:"Estimation : {{count}} crédits",estimatedCreditsDetail:"({{langCount}} langues × {{creditsPerLang}} crédits/langue)",estimatedZero:"Estimation : 0 crédits",tryForFree:"Essayer gratuitement ({{count}})",translate:"Traduire",translateCount:"Traduire ({{count}})"},Jy={login:{title:"Bon retour",subtitle:"Saisissez vos identifiants pour accéder à votre espace de travail.",continueGoogle:"Continuer avec Google",orContinueEmail:"Ou continuer par e-mail",email:"E-mail",password:"Mot de passe",forgotPassword:"Mot de passe oublié ?",signIn:"Se connecter",signingIn:"Connexion...",noAccount:"Vous n'avez pas de compte ?",signUp:"S'inscrire",emailNotVerified:"E-mail non vérifié. Veuillez vérifier votre e-mail.",loginFailed:"Échec de la connexion. Veuillez vérifier vos identifiants.",googleLoginFailed:"Échec de l'initialisation de la connexion Google"}
118,signup:{title:"Créer un compte",subtitle:"Commencez à localiser vos vidéos en quelques minutes.",orSignupEmail:"Ou s'inscrire par e-mail",name:"Nom",namePlaceholder:"Votre nom",passwordPlaceholder:"Créez un mot de passe sécurisé",getStarted:"Commencer",creatingAccount:"Création du compte...",registrationFailed:"Échec de l'inscription",termsAgreement:'En cliquant sur "Commencer", vous acceptez nos',termsOfService:"Conditions d'utilisation",and:"et",privacyPolicy:"Politique de confidentialité",hasAccount:"Vous avez déjà un compte ?",verify:{title:"Vérifiez votre e-mail",subtitle:"Nous avons envoyé un code à {{email}}",enterCode:"Saisissez le code de vérification",verifyEmail:"Vérifier l'e-mail",resendIn:"Renvoyer le code dans {{seconds}}s",resendCode:"Renvoyer le code de vérification",backToSignup:"Retour à l'inscription",incorrectCode:"Code de vérification incorrect. Veuillez réessayer.",codeExpired:"Le code de vérification a expiré. Veuillez en demander un nouveau.",verificationFailed:"Échec de la vérification",resendFailed:"Échec du renvoi du code"}},forgotPassword:{title:"Réinitialiser le mot de passe",subtitle:"Saisissez votre e-mail pour recevoir un code de réinitialisation.",setNewTitle:"Définir un nouveau mot de passe",setNewSubtitle:"Saisissez le code envoyé à votre e-mail et votre nouveau mot de passe.",sendResetCode:"Envoyer le code de réinitialisation",sendingCode:"Envoi du code...",resetCode:"Code de réinitialisation",enterCode:"Saisissez le code à 6 chiffres",newPassword:"Nouveau mot de passe",resetPassword:"Réinitialiser le mot de passe",resetting:"Réinitialisation...",backToLogin:"Retour à la connexion",resetSuccess:"Mot de passe réinitialisé avec succès ! Redirection vers la connexion...",resetCodeSent:"Code de réinitialisation envoyé à votre e-mail",sendFailed:"Échec de l'envoi du code de réinitialisation",resetFailed:"Échec de la réinitialisation du mot de passe"},layout:{heroTitle:"Brisez les barrières linguistiques grâce à la localisation vidéo par IA.",feature1:"Clonage vocal avec 99% de précision",feature2:"Technologie de synchronisation labiale parfaite",feature3:"Prise en charge de plus de 40 langues"}},Wy={title:"Paramètres",subtitle:"Configurez les préférences de votre espace de travail et l'accès API.",appearance:"Apparence",themePreference:"Préférence de thème",themeDescription:"Basculez entre les modes clair et sombre.",light:"Clair",dark:"Sombre",generalPreferences:"Préférences générales",language:"Langue",languageDescription:"La langue de l'interface du tableau de bord.",timezone:"Fuseau horaire",timezoneDescription:"Utilisé pour les e-mails de facturation et de notification.",notifications:"Notifications",projectCompletion:"Alertes de fin de projet",weeklySummary:"E-mails de résumé hebdomadaire",productUpdates:"Mises à jour et annonces produit",yourSubscription:"Votre abonnement",youAreOn:"Vous êtes sur le forfait",payingMonthly:"paiement mensuel",payingYearly:"paiement annuel",planRenewOn:"Votre forfait sera renouvelé le {{date}} pour {{amount}}.",subscriptionEndOn:"Votre abonnement prendra fin le {{date}}.",cancelSubscription:"Annuler l'abonnement",keepSubscription:"Conserver l'abonnement",resubscribe:"Se réabonner",upgradePlan:"Mettre à niveau",upgradeDescription:"Passez à un forfait supérieur pour débloquer les traductions vidéo complètes et les fonctionnalités premium.",freePlan:"Forfait gratuit",resubscribeFailed:"Échec du réabonnement",cancelSurvey:{title:"Nous sommes désolés de vous voir partir",subt
118itle:"Veuillez nous indiquer la raison de votre annulation afin que nous puissions nous améliorer.",reasons:{noNeed:"Je n'ai plus besoin de traduction vidéo.",qualityBad:"La qualité de traduction n'a pas répondu à mes attentes.",tooSlow:"La vitesse de traitement était trop lente.",notUsed:"Je n'utilise pas le produit assez souvent.",tooExpensive:"C'est trop cher pour mon budget.",betterAlternative:"J'ai trouvé une meilleure alternative."},other:"Autre",otherPlaceholder:"Veuillez nous en dire plus..."},cancelConfirm:{title:"Annuler l'abonnement ?",message:"Votre abonnement restera actif jusqu'au <strong>{{date}}</strong>. Après cela, vous perdrez l'accès aux fonctionnalités premium.",yesCancel:"Oui, annuler"}},Iy={title:"Facturation et abonnement",subtitle:"Gérez votre forfait, votre historique de facturation et vos moyens de paiement.",currentPlan:"Forfait actuel",youAreOn:"Vous êtes actuellement sur le forfait",plan:".",creditsRemaining:"{{count}} crédits restants",renewsOn:"Renouvellement le {{date}}",subscriptionEndOn:"Votre abonnement prendra fin le {{date}}.",noteActiveRequired:"Remarque : un forfait actif est requis pour utiliser les crédits.",manageSubscription:"Gérer l'abonnement",opening:"Ouverture...",usage:"Utilisation",resetOn:"Réinitialisation le {{date}}",noActiveSubscription:"Aucun abonnement actif",creditHistory:"Historique des crédits",noTransactions:"Aucune transaction de crédits pour le moment.",description:"Description",date:"Date",amount:"Montant",page:"Page {{current}} sur {{total}}",creditsUsed:"{{used}} / {{total}} crédits utilisés",freeTrialsUsed:"{{used}} / {{total}} essais gratuits utilisés",upgradePlan:"Mettre à niveau",paymentSuccess:"Paiement réussi ! Votre abonnement est maintenant actif.",confirmingPayment:"Confirmation de votre paiement...",subscriptionCanceled:"L'abonnement sera annulé à la fin de la période en cours.",cancelFailed:"Échec de l'annulation de l'abonnement",subscriptionReactivated:"Abonnement réactivé ! Votre forfait continuera normalement.",resubscribeFailed:"Échec du réabonnement",cancelConfirm:{title:"Annuler l'abonnement ?",message:"Votre abonnement restera actif jusqu'au <strong>{{date}}</strong>. Après cela, vous perdrez l'accès aux fonctionnalités premium.",keepSubscription:"Conserver l'abonnement",yesCancel:"Oui, annuler"}},eb={title:"Mon profil",subtitle:"Gérez vos informations personnelles et la sécurité de votre compte.",name:"Nom",emailAddress:"Adresse e-mail",changePassword:"Changer le mot de passe",workspaceName:"Nom de l'espace de travail",saveChanges:"Enregistrer les modifications",accountSettings:"Paramètres du compte",mail:"E-mail",oldPassword:"Ancien mot de passe",oldPasswordPlaceholder:"Saisissez l'ancien mot de passe",newPassword:"Nouveau mot de passe",newPasswordPlaceholder:"Saisissez le nouveau mot de passe",passwordUpdated:"Mot de passe mis à jour avec succès.",passwordUpdateFailed:"Échec de la mise à jour du mot de passe."},tb={title:"Bibliothèque vocale",subtitle:"Gérez vos voix personnalisées et explorez les voix système pour le doublage vidéo.",cloneNewVoice:"Cloner une nouvelle voix",searchPlaceholder:"Rechercher des voix par nom, description ou tags...",filterAll:"Toutes",filterMy:"Mes voix",filterSystem:"Système",myVoices:"Mes voix",systemVoices:"Voix système",cloneQuota:"Quota de clonage",languages:"Langues",myClonedVoices:"Mes voix clonées",noClonedVoices:"Aucune voix clonée pour le moment",noClonedDescription:"Clonez votre voix pour créer un doublage personnalisé pour vos vidéos.",cloneFirstVoice:"Clonez votre première voix",uploadModal:{title:"Clonez votre voix",subtitle:"Importez un échantillon audio pour le clonage vocal",voiceName:"Nom de la voix *",voiceNamePlaceholder:"ex., Ma voix de direction",description:"Description",descriptionPlaceholder:"Décrivez votre voix (ex., professionnelle, chaleureuse, dynamique...)",audioSample:"Échantillon audio *",uploadPrompt:"Cliquez pour importer ou glissez-déposez",uploadHint:"WAV, MP3 ou M4A (max 10 Mo, 30s-2min)",tagsOptional:"Tags (facultatif)",addTag:"Ajouter un tag...",tips:"Conseils pour de meilleurs résultats :",tip1:"Enregistrez dans un environnement calme",tip2:"Parlez clairement à un rythme naturel",tip3:"Utilisez 30 secondes à 2 minutes d'audio",cloneVoice:"Cloner la voix",processing:"Traitement..."}},ab={title:"Tarifs",yearly:"Annuel",monthly:"Mensuel",save40:"Économisez 40%",perMonthBilledAnnually:"par mois, facturé annuellement",perMonth:"par mois",currentPlan:"Forfait actuel",mostPopular:"Le plus populaire",compareAllFeatures:"Comparer toutes les fonctionnalités",closeAria:"Fermer les tarifs",saveAmount:"ÉCONOMISEZ ${{amount}}",unitYear:"an",unitMonth:"mois",creditsWithUnit:"{{credits}} crédits/{{unit}}",translationUpTo:"Traduction IA jusqu'à {{mins}} min",translationUpToWithUnit:"Traduction IA jusqu'à {{mins}} min/{{unit}}",plans:{starter:"Starter",creator:"Creator",scale:"Scale"},planDescriptions:{starter:"Parfait pour les particuliers et les passionnés.",creator:"Pour les chaînes et boutiques en croissance.",scale:"Faites évoluer votre production mondiale."},loadingPlans:"Chargement des forfaits...",faq:{title:"Questions fréquentes",items:[{question:"Que sont les crédits ?",answer:`Les crédits sont utilisés pour payer la traduction vidéo sur Genve.
119
120• Tarif : Chaque tranche de 30 secondes de vidéo coûte 0,5 crédit par langue cible.
121• Arrondi : La durée est arrondie au bloc de 30 secondes supérieur.
122(ex. 45 secondes sont facturées comme 60 secondes = 1 crédit)
123• Exemple :
124  - Traduire une vidéo de 1 minute 25 secondes dans 1 langue coûtera 1,5 crédits.
125  - Traduire une vidéo de 2 minutes dans 2 langues différentes coûtera 4 crédits.`},{question:"Mes crédits expirent-ils ?",answer:`La validité des crédits dépend du statut de votre forfait :
126
127• Abonnement mensuel : Les crédits sont reportés et restent valides pendant 2 mois.
128• Abonnement annuel : Les crédits restent valides pendant 14 mois (1 an + 2 mois de grâce).
129• Remarque : Pour utiliser les crédits accumulés, vous devez maintenir un abonnement actif. Si votre abonnement est annulé, vos crédits seront gelés jusqu'à votre réabonnement.`},{question:"Quelle est la politique de remboursement ?",answer:`Nous nous efforçons de fournir un service transparent et fiable. Notre politique est la suivante :
130
131• Défaillances techniques : Si une traduction échoue en raison d'erreurs de notre système, les crédits déduits seront automatiquement remboursés sur votre solde.
132• Paiements d'abonnement : Nous n'offrons actuellement pas de remboursement sur les frais d'abonnement. Pour vous aider à prendre une décision éclairée, nous offrons 3 essais gratuits pour traduire 3 vidéos à chaque nouvel utilisateur. Veuillez profiter pleinement de ces essais pour découvrir nos fonctionnalités avant de vous abonner.
133
134Si vous êtes déjà abonné mais décidez de ne plus utiliser nos services, veuillez annuler votre abonnement avant le prochain cycle de facturation pour éviter des frais supplémentaires.`},{question:"Puis-je changer de forfait ?",answer:"Oui, vous pouvez passer à un forfait supérieur ou inférieur à tout moment. Les changements prennent effet immédiatement. Veuillez choisir le forfait qui correspond le mieux à vos besoins actuels."},{question:"Comment annuler mon abonnement ?",answer:`Vous pouvez annuler votre abonnement en accédant à la page Paramètres et en cliquant sur "Annuler l'abonnement" dans le module Abonnement.
135
136• Accès : Après l'annulation, vous conserverez l'accès à toutes les fonctionnalités premium jusqu'à la fin de votre cycle de facturation en cours.
137• Aucun frais futur : Une fois le cycle en cours terminé, vous ne serez plus facturé.`},{question:"Qu'advient-il de mes crédits après l'annulation ?",answer:`Si votre abonnement expire (après la fin du cycle de facturation) :
138
139• Crédits gelés : Vos crédits non utilisés ne disparaîtront pas immédiatement ; ils sont conservés jusqu'à leur date d'expiration d'origine.
140• Réactivation : Cependant, vous ne pouvez pas utiliser ces crédits tant que vous n'Ã
140ªtes pas abonné. Si vous réactivez votre abonnement avant l'expiration des crédits, vous retrouverez immédiatement l'accès pour les utiliser.`},{question:"Comment obtenir plus de crédits ?",answer:"Si vous êtes à court de crédits, vous pouvez simplement mettre à niveau votre forfait depuis votre tableau de bord."},{question:"Comment contacter le support ?",answer:`Nous sommes là pour vous aider ! Vous pouvez nous contacter via :
141
142• Chat en direct : Cliquez sur le bouton de support dans le coin inférieur droit de la page.
143• E-mail : Envoyez vos demandes à [email protected].`}]},featureComparison:{credits:"Crédits",aiTranslationDuration:"Durée de traduction IA",aiLipSync:"Synchronisation labiale IA",videoResolution:"Résolution vidéo",languages:"Langues",speakerDetection:"Détection des locuteurs",qualityPreservation:"Préservation de la qualité",noWatermark:"Sans filigrane",creditRollover:"Report des crédits",generationSpeed:"Vitesse de génération",techSupport:"Support technique",autoUpdates:"Mises à jour automatiques",cancelAnytime:"Annulation à tout moment"},featureValues:{videoResolution1080p:"1080p HD",videoResolution4k:"4K Ultra HD",languages60Plus:"60+ langues",speakerDetectionAuto:"Auto-Detect",qualityLossless:"Sans perte",creditRollover1Month:"1 mois",creditRollover2Months:"2 mois",generationSpeedStandard:"Standard",generationSpeed2xTurbo:"2x Turbo",generationSpeed3xMax:"3x Max",techSupportFree:"Support gratuit"},featureSuffix:{perUnit:" par {{unit}}",mins:" min"}},nb={unlockGlobalReach:"Débloquez une portée mondiale",subtitle:"Faites évoluer votre contenu vidéo avec la traduction IA professionnelle, le clonage vocal et la synchronisation labiale."},ib={title:"Traiter la vidéo complète",subtitle:"Traduire la durée restante ?",creditsToUse:"Crédits à utiliser",remainingCredits:"Crédits restants",insufficientCredits:"Crédits insuffisants"},lb={upgradeTitle:"Mettez à niveau pour traduire la vidéo complète",upgradeDescription:"Pour traduire des vidéos de plus d'une minute sans filigrane, choisissez le forfait adapté à vos besoins.",completed:"Terminé",video:"Vidéo",videoWithSubtitles:"Vidéo + Sous-titres",translatedSubtitles:"Sous-titres traduits",originalSubtitles:"Sous-titres originaux",firstMinTranslated:"Première minute traduite",translateFullVideo:"Traduire la vidéo complète",language:"Langue",audio:"Audio",cloned:"Cloné",adCopy:"Texte publicitaire",localizedAdCopy:"Texte publicitaire localisé",original:"Original",translated:"Traduit",noAdCopy:"Aucun texte publicitaire fourni",noAdCopyHint:"Ajoutez des titres, descriptions ou CTAs dans le modal Nouveau projet",copiedAll:"Tout copié !",copyAllTranslated:"Copier tout le texte traduit",lastUpdated:"Dernière mise à jour : À l'instant",upgradeToDownload:"Mettre à niveau pour télécharger"},ob={common:Gy,validation:Fy,sidebar:Yy,header:Ky,dashboard:Zy,emptyState:Qy,projectTable:$y,newProject:Xy,auth:Jy,settings:Wy,billing:Iy,profile:eb,voices:tb,pricing:ab,pricingModal:nb,upgradeProject:ib,videoDetails:lb},rb={cancel:"Annulla",confirm:"Conferma",save:"Salva",saving:"Salvataggio...",delete:"Elimina",deleting:"Eliminazione...",back:"Indietro",next:"Avanti",close:"Chiudi",loading:"Caricamento...",retry:"Riprova",upgrade:"Aggiorna piano",buyMore:"Acquista altro",buyNow:"Acquista ora",logOut:"Esci",free:"Gratuito",pro:"Pro",active:"Attivo",canceled:"Annullato",expired:"Scaduto",previous:"Precedente",credits:"crediti",freeTrials:"prove gratuite",continue:"Continua",rename:"Rinomina",name:"Nome",preview:"Anteprima",processing:"In elaborazione",ready:"Pronto",failed:"Non riuscito",unknown:"Sconosciuto"},sb={fillAllFields:"Si prega di compilare tutti i campi",invalidEmail:"Si prega di inserire un indirizzo e-mail valido",passwordTooShort:"La password deve contenere almeno 8 caratteri",passwordHint:"Deve contenere almeno 8 caratteri.",fillBothPasswords:"Si prega di compilare entrambi i campi della password.",enterEmail:"Si prega di inserire il proprio indirizzo e-mail",invalidOtp:"Si prega di inserire un codice valido di 6 cifre"},ub={projects:"Progetti",voices:"Voci",settings:"Impostazioni",workspace:"Area di lavoro",darkMode:"Modalità scura",lightMode:"Modalità chiara"}
143,cb={plan:"Piano",freeTrials:"Prove gratuite",expiresIn:"Scade tra {{days}} giorno/i",myProfile:"Il mio profilo",billingSubscription:"Fatturazione e abbonamento"},db={myProjects:"I miei progetti",subtitle:"Gestisca e localizzi i Suoi video facilmente.",newProject:"Nuovo progetto",createProjectFailed:"Creazione del progetto non riuscita",upgradeStarted:"Aggiornamento del progetto avviato! La traduzione completa è ora in corso.",upgradeProjectFailed:"Aggiornamento del progetto non riuscito",promoBanner:{title:"Aggiorni il piano per una portata globale",description:"Sblocchi strumenti professionali come esportazione 4K e clonazione vocale per ampliare la Sua portata.",upgradeNow:"Aggiorna ora"}},fb={title:"Traduca video o audio in oltre 40 lingue",description:"Ottenga sottotitoli precisi, doppiaggio naturale e sincronizzazione labiale perfetta in un unico strumento. Carichi il Suo primo video per iniziare.",cta:"Traduci video ora"},mb={videoBundle:"Pacchetto video",languages:"Lingue",duration:"Durata",created:"Creato",status:"Stato",actions:"Azioni",source:"Sorgente",versions:"{{count}} versioni",readyCount:"{{count}} pronti",failedCount:"{{count}} non riusciti",allReady:"Tutti pronti",clickToPreview:"Clicchi per visualizzare l'anteprima dell'originale",viewDetails:"Vedi dettagli",downloadAll:"Scarica tutto",upgradeToDownload:"Aggiorna per scaricare",deleteAll:"Elimina tutto",firstMinTranslated:"Primo minuto tradotto",processFullVideo:"Elabora video completo",video:"Video",generating:"Generazione...",videoWithSubtitles:"Video con sottotitoli",translatedSubtitle:"Sottotitolo tradotto",originalSubtitle:"Sottotitolo originale",noProjects:"Nessun progetto trovato. Ne crei uno per iniziare.",renameProject:"Rinomina progetto",renameVersion:"Rinomina versione",deleteVersionConfirm:"È sicuro di voler eliminare questa versione?",deleteGroupConfirm:"È sicuro di voler eliminare questo gruppo di progetti?",deleteVersionMessage:"Una volta eliminata, questa versione non sarà più accessibile.",deleteGroupMessage:"Tutte le versioni in questo gruppo verranno rimosse.",groupRenamed:"Gruppo di progetti rinominato con successo",projectRenamed:"Progetto rinominato con successo",renameFailed:"Rinomina non riuscita",groupDeleted:"Gruppo di progetti eliminato con successo",projectDeleted:"Progetto eliminato con successo",deleteFailed:"Eliminazione non riuscita",videoNotAvailable:"URL del video non disponibile",subtitleNotAvailable:"Video o sottotitolo non disponibile",generatingVideoSubtitles:"Generazione del video con sottotitoli...",generatingPleaseWait:"Potrebbe richiedere un momento. Attenda, per favore.",videoReady:"Video pronto!",videoGenerated:"Video generato con successo!",generateFailed:"Generazione del video con sottotitoli non riuscita"},pb={title:"Nuovo progetto",uploadingFile:"Caricamento di {{fileName}}...",uploadFailed:"Caricamento non riuscito",clickToRetry:"Clicchi per riprovare",dropVideo:"Trascini il Suo video qui",releaseToUpload:"Rilasci per caricare",clickToUpload:"Clicchi per caricare o trascini e rilasci",uploadHint:"MP4, MOV o WEBM fino a {{maxSize}}MB, max 1 ora",invalidVideoFileType:"Si prega di caricare un file video (MP4, MOV o WEBM)",fileSizeExceeded:"La dimensione del file ({{sizeMB}}MB) supera il limite di {{maxSizeMB}}MB. Si prega di caricare un video più piccolo.",videoDurationExceeded:"La durata del video ({{durationMin}} min) supera il limite di {{maxMin}} minuti. Si prega di caricare un video più breve.",uploadFailedGeneric:"Caricamento non riuscito",importFrom:"Oppure importa da",pasteYoutube:"Incolla link YouTube (Prossimamente)",changeFile:"Cambia file",projectName:"Nome del progetto",targetLanguages:"Lingue di destinazione",selectedCount:"{{count}} selezionati",selectLanguages:"Seleziona lingue...",search:"Cerca...",noMatch:"Nessuna corrispondenza",audioMode:"Modalità audio",cloneVoiceAuto:"Clona voce (Automatico)",myVoices:"Le mie voci",systemVoices:"Voci di sistema",speakerCount:"Numero di parlanti",autoDetect:"Rilevamento automatico",speakerSingular:"{{count}} parlante",speakerPlural:"{{count}} parlanti",durationMode:"Modalità durata",autoFit:"Adattamento automatico",natural
143:"Naturale",custom:"Personalizzato",autoFitDesc:"L'IA regola la velocità del parlato per adattarsi alla durata del video originale. Ideale per annunci e sincronizzazione labiale.",naturalDesc:"Privilegia un ritmo di parlato naturale. Il fotogramma potrebbe bloccarsi per sincronizzare l'audio. Ideale per Vlog/Formazione.",customDesc:"Controlli manualmente il moltiplicatore di velocità (es. 1.1x). Utile per esigenze di ritmo specifiche.",upTo:"Fino a",timesOriginal:"× originale",adCopy:"Testo pubblicitario",optional:"(Facoltativo)",quickAdd:"Aggiunta rapida:",adCopyTitle:"Titolo",adCopyDescription:"Descrizione",adCopyCta:"CTA",adCopyComment:"Commento",labelPlaceholder:"Etichetta (es. Titolo)",addTextField:"Aggiungi campo di testo",insufficientCredits:"Crediti insufficienti. Si prega di aggiornare il piano per continuare.",freeTrialInfo:"Prova gratuita: è possibile tradurre solo i primi 60 secondi.",freeTrialsRemaining:"({{count}} prove gratuite rimanenti)",unlockFull:"Sblocca traduzione completa",noSubscription:"Nessun abbonamento attivo. Si prega di aggiornare il piano per continuare.",trialLimitExceeded:"Limite di prova superato. Si prega di aggiornare il piano per continuare.",trialMode:"Modalità prova (anteprima 60s)",estimatedCredits:"Stima: {{count}} crediti",estimatedCreditsDetail:"({{langCount}} lingue × {{creditsPerLang}} crediti/lingua)",estimatedZero:"Stima: 0 crediti",tryForFree:"Prova gratis ({{count}})",translate:"Traduci",translateCount:"Traduci ({{count}})"},gb={login:{title:"Bentornato",subtitle:"Inserisca le Sue credenziali per accedere alla Sua area di lavoro.",continueGoogle:"Continua con Google",orContinueEmail:"Oppure continua con e-mail",email:"E-mail",password:"Password",forgotPassword:"Password dimenticata?",signIn:"Accedi",signingIn:"Accesso in corso...",noAccount:"Non ha un account?",signUp:"Registrati",emailNotVerified:"E-mail non verificata. Si prega di verificare la propria e-mail.",loginFailed:"Accesso non riuscito. Si prega di verificare le proprie credenziali.",googleLoginFailed:"Inizializzazione dell'accesso Google non riuscita"},signup:{title:"Crea un account",subtitle:"Inizi a localizzare i Suoi video in pochi minuti.",orSignupEmail:"Oppure registrati con e-mail",name:"Nome",namePlaceholder:"Il Suo nome",passwordPlaceholder:"Crei una password sicura",getStarted:"Inizia",creatingAccount:"Creazione account...",registrationFailed:"Registrazione non riuscita",termsAgreement:'Cliccando su "Inizia", accetta i nostri',termsOfService:"Termini di servizio",and:"e",privacyPolicy:"Informativa sulla privacy",hasAccount:"Ha già un account?",verify:{title:"Verifichi la Sua e-mail",subtitle:"Abbiamo inviato un codice a {{email}}",enterCode:"Inserisca il codice di verifica",verifyEmail:"Verifica e-mail",resendIn:"Reinvio del codice tra {{seconds}}s",resendCode:"Reinvia codice di verifica",backToSignup:"Torna alla registrazione",incorrectCode:"Codice di verifica errato. Si prega di riprovare.",codeExpired:"Il codice di verifica è scaduto. Si prega di richiederne uno nuovo.",verificationFailed:"Verifica non riuscita",resendFailed:"Reinvio del codice non riuscito"}},forgotPassword:{title:"Reimposta password",subtitle:"Inserisca la Sua e-mail per ricevere un codice di reimpostazione.",setNewTitle:"Imposta nuova password",setNewSubtitle:"Inserisca il codice inviato alla Sua e-mail e la Sua nuova password.",sendResetCode:"Invia codice di reimpostazione",sendingCode:"Invio del codice...",resetCode:"Codice di reimpostazione",enterCode:"Inserisca il codice a 6 cifre",newPassword:"Nuova password",resetPassword:"Reimposta password",resetting:"Reimpostazione...",backToLogin:"Torna all'accesso",resetSuccess:"Password reimpostata con successo! Reindirizzamento all'accesso...",resetCodeSent:"Codice di reimpostazione inviato alla Sua e-mail",sendFailed:"Invio del codice di reimpostazione non riuscito",resetFailed:"Reimpostazione della password non riuscita"},layout:{heroTitle:"Abbatta le barriere linguistiche con la localizzazione video basata sull'IA.",feature1:"Clonazione vocale con 99% di precisione",feature2:"Tecnologia di sincronizzazione labiale perfetta",feature3:"Supporto per oltre 40 lingue"}},hb={title:"Impostazioni",subtitle:"Configuri le preferenze della Sua area di lavoro e l'accesso API.",appearance:"Aspetto",themePreference:"Preferenza tema",themeDescription:"Passi dalla modalità chiara a quella scura.",light:"Chiaro",dark:"Scuro",generalPreferences:"Preferenze generali",language:"Lingua",languageDescription:"La lingua dell'interfaccia del pannello di controllo.",timezone:"Fuso orario",t
143imezoneDescription:"Utilizzato per le e-mail di fatturazione e notifica.",notifications:"Notifiche",projectCompletion:"Avvisi di completamento progetto",weeklySummary:"E-mail di riepilogo settimanale",productUpdates:"Aggiornamenti e annunci del prodotto",yourSubscription:"Il Suo abbonamento",youAreOn:"Lei è sul piano",payingMonthly:"pagamento mensile",payingYearly:"pagamento annuale",planRenewOn:"Il Suo piano si rinnoverà il {{date}} per {{amount}}.",subscriptionEndOn:"Il Suo abbonamento terminerà il {{date}}.",cancelSubscription:"Annulla abbonamento",keepSubscription:"Mantieni abbonamento",resubscribe:"Riabbonati",upgradePlan:"Aggiorna piano",upgradeDescription:"Aggiorni il piano per sbloccare traduzioni video complete e funzionalità premium.",freePlan:"Piano gratuito",resubscribeFailed:"Riabbonamento non riuscito",cancelSurvey:{title:"Ci dispiace vederLa andare via",subtitle:"La preghiamo di comunicarci il motivo dell'annullamento per permetterci di migliorare.",reasons:{noNeed:"Non ho più bisogno della traduzione video.",qualityBad:"La qualità della traduzione non ha soddisfatto le mie aspettative.",tooSlow:"La velocità di elaborazione era troppo lenta.",n
143otUsed:"Non utilizzo il prodotto abbastanza spesso.",tooExpensive:"È troppo costoso per il mio budget.",betterAlternative:"Ho trovato un'alternativa migliore."},other:"Altro",otherPlaceholder:"La preghiamo di dirci di più..."},cancelConfirm:{title:"Annullare l'abbonamento?",message:"Il Suo abbonamento rimarrà attivo fino al <strong>{{date}}</strong>. Dopodiché, perderà l'accesso alle funzionalità premium.",yesCancel:"Sì, annulla"}},vb={title:"Fatturazione e abbonamento",subtitle:"Gestisca il Suo piano, la cronologia di fatturazione e i metodi di pagamento.",currentPlan:"Piano attuale",youAreOn:"Attualmente è sul piano",plan:".",creditsRemaining:"{{count}} crediti rimanenti",renewsOn:"Si rinnova il {{date}}",subscriptionEndOn:"Il Suo abbonamento terminerà il {{date}}.",noteActiveRequired:"Nota: è necessario un piano attivo per utilizzare i crediti.",manageSubscription:"Gestisci abbonamento",opening:"Apertura...",usage:"Utilizzo",resetOn:"Reimpostazione il {{date}}",noActiveSubscription:"Nessun abbonamento attivo",creditHistory:"Cronologia crediti",noTransactions:"Ancora nessuna transazione di crediti.",description:"Descrizione",date:"Data",amount:"Importo",page:"Pagina {{current}} di {{total}}",creditsUsed:"{{used}} / {{total}} crediti utilizzati",freeTrialsUsed:"{{used}} / {{total}} prove gratuite utilizzate",upgradePlan:"Aggiorna piano",paymentSuccess:"Pagamento riuscito! Il Suo abbonamento è ora attivo.",confirmingPayment:"Conferma del pagamento...",subscriptionCanceled:"L'abbonamento verrà annullato alla fine del periodo corrente.",cancelFailed:"Annullamento dell'abbonamento non riuscito",subscriptionReactivated:"Abbonamento riattivato! Il Suo piano continuerà normalmente.",resubscribeFailed:"Riabbonamento non riuscito",cancelConfirm:{title:"Annullare l'abbonamento?",message:"Il Suo abbonamento rimarrà attivo fino al <strong>{{date}}</strong>. Dopodiché, perderà l'accesso alle funzionalità premium.",keepSubscription:"Mantieni abbonamento",yesCancel:"Sì, annulla"}},yb={title:"Il mio profilo",subtitle:"Gestisca le Sue informazioni personali e la sicurezza dell'account.",name:"Nome",emailAddress:"Indirizzo e-mail",changePassword:"Cambia password",workspaceName:"Nome dell'area di lavoro",saveChanges:"Salva modifiche",accountSettings:"Impostazioni account",mail:"E-mail",oldPassword:"Vecchia password",oldPasswordPlaceholder:"Inserisca la vecchia password",newPassword:"Nuova password",newPasswordPlaceholder:"Inserisca la nuova password",passwordUpdated:"Password aggiornata con successo.",passwordUpdateFailed:"Aggiornamento della password non riuscito."},bb={title:"Libreria vocale",subtitle:"Gestisca le Sue voci personalizzate e scopra le voci di sistema per il doppiaggio video.",cloneNewVoice:"Clona nuova voce",searchPlaceholder:"Cerca voci per nome, descrizione o tag...",filterAll:"Tutte",filterMy:"Le mie voci",filterSystem:"Sistema",myVoices:"Le mie voci",systemVoices:"Voci di sistema",cloneQuota:"Quota di clonazione",languages:"Lingue",myClonedVoices:"Le mie voci clonate",noClonedVoices:"Ancora nessuna voce clonata",noClonedDescription:"Cloni la Sua voce per creare un doppiaggio personalizzato per i Suoi video.",cloneFirstVoice:"Cloni la Sua prima voce",uploadModal:{title:"Cloni la Sua voce",subtitle:"Carichi un campione audio per la clonazione vocale",voiceName:"Nome della voce *",voiceNamePlaceholder:"es., La mia voce aziendale",description:"Descrizione",descriptionPlaceholder:"Descriva la Sua voce (es., professionale, calda, energica...)",audioSample:"Campione audio *",uploadPrompt:"Clicchi per caricare o trascini e rilasci",uploadHint:"WAV, MP3 o M4A (max 10 MB, 30s-2min)",tagsOptional:"Tag (facoltativo)",addTag:"Aggiungi tag...",tips:"Consigli per i migliori risultati:",tip1:"Registri in un ambiente silenzioso",tip2:"Parli chiaramente a un ritmo naturale",tip3:"Utilizzi da 30 secondi a 2 minuti di audio",cloneVoice:"Clona voce",processing:"Elaborazione..."}},Sb={title:"Prezzi",yearly:"Annuale",monthly:"Mensile",save40:"Risparmi 40%",perMonthBilledAnnually:"al mese, fatturato annualmente",perMonth:"al mese",currentPlan:"Piano attuale",mostPopular:"Più popolare",compareAllFeatures:"Confronta tutte le funzionalità",closeAria:"Chiudi prezzi",saveAmount:"RISPARMIA ${{amount}}",unitYear:"anno",unitMonth:"mese",creditsWithUnit:"{{credits}} crediti/{{unit}}",translationUpTo:"Traduzione IA fino a {{mins}} min",translationUpToWithUnit:"Traduzione IA fino a {{mins}} min/{{unit}}",plans:{starter:"Starter",creator:"Creator",scale:"Scale"},planDescriptions:{starter:"Perfetto per privati e appassionati.",creator:"Per canali e negozi in crescita.",scale:"Espanda la Sua produzione globale."},loadingPlans:"Caricamento piani...",faq:{title:"Domande frequenti",items:[{question:"Cosa sono i crediti?",answer:`I crediti vengono utilizzati per pagare la traduzione video su Genve.
144
145• Tariffa: Ogni 30 secondi di video costa 0,5 crediti per lingua di destinazione.
146• Arrotondamento: La durata viene arrotondata per eccesso al blocco di 30 secondi successivo.
147(es. 45 secondi vengono addebitati come 60 secondi = 1 credito)
148• Esempio:
149  - Tradurre un video di 1 minuto e 25 secondi in 1 lingua costerà 1,5 crediti.
150  - Tradurre un video di 2 minuti in 2 lingue diverse costerà 4 crediti.`},{question:"I miei crediti scadono?",answer:`La validità dei crediti dipende dallo stato del Suo piano:
151
152• Abbonamento mensile: I crediti si accumulano e rimangono validi per 2 mesi.
153• Abbonamento annuale: I crediti rimangono validi per 14 mesi (1 anno + 2 mesi di grazia).
154• Nota: Per utilizzare i crediti accumulati, è necessario mantenere un abbonamento attivo. Se il Suo abbonamento viene annullato, i Suoi crediti verranno congelati fino al riabbonamento.`},{question:"Qual è la politica di rimborso?",answer:`Ci impegniamo a fornire un servizio trasparente e affidabile. La nostra politica è la seguente:
155
156• Guasti tecnici: Se una traduzione non riesce a causa di errori del nostro 
156sistema, i crediti detratti verranno automaticamente rimborsati sul Suo saldo.
157• Pagamenti dell'abbonamento: Al momento non offriamo rimborsi per le quote di abbonamento. Per aiutarLa a prendere una decisione informata, offriamo 3 prove gratuite per tradurre 3 video a ogni nuovo utente. La preghiamo di sfruttare appieno queste prove per scoprire le nostre funzionalità prima di abbonarsi.
158
159Se si è già abbonato ma decide di non continuare a utilizzare i nostri servizi, La preghiamo di annullare l'abbonamento prima del prossimo ciclo di fatturazione per evitare addebiti aggiuntivi.`},{question:"Posso cambiare piano?",answer:"Sì, è possibile passare a un piano superiore o inferiore in qualsiasi momento. Sia gli upgrade che i downgrade hanno effetto immediato. Scelga il piano più adatto alle Sue esigenze attuali."},{question:"Come annullo il mio abbonamento?",answer:`Può annullare il Suo abbonamento accedendo alla pagina Impostazioni e cliccando su "Annulla abbonamento" nel modulo Abbonamento.
160
161• Accesso: Dopo l'annullamento, manterrà l'accesso a tutte le funzionalità premium fino alla fine del ciclo di fatturazione corrente.
162• Nessun addebito futuro: Una volta terminato il ciclo corrente, non Le verrà più addebitato alcun importo.`},{question:"Cosa succede ai miei crediti dopo l'annullamento?",answer:`Se il Suo abbonamento scade (dopo la fine del ciclo di fatturazione):
163
164• Crediti congelati: I Suoi crediti non utilizzati non scompariranno immediatamente; vengono conservati fino alla data di scadenza originale.
165• Riattivazione: Tuttavia, non è possibile utilizzare questi crediti senza abbonamento. Se riattiva il Suo abbonamento prima della scadenza dei crediti, riavrà immediatamente accesso per utilizzarli.`},{question:"Come posso ottenere più crediti?",answer:"Se esaurisce i crediti, può semplicemente aggiornare il Suo piano dal pannello di controllo."},{question:"Come contatto il supporto?",answer:`Siamo qui per aiutarLa! Può contattarci tramite:
166
167• Chat dal vivo: Clicchi sul pulsante di supporto nell'angolo in basso a destra della pagina.
168• E-mail: Invii le Sue richieste a [email protected].`}]},featureComparison:{credits:"Crediti",aiTranslationDuration:"Durata traduzione IA",aiLipSync:"Sincronizzazione labiale IA",videoResolution:"Risoluzione video",languages:"Lingue",speakerDetection:"Rilevamento parlanti",qualityPreservation:"Preservazione qualità",noWatermark:"Senza filigrana",creditRollover:"Accumulo crediti",generationSpeed:"Velocità di generazione",techSupport:"Supporto tecnico",autoUpdates:"Aggiornamenti automatici",cancelAnytime:"Annulla in qualsiasi momento"},featureValues:{videoResolution1080p:"1080p HD",videoResolution4k:"4K Ultra HD",languages60Plus:"60+ lingue",speakerDetectionAuto:"Auto-Detect",qualityLossless:"Senza perdita",creditRollover1Month:"1 mese",creditRollover2Months:"2 mesi",generationSpeedStandard:"Standard",generationSpeed2xTurbo:"2x Turbo",generationSpeed3xMax:"3x Max",techSupportFree:"Supporto gratuito"},featureSuffix:{perUnit:" per {{unit}}",mins:" min"}},zb={unlockGlobalReach:"Sblocchi la portata globale",subtitle:"Espanda i Suoi contenuti video con traduzione IA professionale, clonazione vocale e sincronizzazione labiale."},Ab={title:"Elabora video completo",subtitle:"Tradurre la durata rimanente?",creditsToUse:"Crediti da utilizzare",remainingCredits:"Crediti rimanenti",insufficientCredits:"Crediti insufficienti"},Cb={upgradeTitle:"Aggiorni il piano per tradurre il video completo",upgradeDescription:"Per tradurre video di durata superiore a un minuto senza filigrana, scelga il piano adatto alle Sue esigenze.",completed:"Completato",video:"Video",videoWithSubtitles:"Video + Sottotitoli",translatedSubtitles:"Sottotitoli tradotti",originalSubtitles:"Sottotitoli originali",firstMinTranslated:"Primo minuto tradotto",translateFullVideo:"Traduci video completo",language:"Lingua",audio:"Audio",cloned:"Clonato",adCopy:"Testo pubblicitario",localizedAdCopy:"Testo pubblicitario localizzato",original:"Originale",translated:"Tradotto",noAdCopy:"Nessun testo pubblicitario fornito",noAdCopyHint:"Agg
168iunga titoli, descrizioni o CTAs nel modal Nuovo progetto",copiedAll:"Tutto copiato!",copyAllTranslated:"Copia tutto il testo tradotto",lastUpdated:"Ultimo aggiornamento: Appena adesso",upgradeToDownload:"Aggiorna per scaricare"},Tb={common:rb,validation:sb,sidebar:ub,header:cb,dashboard:db,emptyState:fb,projectTable:mb,newProject:pb,auth:gb,settings:hb,billing:vb,profile:yb,voices:bb,pricing:Sb,pricingModal:zb,upgradeProject:Ab,videoDetails:Cb},Eb={cancel:"Abbrechen",confirm:"Bestätigen",save:"Speichern",saving:"Speichern...",delete:"Löschen",deleting:"Löschen...",back:"Zurück",next:"Weiter",close:"Schließen",loading:"Laden...",retry:"Erneut versuchen",upgrade:"Upgrade",buyMore:"Mehr kaufen",buyNow:"Jetzt kaufen",logOut:"Abmelden",free:"Kostenlos",pro:"Pro",active:"Aktiv",canceled:"Gekündigt",expired:"Abgelaufen",previous:"Zurück",credits:"Credits",freeTrials:"kostenlose Testversionen",continue:"Weiter",rename:"Umbenennen",name:"Name",preview:"Vorschau",processing:"Wird verarbeitet",ready:"Bereit",failed:"Fehlgeschlagen",unknown:"Unbekannt"},wb={fillAllFields:"Bitte füllen Sie alle Felder aus",invalidEmail:"Bitte geben Sie eine gültige E-Mail-Adresse ein",passwordTooShort:"Das Passwort muss mindestens 8 Zeichen lang sein",passwordHint:"Muss mindestens 8 Zeichen lang sein.",fillBothPasswords:"Bitte füllen Sie beide Passwortfelder aus.",enterEmail:"Bitte geben Sie Ihre E-Mail-Adresse ein",invalidOtp:"Bitte geben Sie einen gültigen 6-stelligen Code ein"},kb={projects:"Projekte",voices:"Stimmen",settings:"Einstellungen",workspace:"Arbeitsbereich",darkMode:"Dunkelmodus",lightMode:"Hellmodus"},Mb={plan:"Tarif",freeTrials:"Kostenlose Testversionen",expiresIn:"Läuft ab in {{days}} Tag(en)",myProfile:"Mein Profil",billingSubscription:"Abrechnung & Abonnement"},Db={myProjects:"Meine Projekte",subtitle:"Verwalten und lokalisieren Sie Ihre Videos ganz einfach.",newProject:"Neues Projekt",createProjectFailed:"Projekt konnte nicht erstellt werden",upgradeStarted:"Projekt-Upgrade gestartet! Die vollständige Übersetzung wird durchgeführt.",upgradeProjectFailed:"Projekt-Upgrade fehlgeschlagen",promoBanner:{title:"Upgraden Sie für globale Reichweite",description:"Schalten Sie professionelle Tools wie 4K-Export und Stimmklonen frei, um Ihre Reichweite zu vergrößern.",upgradeNow:"Jetzt upgraden"}},Rb={title:"Übersetzen Sie Video oder Audio in über 40 Sprachen",description:"Erhalten Sie saubere Untertitel, natürliche Vertonung und perfekte Lippensynchronisation in einem Tool. Laden Sie Ihr erstes Video hoch, um loszulegen.",cta:"Jetzt Video übersetzen"},xb={videoBundle:"Video-Paket",languages:"Sprachen",duration:"Dauer",created:"Erstellt",status:"Status",actions:"Aktionen",source:"Quelle",versions:"{{count}} Versionen",readyCount:"{{count}} bereit",failedCount:"{{count}} fehlgeschlagen",allReady:"Alle bereit",clickToPreview:"Klicken Sie, um das Original anzuzeigen",viewDetails:"Details anzeigen",downloadAll:"Alles herunterladen",upgradeToDownload:"Upgrade zum Herunterladen",deleteAll:"Alles löschen",firstMinTranslated:"Erste Minute übersetzt",processFullVideo:"Vollständiges Video verarbeiten",video:"Video",generating:"Wird generiert...",videoWithSubtitles:"Video mit Untertiteln",translatedSubtitle:"Übersetzter Untertitel",originalSubtitle:"Original-Untertitel",noProjects:"Keine Projekte gefunden. Erstellen Sie eines, um loszulegen.",renameProject:"Projekt umbenennen",renameVersion:"Version umbenennen",deleteVersionConfirm:"Sind Sie sicher, dass Sie diese Version löschen möchten?",deleteGroupConfirm:"Sind Sie sicher, dass Sie diese Projektgruppe löschen möchten?",deleteVersionMessage:"Nach dem Löschen ist diese Version nicht mehr zugänglich.",deleteGroupMessage:"Alle Versionen in dieser Gruppe werden entfernt.",groupRenamed:"Projektgruppe erfolgreich umbenannt",projectRenamed:"Projekt erfolgreich umbenannt",renameFailed:"Umbenennen fehlgeschlagen",groupDeleted:"Projektgruppe erfolgreich gelöscht",projectDeleted:"Projekt erfolgreich gelöscht",deleteFailed:"Löschen fehlgeschlagen",videoNotAvailable:"Video-URL nicht verfügbar",subtitleNotAvailable:"Video oder Untertitel nicht verfügbar",generatingVideoSubtitles:"Video mit Untertiteln wird generiert...",generatingPleaseWait:"Dies kann einen Moment dauern. Bitte warten Sie.",videoReady:"Video bereit!",videoGenerated:"Video erfolgreich generiert!",generateFailed:"Generierung des Videos mit Untertiteln fehlgeschlagen"},Ob={title:"Neues Projekt",uploadingFile:"{{fileName}} wird hochgeladen...",uploadFailed:"Upload fehlgeschlagen",clickToRetry:"Klicken Sie, um es erneut zu versuchen",dropVideo:"Legen Sie Ihr Video hier ab",releaseToUpload:"Loslassen zum Hochladen",clickToUpload:"Klicken zum Hochladen oder Drag & Drop",uploadHint:"MP4, MOV oder WEBM bis zu {{maxSize}}MB, max. 1 Stunde",invalidVideoFileType:"Bitte laden Sie eine Videodatei hoch (MP4, MOV oder WEBM)",fileSizeExceeded:"Die Dateigröße ({{sizeMB}}MB) überschreitet das Limit von {{maxSizeMB}}MB. Bitte laden Sie ein kleineres Video hoch.",videoDurationExceeded:"Die Videodauer ({{durationMin}} Min.) überschreitet das Limit von {{maxMin}} Minuten. Bitte laden Sie ein kürzeres Video hoch.",uploadFailedGeneric:"Upload fehlgeschlagen",importFrom:"Oder importieren von",pasteYoutube:"YouTube-Link einfügen (Demnächst verfügbar)",changeFile:"Datei ändern",projectName:"Projektname",targetLanguages:"Zielsprachen",selectedCount:"{{count}} ausgewählt",selectLanguages:"Sprachen auswählen...",search:"Suchen...",noMatch:"Keine Übereinstimmung",audioMode:"Audiomodus",cloneVoiceAuto:"Stimme klonen (Automatisch)",myVoices:"Meine Stimmen",systemVoices:"Systemstimmen",speakerCount:"Sprecheranzahl",autoDetect:"Automatische Erkennung",speakerSingular:"{{count}} Sprecher",speakerPlural:"{{count}} Sprecher",durationMode:"Dauermodus",autoFit:"Automatische Anpassung",natural
168:"Natürlich",custom:"Benutzerdefiniert",autoFitDesc:"KI passt die Sprechgeschwindigkeit an die ursprüngliche Videodauer an. Ideal für Werbung & Lippensynchronisation.",naturalDesc:"Bevorzugt ein natürliches Sprechtempo. Das Videobild kann einfrieren, um den Ton zu synchronisieren. Ideal für Vlogs/Bildung.",customDesc:"Steuern Sie den Geschwindigkeitsmultiplikator manuell (z. B. 1.1x). Nützlich für bestimmte Tempoanforderungen.",upTo:"Bis zu",timesOriginal:"× Original",adCopy:"Werbetext",optional:"(Optional)",quickAdd:"Schnell hinzufügen:",adCopyTitle:"Titel",adCopyDescription:"Beschreibung",adCopyCta:"CTA",adCopyComment:"Kommentar",labelPlaceholder:"Bezeichnung (z. B. Titel)",addTextField:"Textfeld hinzufügen",insufficientCredits:"Nicht genügend Credits. Bitte führen Sie ein Upgrade durch, um fortzufahren.",freeTrialInfo:"Kostenlose Testversion: Sie können nur die ersten 60 Sekunden übersetzen.",freeTrialsRemaining:"({{count}} kostenlose Testversionen verbleibend)",unlockFull:"Vollständige Übersetzung freischalten",noSubscription:"Kein aktives Abonnement. Bitte führen Sie ein Upgrade durch, um fortzufahren.",trialLimitExceeded:"Testlimit überschritten. Bitte führen Sie ein Upgrade durch, um fortzufahren.",trialMode:"Testmodus (60s Vorschau)",estimatedCredits:"Geschätzt: {{count}} Credits",estimatedCreditsDetail:"({{langCount}} Sprachen × {{creditsPerLang}} Credits/Sprache)",estimatedZero:"Geschätzt: 0 Credits",tryForFree:"Kostenlos testen ({{count}})",translate:"Übersetzen",translateCount:"Übersetzen ({{count}})"},jb={login:{title:"Willkommen zurück",subtitle:"Geben Sie Ihre Zugangsdaten ein, um auf Ihren Arbeitsbereich zuzugreifen.",continueGoogle:"Weiter mit Google",orContinueEmail:"Oder weiter mit E-Mail",email:"E-Mail",password:"Passwort",forgotPassword:"Passwort vergessen?",signIn:"Anmelden",signingIn:"Anmeldung...",noAccount:"Noch kein Konto?",signUp:"Registrieren",emailNotVerified:"E-Mail nicht verifiziert. Bitte verifizieren Sie Ihre E-Mail.",loginFailed:"Anmeldung fehlgeschlagen. Bitte überprüfen Sie Ihre Zugangsdaten.",googleLoginFailed:"Google-Anmeldung konnte nicht initialisiert werden"},signup:{title:"Konto erstellen",subtitle:"Beginnen Sie in wenigen Minuten mit der Lokalisierung Ihrer Videos.",orSignupEmail:"Oder mit E-Mail registrieren",name:"Name",namePlaceholder:"Ihr Name",passwordPlaceholder:"Erstellen Sie ein sicheres Passwort",getStarted:"Loslegen",creatingAccount:"Konto wird erstellt...",registrationFailed:"Registrierung fehlgeschlagen",termsAgreement:'Durch Klicken auf "Loslegen" stimmen Sie unseren',termsOfService:"Nutzungsbedingungen",and:"und",privacyPolicy:"Datenschutzrichtlinie",hasAccount:"Bereits ein Konto?",verify:{title:"Verifizieren Sie Ihre E-Mail",subtitle:"Wir haben einen Code an {{email}} gesendet",enterCode:"Verifizierungscode eingeben",verifyEmail:"E-Mail verifizieren",resendIn:"Code erneut senden in {{seconds}}s",resendCode:"Verifizierungscode erneut senden",backToSignup:"Zurück zur Registrierung",incorrectCode:"Falscher Verifizierungscode. Bitte versuchen Sie es erneut.",codeExpired:"Der Verifizierungscode ist abgelaufen. Bitte fordern Sie einen neuen an.",verificationFailed:"Verifizierung fehlgeschlagen",resendFailed:"Code konnte nicht erneut gesendet werden"}},forgotPassword:{title:"Passwort zurücksetzen",subtitle:"Geben Sie Ihre E-Mail ein, um einen Zurücksetzungscode zu erhalten.",setNewTitle:"Neues Passwort festlegen",setNewSubtitle:"Geben Sie den an Ihre E-Mail gesendeten Code und Ihr neues Passwort ein.",sendResetCode:"Zurücksetzungscode senden",sendingCode:"Code wird gesendet...",resetCode:"Zurücksetzungscode",enterCode:"6-stelligen Code eingeben",newPassword:"Neues Passwort",resetPassword:"Passwort zurücksetzen",resetting:"Wird zurückgesetzt...",backToLogin:"Zurück zur Anmeldung",resetSuccess:"Passwort erfolgreich zurückgesetzt! Weiterleitung zur Anmeldung...",resetCodeSent:"Zurücksetzungscode an Ihre E-Mail gesendet",sendFailed:"Zurücksetzungscode konnte nicht gesendet werden",resetFailed:"Passwort konnte nicht zurückgesetzt werden"},layout:{heroTitle:"Überwinden Sie Sprachbarrieren mit KI-gestützter Videolokalisierung.",feature1:"Stimmklonen mit 99% Genauigkeit",feature2:"Perfekte Lippensynchronisationstechnologie",feature3:"Unterstützung für über 40 Sprachen"}},Nb={title:"Einstellungen",subtitle:"Konfigurieren Sie Ihre Arbeitsbereich-Einstellungen und den API-Zugang.",appearance:"Erscheinungsbild",themePreference:"Design-Einstellung",themeDescription:"Wechseln Sie zwischen Hell- und Dunkelmodus.",light:"Hell",dark:"Dunkel",generalPreferences:"Allgemeine Einstellungen",language:"Sprache",languageDescription:"Die Sprache der Dashboard-Oberfläche.",timezone:"Zeitzone",timezoneDescription:"Wird für Abrechnungs- und Benachrichtigungs-E-Mails verwendet.",notifications:"Benachrichtigungen",projectCompletion:"Projektabschluss-Benachrichtigungen",weeklySummary:"Wöchentliche Zusammenfassungs-E-Mails",productUpdates:"Produktupdates & Ankündigungen",yourSubscription:"Ihr Abonnement",youAreOn:"Sie nutzen den Tarif",payingMonthly:"monatliche Zahlung",payingYearly:"jährliche Zahlung",planRenewOn:"Ihr Tarif wird am {{date}} für {{amount}} verlängert.",subscriptionEndOn:"Ihr Abonnement endet am {{date}}
168.",cancelSubscription:"Abonnement kündigen",keepSubscription:"Abonnement behalten",resubscribe:"Erneut abonnieren",upgradePlan:"Tarif upgraden",upgradeDescription:"Upgraden Sie, um vollständige Videoübersetzungen und Premium-Funktionen freizuschalten.",freePlan:"Kostenloser Tarif",resubscribeFailed:"Erneutes Abonnieren fehlgeschlagen",cancelSurvey:{title:"Es tut uns leid, dass Sie gehen",subtitle:"Bitte teilen Sie uns mit, warum Sie kündigen, damit wir uns verbessern können.",reasons:{noNeed:"Ich benötige keine Videoübersetzung mehr.",qualityBad:"Die Übersetzungsqualität hat meine Erwartungen nicht erfüllt.",tooSlow:"Die Verarbeitungsgeschwindigkeit war zu langsam.",notUsed:"Ich nutze das Produkt nicht oft genug.",tooExpensive:"Es ist zu teuer für mein Budget.",betterAlternative:"Ich habe eine bessere Alternative gefunden."},other:"Sonstiges",otherPlaceholder:"Bitte erzählen Sie uns mehr..."},cancelConfirm:{title:"Abonnement kündigen?",message:"Ihr Abonnement bleibt bis zum <strong>{{date}}</strong> aktiv. Danach verlieren Sie den Zugang zu Premium-Funktionen.",yesCancel:"Ja, kündigen"}},Vb={title:"Abrechnung & Abonnement",subtitle:"Verwalten Sie Ihren Tarif, Ihre Abrechnungshistorie und Zahlungsmethoden.",currentPlan:"Aktueller Tarif",youAreOn:"Sie nutzen derzeit den Tarif",plan:".",creditsRemaining:"{{count}} Credits verbleibend",renewsOn:"Verlängerung am {{date}}",subscriptionEndOn:"Ihr Abonnement endet am {{date}}.",noteActiveRequired:"Hinweis: Ein aktiver Tarif ist erforderlich, um Credits zu nutzen.",manageSubscription:"Abonnement verwalten",opening:"Wird geöffnet...",usage:"Nutzung",resetOn:"Zurücksetzung am {{date}}",noActiveSubscription:"Kein aktives Abonnement",creditHistory:"Credit-Verlauf",noTransactions:"Noch keine Credit-Transaktionen.",description:"Beschreibung",date:"Datum",amount:"Betrag",page:"Seite {{current}} von {{total}}",creditsUsed:"{{used}} / {{total}} Credits verwendet",freeTrialsUsed:"{{used}} / {{total}} kostenlose Testversionen verwendet",upgradePlan:"Tarif upgraden",paymentSuccess:"Zahlung erfolgreich! Ihr Abonnement ist jetzt aktiv.",confirmingPayment:"Ihre Zahlung wird bestätigt...",subscriptionCanceled:"Das Abonnement wird am Ende des aktuellen Zeitraums gekündigt.",cancelFailed:"Kündigung des Abonnements fehlgeschlagen",subscriptionReactivated:"Abonnement reaktiviert! Ihr Tarif wird wie gewohnt fortgesetzt.",resubscribeFailed:"Erneutes Abonnieren fehlgeschlagen",cancelConfirm:{title:"Abonnement kündigen?",message:"Ihr Abonnement bleibt bis zum <strong>{{date}}</strong> aktiv. Danach verlieren Sie den Zugang zu Premium-Funktionen.",keepSubscription:"Abonnement behalten",yesCancel:"Ja, kündigen"}},Ub={title:"Mein Profil",subtitle:"Verwalten Sie Ihre persönlichen Daten und die Kontosicherheit.",name:"Name",emailAddress:"E-Mail-Adresse",changePassword:"Passwort ändern",workspaceName:"Name des Arbeitsbereichs",saveChanges:"Änderungen speichern",accountSettings:"Kontoeinstellungen",mail:"E-Mail",oldPassword:"Altes Passwort",oldPasswordPlaceholder:"Altes Passwort eingeben",newPassword:"Neues Passwort",newPasswordPlaceholder:"Neues Passwort eingeben",passwordUpdated:"Passwort erfolgreich aktualisiert.",passwordUpdateFailed:"Passwort konnte nicht aktualisiert werden."},Pb={title:"Stimmbibliothek",subtitle:"Verwalten Sie Ihre benutzerdefinierten Stimmen und entdecken Sie Systemstimmen für die Videovertonung.",cloneNewVoice:"Neue Stimme klonen",searchPlaceholder:"Stimmen nach Name, Beschreibung oder Tags suchen...",filterAll:"Alle",filterMy:"Meine Stimmen",filterSystem:"System",myVoices:"Meine Stimmen",systemVoices:"Systemstimmen",cloneQuota:"Klon-Kontingent",languages:"Sprachen",myClonedVoices:"Meine geklonten Stimmen",noClonedVoices:"Noch keine geklonten Stimmen",noClonedDescription:"Klonen Sie Ihre Stimme, um personalisierte Vertonungen für Ihre Videos zu erstellen.",cloneFirstVoice:"Klonen Sie Ihre erste Stimme",uploadModal:{title:"Klonen Sie Ihre Stimme",subtitle:"Laden Sie ein Audiobeispiel für das Stimmklonen hoch",voiceName:"Stimmname *",voiceNamePlaceholder:"z. B., Meine Geschäftsführer-Stimme",description:"Beschreibung",descriptionPlaceholder:"Beschreiben Sie Ihre Stimme (z. B., professionell, warm, energisch...)",audioSample:"Audiobeispiel *",uploadPrompt:"Klicken zum Hochladen oder Drag & Drop",uploadHint:"WAV, MP3 oder M4A (max. 10 MB, 30s-2min)",tagsOptional:"Tags (optional)",addTag:"Tag hinzufügen...",tips:"Tipps für beste Ergebnisse:",tip1:"Nehmen Sie in einer ruhigen Umgebung auf",tip2:"Sprechen Sie deutlich in natürlichem Tempo",tip3:"Verwenden Sie 30 Sekunden bis 2 Minuten Audio",cloneVoice:"Stimme klonen",processing:"Wird verarbeitet..."}},Lb={title:"Preise",yearly:"Jährlich",monthly:"Monatlich",save40:"40% sparen",perMonthBilledAnnually:"pro Monat, jährlich abgerechnet",perMonth:"pro Monat",currentPlan:"Aktueller Tarif",mostPopular:"Beliebtester",compareAllFeatures:"Alle Funktionen vergleichen",closeAria:"Preise schließen",saveAmount:"SPARE ${{amount}}",unitYear:"Jahr",unitMonth:"Monat",creditsWithUnit:"{{credits}} Credits/{{unit}}",translationUpTo:"KI-Übersetzung bis zu {{mins}} Min.",translationUpToWithUnit:"KI-Übersetzung bis zu {{mins}} Min./{{unit}}",plans:{starter:"Starter",creator:"Creator",scale:"Scale"},planDescriptions:{starter:"Perfekt für Einzelpersonen und Hobbyisten.",creator:"Für wachsende Kanäle & Shops.",scale:"Skalieren Sie Ihre globale Produktion."},loadingPlans:"Tarife werden geladen...",faq:{title:"Häufig gestellte Fragen",items:[{question:"Was sind Credits?",answer:`Credits werden zur Bezahlung der Videoübersetzung auf Genve verwendet.
169
170• Tarif: Alle 30 Sekunden Video kosten 0,5 Credits pro Zielsprache.
171• Rundung: Die Dauer wird auf den nächsten 30-Sekunden-Block aufgerundet.
172(z. B. 45 Sekunden werden als 60 Sekunden = 1 Credit berechnet)
173• Beispiel:
174  - Die Übersetzung eines Videos von 1 Minute 25 Sekunden in 1 Sprache kostet 1,5 Credits.
175  - Die Übersetzung eines 2-Minuten-Videos in 2 verschiedene Sprachen kostet 4 Credits.`},{question:"Verfallen meine Credits?",answer:`Die Gültigkeit der Credits hängt von Ihrem Tarifstatus ab:
176
177• Monatsabonnement: Credits werden übertragen und bleiben 2 Monate gültig.
178• Jahresabonnement: Credits bleiben 14 Monate gültig (1 Jahr + 2 Monate Karenzzeit).
179• Hinweis: Um angesammelte Credits zu nutzen, müssen Sie ein aktives Abonnement aufrechterhalten. Wenn Ihr Abonnement gekündigt wird, werden Ihre Credits eingefroren, bis Sie sich erneut abonnieren.`},{question:"Wie lautet die Rückerstattungsrichtlinie?",answer:`Wir bemühen uns um einen transparenten und zuverlässigen Service. Unsere Richtlinie lautet wie folgt:
180
181• Technische Fehler: Wenn eine Übersetzung aufgrund von Systemfehlern unsererseits fehlschlägt, werden die abgezogenen Credits automatisch auf Ihr Guthaben zurückerstattet.
182• Abonnementzahlungen: Wir bieten derzeit keine Rückerstattung für Abonnementgebühren an. Um Ihnen eine fundierte Entscheidung zu ermöglichen, bieten wir jedem neuen Benutzer 3 kostenlose Testmöglichkeiten zur Übersetzung von 3 Videos. Bitte nutzen Sie diese Tests vollständig, um unsere Funktionen vor dem Abonnieren kennenzulernen.
183
184Wenn Sie bereits abonniert haben, aber unsere Dienste nicht mehr nutzen möchten, kündigen Sie bitte Ihr Abonnement vor dem nächsten Abrechnungszyklus, um weitere Gebühren zu vermeiden.`},{question:"Kann ich meinen Tarif wechseln?",answer:"Ja, Sie können Ihren Tarif jederzeit upgraden oder downgraden. Sowohl Upgrades als auch Downgrades werden sofort wirksam. Bitte wählen Sie den Tarif, der Ihren aktuellen Anforderungen am besten entspricht."},{question:"Wie kündige ich mein Abonnement?",answer:`Sie können Ihr Abonnement kü
184ndigen, indem Sie zur Seite Einstellungen navigieren und im Abonnement-Modul auf "Abonnement kündigen" klicken.
185
186• Zugang: Nach der Kündigung behalten Sie bis zum Ende Ihres aktuellen Abrechnungszyklus Zugang zu allen Premium-Funktionen.
187• Keine zukünftigen Gebühren: Nach Ablauf des aktuellen Zyklus werden Ihnen keine weiteren Beträge berechnet.`},{question:"Was passiert mit meinen Credits nach der Kündigung?",answer:`Wenn Ihr Abonnement abläuft (nach Ende des Abrechnungszyklus):
188
189• Eingefrorene Credits: Ihre ungenutzten Credits verschwinden nicht sofort; sie werden bis zu ihrem ursprünglichen Ablaufdatum aufbewahrt.
190• Reaktivierung: Sie können diese Credits jedoch nicht nutzen, solange Sie kein Abonnement haben. Wenn Sie Ihr Abonnement vor dem Ablauf der Credits reaktivieren, erhalten Sie sofort wieder Zugang zu deren Nutzung.`},{question:"Wie kann ich mehr Credits erhalten?",answer:"Wenn Ihnen die Credits ausgehen, können Sie Ihren Tarif einfach über Ihr Dashboard upgraden."},{question:"Wie kontaktiere ich den Support?",answer:`Wir sind für Sie da! Sie können uns erreichen über:
191
192• Live-Chat: Klicken Sie auf die Support-Schaltfläche in der unteren rechten Ecke der Seite.
193• E-Mail: Senden Sie Ihre Anfragen an [email protected].`}]},featureComparison:{credits:"Credits",aiTranslationDuration:"KI-Übersetzungsdauer",aiLipSync:"KI-Lippensynchronisation",videoResolution:"Videoauflösung",languages:"Sprachen",speakerDetection:"Sprechererkennung",qualityPreservation:"Qualitätserhaltung",noWatermark:"Kein Wasserzeichen",creditRollover:"Credit-Übertragung",generationSpeed:"Generierungsgeschwindigkeit",techSupport:"Technischer Support",autoUpdates:"Automatische Updates",cancelAnytime:"Jederzeit kündbar"},featureValues:{videoResolution1080p:"1080p HD",videoResolution4k:"4K Ultra HD",languages60Plus:"60+ Sprachen",speakerDetectionAuto:"Auto-Detect",qualityLossless:"Verlustfrei",creditRollover1Month:"1 Monat",creditRollover2Months:"2 Monate",generationSpeedStandard:"Standard",generationSpeed2xTurbo:"2x Turbo",generationSpeed3xMax:"3x Max",techSupportFree:"Kostenloser Support"},featureSuffix:{perUnit:" pro {{unit}}",mins:" Min."}},Bb={unlockGlobalReach:"Globale Reichweite freischalten",subtitle:"Skalieren Sie Ihre Videoinhalte mit professioneller KI-Übersetzung, Stimmklonen und Lippensynchronisation."},qb={title:"Vollständiges Video verarbeiten",subtitle:"Die verbleibende Dauer übersetzen?",creditsToUse:"Zu verwendende Credits",remainingCredits:"Verbleibende Credits",insufficientCredits:"Nicht genügend Credits"},_b={upgradeTitle:"Upgraden Sie, um das vollständige Video zu übersetzen",upgradeDescription:"Um Videos über eine Minute ohne Wasserzeichen zu übersetzen, wählen Sie den passenden Tarif.",completed:"Abgeschlossen",video:"Video",videoWithSubtitles:"Video + Untertitel",translatedSubtitles:"Übersetzte Untertitel",originalSubtitles:"Original-Untertitel",firstMinTranslated:"Erste Minute übersetzt",translateFullVideo:"Vollständiges Video übersetzen",language:"Sprache",audio:"Audio",cloned:"Geklont",adCopy:"Werbetext",localizedAdCopy:"Lokalisierter Werbetext",original:"Original",translated:"Übersetzt",noAdCopy:"Kein Werbetext vorhanden",noAdCopyHint:"Fügen Sie Titel, Beschreibungen oder CTAs im Neues-Projekt-Dialog hinzu",copiedAll:"Alles kopiert!",copyAllTranslated:"Gesamten übersetzten Text kopieren",lastUpdated:"Letzte Aktualisierung: Gerade eben",upgradeToDownload:"Upgrade zum Herunterladen"},Hb={common:Eb,validation:wb,sidebar:kb,header:Mb,dashboard:Db,emptyState:Rb,projectTable:xb,newProject:Ob,auth:jb,settings:Nb,billing:Vb,profile:Ub,voices:Pb,pricing:Lb,pricingModal:Bb,upgradeProject:qb,videoDetails:_b},Gb={cancel:"Annuleren",confirm:"Bevestigen",save:"Opslaan",saving:"Opslaan...",delete:"Verwijderen",deleting:"Verwijderen...",back:"Terug",next:"Volgende",close:"Sluiten",loading:"Laden...",retry:"Opnieuw proberen",upgrade:"Upgraden",buyMore:"Meer kopen",buyNow:"Nu kopen",logOut:"Uitloggen",free:"Gratis",pro:"Pro",active:"Actief",canceled:"Geannuleerd",expired:"Verlopen",previous:"Vorige",credits:"credits",freeTrials:"gratis proefversies",continue:"Doorgaan",rename:"Hernoemen",name:"Naam",preview:"Voorbeeld",processing:"Wordt verwerkt",ready:"Gereed",failed:"Mislukt",unknown:"Onbekend"}
193,Fb={fillAllFields:"Vul alstublieft alle velden in",invalidEmail:"Voer alstublieft een geldig e-mailadres in",passwordTooShort:"Het wachtwoord moet minimaal 8 tekens bevatten",passwordHint:"Moet minimaal 8 tekens bevatten.",fillBothPasswords:"Vul alstublieft beide wachtwoordvelden in.",enterEmail:"Voer alstublieft uw e-mailadres in",invalidOtp:"Voer alstublieft een geldige 6-cijferige code in"},Yb={projects:"Projecten",voices:"Stemmen",settings:"Instellingen",workspace:"Werkruimte",darkMode:"Donkere modus",lightMode:"Lichte modus"},Kb={plan:"Abonnement",freeTrials:"Gratis proefversies",expiresIn:"Verloopt over {{days}} dag(en)",myProfile:"Mijn profiel",billingSubscription:"Facturering & abonnement"},Zb={myProjects:"Mijn projecten",subtitle:"Beheer en lokaliseer uw video's eenvoudig.",newProject:"Nieuw project",createProjectFailed:"Project aanmaken mislukt",upgradeStarted:"Project-upgrade gestart! De volledige vertaling is nu in uitvoering.",upgradeProjectFailed:"Project-upgrade mislukt",promoBanner:{title:"Upgrade voor wereldwijd bereik",description:"Ontgrendel professionele tools zoals 4K-export en stemklonen om uw bereik te vergroten.",upgradeNow:"Nu upgraden"}},Qb={title:"Vertaal video of audio naar meer dan 40 talen",description:"Ontvang schone ondertitels, natuurlijke voice-over en perfecte lipsynchronisatie in één tool. Upload uw eerste video om te beginnen.",cta:"Vertaal nu een video"},$b={videoBundle:"Videobundel",languages:"Talen",duration:"Duur",created:"Aangemaakt",status:"Status",actions:"Acties",source:"Bron",versions:"{{count}} versies",readyCount:"{{count}} gereed",failedCount:"{{count}} mislukt",allReady:"Alles gereed",clickToPreview:"Klik om het origineel te bekijken",viewDetails:"Details bekijken",downloadAll:"Alles downloaden",upgradeToDownload:"Upgrade om te downloaden",deleteAll:"Alles verwijderen",firstMinTranslated:"Eerste minuut vertaald",processFullVideo:"Volledige video verwerken",video:"Video",generating:"Genereren...",videoWithSubtitles:"Video met ondertitels",translatedSubtitle:"Vertaalde ondertitel",originalSubtitle:"Originele ondertitel",noProjects:"Geen projecten gevonden. Maak er een aan om te beginnen.",renameProject:"Project hernoemen",renameVersion:"Versie hernoemen",deleteVersionConfirm:"Weet u zeker dat u deze versie wilt verwijderen?",deleteGroupConfirm:"Weet u zeker dat u deze projectgroep wilt verwijderen?",deleteVersionMessage:"Na verwijdering is deze versie niet meer toegankelijk.",deleteGroupMessage:"Alle versies in deze groep worden verwijderd.",groupRenamed:"Projectgroep succesvol hernoemd",projectRenamed:"Project succesvol hernoemd",renameFailed:"Hernoemen mislukt",groupDeleted:"Projectgroep succesvol verwijderd",projectDeleted:"Project succesvol verwijderd",deleteFailed:"Verwijderen mislukt",videoNotAvailable:"Video-URL niet beschikbaar",subtitleNotAvailable:"Video of ondertitel niet beschikbaar",generatingVideoSubtitles:"Video met ondertitels wordt gegenereerd...",generatingPleaseWait:"Dit kan even duren. Even geduld alstublieft.",videoReady:"Video gereed!",videoGenerated:"Video succesvol gegenereerd!",generateFailed:"Genereren van video met ondertitels mislukt"},Xb={title:"Nieuw project",uploadingFile:"{{fileName}} wordt geüpload...",uploadFailed:"Upload mislukt",clickToRetry:"Klik om opnieuw te proberen",dropVideo:"Sleep uw video hierheen",releaseToUpload:"Loslaten om te uploaden",clickToUpload:"Klik om te uploaden of sleep en laat los",uploadHint:"MP4, MOV of WEBM tot {{maxSize}}MB, max 1 uur",invalidVideoFileType:"Upload alstublieft een videobestand (MP4, MOV of WEBM)",fileSizeExceeded:"De bestandsgrootte ({{sizeMB}}MB) overschrijdt de limiet van {{maxSizeMB}}MB. Upload alstublieft een kleinere video.",videoDurationExceeded:"De videoduur ({{durationMin}} min) overschrijdt de limiet van {{maxMin}} minuten. Upload alstublieft een kortere video.",uploadFailedGeneric:"Upload mislukt",importFrom:"Of importeren vanuit",pasteYoutube:"YouTube-link plakken (Binnenkort beschikbaar)",changeFile:"Bestand wijzigen",projectName:"Projectnaam",targetLanguages:"Doeltalen",selectedCount:"{{count}} geselecteerd",selectLanguages:"Talen selecteren...",search:"Zoeken...",noMatch:"Geen resultaat",audioMode:"Audiomodus",cloneVoiceAuto:"Stem klonen (Automatisch)",myVoices:"Mijn stemmen",systemVoices:"Systeemstemen",speakerCount:"Aantal sprekers",autoDetect:"Automatische detectie",speakerSingular:"{{count}} spreker",speakerPlural:"{{count}} sprekers",durationMode:"Duuirmodus",autoFit:"Automatisch aanpassen",natural
193:"Natuurlijk",custom:"Aangepast",autoFitDesc:"AI past de spreeksnelheid aan om overeen te komen met de oorspronkelijke videoduur. Ideaal voor advertenties & lipsynchronisatie.",naturalDesc:"Geeft prioriteit aan een natuurlijk spreektempo. Het videobeeld kan bevriezen om de audio te synchroniseren. Ideaal voor Vlogs/Educatie.",customDesc:"Stel de snelheidsmultiplicator handmatig in (bijv. 1.1x). Handig voor specifieke tempobehoeften.",upTo:"Tot",timesOriginal:"× origineel",adCopy:"Advertentietekst",optional:"(Optioneel)",quickAdd:"Snel toevoegen:",adCopyTitle:"Titel",adCopyDescription:"Beschrijving",adCopyCta:"CTA",adCopyComment:"Opmerking",labelPlaceholder:"Label (bijv. Titel)",addTextField:"Tekstveld toevoegen",insufficientCredits:"Onvoldoende credits. Upgrade alstublieft om door te gaan.",freeTrialInfo:"Gratis proefversie: u kunt alleen de eerste 60 seconden vertalen.",freeTrialsRemaining:"({{count}} gratis proefversies resterend)",unlockFull:"Volledige vertaling ontgrendelen",noSubscription:"Geen actief abonnement. Upgrade alstublieft om door te gaan.",trialLimitExceeded:"Proeflimiet overschreden. Upgrade alstublieft om door te gaan.",trialMode:"Proefmodus (60s voorbeeld)",estimatedCredits:"Geschat: {{count}} credits",estimatedCreditsDetail:"({{langCount}} talen × {{creditsPerLang}} credits/taal)",estimatedZero:"Geschat: 0 credits",tryForFree:"Gratis proberen ({{count}})",translate:"Vertalen",translateCount:"Vertalen ({{count}})"},Jb={login:{title:"Welkom terug",subtitle:"Voer uw inloggegevens in om toegang te krijgen tot uw werkruimte.",continueGoogle:"Doorgaan met Google",orContinueEmail:"Of doorgaan met e-mail",email:"E-mail",password:"Wachtwoord",forgotPassword:"Wachtwoord vergeten?",signIn:"Inloggen",signingIn:"Inloggen...",noAccount:"Heeft u geen account?",signUp:"Registreren",emailNotVerified:"E-mail niet geverifieerd. Verifieer alstublieft uw e-mail.",loginFailed:"Inloggen mislukt. Controleer alstublieft uw inloggegevens.",googleLoginFailed:"Google-inlog kon niet worden geïnitialiseerd"},signup:{title:"Account aanmaken",subtitle:"Begin binnen enkele minuten met het lokaliseren van uw video's.",orSignupEmail:"Of registreren met e-mail",name:"Naam",namePlaceholder:"Uw naam",passwordPlaceholder:"Maak een sterk wachtwoord aan",getStarted:"Aan de slag",creatingAccount:"Account wordt aangemaakt...",registrationFailed:"Registratie mislukt",termsAgreement:'Door op "Aan de slag" te klikken, gaat u akkoord met onze',termsOfService:"Servicevoorwaarden",and:"en",privacyPolicy:"Privacybeleid",hasAccount:"Heeft u al een account?",verify:{title:"Verifieer uw e-mail",subtitle:"We hebben een code gestuurd naar {{email}}",enterCode:"Voer de verificatiecode in",verifyEmail:"E-mail verifiëren",resendIn:"Code opnieuw verzenden over {{seconds}}s",resendCode:"Verificatiecode opnieuw verzenden",backToSignup:"Terug naar registratie",incorrectCode:"Onjuiste verificatiecode. Probeer het alstublieft opnieuw.",codeExpired:"De verificatiecode is verlopen. Vraag alstublieft een nieuwe aan.",verificationFailed:"Verificatie mislukt",resendFailed:"Code opnieuw verzenden mislukt"}},forgotPassword:{title:"Wachtwoord resetten",subtitle:"Voer uw e-mail in om een resetcode te ontvangen.",setNewTitle:"Nieuw wachtwoord instellen",setNewSubtitle:"Voer de code in die naar uw e-mail is gestuurd en uw nieuwe wachtwoord.",sendResetCode:"Resetcode verzenden",sendingCode:"Code wordt verzonden...",resetCode:"Resetcode",enterCode:"Voer de 6-cijferige code in",newPassword:"Nieuw wachtwoord",resetPassword:"Wachtwoord resetten",resetting:"Resetten...",backToLogin:"Terug naar inloggen",resetSuccess:"Wachtwoord succesvol gereset! U wordt doorgestuurd naar het inlogscherm...",resetCodeSent:"Resetcode naar uw e-mail verzonden",sendFailed:"Resetcode kon niet worden verzonden",resetFailed:"Wachtwoord kon niet worden gereset"},layout:{heroTitle:"Doorbreek taalbarrières met AI-gestuurde videolokalisatie.",feature1:"Stemklonen met 99% nauwkeurigheid",feature2:"Perfecte lipsynchronisatietechnologie",feature3:"Ondersteuning voor meer dan 40 talen"}},Wb={title:"Instellingen",subtitle:"Configureer uw werkruimtevoorkeuren en API-toegang.",appearance:"Uiterlijk",themePreference:"Themavoorkeur",themeDescription:"Schakel tussen lichte en donkere modus.",light:"Licht",dark:"Donker",generalPreferences:"Algemene voorkeuren",language:"Taal",languageDescription:"De taal van de dashboard-interface.",timezone:"Tijdzone",timezoneDescription:"Gebruikt voor facturerings- en notificatie-e-mails.",notifications:"Meldingen",projectCompletion:"Meldingen bij projectvoltooiing",weeklySummary:"Wekelijkse samenvattingse-mails",productUpdates:"Productupdates & aankondigingen",yourSubscription:"Uw abonnement",youAreOn:"U heeft het abonnement",payingMonthly:"maandelijkse betaling",payingYearly:"jaarlijkse betaling",planRenewOn:"Uw abonnement wordt verlengd op {{date}} voor {{amount}}.",subscriptionEndOn:"Uw abonnement eindigt op {{date}}.",cancelSubscription:"Abonnement opzeggen",keepSubscription:"Abonnement behouden",resubscribe:"Opnieuw abonneren",upgradePlan:"Abonnement upgraden",upgradeDescription:"Upgrade om volledige videovertalingen en premiumfuncties te ontgrendelen.",freePlan:"Gratis abonnement",resubscribeFailed:"Opnieuw abonneren mislukt",cancelSurvey:{title:"Het spijt ons dat u vertrekt",subtitle:"Laat ons alstublieft weten w
193aarom u opzegt, zodat we kunnen verbeteren.",reasons:{noNeed:"Ik heb geen videovertaling meer nodig.",qualityBad:"De vertaalkwaliteit voldeed niet aan mijn verwachtingen.",tooSlow:"De verwerkingssnelheid was te traag.",notUsed:"Ik gebruik het product niet vaak genoeg.",tooExpensive:"Het is te duur voor mijn budget.",betterAlternative:"Ik heb een beter alternatief gevonden."},other:"Anders",otherPlaceholder:"Vertel ons alstublieft meer..."},cancelConfirm:{title:"Abonnement opzeggen?",message:"Uw abonnement blijft actief tot <strong>{{date}}</strong>. Daarna verliest u de toegang tot premiumfuncties.",yesCancel:"Ja, opzeggen"}},Ib={title:"Facturering & abonnement",subtitle:"Beheer uw abonnement, factureringsgeschiedenis en betaalmethoden.",currentPlan:"Huidig abonnement",youAreOn:"U heeft momenteel het abonnement",plan:".",creditsRemaining:"{{count}} credits resterend",renewsOn:"Verlenging op {{date}}",subscriptionEndOn:"Uw abonnement eindigt op {{date}}.",noteActiveRequired:"Opmerking: een actief abonnement is vereist om credits te gebruiken.",manageSubscription:"Abonnement beheren",opening:"Openen...",usage:"Gebruik",resetOn:"Reset op {{date}}",noActiveSubscription:"Geen actief abonnement",creditHistory:"Creditgeschiedenis",noTransactions:"Nog geen credittransacties.",description:"Beschrijving",date:"Datum",amount:"Bedrag",page:"Pagina {{current}} van {{total}}",creditsUsed:"{{used}} / {{total}} credits gebruikt",freeTrialsUsed:"{{used}} / {{total}} gratis proefversies gebruikt",upgradePlan:"Abonnement upgraden",paymentSuccess:"Betaling geslaagd! Uw abonnement is nu actief.",confirmingPayment:"Uw betaling wordt bevestigd...",subscriptionCanceled:"Het abonnement wordt geannuleerd aan het einde van de huidige periode.",cancelFailed:"Opzeggen van abonnement mislukt",subscriptionReactivated:"Abonnement geheractiveerd! Uw abonnement wordt normaal voortgezet.",resubscribeFailed:"Opnieuw abonneren mislukt",cancelConfirm:{title:"Abonnement opzeggen?",message:"Uw abonnement blijft actief tot <strong>{{date}}</strong>. Daarna verliest u de toegang tot premiumfuncties.",keepSubscription:"Abonnement behouden",yesCancel:"Ja, opzeggen"}},eS={title:"Mijn profiel",subtitle:"Beheer uw persoonlijke gegevens en accountbeveiliging.",name:"Naam",emailAddress:"E-mailadres",changePassword:"Wachtwoord wijzigen",workspaceName:"Naam werkruimte",saveChanges:"Wijzigingen opslaan",accountSettings:"Accountinstellingen",mail:"E-mail",oldPassword:"Oud wachtwoord",oldPasswordPlaceholder:"Voer het oude wachtwoord in",newPassword:"Nieuw wachtwoord",newPasswordPlaceholder:"Voer het nieuwe wachtwoord in",passwordUpdated:"Wachtwoord succesvol bijgewerkt.",passwordUpdateFailed:"Wachtwoord kon niet worden bijgewerkt."},tS={title:"Stembibliotheek",subtitle:"Beheer uw aangepaste stemmen en ontdek systeemstemen voor videodubbing.",cloneNewVoice:"Nieuwe stem klonen",searchPlaceholder:"Zoek stemmen op naam, beschrijving of tags...",filterAll:"Alle",filterMy:"Mijn stemmen",filterSystem:"Systeem",myVoices:"Mijn stemmen",systemVoices:"Systeemstemen",cloneQuota:"Kloonquotum",languages:"Talen",myClonedVoices:"Mijn gekloonde stemmen",noClonedVoices:"Nog geen gekloonde stemmen",noClonedDescription:"Kloon uw stem om gepersonaliseerde dubbing voor uw video's te maken.",cloneFirstVoice:"Kloon uw eerste stem",uploadModal:{title:"Kloon uw stem",subtitle:"Upload een audiovoorbeeld voor stemklonen",voiceName:"Stemnaam *",voiceNamePlaceholder:"bijv., Mijn directiestem",description:"Beschrijving",descriptionPlaceholder:"Beschrijf uw stem (bijv., professioneel, warm, energiek...)",audioSample:"Audiovoorbeeld *",uploadPrompt:"Klik om te uploaden of sleep en laat los",uploadHint:"WAV, MP3 of M4A (max 10 MB, 30s-2min)",tagsOptional:"Tags (optioneel)",addTag:"Tag toevoegen...",tips:"Tips voor de beste resultaten:",tip1:"Neem op in een rustige omgeving",tip2:"Spreek duidelijk op een natuurlijk tempo",tip3:"Gebruik 30 seconden tot 2 minuten audio",cloneVoice:"Stem klonen",processing:"Verwerken..."}},aS={title:"Prijzen",yearly:"Jaarlijks",monthly:"Maandelijks",save40:"Bespaar 40%",perMonthBilledAnnually:"per maand, jaarlijks gefactureerd",perMonth:"per maand",currentPlan:"Huidig abonnement",mostPopular:"Meest populair",compareAllFeatures:"Alle functies vergelijken",closeAria:"Prijzen sluiten",saveAmount:"BESPAAR ${{amount}}",unitYear:"jaar",unitMonth:"maand",creditsWithUnit:"{{credits}} credits/{{unit}}",translationUpTo:"AI-vertaling tot {{mins}} min",translationUpToWithUnit:"AI-vertaling tot {{mins}} min/{{unit}}",plans:{starter:"Starter",creator:"Creator",scale:"Scale"},planDescriptions:{starter:"Perfect voor particulieren en hobbyisten.",creator:"Voor groeiende kanalen & winkels.",scale:"Schaal uw wereldwijde productie op."},loadingPlans:"Abonnementen laden...",faq:{title:"Veelgestelde vragen",items:[{question:"Wat zijn credits?",answer:`Credits worden gebruikt om videovertalingen op Genve te betalen.
194
195• Tarief: Elke 30 seconden video kost 0,5 credit per doeltaal.
196• Afronding: De tijd wordt naar boven afgerond naar het volgende blok van 30 seconden.
197(bijv. 45 seconden wordt berekend als 60 seconden = 1 credit)
198• Voorbeeld:
199  - Het vertalen van een video van 1 minuut en 25 seconden naar 1 taal kost 1,5 credits.
200  - Het vertalen van een video van 2 minuten naar 2 verschillende talen kost 4 credits.`},{question:"Verlopen mijn credits?",answer:`De geldigheid van credits hangt af van uw abonnementsstatus:
201
202• Maandabonnement: Credits worden overgedragen en blijven 2 maanden geldig.
203• Jaarabonnement: Credits blijven 14 maanden geldig (1 jaar + 2 maanden coulance).
204• Opmerking: Om opgespaarde credits te gebruiken, moet u een actief abonnement hebben. Als uw abonnement wordt geannuleerd, worden uw credits bevroren totdat u opnieuw abonneert.`},{question:"Wat is het restitutiebeleid?",answer:`Wij streven ernaar een transparante en betrouwbare service te bieden. Ons beleid is als volgt:
205
206• Technische storingen: Als een vertaling mislukt door fouten in ons systeem, worden de afgeschreven credits automatisch teruggestort op uw saldo.
207• Abonnementsbetalingen: Wij bieden momenteel geen restituties voor abonnementskosten. Om u te helpen een weloverwogen beslissing te nemen, bieden wij elke nieuwe gebruiker 3 gratis proefmogelijkheden om 3 video's te vertalen. Maak alstublieft volledig gebruik van deze proefversies om onze functies te ervaren voordat u zich abonneert.
208
209Als u al bent geabonneerd maar besluit onze diensten niet meer te gebruiken, zeg dan alstublieft uw abonnement op vóór de volgende factureringscyclus om extra kosten te voorkomen.`},{question:"Kan ik van abonnement wisselen?",answer:"Ja, u kunt op elk moment upgraden of downgraden. Zowel upgrades als downgrades worden onmiddellijk van kracht. Kies alstublieft het abonnement dat het beste bij uw huidige behoeften past."},{question:"Hoe zeg ik mijn abonnement op?",answer:`U kunt uw abonnement opzeggen door naar de pagina Instellingen te gaan en op "Abonnement opzeggen" te klikken in de module Abonnement.
210
211• Toegang: Na opzegging behoudt u toegang tot alle premiumfuncties tot het einde van uw huidige factureringscyclus.
212• Geen toekomstige kosten: Zodra de huidige cyclus eindigt, worden er geen verdere kosten in rekening gebracht.`},{question:"Wat gebeurt er met mijn credits na opzegging?",answer:`Als uw abonnement verloopt (na het einde van de factureringscyclus):
213
214• Bevroren credits: Uw ongebruikte credits verdwijnen niet onmiddellijk; ze worden bewaard tot hun oorspronkelijke vervaldatum.
215• Heractivering: U kunt deze credits echter niet gebruiken zonder abonnement. Als u uw abonnement heractiveer voordat de credits verlopen, krijgt u onmiddellijk weer toegang om ze te gebruiken.`},{question:"Hoe krijg ik meer credits?",answer:"Als u geen credits meer heeft, kunt u eenvoudig uw abonnement upgraden via uw dashboard."},{question:"Hoe neem ik contact op met de klantenservice?",answer:`Wij staan voor u klaar! U kunt ons bereiken via:
216
217• Livechat: Klik op de supportknop in de rechteronderhoek van de pagina.
218• E-mail: Stuur uw vragen naar [email protected].`}]},featureComparison:{credits:"Credits",aiTranslationDuration:"AI-vertaalduur",aiLipSync:"AI-lipsynchronisatie",videoRes
218olution:"Videoresolutie",languages:"Talen",speakerDetection:"Sprekerherkenning",qualityPreservation:"Kwaliteitsbehoud",noWatermark:"Geen watermerk",creditRollover:"Credit-overdracht",generationSpeed:"Generatiesnelheid",techSupport:"Technische ondersteuning",autoUpdates:"Automatische updates",cancelAnytime:"Op elk moment opzegbaar"},featureValues:{videoResolution1080p:"1080p HD",videoResolution4k:"4K Ultra HD",languages60Plus:"60+ talen",speakerDetectionAuto:"Auto-Detect",qualityLossless:"Verliesvrij",creditRollover1Month:"1 maand",creditRollover2Months:"2 maanden",generationSpeedStandard:"Standard",generationSpeed2xTurbo:"2x Turbo",generationSpeed3xMax:"3x Max",techSupportFree:"Gratis ondersteuning"},featureSuffix:{perUnit:" per {{unit}}",mins:" min"}},nS={unlockGlobalReach:"Ontgrendel wereldwijd bereik",subtitle:"Schaal uw video-inhoud op met professionele AI-vertaling, stemklonen en lipsynchronisatie."},iS={title:"Volledige video verwerken",subtitle:"De resterende duur vertalen?",creditsToUse:"Te gebruiken credits",remainingCredits:"Resterende credits",insufficientCredits:"Onvoldoende credits"},lS={upgradeTitle:"Upgrade om de volledige video te vertalen",upgradeDescription:"Om video's langer dan een minuut zonder watermerk te vertalen, kiest u het abonnement dat bij uw behoeften past.",completed:"Voltooid",video:"Video",videoWithSubtitles:"Video + Ondertitels",translatedSubtitles:"Vertaalde ondertitels",originalSubtitles:"Originele ondertitels",firstMinTranslated:"Eerste minuut vertaald",translateFullVideo:"Volledige video vertalen",language:"Taal",audio:"Audio",cloned:"Gekloond",adCopy:"Advertentietekst",localizedAdCopy:"Gelokaliseerde advertentietekst",original:"Origineel",translated:"Vertaald",noAdCopy:"Geen advertentietekst opgegeven",noAdCopyHint:"Voeg titels, beschrijvingen of CTAs toe in het Nieuw project-venster",copiedAll:"Alles gekopieerd!",copyAllTranslated:"Alle vertaalde tekst kopiëren",lastUpdated:"Laatst bijgewerkt: Zojuist",upgradeToDownload:"Upgrade om te downloaden"},oS={common:Gb,validation:Fb,sidebar:Yb,header:Kb,dashboard:Zb,emptyState:Qb,projectTable:$b,newProject:Xb,auth:Jb,settings:Wb,billing:Ib,profile:eS,voices:tS,pricing:aS,pricingModal:nS,upgradeProject:iS,videoDetails:lS},rS={cancel:"Отмена",confirm:"Подтвердить",save:"Сохранить",saving:"Сохранение...",delete:"Удалить",deleting:"Удаление...",back:"Назад",next:"Далее",close:"Закрыть",loading:"Загрузка...",retry:"Повторить",upgrade:"Обновить план",buyMore:"Купить ещё",buyNow:"Купить сейчас",logOut:"Выйти",free:"Бесплатно",pro:"Pro",active:"Активный",canceled:"Отменён",expired:"Истёк",previous:"Предыдущий",credits:"кредиты",freeTrials:"бесплатные пробные версии",continue:"Продолжить",rename:"Переименовать",name:"Название",preview:"Предпросмотр",processing:"Обработка",ready:"Готово",failed:"Ошибка",unknown:"Неизвестно"},sS={fillAllFields:"Пожалуйста, заполните все поля",invalidEmail:"Пожалуйста, введите действительный адрес электронной почты",passwordTooShort:"Пароль должен содержать не менее 8 символов",passwordHint:"Должен содержать не менее 8 символов.",fillBothPasswords:"Пожалуйста, заполните оба поля пароля.",enterEmail:"Пожалуйста, введите Ваш адрес электронной почты",invalidOtp:"Пожалуйста, введите действительный 6-значный код"},uS={projects:"Проекты",voices:"Голоса",settings:"Настройки",workspace:"Рабочее пространство",darkMode:"Тёмная тема",lightMode:"Светлая тема"},cS={plan:"Тариф",freeTrials:"Бесплатные пробные версии",expiresIn:"Истекает через {{days}} дн.",myProfile:"Мой профиль",billingSubscription:"Оплата и подписка"},dS={myProjects:"Мои проекты",subtitle:"Управляйте и локализуйте Ваши видео с лёгкостью.",newProject:"Новый проект",createProjectFailed:"Не удалось создать проект",upgradeStarted:"Обновление проекта запущено! Полный перевод выполняется.",upgradeProjectFailed:"Не удалось обновить проект",promoBanner:{title:"Обновите план для глобаÐ
218»ÑŒÐ½Ð¾Ð³Ð¾ охвата",description:"Разблокируйте профессиональные инструменты, такие как экспорт 4K и клонирование голоса, чтобы расширить Ваш охват.",upgradeNow:"Обновить сейчас"}},fS={title:"Переводите видео или аудио на более чем 40 языков",description:"Получите точные субтитры, естественную озвучку и идеальную синхронизацию губ в одном инструменте. Загрузите Ваше первое видео, чтобы начать.",cta:"Перевести видео сейчас"},mS={videoBundle:"Пакет видео",languages:"Языки",duration:"Длительность",created:"Создано",status:"Статус",actions:"Действия",source:"Источник",versions:"{{count}} версий",readyCount:"{{count}} готово",failedCount:"{{count}} ошибок",allReady:"Все готово",clickToPreview:"Нажмите для предпросмотра оригинала",viewDetails:"Подробнее",downloadAll:"Скачать всё",upgradeToDownload:"Обновите для скачивания",deleteAll:"Удалить всё",firstMinTranslated:"Первая минута переведена",processFullVideo:"Обработать полное видео",video:"Видео",generating:"Генерация...",videoWithSubtitles:"Видео с субтитрами",translatedSubtitle:"Переведённые субтитры",originalSubtitle:"Оригинальные субтитры",noProjects:"Проекты не найдены. Создайте проект, чтобы начать.",renameProject:"Переименовать проект",renameVersion:"Переименовать версию",deleteVersionConfirm:"Вы уверены, что хотите удалить эту версию?",deleteGroupConfirm:"Вы уверены, что хотите удалить эту группу проектов?",deleteVersionMessage:"После удаления эта версия будет недоступна.",deleteGroupMessage:"Все версии в этой группе будут удалены.",groupRenamed:"Группа проектов успешно переименована",projectRenamed:"Проект успешно переименован",renameFailed:"Не удалось переименовать",groupDeleted:"Группа проектов успешно удалена",projectDeleted:"Проект успешно удалён",deleteFailed:"Не удалось удалить",videoNotAvailable:"URL видео недоступен",subtitleNotAvailable:"Видео или субтитры недоступны",generatingVideoSubtitles:"Генерация видео с субтитрами...",generatingPleaseWait:"Это может занять некоторое время. Пожалуйста, подождите.",videoReady:"Видео готово!",videoGenerated:"Видео успешно сгенерировано!",generateFailed:"Не удалось сгенерировать видео с субтитрами"},pS={title:"Новый проект",uploadingFile:"Загрузка {{fileName}}...",uploadFailed:"Ошибка загрузки",clickToRetry:"Нажмите, чтобы повторить",dropVideo:"Перетащите видео сюда",releaseToUpload:"Отпустите для загрузки",clickToUpload:"Нажмите для загрузки или перетащите файл",uploadHint:"MP4, MOV или WEBM до {{maxSize}}МБ, макс. 1 час",invalidVideoFileType:"Пожалуйста, загрузите видеофайл (MP4, MOV или WEBM)",fileSizeExceeded:"Размер файла ({{sizeMB}}МБ) превышает ограничение в {{maxSizeMB}}МБ. Пожалуйста, загрузите видео меньшего размера.",videoDurationExceeded:"Длительность видео ({{durationMin}} мин.) превышает ограничение в {{maxMin}} минут. Пожалуйста, загрузите более короткое видео.",uploadFailedGeneric:"Ошибка загрузки",importFrom:"Или импортировать из",pasteYoutube:"Вставить ссылку YouTube (Скоро)",changeFile:"Изменить файл",projectName:"Название проекта",targetLanguages:"Целевые языки",selectedCount:"{{count}} выбрано",selectLanguages:"Выберите языки...",search:"Поиск...",noMatch:"Нет совпадений",audioMode:"Режим аудио",cloneVoiceAuto:"Клонировать голос (Авто)",myVoices:"Мои голоса",systemVoices:"Системные голоса",speakerCount:"Количество спикеров",autoDetect:"Автоопределение",speakerSingular:"{{count}} спикер",speakerPlural:"{{count}} спикеров",durationMode:"Режим длительности",autoFit:"Автоподгонка",natural
218:"Естественный",custom:"Пользовательский",autoFitDesc:"ИИ регулирует скорость речи в соответствии с длительностью оригинального видео. Идеально для рекламы и синхронизации губ.",naturalDesc:"Приоритет — естественный темп речи. Кадр может зафиксироваться для синхронизации аудио. Идеально для влогов/обучения.",customDesc:"Управляйте множителем скорости вручную (напр. 1.1x). Полезно для конкретных требований к темпу.",upTo:"До",timesOriginal:"× оригинала",adCopy:"Рекламный текст",optional:"(Необязательно)",quickAdd:"Быстрое добавление:",adCopyTitle:"Заголовок",adCopyDescription:"Описание",adCopyCta:"CTA",adCopyComment:"Комментарий",labelPlaceholder:"Метка (напр. Заголовок)",addTextField:"Добавить текстовое поле",insufficientCredits:"Недостаточно кредитов. Пожалуйста, обновите план для продолжения.",freeTrialInfo:"Бесплатная пробная версия: Вы можете перевести только первые 60 секунд.",freeTrialsRemaining:"({{count}} бесплатных пробных версий осталось)",unlockFull:"Разблокировать полный перевод",noSubscription:"Нет активной подписки. Пожалуйста, обновите план для продолжения.",trialLimitExceeded:"Лимит пробных версий превышен. Пожалуйста, обновите план для продолжения.",trialMode:"Пробный режим (предпросмотр 60 сек.)",estimatedCredits:"Оценка: {{count}} кредитов",estimatedCreditsDetail:"({{langCount}} языков × {{creditsPerLang}} кредитов/язык)",estimatedZero:"Оценка: 0 кредитов",tryForFree:"Попробовать бесплатно ({{count}})",translate:"Перевести",translateCount:"Перевести ({{count}})"},gS={login:{title:"С возвращением",subtitle:"Введите Ваши учётные данные для доступа к рабочему пространству.",continueGoogle:"Продолжить с Google",orContinueEmail:"Или продолжить по электронной почте",email:"Электронная почта",password:"Пароль",forgotPassword:"Забыли пароль?",signIn:"Войти",signingIn:"Вход...",noAccount:"Нет аккаунта?",signUp:"Зарегистрироваться",emailNotVerified:"Электронная почта не подтверждена. Пожалуйста, подтвердите Вашу почту.",loginFailed:"Ошибка входа. Пожалуйста, проверьте Ваши учётные данные.",googleLoginFailed:"Не удалось инициализировать вход через Google"},signup:{title:"Создать аккаунт",subtitle:"Начните локализацию Ваших видео за считанные минуты.",orSignupEmail:"Или зарегистрироваться по электронной почте",name:"Имя",namePlaceholder:"Ваше имя",passwordPlaceholder:"Создайте надёжный пароль",getStarted:"Начать",creatingAccount:"Создание аккаунта...",registrationFailed:"Ошибка регистрации",termsAgreement:'Нажимая "Начать", Вы соглашаетесь с нашими',termsOfService:"Условиями использования",and:"и",privacyPolicy:"Политикой конфиденциальности",hasAccount:"Уже есть аккаунт?",verify:{title:"Подтвердите Вашу электронную почту",subtitle:"Мы отправили код на {{email}}",enterCode:"Введите код подтверждения",verifyEmail:"Подтвердить почту",resendIn:"Повторная отправка кода через {{seconds}}с",resendCode:"Отправить код подтверждения повторно",backToSignup:"Назад к регистрации",incorrectCode:"Неверный код подтверждения. Пожалуйста, попробуйте снова.",codeExpired:"Срок действия кода подтверждения истёк. Пожалуйста, запросите новый.",verificationFailed:"Ошибка подтверждения",resendFailed:"Не удалось повторно отправить код"}},forgotPassword:{title:"Сброс пароля",subtitle:"Введите Вашу электронную почту для получения кода сброса.",setNewTitle:"Установить новый пароль",setNewSubtitle:"Введите код, отправленный на Вашу почту, и Ваш новый пароль.",sendResetCode:"Отправить код сброса",sendingCode:"Отправка кода...",resetCode:"Код сброса",enterCode:"Введите 6-значный код",newPassword:"Новый пароль",resetPassword:"Сбросить пароль",resetting:"Сброс...",backToLogin:"Назад к входу",resetSuccess:"Пароль успешно сброшен! Перенаправление на страницу входа...",resetCodeSent:"Код сброса отправлен на Вашу почту",sendFailed:"Не удалось отправить код сброса",resetFailed:"Не удалось сбросить пароль"},layout:{heroTitle:"Преодолевайте языковые барьеры с помощью локализации видео на базе ИИ.",feature1:"Клонирование голоса с точностью 99%",feature2:"Технология идеальной синхронизации губ",feature3:"Поддержка более 40 языков"}}
218,hS={title:"Настройки",subtitle:"Настройте параметры Вашего рабочего пространства и доступ к API.",appearance:"Оформление",themePreference:"Предпочтение темы",themeDescription:"Переключайтесь между светлой и тёмной темами.",light:"Светлая",dark:"Тёмная",generalPreferences:"Общие настройки",language:"Язык",languageDescription:"Язык интерфейса панели управления.",timezone:"Часовой пояс",timezoneDescription:"Используется для писем о выставлении счетов и уведомлений.",notifications:"Уведомления",projectCompletion:"Уведомления о завершении проекта",weeklySummary:"Еженедельные сводки по электронной почте",productUpdates:"Обновления и анонсы продукта",yourSubscription:"Ваша подписка",youAreOn:"Вы используете тариф",payingMonthly:"ежемесячная оплата",payingYearly:"ежегодная оплата",planRenewOn:"Ваш тариф будет продлён {{date}} на сумму {{amount}}.",subscriptionEndOn:"Ваша подписка завершится {{date}}.",cancelSubscription:"Отменить подписку",keepSubscription:"Сохранить подписку",resubscribe:"Оформить подписку повторно",upgradePlan:"Обновить тариф",upgradeDescription:"Обновите тариф, чтобы разблокировать полные видеопереводы и премиум-функции.",freePlan:"Бесплатный тариф",resubscribeFailed:"Не удалось повторно оформить подписку",cancelSurvey:{title:"Нам жаль, что Вы уходите",subtitle:"Пожалуйста, сообщите нам причину отмены, чтобы мы могли улучшить сервис.",reasons:{noNeed:"Мне больше не нужен перевод видео.",qualityBad:"Качество перевода не оправдало моих ожиданий.",tooSlow:"Скорость обработки была слишком низкой.",notUsed:"Я недостаточно часто использую продукт.",tooExpensive:"Это слишком дорого для моего бюджета.",betterAlternative:"Я нашёл лучшую альтернативу."},other:"Другое",otherPlaceholder:"Пожалуйста, расскажите подробнее..."},cancelConfirm:{title:"Отменить подписку?",message:"Ваша подписка останется активной до <strong>{{date}}</strong>. После этого Вы потеряете доступ к премиум-функциям.",yesCancel:"Да, отменить"}},vS={title:"Оплата и подписка",subtitle:"Управляйте Вашим тарифом, историей платежей и способами оплаты.",currentPlan:"Текущий тариф",youAreOn:"В настоящее время Вы используете тариф",plan:".",creditsRemaining:"{{count}} кредитов осталось",renewsOn:"Продление {{date}}",subscriptionEndOn:"Ваша подписка завершится {{date}}.",noteActiveRequired:"Примечание: для использования кредитов необходим активный тариф.",manageSubscription:"Управление подпиской",opening:"Открытие...",usage:"Использование",resetOn:"Сброс {{date}}",noActiveSubscription:"Нет активной подписки",creditHistory:"История кредитов",noTransactions:"Пока нет транзакций по кредитам.",description:"Описание",date:"Дата",amount:"Сумма",page:"Страница {{current}} из {{total}}",creditsUsed:"{{used}} / {{total}} кредитов использовано",freeTrialsUsed:"{{used}} / {{total}} бесплатных пробных версий использовано",upgradePlan:"Обновить тариф",paymentSuccess:"Оплата прошла успешно! Ваша подписка теперь активна.",confirmingPayment:"Подтверждение Вашей оплаты...",subscriptionCanceled:"Подписка будет отменена в конце текущего периода.",cancelFailed:"Не удалось отменить подписку",subscriptionReactivated:"Подписка восстановлена! Ваш тариф будет продолжен в обычном режиме.",resubscribeFailed:"Не удалось повторно оформить подписку",cancelConfirm:{title:"Отменить подписку?",message:"Ваша подписка останется активной до <strong>{{date}}</strong>. После этого Вы потеряете доступ к премиум-функциям.",keepSubscription:"Сохранить подписку",yesCancel:"Да, отменить"}},yS={title:"Мой профиль",subtitle:"Управляйте Вашей личной информацией и безопасностью аккаунта.",name:"Имя",emailAddress:"Адрес электронной почты",changePassword:"Изменить пароль",workspaceName:"Название рабочего пространства",saveChanges:"Сохранить изменения",accountSettings:"Настройки аккаунта",mail:"Почта",oldPassword:"Старый пароль",oldPasswordPlaceholder:"Введите старый пароль",newPassword:"Новый пароль",newPasswordPlaceholder:"Введите новый пароль",passwordUpdated:"Пароль успешно обновлён.",passwordUpdateFailed:"Не удалось обновить пароль."},bS={title:"Библиотека голосов",subtitle:"Управляйте Вашими пользовательскими голосами и изучайте системные голоса для озвучки видео.",cloneNewVoice:"Клонировать новый голос",searchPlaceholder:"Поиск голосов по наÐ
218·Ð²Ð°Ð½Ð¸ÑŽ, описанию или тегам...",filterAll:"Все",filterMy:"Мои голоса",filterSystem:"Системные",myVoices:"Мои голоса",systemVoices:"Системные голоса",cloneQuota:"Квота клонирования",languages:"Языки",myClonedVoices:"Мои клонированные голоса",noClonedVoices:"Клонированных голосов пока нет",noClonedDescription:"Клонируйте Ваш голос, чтобы создать персонализированную озвучку для Ваших видео.",cloneFirstVoice:"Клонируйте Ваш первый голос",uploadModal:{title:"Клонируйте Ваш голос",subtitle:"Загрузите аудиообразец для клонирования голоса",voiceName:"Название голоса *",voiceNamePlaceholder:"напр., Голос моего руководителя",description:"Описание",descriptionPlaceholder:"Опишите Ваш голос (напр., профессиональный, тёплый, энергичный...)",audioSample:"Аудиообразец *",uploadPrompt:"Нажмите для загрузки или перетащите файл",uploadHint:"WAV, MP3 или M4A (макс. 10 МБ, 30с-2мин)",tagsOptional:"Теги (необязательно)",addTag:"Добавить тег...",tips:"Советы для лучших результатов:",tip1:"Записывайте в тихой обстановке",tip2:"Говорите чётко в естественном темпе",tip3:"Используйте от 30 секунд до 2 минут аудио",cloneVoice:"Клонировать голос",processing:"Обработка..."}},SS={title:"Цены",yearly:"Ежегодно",monthly:"Ежемесячно",save40:"Скидка 40%",perMonthBilledAnnually:"в месяц, ежегодная оплата",perMonth:"в месяц",currentPlan:"Текущий тариф",mostPopular:"Самый популярный",compareAllFeatures:"Сравнить все функции",closeAria:"Закрыть цены",saveAmount:"СКИДКА ${{amount}}",unitYear:"год",unitMonth:"месяц",creditsWithUnit:"{{credits}} кредитов/{{unit}}",translationUpTo:"ИИ-перевод до {{mins}} мин.",translationUpToWithUnit:"ИИ-перевод до {{mins}} мин./{{unit}}",plans:{starter:"Starter",creator:"Creator",scale:"Scale"},planDescriptions:{starter:"Идеально для частных лиц и любителей.",creator:"Для растущих каналов и магазинов.",scale:"Масштабируйте Ваше глобальное производство."},loadingPlans:"Загрузка тарифов...",faq:{title:"Часто задаваемые вопросы",items:[{question:"Что такое кредиты?",answer:`Кредиты используются для оплаты перевода видео на Genve.
219
220• Тариф: Каждые 30 секунд видео стоят 0,5 кредита за целевой язык.
221• Округление: Время округляется вверх до следующего блока в 30 секунд.
222(напр. 45 секунд тарифицируются как 60 секунд = 1 кредит)
223• Пример:
224  - Перевод видео длительностью 1 минута 25 секунд на 1 язык будет стоить 1,5 кредита.
225  - Перевод 2-минутного видео на 2 разных языка будет стоить 4 кредита.`},{question:"Истекает ли срок действия моих кредитов?",answer:`Срок действия кредитов зависит от статуса Вашего тарифа:
226
227• Ежемесячная подписка: Кредиты переносятся и остаются действительными в течение 2 месяцев.
228• Ежегодная подписка: Кредиты остаются действительными в течение 14 месяцев (1 год + 2 месяца льготного периода).
229• Примечание: Для использования накопленных кредитов необходимо поддерживать активную подписку. При отмене подписки Ваши кредиты будут заморожены до повторного оформления подписки.`},{question:"Какова политика возврата средств?",answer:`Мы стремимся предоставлять прозрачный и надёжный сервис. Наша политика такова:
230
231• Технические сбои: Если перевод не удался из-за ошибок нашей системы, списанные кредиты будут автоматически возвращены на Ваш баланс.
232• Оплата подписки: В настоящее время мы не предлагаем возврат средств за подписку. Чтобы помочь Вам принять обоснованное решение, мы предлагаем каждому новому пользователю 3 бесплатных пробных перевода для 3 видео. Пожалуйста, в полной мере воспользуйтесь этими пробными версиями, чтобы оценить наши функции перед оформлением подписки.
233
234Если Вы уже оформили подписку, но решили не продолжать пользоваться нашими услугами, пожалуйста, отмените подписку до следующего платёжного циÐ
234ºÐ»Ð°, чтобы избежать дополнительных списаний.`},{question:"Могу ли я изменить свой тариф?",answer:"Да, Вы можете повысить или понизить свой тариф в любое время. Как повышение, так и понижение вступают в силу немедленно. Пожалуйста, выберите тариф, который лучше всего соответствует Вашим текущим потребностям."},{question:"Как отменить подписку?",answer:`Вы можете отменить подписку, перейдя на страницу Настройки и нажав "Отменить подписку" в модуле Подписка.
235
236• Доступ: После отмены Вы сохраните доступ ко всем премиум-функциям до конца текущего платёжного периода.
237• Без будущих списаний: После окончания текущего периода плата взиматься не будет.`},{question:"Что происходит с моими кредитами после отмены?",answer:`Если Ваша подписка истечёт (после окончания платёжного периода):
238
239• Замороженные кредиты: Ваши неиспользованные кредиты не исчезнут сразу; они сохраняются до истечения первоначального срока действия.
240• Восстановление: Однако Вы не сможете использовать эти кредиты без подписки. Если Вы восстановите подписку до истечения срока действия кредитов, Вы немедленно получите доступ к их использованию.`},{question:"Как получить больше кредитов?",answer:"Если у Вас закончились кредиты, Вы можете просто обновить свой тариф через панель управления."},{question:"Как связаться со службой поддержки?",answer:`Мы готовы помочь! Вы можете связаться с нами через:
241
242• Онлайн-чат: Нажмите кнопку поддержки в правом нижнем углу страницы.
243• Электронная почта: Отправьте Ваши запросы на [email protected].`}]},featureComparison:{credits:"Кредиты",aiTranslationDuration:"Длительность ИИ-перевода",aiLipSync:"ИИ-синхронизация губ",videoResolution:"Разрешение видео",languages:"Языки",speakerDetection:"Определение спикера",qualityPreservation:"Сохранение качества",noWatermark:"Без водяного знака",creditRollover:"Перенос кредитов",generationSpeed:"Скорость генерации",techSupport:"Техническая поддержка",autoUpdates:"Автоматические обновления",cancelAnytime:"Отмена в любое время"},featureValues:{videoResolution1080p:"1080p HD",videoResolution4k:"4K Ultra HD",languages60Plus:"60+ языков",speakerDetectionAuto:"Auto-Detect",qualityLossless:"Без потерь",creditRollover1Month:"1 месяц",creditRollover2Months:"2 месяца",generationSpeedStandard:"Standard",generationSpeed2xTurbo:"2x Turbo",generationSpeed3xMax:"3x Max",techSupportFree:"Бесплатная поддержка"},featureSuffix:{perUnit:" за {{unit}}",mins:" мин."}},zS={unlockGlobalReach:"Откройте глобальный охват",subtitle:"Масштабируйте Ваш видеоконтент с помощью профессионального ИИ-перевода, клонирования голоса и синхронизации губ."},AS={title:"Обработать полное видео",subtitle:"Перевести оставшуюся длительность?",creditsToUse:"Кредитов к использованию",remainingCredits:"Оставшиеся кредиты",insufficientCredits:"Недостаточно кредитов"},CS={upgradeTitle:"Обновите план для перевода полного видео",upgradeDescription:"ДÐ
243»Ñ перевода видео длительностью более минуты без водяного знака выберите подходящий тариф.",completed:"Завершено",video:"Видео",videoWithSubtitles:"Видео + Субтитры",translatedSubtitles:"Переведённые субтитры",originalSubtitles:"Оригинальные субтитры",firstMinTranslated:"Первая минута переведена",translateFullVideo:"Перевести полное видео",language:"Язык",audio:"Аудио",cloned:"Клонированный",adCopy:"Рекламный текст",localizedAdCopy:"Локализованный рекламный текст",original:"Оригинал",translated:"Переведённый",noAdCopy:"Рекламный текст не указан",noAdCopyHint:"Добавьте заголовки, описания или CTAs в окне «Новый проект»",copiedAll:"Всё скопировано!",copyAllTranslated:"Скопировать весь переведённый текст",lastUpdated:"Последнее обновление: Только что",upgradeToDownload:"Обновите для скачивания"},TS={common:rS,validation:sS,sidebar:uS,header:cS,dashboard:dS,emptyState:fS,projectTable:mS,newProject:pS,auth:gS,settings:hS,billing:vS,profile:yS,voices:bS,pricing:SS,pricingModal:zS,upgradeProject:AS,videoDetails:CS},ES={cancel:"İptal",confirm:"Onayla",save:"Kaydet",saving:"Kaydediliyor...",delete:"Sil",deleting:"Siliniyor...",back:"Geri",next:"İleri",close:"Kapat",loading:"Yükleniyor...",retry:"Tekrar dene",upgrade:"Yükselt",buyMore:"Daha fazla al",buyNow:"Şimdi satın al",logOut:"Çıkış yap",free:"Ücretsiz",pro:"Pro",active:"Aktif",canceled:"İptal edildi",expired:"Süresi doldu",previous:"Önceki",credits:"kredi",freeTrials:"ücretsiz deneme",continue:"Devam et",rename:"Yeniden adlandır",name:"Ad",preview:"Önizleme",processing:"İşleniyor",ready:"Hazır",failed:"Başarısız",unknown:"Bilinmiyor"},wS={fillAllFields:"Lütfen tüm alanları doldurun",invalidEmail:"Lütfen geçerli bir e-posta adresi girin",passwordTooShort:"Şifre en az 8 karakter olmalıdır",passwordHint:"En az 8 karakter uzunluğunda olmalıdır.",fillBothPasswords:"Lütfen her iki şifre alanını da doldurun.",enterEmail:"Lütfen e-posta adresinizi girin",invalidOtp:"Lütfen geçerli bir 6 haneli kod girin"},kS={projects:"Projeler",voices:"Sesler",settings:"Ayarlar",workspace:"Çalışma Alanı",darkMode:"Koyu Mod",lightMode:"Açık Mod"},MS={plan:"Plan",freeTrials:"Ücretsiz Denemeler",expiresIn:"{{days}} gün sonra sona erecek",myProfile:"Profilim",billingSubscription:"Faturalandırma ve Abonelik"},DS={myProjects:"Projelerim",subtitle:"Videolarınızı kolayca yönetin ve yerelleştirin.",newProject:"Yeni Proje",createProjectFailed:"Proje oluşturulamadı",upgradeStarted:"Proje yükseltme başlatıldı! Tam çeviri şu anda devam ediyor.",upgradeProjectFailed:"Proje yükseltme başarısız oldu",promoBanner:{title:"Küresel erişim için yükseltin",description:"Erişiminizi genişletmek için 4K dışa aktarma ve ses klonlama gibi profesyonel araçların kilidini açın.",upgradeNow:"Şimdi yükselt"}},RS={title:"Video veya sesi 40'tan fazla dile çevirin",description:"Tek bir araçla temiz altyazılar, doğal seslendirme ve mükemmel dudak senkronizasyonu elde edin. Başlamak için ilk videonuzu yükleyin.",cta:"Şimdi video çevir"},xS={videoBundle:"Video Paketi",languages:"Diller",duration:"Süre",created:"Oluşturulma",status:"Durum",actions:"İşlemler",source:"Kaynak",versions:"{{count}} Versiyon",readyCount:"{{count}} Hazır",failedCount:"{{count}} Başarısız",allReady:"Tümü Hazır",clickToPreview:"Orijinali önizlemek için tıklayın",viewDetails:"Ayrıntıları Gör",downloadAll:"Tümünü indir",upgradeToDownload:"İndirmek için yükseltin",deleteAll:"Tümünü sil",firstMinTranslated:"İlk 1 dakika çevrildi",process
243FullVideo:"Tam videoyu işle",video:"Video",generating:"Oluşturuluyor...",videoWithSubtitles:"Altyazılı Video",translatedSubtitle:"Çevrilmiş Altyazı",originalSubtitle:"Orijinal Altyazı",noProjects:"Proje bulunamadı. Başlamak için bir proje oluşturun.",renameProject:"Projeyi yeniden adlandır",renameVersion:"Versiyonu yeniden adlandır",deleteVersionConfirm:"Bu versiyonu silmek istediğinizden emin misiniz?",deleteGroupConfirm:"Bu proje grubunu silmek istediğinizden emin misiniz?",deleteVersionMessage:"Silindikten sonra bu versiyon artık erişilemez olacaktır.",deleteGroupMessage:"Bu gruptaki tüm versiyonlar kaldırılacaktır.",groupRenamed:"Proje grubu başarıyla yeniden adlandırıldı",projectRenamed:"Proje başarıyla yeniden adlandırıldı",renameFailed:"Yeniden adlandırma başarısız oldu",groupDeleted:"Proje grubu başarıyla silindi",projectDeleted:"Proje başarıyla silindi",deleteFailed:"Silme başarısız oldu",videoNotAvailable:"Video URL'si mevcut değil",subtitleNotAvailable:"Video veya altyazı mevcut değil",generatingVideoSubtitles:"Altyazılı video oluşturuluyor...",generatingPleaseWait:"Bu biraz zaman alabilir. Lütfen bekleyin.",videoReady:"Video hazır!",videoGenerated:"Video başarıyla oluşturuldu!",generateFailed:"Altyazılı video oluşturulamadı"},OS={title:"Yeni Proje",uploadingFile:"{{fileName}} yükleniyor...",uploadFailed:"Yükleme Başarısız",clickToRetry:"Tekrar denemek için tıklayın",dropVideo:"Videonuzu buraya bırakın",releaseToUpload:"Yüklemek için bırakın",clickToUpload:"Yüklemek için tıklayın veya sürükleyip bırakın",uploadHint:"MP4, MOV veya WEBM, {{maxSize}}MB'a kadar, maks. 1 saat",invalidVideoFileType:"Lütfen bir video dosyası yükleyin (MP4, MOV veya WEBM)",fileSizeExceeded:"Dosya boyutu ({{sizeMB}}MB), {{maxSizeMB}}MB sınırını aşıyor. Lütfen daha küçük bir video yükleyin.",videoDurationExceeded:"Video süresi ({{durationMin}} dk), {{maxMin}} dakika sınırını aşıyor. Lütfen daha kısa bir video yükleyin.",uploadFailedGeneric:"Yükleme başarısız oldu",importFrom:"Veya şuradan içe aktar",pasteYoutube:"YouTube Bağlantısı Yapıştır (Yakında)",changeFile:"Dosyayı Değiştir",projectName:"Proje Adı",targetLanguages:"Hedef Diller",selectedCount:"{{count}} seçili",selectLanguages:"Dil seçin...",search:"Ara...",noMatch:"Eşleşme yok",audioMode:"Ses Modu",cloneVoiceAuto:"Ses Klonla (Otomatik)",myVoices:"Seslerim",systemVoices:"Sistem Sesleri",speakerCount:"Konuşmacı Sayısı",autoDetect:"Otomatik Algıla",speakerSingular:"{{count}} Konuşmacı",speakerPlural:"{{count}} Konuşmacı",durationMode:"Süre Modu",autoFit:"Otomatik Uyarlama",natural:"Doğal",custom:"Özel",autoFitDesc:"Yapay zeka, konuşma hızını orijinal video süresine uyacak şekilde ayarlar. Reklamlar ve dudak senkronizasyonu için idealdir.",naturalDesc:"Doğal konuşma temposuna öncelik verir. Ses senkronizasyonu için video karesi donabilir. Vlog/Eğitim için idealdir.",customDesc:"Hız çarpanını manuel olarak kontrol edin (ör. 1.1x). Belirli tempo gereksinimleri için kullanışlıdır.",upTo:"En fazla",timesOriginal:"× orijinal",adCopy:"Reklam Metni",optional:"(İsteğe bağlı)",quickAdd:"Hızlı ekle:",adCopyTitle:"Başlık",adCopyDescription:"Açıklama",adCopyCta:"CTA",adCopyComment:"Yorum",labelPlaceholder:"Etiket (ör. Başlık)",addTextField:"Metin Alanı Ekle",insufficientCredits:"Yetersiz kredi. Devam etmek için lütfen planınızı yükseltin.",freeTrialInfo:"Ücretsiz Deneme: Yalnızca ilk 60 saniyeyi çevirebilirsiniz.",freeTrialsRemaining:"({{count}} ücretsiz deneme kaldı)",unlockFull:"Tam Çeviriyi Aç",noSubscription:"Aktif abonelik yok. Devam etmek için lütfen planınızı yükseltin.",trialLimitExceeded:"Deneme limiti aşıldı. Devam etmek için lütfen planınızı yükseltin.",trialMode:"Deneme Modu (60s önizleme)",estimatedCredits:"Tahmini: {{count}} kredi",estimatedCreditsDetail:"({{langCount}} dil × {{creditsPerLang}} kredi/dil)",estimatedZero:"Tahmini: 0 kredi",tryForFree:"Ücretsiz Dene ({{count}})",translate:"Çevir",translateCount:"Çevir ({{count}})"}
243,jS={login:{title:"Tekrar hoş geldiniz",subtitle:"Çalışma alanınıza erişmek için kimlik bilgilerinizi girin.",continueGoogle:"Google ile devam et",orContinueEmail:"Veya e-posta ile devam et",email:"E-posta",password:"Şifre",forgotPassword:"Şifrenizi mi unuttunuz?",signIn:"Giriş yap",signingIn:"Giriş yapılıyor...",noAccount:"Hesabınız yok mu?",signUp:"Kayıt ol",emailNotVerified:"E-posta doğrulanmadı. Lütfen e-postanızı doğrulayın.",loginFailed:"Giriş başarısız oldu. Lütfen kimlik bilgilerinizi kontrol edin.",googleLoginFailed:"Google girişi başlatılamadı"},signup:{title:"Hesap oluştur",subtitle:"Videolarınızı dakikalar içinde yerelleştirmeye başlayın.",orSignupEmail:"Veya e-posta ile kayıt ol",name:"Ad",namePlaceholder:"Adınız",passwordPlaceholder:"Güçlü bir şifre oluşturun",getStarted:"Başla",creatingAccount:"Hesap oluşturuluyor...",registrationFailed:"Kayıt başarısız oldu",termsAgreement:'"Başla"ya tıklayarak, aşağıdakileri kabul etmiş olursunuz:',termsOfService:"Hizmet Koşulları",and:"ve",privacyPolicy:"Gizlilik Politikası",hasAccount:"Zaten hesabınız var mı?",verify:{title:"E-postanızı doğrulayın",subtitle:"{{email}} adresine bir kod gönderdik",enterCode:"Doğrulama Kodunu Girin",verifyEmail:"E-postayı Doğrula",resendIn:"Kodu {{seconds}}s sonra tekrar gönder",resendCode:"Doğrulama Kodunu Tekrar Gönder",backToSignup:"Kayıt sayfasına dön",incorrectCode:"Yanlış doğrulama kodu. Lütfen tekrar deneyin.",codeExpired:"Doğrulama kodunun süresi doldu. Lütfen yeni bir kod isteyin.",verificationFailed:"Doğrulama başarısız oldu",resendFailed:"Kod tekrar gönderilemedi"}},forgotPassword:{title:"Şifre Sıfırla",subtitle:"Sıfırlama kodu almak için e-postanızı girin.",setNewTitle:"Yeni Şifre Belirle",setNewSubtitle:"E-postanıza gönderilen kodu ve yeni şifrenizi girin.",sendResetCode:"Sıfırlama Kodu Gönder",sendingCode:"Kod gönderiliyor...",resetCode:"Sıfırlama Kodu",enterCode:"6 haneli kodu girin",newPassword:"Yeni Şifre",resetPassword:"Şifreyi Sıfırla",resetting:"Sıfırlanıyor...",backToLogin:"Giriş sayfasına dön",resetSuccess:"Şifre başarıyla sıfırlandı! Giriş sayfasına yönlendiriliyorsunuz...",resetCodeSent:"Sıfırlama kodu e-postanıza gönderildi",sendFailed:"Sıfırlama kodu gönderilemedi",resetFailed:"Şifre sıfırlanamadı"},layout:{heroTitle:"Yapay zeka destekli video yerelleştirme ile dil engellerini aşın.",feature1:"%99 doğruluk ile ses klonlama",feature2:"Mükemmel dudak senkronizasyonu teknolojisi",feature3:"40'tan fazla dil desteği"}},NS={title:"Ayarlar",subtitle:"Çalışma alanı tercihlerinizi ve API erişiminizi yapılandırın.",appearance:"Görünüm",themePreference:"Tema Tercihi",themeDescription:"Açık ve koyu modlar arasında geçiş yapın.",light:"Açık",dark:"Koyu",generalPreferences:"Genel Tercihler",language:"Dil",languageDescription:"Kontrol paneli arayüzünün dili.",timezone:"Saat Dilimi",timezoneDescription:"Faturalandırma ve bildirim e-postaları için kullanılır.",notifications:"Bildirimler",projectCompletion:"Proje tamamlanma uyarıları",weeklySummary:"Haftalık özet e-postaları",productUpdates:"Ürün güncellemeleri ve duyurular",yourSubscription:"Aboneliğiniz",youAreOn:"Şu anda kullandığınız plan:",payingMonthly:"aylık ödeme",payingYearly:"yıllık ödeme",planRenewOn:"Planınız {{date}} tarihinde {{amount}} tutarında yenilenecektir.",subscriptionEndOn:"Aboneliğiniz {{date}} tarihinde sona erecektir.",cancelSubscription:"Aboneliği İptal Et",keepSubscription:"Aboneliği Koru",resubscribe:"Yeniden Abone Ol",upgradePlan:"Planı Yükselt",upgradeDescription:"Tam video çevirileri ve premium özelliklerin kilidini açmak için planınızı yükseltin.",freePlan:"Ücretsiz Plan",resubscribeFailed:"Yeniden abone olunamadı",cancelSurvey:{title:"Gittiğinizi görmek bizi üzüyor",subtitle:"Gelişmemiz için lütfen iptal nedeninizi belirtin.",reasons:{noNeed:"Artık video çeviriye ihtiyacım yok.",qualityBad:"Çeviri kalitesi beklentilerimi karşılamadı.",tooSlow:"İşlem hızı çok yavaştı.",notUsed:"Ürünü yeter
243ince sık kullanmıyorum.",tooExpensive:"Bütçem için çok pahalı.",betterAlternative:"Daha iyi bir alternatif buldum."},other:"Diğer",otherPlaceholder:"Lütfen daha fazla bilgi verin..."},cancelConfirm:{title:"Abonelik iptal edilsin mi?",message:"Aboneliğiniz <strong>{{date}}</strong> tarihine kadar aktif kalacaktır. Bu tarihten sonra premium özelliklere erişiminizi kaybedeceksiniz.",yesCancel:"Evet, İptal Et"}},VS={title:"Faturalandırma ve Abonelik",subtitle:"Planınızı, fatura geçmişinizi ve ödeme yöntemlerinizi yönetin.",currentPlan:"Mevcut Plan",youAreOn:"Şu anda kullandığınız plan:",plan:".",creditsRemaining:"{{count}} kredi kaldı",renewsOn:"{{date}} tarihinde yenilenir",subscriptionEndOn:"Aboneliğiniz {{date}} tarihinde sona erecektir.",noteActiveRequired:"Not: Kredileri kullanmak için aktif bir plan gereklidir.",manageSubscription:"Aboneliği Yönet",opening:"Açılıyor...",usage:"Kullanım",resetOn:"{{date}} tarihinde sıfırlanır",noActiveSubscription:"Aktif abonelik yok",creditHistory:"Kredi Geçmişi",noTransactions:"Henüz kredi işlemi yok.",description:"Açıklama",date:"Tarih",amount:"Tutar",page:"Sayfa {{current}} / {{total}}",creditsUsed:"{{used}} / {{total}} kredi kullanıldı",freeTrialsUsed:"{{used}} / {{total}} ücretsiz deneme kullanıldı",upgradePlan:"Planı Yükselt",paymentSuccess:"Ödeme başarılı! Aboneliğiniz artık aktif.",confirmingPayment:"Ödemeniz onaylanıyor...",subscriptionCanceled:"Abonelik mevcut dönemin sonunda iptal edilecektir.",cancelFailed:"Abonelik iptal edilemedi",subscriptionReactivated:"Abonelik yeniden etkinleştirildi! Planınız normal şekilde devam edecektir.",resubscribeFailed:"Yeniden abone olunamadı",cancelConfirm:{title:"Abonelik iptal edilsin mi?",message:"Aboneliğiniz <strong>{{date}}</strong> tarihine kadar aktif kalacaktır. Bu tarihten sonra premium özelliklere erişiminizi kaybedeceksiniz.",keepSubscription:"Aboneliği Koru",yesCancel:"Evet, İptal Et"}},US={title:"Profilim",subtitle:"Kişisel bilgilerinizi ve hesap güvenliğinizi yönetin.",name:"Ad",emailAddress:"E-posta Adresi",changePassword:"Şifre Değiştir",workspaceName:"Çalışma Alanı Adı",saveChanges:"Değişiklikleri Kaydet",accountSettings:"Hesap Ayarları",mail:"E-posta",oldPassword:"Eski şifre",oldPasswordPlaceholder:"Eski şifrenizi girin",newPassword:"Yeni şifre",newPasswordPlaceholder:"Yeni şifrenizi girin",passwordUpdated:"Şifre başarıyla güncellendi.",passwordUpdateFailed:"Şifre güncellenemedi."},PS={title:"Ses Kütüphanesi",subtitle:"Özel seslerinizi yönetin ve video seslendirme için sistem seslerini keşfedin.",cloneNewVoice:"Yeni Ses Klonla",searchPlaceholder:"Sesleri ad, açıklama veya etiketlere göre arayın...",filterAll:"Tümü",filterMy:"Seslerim",filterSystem:"Sistem",myVoices:"Seslerim",systemVoices:"Sistem Sesleri",cloneQuota:"Klonlama Kotası",languages:"Diller",myClonedVoices:"Klonlanmış Seslerim",noClonedVoices:"Henüz klonlanmış ses yok",noClonedDescription:"Videolarınız için kişiselleştirilmiş seslendirme oluşturmak üzere sesinizi klonlayın.",cloneFirstVoice:"İlk Sesinizi Klonlayın",uploadModal:{title:"Sesinizi Klonlayın",subtitle:"Ses klonlama için bir ses örneği yükleyin",voiceName:"Ses Adı *",voiceNamePlaceholder:"ör., CEO Sesim",description:"Açıklama",descriptionPlaceholder:"Sesinizi tanımlayın (ör., profesyonel, sıcak, enerjik...)",audioSample:"Ses Örneği *",uploadPrompt:"Yüklemek için tıklayın veya sürükleyip bırakın",uploadHint:"WAV, MP3 veya M4A (maks. 10 MB, 30s-2dk)",tagsOptional:"Etiketler (isteğe bağlı)",addTag:"Etiket ekle...",tips:"En iyi sonuçlar için ipuçları:",tip1:"Sessiz bir ortamda kaydedin",tip2:"Doğal bir tempoda net konuşun",tip3:"30 saniye ile 2 dakika arası ses kullanın",cloneVoice:"Sesi Klonla",processing:"İşleniyor..."}},LS={title:"Fiyatlandırma",yearly:"Yıllık",monthly:"Aylık",save40:"%40 tasarruf",perMonthBilledAnnually:"aylık, yıllık faturalandırma",perMonth:"aylık",currentPlan:"Mevcut Plan",mostPopular:"En Popüler",compareAllFeatures:"Tüm Özellikleri Karşılaştır",closeAria:"Fiyatlandırmayı kapat",saveAmount:"${{amount}} TASARRUF",unitYear:"yıl",unitMonth:"ay",creditsWithUnit:"{{credits}} kredi/{{unit}}",translationUpTo:"{{mins}} dk'ya kadar yapay zeka çeviri",translationUpToWithUnit:"{{mins}} dk/{{unit}}'a kadar yapay zeka çeviri",plans:{starter:"Starter",creator:"Creator",scale:"Scale"},planDescriptions:{starter:"Bireyler ve hobiciler için mükemmel.",creator:"Büyüyen kanallar ve mağazalar için.",scale:"Küresel üretiminizi ölçeklendirin."},loadingPlans:"Planlar yükleniyor...",faq:{title:"Sıkça Sorulan Sorular",items:[{question:"Kredi nedir?",answer:`Krediler, Genve'de video çeviri için ödeme yapmak amacıyla kullanılır.
244
245• Ücret: Her 30 saniyelik video, hedef dil başına 0,5 kredi tutarındadır.
246• Yuvarlama: Süre bir sonraki 30 saniyelik bloğa yuvarlanır.
247(ör. 45 saniye, 60 saniye = 1 kredi olarak ücretlendirilir)
248• Örnek:
249  - 1 dakika 25 saniyelik bir videoyu 1 dile çevirmek 1,5 kredi tutarındadır.
250  - 2 dakikalık bir videoyu 2 farklı dile çevirmek 4 kredi tutarındadır.`},{question:"Kredilerimin süresi doluyor mu?",answer:`Kredi geçerliliği plan durumunuza bağlıdır:
251
252• Aylık Abonelik: Krediler devredilir ve 2 ay geçerli kalır.
253• Yıllık Abonelik: Krediler 14 ay geçerli kalır (1 yıl + 2 ay ek süre).
254• Not: Biriken kredileri kullanmak için aktif bir aboneliğiniz olmalıdır. Aboneliğiniz iptal edilirse, kredileriniz yeniden abone olana kadar dondurulacaktır.`},{question:"İade politikası nedir?",answer:`Şeffaf ve güvenilir bir hizmet sunmaya çalışıyoruz. Politikamız şu şekildedir:
255
256• Teknik Arızalar: Sistem hatalarımız nedeniyle bir çeviri başarısız olursa, 
256kesilen krediler otomatik olarak bakiyenize iade edilecektir.
257• Abonelik Ödemeleri: Şu anda abonelik ücretleri için iade sunmuyoruz. Bilinçli bir karar vermenize yardımcı olmak için, her yeni kullanıcıya 3 video çevirmek üzere 3 ücretsiz deneme fırsatı sunuyoruz. Abone olmadan önce özelliklerimizi deneyimlemek için bu denemelerden tam olarak yararlanın.
258
259Zaten abone olduysanız ancak hizmetlerimizi kullanmaya devam etmemeye karar verdiyseniz, ek ücretlerden kaçınmak için lütfen bir sonraki faturalandırma döneminden önce aboneliğinizi iptal edin.`},{question:"Planımı değiştirebilir miyim?",answer:"Evet, planınızı istediğiniz zaman yükseltebilir veya düşürebilirsiniz. Hem yükseltmeler hem de düşürmeler anında geçerli olur. Lütfen mevcut ihtiyaçlarınıza en uygun planı seçin."},{question:"Aboneliğimi nasıl iptal edebilirim?",answer:`Ayarlar sayfasına gidip Abonelik modülündeki "Aboneliği İptal Et" düğmesine tıklayarak aboneliğinizi iptal edebilirsiniz.
260
261• Erişim: İptalden sonra, mevcut faturalandırma döneminin sonuna kadar tüm premium özelliklere erişiminiz devam edecektir.
262• Gelecekte Ücret Yok: Mevcut dönem sona erdiğinde, artık ücret alınmayacaktır.`},{question:"İptalden sonra kredilerime ne olur?",answer:`Aboneliğinizin süresi dolarsa (faturalandırma döneminin bitiminden sonra):
263
264• Dondurulan Krediler: Kullanılmayan kredileriniz hemen kaybolmaz; orijinal son kullanma tarihlerine kadar saklanır.
265• Yeniden Etkinleştirme: Ancak, abone olmadan bu kredileri kullanamazsınız. Kredilerin süresi dolmadan aboneliğinizi yeniden etkinleştirirseniz, bunları kullanma erişiminizi anında geri kazanırsınız.`},{question:"Nasıl daha fazla kredi alabilirim?",answer:"Krediniz biterse, kontrol panelinizden planınızı yükseltebilirsiniz."},{question:"Destekle nasıl iletişime geçebilirim?",answer:`Size yardımcı olmak için buradayız! Bize şu yollarla ulaşabilirsiniz:
266
267• Canlı Sohbet: Sayfanın sağ alt köşesindeki destek düğmesine tıklayın.
268• E-posta: Sorularınızı [email protected] adresine gönderin.`}]},featureComparison:{credits:"Kredi",aiTranslationDuration:"Yapay Zeka Çeviri Süresi",aiLipSync:"Yapay Zeka Dudak Senkronizasyonu",videoResolution:"Video Çözünürlüğü",languages:"Diller",speakerDetection:"Konuşmacı Algılama",qualityPreservation:"Kalite Koruma",noWatermark:"Filigran Yok",creditRollover:"Kredi Devri",generationSpeed:"Oluşturma Hızı",techSupport:"Teknik Destek",autoUpdates:"Otomatik Güncellemeler",cancelAnytime:"İstediğiniz Zaman İptal"},featureValues:{videoResolution1080p:"1080p HD",videoResolution4k:"4K Ultra HD",languages60Plus:"60+ Dil",speakerDetectionAuto:"Auto-Detect",qualityLossless:"Kayıpsız",creditRollover1Month:"1 Ay",creditRollover2Months:"2 Ay",generationSpeedStandard:"Standard",generationSpeed2xTurbo:"2x Turbo",generationSpeed3xMax:"3x Max",techSupportFree:"Ücretsiz Destek"},featureSuffix:{perUnit:" / {{unit}}",mins:" dk"}},BS={unlockGlobalReach:"Küresel Erişimi Açın",subtitle:"Profesyonel yapay zeka çevirisi, ses klonlama ve dudak senkronizasyonu ile video içeriklerinizi ölçeklendirin."},qS={title:"Tam Videoyu İşle",subtitle:"Kalan süre çevrilsin mi?",creditsToUse:"Kullanılacak Kredi",remainingCredits:"Kalan Kredi",insufficientCredits:"Yetersiz Kredi"},_S={upgradeTitle:"Tam videoyu çevirmek için yükseltin",upgradeDescription:"Bir dakikadan uzun videoları filigransız çevirmek için ihtiyaçlarınıza uygun planı seçin.",completed:"Tamamlandı",video:"Video",videoWithSubtitles:"Video + Altyazılar",translatedSubtitles:"Çevrilmiş Altyazılar",originalSubtitles:"Orijinal Altyazılar",firstMinTranslated:"İlk 1 dakika çevrildi",translateFullVideo:"Tam Videoyu Çevir",language:"Dil",audio:"Ses",cloned:"Klonlanmış",adCopy:"Reklam Metni",localizedAdCopy:"Yerelleştirilmiş Reklam Metni",original:"Orijinal",translated:"Çevrilmiş",noAdCopy:"Reklam metni sağlanmadı",noAdCopyHint:"Yeni Proje penceresinde başlıklar, açıklamalar veya CTAs ekleyin",copiedAll:"Tümü Kopyalandı!",copyAllTranslated:"Tüm Çevrilmiş Metni Kopyala",lastUpdated:"Son güncelleme: Az önce",upgradeToDownload:"İndirmek için Yükseltin"},HS={common:ES,validation:wS,sidebar:kS,header:MS,dashboard:DS,emptyState:RS,projectTable:xS,newProject:OS,auth:jS,settings:NS,billing:VS,profile:US,voices:PS,pricing:LS,pricingModal:BS,upgradeProject:qS,videoDetails:_S},Im="genve_locale",GS=["en","zh","es","pt","fr","it","de","nl","ru","tr"];function FS(){var s;const u=localStorage.getItem(Im);if(u&&GS.includes(u))return u;const o=(s=navigator.language)==null?void 0:s.toLowerCase();return o!=null&&o.startsWith("zh")?"zh":o!=null&&o.startsWith("es")?"es":o!=null&&o.startsWith("pt")?"pt":o!=null&&o.startsWith("fr")?"fr":o!=null&&o.startsWith("it")?"it":o!=null&&o.startsWith("de")?"de":o!=null&&o.startsWith("nl")?"nl":o!=null&&o.startsWith("ru")?"ru":o!=null&&o.startsWith("tr")?"tr":"en"}Je.use(Av).init({resources:{en:{translation:_v},zh:{translation:oy},es:{translation:Ty},pt:{translation:Hy},fr:{translation:ob},it:{translation:Tb},de:{translation:Hb},nl:{translation:oS},ru:{translation:TS},tr:{translation:HS}},lng:FS(),fallbackLng:"en",interpolation:{escapeValue:!1}});Je.on("languageChanged",u=>{localStorage.setItem(Im,u),document.documentElement.setAttribute("lang",u)});var Ys={exports:{}},Ui={},Ks={exports:{}},Zs={};/**
269 * @license React
270 * scheduler.production.js
271 *
272 * Copyright (c) Meta Platforms, Inc. and affiliates.
273 *
274 * This source code is licensed under the MIT license found in the
275 * LICENSE file in the root directory of this source tree.
276 */var jm;function YS(){return jm||(jm=1,(function(u){function o(R,P){var Z=R.length;R.push(P);e:for(;0<Z;){var ce=Z-1>>>1,ge=R[ce];if(0<c(ge,P))R[ce]=P,R[Z]=ge,Z=ce;else break e}}function s(R){return R.length===0?null:R[0]}
vendor: 11,327 bytes, lines 276-292
276function r(R){if(R.length===0)return null;var P=R[0],Z=R.pop();if(Z!==P){R[0]=Z;e:for(var ce=0,ge=R.length,S=ge>>>1;ce<S;){var N=2*(ce+1)-1,B=R[N],G=N+1,W=R[G];if(0>c(B,Z))G<ge&&0>c(W,B)?(R[ce]=W,R[G]=Z,ce=G):(R[ce]=B,R[N]=Z,ce=N);else if(G<ge&&0>c(W,Z))R[ce]=W,R[G]=Z,ce=G;else break e}}return P}function c(R,P){var Z=R.sortIndex-P.sortIndex;return Z!==0?Z:R.id-P.id}if(u.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var f=performance;u.unstable_now=function(){return f.now()}}else{var m=Date,h=m.now();u.unstable_now=function(){return m.now()-h}}var v=[],g=[],z=1,y=null,D=3,j=!1,M=!1,L=!1,q=!1,H=typeof setTimeout=="function"?setTimeout:null,$=typeof clearTimeout=="function"?clearTimeout:null,_=typeof setImmediate<"u"?setImmediate:null;function te(R){for(var P=s(g);P!==null;){if(P.callback===null)r(g);else if(P.startTime<=R)r(g),P.sortIndex=P.expirationTime,o(v,P);else break;P=s(g)}}function oe(R){if(L=!1,te(R),!M)if(s(v)!==null)M=!0,ve||(ve=!0,$e());else{var P=s(g);P!==null&&et(oe,P.startTime-R)}}var ve=!1,Q=-1,Te=5,me=-1;function Se(){return q?!0:!(u.unstable_now()-me<Te)}function St(){if(q=!1,ve){var R=u.unstable_now();me=R;var P=!0;try{e:{M=!1,L&&(L=!1,$(Q),Q=-1),j=!0;var Z=D;try{t:{for(te(R),y=s(v);y!==null&&!(y.expirationTime>R&&Se());){var ce=y.callback;if(typeof ce=="function"){y.callback=null,D=y.priorityLevel;var ge=ce(y.expirationTime<=R);if(R=u.unstable_now(),typeof ge=="function"){y.callback=ge,te(R),P=!0;break t}y===s(v)&&r(v),te(R)}else r(v);y=s(v)}if(y!==null)P=!0;else{var S=s(g);S!==null&&et(oe,S.startTime-R),P=!1}}break e}finally{y=null,D=Z,j=!1}P=void 0}}finally{P?$e():ve=!1}}}var $e;if(typeof _=="function")$e=function(){_(St)};else if(typeof MessageChannel<"u"){var Re=new MessageChannel,je=Re.port2;Re.port1.onmessage=St,$e=function(){je.postMessage(null)}}else $e=function(){H(St,0)};function et(R,P){Q=H(function(){R(u.unstable_now())},P)}u.unstable_IdlePriority=5,u.unstable_ImmediatePriority=1,u.unstable_LowPriority=4,u.unstable_NormalPriority=3,u.unstable_Profiling=null,u.unstable_UserBlockingPriority=2,u.unstable_cancelCallback=function(R){R.callback=null},u.unstable_forceFrameRate=function(R){0>R||125<R?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):Te=0<R?Math.floor(1e3/R):5},u.unstable_getCurrentPriorityLevel=function(){return D},u.unstable_next=function(R){switch(D){case 1:case 2:case 3:var P=3;break;default:P=D}var Z=D;D=P;try{return R()}finally{D=Z}},u.unstable_requestPaint=function(){q=!0},u.unstable_runWithPriority=function(R,P){switch(R){case 1:case 2:case 3:case 4:case 5:break;default:R=3}var Z=D;D=R;try{return P()}finally{D=Z}},u.unstable_scheduleCallback=function(R,P,Z){var ce=u.unstable_now();switch(typeof Z=="object"&&Z!==null?(Z=Z.delay,Z=typeof Z=="number"&&0<Z?ce+Z:ce):Z=ce,R){case 1:var ge=-1;break;case 2:ge=250;break;case 5:ge=1073741823;break;case 4:ge=1e4;break;default:ge=5e3}return ge=Z+ge,R={id:z++,callback:P,priorityLevel:R,startTime:Z,expirationTime:ge,sortIndex:-1},Z>ce?(R.sortIndex=Z,o(g,R),s(v)===null&&R===s(g)&&(L?($(Q),Q=-1):L=!0,et(oe,Z-ce))):(R.sortIndex=ge,o(v,R),M||j||(M=!0,ve||(ve=!0,$e()))),R},u.unstable_shouldYield=Se,u.unstable_wrapCallback=function(R){var P=D;return function(){var Z=D;D=P;try{return R.apply(this,arguments)}finally{D=Z}}}})(Zs)),Zs}var Nm;function KS(){return Nm||(Nm=1,Ks.exports=YS()),Ks.exports}var Qs={exports:{}},Xe={};/**
277 * @license React
278 * react-dom.production.js
279 *
280 * Copyright (c) Meta Platforms, Inc. and affiliates.
281 *
282 * This source code is licensed under the MIT license found in the
283 * LICENSE file in the root directory of this source tree.
284 */var Vm;function ZS(){if(Vm)return Xe;Vm=1;var u=nu();function o(v){var g="https://react.dev/errors/"+v;if(1<arguments.length){g+="?args[]="+encodeURIComponent(arguments[1]);for(var z=2;z<arguments.length;z++)g+="&args[]="+encodeURIComponent(arguments[z])}return"Minified React error #"+v+"; visit "+g+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function s(){}var r={d:{f:s,r:function(){throw Error(o(522))},D:s,C:s,L:s,m:s,X:s,S:s,M:s},p:0,findDOMNode:null},c=Symbol.for("react.portal");function f(v,g,z){var y=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:c,key:y==null?null:""+y,children:v,containerInfo:g,implementation:z}}var m=u.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function h(v,g){if(v==="font")return"";if(typeof g=="string")return g==="use-credentials"?g:""}return Xe.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=r,Xe.createPortal=function(v,g){var z=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!g||g.nodeType!==1&&g.nodeType!==9&&g.nodeType!==11)throw Error(o(299));return f(v,g,null,z)},Xe.flushSync=function(v){var g=m.T,z=r.p;try{if(m.T=null,r.p=2,v)return v()}finally{m.T=g,r.p=z,r.d.f()}},Xe.preconnect=function(v,g){typeof v=="string"&&(g?(g=g.crossOrigin,g=typeof g=="string"?g==="use-credentials"?g:"":void 0):g=null,r.d.C(v,g))},Xe.prefetchDNS=function(v){typeof v=="string"&&r.d.D(v)},Xe.preinit=function(v,g){if(typeof v=="string"&&g&&typeof g.as=="string"){var z=g.as,y=h(z,g.crossOrigin),D=typeof g.integrity=="string"?g.integrity:void 0,j=typeof g.fetchPriority=="string"?g.fetchPriority:void 0;z==="style"?r.d.S(v,typeof g.precedence=="string"?g.precedence:void 0,{crossOrigin:y,integrity:D,fetchPriority:j}):z==="script"&&r.d.X(v,{crossOrigin:y,integrity:D,fetchPriority:j,nonce:typeof g.nonce=="string"?g.nonce:void 0})}},Xe.preinitModule=function(v,g){if(typeof v=="string")if(typeof g=="object"&&g!==null){if(g.as==null||g.as==="script"){var z=h(g.as,g.crossOrigin);r.d.M(v,{crossOrigin:z,integrity:typeof g.integrity=="string"?g.integrity:void 0,nonce:typeof g.nonce=="string"?g.nonce:void 0})}}else g==null&&r.d.M(v)},Xe.preload=function(v,g){if(typeof v=="string"&&typeof g=="object"&&g!==null&&typeof g.as=="string"){var z=g.as,y=h(z,g.crossOrigin);r.d.L(v,z,{crossOrigin:y,integrity:typeof g.integrity=="string"?g.integrity:void 0,nonce:typeof g.nonce=="string"?g.nonce:void 0,type:typeof g.type=="string"?g.type:void 0,fetchPriority:typeof g.fetchPriority=="string"?g.fetchPriority:void 0,referrerPolicy:typeof g.referrerPolicy=="string"?g.referrerPolicy:void 0,imageSrcSet:typeof g.imageSrcSet=="string"?g.imageSrcSet:void 0,imageSizes:typeof g.imageSizes=="string"?g.imageSizes:void 0,media:typeof g.media=="string"?g.media:void 0})}},Xe.preloadModule=function(v,g){if(typeof v=="string")if(g){var z=h(g.as,g.crossOrigin);r.d.m(v,{as:typeof g.as=="string"&&g.as!=="script"?g.as:void 0,crossOrigin:z,integrity:typeof g.integrity=="string"?g.integrity:void 0})}else r.d.m(v)},Xe.requestFormReset=function(v){r.d.r(v)},Xe.unstable_batchedUpdates=function(v,g){return v(g)},Xe.useFormState=function(v,g,z){return m.H.useFormState(v,g,z)},Xe.useFormStatus=function(){return m.H.useHostTransitionStatus()},Xe.version="19.2.3",Xe}var Um;function QS(){if(Um)return Qs.exports;Um=1;function u(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(u)}catch(o){console.error(o)}}return u(),Qs.exports=ZS(),Qs.exports}/**
285 * @license React
286 * react-dom-client.production.js
287 *
288 * Copyright (c) Meta Platforms, Inc. and affiliates.
289 *
290 * This source code is licensed under the MIT license found in the
291 * LICENSE file in the root directory of this source tree.
292 */var Pm;function $S(){if(Pm)return Ui;Pm=1;var u=KS(),o=nu(),s=QS();function r(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var a=2;a<arguments.length;a++)t+="&args[]="+encodeURIComponent(arguments[a])}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 c(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function f(e){var t=e,a=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(a=t.return),e=t.return;while(e)}return t.tag===3?a:null}function m(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 h(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 v(e){if(f(e)!==e)throw Error(r(188))}function g(e){var t=e.alternate;if(!t){if(t=f(e),t===null)throw Error(r(188));return t!==e?null:e}for(var a=e,n=t;;){var i=a.return;if(i===null)break;var l=i.alternate;if(l===null){if(n=i.return,n!==null){a=n;continue}break}if(i.child===l.child){for(l=i.child;l;){if(l===a)return v(i),e;if(l===n)return v(i),t;l=l.sibling}throw Error(r(188))}if(a.return!==n.return)a=i,n=l;else{for(var d=!1,p=i.child;p;){if(p===a){d=!0,a=i,n=l;break}if(p===n){d=!0,n=i,a=l;break}p=p.sibling}if(!d){for(p=l.child;p;){if(p===a){d=!0,a=l,n=i;break}if(p===n){d=!0,n=l,a=i;break}p=p.sibling}if(!d)throw Error(r(189))}}if(a.alternate!==n)throw Error(r(190))}if(a.tag!==3)throw Error(r(188));return a.stateNode.current===a?e:t}function z(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=z(e),t!==null)return t;e=e.sibling}return null}var y=Object.assign,D=Symbol.for("react.element"),j=Symbol.for("react.transitional.element"),M=Symbol.for("react.portal"),L=Symbol.for("react.fragment"),q=Symbol.for("react.strict_mode"),H=Symbol.for("react.profiler"),$=Symbol.for("react.consumer"),_=Symbol.for("react.context"),te=Symbol.for("react.forward_ref"),oe=Symbol.for("react.suspense"),ve=Symbol.for("react.suspense_list"),Q=Symbol.for("react.memo"),Te=Symbol.for("react.lazy"),me=Symbol.for("react.activity"),Se=Symbol.for("react.memo_cache_sentinel"),St=Symbol.iterator;function $e(e){return e===null||typeof e!="object"?null:(e=St&&e[St]||e["@@iterator"],typeof e=="function"?e:null)}var Re=Symbol.for("react.client.reference");function je(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===Re?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case L:return"Fragment";case H:return"Profiler";case q:return"StrictMode";case oe:return"Suspense";case ve:return"SuspenseList";case me:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case M:return"Portal";case _:return e.displayName||"Context";case $:return(e._context.displayName||"Context")+".Consumer";case te:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Q:return t=e.displayName||null,t!==null?t:je(e.type)||"Memo";case Te:t=e._payload,e=e._init;try{return je(e(t))}catch{}}return null}var et=Array.isArray,R=o.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,P=s.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Z={pending:!1,data:null,method:null,action:null},ce=[],ge=-1;function S(e){return{current:e}}function N(e){0>ge||(e.current=ce[ge],ce[ge]=null,ge--)}function B(e,t){ge++,ce[ge]=e.current,e.current=t}var G=S(null),W=S(null),ne=S(null),he=S(null);function We(e,t){switch(B(ne,t),B(W,e),B(G,null),t.nodeType){case 9:case 11:e=(e
vendor: 10,377 bytes, lines 292-299
292=t.documentElement)&&(e=e.namespaceURI)?Pf(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Pf(t),e=Lf(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}N(G),B(G,e)}function Ne(){N(G),N(W),N(ne)}function _n(e){e.memoizedState!==null&&B(he,e);var t=G.current,a=Lf(t,e.type);t!==a&&(B(W,e),B(G,a))}function Yi(e){W.current===e&&(N(G),N(W)),he.current===e&&(N(he),Ri._currentValue=Z)}var zo,fu;function Oa(e){if(zo===void 0)try{throw Error()}catch(a){var t=a.stack.trim().match(/\n( *(at )?)/);zo=t&&t[1]||"",fu=-1<a.stack.indexOf(`
293    at`)?" (<anonymous>)":-1<a.stack.indexOf("@")?"@unknown:0:0":""}return`
294`+zo+e+fu}var Ao=!1;function Co(e,t){if(!e||Ao)return"";Ao=!0;var a=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var n={DetermineComponentFrameRoot:function(){try{if(t){var U=function(){throw Error()};if(Object.defineProperty(U.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(U,[])}catch(k){var w=k}Reflect.construct(e,[],U)}else{try{U.call()}catch(k){w=k}e.call(U.prototype)}}else{try{throw Error()}catch(k){w=k}(U=e())&&typeof U.catch=="function"&&U.catch(function(){})}}catch(k){if(k&&w&&typeof k.stack=="string")return[k.stack,w.stack]}return[null,null]}};n.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var i=Object.getOwnPropertyDescriptor(n.DetermineComponentFrameRoot,"name");i&&i.configurable&&Object.defineProperty(n.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var l=n.DetermineComponentFrameRoot(),d=l[0],p=l[1];if(d&&p){var b=d.split(`
295`),E=p.split(`
296`);for(i=n=0;n<b.length&&!b[n].includes("DetermineComponentFrameRoot");)n++;for(;i<E.length&&!E[i].includes("DetermineComponentFrameRoot");)i++;if(n===b.length||i===E.length)for(n=b.length-1,i=E.length-1;1<=n&&0<=i&&b[n]!==E[i];)i--;for(;1<=n&&0<=i;n--,i--)if(b[n]!==E[i]){if(n!==1||i!==1)do if(n--,i--,0>i||b[n]!==E[i]){var x=`
297`+b[n].replace(" at new "," at ");return e.displayName&&x.includes("<anonymous>")&&(x=x.replace("<anonymous>",e.displayName)),x}while(1<=n&&0<=i);break}}}finally{Ao=!1,Error.prepareStackTrace=a}return(a=e?e.displayName||e.name:"")?Oa(a):""}function Sp(e,t){switch(e.tag){case 26:case 27:case 5:return Oa(e.type);case 16:return Oa("Lazy");case 13:return e.child!==t&&t!==null?Oa("Suspense Fallback"):Oa("Suspense");case 19:return Oa("SuspenseList");case 0:case 15:return Co(e.type,!1);case 11:return Co(e.type.render,!1);case 1:return Co(e.type,!0);case 31:return Oa("Activity");default:return""}}function mu(e){try{var t="",a=null;do t+=Sp(e,a),a=e,e=e.return;while(e);return t}catch(n){return`
298Error generating stack: `+n.message+`
299`+n.stack}}var To=Object.prototype.hasOwnProperty,Eo=u.unstable_scheduleCallback,wo=u.unstable_cancelCallback,zp=u.unstable_shouldYield,Ap=u.unstable_requestPaint,st=u.unstable_now,Cp=u.unstable_getCurrentPriorityLevel,pu=u.unstable_ImmediatePriority,gu=u.unstable_UserBlockingPriority,Ki=u.unstable_NormalPriority,Tp=u.unstable_LowPriority,hu=u.unstable_IdlePriority,Ep=u.log,wp=u.unstable_setDisableYieldValue,Hn=null,ut=null;function ra(e){if(typeof Ep=="function"&&wp(e),ut&&typeof ut.setStrictMode=="function")try{ut.setStrictMode(Hn,e)}catch{}}var ct=Math.clz32?Math.clz32:Dp,kp=Math.log,Mp=Math.LN2;function Dp(e){return e>>>=0,e===0?32:31-(kp(e)/Mp|0)|0}var Zi=256,Qi=262144,$i=4194304;function ja(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 Xi(e,t,a){var n=e.pendingLanes;if(n===0)return 0;var i=0,l=e.suspendedLanes,d=e.pingedLanes;e=e.warmLanes;var p=n&134217727;return p!==0?(n=p&~l,n!==0?i=ja(n):(d&=p,d!==0?i=ja(d):a||(a=p&~e,a!==0&&(i=ja(a))))):(p=n&~l,p!==0?i=ja(p):d!==0?i=ja(d):a||(a=n&~e,a!==0&&(i=ja(a)))),i===0?0:t!==0&&t!==i&&(t&l)===0&&(l=i&-i,a=t&-t,l>=a||l===32&&(a&4194048)!==0)?t:i}function Gn(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Rp(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 vu(){var e=$i;return $i<<=1,($i&62914560)===0&&($i=4194304),e}function ko(e){for(var t=[],a=0;31>a;a++)t.push(e);return t}function Fn(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function xp(e,t,a,n,i,l){var d=e.pendingLanes;e.pendingLanes=a,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=a,e.entangledLanes&=a,e.errorRecoveryDisabledLanes&=a,e.shellSuspendCounter=0;var p=e.entanglements,b=e.expirationTimes,E=e.hiddenUpdates;for(a=d&~a;0<a;){var x=31-ct(a),U=1<<x;p[x]=0,b[x]=-1;var w=E[x];if(w!==null)for(E[x]=null,x=0;x<w.length;x++){var k=w[x];k!==null&&(k.lane&=-536870913)}a&=~U}n!==0&&yu(e,n,0),l!==0&&i===0&&e.tag!==0&&(e.suspendedLanes|=l&~(d&~t))}function yu(e,t,a){e.pendingLanes|=t,e.suspendedLanes&=~t;var n=31-ct(t);e.entangledLanes|=t,e.entanglements[n]=e.entanglements[n]|1073741824|a&261930}function bu(e,t){var a=e.entangledLanes|=t;for(e=e.entanglements;a;){var n=31-ct(a),i=1<<n;i&t|e[n]&t&&(e[n]|=t),a&=~i}}function Su(e,t){var a=t&-t;return a=(a&42)!==0?1:Mo(a),(a&(e.suspendedLanes|t))!==0?0:a}function Mo(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 Do(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function zu(){var e=P.p;return e!==0?e:(e=window.event,e===void 0?32:rm(e.type))}function Au(e,t){var a=P.p;try{return P.p=e,t()}finally{P.p=a}}var sa=Math.random().toString(36).slice(2),Fe="__reactFiber$"+sa,tt="__reactProps$"+sa,Ia="__reactContainer$"+sa,Ro="__reactEvents$"+sa,Op="__reactListeners$"+sa,jp="__reactHandles$"+sa,Cu="__reactResources$"+sa,Yn="__reactMarker$"+sa;function xo(e){delete e[Fe],delete e[tt],delete e[Ro],delete e[Op],delete e[jp]}function en(e){var t=e[Fe];if(t)return t;for(var a=e.parentNode;a;){if(t=a[Ia]||a[Fe]){if(a=t.alternate,t.child!==null||a!==null&&a.child!==null)for(e=Yf(e);e!==null;){if(a=e[Fe])return a;e=Yf(e)}return t}e=a,a=e.parentNode}return null}function tn(e){if(e=e[Fe]||e[Ia]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function Kn(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(r(33))}function an(e){var t=e[Cu];return t||(t=e[Cu]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function He(e){e[Yn]=!0}var Tu=new Set,Eu={};function Na(e,t){nn(e,t),nn(e+"Capture",t)}function nn(e,t){for(Eu[e]=t,e=0;e<t.length;e++)Tu.add(t[e])}var Np=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]*$"),wu={},ku={};function Vp(e){return To.call(ku,e)?!0:To.call(wu,e)?!1:Np.test(e)?ku[e]=!0:(wu[e]=!0,!1)}function Ji(e,t,a){if(Vp(t))if(a===null)e.removeAttribute(t);else{switch(typeof a){case"undefined":case"function":case"symbol":e.removeAttribute(t);return;case"boolean":var n=t.toLowerCase().slice(0,5);if(n!=="data-"&&n!=="aria-"){e.removeAttribute(t);return}}e.setAttribute(t,""+a)}}function Wi(e,t,a){if(a===null)e.removeAttribute(t);else{switch(typeof a){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(t);return}e.setAttribute(t,""+a)}}function qt(e,t,a,n){if(n===null)e.removeAttribute(a);else{switch(typeof n){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(a);return}e.setAttributeNS(t,a,""+n)}}function zt(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Mu(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Up(e,t,a){var n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,l=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(d){a=""+d,l.call(this,d)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return a},setValue:function(d){a=""+d},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Oo(e){if(!e._valueTracker){var t=Mu(e)?"checked":"value";e._valueTracker=Up(e,t,""+e[t])}}function Du(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var a=t.getValue(),n="";return e&&(n=Mu(e)?e.checked?"true":"false":e.value),e=n,e!==a?(t.setValue(e),!0):!1}function Ii(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 Pp=/[\n"\\]/g;function At(e){return e.replace(Pp,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function jo(e,t,a,n,i,l,d,p){e.name="",d!=null&&typeof d!="function"&&typeof d!="symbol"&&typeof d!="boolean"?e.type=d:e.removeAttribute("type"),t!=null?d==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+zt(t)):e.value!==""+zt(t)&&(e.value=""+zt(t)):d!=="submit"&&d!=="reset"||e.removeAttribute("value"),t!=null?No(e,d,zt(t)):a!=null?No(e,d,zt(a
vendor: 4,122 bytes, line 299
299)):n!=null&&e.removeAttribute("value"),i==null&&l!=null&&(e.defaultChecked=!!l),i!=null&&(e.checked=i&&typeof i!="function"&&typeof i!="symbol"),p!=null&&typeof p!="function"&&typeof p!="symbol"&&typeof p!="boolean"?e.name=""+zt(p):e.removeAttribute("name")}function Ru(e,t,a,n,i,l,d,p){if(l!=null&&typeof l!="function"&&typeof l!="symbol"&&typeof l!="boolean"&&(e.type=l),t!=null||a!=null){if(!(l!=="submit"&&l!=="reset"||t!=null)){Oo(e);return}a=a!=null?""+zt(a):"",t=t!=null?""+zt(t):a,p||t===e.value||(e.value=t),e.defaultValue=t}n=n??i,n=typeof n!="function"&&typeof n!="symbol"&&!!n,e.checked=p?e.checked:!!n,e.defaultChecked=!!n,d!=null&&typeof d!="function"&&typeof d!="symbol"&&typeof d!="boolean"&&(e.name=d),Oo(e)}function No(e,t,a){t==="number"&&Ii(e.ownerDocument)===e||e.defaultValue===""+a||(e.defaultValue=""+a)}function ln(e,t,a,n){if(e=e.options,t){t={};for(var i=0;i<a.length;i++)t["$"+a[i]]=!0;for(a=0;a<e.length;a++)i=t.hasOwnProperty("$"+e[a].value),e[a].selected!==i&&(e[a].selected=i),i&&n&&(e[a].defaultSelected=!0)}else{for(a=""+zt(a),t=null,i=0;i<e.length;i++){if(e[i].value===a){e[i].selected=!0,n&&(e[i].defaultSelected=!0);return}t!==null||e[i].disabled||(t=e[i])}t!==null&&(t.selected=!0)}}function xu(e,t,a){if(t!=null&&(t=""+zt(t),t!==e.value&&(e.value=t),a==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=a!=null?""+zt(a):""}function Ou(e,t,a,n){if(t==null){if(n!=null){if(a!=null)throw Error(r(92));if(et(n)){if(1<n.length)throw Error(r(93));n=n[0]}a=n}a==null&&(a=""),t=a}a=zt(t),e.defaultValue=a,n=e.textContent,n===a&&n!==""&&n!==null&&(e.value=n),Oo(e)}function on(e,t){if(t){var a=e.firstChild;if(a&&a===e.lastChild&&a.nodeType===3){a.nodeValue=t;return}}e.textContent=t}var Lp=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 ju(e,t,a){var n=t.indexOf("--")===0;a==null||typeof a=="boolean"||a===""?n?e.setProperty(t,""):t==="float"?e.cssFloat="":e[t]="":n?e.setProperty(t,a):typeof a!="number"||a===0||Lp.has(t)?t==="float"?e.cssFloat=a:e[t]=(""+a).trim():e[t]=a+"px"}function Nu(e,t,a){if(t!=null&&typeof t!="object")throw Error(r(62));if(e=e.style,a!=null){for(var n in a)!a.hasOwnProperty(n)||t!=null&&t.hasOwnProperty(n)||(n.indexOf("--")===0?e.setProperty(n,""):n==="float"?e.cssFloat="":e[n]="");for(var i in t)n=t[i],t.hasOwnProperty(i)&&a[i]!==n&&ju(e,i,n)}else for(var l in t)t.hasOwnProperty(l)&&ju(e,l,t[l])}function Vo(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 Bp=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"],["enableBackgroun
299d","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"]]),qp=/^[\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 el(e){return qp.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function _t(){}var Uo=null;function Po(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var rn=null,sn=null;function Vu(e){var t=tn(e);if(t&&(e=t.stateNode)){var a=e[tt]||null;e:switch(e=t.stateNode,t.type){case"input":if(jo(e,a.value,a.defaultValue,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name),t=a.name,a.type==="radio"&&t!=null){for(a=e;a.parentNode;)a=a.parentNode;for(a=a.querySelectorAll('input[name="'+At(""+t)+'"][type="radio"]'),t=0;t<a.length;t++){var n=a[t];if(n!==e&&n.form===e.form){var i=n[tt]||null;if(!i)throw Error(r(90));jo(n,i.value,i.defaultValue,i.defaultValue,i.checked,i.defaultChecked,i.type,i.name)}}for(t=0;t<a.length;t++)n=a[t],n.form===e.form&&Du(n)}break e;case"textarea":xu(e,a.value,a.defaultValue);break e;case"select":t=a.value,t!=null&&ln(e,!!a.multiple,t,!1)}}}var Lo=!1;function Uu(e,t,a){if(Lo)return e(t,a);Lo=!0;try{var n=e(t);return n}finally{if(Lo=!1,(rn!==null||sn!==null)&&(_l(),rn&&(t=rn,e=sn,sn=rn=null,Vu(t),e)))for(t=0;t<e.length;t++)Vu(e[t])}}function Zn(e,t){var a=e.stateNode;if(a===null)return null;var n=a[tt]||null;if(n===null)return null;a=n[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":(n=!n.disabled)||(e=e.type,n=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!n;break e;default:e=!1}if(e)return null;if(a&&typeof a!="function")throw Error(r(231,t,typeof a));return a}var Ht=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Bo=!1;if(Ht)try{var Qn={};Object.defineProperty(Qn,"passive",{get:function(){Bo=!0}}),window.addEventListener("test",Qn,Qn),window.removeEventListener("test",Qn,Qn)}catch{Bo=!1}var ua=null,qo=null,tl=null;function Pu(){if(tl)return tl;var e,t=qo,a=t.length,n,i="value"in ua?ua.value:ua.textContent,l=i.length;for(e=0;e<a&&t[e]===i[e];e++);var d=a-e;for(n=1;n<=d&&t[a-n]===i[l-n];n++);return tl=i.slice(e,1<n?1-n:void 0)}function al(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 nl(){return!0}function Lu(){return!1}function at(e){function t(a,n,i,l,d){this._reactName=a,this._targetInst=i,this.type=n,this.nativeEvent=l,this.target=d,this.currentTarget=null;for(var p in e)e.hasOwnProperty(p)&&(a=e[p],this[p]=a?a(l):l[p]);return this.isDefaultPrevented=(l.defaultPrevented!=null?l.defaultPrevented:l.returnValue===!1)?nl:Lu,this.isPropagationStopped=Lu,this}return y(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():typeof a.returnValue!="unknown"&&(a.returnValue=!1),this.isDefaultPrevented=nl)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():typeof a.cancelBubble!="unknown"&&(a.cancelBubble=!0),this.isPropagationStopped=nl)},persist:function(){},isPersistent:nl}),t}var Va={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},il=at(Va),$n=y({},Va,{view:0,detail:0}),_p=at($n),_o,Ho,Xn,ll=y({},$n,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Fo,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!==Xn&&(Xn&&e.type==="mousemove"?(_o=e.screenX-Xn.screenX,Ho=e.screenY-Xn.screenY):Ho=_o=0,Xn=e),_o)},movementY:function(e){return"movementY"in e?e.movementY:Ho}}),Bu=at(ll),Hp=y({},ll,{dataTransfer:0}),Gp=at(Hp),Fp=y({},$n,{relatedTarget:0}),Go=at(Fp),Yp=y({},Va,{animationName:0,elapsedTime:0,pseudoElement:0}),Kp=at(Yp),Zp=y({},Va,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),Qp=at(Zp),$p=y({},Va,{data:0}),qu=at($p),Xp={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Jp={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"},Wp={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Ip(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=Wp[e])?!!t[e]:!1}function Fo(){return Ip}var eg=y({},$n,{key:function(e){if(e.key){var t=Xp[e.key]||e.key;if(t!=="Unidentified")return t}
vendor: 7,593 bytes, line 299
299return e.type==="keypress"?(e=al(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?Jp[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Fo,charCode:function(e){return e.type==="keypress"?al(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?al(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),tg=at(eg),ag=y({},ll,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),_u=at(ag),ng=y({},$n,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Fo}),ig=at(ng),lg=y({},Va,{propertyName:0,elapsedTime:0,pseudoElement:0}),og=at(lg),rg=y({},ll,{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}),sg=at(rg),ug=y({},Va,{newState:0,oldState:0}),cg=at(ug),dg=[9,13,27,32],Yo=Ht&&"CompositionEvent"in window,Jn=null;Ht&&"documentMode"in document&&(Jn=document.documentMode);var fg=Ht&&"TextEvent"in window&&!Jn,Hu=Ht&&(!Yo||Jn&&8<Jn&&11>=Jn),Gu=" ",Fu=!1;function Yu(e,t){switch(e){case"keyup":return dg.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ku(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var un=!1;function mg(e,t){switch(e){case"compositionend":return Ku(t);case"keypress":return t.which!==32?null:(Fu=!0,Gu);case"textInput":return e=t.data,e===Gu&&Fu?null:e;default:return null}}function pg(e,t){if(un)return e==="compositionend"||!Yo&&Yu(e,t)?(e=Pu(),tl=qo=ua=null,un=!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 Hu&&t.locale!=="ko"?null:t.data;default:return null}}var gg={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 Zu(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!gg[e.type]:t==="textarea"}function Qu(e,t,a,n){rn?sn?sn.push(n):sn=[n]:rn=n,t=Ql(t,"onChange"),0<t.length&&(a=new il("onChange","change",null,a,n),e.push({event:a,listeners:t}))}var Wn=null,In=null;function hg(e){xf(e,0)}function ol(e){var t=Kn(e);if(Du(t))return e}function $u(e,t){if(e==="change")return t}var Xu=!1;if(Ht){var Ko;if(Ht){var Zo="oninput"in document;if(!Zo){var Ju=document.createElement("div");Ju.setAttribute("oninput","return;"),Zo=typeof Ju.oninput=="function"}Ko=Zo}else Ko=!1;Xu=Ko&&(!document.documentMode||9<document.documentMode)}function Wu(){Wn&&(Wn.detachEvent("onpropertychange",Iu),In=Wn=null)}function Iu(e){if(e.propertyName==="value"&&ol(In)){var t=[];Qu(t,In,e,Po(e)),Uu(hg,t)}}function vg(e,t,a){e==="focusin"?(Wu(),Wn=t,In=a,Wn.attachEvent("onpropertychange",Iu)):e==="focusout"&&Wu()}function yg(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return ol(In)}function bg(e,t){if(e==="click")return ol(t)}function Sg(e,t){if(e==="input"||e==="change")return ol(t)}function zg(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var dt=typeof Object.is=="function"?Object.is:zg;function ei(e,t){if(dt(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var a=Object.keys(e),n=Object.keys(t);if(a.length!==n.length)return!1;for(n=0;n<a.length;n++){var i=a[n];if(!To.call(t,i)||!dt(e[i],t[i]))return!1}return!0}function ec(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function tc(e,t){var a=ec(e);e=0;for(var n;a;){if(a.nodeType===3){if(n=e+a.textContent.length,e<=t&&n>=t)return{node:a,offset:t-e};e=n}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=ec(a)}}function ac(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?ac(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function nc(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Ii(e.document);t instanceof e.HTMLIFrameElement;){try{var a=typeof t.contentWindow.location.href=="string"}catch{a=!1}if(a)e=t.contentWindow;else break;t=Ii(e.document)}return t}function Qo(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 Ag=Ht&&"documentMode"in document&&11>=document.documentMode,cn=null,$o=null,ti=null,Xo=!1;function ic(e,t,a){var n=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;Xo||cn==null||cn!==Ii(n)||(n=cn,"selectionStart"in n&&Qo(n)?n={start:n.selectionStart,end:n.selectionEnd}:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection(),n={anchorNode:n.anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}),ti&&ei(ti,n)||(ti=n,n=Ql($o,"onSelect"),0<n.length&&(t=new il("onSelect","select",null,t,a),e.push({event:t,listeners:n}),t.target=cn)))}function Ua(e,t){var a={};return a[e.toLowerCase()]=t.toLowerCase(),a["Webkit"+e]="webkit"+t,a["Moz"+e]="moz"+t,a}var dn={animationend:Ua("Animation","AnimationEnd"),animationiteration:Ua("Animation","AnimationIteration"),animationstart:Ua("Animation","AnimationStart"),transitionrun:Ua("Transition","TransitionRun"),transitionstart:Ua("Transition","TransitionStart"),transitioncancel:Ua("Transition","TransitionCancel"),transitionend:Ua("Transition","TransitionEnd")},Jo={},lc={};Ht&&(lc=document.createElement("div").style,"AnimationEvent"in window||(delete dn.animationend.animation,delete dn.animationiteration.animation,delete dn.animationstart.animation),"TransitionEvent"in window||delete dn.transitionend.transition);function Pa(e){if(Jo[e])return Jo[e];if(!dn[e])return e;var t=dn[e],a;for(a in t)if(t.hasOwnProperty(a)&&a in lc)return Jo[e]=t[a];return e}var oc=Pa("animationend"),rc=Pa("animationiteration"),sc=Pa("animationstart"),Cg=Pa("transitionrun"),Tg=Pa("transitionstart"),Eg=Pa("transitioncancel"),uc=Pa("transitionend"),cc=new Map,Wo="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(" ");Wo.push("scrollEnd");function xt(e,t){cc.set(e,t),Na(t,[e])}var rl=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)},Ct=[],fn=0,Io=0;
vendor: 19,668 bytes, line 299
299function sl(){for(var e=fn,t=Io=fn=0;t<e;){var a=Ct[t];Ct[t++]=null;var n=Ct[t];Ct[t++]=null;var i=Ct[t];Ct[t++]=null;var l=Ct[t];if(Ct[t++]=null,n!==null&&i!==null){var d=n.pending;d===null?i.next=i:(i.next=d.next,d.next=i),n.pending=i}l!==0&&dc(a,i,l)}}function ul(e,t,a,n){Ct[fn++]=e,Ct[fn++]=t,Ct[fn++]=a,Ct[fn++]=n,Io|=n,e.lanes|=n,e=e.alternate,e!==null&&(e.lanes|=n)}function er(e,t,a,n){return ul(e,t,a,n),cl(e)}function La(e,t){return ul(e,null,null,t),cl(e)}function dc(e,t,a){e.lanes|=a;var n=e.alternate;n!==null&&(n.lanes|=a);for(var i=!1,l=e.return;l!==null;)l.childLanes|=a,n=l.alternate,n!==null&&(n.childLanes|=a),l.tag===22&&(e=l.stateNode,e===null||e._visibility&1||(i=!0)),e=l,l=l.return;return e.tag===3?(l=e.stateNode,i&&t!==null&&(i=31-ct(a),e=l.hiddenUpdates,n=e[i],n===null?e[i]=[t]:n.push(t),t.lane=a|536870912),l):null}function cl(e){if(50<Ci)throw Ci=0,us=null,Error(r(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var mn={};function wg(e,t,a,n){this.tag=e,this.key=a,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=n,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function ft(e,t,a,n){return new wg(e,t,a,n)}function tr(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Gt(e,t){var a=e.alternate;return a===null?(a=ft(e.tag,t,e.key,e.mode),a.elementType=e.elementType,a.type=e.type,a.stateNode=e.stateNode,a.alternate=e,e.alternate=a):(a.pendingProps=t,a.type=e.type,a.flags=0,a.subtreeFlags=0,a.deletions=null),a.flags=e.flags&65011712,a.childLanes=e.childLanes,a.lanes=e.lanes,a.child=e.child,a.memoizedProps=e.memoizedProps,a.memoizedState=e.memoizedState,a.updateQueue=e.updateQueue,t=e.dependencies,a.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},a.sibling=e.sibling,a.index=e.index,a.ref=e.ref,a.refCleanup=e.refCleanup,a}function fc(e,t){e.flags&=65011714;var a=e.alternate;return a===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=a.childLanes,e.lanes=a.lanes,e.child=a.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=a.memoizedProps,e.memoizedState=a.memoizedState,e.updateQueue=a.updateQueue,e.type=a.type,t=a.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function dl(e,t,a,n,i,l){var d=0;if(n=e,typeof e=="function")tr(e)&&(d=1);else if(typeof e=="string")d=xh(e,a,G.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case me:return e=ft(31,a,t,i),e.elementType=me,e.lanes=l,e;case L:return Ba(a.children,i,l,t);case q:d=8,i|=24;break;case H:return e=ft(12,a,t,i|2),e.elementType=H,e.lanes=l,e;case oe:return e=ft(13,a,t,i),e.elementType=oe,e.lanes=l,e;case ve:return e=ft(19,a,t,i),e.elementType=ve,e.lanes=l,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case _:d=10;break e;case $:d=9;break e;case te:d=11;break e;case Q:d=14;break e;case Te:d=16,n=null;break e}d=29,a=Error(r(130,e===null?"null":typeof e,"")),n=null}return t=ft(d,a,t,i),t.elementType=e,t.type=n,t.lanes=l,t}function Ba(e,t,a,n){return e=ft(7,e,n,t),e.lanes=a,e}function ar(e,t,a){return e=ft(6,e,null,t),e.lanes=a,e}function mc(e){var t=ft(18,null,null,0);return t.stateNode=e,t}function nr(e,t,a){return t=ft(4,e.children!==null?e.children:[],e.key,t),t.lanes=a,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var pc=new WeakMap;function Tt(e,t){if(typeof e=="object"&&e!==null){var a=pc.get(e);return a!==void 0?a:(t={value:e,source:t,stack:mu(t)},pc.set(e,t),t)}return{value:e,source:t,stack:mu(t)}}var pn=[],gn=0,fl=null,ai=0,Et=[],wt=0,ca=null,Vt=1,Ut="";function Ft(e,t){pn[gn++]=ai,pn[gn++]=fl,fl=e,ai=t}function gc(e,t,a){Et[wt++]=Vt,Et[wt++]=Ut,Et[wt++]=ca,ca=e;var n=Vt;e=Ut;var i=32-ct(n)-1;n&=~(1<<i),a+=1;var l=32-ct(t)+i;if(30<l){var d=i-i%5;l=(n&(1<<d)-1).toString(32),n>>=d,i-=d,Vt=1<<32-ct(t)+i|a<<i|n,Ut=l+e}else Vt=1<<l|a<<i|n,Ut=e}function ir(e){e.return!==null&&(Ft(e,1),gc(e,1,0))}function lr(e){for(;e===fl;)fl=pn[--gn],pn[gn]=null,ai=pn[--gn],pn[gn]=null;for(;e===ca;)ca=Et[--wt],Et[wt]=null,Ut=Et[--wt],Et[wt]=null,Vt=Et[--wt],Et[wt]=null}function hc(e,t){Et[wt++]=Vt,Et[wt++]=Ut,Et[wt++]=ca,Vt=t.id,Ut=t.overflow,ca=e}var Ye=null,we=null,ue=!1,da=null,kt=!1,or=Error(r(519));function fa(e){var t=Error(r(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw ni(Tt(t,e)),or}function vc(e){var t=e.stateNode,a=e.type,n=e.memoizedProps;switch(t[Fe]=e,t[tt]=n,a){case"dialog":le("cancel",t),le("close",t);break;case"iframe":case"object":case"embed":le("load",t);break;case"video":case"audio":for(a=0;a<Ei.length;a++)le(Ei[a],t);break;case"source":le("error",t);break;case"img":case"image":case"link":le("error",t),le("load",t);break;case"details":le("toggle",t);break;case"input":le("invalid",t),Ru(t,n.value,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name,!0);break;case"select":le("invalid",t);break;case"textarea":le("invalid",t),Ou(t,n.value,n.defaultValue,n.children)}a=n.children,typeof a!="string"&&typeof a!="number"&&typeof a!="bigint"||t.textContent===""+a||n.suppressHydrationWarning===!0||Vf(t.textContent,a)?(n.popover!=null&&(le("beforetoggle",t),le("toggle",t)),n.onScroll!=null&&le("scroll",t),n.onScrollEnd!=null&&le("scrollend",t),n.onClick!=null&&(t.onclick=_t),t=!0):t=!1,t||fa(e,!0)}function yc(e){for(Ye=e.return;Ye;)switch(Ye.tag){case 5:case 31:case 13:kt=!1;return;case 27:case 3:kt=!0;return;default:Ye=Ye.return}}function hn(e){if(e!==Ye)return!1;if(!ue)return yc(e),ue=!0,!1;var t=e.tag,a;if((a=t!==3&&t!==27)&&((a=t===5)&&(a=e.type,a=!(a!=="form"&&a!=="button")||Ts(e.type,e.memoizedProps)),a=!a),a&&we&&fa(e),yc(e),t===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(r(317));we=Ff(e)}else if(t===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(r(317));we=Ff(e)}else t===27?(t=we,wa(e.type)?(e=Ds,Ds=null,we=e):we=t):we=Ye?Dt(e.stateNode.nextSibling):null;return!0}function qa(){we=Ye=null,ue=!1}function rr(){var e=da;return e!==null&&(ot===null?ot=e:ot.push.apply(ot,e),da=null),e}function ni(e){da===null?da=[e]:da.push(e)}var sr=S(null),_a=null,Yt=null;function ma(e,t,a){B(sr,t._currentValue),t._currentValue=a}function Kt(e){e._currentValue=sr.current,N(sr)}function ur(e,t,a){for(;e!==null;){var n=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,n!==null&&(n.childLanes|=t)):n!==null&&(n.childLanes&t)!==t&&(n.childLanes|=t),e===a)break;e=e.return}}function cr(e,t,a,n){var i=e.child;for(i!==null&&(i.return=e);i!==null;){var l=i.dependencies;if(l!==null){var d=i.child;l=l.firstContext;e:for(;l!==null;){var p=l;l=i;for(var b=0;b<t.length;b++)if(p.context===t[b]){l.lanes|=a,p=l.alternate,p!==null&&(p.lanes|=a),ur(l.return,a,e),n||(d=null);break e}l=p.next}}else if(i.tag===18){if(d=i.return,d===null)throw Error(r(341));d.lanes|=a,l=d.alternate,l!==null&&(l.lanes|=a),ur(d,a,e),d=null}else d=i.child;if(d!==null)d.return=i;else for(d=i;d!==null;){if(d===e){d=null;break}if(i=d.sibling,i!==null){i.return=d.return,d=i;break}d=d.return}i=d}}function vn(e,t,a,n){e=null;for(var i=t,l=!1;i!==null;){if(!l){if((i.flags&524288)!==0)l=!0;else if((i.flags&262144)!==0)break}if(i.tag===10){var d=i.alternate;if(d===null)throw Error(r(387));if(d=d.memoizedProps,d!==null){var p=i.type;dt(i.pendingProps.value,d.value)||(e!==null?e.push(p):e=[p])}}else if(i===he.current){if(d=i.alternate,d===null)throw Error(r(387));d.memoizedState.memoizedState!==i.memoizedState.memoizedState&&(e!==null?e.push(Ri):e=[Ri])}i=i.return}e!==null&&cr(t,e,a,n),t.flags|=262144}function ml(e){for(e=e.firstContext;e!==null;){if(!dt(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function Ha(e){_a=e,Yt=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function Ke(e){return bc(_a,e)}function pl(e,t){return _a===null&&Ha(e),bc(e,t)}function bc(e,t){var a=t._currentValue;if(t={context:t,memoizedValue:a,next:null},Yt===null){if(e===null)throw Error(r(308));Yt=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else Yt=Yt.next=t;return a}var kg=typeof AbortController<"u"?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(a,n){e.push(n)}};this.abort=function(){t.aborted=!0,e.forEach(function(a){return a()})}},Mg=u.unstable_scheduleCallback,Dg=u.unstable_NormalPriority,Pe={$$typeof:_,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function dr(){return{controller:new kg,data:new Map,refCount:0}}function ii(e){e.refCount--,e.refCount===0&&Mg(Dg,function(){e.controller.abort()})}var li=null,fr=0,yn=0,bn=null;function Rg(e,t){if(li===null){var a=li=[];fr=0,yn=gs(),bn={status:"pending",value:void 0,then:function(n){a.push(n)}}}return fr++,t.then(Sc,Sc),t}function Sc(){if(--fr===0&&li!==null){bn!==null&&(bn.status="fulfilled");var e=li;li=null,yn=0,bn=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function xg(e,t){var a=[],n={status:"pending",value:null,reason:null,then:function(i){a.push(i)}};return e.then(function(){n.status="fulfilled",n.value=t;for(var i=0;i<a.length;i++)(0,a[i])(t)},function(i){for(n.status="rejected",n.reason=i,i=0;i<a.length;i++)(0,a[i])(void 0)}),n}var zc=R.S;R.S=function(e,t){lf=st(),typeof t=="object"&&t!==null&&typeof t.then=="function"&&Rg(e,t),zc!==null&&zc(e,t)};var Ga=S(null);function mr(){var e=Ga.current;return e!==null?e:Ee.pooledCache}function gl(e,t){t===null?B(Ga,Ga.current):B(Ga,t.pool)}function Ac(){var e=mr();return e===null?null:{parent:Pe._currentValue,pool:e}}var Sn=Error(r(460)),pr=Error(r(474)),hl=Error(r(542)),vl={then:function(){}};function Cc(e){return e=e.status,e==="fulfilled"||e==="rejected"}function Tc(e,t,a){switch(a=e[a],a===void 0?e.push(t):a!==t&&(t.then(_t,_t),t=a),t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,wc(e),e;default:if(typeof t.status=="string")t.then(_t,_t);else{if(e=Ee,e!==null&&100<e.shellSuspendCounter)throw Error(r(482));e=t,e.status="pending",e.then(function(n){if(t.status==="pending"){var i=t;i.status="fulfilled",i.value=n}},function(n){if(t.status==="pending"){var i=t;i.status="rejected",i.reason=n}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,wc(e),e}throw Ya=t,Sn}}function Fa(e){try{var t=e._init;return t(e._payload)}catch(a){throw a!==null&&typeof a=="object"&&typeof a.then=="function"?(Ya=a,Sn):a}}var Ya=null;function Ec(){if(Ya===null)throw Error(r(459));var e=Ya;return Ya=null,e}function wc(e){if(e===Sn||e===hl)throw Error(r(483))}var zn=null,oi=0;function yl(e){var t=oi;return oi+=1,zn===null&&(zn=[]),Tc(zn,e,t)}function ri(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function bl(e,t){throw t.$$typeof===D?Error(r(525)):(e=Object.prototype.toString.call(t),Error(r(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)))}function kc(e){function t(C,A){if(e){var T=C.deletions;T===null?(C.deletions=[A],C.flags|=16):T.push(A)}}function a(C,A){if(!e)return null;for(;A!==null;)t(C,A),A=A.sibling;return null}function n(C){for(var A=new Map;C!==null;)C.key!==null?A.set(C.key,C):A.set(C.index,C),C=C.sibling;return A}function i(C,A){return C=Gt(C,A),C.index=0,C.sibling=null,C}function l(C,A,T){return C.index=T,e?(T=C.alternate,T!==null?(T=T.index,T<A?(C.flags|=67108866,A):T):(C.flags|=67108866,A)):(C.flags|=1048576,A)}function d(C){return e&&C.alternate===null&&(C.flags|=67108866),C}function p(C,A,T,V){return A===null||A.tag!==6?(A=ar(T,C.mode,V),A.return=C,A):(A=i(A,T),A.return=C,A)}function b(C,A,T,V){var K=T.type;return K===L?x(C,A,T.props.children,V,T.key):A!==null&&(A.elementType===K||typeof K=="object"&&K!==null&&K.$$typeof===Te&&Fa(K)===A.type)?(A=i(A,T.props),ri(A,T),A.return=C,A):(A=dl(T.type,T.key,T.props,null,C.mode,V),ri(A,T),A.return=C,A)}function E(C,A,T,V){return A===null||A.tag!==4||A.stateNode.containerInfo!==T.containerInfo||A.stateNode.implementation!==T.implementation?(A=nr(T,C.mode,V),A.return=C,A):(A=i(A,T.children||[]),A.return=C,A)}function x(C,A,T,V,K){return A===null||A.tag!==7?(A=Ba(T,C.mode,V,K),A.return=C,A):(A=i(A,T),A.return=C,A)}function U(C,A,T){if(typeof A=="string"&&A!==""||typeof A=="number"||typeof A=="bigint")return A=ar(""+A,C.mode,T),A.return=C,A;if(typeof A=="object"&&A!==null){switch(A.$$typeof){case j:return T=dl(A.type,A.key,A.props,null,C.mode,T),ri(T,A),T.return=C,T;case M:return A=nr(A,C.mode,T),A.return=C,A;case Te:return A=Fa(A),U(C,A,T)}if(et(A)||$e(A))return A=Ba(A,C.mode,T,null),A.return=C,A;if(typeof A.then=="function")return U(C,yl(A),T);if(A.$$typeof===_)return U(C,pl(C,A),T);bl(C,A)}return null}function w(C,A,T,V){var K=A!==null?A.key:null;if(typeof T=="string"&&T!==""||typeof T=="number"||typeof T=="bigint")return K!==null?null:p(C,A,""+T,V);if(typeof T=="object"&&T!==null){switch(T.$$typeof){case j:return T.key===K?b(C,A,T,V):null;case M:return T.key===K?E(C,A,T,V):null;case Te:return T=Fa(T),w(C,A,T,V)}if(et(T)||$e(T))return K!==null?null:x(C,A,T,V,null);if(typeof T.then=="function")return w(C,A,yl(T),V);if(T.$$typeof===_)return w(C,A,pl(C,T),V);bl(C,T)}return null}function k(C,A,T,V,K){if(typeof V=="string"&&V!==""||typeof V=="number"||typeof V=="bigint")return C=C.get(T)||null,p(A,C,""+V,K);if(typeof V=="object"&&V!==null){switch(V.$$typeof){case j:return C=C.get(V.key===null?T:V.key)||null,b(A,C,V,K);case M:return C=C.get(V.key===null?T:V.key)||null,E(A,C,V,K);case Te:return V=Fa(V),k(C,A,T,V,K)}if(et(V)||$e(V))return C=C.get(T)||null,x(A,C,V,K,null);if(typeof V.then=="function")return k(C,A,T,yl(V),K);if(V.$$typeof===_)return k(C,A,T,pl(A,V),K);bl(A,V)}return null}function F(C,A,T,V){for(var K=null,de=null,Y=A,ae=A=0,se=null;Y!==null&&ae<T.length;ae++){Y.index>ae?(se=Y,Y=null):se=Y.sibling;var fe=w(C,Y,T[ae],V);if(fe===null){Y===null&&(Y=se);break}e&&Y&&fe.alternate===null&&t(C,Y),A=l(fe,A,ae),de===null?K=fe:de.sibling=fe,de=fe,Y=se}if(ae===T.length)return a(C,Y),ue&&Ft(C,ae),K;if(Y===null){for(;ae<T.length;ae++)Y=U(C,T[ae],V),Y!==null&&(A=l(Y,A,ae),de===null?K=Y:de.sibling=Y,de=Y);return ue&&Ft(C,ae),K}for(Y=n(Y);ae<T.length;ae++)se=k(Y,C,ae,T[ae],V),se!==null&&(e&&se.alternate!==null&&Y.delete(se.key===null?ae:se.key),A=l(se,A,ae),de===null?K=se:de.sibling=se,de=se);return e&&Y.forEach(function(xa){return t(C,xa)}),ue&&Ft(C,ae),K}function X(C,A,T,V){if(T==null)throw Error(r(151));for(var K=null,de=null,Y=A,ae=A=0,se=null,fe=T.next();Y!==null&&!fe.done;ae++,fe=T.next()){Y.index>ae?(se=Y,Y=null):se=Y.sibling;var xa=w(C,Y,fe.value,V);if(xa===null){Y===null&&(Y=se);break}e&&Y&&xa.alternate===null&&t(C,Y),A=l(xa,A,ae),de===null?K=xa:de.sibling=xa,de=xa,Y=se}if(fe.done)return a(C,Y),ue&&Ft(C,ae),K;if(Y===null){for(;!fe.done;ae++,fe=T.next())fe=U(C,fe.value,V),fe!==null&&(A=l(fe,A,ae),de===null?K=fe:de.sibling=fe,de=fe);return ue&&Ft(C,ae),K}for(Y=n(Y);!fe.done;ae++,fe=T.next())fe=k(Y,C,ae,fe.value,V),fe!==null&&(e&&fe.alternate!==null&&Y.delete(fe.key===null?ae:fe.key),A=l(fe,A,ae),de===null?K=fe:de.sibling=fe,de=fe);return e&&Y.forEach(function(Hh){return t(C,Hh)}),ue&&Ft(C,ae),K}function Ce(C,A,T,V){if(typeof T=="object"&&T!==null&&T.type===L&&T.key===null&&(T=T.props.children),typeof T=="object"&&T!==null){switch(T.$$typeof){case j:e:{for(var K=T.key;A!==null;){if(A.key===K){if(K=T.type,K===L){if(A.tag===7){a(C,A.sibling),V=i(A,T.props.children),V.return=C,C=V;break e}}else if(A.elementType===K||typeof K=="object"&&K!==null&&K.$$typeof===Te&&Fa(K)===A.type){a(C,A.sibling),V=i(A,T.props),ri(V,T),V.return=C,C=V;break e}a(C,A);break}else t(C,A);A=A.sibling}T.type===L?(V=Ba(T.props.children,C.mode,V,T.key),V.return=C,C=V):(V=dl(T.type,T.key,T.props,null,C.mode,V),ri(V,T),V.return=C,C=V)}return d(C);case M:e:{for(K=T.key;A!==null;){if(A.key===K)if(A.tag===4&&A.stateNode.containerInfo===T.containerInfo&&A.stateNode.implementation===T.implementation){a(C,A.sibling),V=i(A,T.children||[]),V.return=C,C=V;break e}else{a(C,A);break}else t(C,A);A=A.sibling}V=nr(T,C.mode,V),V.return=C,C=V}return d(C);case Te:return T=Fa(T),Ce(C,A,T,V)}if(et(T))return F(C,A,T,V);if($e(T)){if(K=$e(T),typeof K!="function")throw Error(r(150));return T=K.call(T),X(C,A,T,V)}if(typeof T.then=="function")return Ce(C,A,yl(T),V);if(T.$$typeof===_)return Ce(C,A,pl(C,T),V);bl(C,T)}return typeof T=="string"&&T!==""||typeof T=="number"||typeof T=="bigint"?(T=""+T,A!==null&&A.tag===6?(a(C,A.sibling),V=i(A,T),V.return=C,C=V):(a(C,A),V=ar(T,C.mode,V),V.return=C,C=V),d(C)):a(C,A)}return function(C,A,T,V){try{oi=0;var K=Ce(C,A,T,V);return zn=null,K}catch(Y){if(Y===Sn||Y===hl)throw Y;var de=ft(29,Y,null,C.mode);return de.lanes=V,de.return=C,de}finally{}}}var Ka=kc(!0),Mc=kc(!1),pa=!1;function gr(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function hr(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 ga(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function ha(e,t,a){var n=e.updateQueue;if(n===null)return null;if(n=n.shared,(pe&2)!==0){var i=n.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),n.pending=t,t=cl(e),dc(e,null,a),t}return ul(e,n,t,a),cl(e)}function si(e,t,a){if(t=t.updateQueue,t!==null&&(t=t.shared,(a&4194048)!==0)){var n=t.lanes;n&=e.pendingLanes,a|=n,t.lanes=a,bu(e,a)}}function vr(e,t){var a=e.updateQueue,n=e.alternate;if(n!==null&&(n=n.updateQueue,a===n)){var i=null,l=null;if(a=a.firstBaseUpdate,a!==null){do{var d={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};l===null?i=l=d:l=l.next=d,a=a.next}while(a!==null);l===null?i=l=t:l=l.next=t}else i=l=t;a={baseState:n.baseState,firstBaseUpdate:i,lastBaseUpdate:l,shared:n.shared,callbacks:n.callbacks},e.updateQueue=a;return}e=a.lastBaseUpdate,e===null?a.firstBaseUpdate=t:e.next=t,a.lastBaseUpdate=t}var yr=!1;function ui(){if(yr){var e=bn;if(e!==null)throw e}}function ci(e,t,a,n){yr=!1;var i=e.updateQueue;pa=!1;var l=i.firstBaseUpdate,d=i.lastBaseUpdate,p=i.shared.pending;if(p!==null){i.shared.pending=null;var b=p,E=b.next;b.next=null,d===null?l=E:d.next=E,d=b;var x=e.alternate;x!==null&&(x=x.updateQueue,p=x.lastBaseUpdate,p!==d&&(p===null?x.firstBaseUpdate=E:p.next=E,x.lastBaseUpdate=b))}if(l!==null){var U=i.baseState;d=0,x=E=b=null,p=l;do{var w=p.lane&-536870913,k=w!==p.lane;if(k?(re&w)===w:(n&w)===w){w!==0&&w===yn&&(yr=!0),x!==null&&(x=x.next={lane:0,tag:p.tag,payload:p.payload,callback:null,next:null});e:{var F=e,X=p;w=t;var Ce=a;switch(X.tag){case 1:if(F=X.payload,typeof F=="function"){U=F.call(Ce,U,w);break e}U=F;break e;case 3:F.flags=F.flags&-65537|128;case 0:if(F=X.payload,w=typeof F=="function"?F.call(Ce,U,w):F,w==null)break e;U=y({},U,w);break e;case 2:pa=!0}}w=p.callback,w!==null&&(e.flags|=64,k&&(e.flags|=8192),k=i.callbacks,k===null?i.callbacks=[w]:k.push(w))}else k={lane:w,tag:p.tag,payload:p.payload,callback:p.callback,next:null},x===null?(E=x=k,b=U):x=x.next=k,d|=w;if(p=p.next,p===null){if(p=i.shared.pending,p===null)break;k=p,p=k.next,k.next=null,i.lastBaseUpdate=k,i.shared.pending=null}}while(!0);x===null&&(b=U),i.baseState=b,i.firstBaseUpdate=E,i.lastBaseUpdate=x,l===null&&(i.shared.lanes=0),za|=d,e.lanes=d,e.memoizedState=U}}function Dc(e,t){if(typeof e!="function")throw Error(r(191,e));e.call(t)}function Rc(e,t){var a=e.callbacks;
vendor: 8,498 bytes, line 299
299if(a!==null)for(e.callbacks=null,e=0;e<a.length;e++)Dc(a[e],t)}var An=S(null),Sl=S(0);function xc(e,t){e=ta,B(Sl,e),B(An,t),ta=e|t.baseLanes}function br(){B(Sl,ta),B(An,An.current)}function Sr(){ta=Sl.current,N(An),N(Sl)}var mt=S(null),Mt=null;function va(e){var t=e.alternate;B(Ve,Ve.current&1),B(mt,e),Mt===null&&(t===null||An.current!==null||t.memoizedState!==null)&&(Mt=e)}function zr(e){B(Ve,Ve.current),B(mt,e),Mt===null&&(Mt=e)}function Oc(e){e.tag===22?(B(Ve,Ve.current),B(mt,e),Mt===null&&(Mt=e)):ya()}function ya(){B(Ve,Ve.current),B(mt,mt.current)}function pt(e){N(mt),Mt===e&&(Mt=null),N(Ve)}var Ve=S(0);function zl(e){for(var t=e;t!==null;){if(t.tag===13){var a=t.memoizedState;if(a!==null&&(a=a.dehydrated,a===null||ks(a)||Ms(a)))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 Zt=0,ee=null,ze=null,Le=null,Al=!1,Cn=!1,Za=!1,Cl=0,di=0,Tn=null,Og=0;function xe(){throw Error(r(321))}function Ar(e,t){if(t===null)return!1;for(var a=0;a<t.length&&a<e.length;a++)if(!dt(e[a],t[a]))return!1;return!0}function Cr(e,t,a,n,i,l){return Zt=l,ee=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,R.H=e===null||e.memoizedState===null?gd:Lr,Za=!1,l=a(n,i),Za=!1,Cn&&(l=Nc(t,a,n,i)),jc(e),l}function jc(e){R.H=pi;var t=ze!==null&&ze.next!==null;if(Zt=0,Le=ze=ee=null,Al=!1,di=0,Tn=null,t)throw Error(r(300));e===null||Be||(e=e.dependencies,e!==null&&ml(e)&&(Be=!0))}function Nc(e,t,a,n){ee=e;var i=0;do{if(Cn&&(Tn=null),di=0,Cn=!1,25<=i)throw Error(r(301));if(i+=1,Le=ze=null,e.updateQueue!=null){var l=e.updateQueue;l.lastEffect=null,l.events=null,l.stores=null,l.memoCache!=null&&(l.memoCache.index=0)}R.H=hd,l=t(a,n)}while(Cn);return l}function jg(){var e=R.H,t=e.useState()[0];return t=typeof t.then=="function"?fi(t):t,e=e.useState()[0],(ze!==null?ze.memoizedState:null)!==e&&(ee.flags|=1024),t}function Tr(){var e=Cl!==0;return Cl=0,e}function Er(e,t,a){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a}function wr(e){if(Al){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}Al=!1}Zt=0,Le=ze=ee=null,Cn=!1,di=Cl=0,Tn=null}function Ie(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Le===null?ee.memoizedState=Le=e:Le=Le.next=e,Le}function Ue(){if(ze===null){var e=ee.alternate;e=e!==null?e.memoizedState:null}else e=ze.next;var t=Le===null?ee.memoizedState:Le.next;if(t!==null)Le=t,ze=e;else{if(e===null)throw ee.alternate===null?Error(r(467)):Error(r(310));ze=e,e={memoizedState:ze.memoizedState,baseState:ze.baseState,baseQueue:ze.baseQueue,queue:ze.queue,next:null},Le===null?ee.memoizedState=Le=e:Le=Le.next=e}return Le}function Tl(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function fi(e){var t=di;return di+=1,Tn===null&&(Tn=[]),e=Tc(Tn,e,t),t=ee,(Le===null?t.memoizedState:Le.next)===null&&(t=t.alternate,R.H=t===null||t.memoizedState===null?gd:Lr),e}function El(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return fi(e);if(e.$$typeof===_)return Ke(e)}throw Error(r(438,String(e)))}function kr(e){var t=null,a=ee.updateQueue;if(a!==null&&(t=a.memoCache),t==null){var n=ee.alternate;n!==null&&(n=n.updateQueue,n!==null&&(n=n.memoCache,n!=null&&(t={data:n.data.map(function(i){return i.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),a===null&&(a=Tl(),ee.updateQueue=a),a.memoCache=t,a=t.data[t.index],a===void 0)for(a=t.data[t.index]=Array(e),n=0;n<e;n++)a[n]=Se;return t.index++,a}function Qt(e,t){return typeof t=="function"?t(e):t}function wl(e){var t=Ue();return Mr(t,ze,e)}function Mr(e,t,a){var n=e.queue;if(n===null)throw Error(r(311));n.lastRenderedReducer=a;var i=e.baseQueue,l=n.pending;if(l!==null){if(i!==null){var d=i.next;i.next=l.next,l.next=d}t.baseQueue=i=l,n.pending=null}if(l=e.baseState,i===null)e.memoizedState=l;else{t=i.next;var p=d=null,b=null,E=t,x=!1;do{var U=E.lane&-536870913;if(U!==E.lane?(re&U)===U:(Zt&U)===U){var w=E.revertLane;if(w===0)b!==null&&(b=b.next={lane:0,revertLane:0,gesture:null,action:E.action,hasEagerState:E.hasEagerState,eagerState:E.eagerState,next:null}),U===yn&&(x=!0);else if((Zt&w)===w){E=E.next,w===yn&&(x=!0);continue}else U={lane:0,revertLane:E.revertLane,gesture:null,action:E.action,hasEagerState:E.hasEagerState,eagerState:E.eagerState,next:null},b===null?(p=b=U,d=l):b=b.next=U,ee.lanes|=w,za|=w;U=E.action,Za&&a(l,U),l=E.hasEagerState?E.eagerState:a(l,U)}else w={lane:U,revertLane:E.revertLane,gesture:E.gesture,action:E.action,hasEagerState:E.hasEagerState,eagerState:E.eagerState,next:null},b===null?(p=b=w,d=l):b=b.next=w,ee.lanes|=U,za|=U;E=E.next}while(E!==null&&E!==t);if(b===null?d=l:b.next=p,!dt(l,e.memoizedState)&&(Be=!0,x&&(a=bn,a!==null)))throw a;e.memoizedState=l,e.baseState=d,e.baseQueue=b,n.lastRenderedState=l}return i===null&&(n.lanes=0),[e.memoizedState,n.dispatch]}function Dr(e){var t=Ue(),a=t.queue;if(a===null)throw Error(r(311));a.lastRenderedReducer=e;var n=a.dispatch,i=a.pending,l=t.memoizedState;if(i!==null){a.pending=null;var d=i=i.next;do l=e(l,d.action),d=d.next;while(d!==i);dt(l,t.memoizedState)||(Be=!0),t.memoizedState=l,t.baseQueue===null&&(t.baseState=l),a.lastRenderedState=l}return[l,n]}function Vc(e,t,a){var n=ee,i=Ue(),l=ue;if(l){if(a===void 0)throw Error(r(407));a=a()}else a=t();var d=!dt((ze||i).memoizedState,a);if(d&&(i.memoizedState=a,Be=!0),i=i.queue,Or(Lc.bind(null,n,i,e),[e]),i.getSnapshot!==t||d||Le!==null&&Le.memoizedState.tag&1){if(n.flags|=2048,En(9,{destroy:void 0},Pc.bind(null,n,i,a,t),null),Ee===null)throw Error(r(349));l||(Zt&127)!==0||Uc(n,t,a)}return a}function Uc(e,t,a){e.flags|=16384,e={getSnapshot:t,value:a},t=ee.updateQueue,t===null?(t=Tl(),ee.updateQueue=t,t.stores=[e]):(a=t.stores,a===null?t.stores=[e]:a.push(e))}function Pc(e,t,a,n){t.value=a,t.getSnapshot=n,Bc(t)&&qc(e)}function Lc(e,t,a){return a(function(){Bc(t)&&qc(e)})}function Bc(e){var t=e.getSnapshot;e=e.value;try{var a=t();return!dt(e,a)}catch{return!0}}function qc(e){var t=La(e,2);t!==null&&rt(t,e,2)}function Rr(e){var t=Ie();if(typeof e=="function"){var a=e;if(e=a(),Za){ra(!0);try{a()}finally{ra(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Qt,lastRenderedState:e},t}function _c(e,t,a,n){return e.baseState=a,Mr(e,ze,typeof n=="function"?n:Qt)}function Ng(e,t,a,n,i){if(Dl(e))throw Error(r(485));if(e=t.action,e!==null){var l={payload:i,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(d){l.listeners.push(d)}};R.T!==null?a(!0):l.isTransition=!1,n(l),a=t.pending,a===null?(l.next=t.pending=l,Hc(t,l)):(l.next=a.next,t.pending=a.next=l)}}function Hc(e,t){var a=t.action,n=t.payload,i=e.state;if(t.isTransition){var l=R.T,d={};R.T=d;try{var p=a(i,n),b=R.S;b!==null&&b(d,p),Gc(e,t,p)}catch(E){xr(e,t,E)}finally{l!==null&&d.types!==null&&(l.types=d.types),R.T=l}}else try{l=a(i,n),Gc(e,t,l)}catch(E){xr(e,t,E)}}function Gc(e,t,a){a!==null&&typeof a=="object"&&typeof a.then=="function"?a.then(function(n){Fc(e,t,n)},function(n){return xr(e,t,n)}):Fc(e,t,a)}function Fc(e,t,a){t.status="fulfilled",t.value=a,Yc(t),e.state=a,t=e.pending,t!==null&&(a=t.next,a===t?e.pending=null:(a=a.next,t.next=a,Hc(e,a)))}function xr(e,t,a){var n=e.pending;if(e.pending=null,n!==null){n=n.next;do t.status="rejected",t.reason=a,Yc(t),t=t.next;while(t!==n)}e.action=null}function Yc(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function Kc(e,t){return t}function Zc(e,t){if(ue){var a=Ee.formState;if(a!==null){e:{var n=ee;if(ue){if(we){t:{for(var i=we,l=kt;i.nodeType!==8;){if(!l){i=null;break t}if(i=Dt(i.nextSibling),i===null){i=null;break t}}l=i.data,i=l==="F!"||l==="F"?i:null}if(i){we=Dt(i.nextSibling),n=i.data==="F!";break e}}fa(n)}n=!1}n&&(t=a[0])}}return a=Ie(),a.memoizedState=a.baseState=t,n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Kc,lastRenderedState:t},a.queue=n,a=fd.bind(null,ee,n),n.dispatch=a,n=Rr(!1),l=Pr.bind(null,ee,!1,n.queue),n=Ie(),i={state:t,dispatch:null,action:e,pending:null},n.queue=i,a=Ng.bind(null,ee,i,l,a),i.dispatch=a,n.memoizedState=e,[t,a,!1]}function Qc(e){var t=Ue();return $c(t,ze,e)}
vendor: 5,978 bytes, line 299
299function $c(e,t,a){if(t=Mr(e,t,Kc)[0],e=wl(Qt)[0],typeof t=="object"&&t!==null&&typeof t.then=="function")try{var n=fi(t)}catch(d){throw d===Sn?hl:d}else n=t;t=Ue();var i=t.queue,l=i.dispatch;return a!==t.memoizedState&&(ee.flags|=2048,En(9,{destroy:void 0},Vg.bind(null,i,a),null)),[n,l,e]}function Vg(e,t){e.action=t}function Xc(e){var t=Ue(),a=ze;if(a!==null)return $c(t,a,e);Ue(),t=t.memoizedState,a=Ue();var n=a.queue.dispatch;return a.memoizedState=e,[t,n,!1]}function En(e,t,a,n){return e={tag:e,create:a,deps:n,inst:t,next:null},t=ee.updateQueue,t===null&&(t=Tl(),ee.updateQueue=t),a=t.lastEffect,a===null?t.lastEffect=e.next=e:(n=a.next,a.next=e,e.next=n,t.lastEffect=e),e}function Jc(){return Ue().memoizedState}function kl(e,t,a,n){var i=Ie();ee.flags|=e,i.memoizedState=En(1|t,{destroy:void 0},a,n===void 0?null:n)}function Ml(e,t,a,n){var i=Ue();n=n===void 0?null:n;var l=i.memoizedState.inst;ze!==null&&n!==null&&Ar(n,ze.memoizedState.deps)?i.memoizedState=En(t,l,a,n):(ee.flags|=e,i.memoizedState=En(1|t,l,a,n))}function Wc(e,t){kl(8390656,8,e,t)}function Or(e,t){Ml(2048,8,e,t)}function Ug(e){ee.flags|=4;var t=ee.updateQueue;if(t===null)t=Tl(),ee.updateQueue=t,t.events=[e];else{var a=t.events;a===null?t.events=[e]:a.push(e)}}function Ic(e){var t=Ue().memoizedState;return Ug({ref:t,nextImpl:e}),function(){if((pe&2)!==0)throw Error(r(440));return t.impl.apply(void 0,arguments)}}function ed(e,t){return Ml(4,2,e,t)}function td(e,t){return Ml(4,4,e,t)}function ad(e,t){if(typeof t=="function"){e=e();var a=t(e);return function(){typeof a=="function"?a():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function nd(e,t,a){a=a!=null?a.concat([e]):null,Ml(4,4,ad.bind(null,t,e),a)}function jr(){}function id(e,t){var a=Ue();t=t===void 0?null:t;var n=a.memoizedState;return t!==null&&Ar(t,n[1])?n[0]:(a.memoizedState=[e,t],e)}function ld(e,t){var a=Ue();t=t===void 0?null:t;var n=a.memoizedState;if(t!==null&&Ar(t,n[1]))return n[0];if(n=e(),Za){ra(!0);try{e()}finally{ra(!1)}}return a.memoizedState=[n,t],n}function Nr(e,t,a){return a===void 0||(Zt&1073741824)!==0&&(re&261930)===0?e.memoizedState=t:(e.memoizedState=a,e=rf(),ee.lanes|=e,za|=e,a)}function od(e,t,a,n){return dt(a,t)?a:An.current!==null?(e=Nr(e,a,n),dt(e,t)||(Be=!0),e):(Zt&42)===0||(Zt&1073741824)!==0&&(re&261930)===0?(Be=!0,e.memoizedState=a):(e=rf(),ee.lanes|=e,za|=e,t)}function rd(e,t,a,n,i){var l=P.p;P.p=l!==0&&8>l?l:8;var d=R.T,p={};R.T=p,Pr(e,!1,t,a);try{var b=i(),E=R.S;if(E!==null&&E(p,b),b!==null&&typeof b=="object"&&typeof b.then=="function"){var x=xg(b,n);mi(e,t,x,vt(e))}else mi(e,t,n,vt(e))}catch(U){mi(e,t,{then:function(){},status:"rejected",reason:U},vt())}finally{P.p=l,d!==null&&p.types!==null&&(d.types=p.types),R.T=d}}function Pg(){}function Vr(e,t,a,n){if(e.tag!==5)throw Error(r(476));var i=sd(e).queue;rd(e,i,t,Z,a===null?Pg:function(){return ud(e),a(n)})}function sd(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:Z,baseState:Z,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Qt,lastRenderedState:Z},next:null};var a={};return t.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Qt,lastRenderedState:a},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function ud(e){var t=sd(e);t.next===null&&(t=e.alternate.memoizedState),mi(e,t.next.queue,{},vt())}function Ur(){return Ke(Ri)}function cd(){return Ue().memoizedState}function dd(){return Ue().memoizedState}function Lg(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var a=vt();e=ga(a);var n=ha(t,e,a);n!==null&&(rt(n,t,a),si(n,t,a)),t={cache:dr()},e.payload=t;return}t=t.return}}function Bg(e,t,a){var n=vt();a={lane:n,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},Dl(e)?md(t,a):(a=er(e,t,a,n),a!==null&&(rt(a,e,n),pd(a,t,n)))}function fd(e,t,a){var n=vt();mi(e,t,a,n)}function mi(e,t,a,n){var i={lane:n,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(Dl(e))md(t,i);else{var l=e.alternate;if(e.lanes===0&&(l===null||l.lanes===0)&&(l=t.lastRenderedReducer,l!==null))try{var d=t.lastRenderedState,p=l(d,a);if(i.hasEagerState=!0,i.eagerState=p,dt(p,d))return ul(e,t,i,0),Ee===null&&sl(),!1}catch{}finally{}if(a=er(e,t,i,n),a!==null)return rt(a,e,n),pd(a,t,n),!0}return!1}function Pr(e,t,a,n){if(n={lane:2,revertLane:gs(),gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Dl(e)){if(t)throw Error(r(479))}else t=er(e,a,n,2),t!==null&&rt(t,e,2)}function Dl(e){var t=e.alternate;return e===ee||t!==null&&t===ee}function md(e,t){Cn=Al=!0;var a=e.pending;a===null?t.next=t:(t.next=a.next,a.next=t),e.pending=t}function pd(e,t,a){if((a&4194048)!==0){var n=t.lanes;n&=e.pendingLanes,a|=n,t.lanes=a,bu(e,a)}}var pi={readContext:Ke,use:El,useCallback:xe,useContext:xe,useEffect:xe,useImperativeHandle:xe,useLayoutEffect:xe,useInsertionEffect:xe,useMemo:xe,useReducer:xe,useRef:xe,useState:xe,useDebugValue:xe,useDeferredValue:xe,useTransition:xe,useSyncExternalStore:xe,useId:xe,useHostTransitionStatus:xe,useFormState:xe,useActionState:xe,useOptimistic:xe,useMemoCache:xe,useCacheRefresh:xe};pi.useEffectEvent=xe;var gd={readContext:Ke,use:El,useCallback:function(e,t){return Ie().memoizedState=[e,t===void 0?null:t],e},useContext:Ke,useEffect:Wc,useImperativeHandle:function(e,t,a){a=a!=null?a.concat([e]):null,kl(4194308,4,ad.bind(null,t,e),a)},useLayoutEffect:function(e,t){return kl(4194308,4,e,t)},useInsertionEffect:function(e,t){kl(4,2,e,t)},useMemo:function(e,t){var a=Ie();t=t===void 0?null:t;var n=e();if(Za){ra(!0);try{e()}finally{ra(!1)}}return a.memoizedState=[n,t],n},useReducer:function(e,t,a){var n=Ie();if(a!==void 0){var i=a(t);if(Za){ra(!0);try{a(t)}finally{ra(!1)}}}else i=t;return n.memoizedState=n.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},n.queue=e,e=e.dispatch=Bg.bind(null,ee,e),[n.memoizedState,e]}
vendor: 17,978 bytes, line 299
299,useRef:function(e){var t=Ie();return e={current:e},t.memoizedState=e},useState:function(e){e=Rr(e);var t=e.queue,a=fd.bind(null,ee,t);return t.dispatch=a,[e.memoizedState,a]},useDebugValue:jr,useDeferredValue:function(e,t){var a=Ie();return Nr(a,e,t)},useTransition:function(){var e=Rr(!1);return e=rd.bind(null,ee,e.queue,!0,!1),Ie().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,a){var n=ee,i=Ie();if(ue){if(a===void 0)throw Error(r(407));a=a()}else{if(a=t(),Ee===null)throw Error(r(349));(re&127)!==0||Uc(n,t,a)}i.memoizedState=a;var l={value:a,getSnapshot:t};return i.queue=l,Wc(Lc.bind(null,n,l,e),[e]),n.flags|=2048,En(9,{destroy:void 0},Pc.bind(null,n,l,a,t),null),a},useId:function(){var e=Ie(),t=Ee.identifierPrefix;if(ue){var a=Ut,n=Vt;a=(n&~(1<<32-ct(n)-1)).toString(32)+a,t="_"+t+"R_"+a,a=Cl++,0<a&&(t+="H"+a.toString(32)),t+="_"}else a=Og++,t="_"+t+"r_"+a.toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:Ur,useFormState:Zc,useActionState:Zc,useOptimistic:function(e){var t=Ie();t.memoizedState=t.baseState=e;var a={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=a,t=Pr.bind(null,ee,!0,a),a.dispatch=t,[e,t]},useMemoCache:kr,useCacheRefresh:function(){return Ie().memoizedState=Lg.bind(null,ee)},useEffectEvent:function(e){var t=Ie(),a={impl:e};return t.memoizedState=a,function(){if((pe&2)!==0)throw Error(r(440));return a.impl.apply(void 0,arguments)}}},Lr={readContext:Ke,use:El,useCallback:id,useContext:Ke,useEffect:Or,useImperativeHandle:nd,useInsertionEffect:ed,useLayoutEffect:td,useMemo:ld,useReducer:wl,useRef:Jc,useState:function(){return wl(Qt)},useDebugValue:jr,useDeferredValue:function(e,t){var a=Ue();return od(a,ze.memoizedState,e,t)},useTransition:function(){var e=wl(Qt)[0],t=Ue().memoizedState;return[typeof e=="boolean"?e:fi(e),t]},useSyncExternalStore:Vc,useId:cd,useHostTransitionStatus:Ur,useFormState:Qc,useActionState:Qc,useOptimistic:function(e,t){var a=Ue();return _c(a,ze,e,t)},useMemoCache:kr,useCacheRefresh:dd};Lr.useEffectEvent=Ic;var hd={readContext:Ke,use:El,useCallback:id,useContext:Ke,useEffect:Or,useImperativeHandle:nd,useInsertionEffect:ed,useLayoutEffect:td,useMemo:ld,useReducer:Dr,useRef:Jc,useState:function(){return Dr(Qt)},useDebugValue:jr,useDeferredValue:function(e,t){var a=Ue();return ze===null?Nr(a,e,t):od(a,ze.memoizedState,e,t)},useTransition:function(){var e=Dr(Qt)[0],t=Ue().memoizedState;return[typeof e=="boolean"?e:fi(e),t]},useSyncExternalStore:Vc,useId:cd,useHostTransitionStatus:Ur,useFormState:Xc,useActionState:Xc,useOptimistic:function(e,t){var a=Ue();return ze!==null?_c(a,ze,e,t):(a.baseState=e,[e,a.queue.dispatch])},useMemoCache:kr,useCacheRefresh:dd};hd.useEffectEvent=Ic;function Br(e,t,a,n){t=e.memoizedState,a=a(n,t),a=a==null?t:y({},t,a),e.memoizedState=a,e.lanes===0&&(e.updateQueue.baseState=a)}var qr={enqueueSetState:function(e,t,a){e=e._reactInternals;var n=vt(),i=ga(n);i.payload=t,a!=null&&(i.callback=a),t=ha(e,i,n),t!==null&&(rt(t,e,n),si(t,e,n))},enqueueReplaceState:function(e,t,a){e=e._reactInternals;var n=vt(),i=ga(n);i.tag=1,i.payload=t,a!=null&&(i.callback=a),t=ha(e,i,n),t!==null&&(rt(t,e,n),si(t,e,n))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var a=vt(),n=ga(a);n.tag=2,t!=null&&(n.callback=t),t=ha(e,n,a),t!==null&&(rt(t,e,a),si(t,e,a))}};function vd(e,t,a,n,i,l,d){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(n,l,d):t.prototype&&t.prototype.isPureReactComponent?!ei(a,n)||!ei(i,l):!0}function yd(e,t,a,n){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(a,n),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(a,n),t.state!==e&&qr.enqueueReplaceState(t,t.state,null)}function Qa(e,t){var a=t;if("ref"in t){a={};for(var n in t)n!=="ref"&&(a[n]=t[n])}if(e=e.defaultProps){a===t&&(a=y({},a));for(var i in e)a[i]===void 0&&(a[i]=e[i])}return a}function bd(e){rl(e)}function Sd(e){console.error(e)}function zd(e){rl(e)}function Rl(e,t){try{var a=e.onUncaughtError;a(t.value,{componentStack:t.stack})}catch(n){setTimeout(function(){throw n})}}function Ad(e,t,a){try{var n=e.onCaughtError;n(a.value,{componentStack:a.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(i){setTimeout(function(){throw i})}}function _r(e,t,a){return a=ga(a),a.tag=3,a.payload={element:null},a.callback=function(){Rl(e,t)},a}function Cd(e){return e=ga(e),e.tag=3,e}function Td(e,t,a,n){var i=a.type.getDerivedStateFromError;if(typeof i=="function"){var l=n.value;e.payload=function(){return i(l)},e.callback=function(){Ad(t,a,n)}}var d=a.stateNode;d!==null&&typeof d.componentDidCatch=="function"&&(e.callback=function(){Ad(t,a,n),typeof i!="function"&&(Aa===null?Aa=new Set([this]):Aa.add(this));var p=n.stack;this.componentDidCatch(n.value,{componentStack:p!==null?p:""})})}function qg(e,t,a,n,i){if(a.flags|=32768,n!==null&&typeof n=="object"&&typeof n.then=="function"){if(t=a.alternate,t!==null&&vn(t,a,i,!0),a=mt.current,a!==null){switch(a.tag){case 31:case 13:return Mt===null?Hl():a.alternate===null&&Oe===0&&(Oe=3),a.flags&=-257,a.flags|=65536,a.lanes=i,n===vl?a.flags|=16384:(t=a.updateQueue,t===null?a.updateQueue=new Set([n]):t.add(n),fs(e,n,i)),!1;case 22:return a.flags|=65536,n===vl?a.flags|=16384:(t=a.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([n])},a.updateQueue=t):(a=t.retryQueue,a===null?t.retryQueue=new Set([n]):a.add(n)),fs(e,n,i)),!1}throw Error(r(435,a.tag))}return fs(e,n,i),Hl(),!1}if(ue)return t=mt.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=i,n!==or&&(e=Error(r(422),{cause:n}),ni(Tt(e,a)))):(n!==or&&(t=Error(r(423),{cause:n}),ni(Tt(t,a))),e=e.current.alternate,e.flags|=65536,i&=-i,e.lanes|=i,n=Tt(n,a),i=_r(e.stateNode,n,i),vr(e,i),Oe!==4&&(Oe=2)),!1;var l=Error(r(520),{cause:n});if(l=Tt(l,a),Ai===null?Ai=[l]:Ai.push(l),Oe!==4&&(Oe=2),t===null)return!0;n=Tt(n,a),a=t;do{switch(a.tag){case 3:return a.flags|=65536,e=i&-i,a.lanes|=e,e=_r(a.stateNode,n,e),vr(a,e),!1;case 1:if(t=a.type,l=a.stateNode,(a.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||l!==null&&typeof l.componentDidCatch=="function"&&(Aa===null||!Aa.has(l))))return a.flags|=65536,i&=-i,a.lanes|=i,i=Cd(i),Td(i,e,a,n),vr(a,i),!1}a=a.return}while(a!==null);return!1}var Hr=Error(r(461)),Be=!1;function Ze(e,t,a,n){t.child=e===null?Mc(t,null,a,n):Ka(t,e.child,a,n)}function Ed(e,t,a,n,i){a=a.render;var l=t.ref;if("ref"in n){var d={};for(var p in n)p!=="ref"&&(d[p]=n[p])}else d=n;return Ha(t),n=Cr(e,t,a,d,l,i),p=Tr(),e!==null&&!Be?(Er(e,t,i),$t(e,t,i)):(ue&&p&&ir(t),t.flags|=1,Ze(e,t,n,i),t.child)}function wd(e,t,a,n,i){if(e===null){var l=a.type;return typeof l=="function"&&!tr(l)&&l.defaultProps===void 0&&a.compare===null?(t.tag=15,t.type=l,kd(e,t,l,n,i)):(e=dl(a.type,null,n,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(l=e.child,!Xr(e,i)){var d=l.memoizedProps;if(a=a.compare,a=a!==null?a:ei,a(d,n)&&e.ref===t.ref)return $t(e,t,i)}return t.flags|=1,e=Gt(l,n),e.ref=t.ref,e.return=t,t.child=e}function kd(e,t,a,n,i){if(e!==null){var l=e.memoizedProps;if(ei(l,n)&&e.ref===t.ref)if(Be=!1,t.pendingProps=n=l,Xr(e,i))(e.flags&131072)!==0&&(Be=!0);else return t.lanes=e.lanes,$t(e,t,i)}return Gr(e,t,a,n,i)}function Md(e,t,a,n){var i=n.children,l=e!==null?e.memoizedState:null;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),n.mode==="hidden"){if((t.flags&128)!==0){if(l=l!==null?l.baseLanes|a:a,e!==null){for(n=t.child=e.child,i=0;n!==null;)i=i|n.lanes|n.childLanes,n=n.sibling;n=i&~l}else n=0,t.child=null;return Dd(e,t,l,a,n)}if((a&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&gl(t,l!==null?l.cachePool:null),l!==null?xc(t,l):br(),Oc(t);else return n=t.lanes=536870912,Dd(e,t,l!==null?l.baseLanes|a:a,a,n)}else l!==null?(gl(t,l.cachePool),xc(t,l),ya(),t.memoizedState=null):(e!==null&&gl(t,null),br(),ya());return Ze(e,t,i,a),t.child}function gi(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function Dd(e,t,a,n,i){var l=mr();return l=l===null?null:{parent:Pe._currentValue,pool:l},t.memoizedState={baseLanes:a,cachePool:l},e!==null&&gl(t,null),br(),Oc(t),e!==null&&vn(e,t,n,!0),t.childLanes=i,null}function xl(e,t){return t=jl({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function Rd(e,t,a){return Ka(t,e.child,null,a),e=xl(t,t.pendingProps),e.flags|=2,pt(t),t.memoizedState=null,e}function _g(e,t,a){var n=t.pendingProps,i=(t.flags&128)!==0;if(t.flags&=-129,e===null){if(ue){if(n.mode==="hidden")return e=xl(t,n),t.lanes=536870912,gi(null,e);if(zr(t),(e=we)?(e=Gf(e,kt),e=e!==null&&e.data==="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:ca!==null?{id:Vt,overflow:Ut}:null,retryLane:536870912,hydrationErrors:null},a=mc(e),a.return=t,t.child=a,Ye=t,we=null)):e=null,e===null)throw fa(t);return t.lanes=536870912,null}return xl(t,n)}var l=e.memoizedState;if(l!==null){var d=l.dehydrated;if(zr(t),i)if(t.flags&256)t.flags&=-257,t=Rd(e,t,a);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(r(558));else if(Be||vn(e,t,a,!1),i=(a&e.childLanes)!==0,Be||i){if(n=Ee,n!==null&&(d=Su(n,a),d!==0&&d!==l.retryLane))throw l.retryLane=d,La(e,d),rt(n,e,d),Hr;Hl(),t=Rd(e,t,a)}else e=l.treeContext,we=Dt(d.nextSibling),Ye=t,ue=!0,da=null,kt=!1,e!==null&&hc(t,e),t=xl(t,n),t.flags|=4096;return t}return e=Gt(e.child,{mode:n.mode,children:n.children}),e.ref=t.ref,t.child=e,e.return=t,e}function Ol(e,t){var a=t.ref;if(a===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof a!="function"&&typeof a!="object")throw Error(r(284));(e===null||e.ref!==a)&&(t.flags|=4194816)}}function Gr(e,t,a,n,i){return Ha(t),a=Cr(e,t,a,n,void 0,i),n=Tr(),e!==null&&!Be?(Er(e,t,i),$t(e,t,i)):(ue&&n&&ir(t),t.flags|=1,Ze(e,t,a,i),t.child)}function xd(e,t,a,n,i,l){return Ha(t),t.updateQueue=null,a=Nc(t,n,a,i),jc(e),n=Tr(),e!==null&&!Be?(Er(e,t,l),$t(e,t,l)):(ue&&n&&ir(t),t.flags|=1,Ze(e,t,a,l),t.child)}function Od(e,t,a,n,i){if(Ha(t),t.stateNode===null){var l=mn,d=a.contextType;typeof d=="object"&&d!==null&&(l=Ke(d)),l=new a(n,l),t.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,l.updater=qr,t.stateNode=l,l._reactInternals=t,l=t.stateNode,l.props=n,l.state=t.memoizedState,l.refs={},gr(t),d=a.contextType,l.context=typeof d=="object"&&d!==null?Ke(d):mn,l.state=t.memoizedState,d=a.getDerivedStateFromProps,typeof d=="function"&&(Br(t,a,d,n),l.state=t.memoizedState),typeof a.getDerivedStateFromProps=="function"||typeof l.getSnapshotBeforeUpdate=="function"||typeof l.UNSAFE_componentWillMount!="function"&&typeof l.componentWillMount!="function"||(d=l.state,typeof l.componentWillMount=="function"&&l.componentWillMount(),typeof l.UNSAFE_componentWillMount=="function"&&l.UNSAFE_componentWillMount(),d!==l.state&&qr.enqueueReplaceState(l,l.state,null),ci(t,n,l,i),ui(),l.state=t.memoizedState),typeof l.componentDidMount=="function"&&(t.flags|=4194308),n=!0}else if(e===null){l=t.stateNode;var p=t.memoizedProps,b=Qa(a,p);l.props=b;var E=l.context,x=a.contextType;d=mn,typeof x=="object"&&x!==null&&(d=Ke(x));var U=a.getDerivedStateFromProps;x=typeof U=="function"||typeof l.getSnapshotBeforeUpdate=="function",p=t.pendingProps!==p,x||typeof l.UNSAFE_componentWillReceiveProps!="function"&&typeof l.componentWillReceiveProps!="function"||(p||E!==d)&&yd(t,l,n,d),pa=!1;var w=t.memoizedState;l.state=w,ci(t,n,l,i),ui(),E=t.memoizedState,p||w!==E||pa?(typeof U=="function"&&(Br(t,a,U,n),E=t.memoizedState),(b=pa||vd(t,a,b,n,w,E,d))?(x||typeof l.UNSAFE_componentWillMount!="function"&&typeof l.componentWillMount!="function"||(typeof l.componentWillMount=="function"&&l.componentWillMount(),typeof l.UNSAFE_componentWillMount=="function"&&l.UNSAFE_componentWillMount()),typeof l.componentDidMount=="function"&&(t.flags|=4194308)):(typeof l.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=n,t.memoizedState=E),l.props=n,l.state=E,l.context=d,n=b):(typeof l.componentDidMount=="function"&&(t.flags|=4194308),n=!1)}else{l=t.stateNode,hr(e,t),d=t.memoizedProps,x=Qa(a,d),l.props=x,U=t.pendingProps,w=l.context,E=a.contextType,b=mn,typeof E=="object"&&E!==null&&(b=Ke(E)),p=a.getDerivedStateFromProps,(E=typeof p=="function"||typeof l.getSnapshotBeforeUpdate=="function")||typeof l.UNSAFE_componentWillReceiveProps!="function"&&typeof l.componentWillReceiveProps!="function"||(d!==U||w!==b)&&yd(t,l,n,b),pa=!1,w=t.memoizedState,l.state=w,ci(t,n,l,i),ui();var k=t.memoizedState;d!==U||w!==k||pa||e!==null&&e.dependencies!==null&&ml(e.dependencies)?(typeof p=="function"&&(Br(t,a,p,n),k=t.memoizedState),(x=pa||vd(t,a,x,n,w,k,b)||e!==null&&e.dependencies!==null&&ml(e.dependencies))?(E||typeof l.UNSAFE_componentWillUpdate!="function"&&typeof l.componentWillUpdate!="function"||(typeof l.componentWillUpdate=="function"&&l.componentWillUpdate(n,k,b),typeof l.UNSAFE_componentWillUpdate=="function"&&l.UNSAFE_componentWillUpdate(n,k,b)),typeof l.componentDidUpdate=="function"&&(t.flags|=4),typeof l.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof l.componentDidUpdate!="function"||d===e.memoizedProps&&w===e.memoizedState||(t.flags|=4),typeof l.getSnapshotBeforeUpdate!="function"||d===e.memoizedProps&&w===e.memoizedState||(t.flags|=1024),t.memoizedProps=n,t.memoizedState=k),l.props=n,l.state=k,l.context=b,n=x):(typeof l.componentDidUpdate!="function"||d===e.memoizedProps&&w===e.memoizedState||(t.flags|=4),typeof l.getSnapshotBeforeUpdate!="function"||d===e.memoizedProps&&w===e.memoizedState||(t.flags|=1024),n=!1)}return l=n,Ol(e,t),n=(t.flags&128)!==0,l||n?(l=t.stateNode,a=n&&typeof a.getDerivedStateFromError!="function"?null:l.render(),t.flags|=1,e!==null&&n?(t.child=Ka(t,e.child,null,i),t.child=Ka(t,null,a,i)):Ze(e,t,a,i),t.memoizedState=l.state,e=t.child):e=$t(e,t,i),e}function jd(e,t,a,n){return qa(),t.flags|=256,Ze(e,t,a,n),t.child}var Fr={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Yr(e){return{baseLanes:e,cachePool:Ac()}}function Kr(e,t,a){return e=e!==null?e.childLanes&~a:0,t&&(e|=ht),e}function Nd(e,t,a){var n=t.pendingProps,i=!1,l=(t.flags&128)!==0,d;if((d=l)||(d=e!==null&&e.memoizedState===null?!1:(Ve.current&2)!==0),d&&(i=!0,t.flags&=-129),d=(t.flags&32)!==0,t.flags&=-33,e===null){if(ue){if(i?va(t):ya(),(e=we)?(e=Gf(e,kt),e=e!==null&&e.data!=="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:ca!==null?{id:Vt,overflow:Ut}:null,retryLane:536870912,hydrationErrors:null},a=mc(e),a.return=t,t.child=a,Ye=t,we=null)):e=null,e===null)throw fa(t);return Ms(e)?t.lanes=32:t.lanes=536870912,null}var p=n.children;return n=n.fallback,i?(ya(),i=t.mode,p=jl({mode:"hidden",children:p},i),n=Ba(n,i,a,null),p.return=t,n.return=t,p.sibling=n,t.child=p,n=t.child,n.memoizedState=Yr(a),n.childLanes=Kr(e,d,a),t.memoizedState=Fr,gi(null,n)):(va(t),Zr(t,p))}var b=e.memoizedState;if(b!==null&&(p=b.dehydrated,p!==null)){if(l)t.flags&256?(va(t),t.flags&=-257,t=Qr(e,t,a)):t.memoizedState!==null?(ya(),t.child=e.child,t.flags|=128,t=null):(ya(),p=n.fallback,i=t.mode,n=jl({mode:"visible",children:n.children},i),p=Ba(p,i,a,null),p.flags|=2,n.return=t,p.return=t,n.sibling=p,t.child=n,Ka(t,e.child,null,a),n=t.child,n.memoizedState=Yr(a),n.childLanes=Kr(e,d,a),t.memoizedState=Fr,t=gi(null,n));else if(va(t),Ms(p)){if(d=p.nextSibling&&p.nextSibling.dataset,d)var E=d.dgst;d=E,n=Error(r(419)),n.stack="",n.digest=d,ni({value:n,source:null,stack:null}),t=Qr(e,t,a)}else if(Be||vn(e,t,a,!1),d=(a&e.childLanes)!==0,Be||d){if(d=Ee,d!==null&&(n=Su(d,a),n!==0&&n!==b.retryLane))throw b.retryLane=n,La(e,n),rt(d,e,n),Hr;ks(p)||Hl(),t=Qr(e,t,a)}else ks(p)?(t.flags|=192,t.child=e.child,t=null):(e=b.treeContext,we=Dt(p.nextSibling),Ye=t,ue=!0,da=null,kt=!1,e!==null&&hc(t,e),t=Zr(t,n.children),t.flags|=4096);return t}return i?(ya(),p=n.fallback,i=t.mode,b=e.child,E=b.sibling,n=Gt(b,{mode:"hidden",children:n.children}),n.subtreeFlags=b.subtreeFlags&65011712,E!==null?p=Gt(E,p):(p=Ba(p,i,a,null),p.flags|=2),p.return=t,n.return=t,n.sibling=p,t.child=n,gi(null,n),n=t.child,p=e.child.memoizedState,p===null?p=Yr(a):(i=p.cachePool,i!==null?(b=Pe._currentValue,i=i.parent!==b?{parent:b,pool:b}:i):i=Ac(),p={baseLanes:p.baseLanes|a,cachePool:i}),n.memoizedState=p,n.childLanes=Kr(e,d,a),t.memoizedState=Fr,gi(e.child,n)):(va(t),a=e.child,e=a.sibling,a=Gt(a,{mode:"visible",children:n.children}),a.return=t,a.sibling=null,e!==null&&(d=t.deletions,d===null?(t.deletions=[e],t.flags|=16):d.push(e)),t.child=a,t.memoizedState=null,a)}function Zr(e,t){return t=jl({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function jl(e,t){return e=ft(22,e,null,t),e.lanes=0,e}function Qr(e,t,a){return Ka(t,e.child,null,a),e=Zr(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Vd(e,t,a){e.lanes|=t;var n=e.alternate;n!==null&&(n.lanes|=t),ur(e.return,t,a)}function $r(e,t,a,n,i,l){var d=e.memoizedState;d===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:n,tail:a,tailMode:i,treeForkCount:l}:(d.isBackwards=t,d.rendering=null,d.renderingStartTime=0,d.last=n,d.tail=a,d.tailMode=i,d.treeForkCount=l)}function Ud(e,t,a){var n=t.pendingProps,i=n.revealOrder,l=n.tail;n=n.children;var d=Ve.current,p=(d&2)!==0;if(p?(d=d&1|2,t.flags|=128):d&=1,B(Ve,d),Ze(e,t,n,a),n=ue?ai:0,!p&&e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Vd(e,a,t);else if(e.tag===19)Vd(e,a,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(a=t.child,i=null;a!==null;)e=a.alternate,e!==null&&zl(e)===null&&(i=a),a=a.sibling;a=i,a===null?(i=t.child,t.child=null):(i=a.sibling,a.sibling=null),$r(t,!1,i,a,l,
vendor: 4,996 bytes, line 299
299n);break;case"backwards":case"unstable_legacy-backwards":for(a=null,i=t.child,t.child=null;i!==null;){if(e=i.alternate,e!==null&&zl(e)===null){t.child=i;break}e=i.sibling,i.sibling=a,a=i,i=e}$r(t,!0,a,null,l,n);break;case"together":$r(t,!1,null,null,void 0,n);break;default:t.memoizedState=null}return t.child}function $t(e,t,a){if(e!==null&&(t.dependencies=e.dependencies),za|=t.lanes,(a&t.childLanes)===0)if(e!==null){if(vn(e,t,a,!1),(a&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(r(153));if(t.child!==null){for(e=t.child,a=Gt(e,e.pendingProps),t.child=a,a.return=t;e.sibling!==null;)e=e.sibling,a=a.sibling=Gt(e,e.pendingProps),a.return=t;a.sibling=null}return t.child}function Xr(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&ml(e)))}function Hg(e,t,a){switch(t.tag){case 3:We(t,t.stateNode.containerInfo),ma(t,Pe,e.memoizedState.cache),qa();break;case 27:case 5:_n(t);break;case 4:We(t,t.stateNode.containerInfo);break;case 10:ma(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,zr(t),null;break;case 13:var n=t.memoizedState;if(n!==null)return n.dehydrated!==null?(va(t),t.flags|=128,null):(a&t.child.childLanes)!==0?Nd(e,t,a):(va(t),e=$t(e,t,a),e!==null?e.sibling:null);va(t);break;case 19:var i=(e.flags&128)!==0;if(n=(a&t.childLanes)!==0,n||(vn(e,t,a,!1),n=(a&t.childLanes)!==0),i){if(n)return Ud(e,t,a);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),B(Ve,Ve.current),n)break;return null;case 22:return t.lanes=0,Md(e,t,a,t.pendingProps);case 24:ma(t,Pe,e.memoizedState.cache)}return $t(e,t,a)}function Pd(e,t,a){if(e!==null)if(e.memoizedProps!==t.pendingProps)Be=!0;else{if(!Xr(e,a)&&(t.flags&128)===0)return Be=!1,Hg(e,t,a);Be=(e.flags&131072)!==0}else Be=!1,ue&&(t.flags&1048576)!==0&&gc(t,ai,t.index);switch(t.lanes=0,t.tag){case 16:e:{var n=t.pendingProps;if(e=Fa(t.elementType),t.type=e,typeof e=="function")tr(e)?(n=Qa(e,n),t.tag=1,t=Od(null,t,e,n,a)):(t.tag=0,t=Gr(null,t,e,n,a));else{if(e!=null){var i=e.$$typeof;if(i===te){t.tag=11,t=Ed(null,t,e,n,a);break e}else if(i===Q){t.tag=14,t=wd(null,t,e,n,a);break e}}throw t=je(e)||e,Error(r(306,t,""))}}return t;case 0:return Gr(e,t,t.type,t.pendingProps,a);case 1:return n=t.type,i=Qa(n,t.pendingProps),Od(e,t,n,i,a);case 3:e:{if(We(t,t.stateNode.containerInfo),e===null)throw Error(r(387));n=t.pendingProps;var l=t.memoizedState;i=l.element,hr(e,t),ci(t,n,null,a);var d=t.memoizedState;if(n=d.cache,ma(t,Pe,n),n!==l.cache&&cr(t,[Pe],a,!0),ui(),n=d.element,l.isDehydrated)if(l={element:n,isDehydrated:!1,cache:d.cache},t.updateQueue.baseState=l,t.memoizedState=l,t.flags&256){t=jd(e,t,n,a);break e}else if(n!==i){i=Tt(Error(r(424)),t),ni(i),t=jd(e,t,n,a);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(we=Dt(e.firstChild),Ye=t,ue=!0,da=null,kt=!0,a=Mc(t,null,n,a),t.child=a;a;)a.flags=a.flags&-3|4096,a=a.sibling}else{if(qa(),n===i){t=$t(e,t,a);break e}Ze(e,t,n,a)}t=t.child}return t;case 26:return Ol(e,t),e===null?(a=$f(t.type,null,t.pendingProps,null))?t.memoizedState=a:ue||(a=t.type,e=t.pendingProps,n=$l(ne.current).createElement(a),n[Fe]=t,n[tt]=e,Qe(n,a,e),He(n),t.stateNode=n):t.memoizedState=$f(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return _n(t),e===null&&ue&&(n=t.stateNode=Kf(t.type,t.pendingProps,ne.current),Ye=t,kt=!0,i=we,wa(t.type)?(Ds=i,we=Dt(n.firstChild)):we=i),Ze(e,t,t.pendingProps.children,a),Ol(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&ue&&((i=n=we)&&(n=yh(n,t.type,t.pendingProps,kt),n!==null?(t.stateNode=n,Ye=t,we=Dt(n.firstChild),kt=!1,i=!0):i=!1),i||fa(t)),_n(t),i=t.type,l=t.pendingProps,d=e!==null?e.memoizedProps:null,n=l.children,Ts(i,l)?n=null:d!==null&&Ts(i,d)&&(t.flags|=32),t.memoizedState!==null&&(i=Cr(e,t,jg,null,null,a),Ri._currentValue=i),Ol(e,t),Ze(e,t,n,a),t.child;case 6:return e===null&&ue&&((e=a=we)&&(a=bh(a,t.pendingProps,kt),a!==null?(t.stateNode=a,Ye=t,we=null,e=!0):e=!1),e||fa(t)),null;case 13:return Nd(e,t,a);case 4:return We(t,t.stateNode.containerInfo),n=t.pendingProps,e===null?t.child=Ka(t,null,n,a):Ze(e,t,n,a),t.child;case 11:return Ed(e,t,t.type,t.pendingProps,a);case 7:return Ze(e,t,t.pendingProps,a),t.child;case 8:return Ze(e,t,t.pendingProps.children,a),t.child;case 12:return Ze(e,t,t.pendingProps.children,a),t.child;case 10:return n=t.pendingProps,ma(t,t.type,n.value),Ze(e,t,n.children,a),t.child;case 9:return i=t.type._context,n=t.pendingProps.children,Ha(t),i=Ke(i),n=n(i),t.flags|=1,Ze(e,t,n,a),t.child;case 14:return wd(e,t,t.type,t.pendingProps,a);case 15:return kd(e,t,t.type,t.pendingProps,a);case 19:return Ud(e,t,a);case 31:return _g(e,t,a);case 22:return Md(e,t,a,t.pendingProps);case 24:return Ha(t),n=Ke(Pe),e===null?(i=mr(),i===null&&(i=Ee,l=dr(),i.pooledCache=l,l.refCount++,l!==null&&(i.pooledCacheLanes|=a),i=l),t.memoizedState={parent:n,cache:i}
vendor: 9,349 bytes, line 299
299,gr(t),ma(t,Pe,i)):((e.lanes&a)!==0&&(hr(e,t),ci(t,null,null,a),ui()),i=e.memoizedState,l=t.memoizedState,i.parent!==n?(i={parent:n,cache:n},t.memoizedState=i,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=i),ma(t,Pe,n)):(n=l.cache,ma(t,Pe,n),n!==i.cache&&cr(t,[Pe],a,!0))),Ze(e,t,t.pendingProps.children,a),t.child;case 29:throw t.pendingProps}throw Error(r(156,t.tag))}function Xt(e){e.flags|=4}function Jr(e,t,a,n,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(df())e.flags|=8192;else throw Ya=vl,pr}else e.flags&=-16777217}function Ld(e,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!em(t))if(df())e.flags|=8192;else throw Ya=vl,pr}function Nl(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?vu():536870912,e.lanes|=t,Dn|=t)}function hi(e,t){if(!ue)switch(e.tailMode){case"hidden":t=e.tail;for(var a=null;t!==null;)t.alternate!==null&&(a=t),t=t.sibling;a===null?e.tail=null:a.sibling=null;break;case"collapsed":a=e.tail;for(var n=null;a!==null;)a.alternate!==null&&(n=a),a=a.sibling;n===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:n.sibling=null}}function ke(e){var t=e.alternate!==null&&e.alternate.child===e.child,a=0,n=0;if(t)for(var i=e.child;i!==null;)a|=i.lanes|i.childLanes,n|=i.subtreeFlags&65011712,n|=i.flags&65011712,i.return=e,i=i.sibling;else for(i=e.child;i!==null;)a|=i.lanes|i.childLanes,n|=i.subtreeFlags,n|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=n,e.childLanes=a,t}function Gg(e,t,a){var n=t.pendingProps;switch(lr(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return ke(t),null;case 1:return ke(t),null;case 3:return a=t.stateNode,n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),Kt(Pe),Ne(),a.pendingContext&&(a.context=a.pendingContext,a.pendingContext=null),(e===null||e.child===null)&&(hn(t)?Xt(t):e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,rr())),ke(t),null;case 26:var i=t.type,l=t.memoizedState;return e===null?(Xt(t),l!==null?(ke(t),Ld(t,l)):(ke(t),Jr(t,i,null,n,a))):l?l!==e.memoizedState?(Xt(t),ke(t),Ld(t,l)):(ke(t),t.flags&=-16777217):(e=e.memoizedProps,e!==n&&Xt(t),ke(t),Jr(t,i,e,n,a)),null;case 27:if(Yi(t),a=ne.current,i=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==n&&Xt(t);else{if(!n){if(t.stateNode===null)throw Error(r(166));return ke(t),null}e=G.current,hn(t)?vc(t):(e=Kf(i,n,a),t.stateNode=e,Xt(t))}return ke(t),null;case 5:if(Yi(t),i=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==n&&Xt(t);else{if(!n){if(t.stateNode===null)throw Error(r(166));return ke(t),null}if(l=G.current,hn(t))vc(t);else{var d=$l(ne.current);switch(l){case 1:l=d.createElementNS("http://www.w3.org/2000/svg",i);break;case 2:l=d.createElementNS("http://www.w3.org/1998/Math/MathML",i);break;default:switch(i){case"svg":l=d.createElementNS("http://www.w3.org/2000/svg",i);break;case"math":l=d.createElementNS("http://www.w3.org/1998/Math/MathML",i);break;case"script":l=d.createElement("div"),l.innerHTML="<script><\/script>",l=l.removeChild(l.firstChild);break;case"select":l=typeof n.is=="string"?d.createElement("select",{is:n.is}):d.createElement("select"),n.multiple?l.multiple=!0:n.size&&(l.size=n.size);break;default:l=typeof n.is=="string"?d.createElement(i,{is:n.is}):d.createElement(i)}}l[Fe]=t,l[tt]=n;e:for(d=t.child;d!==null;){if(d.tag===5||d.tag===6)l.appendChild(d.stateNode);else if(d.tag!==4&&d.tag!==27&&d.child!==null){d.child.return=d,d=d.child;continue}if(d===t)break e;for(;d.sibling===null;){if(d.return===null||d.return===t)break e;d=d.return}d.sibling.return=d.return,d=d.sibling}t.stateNode=l;e:switch(Qe(l,i,n),i){case"button":case"input":case"select":case"textarea":n=!!n.autoFocus;break e;case"img":n=!0;break e;default:n=!1}n&&Xt(t)}}return ke(t),Jr(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,a),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==n&&Xt(t);else{if(typeof n!="string"&&t.stateNode===null)throw Error(r(166));if(e=ne.current,hn(t)){if(e=t.stateNode,a=t.memoizedProps,n=null,i=Ye,i!==null)switch(i.tag){case 27:case 5:n=i.memoizedProps}e[Fe]=t,e=!!(e.nodeValue===a||n!==null&&n.suppressHydrationWarning===!0||Vf(e.nodeValue,a)),e||fa(t,!0)}else e=$l(e).createTextNode(n),e[Fe]=t,t.stateNode=e}return ke(t),null;case 31:if(a=t.memoizedState,e===null||e.memoizedState!==null){if(n=hn(t),a!==null){if(e===null){if(!n)throw Error(r(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(r(557));e[Fe]=t}else qa(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;ke(t),e=!1}else a=rr(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),e=!0;if(!e)return t.flags&256?(pt(t),t):(pt(t),null);if((t.flags&128)!==0)throw Error(r(558))}return ke(t),null;case 13:if(n=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(i=hn(t),n!==null&&n.dehydrated!==null){if(e===null){if(!i)throw Error(r(318));if(i=t.memoizedState,i=i!==null?i.dehydrated:null,!i)throw Error(r(317));i[Fe]=t}else qa(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;ke(t),i=!1}else i=rr(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),i=!0;if(!i)return t.flags&256?(pt(t),t):(pt(t),null)}return pt(t),(t.flags&128)!==0?(t.lanes=a,t):(a=n!==null,e=e!==null&&e.memoizedState!==null,a&&(n=t.child,i=null,n.alternate!==null&&n.alternate.memoizedState!==null&&n.alternate.memoizedState.cachePool!==null&&(i=n.alternate.memoizedState.cachePool.pool),l=null,n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(l=n.memoizedState.cachePool.pool),l!==i&&(n.flags|=2048)),a!==e&&a&&(t.child.flags|=8192),Nl(t,t.updateQueue),ke(t),null);case 4:return Ne(),e===null&&bs(t.stateNode.containerInfo),ke(t),null;case 10:return Kt(t.type),ke(t),null;case 19:if(N(Ve),n=t.memoizedState,n===null)return ke(t),null;if(i=(t.flags&128)!==0,l=n.rendering,l===null)if(i)hi(n,!1);else{if(Oe!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(l=zl(e),l!==null){for(t.flags|=128,hi(n,!1),e=l.updateQueue,t.updateQueue=e,Nl(t,e),t.subtreeFlags=0,e=a,a=t.child;a!==null;)fc(a,e),a=a.sibling;return B(Ve,Ve.current&1|2),ue&&Ft(t,n.treeForkCount),t.child}e=e.sibling}n.tail!==null&&st()>Bl&&(t.flags|=128,i=!0,hi(n,!1),t.lanes=4194304)}else{if(!i)if(e=zl(l),e!==null){if(t.flags|=128,i=!0,e=e.updateQueue,t.updateQueue=e,Nl(t,e),hi(n,!0),n.tail===null&&n.tailMode==="hidden"&&!l.alternate&&!ue)return ke(t),null}else 2*st()-n.renderingStartTime>Bl&&a!==536870912&&(t.flags|=128,i=!0,hi(n,!1),t.lanes=4194304);n.isBackwards?(l.sibling=t.child,t.child=l):(e=n.last,e!==null?e.sibling=l:t.child=l,n.last=l)}return n.tail!==null?(e=n.tail,n.rendering=e,n.tail=e.sibling,n.renderingStartTime=st(),e.sibling=null,a=Ve.current,B(Ve,i?a&1|2:a&1),ue&&Ft(t,n.treeForkCount),e):(ke(t),null);case 22:case 23:return pt(t),Sr(),n=t.memoizedState!==null,e!==null?e.memoizedState!==null!==n&&(t.flags|=8192):n&&(t.flags|=8192),n?(a&536870912)!==0&&(t.flags&128)===0&&(ke(t),t.subtreeFlags&6&&(t.flags|=8192)):ke(t),a=t.updateQueue,a!==null&&Nl(t,a.retryQueue),a=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),n=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(n=t.memoizedState.cachePool.pool),n!==a&&(t.flags|=2048),e!==null&&N(Ga),null;case 24:return a=null,e!==null&&(a=e.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),Kt(Pe),ke(t),null;case 25:return null;case 30:return null}throw Error(r(156,t.tag))}function Fg(e,t){switch(lr(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Kt(Pe),Ne(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Yi(t),null;case 31:if(t.memoizedState!==null){if(pt(t),t.alternate===null)throw Error(r(340));qa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(pt(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(r(340));qa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return N(Ve),null;case 4:return Ne(),null;case 10:return Kt(t.type),null;case 22:case 23:return pt(t),Sr(),e!==null&&N(Ga),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return Kt(Pe),null;case 25:return null;default:return null}}function Bd(e,t){switch(lr(t),t.tag){case 3:Kt(Pe),Ne();break;case 26:case 27:case 5:Yi(t);break;case 4:Ne();break;case 31:t.memoizedState!==null&&pt(t);break;case 13:pt(t);break;case 19:N(Ve);break;case 10:Kt(t.type);break;case 22:case 23:pt(t),Sr(),e!==null&&N(Ga);break;case 24:Kt(Pe)}}function vi(e,t){try{var a=t.updateQueue,n=a!==null?a.lastEffect:null;if(n!==null){var i=n.next;a=i;do{if((a.tag&e)===e){n=void 0;var l=a.create,d=a.inst;n=l(),d.destroy=n}a=a.next}while(a!==i)}}catch(p){be(t,t.return,p)}}function ba(e,t,a){try{var n=t.updateQueue,i=n!==null?n.lastEffect:null;if(i!==null){var l=i.next;n=l;do{if((n.tag&e)===e){var d=n.inst,p=d.destroy;if(p!==void 0){d.destroy=void 0,i=t;var b=a,E=p;try{E()}catch(x){be(i,b,x)}}}n=n.next}while(n!==l)}}catch(x){be(t,t.return,x)}}function qd(e){var t=e.updateQueue;if(t!==null){var a=e.stateNode;try{Rc(t,a)}catch(n){be(e,e.return,n)}}}function _d(e,t,a){a.props=Qa(e.type,e.memoizedProps),a.state=e.memoizedState;
vendor: 10,934 bytes, line 299
299try{a.componentWillUnmount()}catch(n){be(e,t,n)}}function yi(e,t){try{var a=e.ref;if(a!==null){switch(e.tag){case 26:case 27:case 5:var n=e.stateNode;break;case 30:n=e.stateNode;break;default:n=e.stateNode}typeof a=="function"?e.refCleanup=a(n):a.current=n}}catch(i){be(e,t,i)}}function Pt(e,t){var a=e.ref,n=e.refCleanup;if(a!==null)if(typeof n=="function")try{n()}catch(i){be(e,t,i)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof a=="function")try{a(null)}catch(i){be(e,t,i)}else a.current=null}function Hd(e){var t=e.type,a=e.memoizedProps,n=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":a.autoFocus&&n.focus();break e;case"img":a.src?n.src=a.src:a.srcSet&&(n.srcset=a.srcSet)}}catch(i){be(e,e.return,i)}}function Wr(e,t,a){try{var n=e.stateNode;fh(n,e.type,a,t),n[tt]=t}catch(i){be(e,e.return,i)}}function Gd(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&wa(e.type)||e.tag===4}function Ir(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Gd(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&&wa(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 es(e,t,a){var n=e.tag;if(n===5||n===6)e=e.stateNode,t?(a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a).insertBefore(e,t):(t=a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a,t.appendChild(e),a=a._reactRootContainer,a!=null||t.onclick!==null||(t.onclick=_t));else if(n!==4&&(n===27&&wa(e.type)&&(a=e.stateNode,t=null),e=e.child,e!==null))for(es(e,t,a),e=e.sibling;e!==null;)es(e,t,a),e=e.sibling}function Vl(e,t,a){var n=e.tag;if(n===5||n===6)e=e.stateNode,t?a.insertBefore(e,t):a.appendChild(e);else if(n!==4&&(n===27&&wa(e.type)&&(a=e.stateNode),e=e.child,e!==null))for(Vl(e,t,a),e=e.sibling;e!==null;)Vl(e,t,a),e=e.sibling}function Fd(e){var t=e.stateNode,a=e.memoizedProps;try{for(var n=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);Qe(t,n,a),t[Fe]=e,t[tt]=a}catch(l){be(e,e.return,l)}}var Jt=!1,qe=!1,ts=!1,Yd=typeof WeakSet=="function"?WeakSet:Set,Ge=null;function Yg(e,t){if(e=e.containerInfo,As=ao,e=nc(e),Qo(e)){if("selectionStart"in e)var a={start:e.selectionStart,end:e.selectionEnd};else e:{a=(a=e.ownerDocument)&&a.defaultView||window;var n=a.getSelection&&a.getSelection();if(n&&n.rangeCount!==0){a=n.anchorNode;var i=n.anchorOffset,l=n.focusNode;n=n.focusOffset;try{a.nodeType,l.nodeType}catch{a=null;break e}var d=0,p=-1,b=-1,E=0,x=0,U=e,w=null;t:for(;;){for(var k;U!==a||i!==0&&U.nodeType!==3||(p=d+i),U!==l||n!==0&&U.nodeType!==3||(b=d+n),U.nodeType===3&&(d+=U.nodeValue.length),(k=U.firstChild)!==null;)w=U,U=k;for(;;){if(U===e)break t;if(w===a&&++E===i&&(p=d),w===l&&++x===n&&(b=d),(k=U.nextSibling)!==null)break;U=w,w=U.parentNode}U=k}a=p===-1||b===-1?null:{start:p,end:b}}else a=null}a=a||{start:0,end:0}}else a=null;for(Cs={focusedElem:e,selectionRange:a},ao=!1,Ge=t;Ge!==null;)if(t=Ge,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Ge=e;else for(;Ge!==null;){switch(t=Ge,l=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(a=0;a<e.length;a++)i=e[a],i.ref.impl=i.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&l!==null){e=void 0,a=t,i=l.memoizedProps,l=l.memoizedState,n=a.stateNode;try{var F=Qa(a.type,i);e=n.getSnapshotBeforeUpdate(F,l),n.__reactInternalSnapshotBeforeUpdate=e}catch(X){be(a,a.return,X)}}break;case 3:if((e&1024)!==0){if(e=t.stateNode.containerInfo,a=e.nodeType,a===9)ws(e);else if(a===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":ws(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(r(163))}if(e=t.sibling,e!==null){e.return=t.return,Ge=e;break}Ge=t.return}}function Kd(e,t,a){var n=a.flags;switch(a.tag){case 0:case 11:case 15:It(e,a),n&4&&vi(5,a);break;case 1:if(It(e,a),n&4)if(e=a.stateNode,t===null)try{e.componentDidMount()}catch(d){be(a,a.return,d)}else{var i=Qa(a.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(i,t,e.__reactInternalSnapshotBeforeUpdate)}catch(d){be(a,a.return,d)}}n&64&&qd(a),n&512&&yi(a,a.return);break;case 3:if(It(e,a),n&64&&(e=a.updateQueue,e!==null)){if(t=null,a.child!==null)switch(a.child.tag){case 27:case 5:t=a.child.stateNode;break;case 1:t=a.child.stateNode}try{Rc(e,t)}catch(d){be(a,a.return,d)}}break;case 27:t===null&&n&4&&Fd(a);case 26:case 5:It(e,a),t===null&&n&4&&Hd(a),n&512&&yi(a,a.return);break;case 12:It(e,a);break;case 31:It(e,a),n&4&&$d(e,a);break;case 13:It(e,a),n&4&&Xd(e,a),n&64&&(e=a.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(a=eh.bind(null,a),Sh(e,a))));break;case 22:if(n=a.memoizedState!==null||Jt,!n){t=t!==null&&t.memoizedState!==null||qe,i=Jt;var l=qe;Jt=n,(qe=t)&&!l?ea(e,a,(a.subtreeFlags&8772)!==0):It(e,a),Jt=i,qe=l}break;case 30:break;default:It(e,a)}}function Zd(e){var t=e.alternate;t!==null&&(e.alternate=null,Zd(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&xo(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 Me=null,nt=!1;function Wt(e,t,a){for(a=a.child;a!==null;)Qd(e,t,a),a=a.sibling}function Qd(e,t,a){if(ut&&typeof ut.onCommitFiberUnmount=="function")try{ut.onCommitFiberUnmount(Hn,a)}catch{}switch(a.tag){case 26:qe||Pt(a,t),Wt(e,t,a),a.memoizedState?a.memoizedState.count--:a.stateNode&&(a=a.stateNode,a.parentNode.removeChild(a));break;case 27:qe||Pt(a,t);var n=Me,i=nt;wa(a.type)&&(Me=a.stateNode,nt=!1),Wt(e,t,a),ki(a.stateNode),Me=n,nt=i;break;case 5:qe||Pt(a,t);case 6:if(n=Me,i=nt,Me=null,Wt(e,t,a),Me=n,nt=i,Me!==null)if(nt)try{(Me.nodeType===9?Me.body:Me.nodeName==="HTML"?Me.ownerDocument.body:Me).removeChild(a.stateNode)}catch(l){be(a,t,l)}else try{Me.removeChild(a.stateNode)}catch(l){be(a,t,l)}break;case 18:Me!==null&&(nt?(e=Me,_f(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,a.stateNode),Pn(e)):_f(Me,a.stateNode));break;case 4:n=Me,i=nt,Me=a.stateNode.containerInfo,nt=!0,Wt(e,t,a),Me=n,nt=i;break;case 0:case 11:case 14:case 15:ba(2,a,t),qe||ba(4,a,t),Wt(e,t,a);break;case 1:qe||(Pt(a,t),n=a.stateNode,typeof n.componentWillUnmount=="function"&&_d(a,t,n)),Wt(e,t,a);break;case 21:Wt(e,t,a);break;case 22:qe=(n=qe)||a.memoizedState!==null,Wt(e,t,a),qe=n;break;default:Wt(e,t,a)}}function $d(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{Pn(e)}catch(a){be(t,t.return,a)}}}function Xd(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{Pn(e)}catch(a){be(t,t.return,a)}}function Kg(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new Yd),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new Yd),t;default:throw Error(r(435,e.tag))}}function Ul(e,t){var a=Kg(e);t.forEach(function(n){if(!a.has(n)){a.add(n);var i=th.bind(null,e,n);n.then(i,i)}})}function it(e,t){var a=t.deletions;if(a!==null)for(var n=0;n<a.length;n++){var i=a[n],l=e,d=t,p=d;e:for(;p!==null;){switch(p.tag){case 27:if(wa(p.type)){Me=p.stateNode,nt=!1;break e}break;case 5:Me=p.stateNode,nt=!1;break e;case 3:case 4:Me=p.stateNode.containerInfo,nt=!0;break e}p=p.return}if(Me===null)throw Error(r(160));Qd(l,d,i),Me=null,nt=!1,l=i.alternate,l!==null&&(l.return=null),i.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)Jd(t,e),t=t.sibling}var Ot=null;function Jd(e,t){var a=e.alternate,n=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:it(t,e),lt(e),n&4&&(ba(3,e,e.return),vi(3,e),ba(5,e,e.return));break;case 1:it(t,e),lt(e),n&512&&(qe||a===null||Pt(a,a.return)),n&64&&Jt&&(e=e.updateQueue,e!==null&&(n=e.callbacks,n!==null&&(a=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=a===null?n:a.concat(n))));break;case 26:var i=Ot;if(it(t,e),lt(e),n&512&&(qe||a===null||Pt(a,a.return)),n&4){var l=a!==null?a.memoizedState:null;if(n=e.memoizedState,a===null)if(n===null)if(e.stateNode===null){e:{n=e.type,a=e.memoizedProps,i=i.ownerDocument||i;t:switch(n){case"title":l=i.getElementsByTagName("title")[0],(!l||l[Yn]||l[Fe]||l.namespaceURI==="http://www.w3.org/2000/svg"||l.hasAttribute("itemprop"))&&(l=i.createElement(n),i.head.insertBefore(l,i.querySelector("head > title"))),Qe(l,n,a),l[Fe]=e,He(l),n=l;break e;case"link":var d=Wf("link","href",i).get(n+(a.href||""));if(d){for(var p=0;p<d.length;p++)if(l=d[p],l.getAttribute("href")===(a.href==null||a.href===""?null:a.href)&&l.getAttribute("rel")===(a.rel==null?null:a.rel)&&l.getAttribute("title")===(a.title==null?null:a.title)&&l.getAttribute("crossorigin")===(a.crossOrigin==null?null:a.crossOrigin)){d.splice(p,1);break t}}l=i.createElement(n),Qe(l,n,a),i.head.appendChild(l);break;case"meta":if(d=Wf("meta","content",i).get(n+(a.content||""))){for(p=0;p<d.length;p++)if(l=d[p],l.getAttribute("content")===(a.content==null?null:""+a.content)&&l.getAttribute("name")===(a.name==null?null:a.name)&&l.getAttribute("property")===(a.property==null?null:a.property)&&l.getAttribute("http-equiv")===(a.httpEquiv==null?null:a.httpEquiv)&&l.getAttribute("charset")===(a.charSet==null?null:a.charSet)){d.splice(p,1);break t}}l=i.createElement(n),Qe(l,n,a),i.head.appendChild(l);break;default:throw Error(r(468,n))}l[Fe]=e,He(l),n=l}e.stateNode=n}else If(i,e.type,e.stateNode);else e.stateNode=Jf(i,n,e.memoizedProps);else l!==n?(l===null?a.stateNode!==null&&(a=a.stateNode,a.parentNode.removeChild(a)):l.count--,n===null?If(i,e.type,e.stateNode):Jf(i,n,e.memoizedProps)):n===null&&e.stateNode!==null&&Wr(e,e.memoizedProps,a.memoizedProps)}break;case 27:it(t,e),lt(e),n&512&&(qe||a===null||Pt(a,a.return)),a!==null&&n&4&&Wr(e,e.memoizedProps,a.memoizedProps);break;case 5:if(it(t,e),lt(e),n&512&&(qe||a===null||Pt(a,a.return)),e.flags&32){i=e.stateNode;try{on(i,"")}catch(F){be(e,e.return,F)}}n&4&&e.stateNode!=null&&(i=e.memoizedProps,Wr(e,i,a!==null?a.memoizedProps:i)),n&1024&&(ts=!0);break;case 6:if(it(t,e),lt(e),n&4){if(e.stateNode===null)throw Error(r(162));n=e.memoizedProps,a=e.stateNode;try{a.nodeValue=n}catch(F){be(e,e.return,F)}}break;case 3:if(Wl=null,i=Ot,Ot=Xl(t.containerInfo),it(t,e),Ot=i,lt(e),n&4&&a!==null&&a.memoizedState.isDehydrated)try{Pn(t.containerInfo)}catch(F){be(e,e.return,F)}ts&&(ts=!1,Wd(e));break;case 4:n=Ot,Ot=Xl(e.stateNode.containerInfo),it(t,e),lt(e),Ot=n;break;case 12:it(t,e),lt(e);break;case 31:it(t,e),lt(e),n&4&&(n=e.updateQueue,n!==null&&(e.updateQueue=null,Ul(e,n)));break;case 13:it(t,e),lt(e),e.child.flags&8192&&e.memoizedState!==null!=(a!==null&&a.memoizedState!==null)&&(Ll=st()),n&4&&(n=e.updateQueue,n!==null&&(e.updateQueue=null,Ul(e,n)));break;case 22:i=e.memoizedState!==null;var b=a!==null&&a.memoizedState!==null,E=Jt,x=qe;
vendor: 10,678 bytes, line 299
299if(Jt=E||i,qe=x||b,it(t,e),qe=x,Jt=E,lt(e),n&8192)e:for(t=e.stateNode,t._visibility=i?t._visibility&-2:t._visibility|1,i&&(a===null||b||Jt||qe||$a(e)),a=null,t=e;;){if(t.tag===5||t.tag===26){if(a===null){b=a=t;try{if(l=b.stateNode,i)d=l.style,typeof d.setProperty=="function"?d.setProperty("display","none","important"):d.display="none";else{p=b.stateNode;var U=b.memoizedProps.style,w=U!=null&&U.hasOwnProperty("display")?U.display:null;p.style.display=w==null||typeof w=="boolean"?"":(""+w).trim()}}catch(F){be(b,b.return,F)}}}else if(t.tag===6){if(a===null){b=t;try{b.stateNode.nodeValue=i?"":b.memoizedProps}catch(F){be(b,b.return,F)}}}else if(t.tag===18){if(a===null){b=t;try{var k=b.stateNode;i?Hf(k,!0):Hf(b.stateNode,!1)}catch(F){be(b,b.return,F)}}}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;a===t&&(a=null),t=t.return}a===t&&(a=null),t.sibling.return=t.return,t=t.sibling}n&4&&(n=e.updateQueue,n!==null&&(a=n.retryQueue,a!==null&&(n.retryQueue=null,Ul(e,a))));break;case 19:it(t,e),lt(e),n&4&&(n=e.updateQueue,n!==null&&(e.updateQueue=null,Ul(e,n)));break;case 30:break;case 21:break;default:it(t,e),lt(e)}}function lt(e){var t=e.flags;if(t&2){try{for(var a,n=e.return;n!==null;){if(Gd(n)){a=n;break}n=n.return}if(a==null)throw Error(r(160));switch(a.tag){case 27:var i=a.stateNode,l=Ir(e);Vl(e,l,i);break;case 5:var d=a.stateNode;a.flags&32&&(on(d,""),a.flags&=-33);var p=Ir(e);Vl(e,p,d);break;case 3:case 4:var b=a.stateNode.containerInfo,E=Ir(e);es(e,E,b);break;default:throw Error(r(161))}}catch(x){be(e,e.return,x)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function Wd(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;Wd(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function It(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)Kd(e,t.alternate,t),t=t.sibling}function $a(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:ba(4,t,t.return),$a(t);break;case 1:Pt(t,t.return);var a=t.stateNode;typeof a.componentWillUnmount=="function"&&_d(t,t.return,a),$a(t);break;case 27:ki(t.stateNode);case 26:case 5:Pt(t,t.return),$a(t);break;case 22:t.memoizedState===null&&$a(t);break;case 30:$a(t);break;default:$a(t)}e=e.sibling}}function ea(e,t,a){for(a=a&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var n=t.alternate,i=e,l=t,d=l.flags;switch(l.tag){case 0:case 11:case 15:ea(i,l,a),vi(4,l);break;case 1:if(ea(i,l,a),n=l,i=n.stateNode,typeof i.componentDidMount=="function")try{i.componentDidMount()}catch(E){be(n,n.return,E)}if(n=l,i=n.updateQueue,i!==null){var p=n.stateNode;try{var b=i.shared.hiddenCallbacks;if(b!==null)for(i.shared.hiddenCallbacks=null,i=0;i<b.length;i++)Dc(b[i],p)}catch(E){be(n,n.return,E)}}a&&d&64&&qd(l),yi(l,l.return);break;case 27:Fd(l);case 26:case 5:ea(i,l,a),a&&n===null&&d&4&&Hd(l),yi(l,l.return);break;case 12:ea(i,l,a);break;case 31:ea(i,l,a),a&&d&4&&$d(i,l);break;case 13:ea(i,l,a),a&&d&4&&Xd(i,l);break;case 22:l.memoizedState===null&&ea(i,l,a),yi(l,l.return);break;case 30:break;default:ea(i,l,a)}t=t.sibling}}function as(e,t){var a=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==a&&(e!=null&&e.refCount++,a!=null&&ii(a))}function ns(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&ii(e))}function jt(e,t,a,n){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)Id(e,t,a,n),t=t.sibling}function Id(e,t,a,n){var i=t.flags;switch(t.tag){case 0:case 11:case 15:jt(e,t,a,n),i&2048&&vi(9,t);break;case 1:jt(e,t,a,n);break;case 3:jt(e,t,a,n),i&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&ii(e)));break;case 12:if(i&2048){jt(e,t,a,n),e=t.stateNode;try{var l=t.memoizedProps,d=l.id,p=l.onPostCommit;typeof p=="function"&&p(d,t.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(b){be(t,t.return,b)}}else jt(e,t,a,n);break;case 31:jt(e,t,a,n);break;case 13:jt(e,t,a,n);break;case 23:break;case 22:l=t.stateNode,d=t.alternate,t.memoizedState!==null?l._visibility&2?jt(e,t,a,n):bi(e,t):l._visibility&2?jt(e,t,a,n):(l._visibility|=2,wn(e,t,a,n,(t.subtreeFlags&10256)!==0||!1)),i&2048&&as(d,t);break;case 24:jt(e,t,a,n),i&2048&&ns(t.alternate,t);break;default:jt(e,t,a,n)}}function wn(e,t,a,n,i){for(i=i&&((t.subtreeFlags&10256)!==0||!1),t=t.child;t!==null;){var l=e,d=t,p=a,b=n,E=d.flags;switch(d.tag){case 0:case 11:case 15:wn(l,d,p,b,i),vi(8,d);break;case 23:break;case 22:var x=d.stateNode;d.memoizedState!==null?x._visibility&2?wn(l,d,p,b,i):bi(l,d):(x._visibility|=2,wn(l,d,p,b,i)),i&&E&2048&&as(d.alternate,d);break;case 24:wn(l,d,p,b,i),i&&E&2048&&ns(d.alternate,d);break;default:wn(l,d,p,b,i)}t=t.sibling}}function bi(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var a=e,n=t,i=n.flags;switch(n.tag){case 22:bi(a,n),i&2048&&as(n.alternate,n);break;case 24:bi(a,n),i&2048&&ns(n.alternate,n);break;default:bi(a,n)}t=t.sibling}}var Si=8192;function kn(e,t,a){if(e.subtreeFlags&Si)for(e=e.child;e!==null;)ef(e,t,a),e=e.sibling}function ef(e,t,a){switch(e.tag){case 26:kn(e,t,a),e.flags&Si&&e.memoizedState!==null&&Oh(a,Ot,e.memoizedState,e.memoizedProps);break;case 5:kn(e,t,a);break;case 3:case 4:var n=Ot;Ot=Xl(e.stateNode.containerInfo),kn(e,t,a),Ot=n;break;case 22:e.memoizedState===null&&(n=e.alternate,n!==null&&n.memoizedState!==null?(n=Si,Si=16777216,kn(e,t,a),Si=n):kn(e,t,a));break;default:kn(e,t,a)}}function tf(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 zi(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var a=0;a<t.length;a++){var n=t[a];Ge=n,nf(n,e)}tf(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)af(e),e=e.sibling}function af(e){switch(e.tag){case 0:case 11:case 15:zi(e),e.flags&2048&&ba(9,e,e.return);break;case 3:zi(e);break;case 12:zi(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,Pl(e)):zi(e);break;default:zi(e)}}function Pl(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var a=0;a<t.length;a++){var n=t[a];Ge=n,nf(n,e)}tf(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:ba(8,t,t.return),Pl(t);break;case 22:a=t.stateNode,a._visibility&2&&(a._visibility&=-3,Pl(t));break;default:Pl(t)}e=e.sibling}}function nf(e,t){for(;Ge!==null;){var a=Ge;switch(a.tag){case 0:case 11:case 15:ba(8,a,t);break;case 23:case 22:if(a.memoizedState!==null&&a.memoizedState.cachePool!==null){var n=a.memoizedState.cachePool.pool;n!=null&&n.refCount++}break;case 24:ii(a.memoizedState.cache)}if(n=a.child,n!==null)n.return=a,Ge=n;else e:for(a=e;Ge!==null;){n=Ge;var i=n.sibling,l=n.return;if(Zd(n),n===a){Ge=null;break e}if(i!==null){i.return=l,Ge=i;break e}Ge=l}}}var Zg={getCacheForType:function(e){var t=Ke(Pe),a=t.data.get(e);return a===void 0&&(a=e(),t.data.set(e,a)),a},cacheSignal:function(){return Ke(Pe).controller.signal}},Qg=typeof WeakMap=="function"?WeakMap:Map,pe=0,Ee=null,ie=null,re=0,ye=0,gt=null,Sa=!1,Mn=!1,is=!1,ta=0,Oe=0,za=0,Xa=0,ls=0,ht=0,Dn=0,Ai=null,ot=null,os=!1,Ll=0,lf=0,Bl=1/0,ql=null,Aa=null,_e=0,Ca=null,Rn=null,aa=0,rs=0,ss=null,of=null,Ci=0,us=null;function vt(){return(pe&2)!==0&&re!==0?re&-re:R.T!==null?gs():zu()}function rf(){if(ht===0)if((re&536870912)===0||ue){var e=Qi;Qi<<=1,(Qi&3932160)===0&&(Qi=262144),ht=e}else ht=536870912;return e=mt.current,e!==null&&(e.flags|=32),ht}function rt(e,t,a){(e===Ee&&(ye===2||ye===9)||e.cancelPendingCommit!==null)&&(xn(e,0),Ta(e,re,ht,!1)),Fn(e,a),((pe&2)===0||e!==Ee)&&(e===Ee&&((pe&2)===0&&(Xa|=a),Oe===4&&Ta(e,re,ht,!1)),Lt(e))}function sf(e,t,a){if((pe&6)!==0)throw Error(r(327));var n=!a&&(t&127)===0&&(t&e.expiredLanes)===0||Gn(e,t),i=n?Jg(e,t):ds(e,t,!0),l=n;do{if(i===0){Mn&&!n&&Ta(e,t,0,!1);break}else{if(a=e.current.alternate,l&&!$g(a)){i=ds(e,t,!1),l=!1;continue}if(i===2){if(l=t,e.errorRecoveryDisabledLanes&l)var d=0;else d=e.pendingLanes&-536870913,d=d!==0?d:d&536870912?536870912:0;if(d!==0){t=d;e:{var p=e;i=Ai;var b=p.current.memoizedState.isDehydrated;if(b&&(xn(p,d).flags|=256),d=ds(p,d,!1),d!==2){if(is&&!b){p.errorRecoveryDisabledLanes|=l,Xa|=l,i=4;break e}l=ot,ot=i,l!==null&&(ot===null?ot=l:ot.push.apply(ot,l))}i=d}if(l=!1,i!==2)continue}}if(i===1){xn(e,0),Ta(e,t,0,!0);break}e:{switch(n=e,l=i,l){case 0:case 1:throw Error(r(345));case 4:if((t&4194048)!==t)break;case 6:Ta(n,t,ht,!Sa);break e;case 2:ot=null;break;case 3:case 5:break;default:throw Error(r(329))}if((t&62914560)===t&&(i=Ll+300-st(),10<i)){if(Ta(n,t,ht,!Sa),Xi(n,0,!0)!==0)break e;aa=t,n.timeoutHandle=Bf(uf.bind(null,n,a,ot,ql,os,t,ht,Xa,Dn,Sa,l,"Throttled",-0,0),i);break e}uf(n,a,ot,ql,os,t,ht,Xa,Dn,Sa,l,null,-0,0)}}break}while(!0);Lt(e)}function uf(e,t,a,n,i,l,d,p,b,E,x,U,w,k){if(e.timeoutHandle=-1,U=t.subtreeFlags,U&8192||(U&16785408)===16785408){U={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:_t},ef(t,l,U);var F=(l&62914560)===l?Ll-st():(l&4194048)===l?lf-st():0;if(F=jh(U,F),F!==null){aa=l,e.cancelPendingCommit=F(vf.bind(null,e,t,l,a,n,i,d,p,b,x,U,null,w,k)),Ta(e,l,d,!E);return}}vf(e,t,l,a,n,i,d,p,b)}function $g(e){for(var t=e;;){var a=t.tag;if((a===0||a===11||a===15)&&t.flags&16384&&(a=t.updateQueue,a!==null&&(a=a.stores,a!==null)))for(var n=0;n<a.length;n++){var i=a[n],l=i.getSnapshot;i=i.value;try{if(!dt(l(),i))return!1}catch{return!1}}if(a=t.child,t.subtreeFlags&16384&&a!==null)a.return=t,t=a;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 Ta(e,t,a,n){t&=~ls,t&=~Xa,e.suspendedLanes|=t,e.pingedLanes&=~t,n&&(e.warmLanes|=t),n=e.expirationTimes;for(var i=t;0<i;){var l=31-ct(i),d=1<<l;n[l]=-1,i&=~d}a!==0&&yu(e,a,t)}function _l(){return(pe&6)===0?(Ti(0),!1):!0}function cs(){if(ie!==null){if(ye===0)var e=ie.return;else e=ie,Yt=_a=null,wr(e),zn=null,oi=0,e=ie;for(;e!==null;)Bd(e.alternate,e),e=e.return;ie=null}}function xn(e,t){var a=e.timeoutHandle;a!==-1&&(e.timeoutHandle=-1,gh(a)),a=e.cancelPendingCommit,a!==null&&(e.cancelPendingCommit=null,a()),aa=0,cs(),Ee=e,ie=a=Gt(e.current,null),re=t,ye=0,gt=null,Sa=!1,Mn=Gn(e,t),is=!1,Dn=ht=ls=Xa=za=Oe=0,ot=Ai=null,os=!1,(t&8)!==0&&(t|=t&32);var n=e.entangledLanes;if(n!==0)for(e=e.entanglements,n&=t;0<n;){var i=31-ct(n),l=1<<i;t|=e[i],n&=~l}
vendor: 4,476 bytes, line 299
299return ta=t,sl(),a}function cf(e,t){ee=null,R.H=pi,t===Sn||t===hl?(t=Ec(),ye=3):t===pr?(t=Ec(),ye=4):ye=t===Hr?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,gt=t,ie===null&&(Oe=1,Rl(e,Tt(t,e.current)))}function df(){var e=mt.current;return e===null?!0:(re&4194048)===re?Mt===null:(re&62914560)===re||(re&536870912)!==0?e===Mt:!1}function ff(){var e=R.H;return R.H=pi,e===null?pi:e}function mf(){var e=R.A;return R.A=Zg,e}function Hl(){Oe=4,Sa||(re&4194048)!==re&&mt.current!==null||(Mn=!0),(za&134217727)===0&&(Xa&134217727)===0||Ee===null||Ta(Ee,re,ht,!1)}function ds(e,t,a){var n=pe;pe|=2;var i=ff(),l=mf();(Ee!==e||re!==t)&&(ql=null,xn(e,t)),t=!1;var d=Oe;e:do try{if(ye!==0&&ie!==null){var p=ie,b=gt;switch(ye){case 8:cs(),d=6;break e;case 3:case 2:case 9:case 6:mt.current===null&&(t=!0);var E=ye;if(ye=0,gt=null,On(e,p,b,E),a&&Mn){d=0;break e}break;default:E=ye,ye=0,gt=null,On(e,p,b,E)}}Xg(),d=Oe;break}catch(x){cf(e,x)}while(!0);return t&&e.shellSuspendCounter++,Yt=_a=null,pe=n,R.H=i,R.A=l,ie===null&&(Ee=null,re=0,sl()),d}function Xg(){for(;ie!==null;)pf(ie)}function Jg(e,t){var a=pe;pe|=2;var n=ff(),i=mf();Ee!==e||re!==t?(ql=null,Bl=st()+500,xn(e,t)):Mn=Gn(e,t);e:do try{if(ye!==0&&ie!==null){t=ie;var l=gt;t:switch(ye){case 1:ye=0,gt=null,On(e,t,l,1);break;case 2:case 9:if(Cc(l)){ye=0,gt=null,gf(t);break}t=function(){ye!==2&&ye!==9||Ee!==e||(ye=7),Lt(e)},l.then(t,t);break e;case 3:ye=7;break e;case 4:ye=5;break e;case 7:Cc(l)?(ye=0,gt=null,gf(t)):(ye=0,gt=null,On(e,t,l,7));break;case 5:var d=null;switch(ie.tag){case 26:d=ie.memoizedState;case 5:case 27:var p=ie;if(d?em(d):p.stateNode.complete){ye=0,gt=null;var b=p.sibling;if(b!==null)ie=b;else{var E=p.return;E!==null?(ie=E,Gl(E)):ie=null}break t}}ye=0,gt=null,On(e,t,l,5);break;case 6:ye=0,gt=null,On(e,t,l,6);break;case 8:cs(),Oe=6;break e;default:throw Error(r(462))}}Wg();break}catch(x){cf(e,x)}while(!0);return Yt=_a=null,R.H=n,R.A=i,pe=a,ie!==null?0:(Ee=null,re=0,sl(),Oe)}function Wg(){for(;ie!==null&&!zp();)pf(ie)}function pf(e){var t=Pd(e.alternate,e,ta);e.memoizedProps=e.pendingProps,t===null?Gl(e):ie=t}function gf(e){var t=e,a=t.alternate;switch(t.tag){case 15:case 0:t=xd(a,t,t.pendingProps,t.type,void 0,re);break;case 11:t=xd(a,t,t.pendingProps,t.type.render,t.ref,re);break;case 5:wr(t);default:Bd(a,t),t=ie=fc(t,ta),t=Pd(a,t,ta)}e.memoizedProps=e.pendingProps,t===null?Gl(e):ie=t}function On(e,t,a,n){Yt=_a=null,wr(t),zn=null,oi=0;var i=t.return;try{if(qg(e,i,t,a,re)){Oe=1,Rl(e,Tt(a,e.current)),ie=null;return}}catch(l){if(i!==null)throw ie=i,l;Oe=1,Rl(e,Tt(a,e.current)),ie=null;return}t.flags&32768?(ue||n===1?e=!0:Mn||(re&536870912)!==0?e=!1:(Sa=e=!0,(n===2||n===9||n===3||n===6)&&(n=mt.current,n!==null&&n.tag===13&&(n.flags|=16384))),hf(t,e)):Gl(t)}function Gl(e){var t=e;do{if((t.flags&32768)!==0){hf(t,Sa);return}e=t.return;var a=Gg(t.alternate,t,ta);if(a!==null){ie=a;return}if(t=t.sibling,t!==null){ie=t;return}ie=t=e}while(t!==null);Oe===0&&(Oe=5)}function hf(e,t){do{var a=Fg(e.alternate,e);if(a!==null){a.flags&=32767,ie=a;return}if(a=e.return,a!==null&&(a.flags|=32768,a.subtreeFlags=0,a.deletions=null),!t&&(e=e.sibling,e!==null)){ie=e;return}ie=e=a}while(e!==null);Oe=6,ie=null}function vf(e,t,a,n,i,l,d,p,b){e.cancelPendingCommit=null;do Fl();while(_e!==0);if((pe&6)!==0)throw Error(r(327));if(t!==null){if(t===e.current)throw Error(r(177));if(l=t.lanes|t.childLanes,l|=Io,xp(e,a,l,d,p,b),e===Ee&&(ie=Ee=null,re=0),Rn=t,Ca=e,aa=a,rs=l,ss=i,of=n,(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,ah(Ki,function(){return Af(),null})):(e.callbackNode=null,e.callbackPriority=0),n=(t.flags&13878)!==0,(t.subtreeFlags&13878)!==0||n){n=R.T,R.T=null,i=P.p,P.p=2,d=pe,pe|=4;try{Yg(e,t,a)}finally{pe=d,P.p=i,R.T=n}}_e=1,yf(),bf(),Sf()}}function yf(){if(_e===1){_e=0;var e=Ca,t=Rn,a=(t.flags&13878)!==0;if((t.subtreeFlags&13878)!==0||a){a=R.T,R.T=null;var n=P.p;P.p=2;var i=pe;pe|=4;try{Jd(t,e);var l=Cs,d=nc(e.containerInfo),p=l.focusedElem,b=l.selectionRange;if(d!==p&&p&&p.ownerDocument&&ac(p.ownerDocument.documentElement,p)){if(b!==null&&Qo(p)){var E=b.start,x=b.end;if(x===void 0&&(x=E),"selectionStart"in p)p.selectionStart=E,p.selectionEnd=Math.min(x,p.value.length);else{var U=p.ownerDocument||document,w=U&&U.defaultView||window;if(w.getSelection){var k=w.getSelection(),F=p.textContent.length,X=Math.min(b.start,F),Ce=b.end===void 0?X:Math.min(b.end,F);!k.extend&&X>Ce&&(d=Ce,Ce=X,X=d);var C=tc(p,X),A=tc(p,Ce);
vendor: 27,784 bytes, lines 299-300
299if(C&&A&&(k.rangeCount!==1||k.anchorNode!==C.node||k.anchorOffset!==C.offset||k.focusNode!==A.node||k.focusOffset!==A.offset)){var T=U.createRange();T.setStart(C.node,C.offset),k.removeAllRanges(),X>Ce?(k.addRange(T),k.extend(A.node,A.offset)):(T.setEnd(A.node,A.offset),k.addRange(T))}}}}for(U=[],k=p;k=k.parentNode;)k.nodeType===1&&U.push({element:k,left:k.scrollLeft,top:k.scrollTop});for(typeof p.focus=="function"&&p.focus(),p=0;p<U.length;p++){var V=U[p];V.element.scrollLeft=V.left,V.element.scrollTop=V.top}}ao=!!As,Cs=As=null}finally{pe=i,P.p=n,R.T=a}}e.current=t,_e=2}}function bf(){if(_e===2){_e=0;var e=Ca,t=Rn,a=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||a){a=R.T,R.T=null;var n=P.p;P.p=2;var i=pe;pe|=4;try{Kd(e,t.alternate,t)}finally{pe=i,P.p=n,R.T=a}}_e=3}}function Sf(){if(_e===4||_e===3){_e=0,Ap();var e=Ca,t=Rn,a=aa,n=of;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?_e=5:(_e=0,Rn=Ca=null,zf(e,e.pendingLanes));var i=e.pendingLanes;if(i===0&&(Aa=null),Do(a),t=t.stateNode,ut&&typeof ut.onCommitFiberRoot=="function")try{ut.onCommitFiberRoot(Hn,t,void 0,(t.current.flags&128)===128)}catch{}if(n!==null){t=R.T,i=P.p,P.p=2,R.T=null;try{for(var l=e.onRecoverableError,d=0;d<n.length;d++){var p=n[d];l(p.value,{componentStack:p.stack})}}finally{R.T=t,P.p=i}}(aa&3)!==0&&Fl(),Lt(e),i=e.pendingLanes,(a&261930)!==0&&(i&42)!==0?e===us?Ci++:(Ci=0,us=e):Ci=0,Ti(0)}}function zf(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,ii(t)))}function Fl(){return yf(),bf(),Sf(),Af()}function Af(){if(_e!==5)return!1;var e=Ca,t=rs;rs=0;var a=Do(aa),n=R.T,i=P.p;try{P.p=32>a?32:a,R.T=null,a=ss,ss=null;var l=Ca,d=aa;if(_e=0,Rn=Ca=null,aa=0,(pe&6)!==0)throw Error(r(331));var p=pe;if(pe|=4,af(l.current),Id(l,l.current,d,a),pe=p,Ti(0,!1),ut&&typeof ut.onPostCommitFiberRoot=="function")try{ut.onPostCommitFiberRoot(Hn,l)}catch{}return!0}finally{P.p=i,R.T=n,zf(e,t)}}function Cf(e,t,a){t=Tt(a,t),t=_r(e.stateNode,t,2),e=ha(e,t,2),e!==null&&(Fn(e,2),Lt(e))}function be(e,t,a){if(e.tag===3)Cf(e,e,a);else for(;t!==null;){if(t.tag===3){Cf(t,e,a);break}else if(t.tag===1){var n=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof n.componentDidCatch=="function"&&(Aa===null||!Aa.has(n))){e=Tt(a,e),a=Cd(2),n=ha(t,a,2),n!==null&&(Td(a,n,t,e),Fn(n,2),Lt(n));break}}t=t.return}}function fs(e,t,a){var n=e.pingCache;if(n===null){n=e.pingCache=new Qg;var i=new Set;n.set(t,i)}else i=n.get(t),i===void 0&&(i=new Set,n.set(t,i));i.has(a)||(is=!0,i.add(a),e=Ig.bind(null,e,t,a),t.then(e,e))}function Ig(e,t,a){var n=e.pingCache;n!==null&&n.delete(t),e.pingedLanes|=e.suspendedLanes&a,e.warmLanes&=~a,Ee===e&&(re&a)===a&&(Oe===4||Oe===3&&(re&62914560)===re&&300>st()-Ll?(pe&2)===0&&xn(e,0):ls|=a,Dn===re&&(Dn=0)),Lt(e)}function Tf(e,t){t===0&&(t=vu()),e=La(e,t),e!==null&&(Fn(e,t),Lt(e))}function eh(e){var t=e.memoizedState,a=0;t!==null&&(a=t.retryLane),Tf(e,a)}function th(e,t){var a=0;switch(e.tag){case 31:case 13:var n=e.stateNode,i=e.memoizedState;i!==null&&(a=i.retryLane);break;case 19:n=e.stateNode;break;case 22:n=e.stateNode._retryCache;break;default:throw Error(r(314))}n!==null&&n.delete(t),Tf(e,a)}function ah(e,t){return Eo(e,t)}var Yl=null,jn=null,ms=!1,Kl=!1,ps=!1,Ea=0;function Lt(e){e!==jn&&e.next===null&&(jn===null?Yl=jn=e:jn=jn.next=e),Kl=!0,ms||(ms=!0,ih())}function Ti(e,t){if(!ps&&Kl){ps=!0;do for(var a=!1,n=Yl;n!==null;){if(e!==0){var i=n.pendingLanes;if(i===0)var l=0;else{var d=n.suspendedLanes,p=n.pingedLanes;l=(1<<31-ct(42|e)+1)-1,l&=i&~(d&~p),l=l&201326741?l&201326741|1:l?l|2:0}l!==0&&(a=!0,Mf(n,l))}else l=re,l=Xi(n,n===Ee?l:0,n.cancelPendingCommit!==null||n.timeoutHandle!==-1),(l&3)===0||Gn(n,l)||(a=!0,Mf(n,l));n=n.next}while(a);ps=!1}}function nh(){Ef()}function Ef(){Kl=ms=!1;var e=0;Ea!==0&&ph()&&(e=Ea);for(var t=st(),a=null,n=Yl;n!==null;){var i=n.next,l=wf(n,t);l===0?(n.next=null,a===null?Yl=i:a.next=i,i===null&&(jn=a)):(a=n,(e!==0||(l&3)!==0)&&(Kl=!0)),n=i}_e!==0&&_e!==5||Ti(e),Ea!==0&&(Ea=0)}function wf(e,t){for(var a=e.suspendedLanes,n=e.pingedLanes,i=e.expirationTimes,l=e.pendingLanes&-62914561;0<l;){var d=31-ct(l),p=1<<d,b=i[d];b===-1?((p&a)===0||(p&n)!==0)&&(i[d]=Rp(p,t)):b<=t&&(e.expiredLanes|=p),l&=~p}if(t=Ee,a=re,a=Xi(e,e===t?a:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),n=e.callbackNode,a===0||e===t&&(ye===2||ye===9)||e.cancelPendingCommit!==null)return n!==null&&n!==null&&wo(n),e.callbackNode=null,e.callbackPriority=0;if((a&3)===0||Gn(e,a)){if(t=a&-a,t===e.callbackPriority)return t;switch(n!==null&&wo(n),Do(a)){case 2:case 8:a=gu;break;case 32:a=Ki;break;case 268435456:a=hu;break;default:a=Ki}return n=kf.bind(null,e),a=Eo(a,n),e.callbackPriority=t,e.callbackNode=a,t}return n!==null&&n!==null&&wo(n),e.callbackPriority=2,e.callbackNode=null,2}function kf(e,t){if(_e!==0&&_e!==5)return e.callbackNode=null,e.callbackPriority=0,null;var a=e.callbackNode;if(Fl()&&e.callbackNode!==a)return null;var n=re;return n=Xi(e,e===Ee?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),n===0?null:(sf(e,n,t),wf(e,st()),e.callbackNode!=null&&e.callbackNode===a?kf.bind(null,e):null)}function Mf(e,t){if(Fl())return null;sf(e,t,!0)}function ih(){hh(function(){(pe&6)!==0?Eo(pu,nh):Ef()})}function gs(){if(Ea===0){var e=yn;e===0&&(e=Zi,Zi<<=1,(Zi&261888)===0&&(Zi=256)),Ea=e}return Ea}function Df(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:el(""+e)}function Rf(e,t){var a=t.ownerDocument.createElement("input");return a.name=t.name,a.value=t.value,e.id&&a.setAttribute("form",e.id),t.parentNode.insertBefore(a,t),e=new FormData(e),a.parentNode.removeChild(a),e}function lh(e,t,a,n,i){if(t==="submit"&&a&&a.stateNode===i){var l=Df((i[tt]||null).action),d=n.submitter;d&&(t=(t=d[tt]||null)?Df(t.formAction):d.getAttribute("formAction"),t!==null&&(l=t,d=null));var p=new il("action","action",null,n,i);e.push({event:p,listeners:[{instance:null,listener:function(){if(n.defaultPrevented){if(Ea!==0){var b=d?Rf(i,d):new FormData(i);Vr(a,{pending:!0,data:b,method:i.method,action:l},null,b)}}else typeof l=="function"&&(p.preventDefault(),b=d?Rf(i,d):new FormData(i),Vr(a,{pending:!0,data:b,method:i.method,action:l},l,b))},currentTarget:i}]})}}for(var hs=0;hs<Wo.length;hs++){var vs=Wo[hs],oh=vs.toLowerCase(),rh=vs[0].toUpperCase()+vs.slice(1);xt(oh,"on"+rh)}xt(oc,"onAnimationEnd"),xt(rc,"onAnimationIteration"),xt(sc,"onAnimationStart"),xt("dblclick","onDoubleClick"),xt("focusin","onFocus"),xt("focusout","onBlur"),xt(Cg,"onTransitionRun"),xt(Tg,"onTransitionStart"),xt(Eg,"onTransitionCancel"),xt(uc,"onTransitionEnd"),nn("onMouseEnter",["mouseout","mouseover"]),nn("onMouseLeave",["mouseout","mouseover"]),nn("onPointerEnter",["pointerout","pointerover"]),nn("onPointerLeave",["pointerout","pointerover"]),Na("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),Na("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),Na("onBeforeInput",["compositionend","keypress","textInput","paste"]),Na("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),Na("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),Na("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Ei="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(" "),sh=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(Ei));function xf(e,t){t=(t&4)!==0;for(var a=0;a<e.length;a++){var n=e[a],i=n.event;n=n.listeners;e:{var l=void 0;if(t)for(var d=n.length-1;0<=d;d--){var p=n[d],b=p.instance,E=p.currentTarget;if(p=p.listener,b!==l&&i.isPropagationStopped())break e;l=p,i.currentTarget=E;try{l(i)}catch(x){rl(x)}i.currentTarget=null,l=b}else for(d=0;d<n.length;d++){if(p=n[d],b=p.instance,E=p.currentTarget,p=p.listener,b!==l&&i.isPropagationStopped())break e;l=p,i.currentTarget=E;try{l(i)}catch(x){rl(x)}i.currentTarget=null,l=b}}}}function le(e,t){var a=t[Ro];a===void 0&&(a=t[Ro]=new Set);var n=e+"__bubble";a.has(n)||(Of(t,e,2,!1),a.add(n))}function ys(e,t,a){var n=0;t&&(n|=4),Of(a,e,n,t)}var Zl="_reactListening"+Math.random().toString(36).slice(2);function bs(e){if(!e[Zl]){e[Zl]=!0,Tu.forEach(function(a){a!=="selectionchange"&&(sh.has(a)||ys(a,!1,e),ys(a,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Zl]||(t[Zl]=!0,ys("selectionchange",!1,t))}}function Of(e,t,a,n){switch(rm(t)){case 2:var i=Uh;break;case 8:i=Ph;break;default:i=Ns}a=i.bind(null,t,a,e),i=void 0,!Bo||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(i=!0),n?i!==void 0?e.addEventListener(t,a,{capture:!0,passive:i}):e.addEventListener(t,a,!0):i!==void 0?e.addEventListener(t,a,{passive:i}):e.addEventListener(t,a,!1)}function Ss(e,t,a,n,i){var l=n;if((t&1)===0&&(t&2)===0&&n!==null)e:for(;;){if(n===null)return;var d=n.tag;if(d===3||d===4){var p=n.stateNode.containerInfo;if(p===i)break;if(d===4)for(d=n.return;d!==null;){var b=d.tag;if((b===3||b===4)&&d.stateNode.containerInfo===i)return;d=d.return}for(;p!==null;){if(d=en(p),d===null)return;if(b=d.tag,b===5||b===6||b===26||b===27){n=l=d;continue e}p=p.parentNode}}n=n.return}Uu(function(){var E=l,x=Po(a),U=[];e:{var w=cc.get(e);if(w!==void 0){var k=il,F=e;switch(e){case"keypress":if(al(a)===0)break e;case"keydown":case"keyup":k=tg;break;case"focusin":F="focus",k=Go;break;case"focusout":F="blur",k=Go;break;case"beforeblur":case"afterblur":k=Go;break;case"click":if(a.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":k=Bu;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":k=Gp;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":k=ig;break;case oc:case rc:case sc:k=Kp;break;case uc:k=og;break;case"scroll":case"scrollend":k=_p;break;case"wheel":k=sg;break;case"copy":case"cut":case"paste":k=Qp;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":k=_u;break;case"toggle":case"beforetoggle":k=cg}var X=(t&4)!==0,Ce=!X&&(e==="scroll"||e==="scrollend"),C=X?w!==null?w+"Capture":null:w;X=[];for(var A=E,T;A!==null;){var V=A;if(T=V.stateNode,V=V.tag,V!==5&&V!==26&&V!==27||T===null||C===null||(V=Zn(A,C),V!=null&&X.push(wi(A,V,T))),Ce)break;A=A.return}0<X.length&&(w=new k(w,F,null,a,x),U.push({event:w,listeners:X}))}}if((t&7)===0){e:{if(w=e==="mouseover"||e==="pointerover",k=e==="mouseout"||e==="pointerout",w&&a!==Uo&&(F=a.relatedTarget||a.fromElement)&&(en(F)||F[Ia]))break e;if((k||w)&&(w=x.window===x?x:(w=x.ownerDocument)?w.defaultView||w.parentWindow:window,k?(F=a.relatedTarget||a.toElement,k=E,F=F?en(F):null,F!==null&&(Ce=f(F),X=F.tag,F!==Ce||X!==5&&X!==27&&X!==6)&&(F=null)):(k=null,F=E),k!==F)){if(X=Bu,V="onMouseLeave",C="onMouseEnter",A="mouse",(e==="pointerout"||e==="pointerover")&&(X=_u,V="onPointerLeave",C="onPointerEnter",A="pointer"),Ce=k==null?w:Kn(k),T=F==null?w:Kn(F),w=new X(V,A+"leave",k,a,x),w.target=Ce,w.relatedTarget=T,V=null,en(x)===E&&(X=new X(C,A+"enter",F,a,x),X.target=T,X.relatedTarget=Ce,V=X),Ce=V,k&&F)t:{for(X=uh,C=k,A=F,T=0,V=C;V;V=X(V))T++;V=0;for(var K=A;K;K=X(K))V++;for(;0<T-V;)C=X(C),T--;for(;0<V-T;)A=X(A),V--;for(;T--;){if(C===A||A!==null&&C===A.alternate){X=C;break t}C=X(C),A=X(A)}X=null}else X=null;k!==null&&jf(U,w,k,X,!1),F!==null&&Ce!==null&&jf(U,Ce,F,X,!0)}}e:{if(w=E?Kn(E):window,k=w.nodeName&&w.nodeName.toLowerCase(),k==="select"||k==="input"&&w.type==="file")var de=$u;else if(Zu(w))if(Xu)de=Sg;else{de=yg;var Y=vg}else k=w.nodeName,!k||k.toLowerCase()!=="input"||w.type!=="checkbox"&&w.type!=="radio"?E&&Vo(E.elementType)&&(de=$u):de=bg;if(de&&(de=de(e,E))){Qu(U,de,a,x);break e}Y&&Y(e,w,E),e==="focusout"&&E&&w.type==="number"&&E.memoizedProps.value!=null&&No(w,"number",w.value)}switch(Y=E?Kn(E):window,e){case"focusin":(Zu(Y)||Y.contentEditable==="true")&&(cn=Y,$o=E,ti=null);break;case"focusout":ti=$o=cn=null;break;case"mousedown":Xo=!0;break;case"contextmenu":case"mouseup":case"dragend":Xo=!1,ic(U,a,x);break;case"selectionchange":if(Ag)break;case"keydown":case"keyup":ic(U,a,x)}var ae;if(Yo)e:{switch(e){case"compositionstart":var se="onCompositionStart";break e;case"compositionend":se="onCompositionEnd";break e;case"compositionupdate":se="onCompositionUpdate";break e}se=void 0}else un?Yu(e,a)&&(se="onCompositionEnd"):e==="keydown"&&a.keyCode===229&&(se="onCompositionStart");se&&(Hu&&a.locale!=="ko"&&(un||se!=="onCompositionStart"?se==="onCompositionEnd"&&un&&(ae=Pu()):(ua=x,qo="value"in ua?ua.value:ua.textContent,un=!0)),Y=Ql(E,se),0<Y.length&&(se=new qu(se,e,null,a,x),U.push({event:se,listeners:Y}),ae?se.data=ae:(ae=Ku(a),ae!==null&&(se.data=ae)))),(ae=fg?mg(e,a):pg(e,a))&&(se=Ql(E,"onBeforeInput"),0<se.length&&(Y=new qu("onBeforeInput","beforeinput",null,a,x),U.push({event:Y,listeners:se}),Y.data=ae)),lh(U,e,E,a,x)}xf(U,t)})}function wi(e,t,a){return{instance:e,listener:t,currentTarget:a}}function Ql(e,t){for(var a=t+"Capture",n=[];e!==null;){var i=e,l=i.stateNode;if(i=i.tag,i!==5&&i!==26&&i!==27||l===null||(i=Zn(e,a),i!=null&&n.unshift(wi(e,i,l)),i=Zn(e,t),i!=null&&n.push(wi(e,i,l))),e.tag===3)return n;e=e.return}return[]}function uh(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function jf(e,t,a,n,i){for(var l=t._reactName,d=[];a!==null&&a!==n;){var p=a,b=p.alternate,E=p.stateNode;if(p=p.tag,b!==null&&b===n)break;p!==5&&p!==26&&p!==27||E===null||(b=E,i?(E=Zn(a,l),E!=null&&d.unshift(wi(a,E,b))):i||(E=Zn(a,l),E!=null&&d.push(wi(a,E,b)))),a=a.return}d.length!==0&&e.push({event:t,listeners:d})}var ch=/\r\n?/g,dh=/\u0000|\uFFFD/g;function Nf(e){return(typeof e=="string"?e:""+e).replace(ch,`
300`).replace(dh,"")}function Vf(e,t){return t=Nf(t),Nf(e)===t}function Ae(e,t,a,n,i,l){switch(a){case"children":typeof n=="string"?t==="body"||t==="textarea"&&n===""||on(e,n):(typeof n=="number"||typeof n=="bigint")&&t!=="body"&&on(e,""+n);break;case"className":Wi(e,"class",n);break;case"tabIndex":Wi(e,"tabindex",n);break;case"dir":case"role":case"viewBox":case"width":case"height":Wi(e,a,n);break;case"style":Nu(e,n,l);break;case"data":if(t!=="object"){Wi(e,"data",n);break}case"src":case"href":if(n===""&&(t!=="a"||a!=="href")){e.removeAttribute(a);break}if(n==null||typeof n=="function"||typeof n=="symbol"||typeof n=="boolean"){e.removeAttribute(a);break}n=el(""+n),e.setAttribute(a,n);break;case"action":case"formAction":if(typeof n=="function"){e.setAttribute(a,"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 l=="function"&&(a==="formAction"?(t!=="input"&&Ae(e,t,"name",i.name,i,null),Ae(e,t,"formEncType",i.formEncType,i,null),Ae(e,t,"formMethod",i.formMethod,i,null),Ae(e,t,"formTarget",i.formTarget,i,null)):(Ae(e,t,"encType",i.encType,i,null),Ae(e,t,"method",i.method,i,null),Ae(e,t,"target",i.target,i,null)));if(n==null||typeof n=="symbol"||typeof n=="boolean"){e.removeAttribute(a);break}n=el(""+n),e.setAttribute(a,n);break;case"onClick":n!=null&&(e.onclick=_t);break;case"onScroll":n!=null&&le("scroll",e);break;case"onScrollEnd":n!=null&&le("scrollend",e);break;case"dangerouslySetInnerHTML":if(n!=null){if(typeof n!="object"||!("__html"in n))throw Error(r(61));if(a=n.__html,a!=null){if(i.children!=null)throw Error(r(60));e.innerHTML=a}}break;case"multiple":e.multiple=n&&typeof n!="function"&&typeof n!="symbol";break;case"muted":e.muted=n&&typeof n!="function"&&typeof n!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(n==null||typeof n=="function"||typeof n=="boolean"||typeof n=="symbol"){e.removeAttribute("xlink:href");break}a=el(""+n),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",a);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":n!=null&&typeof n!="function"&&typeof n!="symbol"?e.setAttribute(a,""+n):e.removeAttribute(a);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":n&&typeof n!="function"&&typeof n!="symbol"?e.setAttribute(a,""):e.removeAttribute(a);break;case"capture":case"download":n===!0?e.setAttribute(a,""):n!==!1&&n!=null&&typeof n!="function"&&typeof n!="symbol"?e.setAttribute(a,n):e.removeAttribute(a);break;case"cols":case"rows":case"size":case"span":n!=null&&typeof n!="function"&&typeof n!="symbol"&&!isNaN(n)&&1<=n?e.setAttribute(a,n):e.removeAttribute(a);break;case"rowSpan":case"start":n==null||typeof n=="function"||typeof n=="symbol"||isNaN(n)?e.removeAttribute(a):e.setAttribute(a,n);break;case"popover":le("beforetoggle",e),le("toggle",e),Ji(e,"popover",n);break;case"xlinkActuate":qt(e,"http://www.w3.org/1999/xlink","xlink:actuate",n);break;case"xlinkArcrole":qt(e,"http://www.w3.org/1999/xlink","xlink:arcrole",n);break;case"xlinkRole":qt(e,"http://www.w3.org/1999/xlink","xlink:role",n);break;case"xlinkShow":qt(e,"http://www.w3.org/1999/xlink","xlink:show",n);break;case"xlinkTitle":qt(e,"http://www.w3.org/1999/xlink","xlink:title",n);break;case"xlinkType":qt(e,"http://www.w3.org/1999/xlink","xlink:type",n);break;case"xmlBase":qt(e,"http://www.w3.org/XML/1998/namespace","xml:base",n);break;case"xmlLang":qt(e,"http://www.w3.org/XML/1998/namespace","xml:lang",n);break;case"xmlSpace":qt(e,"http://www.w3.org/XML/1998/namespace","xml:space",n);break;case"is":Ji(e,"is",n);break;case"innerText":case"textContent":break;default:(!(2<a.length)||a[0]!=="o"&&a[0]!=="O"||a[1]!=="n"&&a[1]!=="N")&&(a=Bp.get(a)||a,Ji(e,a,n))}}function zs(e,t,a,n,i,l){switch(a){case"style":Nu(e,n,l);break;case"dangerouslySetInnerHTML":if(n!=null){if(typeof n!="object"||!("__html"in n))throw Error(r(61));if(a=n.__html,a!=null){if(i.children!=null)throw Error(r(60));e.innerHTML=a}}break;case"children":typeof n=="string"?on(e,n):(typeof n=="number"||typeof n=="bigint")&&on(e,""+n);break;case"onScroll":n!=null&&le("scroll",e);break;case"onScrollEnd":n!=null&&le("scrollend",e);break;case"onClick":n!=null&&(e.onclick=_t);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!Eu.hasOwnProperty(a))e:{if(a[0]==="o"&&a[1]==="n"&&(i=a.endsWith("Capture"),t=a.slice(2,i?a.length-7:void 0),l=e[tt]||null,l=l!=null?l[a]:null,typeof l=="function"&&e.removeEventListener(t,l,i),typeof n=="function")){typeof l!="function"&&l!==null&&(a in e?e[a]=null:e.hasAttribute(a)&&e.removeAttribute(a)),e.addEventListener(t,n,i);break e}a in e?e[a]=n:n===!0?e.setAttribute(a,""):Ji(e,a,n)}}}function Qe(e,t,a){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":le("error",e),le("load",e);var n=!1,i=!1,l;for(l in a)if(a.hasOwnProperty(l)){var d=a[l];if(d!=null)switch(l){case"src":n=!0;break;case"srcSet":i=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(r(137,t));default:Ae(e,t,l,d,a,null)}}i&&Ae(e,t,"srcSet",a.srcSet,a,null),n&&Ae(e,t,"src",a.src,a,null);return;case"input":le("invalid",e);var p=l=d=i=null,b=null,E=null;for(n in a)if(a.hasOwnProperty(n)){var x=a[n];if(x!=null)switch(n){case"name":i=x;break;case"type":d=x;break;case"checked":b=x;break;case"defaultChecked":E=x;break;case"value":l=x;break;case"defaultValue":p=x;break;case"children":case"dangerouslySetInnerHTML":if(x!=null)throw Error(r(137,t));break;default:Ae(e,t,n,x,a,null)}}Ru(e,l,p,b,E,d,i,!1);return;case"select":le("invalid",e),n=d=l=null;for(i in a)if(a.hasOwnProperty(i)&&(p=a[i],p!=null))switch(i){case"value":l=p;break;case"defaultValue":d=p;break;case"multiple":n=p;default:Ae(e,t,i,p,a,null)}t=l,a=d,e.multiple=!!n,t!=null?ln(e,!!n,t,!1):a!=null&&ln(e,!!n,a,!0);return;case"textarea":le("invalid",e),l=i=n=null;for(d in a)if(a.hasOwnProperty(d)&&(p=a[d],p!=null))switch(d){case"value":n=p;break;case"defaultValue":i=p;break;case"children":l=p;break;case"dangerouslySetInnerHTML":if(p!=null)throw Error(r(91));break;default:Ae(e,t,d,p,a,null)}Ou(e,n,i,l);return;case"option":for(b in a)if(a.hasOwnProperty(b)&&(n=a[b],n!=null))switch(b){case"selected":e.selected=n&&typeof n!="function"&&typeof n!="symbol";break;default:Ae(e,t,b,n,a,null)}return;case"dialog":le("beforetoggle",e),le("toggle",e),le("cancel",e),le("close",e);break;case"iframe":case"object":le("load",e);break;case"video":case"audio":for(n=0;n<Ei.length;n++)le(Ei[n],e);break;case"image":le("error",e),le("load",e);break;case"details":le("toggle",e);break;case"embed":case"source":case"link":le("error",e),le("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(E in a)if(a.hasOwnProperty(E)&&(n=a[E],n!=null))switch(E){case"children":case"dangerouslySetInnerHTML":throw Error(r(137,t));default:Ae(e,t,E,n,a,null)}return;default:if(Vo(t)){for(x in a)a.hasOwnProperty(x)&&(n=a[x],n!==void 0&&zs(e,t,x,n,a,void 0));return}}for(p in a)a.hasOwnProperty(p)&&(n=a[p],n!=null&&Ae(e,t,p,n,a,null))}function fh(e,t,a,n){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var i=null,l=null,d=null,p=null,b=null,E=null,x=null;for(k in a){var U=a[k];if(a.hasOwnProperty(k)&&U!=null)switch(k){case"checked":break;case"value":break;case"defaultValue":b=U;default:n.hasOwnProperty(k)||Ae(e,t,k,null,n,U)}}for(var w in n){var k=n[w];if(U=a[w],n.hasOwnProperty(w)&&(k!=null||U!=null))switch(w){case"type":l=k;break;case"name":i=k;break;case"checked":E=k;break;case"defaultChecked":x=k;break;case"value":d=k;break;case"defaultValue":p=k;break;case"children":case"dangerouslySetInnerHTML":if(k!=null)throw Error(r(137,t));break;default:k!==U&&Ae(e,t,w,k,n,U)}}jo(e,d,p,b,E,x,l,i);return;case"select":k=d=p=w=null;for(l in a)if(b=a[l],a.hasOwnProperty(l)&&b!=null)switch(l){case"value":break;case"multiple":k=b;default:n.hasOwnProperty(l)||Ae(e,t,l,null,n,b)}for(i in n)if(l=n[i],b=a[i],n.hasOwnProperty(i)&&(l!=null||b!=null))switch(i){case"value":w=l;break;case"defaultValue":p=l;break;case"multiple":d=l;default:l!==b&&Ae(e,t,i,l,n,b)}t=p,a=d,n=k,w!=null?ln(e,!!a,w,!1):!!n!=!!a&&(t!=null?ln(e,!!a,t,!0):ln(e,!!a,a?[]:"",!1));return;case"textarea":k=w=null;for(p in a)if(i=a[p],a.hasOwnProperty(p)&&i!=null&&!n.hasOwnProperty(p))switch(p){case"value":break;case"children":break;default:Ae(e,t,p,null,n,i)}for(d in n)if(i=n[d],l=a[d],n.hasOwnProperty(d)&&(i!=null||l!=null))switch(d){case"value":w=i;break;case"defaultValue":k=i;break;case"children":break;case"dangerouslySetInnerHTML":if(i!=null)throw Error(r(91));break;default:i!==l&&Ae(e,t,d,i,n,l)}xu(e,w,k);return;case"option":for(var F in a)if(w=a[F],a.hasOwnProperty(F)&&w!=null&&!n.hasOwnProperty(F))switch(F){case"selected":e.selected=!1;break;default:Ae(e,t,F,null,n,w)}for(b in n)if(w=n[b],k=a[b],n.hasOwnProperty(b)&&w!==k&&(w!=null||k!=null))switch(b){case"selected":e.selected=w&&typeof w!="function"&&typeof w!="symbol";break;default:Ae(e,t,b,w,n,k)}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 X in a)w=a[X],a.hasOwnProperty(X)&&w!=null&&!n.hasOwnProperty(X)&&Ae(e,t,X,null,n,w);for(E in n)if(w=n[E],k=a[E],n.hasOwnProperty(E)&&w!==k&&(w!=null||k!=null))switch(E){case"children":case"dangerouslySetInnerHTML":if(w!=null)throw Error(r(137,t));break;default:Ae(e,t,E,w,n,k)}return;default:if(Vo(t)){for(var Ce in a)w=a[Ce],a.hasOwnProperty(Ce)&&w!==void 0&&!n.hasOwnProperty(Ce)&&zs(e,t,Ce,void 0,n,w);for(x in n)w=n[x],k=a[x],!n.hasOwnProperty(x)||w===k||w===void 0&&k===void 0||zs(e,t,x,w,n,k);return}}for(var C in a)w=a[C],a.hasOwnProperty(C)&&w!=null&&!n.hasOwnProperty(C)&&Ae(e,t,C,null,n,w);for(U in n)w=n[U],k=a[U],!n.hasOwnProperty(U)||w===k||w==null&&k==null||Ae(e,t,U,w,n,k)}function Uf(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function mh(){if(typeof performance.getEntriesByType=="function"){for(var e=0,t=0,a=performance.getEntriesByType("resource"),n=0;n<a.length;n++){var i=a[n],l=i.transferSize,d=i.initiatorType,p=i.duration;if(l&&p&&Uf(d)){for(d=0,p=i.responseEnd,n+=1;n<a.length;n++){var b=a[n],E=b.startTime;if(E>p)break;var x=b.transferSize,U=b.initiatorType;x&&Uf(U)&&(b=b.responseEnd,d+=x*(b<p?1:(p-E)/(b-E)))}if(--n,t+=8*(l+d)/(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 As=null,Cs=null;function $l(e){return e.nodeType===9?e:e.ownerDocument}function Pf(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 Lf(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 Ts(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 Es=null;function ph(){var e=window.event;return e&&e.type==="popstate"?e===Es?!1:(Es=e,!0):(Es=null,!1)}var Bf=typeof setTimeout=="function"?setTimeout:void 0,gh=typeof clearTimeout=="function"?clearTimeout:void 0,qf=typeof Promise=="function"?Promise:void 0,hh=typeof queueMicrotask=="function"?queueMicrotask:typeof qf<"u"?function(e){return qf.resolve(null).then(e).catch(vh)}:Bf;function vh(e){setTimeout(function(){throw e})}function wa(e){return e==="head"}function _f(e,t){var a=t,n=0;do{var i=a.nextSibling;if(e.removeChild(a),i&&i.nodeType===8)if(a=i.data,a==="/$"||a==="/&"){if(n===0){e.removeChild(i),Pn(t);return}n--}else if(a==="$"||a==="$?"||a==="$~"||a==="$!"||a==="&")n++;else if(a==="html")ki(e.ownerDocument.documentElement);else if(a==="head"){a=e.ownerDocument.head,ki(a);for(var l=a.firstChild;l;){var d=l.nextSibling,p=l.nodeName;l[Yn]||p==="SCRIPT"||p==="STYLE"||p==="LINK"&&l.rel.toLowerCase()==="stylesheet"||a.removeChild(l),l=d}}else a==="body"&&ki(e.ownerDocument.body);a=i}while(a);Pn(t)}function Hf(e,t){var a=e;e=0;do{var n=a.nextSibling;if(a.nodeType===1?t?(a._stashedDisplay=a.style.display,a.style.display="none"):(a.style.display=a._stashedDisplay||"",a.getAttribute("style")===""&&a.removeAttribute("style")):a.nodeType===3&&(t?(a._stashedText=a.nodeValue,a.nodeValue=""):a.nodeValue=a._stashedText||""),n&&n.nodeType===8)if(a=n.data,a==="/$"){if(e===0)break;e--}else a!=="$"&&a!=="$?"&&a!=="$~"&&a!=="$!"||e++;a=n}while(a)}function ws(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var a=t;switch(t=t.nextSibling,a.nodeName){case"HTML":case"HEAD":case"BODY":ws(a),xo(a);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(a.rel.toLowerCase()==="stylesheet")continue}e.removeChild(a)}}function yh(e,t,a,n){for(;
vendor: 11,657 bytes, line 300
300e.nodeType===1;){var i=a;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!n&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(n){if(!e[Yn])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(l=e.getAttribute("rel"),l==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(l!==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(l=e.getAttribute("src"),(l!==(i.src==null?null:i.src)||e.getAttribute("type")!==(i.type==null?null:i.type)||e.getAttribute("crossorigin")!==(i.crossOrigin==null?null:i.crossOrigin))&&l&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(t==="input"&&e.type==="hidden"){var l=i.name==null?null:""+i.name;if(i.type==="hidden"&&e.getAttribute("name")===l)return e}else return e;if(e=Dt(e.nextSibling),e===null)break}return null}function bh(e,t,a){if(t==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!a||(e=Dt(e.nextSibling),e===null))return null;return e}function Gf(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!t||(e=Dt(e.nextSibling),e===null))return null;return e}function ks(e){return e.data==="$?"||e.data==="$~"}function Ms(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function Sh(e,t){var a=e.ownerDocument;if(e.data==="$~")e._reactRetry=t;else if(e.data!=="$?"||a.readyState!=="loading")t();else{var n=function(){t(),a.removeEventListener("DOMContentLoaded",n)};a.addEventListener("DOMContentLoaded",n),e._reactRetry=n}}function Dt(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 Ds=null;function Ff(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="/$"||a==="/&"){if(t===0)return Dt(e.nextSibling);t--}else a!=="$"&&a!=="$!"&&a!=="$?"&&a!=="$~"&&a!=="&"||t++}e=e.nextSibling}return null}function Yf(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="$"||a==="$!"||a==="$?"||a==="$~"||a==="&"){if(t===0)return e;t--}else a!=="/$"&&a!=="/&"||t++}e=e.previousSibling}return null}function Kf(e,t,a){switch(t=$l(a),e){case"html":if(e=t.documentElement,!e)throw Error(r(452));return e;case"head":if(e=t.head,!e)throw Error(r(453));return e;case"body":if(e=t.body,!e)throw Error(r(454));return e;default:throw Error(r(451))}}function ki(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);xo(e)}var Rt=new Map,Zf=new Set;function Xl(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var na=P.d;P.d={f:zh,r:Ah,D:Ch,C:Th,L:Eh,m:wh,X:Mh,S:kh,M:Dh};function zh(){var e=na.f(),t=_l();return e||t}function Ah(e){var t=tn(e);t!==null&&t.tag===5&&t.type==="form"?ud(t):na.r(e)}var Nn=typeof document>"u"?null:document;function Qf(e,t,a){var n=Nn;if(n&&typeof t=="string"&&t){var i=At(t);i='link[rel="'+e+'"][href="'+i+'"]',typeof a=="string"&&(i+='[crossorigin="'+a+'"]'),Zf.has(i)||(Zf.add(i),e={rel:e,crossOrigin:a,href:t},n.querySelector(i)===null&&(t=n.createElement("link"),Qe(t,"link",e),He(t),n.head.appendChild(t)))}}function Ch(e){na.D(e),Qf("dns-prefetch",e,null)}function Th(e,t){na.C(e,t),Qf("preconnect",e,t)}function Eh(e,t,a){na.L(e,t,a);var n=Nn;if(n&&e&&t){var i='link[rel="preload"][as="'+At(t)+'"]';t==="image"&&a&&a.imageSrcSet?(i+='[imagesrcset="'+At(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(i+='[imagesizes="'+At(a.imageSizes)+'"]')):i+='[href="'+At(e)+'"]';var l=i;switch(t){case"style":l=Vn(e);break;case"script":l=Un(e)}Rt.has(l)||(e=y({rel:"preload",href:t==="image"&&a&&a.imageSrcSet?void 0:e,as:t},a),Rt.set(l,e),n.querySelector(i)!==null||t==="style"&&n.querySelector(Mi(l))||t==="script"&&n.querySelector(Di(l))||(t=n.createElement("link"),Qe(t,"link",e),He(t),n.head.appendChild(t)))}}function wh(e,t){na.m(e,t);var a=Nn;if(a&&e){var n=t&&typeof t.as=="string"?t.as:"script",i='link[rel="modulepreload"][as="'+At(n)+'"][href="'+At(e)+'"]',l=i;switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":l=Un(e)}if(!Rt.has(l)&&(e=y({rel:"modulepreload",href:e},t),Rt.set(l,e),a.querySelector(i)===null)){switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(Di(l)))return}n=a.createElement("link"),Qe(n,"link",e),He(n),a.head.appendChild(n)}}}function kh(e,t,a){na.S(e,t,a);var n=Nn;if(n&&e){var i=an(n).hoistableStyles,l=Vn(e);t=t||"default";var d=i.get(l);if(!d){var p={loading:0,preload:null};if(d=n.querySelector(Mi(l)))p.loading=5;else{e=y({rel:"stylesheet",href:e,"data-precedence":t},a),(a=Rt.get(l))&&Rs(e,a);var b=d=n.createElement("link");He(b),Qe(b,"link",e),b._p=new Promise(function(E,x){b.onload=E,b.onerror=x}),b.addEventListener("load",function(){p.loading|=1}),b.addEventListener("error",function(){p.loading|=2}),p.loading|=4,Jl(d,t,n)}d={type:"stylesheet",instance:d,count:1,state:p},i.set(l,d)}}}function Mh(e,t){na.X(e,t);var a=Nn;if(a&&e){var n=an(a).hoistableScripts,i=Un(e),l=n.get(i);l||(l=a.querySelector(Di(i)),l||(e=y({src:e,async:!0},t),(t=Rt.get(i))&&xs(e,t),l=a.createElement("script"),He(l),Qe(l,"link",e),a.head.appendChild(l)),l={type:"script",instance:l,count:1,state:null},n.set(i,l))}}function Dh(e,t){na.M(e,t);var a=Nn;if(a&&e){var n=an(a).hoistableScripts,i=Un(e),l=n.get(i);l||(l=a.querySelector(Di(i)),l||(e=y({src:e,async:!0,type:"module"},t),(t=Rt.get(i))&&xs(e,t),l=a.createElement("script"),He(l),Qe(l,"link",e),a.head.appendChild(l)),l={type:"script",instance:l,count:1,state:null},n.set(i,l))}}function $f(e,t,a,n){var i=(i=ne.current)?Xl(i):null;if(!i)throw Error(r(446));switch(e){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(t=Vn(a.href),a=an(i).hoistableStyles,n=a.get(t),n||(n={type:"style",instance:null,count:0,state:null},a.set(t,n)),n):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){e=Vn(a.href);var l=an(i).hoistableStyles,d=l.get(e);if(d||(i=i.ownerDocument||i,d={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},l.set(e,d),(l=i.querySelector(Mi(e)))&&!l._p&&(d.instance=l,d.state.loading=5),Rt.has(e)||(a={rel:"preload",as:"style",href:a.href,crossOrigin:a.crossOrigin,integrity:a.integrity,media:a.media,hrefLang:a.hrefLang,referrerPolicy:a.referrerPolicy},Rt.set(e,a),l||Rh(i,e,a,d.state))),t&&n===null)throw Error(r(528,""));return d}if(t&&n!==null)throw Error(r(529,""));return null;case"script":return t=a.async,a=a.src,typeof a=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=Un(a),a=an(i).hoistableScripts,n=a.get(t),n||(n={type:"script",instance:null,count:0,state:null},a.set(t,n)),n):{type:"void",instance:null,count:0,state:null};default:throw Error(r(444,e))}}function Vn(e){return'href="'+At(e)+'"'}function Mi(e){return'link[rel="stylesheet"]['+e+"]"}function Xf(e){return y({},e,{"data-precedence":e.precedence,precedence:null})}function Rh(e,t,a,n){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?n.loading=1:(t=e.createElement("link"),n.preload=t,t.addEventListener("load",function(){return n.loading|=1}),t.addEventListener("error",function(){return n.loading|=2}),Qe(t,"link",a),He(t),e.head.appendChild(t))}function Un(e){return'[src="'+At(e)+'"]'}function Di(e){return"script[async]"+e}function Jf(e,t,a){if(t.count++,t.instance===null)switch(t.type){case"style":var n=e.querySelector('style[data-href~="'+At(a.href)+'"]');if(n)return t.instance=n,He(n),n;var i=y({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return n=(e.ownerDocument||e).createElement("style"),He(n),Qe(n,"style",i),Jl(n,a.precedence,e),t.instance=n;case"stylesheet":i=Vn(a.href);var l=e.querySelector(Mi(i));if(l)return t.state.loading|=4,t.instance=l,He(l),l;n=Xf(a),(i=Rt.get(i))&&Rs(n,i),l=(e.ownerDocument||e).createElement("link"),He(l);var d=l;return d._p=new Promise(function(p,b){d.onload=p,d.onerror=b}),Qe(l,"link",n),t.state.loading|=4,Jl(l,a.precedence,e),t.instance=l;case"script":return l=Un(a.src),(i=e.querySelector(Di(l)))?(t.instance=i,He(i),i):(n=a,(i=Rt.get(l))&&(n=y({},a),xs(n,i)),e=e.ownerDocument||e,i=e.createElement("script"),He(i),Qe(i,"link",n),e.head.appendChild(i),t.instance=i);case"void":return null;default:throw Error(r(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(n=t.instance,t.state.loading|=4,Jl(n,a.precedence,e));return t.instance}function Jl(e,t,a){for(var n=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),i=n.length?n[n.length-1]:null,l=i,d=0;d<n.length;d++){var p=n[d];if(p.dataset.precedence===t)l=p;else if(l!==i)break}l?l.parentNode.insertBefore(e,l.nextSibling):(t=a.nodeType===9?a.head:a,t.insertBefore(e,t.firstChild))}function Rs(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function xs(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var Wl=null;function Wf(e,t,a){if(Wl===null){var n=new Map,i=Wl=new Map;i.set(a,n)}else i=Wl,n=i.get(a),n||(n=new Map,i.set(a,n));if(n.has(e))return n;for(n.set(e,null),a=a.getElementsByTagName(e),i=0;i<a.length;i++){var l=a[i];if(!(l[Yn]||l[Fe]||e==="link"&&l.getAttribute("rel")==="stylesheet")&&l.namespaceURI!=="http://www.w3.org/2000/svg"){var d=l.getAttribute(t)||"";d=e+d;var p=n.get(d);p?p.push(l):n.set(d,[l])}}return n}function If(e,t,a){e=e.ownerDocument||e,e.head.insertBefore(a,t==="title"?e.querySelector("head > title"):null)}function xh(e,t,a){if(a===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 em(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function Oh(e,t,a,n){if(a.type==="stylesheet"&&(typeof n.media!="string"||matchMedia(n.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var i=Vn(n.href),l=t.querySelector(Mi(i));if(l){t=l._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=Il.bind(e),t.then(e,e)),a.state.loading|=4,a.instance=l,He(l);return}l=t.ownerDocument||t,n=Xf(n),(i=Rt.get(i))&&Rs(n,i),l=l.createElement("link"),He(l);var d=l;d._p=new Promise(function(p,b){d.onload=p,d.onerror=b}),Qe(l,"link",n),a.instance=l}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(a,t),(t=a.state.preload)&&(a.state.loading&3)===0&&(e.count++,a=Il.bind(e),t.addEventListener("load",a),t.addEventListener("error",a))}}var Os=0;function jh(e,t){return e.stylesheets&&e.count===0&&to(e,e.stylesheets),0<e.count||0<e.imgCount?function(a){var n=setTimeout(function(){if(e.stylesheets&&to(e,e.stylesheets),e.unsu
vendor: 10,524 bytes, line 300
300spend){var l=e.unsuspend;e.unsuspend=null,l()}},6e4+t);0<e.imgBytes&&Os===0&&(Os=62500*mh());var i=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&to(e,e.stylesheets),e.unsuspend)){var l=e.unsuspend;e.unsuspend=null,l()}},(e.imgBytes>Os?50:800)+t);return e.unsuspend=a,function(){e.unsuspend=null,clearTimeout(n),clearTimeout(i)}}:null}function Il(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)to(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var eo=null;function to(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,eo=new Map,t.forEach(Nh,e),eo=null,Il.call(e))}function Nh(e,t){if(!(t.state.loading&4)){var a=eo.get(e);if(a)var n=a.get(null);else{a=new Map,eo.set(e,a);for(var i=e.querySelectorAll("link[data-precedence],style[data-precedence]"),l=0;l<i.length;l++){var d=i[l];(d.nodeName==="LINK"||d.getAttribute("media")!=="not all")&&(a.set(d.dataset.precedence,d),n=d)}n&&a.set(null,n)}i=t.instance,d=i.getAttribute("data-precedence"),l=a.get(d)||n,l===n&&a.set(null,i),a.set(d,i),this.count++,n=Il.bind(this),i.addEventListener("load",n),i.addEventListener("error",n),l?l.parentNode.insertBefore(i,l.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(i,e.firstChild)),t.state.loading|=4}}var Ri={$$typeof:_,Provider:null,Consumer:null,_currentValue:Z,_currentValue2:Z,_threadCount:0};function Vh(e,t,a,n,i,l,d,p,b){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=ko(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=ko(0),this.hiddenUpdates=ko(null),this.identifierPrefix=n,this.onUncaughtError=i,this.onCaughtError=l,this.onRecoverableError=d,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=b,this.incompleteTransitions=new Map}function tm(e,t,a,n,i,l,d,p,b,E,x,U){return e=new Vh(e,t,a,d,b,E,x,U,p),t=1,l===!0&&(t|=24),l=ft(3,null,null,t),e.current=l,l.stateNode=e,t=dr(),t.refCount++,e.pooledCache=t,t.refCount++,l.memoizedState={element:n,isDehydrated:a,cache:t},gr(l),e}function am(e){return e?(e=mn,e):mn}function nm(e,t,a,n,i,l){i=am(i),n.context===null?n.context=i:n.pendingContext=i,n=ga(t),n.payload={element:a},l=l===void 0?null:l,l!==null&&(n.callback=l),a=ha(e,n,t),a!==null&&(rt(a,e,t),si(a,e,t))}function im(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var a=e.retryLane;e.retryLane=a!==0&&a<t?a:t}}function js(e,t){im(e,t),(e=e.alternate)&&im(e,t)}function lm(e){if(e.tag===13||e.tag===31){var t=La(e,67108864);t!==null&&rt(t,e,67108864),js(e,67108864)}}function om(e){if(e.tag===13||e.tag===31){var t=vt();t=Mo(t);var a=La(e,t);a!==null&&rt(a,e,t),js(e,t)}}var ao=!0;function Uh(e,t,a,n){var i=R.T;R.T=null;var l=P.p;try{P.p=2,Ns(e,t,a,n)}finally{P.p=l,R.T=i}}function Ph(e,t,a,n){var i=R.T;R.T=null;var l=P.p;try{P.p=8,Ns(e,t,a,n)}finally{P.p=l,R.T=i}}function Ns(e,t,a,n){if(ao){var i=Vs(n);if(i===null)Ss(e,t,n,no,a),sm(e,n);else if(Bh(i,e,t,a,n))n.stopPropagation();else if(sm(e,n),t&4&&-1<Lh.indexOf(e)){for(;i!==null;){var l=tn(i);if(l!==null)switch(l.tag){case 3:if(l=l.stateNode,l.current.memoizedState.isDehydrated){var d=ja(l.pendingLanes);if(d!==0){var p=l;for(p.pendingLanes|=2,p.entangledLanes|=2;d;){var b=1<<31-ct(d);p.entanglements[1]|=b,d&=~b}Lt(l),(pe&6)===0&&(Bl=st()+500,Ti(0))}}break;case 31:case 13:p=La(l,2),p!==null&&rt(p,l,2),_l(),js(l,2)}if(l=Vs(n),l===null&&Ss(e,t,n,no,a),l===i)break;i=l}i!==null&&n.stopPropagation()}else Ss(e,t,n,null,a)}}function Vs(e){return e=Po(e),Us(e)}var no=null;function Us(e){if(no=null,e=en(e),e!==null){var t=f(e);if(t===null)e=null;else{var a=t.tag;if(a===13){if(e=m(t),e!==null)return e;e=null}else if(a===31){if(e=h(t),e!==null)return e;e=null}else if(a===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return no=e,null}function rm(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(Cp()){case pu:return 2;case gu:return 8;case Ki:case Tp:return 32;case hu:return 268435456;default:return 32}default:return 32}}var Ps=!1,ka=null,Ma=null,Da=null,xi=new Map,Oi=new Map,Ra=[],Lh="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 sm(e,t){switch(e){case"focusin":case"focusout":ka=null;break;case"dragenter":case"dragleave":Ma=null;break;case"mouseover":case"mouseout":Da=null;break;case"pointerover":case"pointerout":xi.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Oi.delete(t.pointerId)}}function ji(e,t,a,n,i,l){return e===null||e.nativeEvent!==l?(e={blockedOn:t,domEventName:a,eventSystemFlags:n,nativeEvent:l,targetContainers:[i]},t!==null&&(t=tn(t),t!==null&&lm(t)),e):(e.eventSystemFlags|=n,t=e.targetContainers,i!==null&&t.indexOf(i)===-1&&t.push(i),e)}function Bh(e,t,a,n,i){switch(t){case"focusin":return ka=ji(ka,e,t,a,n,i),!0;case"dragenter":return Ma=ji(Ma,e,t,a,n,i),!0;case"mouseover":return Da=ji(Da,e,t,a,n,i),!0;case"pointerover":var l=i.pointerId;return xi.set(l,ji(xi.get(l)||null,e,t,a,n,i)),!0;case"gotpointercapture":return l=i.pointerId,Oi.set(l,ji(Oi.get(l)||null,e,t,a,n,i)),!0}return!1}function um(e){var t=en(e.target);if(t!==null){var a=f(t);if(a!==null){if(t=a.tag,t===13){if(t=m(a),t!==null){e.blockedOn=t,Au(e.priority,function(){om(a)});return}}else if(t===31){if(t=h(a),t!==null){e.blockedOn=t,Au(e.priority,function(){om(a)});return}}else if(t===3&&a.stateNode.current.memoizedState.isDehydrated){e.blockedOn=a.tag===3?a.stateNode.containerInfo:null;return}}}e.blockedOn=null}function io(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var a=Vs(e.nativeEvent);if(a===null){a=e.nativeEvent;var n=new a.constructor(a.type,a);Uo=n,a.target.dispatchEvent(n),Uo=null}else return t=tn(a),t!==null&&lm(t),e.blockedOn=a,!1;t.shift()}return!0}function cm(e,t,a){io(e)&&a.delete(t)}function qh(){Ps=!1,ka!==null&&io(ka)&&(ka=null),Ma!==null&&io(Ma)&&(Ma=null),Da!==null&&io(Da)&&(Da=null),xi.forEach(cm),Oi.forEach(cm)}function lo(e,t){e.blockedOn===t&&(e.blockedOn=null,Ps||(Ps=!0,u.unstable_scheduleCallback(u.unstable_NormalPriority,qh)))}var oo=null;function dm(e){oo!==e&&(oo=e,u.unstable_scheduleCallback(u.unstable_NormalPriority,function(){oo===e&&(oo=null);for(var t=0;t<e.length;t+=3){var a=e[t],n=e[t+1],i=e[t+2];if(typeof n!="function"){if(Us(n||a)===null)continue;break}var l=tn(a);l!==null&&(e.splice(t,3),t-=3,Vr(l,{pending:!0,data:i,method:a.method,action:n},n,i))}}))}function Pn(e){function t(b){return lo(b,e)}ka!==null&&lo(ka,e),Ma!==null&&lo(Ma,e),Da!==null&&lo(Da,e),xi.forEach(t),Oi.forEach(t);for(var a=0;a<Ra.length;a++){var n=Ra[a];n.blockedOn===e&&(n.blockedOn=null)}for(;0<Ra.length&&(a=Ra[0],a.blockedOn===null);)um(a),a.blockedOn===null&&Ra.shift();if(a=(e.ownerDocument||e).$$reactFormReplay,a!=null)for(n=0;n<a.length;n+=3){var i=a[n],l=a[n+1],d=i[tt]||null;if(typeof l=="function")d||dm(a);else if(d){var p=null;if(l&&l.hasAttribute("formAction")){if(i=l,d=l[tt]||null)p=d.formAction;else if(Us(i)!==null)continue}else p=d.action;typeof p=="function"?a[n+1]=p:(a.splice(n,3),n-=3),dm(a)}}}function fm(){function e(l){l.canIntercept&&l.info==="react-transition"&&l.intercept({handler:function(){return new Promise(function(d){return i=d})},focusReset:"manual",scroll:"manual"})}function t(){i!==null&&(i(),i=null),n||setTimeout(a,20)}function a(){if(!n&&!navigation.transition){var l=navigation.currentEntry;l&&l.url!=null&&navigation.navigate(l.url,{state:l.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var n=!1,i=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",t),navigation.addEventListener("navigateerror",t),setTimeout(a,100),function(){n=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),i!==null&&(i(),i=null)}}}function Ls(e){this._internalRoot=e}ro.prototype.render=Ls.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(r(409));var a=t.current,n=vt();nm(a,n,e,t,null,null)},ro.prototype.unmount=Ls.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;nm(e.current,2,null,e,null,null),_l(),t[Ia]=null}};function ro(e){this._internalRoot=e}ro.prototype.unstable_scheduleHydration=function(e){if(e){var t=zu();e={blockedOn:null,target:e,priority:t};for(var a=0;a<Ra.length&&t!==0&&t<Ra[a].priority;a++);Ra.splice(a,0,e),a===0&&um(e)}};var mm=o.version;if(mm!=="19.2.3")throw Error(r(527,mm,"19.2.3"));P.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(r(188)):(e=Object.keys(e).join(","),Error(r(268,e)));return e=g(t),e=e!==null?z(e):null,e=e===null?null:e.stateNode,e};var _h={bundleType:0,version:"19.2.3",rendererPackageName:"react-dom",currentDispatcherRef:R,reconcilerVersion:"19.2.3"};
300if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var so=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!so.isDisabled&&so.supportsFiber)try{Hn=so.inject(_h),ut=so}catch{}}return Ui.createRoot=function(e,t){if(!c(e))throw Error(r(299));var a=!1,n="",i=bd,l=Sd,d=zd;return t!=null&&(t.unstable_strictMode===!0&&(a=!0),t.identifierPrefix!==void 0&&(n=t.identifierPrefix),t.onUncaughtError!==void 0&&(i=t.onUncaughtError),t.onCaughtError!==void 0&&(l=t.onCaughtError),t.onRecoverableError!==void 0&&(d=t.onRecoverableError)),t=tm(e,1,!1,null,null,a,n,null,i,l,d,fm),e[Ia]=t.current,bs(e),new Ls(t)},Ui.hydrateRoot=function(e,t,a){if(!c(e))throw Error(r(299));var n=!1,i="",l=bd,d=Sd,p=zd,b=null;return a!=null&&(a.unstable_strictMode===!0&&(n=!0),a.identifierPrefix!==void 0&&(i=a.identifierPrefix),a.onUncaughtError!==void 0&&(l=a.onUncaughtError),a.onCaughtError!==void 0&&(d=a.onCaughtError),a.onRecoverableError!==void 0&&(p=a.onRecoverableError),a.formState!==void 0&&(b=a.formState)),t=tm(e,1,!0,t,a??null,n,i,b,l,d,p,fm),t.context=am(null),a=t.current,n=vt(),n=Mo(n),i=ga(n),i.callback=null,ha(a,i,n),a=n,t.current.lanes=a,Fn(t,a),Lt(t),e[Ia]=t.current,bs(e),new ro(t)},Ui.version="19.2.3",Ui}var Lm;function XS(){if(Lm)return Ys.exports;Lm=1;function u(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(u)}catch(o){console.error(o)}}return u(),Ys.exports=$S(),Ys.exports}var JS=XS();const WS=Zm(JS);/**
301 * react-router v7.11.0
302 *
303 * Copyright (c) Remix Software Inc.
304 *
305 * This source code is licensed under the MIT license found in the
306 * LICENSE.md file in the root directory of this source tree.
307 *
308 * @license MIT
309 */var Bm="popstate";function IS(u={}){function o(r,c){let{pathname:f,search:m,hash:h}=r.location;return eu("",{pathname:f,search:m,hash:h},c.state&&c.state.usr||null,c.state&&c.state.key||"default")}function s(r,c){return typeof c=="string"?c:Hi(c)}return tz(o,s,null,u)}function De(u,o){if(u===!1||u===null||typeof u>"u")throw new Error(o)}function yt(u,o){if(!u){typeof console<"u"&&console.warn(o);try{throw new Error(o)}catch{}}}function ez(){return Math.random().toString(36).substring(2,10)}function qm(u,o){return{usr:u.state,key:u.key,idx:o}}function eu(u,o,s=null,r){return{pathname:typeof u=="string"?u:u.pathname,search:"",hash:"",...typeof o=="string"?Ln(o):o,state:s,key:o&&o.key||r||ez()}}function Hi({pathname:u="/",search:o="",hash:s=""}){return o&&o!=="?"&&(u+=o.charAt(0)==="?"?o:"?"+o),s&&s!=="#"&&(u+=s.charAt(0)==="#"?s:"#"+s),u}function Ln(u){let o={};if(u){let s=u.indexOf("#");s>=0&&(o.hash=u.substring(s),u=u.substring(0,s));let r=u.indexOf("?");r>=0&&(o.search=u.substring(r),u=u.substring(0,r)),u&&(o.pathname=u)}return o}function tz(u,o,s,r={}){let{window:c=document.defaultView,v5Compat:f=!1}=r,m=c.history,h="POP",v=null,g=z();g==null&&(g=0,m.replaceState({...m.state,idx:g},""));function z(){return(m.state||{idx:null}).idx}function y(){h="POP";let q=z(),H=q==null?null:q-g;g=q,v&&v({action:h,location:L.location,delta:H})}function D(q,H){h="PUSH";let $=eu(L.location,q,H);g=z()+1;let _=qm($,g),te=L.createHref($);try{m.pushState(_,"",te)}catch(oe){if(oe instanceof DOMException&&oe.name==="DataCloneError")throw oe;c.location.assign(te)}f&&v&&v({action:h,location:L.location,delta:1})}function j(q,H){h="REPLACE";let $=eu(L.location,q,H);g=z();let _=qm($,g),te=L.createHref($);m.replaceState(_,"",te),f&&v&&v({action:h,location:L.location,delta:0})}function M(q){return az(q)}let L={get action(){return h},get location(){return u(c,m)},listen(q){if(v)throw new Error("A history only accepts one active listener");return c.addEventListener(Bm,y),v=q,()=>{c.removeEventListener(Bm,y),v=null}},createHref(q){return o(c,q)},createURL:M,encodeLocation(q){let H=M(q);return{pathname:H.pathname,search:H.search,hash:H.hash}},push:D,replace:j,go(q){return m.go(q)}};return L}function az(u,o=!1){let s="http://localhost";
309typeof window<"u"&&(s=window.location.origin!=="null"?window.location.origin:window.location.href),De(s,"No window.location.(origin|href) available to create URL");let r=typeof u=="string"?u:Hi(u);return r=r.replace(/ $/,"%20"),!o&&r.startsWith("//")&&(r=s+r),new URL(r,s)}function ep(u,o,s="/"){return nz(u,o,s,!1)}function nz(u,o,s,r){let c=typeof o=="string"?Ln(o):o,f=la(c.pathname||"/",s);if(f==null)return null;let m=tp(u);iz(m);let h=null;for(let v=0;h==null&&v<m.length;++v){let g=gz(f);h=mz(m[v],g,r)}return h}function tp(u,o=[],s=[],r="",c=!1){let f=(m,h,v=c,g)=>{let z={relativePath:g===void 0?m.path||"":g,caseSensitive:m.caseSensitive===!0,childrenIndex:h,route:m};if(z.relativePath.startsWith("/")){if(!z.relativePath.startsWith(r)&&v)return;De(z.relativePath.startsWith(r),`Absolute route path "${z.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),z.relativePath=z.relativePath.slice(r.length)}let y=ia([r,z.relativePath]),D=s.concat(z);m.children&&m.children.length>0&&(De(m.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${y}".`),tp(m.children,o,D,y,v)),!(m.path==null&&!m.index)&&o.push({path:y,score:dz(y,m.index),routesMeta:D})};return u.forEach((m,h)=>{var v;if(m.path===""||!((v=m.path)!=null&&v.includes("?")))f(m,h);else for(let g of ap(m.path))f(m,h,!0,g)}),o}function ap(u){let o=u.split("/");if(o.length===0)return[];let[s,...r]=o,c=s.endsWith("?"),f=s.replace(/\?$/,"");if(r.length===0)return c?[f,""]:[f];let m=ap(r.join("/")),h=[];return h.push(...m.map(v=>v===""?f:[f,v].join("/"))),c&&h.push(...m),h.map(v=>u.startsWith("/")&&v===""?"/":v)}function iz(u){u.sort((o,s)=>o.score!==s.score?s.score-o.score:fz(o.routesMeta.map(r=>r.childrenIndex),s.routesMeta.map(r=>r.childrenIndex)))}var lz=/^:[\w-]+$/,oz=3,rz=2,sz=1,uz=10,cz=-2,_m=u=>u==="*";function dz(u,o){let s=u.split("/"),r=s.length;return s.some(_m)&&(r+=cz),o&&(r+=rz),s.filter(c=>!_m(c)).reduce((c,f)=>c+(lz.test(f)?oz:f===""?sz:uz),r)}function fz(u,o){return u.length===o.length&&u.slice(0,-1).every((r,c)=>r===o[c])?u[u.length-1]-o[o.length-1]:0}function mz(u,o,s=!1){let{routesMeta:r}=u,c={},f="/",m=[];for(let h=0;h<r.length;++h){let v=r[h],g=h===r.length-1,z=f==="/"?o:o.slice(f.length)||"/",y=vo({path:v.relativePath,caseSensitive:v.caseSensitive,end:g},z),D=v.route;if(!y&&g&&s&&!r[r.length-1].route.index&&(y=vo({path:v.relativePath,caseSensitive:v.caseSensitive,end:!1},z)),!y)return null;
309Object.assign(c,y.params),m.push({params:c,pathname:ia([f,y.pathname]),pathnameBase:bz(ia([f,y.pathnameBase])),route:D}),y.pathnameBase!=="/"&&(f=ia([f,y.pathnameBase]))}return m}function vo(u,o){typeof u=="string"&&(u={path:u,caseSensitive:!1,end:!0});let[s,r]=pz(u.path,u.caseSensitive,u.end),c=o.match(s);if(!c)return null;let f=c[0],m=f.replace(/(.)\/+$/,"$1"),h=c.slice(1);return{params:r.reduce((g,{paramName:z,isOptional:y},D)=>{if(z==="*"){let M=h[D]||"";m=f.slice(0,f.length-M.length).replace(/(.)\/+$/,"$1")}const j=h[D];return y&&!j?g[z]=void 0:g[z]=(j||"").replace(/%2F/g,"/"),g},{}),pathname:f,pathnameBase:m,pattern:u}}function pz(u,o=!1,s=!0){yt(u==="*"||!u.endsWith("*")||u.endsWith("/*"),`Route path "${u}" will be treated as if it were "${u.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${u.replace(/\*$/,"/*")}".`);let r=[],c="^"+u.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(m,h,v)=>(r.push({paramName:h,isOptional:v!=null}),v?"/?([^\\/]+)?":"/([^\\/]+)")).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return u.endsWith("*")?(r.push({paramName:"*"}),c+=u==="*"||u==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):s?c+="\\/*$":u!==""&&u!=="/"&&(c+="(?:(?=\\/|$))"),[new RegExp(c,o?void 0:"i"),r]}function gz(u){try{return u.split("/").map(o=>decodeURIComponent(o).replace(/\//g,"%2F")).join("/")}catch(o){return yt(!1,`The URL path "${u}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${o}).`),u}}function la(u,o){if(o==="/")return u;if(!u.toLowerCase().startsWith(o.toLowerCase()))return null;let s=o.endsWith("/")?o.length-1:o.length,r=u.charAt(s);return r&&r!=="/"?null:u.slice(s)||"/"}var np=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,hz=u=>np.test(u);function vz(u,o="/"){let{pathname:s,search:r="",hash:c=""}=typeof u=="string"?Ln(u):u,f;if(s)if(hz(s))f=s;else{if(s.includes("//")){let m=s;s=s.replace(/\/\/+/g,"/"),yt(!1,`Pathnames cannot have embedded double slashes - normalizing ${m} -> ${s}`)}s.startsWith("/")?f=Hm(s.substring(1),"/"):f=Hm(s,o)}else f=o;return{pathname:f,search:Sz(r),hash:zz(c)}}function Hm(u,o){let s=o.replace(/\/+$/,"").split("/");return u.split("/").forEach(c=>{c===".."?s.length>1&&s.pop():c!=="."&&s.push(c)}),s.length>1?s.join("/"):"/"}function $s(u,o,s,r){return`Cannot include a '${u}' character in a manually specified \`to.${o}\` field [${JSON.stringify(r)}].  Please separate it out to the \`to.${s}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function yz(u){return u.filter((o,s)=>s===0||o.route.path&&o.route.path.length>0)}function iu(u){let o=yz(u);return o.map((s,r)=>r===o.length-1?s.pathname:s.pathnameBase)}function lu(u,o,s,r=!1){let c;typeof u=="string"?c=Ln(u):(c={...u},De(!c.pathname||!c.pathname.includes("?"),$s("?","pathname","search",c)),De(!c.pathname||!c.pathname.includes("#"),$s("#","pathname","hash",c)),De(!c.search||!c.search.includes("#"),$s("#","search","hash",c)));let f=u===""||c.pathname==="",m=f?"/":c.pathname,h;if(m==null)h=s;else{let y=o.length-1;if(!r&&m.startsWith("..")){let D=m.split("/");for(;D[0]==="..";)D.shift(),y-=1;c.pathname=D.join("/")}h=y>=0?o[y]:"/"}let v=vz(c,h),g=m&&m!=="/"&&m.endsWith("/"),z=(f||m===".")&&s.endsWith("/");return!v.pathname.endsWith("/")&&(g||z)&&(v.pathname+="/"),v}var ia=u=>u.join("/").replace(/\/\/+/g,"/"),bz=u=>u.replace(/\/+$/,"").replace(/^\/*/,"/"),Sz=u=>!u||u==="?"?"":u.startsWith("?")?u:"?"+u,zz=u=>!u||u==="#"?"":u.startsWith("#")?u:"#"+u,Az=class{constructor(u,o,s,r=!1){this.status=u,this.statusText=o||"",this.internal=r,s instanceof Error?(this.data=s.toString(),this.error=s):this.data=s}};function Cz(u){return u!=null&&typeof u.status=="number"&&typeof u.statusText=="string"&&typeof u.internal=="boolean"&&"data"in u}function Tz(u){return u.map(o=>o.route.path).filter(Boolean).join("/").replace(/\/\/*/g,"/")||"/"}var ip=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function lp(u,o){let s=u;
309if(typeof s!="string"||!np.test(s))return{absoluteURL:void 0,isExternal:!1,to:s};let r=s,c=!1;if(ip)try{let f=new URL(window.location.href),m=s.startsWith("//")?new URL(f.protocol+s):new URL(s),h=la(m.pathname,o);m.origin===f.origin&&h!=null?s=h+m.search+m.hash:c=!0}catch{yt(!1,`<Link to="${s}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:r,isExternal:c,to:s}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var op=["POST","PUT","PATCH","DELETE"];new Set(op);var Ez=["GET",...op];new Set(Ez);var Bn=O.createContext(null);Bn.displayName="DataRouter";var bo=O.createContext(null);bo.displayName="DataRouterState";var wz=O.createContext(!1),rp=O.createContext({isTransitioning:!1});rp.displayName="ViewTransition";var kz=O.createContext(new Map);kz.displayName="Fetchers";var Mz=O.createContext(null);Mz.displayName="Await";var bt=O.createContext(null);bt.displayName="Navigation";var Gi=O.createContext(null);Gi.displayName="Location";var Nt=O.createContext({outlet:null,matches:[],isDataRoute:!1});Nt.displayName="Route";var ou=O.createContext(null);ou.displayName="RouteError";var sp="REACT_ROUTER_ERROR",Dz="REDIRECT",Rz="ROUTE_ERROR_RESPONSE";function xz(u){if(u.startsWith(`${sp}:${Dz}:{`))try{let o=JSON.parse(u.slice(28));if(typeof o=="object"&&o&&typeof o.status=="number"&&typeof o.statusText=="string"&&typeof o.location=="string"&&typeof o.reloadDocument=="boolean"&&typeof o.replace=="boolean")return o}catch{}}function Oz(u){if(u.startsWith(`${sp}:${Rz}:{`))try{let o=JSON.parse(u.slice(40));if(typeof o=="object"&&o&&typeof o.status=="number"&&typeof o.statusText=="string")return new Az(o.status,o.statusText,o.data)}catch{}}function jz(u,{relative:o}={}){De(qn(),"useHref() may be used only in the context of a <Router> component.");let{basename:s,navigator:r}=O.useContext(bt),{hash:c,pathname:f,search:m}=Fi(u,{relative:o}),h=f;return s!=="/"&&(h=f==="/"?s:ia([s,f])),r.createHref({pathname:h,search:m,hash:c})}function qn(){return O.useContext(Gi)!=null}function oa(){return De(qn(),"useLocation() may be used only in the context of a <Router> component."),O.useContext(Gi).location}var up="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function cp(u){O.useContext(bt).static||O.useLayoutEffect(u)}function ru(){let{isDataRoute:u}=O.useContext(Nt);return u?Kz():Nz()}function Nz(){De(qn(),"useNavigate() may be used only in the context of a <Router> component.");let u=O.useContext(Bn),{basename:o,navigator:s}=O.useContext(bt),{matches:r}=O.useContext(Nt),{pathname:c}=oa(),f=JSON.stringify(iu(r)),m=O.useRef(!1);return cp(()=>{m.current=!0}),O.useCallback((v,g={})=>{if(yt(m.current,up),!m.current)return;if(typeof v=="number"){s.go(v);return}let z=lu(v,JSON.parse(f),c,g.relative==="path");u==null&&o!=="/"&&(z.pathname=z.pathname==="/"?o:ia([o,z.pathname])),(g.replace?s.replace:s.push)(z,g.state,g)},[o,s,f,c,u])}O.createContext(null);function j0(){let{matches:u}=O.useContext(Nt),o=u[u.length-1];return o?o.params:{}}function Fi(u,{relative:o}={}){let{matches:s}=O.useContext(Nt),{pathname:r}=oa(),c=JSON.stringify(iu(s));return O.useMemo(()=>lu(u,JSON.parse(c),r,o==="path"),[u,c,r,o])}function Vz(u,o){return dp(u,o)}function dp(u,o,s,r,c){var $;De(qn(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:f}=O.useContext(bt),{matches:m}=O.useContext(Nt),h=m[m.length-1],v=h?h.params:{},g=h?h.pathname:"/",z=h?h.pathnameBase:"/",y=h&&h.route;{let _=y&&y.path||"";mp(g,!y||_.endsWith("*")||_.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${g}" (under <Route path="${_}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.
310
311Please change the parent <Route path="${_}"> to <Route path="${_==="/"?"*":`${_}/*`}">.`)}let D=oa(),j;if(o){let _=typeof o=="string"?Ln(o):o;De(z==="/"||(($=_.pathname)==null?void 0:$.startsWith(z)),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${z}" but pathname "${_.pathname}" was given in the \`location\` prop.`),j=_}else j=D;let M=j.pathname||"/",L=M;if(z!=="/"){let _=z.replace(/^\//,"").split("/");L="/"+M.replace(/^\//,"").split("/").slice(_.length).join("/")}let q=ep(u,{pathname:L});yt(y||q!=null,`No routes matched location "${j.pathname}${j.search}${j.hash}" `),yt(q==null||q[q.length-1].route.element!==void 0||q[q.length-1].route.Component!==void 0||q[q.length-1].route.lazy!==void 0,`Matched leaf route at location "${j.pathname}${j.search}${j.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`);let H=qz(q&&q.map(_=>Object.assign({},_,{params:Object.assign({},v,_.params),pathname:ia([z,f.encodeLocation?f.encodeLocation(_.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:_.pathname]),pathnameBase:_.pathnameBase==="/"?z:ia([z,f.encodeLocation?f.encodeLocation(_.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:_.pathnameBase])})),m,s,r,c);return o&&H?O.createElement(Gi.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",...j},navigationType:"POP"}},H):H}function Uz(){let u=Yz(),o=Cz(u)?`${u.status} ${u.statusText}`:u instanceof Error?u.message:JSON.stringify(u),s=u instanceof Error?u.stack:null,r="rgba(200,200,200, 0.5)",c={padding:"0.5rem",backgroundColor:r},f={padding:"2px 4px",backgroundColor:r},m=null;return console.error("Error handled by React Router default ErrorBoundary:",u),m=O.createElement(O.Fragment,null,O.createElement("p",null,"💿 Hey developer 👋"),O.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",O.createElement("code",{style:f},"ErrorBoundary")," or"," ",O.createElement("code",{style:f},"errorElement")," prop on your route.")),O.createElement(O.Fragment,null,O.createElement("h2",null,"Unexpected Application 
311Error!"),O.createElement("h3",{style:{fontStyle:"italic"}},o),s?O.createElement("pre",{style:c},s):null,m)}var Pz=O.createElement(Uz,null),fp=class extends O.Component{constructor(u){super(u),this.state={location:u.location,revalidation:u.revalidation,error:u.error}}static getDerivedStateFromError(u){return{error:u}}static getDerivedStateFromProps(u,o){return o.location!==u.location||o.revalidation!=="idle"&&u.revalidation==="idle"?{error:u.error,location:u.location,revalidation:u.revalidation}:{error:u.error!==void 0?u.error:o.error,location:o.location,revalidation:u.revalidation||o.revalidation}}componentDidCatch(u,o){this.props.onError?this.props.onError(u,o):console.error("React Router caught the following error during render",u)}render(){let u=this.state.error;if(this.context&&typeof u=="object"&&u&&"digest"in u&&typeof u.digest=="string"){const s=Oz(u.digest);s&&(u=s)}let o=u!==void 0?O.createElement(Nt.Provider,{value:this.props.routeContext},O.createElement(ou.Provider,{value:u,children:this.props.component})):this.props.children;return this.context?O.createElement(Lz,{error:u},o):o}};fp.contextType=wz;var Xs=new WeakMap;function Lz({children:u,error:o}){let{basename:s}=O.useContext(bt);if(typeof o=="object"&&o&&"digest"in o&&typeof o.digest=="string"){let r=xz(o.digest);if(r){let c=Xs.get(o);if(c)throw c;let f=lp(r.location,s);if(ip&&!Xs.get(o))if(f.isExternal||r.reloadDocument)window.location.href=f.absoluteURL||f.to;else{const m=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(f.to,{replace:r.replace}));throw Xs.set(o,m),m}return O.createElement("meta",{httpEquiv:"refresh",content:`0;url=${f.absoluteURL||f.to}`})}}return u}function Bz({routeContext:u,match:o,children:s}){let r=O.useContext(Bn);return r&&r.static&&r.staticContext&&(o.route.errorElement||o.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=o.route.id),O.createElement(Nt.Provider,{value:u},s)}function qz(u,o=[],s=null,r=null,c=null){if(u==null){if(!s)return null;if(s.errors)u=s.matches;else if(o.length===0&&!s.initialized&&s.matches.length>0)u=s.matches;else return null}let f=u,m=s==null?void 0:s.errors;if(m!=null){let z=f.findIndex(y=>y.route.id&&(m==null?void 0:m[y.route.id])!==void 0);De(z>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(m).join(",")}`),f=f.slice(0,Math.min(f.length,z+1))}let h=!1,v=-1;if(s)for(let z=0;z<f.length;z++){let y=f[z];if((y.route.HydrateFallback||y.route.hydrateFallbackElement)&&(v=z),y.route.id){let{loaderData:D,errors:j}=s,M=y.route.loader&&!D.hasOwnProperty(y.route.id)&&(!j||j[y.route.id]===void 0);if(y.route.lazy||M){h=!0,v>=0?f=f.slice(0,v+1):f=[f[0]];break}}}let g=s&&r?(z,y)=>{var D,j;r(z,{location:s.location,params:((j=(D=s.matches)==null?void 0:D[0])==null?void 0:j.params)??{},unstable_pattern:Tz(s.matches),errorInfo:y})}:void 0;return f.reduceRight((z,y,D)=>{let j,M=!1,L=null,q=null;s&&(j=m&&y.route.id?m[y.route.id]:void 0,L=y.route.errorElement||Pz,h&&(v<0&&D===0?(mp("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),M=!0,q=null):v===D&&(M=!0,q=y.route.hydrateFallbackElement||null)));let H=o.concat(f.slice(0,D+1)),$=()=>{let _;return j?_=L:M?_=q:y.route.Component?_=O.createElement(y.route.Component,null):y.route.element?_=y.route.element:_=z,O.createElement(Bz,{match:y,routeContext:{outlet:z,matches:H,isDataRoute:s!=null},children:_})};return s&&(y.route.ErrorBoundary||y.route.errorElement||D===0)?O.createElement(fp,{location:s.location,revalidation:s.revalidation,component:L,error:j,children:$(),routeContext:{outlet:null,matches:H,isDataRoute:!0},onError:g}):$()},null)}function su(u){return`${u} must be used within a data router.  See https://reactrouter.com/en/main/routers/picking-a-router.`}function _z(u){let o=O.useContext(Bn);return De(o,su(u)),o}function Hz(u){let o=O.useContext(bo);return De(o,su(u)),o}function Gz(u){let o=O.useContext(Nt);return De(o,su(u)),o}function uu(u){let o=Gz(u),s=o.matches[o.matches.length-1];return De(s.route.id,`${u} can only be used on routes that contain a unique "id"`),s.route.id}function Fz(){return uu("useRouteId")}function Yz(){var r;let u=O.useContext(ou),o=Hz("useRouteError"),s=uu("useRouteError");return u!==void 0?u:(r=o.errors)==null?void 0:r[s]}function Kz(){let{router:u}=_z("useNavigate"),o=uu("useNavigate"),s=O.useRef(!1);return cp(()=>{s.current=!0}),O.useCallback(async(c,f={})=>{yt(s.current,up),s.current&&(typeof c=="number"?await u.navigate(c):await u.navigate(c,{fromRouteId:o,...f}))},[u,o])}var Gm={};function mp(u,o,s){!o&&!Gm[u]&&(Gm[u]=!0,yt(!1,s))}O.memo(Zz);function Zz({routes:u,future:o,state:s,onError:r}){return dp(u,void 0,s,r,o)}function N0({to:u,replace:o,state:s,relative:r}){De(qn(),"<Navigate> may be used only in the context of a <Router> component.");let{static:c}=O.useContext(bt);yt(!c,"<Navigate> must not be used on the initial render in a <StaticRouter>. This is a no-op, but you should modify your code so the <Navigate> is only ever rendered in response to some user interaction or state change.");let{matches:f}=O.useContext(Nt),{pathname:m}=oa(),h=ru(),v=lu(u,iu(f),m,r==="path"),g=JSON.stringify(v);return O.useEffect(()=>{h(JSON.parse(g),{replace:o,state:s,relative:r})},[h,g,r,o,s]),null}function Qz(u){De(!1,"A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>.")}function $z({basename:u="/",children:o=null,location:s,navigationType:r="POP",navigator:c,static:f=!1,unstable_useTransitions:m}){De(!qn(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let h=u.replace(/^\/*/,"/"),v=O.useMemo(()=>({basename:h,navigator:c,static:f,unstable_useTransitions:m,future:{}}),[h,c,f,m]);typeof s=="string"&&(s=Ln(s));let{pathname:g="/",search:z="",hash:y="",state:D=null,key:j="default"}=s,M=O.useMemo(()=>{let L=la(g,h);return L==null?null:{location:{pathname:L,search:z,hash:y,state:D,key:j},navigationType:r}},[h,g,z,y,D,j,r]);
311return yt(M!=null,`<Router basename="${h}"> is not able to match the URL "${g}${z}${y}" because it does not start with the basename, so the <Router> won't render anything.`),M==null?null:O.createElement(bt.Provider,{value:v},O.createElement(Gi.Provider,{children:o,value:M}))}function V0({children:u,location:o}){return Vz(tu(u),o)}function tu(u,o=[]){let s=[];return O.Children.forEach(u,(r,c)=>{if(!O.isValidElement(r))return;let f=[...o,c];if(r.type===O.Fragment){s.push.apply(s,tu(r.props.children,f));return}De(r.type===Qz,`[${typeof r.type=="string"?r.type:r.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`),De(!r.props.index||!r.props.children,"An index route cannot have child routes.");let m={id:r.props.id||f.join("-"),caseSensitive:r.props.caseSensitive,element:r.props.element,Component:r.props.Component,index:r.props.index,path:r.props.path,middleware:r.props.middleware,loader:r.props.loader,action:r.props.action,hydrateFallbackElement:r.props.hydrateFallbackElement,HydrateFallback:r.props.HydrateFallback,errorElement:r.props.errorElement,ErrorBoundary:r.props.ErrorBoundary,hasErrorBoundary:r.props.hasErrorBoundary===!0||r.props.ErrorBoundary!=null||r.props.errorElement!=null,shouldRevalidate:r.props.shouldRevalidate,handle:r.props.handle,lazy:r.props.lazy};r.props.children&&(m.children=tu(r.props.children,f)),s.push(m)}),s}var fo="get",mo="application/x-www-form-urlencoded";function So(u){return typeof HTMLElement<"u"&&u instanceof HTMLElement}function Xz(u){return So(u)&&u.tagName.toLowerCase()==="button"}function Jz(u){return So(u)&&u.tagName.toLowerCase()==="form"}function Wz(u){return So(u)&&u.tagName.toLowerCase()==="input"}function Iz(u){return!!(u.metaKey||u.altKey||u.ctrlKey||u.shiftKey)}function e0(u,o){return u.button===0&&(!o||o==="_self")&&!Iz(u)}function au(u=""){return new URLSearchParams(typeof u=="string"||Array.isArray(u)||u instanceof URLSearchParams?u:Object.keys(u).reduce((o,s)=>{let r=u[s];return o.concat(Array.isArray(r)?r.map(c=>[s,c]):[[s,r]])},[]))}function t0(u,o){let s=au(u);return o&&o.forEach((r,c)=>{s.has(c)||o.getAll(c).forEach(f=>{s.append(c,f)})}),s}var co=null;function a0(){if(co===null)try{new FormData(document.createElement("form"),0),co=!1}catch{co=!0}return co}var n0=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function Js(u){return u!=null&&!n0.has(u)?(yt(!1,`"${u}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${mo}"`),null):u}function i0(u,o){let s,r,c,f,m;if(Jz(u)){let h=u.getAttribute("action");r=h?la(h,o):null,s=u.getAttribute("method")||fo,c=Js(u.getAttribute("enctype"))||mo,f=new FormData(u)}else if(Xz(u)||Wz(u)&&(u.type==="submit"||u.type==="image")){let h=u.form;if(h==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let v=u.getAttribute("formaction")||h.getAttribute("action");if(r=v?la(v,o):null,s=u.getAttribute("formmethod")||h.getAttribute("method")||fo,c=Js(u.getAttribute("formenctype"))||Js(h.getAttribute("enctype"))||mo,f=new FormData(h,u),!a0()){let{name:g,type:z,value:y}=u;if(z==="image"){let D=g?`${g}.`:"";f.append(`${D}x`,"0"),f.append(`${D}y`,"0")}else g&&f.append(g,y)}}else{if(So(u))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');s=fo,r=null,c=mo,m=u}return f&&c==="text/plain"&&(m=f,f=void 0),{action:r,method:s.toLowerCase(),encType:c,formData:f,body:m}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function cu(u,o){if(u===!1||u===null||typeof u>"u")throw new Error(o)}function l0(u,o,s){let r=typeof u=="string"?new URL(u,typeof window>"u"?"server://singlefetch/":window.location.origin):u;return r.pathname==="/"?r.pathname=`_root.${s}`:o&&la(r.pathname,o)==="/"?r.pathname=`${o.replace(/\/$/,"")}/_root.${s}`:r.pathname=`${r.pathname.replace(/\/$/,"")}.${s}`,r}async function o0(u,o){if(u.id in o)return o[u.id];try{let s=await import(u.module);return o[u.id]=s,s}catch(s){return console.error(`Error loading route module \`${u.module}\`, reloading page...`),console.error(s),window.__reactRouterContext&&window.__reactRouterContext.
311isSpaMode,window.location.reload(),new Promise(()=>{})}}function r0(u){return u==null?!1:u.href==null?u.rel==="preload"&&typeof u.imageSrcSet=="string"&&typeof u.imageSizes=="string":typeof u.rel=="string"&&typeof u.href=="string"}async function s0(u,o,s){let r=await Promise.all(u.map(async c=>{let f=o.routes[c.route.id];if(f){let m=await o0(f,s);return m.links?m.links():[]}return[]}));return f0(r.flat(1).filter(r0).filter(c=>c.rel==="stylesheet"||c.rel==="preload").map(c=>c.rel==="stylesheet"?{...c,rel:"prefetch",as:"style"}:{...c,rel:"prefetch"}))}function Fm(u,o,s,r,c,f){let m=(v,g)=>s[g]?v.route.id!==s[g].route.id:!0,h=(v,g)=>{var z;return s[g].pathname!==v.pathname||((z=s[g].route.path)==null?void 0:z.endsWith("*"))&&s[g].params["*"]!==v.params["*"]};return f==="assets"?o.filter((v,g)=>m(v,g)||h(v,g)):f==="data"?o.filter((v,g)=>{var y;let z=r.routes[v.route.id];if(!z||!z.hasLoader)return!1;if(m(v,g)||h(v,g))return!0;if(v.route.shouldRevalidate){let D=v.route.shouldRevalidate({currentUrl:new URL(c.pathname+c.search+c.hash,window.origin),currentParams:((y=s[0])==null?void 0:y.params)||{},nextUrl:new URL(u,window.origin),nextParams:v.params,defaultShouldRevalidate:!0});if(typeof D=="boolean")return D}return!0}):[]}function u0(u,o,{includeHydrateFallback:s}={}){return c0(u.map(r=>{let c=o.routes[r.route.id];if(!c)return[];let f=[c.module];return c.clientActionModule&&(f=f.concat(c.clientActionModule)),c.clientLoaderModule&&(f=f.concat(c.clientLoaderModule)),s&&c.hydrateFallbackModule&&(f=f.concat(c.hydrateFallbackModule)),c.imports&&(f=f.concat(c.imports)),f}).flat(1))}function c0(u){return[...new Set(u)]}function d0(u){let o={},s=Object.keys(u).sort();for(let r of s)o[r]=u[r];return o}function f0(u,o){let s=new Set;return new Set(o),u.reduce((r,c)=>{let f=JSON.stringify(d0(c));return s.has(f)||(s.add(f),r.push({key:f,link:c})),r},[])}function pp(){let u=O.useContext(Bn);return cu(u,"You must render this element inside a <DataRouterContext.Provider> element"),u}function m0(){let u=O.useContext(bo);return cu(u,"You must render this element inside a <DataRouterStateContext.Provider> element"),u}var du=O.createContext(void 0);du.displayName="FrameworkContext";function gp(){let u=O.useContext(du);return cu(u,"You must render this element inside a <HydratedRouter> element"),u}function p0(u,o){let s=O.useContext(du),[r,c]=O.useState(!1),[f,m]=O.useState(!1),{onFocus:h,onBlur:v,onMouseEnter:g,onMouseLeave:z,onTouchStart:y}=o,D=O.useRef(null);O.useEffect(()=>{if(u==="render"&&m(!0),u==="viewport"){let L=H=>{H.forEach($=>{m($.isIntersecting)})},q=new IntersectionObserver(L,{threshold:.5});return D.current&&q.observe(D.current),()=>{q.disconnect()}}},[u]),O.useEffect(()=>{if(r){let L=setTimeout(()=>{m(!0)},100);return()=>{clearTimeout(L)}}},[r]);let j=()=>{c(!0)},M=()=>{c(!1),m(!1)};return s?u!=="intent"?[f,D,{}]:[f,D,{onFocus:Pi(h,j),onBlur:Pi(v,M),onMouseEnter:Pi(g,j),onMouseLeave:Pi(z,M),onTouchStart:Pi(y,j)}]:[!1,D,{}]}function Pi(u,o){return s=>{u&&u(s),s.defaultPrevented||o(s)}}function g0({page:u,...o}){let{router:s}=pp(),r=O.useMemo(()=>ep(s.routes,u,s.basename),[s.routes,u,s.basename]);return r?O.createElement(v0,{page:u,matches:r,...o}):null}function h0(u){let{manifest:o,routeModules:s}=gp(),[r,c]=O.useState([]);return O.useEffect(()=>{let f=!1;return s0(u,o,s).then(m=>{f||c(m)}),()=>{f=!0}},[u,o,s]),r}function v0({page:u,matches:o,...s}){let r=oa(),{manifest:c,routeModules:f}=gp(),{basename:m}=pp(),{loaderData:h,matches:v}=m0(),g=O.useMemo(()=>Fm(u,o,v,c,r,"data"),[u,o,v,c,r]),z=O.useMemo(()=>Fm(u,o,v,c,r,"assets"),[u,o,v,c,r]),y=O.useMemo(()=>{if(u===r.pathname+r.search+r.hash)return[];let M=new Set,L=!1;if(o.forEach(H=>{var _;let $=c.routes[H.route.id];!$||!$.hasLoader||(!g.some(te=>te.route.id===H.route.id)&&H.route.id in h&&((_=f[H.route.id])!=null&&_.shouldRevalidate)||$.hasClientLoader?L=!0:M.add(H.route.id))}),M.size===0)return[];let q=l0(u,m,"data");return L&&M.size>0&&q.searchParams.set("_routes",o.filter(H=>M.has(H.route.id)).map(H=>H.route.id).join(",")),[q.pathname+q.search]},[m,h,r,c,g,o,u,f]),D=O.useMemo(()=>u0(z,c),[z,c]),j=h0(z);return O.createElement(O.Fragment,null,y.map(M=>O.createElement("link",{key:M,rel:"prefetch",as:"fetch",href:M,...s})),D.map(M=>O.createElement("link",{key:M,rel:"modulepreload",href:M,...s})),j.map(({key:M,link:L})=>O.createElement("link",{key:M,nonce:s.nonce,...L})))}function y0(...u){return o=>{u.forEach(s=>{typeof s=="function"?s(o):s!=null&&(s.current=o)})}}var b0=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{b0&&(window.__reactRouterVersion="7.11.0")}catch{}function Ym({basename:u,children:o,unstable_useTransitions:s,window:r}){let c=O.useRef();c.current==null&&(c.current=IS({window:r,v5Compat:!0}));let f=c.current,[m,h]=O.useState({action:f.action,location:f.location}),v=O.useCallback(g=>
311{s===!1?h(g):O.startTransition(()=>h(g))},[s]);return O.useLayoutEffect(()=>f.listen(v),[f,v]),O.createElement($z,{basename:u,children:o,location:m.location,navigationType:m.action,navigator:f,unstable_useTransitions:s})}var hp=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,vp=O.forwardRef(function({onClick:o,discover:s="render",prefetch:r="none",relative:c,reloadDocument:f,replace:m,state:h,target:v,to:g,preventScrollReset:z,viewTransition:y,unstable_defaultShouldRevalidate:D,...j},M){let{basename:L,unstable_useTransitions:q}=O.useContext(bt),H=typeof g=="string"&&hp.test(g),$=lp(g,L);g=$.to;let _=jz(g,{relative:c}),[te,oe,ve]=p0(r,j),Q=C0(g,{replace:m,state:h,target:v,preventScrollReset:z,relative:c,viewTransition:y,unstable_defaultShouldRevalidate:D,unstable_useTransitions:q});function Te(Se){o&&o(Se),Se.defaultPrevented||Q(Se)}let me=O.createElement("a",{...j,...ve,href:$.absoluteURL||_,onClick:$.isExternal||f?o:Te,ref:y0(M,oe),target:v,"data-discover":!H&&s==="render"?"true":void 0});return te&&!H?O.createElement(O.Fragment,null,me,O.createElement(g0,{page:_})):me});vp.displayName="Link";var S0=O.forwardRef(function({"aria-current":o="page",caseSensitive:s=!1,className:r="",end:c=!1,style:f,to:m,viewTransition:h,children:v,...g},z){let y=Fi(m,{relative:g.relative}),D=oa(),j=O.useContext(bo),{navigator:M,basename:L}=O.useContext(bt),q=j!=null&&M0(y)&&h===!0,H=M.encodeLocation?M.encodeLocation(y).pathname:y.pathname,$=D.pathname,_=j&&j.navigation&&j.navigation.location?j.navigation.location.pathname:null;s||($=$.toLowerCase(),_=_?_.toLowerCase():null,H=H.toLowerCase()),_&&L&&(_=la(_,L)||_);const te=H!=="/"&&H.endsWith("/")?H.length-1:H.length;let oe=$===H||!c&&$.startsWith(H)&&$.charAt(te)==="/",ve=_!=null&&(_===H||!c&&_.startsWith(H)&&_.charAt(H.length)==="/"),Q={isActive:oe,isPending:ve,isTransitioning:q},Te=oe?o:void 0,me;typeof r=="function"?me=r(Q):me=[r,oe?"active":null,ve?"pending":null,q?"transitioning":null].filter(Boolean).join(" ");let Se=typeof f=="function"?f(Q):f;return O.createElement(vp,{...g,"aria-current":Te,className:me,ref:z,style:Se,to:m,viewTransition:h},typeof v=="function"?v(Q):v)});S0.displayName="NavLink";var z0=O.forwardRef(({discover:u="render",fetcherKey:o,navigate:s,reloadDocument:r,replace:c,state:f,method:m=fo,action:h,onSubmit:v,relative:g,preventScrollReset:z,viewTransition:y,unstable_defaultShouldRevalidate:D,...j},M)=>{let{unstable_useTransitions:L}=O.useContext(bt),q=w0(),H=k0(h,{relative:g}),$=m.toLowerCase()==="get"?"get":"post",_=typeof h=="string"&&hp.test(h),te=oe=>{if(v&&v(oe),oe.defaultPrevented)return;oe.preventDefault();let ve=oe.nativeEvent.submitter,Q=(ve==null?void 0:ve.getAttribute("formmethod"))||m,Te=()=>q(ve||oe.currentTarget,{fetcherKey:o,method:Q,navigate:s,replace:c,state:f,relative:g,preventScrollReset:z,viewTransition:y,unstable_defaultShouldRevalidate:D});L&&s!==!1?O.startTransition(()=>Te()):Te()};return O.createElement("form",{ref:M,method:$,action:H,onSubmit:r?v:te,...j,"data-discover":!_&&u==="render"?"true":void 0})});z0.displayName="Form";function A0(u){return`${u} must be used within a data router.  See https://reactrouter.com/en/main/routers/picking-a-router.`}function yp(u){let o=O.useContext(Bn);return De(o,A0(u)),o}function C0(u,{target:o,replace:s,state:r,preventScrollReset:c,relative:f,viewTransition:m,unstable_defaultShouldRevalidate:h,unstable_useTransitions:v}={}){let g=ru(),z=oa(),y=Fi(u,{relative:f});return O.useCallback(D=>{if(e0(D,o)){D.preventDefault();let j=s!==void 0?s:Hi(z)===Hi(y),M=()=>g(u,{replace:j,state:r,preventScrollReset:c,relative:f,viewTransition:m,unstable_defaultShouldRevalidate:h});v?O.startTransition(()=>M()):M()}},[z,g,y,s,r,o,u,c,f,m,h,v])}function U0(u){yt(typeof URLSearchParams<"u","You cannot use the `useSearchParams` hook in a browser that does not support the URLSearchParams API. If you need to support Internet Explorer 11, we recommend you load a polyfill such as https://github.com/ungap/url-search-params.");let o=O.useRef(au(u)),s=O.useRef(!1),r=oa(),c=O.useMemo(()=>
311t0(r.search,s.current?null:o.current),[r.search]),f=ru(),m=O.useCallback((h,v)=>{const g=au(typeof h=="function"?h(new URLSearchParams(c)):h);s.current=!0,f("?"+g,v)},[f,c]);return[c,m]}var T0=0,E0=()=>`__${String(++T0)}__`;function w0(){let{router:u}=yp("useSubmit"),{basename:o}=O.useContext(bt),s=Fz(),r=u.fetch,c=u.navigate;return O.useCallback(async(f,m={})=>{let{action:h,method:v,encType:g,formData:z,body:y}=i0(f,o);if(m.navigate===!1){let D=m.fetcherKey||E0();await r(D,s,m.action||h,{unstable_defaultShouldRevalidate:m.unstable_defaultShouldRevalidate,preventScrollReset:m.preventScrollReset,formData:z,body:y,formMethod:m.method||v,formEncType:m.encType||g,flushSync:m.flushSync})}else await c(m.action||h,{unstable_defaultShouldRevalidate:m.unstable_defaultShouldRevalidate,preventScrollReset:m.preventScrollReset,formData:z,body:y,formMethod:m.method||v,formEncType:m.encType||g,replace:m.replace,state:m.state,fromRouteId:s,flushSync:m.flushSync,viewTransition:m.viewTransition})},[r,c,o,s])}function k0(u,{relative:o}={}){let{basename:s}=O.useContext(bt),r=O.useContext(Nt);De(r,"useFormAction must be used inside a RouteContext");let[c]=r.matches.slice(-1),f={...Fi(u||".",{relative:o})},m=oa();if(u==null){f.search=m.search;let h=new URLSearchParams(f.search),v=h.getAll("index");if(v.some(z=>z==="")){h.delete("index"),v.filter(y=>y).forEach(y=>h.append("index",y));let z=h.toString();f.search=z?`?${z}`:""}}return(!u||u===".")&&c.route.index&&(f.search=f.search?f.search.replace(/^\?/,"?index&"):"?index"),s!=="/"&&(f.pathname=f.pathname==="/"?s:ia([s,f.pathname])),Hi(f)}function M0(u,{relative:o}={}){let s=O.useContext(rp);De(s!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`.  Did you accidentally import `RouterProvider` from `react-router`?");let{basename:r}=yp("useViewTransitionState"),c=Fi(u,{relative:o});if(!s.isTransitioning)return!1;let f=la(s.currentLocation.pathname,r)||s.currentLocation.pathname,m=la(s.nextLocation.pathname,r)||s.nextLocation.pathname;return vo(c.pathname,m)!=null||vo(c.pathname,f)!=null}const bp=document.getElementById("root");if(!bp)throw new Error("Could not find root element to mount to");const Km=WS.createRoot(bp),D0=window.location.pathname==="/oauth/connect";async function R0(){if(D0){const{default:s}=await Bs(async()=>{const{default:r}=await import("./OAuthConnectApp-Bt4Tygml.js");return{default:r}},__vite__mapDeps([0,1,2]));Km.render(Ja.jsx(Om.StrictMode,{children:Ja.jsx(Ym,{children:Ja.jsx(s,{})})}));return}const[{default:u},{AnalyticsProvider:o}]=await Promise.all([Bs(()=>import("./App-rrflGC5I.js").then(s=>s.A),__vite__mapDeps([3,1,2,4])),Bs(()=>import("./AnalyticsProvider-BHCeRgT6.js"),__vite__mapDeps([5,2,4]))]);Km.render(Ja.jsx(Om.StrictMode,{children:Ja.jsx(Ym,{children:Ja.jsx(o,{children:Ja.jsx(u,{})})})}))}R0();export{vp as L,N0 as N,Om as R,Bs as _,QS as a,oa as b,U0 as c,V0 as d,Qz as e,nu as f,Zm as g,O0 as h,x0 as i,Ja as j,j0 as k,S0 as l,O as r,ru as u};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.