PageSourceSearch

https://claude-certified-architect.com/assets/main-DUaClxz-.js

js claude-certified-architect.com collected 2026-10-06 18:42:33 UTC 816,120 bytes, 47 lines download raw bytes

vendor: 5,247 bytes, lines 1-2
1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/_lang-BpUv8FMg.js","assets/app-context-8Q2eD-OO.js","assets/use-translation-CaQJspvC.js","assets/admin-DpQYyj86.js","assets/button-vmCfZC6q.js","assets/cn-DeUeD3zY.js","assets/index-B1y6_y9c.js","assets/index-CKE_Xare.js","assets/index-By2ZY9OT.js","assets/index-DZrEkhlY.js","assets/x-B98Ao-ZO.js","assets/createLucideIcon-kb0Cfg4n.js","assets/tooltip-Dt3pp6cA.js","assets/index-BvnKLh0L.js","assets/index-DuAFjvTE.js","assets/logo-DmHFmsV-.js","assets/user-KUo0twtT.js","assets/credit-card-DtkLfa3n.js","assets/shopping-cart-CxnHfo83.js","assets/file-text-CaJd93qD.js","assets/route-Bo1t8kcn.js","assets/useLocation-dlFR9j8b.js","assets/authClient-dhxl390O.js","assets/dropdown-menu-0x-TO4c3.js","assets/index-C-nfOzin.js","assets/avatar-yb7xYNMr.js","assets/check-CBFGxjuX.js","assets/globe-Kxe-ri8Q.js","assets/route-B607q9eU.js","assets/index-3hzfs289.js","assets/badge-DOoq8f-A.js","assets/external-link-32y4p1t0.js","assets/circle-check-big-BIEViVAM.js","assets/circle-x-DZIfs42j.js","assets/rotate-ccw-D_2C3xvs.js","assets/clock-uC1rsMgW.js","assets/loader-circle-BfiaOy7s.js","assets/trending-up-OzD6y2mQ.js","assets/string-DaX4i1NL.js","assets/band-BEGRCkg7.js","assets/init-BFKUnIhM.js","assets/ordinal-BQ3KlzSu.js","assets/linear-BYqH-5hO.js","assets/defaultLocale-B22ap6O6.js","assets/time-_WCap_H2.js","assets/index-CHuwp56C.js","assets/index-BRQrath2.js","assets/react-icons.esm-Bbh1zoqu.js","assets/proxy-CIwTsWJJ.js","assets/layers-CVhN8mmj.js","assets/video-generate-BQ7l_cki.js","assets/textarea-DEHgr_Ho.js","assets/label-CUSju62F.js","assets/input-DA7ZHypk.js","assets/switch-sweBic2n.js","assets/select-DvXehGng.js","assets/chevron-down-CPGjmQnm.js","assets/slider-BL4kE3Vd.js","assets/index-BtwvN8Xj.js","assets/index-OXXVLmo5.js","assets/upload-CtodSSk9.js","assets/card-CmsUe9Eb.js","assets/file-upload-D7tA1WzB.js","assets/pricing-aUr4wfZN.js","assets/dialog-CsCWWgT2.js","assets/entitlement-CZD4w1xq.js","assets/sparkles-N1A5qps0.js","assets/arrow-right-DWhJOYpg.js","assets/premium-features-DVnEdUja.js","assets/payment-success-CdvlGmIj.js","assets/circle-check-Bje3QAEI.js","assets/payment-cancel-D96JpkJs.js","assets/image-generate-HEcU5SZN.js","assets/faq-ggYImbL2.js","assets/dashboard-DA9u1IJr.js","assets/api-Dmmf97sH.js","assets/constants-BaM-e5bA.js","assets/server-B6ULKGHF.js","assets/book-open-Dl3JJh5R.js","assets/clipboard-list-CQDDpwWc.js","assets/progress-CGwICoMZ.js","assets/calendar-td3bIgTM.js","assets/pagination-By0sMSP0.js","assets/chevron-left-BtjqCm-7.js","assets/chevron-right-D1rt4tIx.js","assets/gift-C8R8s7oY.js","assets/zod-ozYzO9D4.js","assets/alert-dialog-Bb55Y_Hf.js","assets/trash-2-CeHNPi5S.js","assets/save-BlSlQV8o.js","assets/ai-D00zHRIR.js","assets/arrow-down-BIP11lAL.js","assets/response-CDuu5NCF.js","assets/index-BZb8mmOJ.js","assets/index-ifGatnAj.js","assets/index-DKhWp_c2.js","assets/response-DvXFAOB1.css","assets/about-CFQ--Uha.js","assets/verified-badge-D8zWz5H6.js","assets/wechat-CvV5siPt.js","assets/signup-4TjzbRNV.js","assets/social-auth-Cjg3yeSR.js","assets/signin-CQNiiO-B.js","assets/reset-password-DNKfJ3bh.js","assets/form-error-2ilhUer4.js","assets/forgot-password-CEC001DE.js","assets/turnstile-B6OiiLwC.js","assets/cellphone-DmTgPeOn.js","assets/index-Ud3s0gGK.js","assets/table-vz2--nlI.js","assets/settings-2-D7IEoLcC.js","assets/search-B3EHIQ6p.js","assets/copy-DEE0BBKK.js","assets/index-CWgY1KXG.js","assets/index-IB023Qor.js","assets/index-ClkB7ewn.js","assets/index-CLIfsDAd.js","assets/index-Cx3hEeAc.js","assets/index-CHfAgIhQ.js","assets/index-CLpeQY6i.js","assets/storage-L2V7k3-v.js","assets/lock-B7Bdxr0Y.js","assets/index-CQvjxRLD.js","assets/index-KmnXSrk4.js","assets/skeleton-D1_L5Zt3.js","assets/leitner-CznfZ6to.js","assets/use-entitlement-yEl--VmX.js","assets/index-BykdfnGd.js","assets/index-pHTeC7jA.js","assets/study-plan-DjmnlB8z.js","assets/markdown-content-Dz8W-VwK.js","assets/exam-info-rh_ohyo0.js","assets/anti-patterns-BK2DbtN5.js","assets/_domainId-D9dAhJ8_.js","assets/not-found-block-BdKvm3Pv.js","assets/_scenarioId-BuFQ2VhB.js","assets/_examId-CudrwzDy.js","assets/premium-gate-py0xXwHj.js","assets/_deckId-BaNRzQqd.js","assets/server-DSmAScFA.js","assets/_slug-CXgbXMKV.js","assets/index-B1ErwQOn.js","assets/index-DrcF4wFU.js","assets/index-BV4pNxkw.js","assets/_lessonId-D32y6TF8.js"])))=>i.map(i=>d[i]);
2function oC(i,o){for(var r=0;r<o.length;r++){const l=o[r];if(typeof l!="string"&&!Array.isArray(l)){for(const u in l)if(u!=="default"&&!(u in i)){const d=Object.getOwnPropertyDescriptor(l,u);d&&Object.defineProperty(i,u,d.get?d:{enumerable:!0,get:()=>l[u]})}}}return Object.freeze(Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}))}var $1=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Lg(i){return i&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}var Bu={exports:{}},gr={};var Ph;function rC(){if(Ph)return gr;Ph=1;var i=Symbol.for("react.transitional.element"),o=Symbol.for("react.fragment");function r(l,u,d){var p=null;if(d!==void 0&&(p=""+d),u.key!==void 0&&(p=""+u.key),"key"in u){d={};for(var y in u)y!=="key"&&(d[y]=u[y])}else d=u;
vendor: 4,432 bytes, line 2
2return u=d.ref,{$$typeof:i,type:l,key:p,ref:u!==void 0?u:null,props:d}}return gr.Fragment=o,gr.jsx=r,gr.jsxs=r,gr}var Dh;function sC(){return Dh||(Dh=1,Bu.exports=rC()),Bu.exports}var X=sC(),qu={exports:{}},ge={};var Oh;function lC(){if(Oh)return ge;Oh=1;var i=Symbol.for("react.transitional.element"),o=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),l=Symbol.for("react.strict_mode"),u=Symbol.for("react.profiler"),d=Symbol.for("react.consumer"),p=Symbol.for("react.context"),y=Symbol.for("react.forward_ref"),g=Symbol.for("react.suspense"),m=Symbol.for("react.memo"),v=Symbol.for("react.lazy"),h=Symbol.for("react.activity"),C=Symbol.iterator;function A(_){return _===null||typeof _!="object"?null:(_=C&&_[C]||_["@@iterator"],typeof _=="function"?_:null)}var R={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},P=Object.assign,w={};function O(_,F,Y){this.props=_,this.context=F,this.refs=w,this.updater=Y||R}O.prototype.isReactComponent={},O.prototype.setState=function(_,F){if(typeof _!="object"&&typeof _!="function"&&_!=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,_,F,"setState")},O.prototype.forceUpdate=function(_){this.updater.enqueueForceUpdate(this,_,"forceUpdate")};function q(){}q.prototype=O.prototype;function V(_,F,Y){this.props=_,this.context=F,this.refs=w,this.updater=Y||R}var j=V.prototype=new q;j.constructor=V,P(j,O.prototype),j.isPureReactComponent=!0;var J=Array.isArray;function ee(){}var G={H:null,A:null,T:null,S:null},z=Object.prototype.hasOwnProperty;function W(_,F,Y){var K=Y.ref;return{$$typeof:i,type:_,key:F,ref:K!==void 0?K:null,props:Y}}function me(_,F){return W(_.type,F,_.props)}function re(_){return typeof _=="object"&&_!==null&&_.$$typeof===i}function ae(_){var F={"=":"=0",":":"=2"};return"$"+_.replace(/[=:]/g,function(Y){return F[Y]})}var Te=/\/+/g;function xe(_,F){return typeof _=="object"&&_!==null&&_.key!=null?ae(""+_.key):F.toString(36)}function Ge(_){switch(_.status){case"fulfilled":return _.value;case"rejected":throw _.reason;default:switch(typeof _.status=="string"?_.then(ee,ee):(_.status="pending",_.then(function(F){_.status==="pending"&&(_.status="fulfilled",_.value=F)},function(F){_.status==="pending"&&(_.status="rejected",_.reason=F)})),_.status){case"fulfilled":return _.value;case"rejected":throw _.reason}}throw _}function L(_,F,Y,K,Z){var le=typeof _;(le==="undefined"||le==="boolean")&&(_=null);var Ce=!1;if(_===null)Ce=!0;else switch(le){case"bigint":case"string":case"number":Ce=!0;break;case"object":switch(_.$$typeof){case i:case o:Ce=!0;break;case v:return Ce=_._init,L(Ce(_._payload),F,Y,K,Z)}}if(Ce)return Z=Z(_),Ce=K===""?"."+xe(_,0):K,J(Z)?(Y="",Ce!=null&&(Y=Ce.replace(Te,"$&/")+"/"),L(Z,F,Y,"",function(Mt){return Mt})):Z!=null&&(re(Z)&&(Z=me(Z,Y+(Z.key==null||_&&_.key===Z.key?"":(""+Z.key).replace(Te,"$&/")+"/")+Ce)),F.push(Z)),1;Ce=0;var pe=K===""?".":K+":";if(J(_))for(var De=0;De<_.length;De++)K=_[De],le=pe+xe(K,De),Ce+=L(K,F,Y,le,Z);else if(De=A(_),typeof De=="function")for(_=De.call(_),De=0;!(K=_.next()).done;)K=K.value,le=pe+xe(K,De++),Ce+=L(K,F,Y,le,Z);else if(le==="object"){if(typeof _.then=="function")return L(Ge(_),F,Y,K,Z);throw F=String(_),Error("Objects are not valid as a React child (found: "+(F==="[object Object]"?"object with keys {"+Object.keys(_).join(", ")+"}":F)+"). If you meant to render a collection of children, use an array instead.")}return Ce}function Q(_,F,Y){if(_==null)return _;var K=[],Z=0;return L(_,K,"","",function(le){return F.call(Y,le,Z++)}),K}function oe(_){if(_._status===-1){var F=_._result;F=F(),F.then(function(Y){(_._status===0||_._status===-1)&&(_._status=1,_._result=Y)},function(Y){(_._status===0||_._status===-1)&&(_._status=2,_._result=Y)}),_._status===-1&&(_._status=0,_._result=F)}if(_._status===1)return _._result.default;throw _._result}var Se=typeof reportError=="function"?reportError:function(_){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var F=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof _=="object"&&_!==null&&typeof _.message=="string"?String(_.message):String(_),error:_});if(!window.dispatchEvent(F))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",_);return}console.error(_)}
vendor: 6,197 bytes, line 2
2,ye={map:Q,forEach:function(_,F,Y){Q(_,function(){F.apply(this,arguments)},Y)},count:function(_){var F=0;return Q(_,function(){F++}),F},toArray:function(_){return Q(_,function(F){return F})||[]},only:function(_){if(!re(_))throw Error("React.Children.only expected to receive a single React element child.");return _}};return ge.Activity=h,ge.Children=ye,ge.Component=O,ge.Fragment=r,ge.Profiler=u,ge.PureComponent=V,ge.StrictMode=l,ge.Suspense=g,ge.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=G,ge.__COMPILER_RUNTIME={__proto__:null,c:function(_){return G.H.useMemoCache(_)}},ge.cache=function(_){return function(){return _.apply(null,arguments)}},ge.cacheSignal=function(){return null},ge.cloneElement=function(_,F,Y){if(_==null)throw Error("The argument must be a React element, but you passed "+_+".");var K=P({},_.props),Z=_.key;if(F!=null)for(le in F.key!==void 0&&(Z=""+F.key),F)!z.call(F,le)||le==="key"||le==="__self"||le==="__source"||le==="ref"&&F.ref===void 0||(K[le]=F[le]);var le=arguments.length-2;if(le===1)K.children=Y;else if(1<le){for(var Ce=Array(le),pe=0;pe<le;pe++)Ce[pe]=arguments[pe+2];K.children=Ce}return W(_.type,Z,K)},ge.createContext=function(_){return _={$$typeof:p,_currentValue:_,_currentValue2:_,_threadCount:0,Provider:null,Consumer:null},_.Provider=_,_.Consumer={$$typeof:d,_context:_},_},ge.createElement=function(_,F,Y){var K,Z={},le=null;if(F!=null)for(K in F.key!==void 0&&(le=""+F.key),F)z.call(F,K)&&K!=="key"&&K!=="__self"&&K!=="__source"&&(Z[K]=F[K]);var Ce=arguments.length-2;if(Ce===1)Z.children=Y;else if(1<Ce){for(var pe=Array(Ce),De=0;De<Ce;De++)pe[De]=arguments[De+2];Z.children=pe}if(_&&_.defaultProps)for(K in Ce=_.defaultProps,Ce)Z[K]===void 0&&(Z[K]=Ce[K]);return W(_,le,Z)},ge.createRef=function(){return{current:null}},ge.forwardRef=function(_){return{$$typeof:y,render:_}},ge.isValidElement=re,ge.lazy=function(_){return{$$typeof:v,_payload:{_status:-1,_result:_},_init:oe}},ge.memo=function(_,F){return{$$typeof:m,type:_,compare:F===void 0?null:F}},ge.startTransition=function(_){var F=G.T,Y={};G.T=Y;try{var K=_(),Z=G.S;Z!==null&&Z(Y,K),typeof K=="object"&&K!==null&&typeof K.then=="function"&&K.then(ee,Se)}catch(le){Se(le)}finally{F!==null&&Y.types!==null&&(F.types=Y.types),G.T=F}},ge.unstable_useCacheRefresh=function(){return G.H.useCacheRefresh()},ge.use=function(_){return G.H.use(_)},ge.useActionState=function(_,F,Y){return G.H.useActionState(_,F,Y)},ge.useCallback=function(_,F){return G.H.useCallback(_,F)},ge.useContext=function(_){return G.H.useContext(_)},ge.useDebugValue=function(){},ge.useDeferredValue=function(_,F){return G.H.useDeferredValue(_,F)},ge.useEffect=function(_,F){return G.H.useEffect(_,F)},ge.useEffectEvent=function(_){return G.H.useEffectEvent(_)},ge.useId=function(){return G.H.useId()},ge.useImperativeHandle=function(_,F,Y){return G.H.useImperativeHandle(_,F,Y)},ge.useInsertionEffect=function(_,F){return G.H.useInsertionEffect(_,F)},ge.useLayoutEffect=function(_,F){return G.H.useLayoutEffect(_,F)},ge.useMemo=function(_,F){return G.H.useMemo(_,F)},ge.useOptimistic=function(_,F){return G.H.useOptimistic(_,F)},ge.useReducer=function(_,F,Y){return G.H.useReducer(_,F,Y)},ge.useRef=function(_){return G.H.useRef(_)},ge.useState=function(_){return G.H.useState(_)},ge.useSyncExternalStore=function(_,F,Y){return G.H.useSyncExternalStore(_,F,Y)},ge.useTransition=function(){return G.H.useTransition()},ge.version="19.2.3",ge}var Lh;function Ir(){return Lh||(Lh=1,qu.exports=lC()),qu.exports}var ne=Ir();const $=Lg(ne),cC=oC({__proto__:null,default:$},[ne]);var zu={exports:{}},yr={},Fu={exports:{}},Vu={};var Ih;function uC(){return Ih||(Ih=1,(function(i){function o(L,Q){var oe=L.length;L.push(Q);e:for(;0<oe;){var Se=oe-1>>>1,ye=L[Se];if(0<u(ye,Q))L[Se]=Q,L[oe]=ye,oe=Se;else break e}}function r(L){return L.length===0?null:L[0]}function l(L){if(L.length===0)return null;var Q=L[0],oe=L.pop();if(oe!==Q){L[0]=oe;e:for(var Se=0,ye=L.length,_=ye>>>1;Se<_;){var F=2*(Se+1)-1,Y=L[F],K=F+1,Z=L[K];if(0>u(Y,oe))K<ye&&0>u(Z,Y)?(L[Se]=Z,L[K]=oe,Se=K):(L[Se]=Y,L[F]=oe,Se=F);else if(K<ye&&0>u(Z,oe))L[Se]=Z,L[K]=oe,Se=K;else break e}}return Q}function u(L,Q){var oe=L.sortIndex-Q.sortIndex;return oe!==0?oe:L.id-Q.id}if(i.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var d=performance;i.unstable_now=function(){return d.now()}}else{var p=Date,y=p.now();i.unstable_now=function(){return p.now()-y}}var g=[],m=[],v=1,h=null,C=3,A=!1,R=!1,P=!1,w=!1,O=typeof setTimeout=="function"?setTimeout:null,q=typeof clearTimeout=="function"?clearTimeout:null,V=typeof setImmediate<"u"?setImmediate:null;function j(L){for(var Q=r(m);Q!==null;){if(Q.callback===null)l(m);else if(Q.startTime<=L)l(m),Q.sortIndex=Q.expirationTime,o(g,Q);else break;Q=r(m)}}function J(L){if(P=!1,j(L),!R)if(r(g)!==null)R=!0,ee||(ee=!0,ae());else{var Q=r(m);Q!==null&&Ge(J,Q.startTime-L)}}var ee=!1,G=-1,z=5,W=-1;function me(){return w?!0:!(i.unstable_now()-W<z)}function re(){if(w=!1,ee){var L=i.unstable_now();W=L;var Q=!0;try{e:{R=!1,P&&(P=!1,q(G),G=-1),A=!0;var oe=C;try{t:{for(j(L),h=r(g);h!==null&&!(h.expirationTime>L&&me());){var Se=h.callback;if(typeof Se=="function"){h.callback=null,C=h.priorityLevel;var ye=Se(h.expirationTime<=L);if(L=i.unstable_now(),typeof ye=="function"){h.callback=ye,j(L),Q=!0;break t}h===r(g)&&l(g),j(L)}else l(g);h=r(g)}if(h!==null)Q=!0;else{var _=r(m);_!==null&&Ge(J,_.startTime-L),Q=!1}}break e}finally{h=null,C=oe,A=!1}Q=void 0}}finally{Q?ae():ee=!1}}}var ae;if(typeof V=="function")ae=function(){V(re)};else if(typeof MessageChannel<"u"){var Te=new MessageChannel,xe=Te.port2;Te.port1.onmessage=re,ae=function(){xe.postMessage(null)}}else ae=function(){O(re,0)};function Ge(L,Q){G=O(function(){L(i.unstable_now())},Q)}i.unstable_IdlePriority=5,i.unstable_ImmediatePriority=1,i.unstable_LowPriority=4,i.unstable_NormalPriority=3,i.unstable_Profiling=null,i.unstable_UserBlockingPriority=2,i.unstable_cancelCallback=function(L){L.callback=null},i.unstable_forceFrameRate=function(L){0>L||125<L?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):z=0<L?Math.floor(1e3/L):
vendor: 8,503 bytes, line 2
25},i.unstable_getCurrentPriorityLevel=function(){return C},i.unstable_next=function(L){switch(C){case 1:case 2:case 3:var Q=3;break;default:Q=C}var oe=C;C=Q;try{return L()}finally{C=oe}},i.unstable_requestPaint=function(){w=!0},i.unstable_runWithPriority=function(L,Q){switch(L){case 1:case 2:case 3:case 4:case 5:break;default:L=3}var oe=C;C=L;try{return Q()}finally{C=oe}},i.unstable_scheduleCallback=function(L,Q,oe){var Se=i.unstable_now();switch(typeof oe=="object"&&oe!==null?(oe=oe.delay,oe=typeof oe=="number"&&0<oe?Se+oe:Se):oe=Se,L){case 1:var ye=-1;break;case 2:ye=250;break;case 5:ye=1073741823;break;case 4:ye=1e4;break;default:ye=5e3}return ye=oe+ye,L={id:v++,callback:Q,priorityLevel:L,startTime:oe,expirationTime:ye,sortIndex:-1},oe>Se?(L.sortIndex=oe,o(m,L),r(g)===null&&L===r(m)&&(P?(q(G),G=-1):P=!0,Ge(J,oe-Se))):(L.sortIndex=ye,o(g,L),R||A||(R=!0,ee||(ee=!0,ae()))),L},i.unstable_shouldYield=me,i.unstable_wrapCallback=function(L){var Q=C;return function(){var oe=C;C=Q;try{return L.apply(this,arguments)}finally{C=oe}}}})(Vu)),Vu}var Nh;function dC(){return Nh||(Nh=1,Fu.exports=uC()),Fu.exports}var Hu={exports:{}},Pt={};var Mh;function fC(){if(Mh)return Pt;Mh=1;var i=Ir();function o(g){var m="https://react.dev/errors/"+g;if(1<arguments.length){m+="?args[]="+encodeURIComponent(arguments[1]);for(var v=2;v<arguments.length;v++)m+="&args[]="+encodeURIComponent(arguments[v])}return"Minified React error #"+g+"; visit "+m+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function r(){}var l={d:{f:r,r:function(){throw Error(o(522))},D:r,C:r,L:r,m:r,X:r,S:r,M:r},p:0,findDOMNode:null},u=Symbol.for("react.portal");function d(g,m,v){var h=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:u,key:h==null?null:""+h,children:g,containerInfo:m,implementation:v}}var p=i.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function y(g,m){if(g==="font")return"";if(typeof m=="string")return m==="use-credentials"?m:""}return Pt.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=l,Pt.createPortal=function(g,m){var v=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!m||m.nodeType!==1&&m.nodeType!==9&&m.nodeType!==11)throw Error(o(299));return d(g,m,null,v)},Pt.flushSync=function(g){var m=p.T,v=l.p;try{if(p.T=null,l.p=2,g)return g()}finally{p.T=m,l.p=v,l.d.f()}},Pt.preconnect=function(g,m){typeof g=="string"&&(m?(m=m.crossOrigin,m=typeof m=="string"?m==="use-credentials"?m:"":void 0):m=null,l.d.C(g,m))},Pt.prefetchDNS=function(g){typeof g=="string"&&l.d.D(g)},Pt.preinit=function(g,m){if(typeof g=="string"&&m&&typeof m.as=="string"){var v=m.as,h=y(v,m.crossOrigin),C=typeof m.integrity=="string"?m.integrity:void 0,A=typeof m.fetchPriority=="string"?m.fetchPriority:void 0;v==="style"?l.d.S(g,typeof m.precedence=="string"?m.precedence:void 0,{crossOrigin:h,integrity:C,fetchPriority:A}):v==="script"&&l.d.X(g,{crossOrigin:h,integrity:C,fetchPriority:A,nonce:typeof m.nonce=="string"?m.nonce:void 0})}},Pt.preinitModule=function(g,m){if(typeof g=="string")if(typeof m=="object"&&m!==null){if(m.as==null||m.as==="script"){var v=y(m.as,m.crossOrigin);l.d.M(g,{crossOrigin:v,integrity:typeof m.integrity=="string"?m.integrity:void 0,nonce:typeof m.nonce=="string"?m.nonce:void 0})}}else m==null&&l.d.M(g)},Pt.preload=function(g,m){if(typeof g=="string"&&typeof m=="object"&&m!==null&&typeof m.as=="string"){var v=m.as,h=y(v,m.crossOrigin);l.d.L(g,v,{crossOrigin:h,integrity:typeof m.integrity=="string"?m.integrity:void 0,nonce:typeof m.nonce=="string"?m.nonce:void 0,type:typeof m.type=="string"?m.type:void 0,fetchPriority:typeof m.fetchPriority=="string"?m.fetchPriority:void 0,referrerPolicy:typeof m.referrerPolicy=="string"?m.referrerPolicy:void 0,imageSrcSet:typeof m.imageSrcSet=="string"?m.imageSrcSet:void 0,imageSizes:typeof m.imageSizes=="string"?m.imageSizes:void 0,media:typeof m.media=="string"?m.media:void 0})}},Pt.preloadModule=function(g,m){if(typeof g=="string")if(m){var v=y(m.as,m.crossOrigin);l.d.m(g,{as:typeof m.as=="string"&&m.as!=="script"?m.as:void 0,crossOrigin:v,integrity:typeof m.integrity=="string"?m.integrity:void 0})}else l.d.m(g)},Pt.requestFormReset=function(g){l.d.r(g)},Pt.unstable_batchedUpdates=function(g,m){return g(m)},Pt.useFormState=function(g,m,v){return p.H.useFormState(g,m,v)},Pt.useFormStatus=function(){return p.H.useHostTransitionStatus()},Pt.version="19.2.3",Pt}var Uh;function Ig(){if(Uh)return Hu.exports;Uh=1;function i(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(i)}catch(o){console.error(o)}}return i(),Hu.exports=fC(),Hu.exports}var kh;function mC(){if(kh)return yr;kh=1;var i=dC(),o=Ir(),r=Ig();function l(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 u(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function d(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 p(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 y(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 g(e){if(d(e)!==e)throw Error(l(188))}function m(e){var t=e.alternate;if(!t){if(t=d(e),t===null)throw Error(l(188));return t!==e?null:e}for(var a=e,n=t;;){var s=a.return;if(s===null)break;var c=s.alternate;if(c===null){if(n=s.return,n!==null){a=n;continue}break}if(s.child===c.child){for(c=s.child;c;){if(c===a)return g(s),e;if(c===n)return g(s),t;c=c.sibling}throw Error(l(188))}if(a.return!==n.return)a=s,n=c;else{for(var f=!1,b=s.child;b;){if(b===a){f=!0,a=s,n=c;break}if(b===n){f=!0,n=s,a=c;break}b=b.sibling}if(!f){for(b=c.child;b;){if(b===a){f=!0,a=c,n=s;break}if(b===n){f=!0,n=c,a=s;break}b=b.sibling}if(!f)throw Error(l(189))}}if(a.alternate!==n)throw Error(l(190))}if(a.tag!==3)throw Error(l(188));return a.stateNode.current===a?e:t}function v(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=v(e),t!==null)return t;e=e.sibling}return null}var h=Object.assign,C=Symbol.for("react.element"),A=Symbol.for("react.transitional.element"),R=Symbol.for("react.portal"),P=Symbol.for("react.fragment"),w=Symbol.for("react.strict_mode"),O=Symbol.for("react.profiler"),q=Symbol.for("react.consumer"),V=Symbol.for("react.context"),j=Symbol.for("react.forward_ref"),J=Symbol.for("react.suspense"),ee=Symbol.for("react.suspense_list"),G=Symbol.for("react.memo"),z=Symbol.for("react.lazy"),W=Symbol.for("react.activity"),me=Symbol.for("react.memo_cache_sentinel"),re=Symbol.iterator;function ae(e){return e===null||typeof e!="object"?null:(e=re&&e[re]||e["@@iterator"],typeof e=="function"?e:null)}var Te=Symbol.for("react.client.reference");function xe(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===Te?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case P:return"Fragment";case O:return"Profiler";case w:return"StrictMode";case J:return"Suspense";case ee:return"SuspenseList";case W:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case R:return"Portal";case V:return e.displayName||"Context";case q:return(e._context.displayName||"Context")+".Consumer";case j:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case G:return t=e.displayName||null,t!==null?t:xe(e.type)||"Memo";case z:t=e._payload,e=e._init;try{return xe(e(t))}catch{}}return null}var Ge=Array.isArray,L=o.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Q=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,oe={pending:!1,data:null,method:null,action:null},Se=[],ye=-1;function _(e){return{current:e}}function F(e){0>ye||(e.current=Se[ye],Se[ye]=null,ye--)}function Y(e,t){ye++,Se[ye]=e.current,e.current=t}var K=_(null),Z=_(null),le=_(null),Ce=_(null);function pe(e,t){switch(Y(le,t),Y(Z,e),Y(K,null),t.nodeType){case 9:case 11:e=(e
vendor: 9,595 bytes, lines 2-9
2=t.documentElement)&&(e=e.namespaceURI)?Zp(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Zp(t),e=Jp(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}F(K),Y(K,e)}function De(){F(K),F(Z),F(le)}function Mt(e){e.memoizedState!==null&&Y(Ce,e);var t=K.current,a=Jp(t,e.type);t!==a&&(Y(Z,e),Y(K,a))}function Ut(e){Z.current===e&&(F(K),F(Z)),Ce.current===e&&(F(Ce),fr._currentValue=oe)}var Ot,Vi;function kt(e){if(Ot===void 0)try{throw Error()}catch(a){var t=a.stack.trim().match(/\n( *(at )?)/);Ot=t&&t[1]||"",Vi=-1<a.stack.indexOf(`
3    at`)?" (<anonymous>)":-1<a.stack.indexOf("@")?"@unknown:0:0":""}return`
4`+Ot+e+Vi}var Hi=!1;function Ia(e,t){if(!e||Hi)return"";Hi=!0;var a=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var n={DetermineComponentFrameRoot:function(){try{if(t){var H=function(){throw Error()};if(Object.defineProperty(H.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(H,[])}catch(U){var M=U}Reflect.construct(e,[],H)}else{try{H.call()}catch(U){M=U}e.call(H.prototype)}}else{try{throw Error()}catch(U){M=U}(H=e())&&typeof H.catch=="function"&&H.catch(function(){})}}catch(U){if(U&&M&&typeof U.stack=="string")return[U.stack,M.stack]}return[null,null]}};n.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var s=Object.getOwnPropertyDescriptor(n.DetermineComponentFrameRoot,"name");s&&s.configurable&&Object.defineProperty(n.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var c=n.DetermineComponentFrameRoot(),f=c[0],b=c[1];if(f&&b){var E=f.split(`
5`),N=b.split(`
6`);for(s=n=0;n<E.length&&!E[n].includes("DetermineComponentFrameRoot");)n++;for(;s<N.length&&!N[s].includes("DetermineComponentFrameRoot");)s++;if(n===E.length||s===N.length)for(n=E.length-1,s=N.length-1;1<=n&&0<=s&&E[n]!==N[s];)s--;for(;1<=n&&0<=s;n--,s--)if(E[n]!==N[s]){if(n!==1||s!==1)do if(n--,s--,0>s||E[n]!==N[s]){var k=`
7`+E[n].replace(" at new "," at ");return e.displayName&&k.includes("<anonymous>")&&(k=k.replace("<anonymous>",e.displayName)),k}while(1<=n&&0<=s);break}}}finally{Hi=!1,Error.prepareStackTrace=a}return(a=e?e.displayName||e.name:"")?kt(a):""}function Ea(e,t){switch(e.tag){case 26:case 27:case 5:return kt(e.type);case 16:return kt("Lazy");case 13:return e.child!==t&&t!==null?kt("Suspense Fallback"):kt("Suspense");case 19:return kt("SuspenseList");case 0:case 15:return Ia(e.type,!1);case 11:return Ia(e.type.render,!1);case 1:return Ia(e.type,!0);case 31:return kt("Activity");default:return""}}function na(e){try{var t="",a=null;do t+=Ea(e,a),a=e,e=e.return;while(e);return t}catch(n){return`
8Error generating stack: `+n.message+`
9`+n.stack}}var vt=Object.prototype.hasOwnProperty,$t=i.unstable_scheduleCallback,ji=i.unstable_cancelCallback,bt=i.unstable_shouldYield,ga=i.unstable_requestPaint,Ct=i.unstable_now,xn=i.unstable_getCurrentPriorityLevel,Oe=i.unstable_ImmediatePriority,Je=i.unstable_UserBlockingPriority,dt=i.unstable_NormalPriority,oi=i.unstable_LowPriority,Na=i.unstable_IdlePriority,Br=i.log,ri=i.unstable_setDisableYieldValue,Gi=null,Lt=null;function ya(e){if(typeof Br=="function"&&ri(e),Lt&&typeof Lt.setStrictMode=="function")try{Lt.setStrictMode(Gi,e)}catch{}}var Tt=Math.clz32?Math.clz32:wa,Tl=Math.log,_o=Math.LN2;function wa(e){return e>>>=0,e===0?32:31-(Tl(e)/_o|0)|0}var Pn=256,Dn=262144,Yi=4194304;function Ra(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 he(e,t,a){var n=e.pendingLanes;if(n===0)return 0;var s=0,c=e.suspendedLanes,f=e.pingedLanes;e=e.warmLanes;var b=n&134217727;return b!==0?(n=b&~c,n!==0?s=Ra(n):(f&=b,f!==0?s=Ra(f):a||(a=b&~e,a!==0&&(s=Ra(a))))):(b=n&~c,b!==0?s=Ra(b):f!==0?s=Ra(f):a||(a=n&~e,a!==0&&(s=Ra(a)))),s===0?0:t!==0&&t!==s&&(t&c)===0&&(c=s&-s,a=t&-t,c>=a||c===32&&(a&4194048)!==0)?t:s}function Ke(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function ht(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 xt(){var e=Yi;return Yi<<=1,(Yi&62914560)===0&&(Yi=4194304),e}function si(e){for(var t=[],a=0;31>a;a++)t.push(e);return t}function Ze(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Bt(e,t,a,n,s,c){var f=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 b=e.entanglements,E=e.expirationTimes,N=e.hiddenUpdates;for(a=f&~a;0<a;){var k=31-Tt(a),H=1<<k;b[k]=0,E[k]=-1;var M=N[k];if(M!==null)for(N[k]=null,k=0;k<M.length;k++){var U=M[k];U!==null&&(U.lane&=-536870913)}a&=~H}n!==0&&Qi(e,n,0),c!==0&&s===0&&e.tag!==0&&(e.suspendedLanes|=c&~(f&~t))}function Qi(e,t,a){e.pendingLanes|=t,e.suspendedLanes&=~t;var n=31-Tt(t);e.entangledLanes|=t,e.entanglements[n]=e.entanglements[n]|1073741824|a&261930}function qt(e,t){var a=e.entangledLanes|=t;for(e=e.entanglements;a;){var n=31-Tt(a),s=1<<n;s&t|e[n]&t&&(e[n]|=t),a&=~s}}function zt(e,t){var a=t&-t;return a=(a&42)!==0?1:On(a),(a&(e.suspendedLanes|t))!==0?0:a}function On(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 va(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function xl(){var e=Q.p;return e!==0?e:(e=window.event,e===void 0?32:Ah(e.type))}function kd(e,t){var a=Q.p;try{return Q.p=e,t()}finally{Q.p=a}}var li=Math.random().toString(36).slice(2),St="__reactFiber$"+li,Ft="__reactProps$"+li,Ln="__reactContainer$"+li,Pl="__reactEvents$"+li,Ky="__reactListeners$"+li,$y="__reactHandles$"+li,Bd="__reactResources$"+li,To="__reactMarker$"+li;function Dl(e){delete e[St],delete e[Ft],delete e[Pl],delete e[Ky],delete e[$y]}function In(e){var t=e[St];if(t)return t;for(var a=e.parentNode;a;){if(t=a[Ln]||a[St]){if(a=t.alternate,t.child!==null||a!==null&&a.child!==null)for(e=rh(e);e!==null;){if(a=e[St])return a;e=rh(e)}return t}e=a,a=e.parentNode}return null}function Nn(e){if(e=e[St]||e[Ln]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function xo(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(l(33))}function Mn(e){var t=e[Bd];return t||(t=e[Bd]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function gt(e){e[To]=!0}var qd=new Set,zd={};function Ki(e,t){Un(e,t),Un(e+"Capture",t)}function Un(e,t){for(zd[e]=t,e=0;e<t.length;e++)qd.add(t[e])}var Xy=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]*$"),Fd={},Vd={};function Wy(e){return vt.call(Vd,e)?!0:vt.call(Fd,e)?!1:Xy.test(e)?Vd[e]=!0:(Fd[e]=!0,!1)}function qr(e,t,a){if(Wy(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 zr(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 Ma(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 oa(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Hd(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Zy(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 s=n.get,c=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return s.call(this)},set:function(f){a=""+f,c.call(this,f)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return a},setValue:function(f){a=""+f},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Ol(e){if(!e._valueTracker){var t=Hd(e)?"checked":"value";e._valueTracker=Zy(e,t,""+e[t])}}
vendor: 4,820 bytes, line 9
9function jd(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var a=t.getValue(),n="";return e&&(n=Hd(e)?e.checked?"true":"false":e.value),e=n,e!==a?(t.setValue(e),!0):!1}function Fr(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 Jy=/[\n"\\]/g;function ra(e){return e.replace(Jy,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function Ll(e,t,a,n,s,c,f,b){e.name="",f!=null&&typeof f!="function"&&typeof f!="symbol"&&typeof f!="boolean"?e.type=f:e.removeAttribute("type"),t!=null?f==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+oa(t)):e.value!==""+oa(t)&&(e.value=""+oa(t)):f!=="submit"&&f!=="reset"||e.removeAttribute("value"),t!=null?Il(e,f,oa(t)):a!=null?Il(e,f,oa(a)):n!=null&&e.removeAttribute("value"),s==null&&c!=null&&(e.defaultChecked=!!c),s!=null&&(e.checked=s&&typeof s!="function"&&typeof s!="symbol"),b!=null&&typeof b!="function"&&typeof b!="symbol"&&typeof b!="boolean"?e.name=""+oa(b):e.removeAttribute("name")}function Gd(e,t,a,n,s,c,f,b){if(c!=null&&typeof c!="function"&&typeof c!="symbol"&&typeof c!="boolean"&&(e.type=c),t!=null||a!=null){if(!(c!=="submit"&&c!=="reset"||t!=null)){Ol(e);return}a=a!=null?""+oa(a):"",t=t!=null?""+oa(t):a,b||t===e.value||(e.value=t),e.defaultValue=t}n=n??s,n=typeof n!="function"&&typeof n!="symbol"&&!!n,e.checked=b?e.checked:!!n,e.defaultChecked=!!n,f!=null&&typeof f!="function"&&typeof f!="symbol"&&typeof f!="boolean"&&(e.name=f),Ol(e)}function Il(e,t,a){t==="number"&&Fr(e.ownerDocument)===e||e.defaultValue===""+a||(e.defaultValue=""+a)}function kn(e,t,a,n){if(e=e.options,t){t={};for(var s=0;s<a.length;s++)t["$"+a[s]]=!0;for(a=0;a<e.length;a++)s=t.hasOwnProperty("$"+e[a].value),e[a].selected!==s&&(e[a].selected=s),s&&n&&(e[a].defaultSelected=!0)}else{for(a=""+oa(a),t=null,s=0;s<e.length;s++){if(e[s].value===a){e[s].selected=!0,n&&(e[s].defaultSelected=!0);return}t!==null||e[s].disabled||(t=e[s])}t!==null&&(t.selected=!0)}}function Yd(e,t,a){if(t!=null&&(t=""+oa(t),t!==e.value&&(e.value=t),a==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=a!=null?""+oa(a):""}function Qd(e,t,a,n){if(t==null){if(n!=null){if(a!=null)throw Error(l(92));if(Ge(n)){if(1<n.length)throw Error(l(93));n=n[0]}a=n}a==null&&(a=""),t=a}a=oa(t),e.defaultValue=a,n=e.textContent,n===a&&n!==""&&n!==null&&(e.value=n),Ol(e)}function Bn(e,t){if(t){var a=e.firstChild;if(a&&a===e.lastChild&&a.nodeType===3){a.nodeValue=t;return}}e.textContent=t}var ev=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 Kd(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||ev.has(t)?t==="float"?e.cssFloat=a:e[t]=(""+a).trim():e[t]=a+"px"}function $d(e,t,a){if(t!=null&&typeof t!="object")throw Error(l(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 s in t)n=t[s],t.hasOwnProperty(s)&&a[s]!==n&&Kd(e,s,n)}else for(var c in t)t.hasOwnProperty(c)&&Kd(e,c,t[c])}function Nl(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 tv=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"],["colorRen
9dering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),av=/^[\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 Vr(e){return av.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function Ua(){}var Ml=null;function Ul(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var qn=null,zn=null;function Xd(e){var t=Nn(e);if(t&&(e=t.stateNode)){var a=e[Ft]||null;e:switch(e=t.stateNode,t.type){case"input":if(Ll(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="'+ra(""+t)+'"][type="radio"]'),t=0;t<a.length;t++){var n=a[t];if(n!==e&&n.form===e.form){var s=n[Ft]||null;if(!s)throw Error(l(90));Ll(n,s.value,s.defaultValue,s.defaultValue,s.checked,s.defaultChecked,s.type,s.name)}}for(t=0;t<a.length;t++)n=a[t],n.form===e.form&&jd(n)}break e;case"textarea":Yd(e,a.value,a.defaultValue);break e;case"select":t=a.value,t!=null&&kn(e,!!a.multiple,t,!1)}}}var kl=!1;function Wd(e,t,a){if(kl)return e(t,a);kl=!0;try{var n=e(t);return n}finally{if(kl=!1,(qn!==null||zn!==null)&&(Ps(),qn&&(t=qn,e=zn,zn=qn=null,Xd(t),e)))for(t=0;t<e.length;t++)Xd(e[t])}}function Po(e,t){var a=e.stateNode;if(a===null)return null;var n=a[Ft]||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(l(231,t,typeof a));return a}var ka=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Bl=!1;if(ka)try{var Do={};Object.defineProperty(Do,"passive",{get:function(){Bl=!0}}),window.addEventListener("test",Do,Do),window.removeEventListener("test",Do,Do)}catch{Bl=!1}var ci=null,ql=null,Hr=null;function Zd(){if(Hr)return Hr;var e,t=ql,a=t.length,n,s="value"in ci?ci.value:ci.textContent,c=s.length;for(e=0;e<a&&t[e]===s[e];e++);var f=a-e;for(n=1;n<=f&&t[a-n]===s[c-n];n++);return Hr=s.slice(e,1<n?1-n:void 0)}function jr(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 Gr(){return!0}function Jd(){return!1}function Vt(e){function t(a,n,s,c,f){this._reactName=a,this._targetInst=s,this.type=n,this.nativeEvent=c,this.target=f,this.currentTarget=null;for(var b in e)e.hasOwnProperty(b)&&(a=e[b],this[b]=a?a(c):c[b]);return this.isDefaultPrevented=(c.defaultPrevented!=null?c.defaultPrevented:c.returnValue===!1)?Gr:Jd,this.isPropagationStopped=Jd,this}return h(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=Gr)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():typeof a.cancelBubble!="unknown"&&(a.cancelBubble=!0),this.isPropagationStopped=Gr)},persist:function(){},isPersistent:Gr}),t}var $i={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Yr=Vt($i),Oo=h({},$i,{view:0,detail:0}),iv=Vt(Oo),zl,Fl,Lo,Qr=h({},Oo,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Hl,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!==Lo&&(Lo&&e.type==="mousemove"?(zl=e.screenX-Lo.screenX,Fl=e.screenY-Lo.screenY):Fl=zl=0,Lo=e),zl)},movementY:function(e){return"movementY"in e?e.movementY:Fl}}),ef=Vt(Qr),nv=h({},Qr,{dataTransfer:0}),ov=Vt(nv),rv=h({},Oo,{relatedTarget:0}),Vl=Vt(rv),sv=h({},$i,{animationName:0,elapsedTime:0,pseudoElement:0}),lv=Vt(sv),cv=h({},$i,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),uv=Vt(cv),dv=h({},$i,{data:0}),tf=Vt(dv),fv={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},mv={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"},pv={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function hv(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=pv[e])?!!t[e]:!1}function Hl(){return hv}var gv=h({},Oo,{key:function(e){if(e.key){var t=fv[e.key]||e.key;if(t!=="Unidentified")return t}
vendor: 5,186 bytes, line 9
9return e.type==="keypress"?(e=jr(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?mv[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Hl,charCode:function(e){return e.type==="keypress"?jr(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?jr(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),yv=Vt(gv),vv=h({},Qr,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),af=Vt(vv),bv=h({},Oo,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Hl}),Cv=Vt(bv),Sv=h({},$i,{propertyName:0,elapsedTime:0,pseudoElement:0}),Av=Vt(Sv),Ev=h({},Qr,{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}),wv=Vt(Ev),Rv=h({},$i,{newState:0,oldState:0}),_v=Vt(Rv),Tv=[9,13,27,32],jl=ka&&"CompositionEvent"in window,Io=null;ka&&"documentMode"in document&&(Io=document.documentMode);var xv=ka&&"TextEvent"in window&&!Io,nf=ka&&(!jl||Io&&8<Io&&11>=Io),of=" ",rf=!1;function sf(e,t){switch(e){case"keyup":return Tv.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function lf(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Fn=!1;function Pv(e,t){switch(e){case"compositionend":return lf(t);case"keypress":return t.which!==32?null:(rf=!0,of);case"textInput":return e=t.data,e===of&&rf?null:e;default:return null}}function Dv(e,t){if(Fn)return e==="compositionend"||!jl&&sf(e,t)?(e=Zd(),Hr=ql=ci=null,Fn=!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 nf&&t.locale!=="ko"?null:t.data;default:return null}}var Ov={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 cf(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!Ov[e.type]:t==="textarea"}function uf(e,t,a,n){qn?zn?zn.push(n):zn=[n]:qn=n,t=Us(t,"onChange"),0<t.length&&(a=new Yr("onChange","change",null,a,n),e.push({event:a,listeners:t}))}var No=null,Mo=null;function Lv(e){Yp(e,0)}function Kr(e){var t=xo(e);if(jd(t))return e}function df(e,t){if(e==="change")return t}var ff=!1;if(ka){var Gl;if(ka){var Yl="oninput"in document;if(!Yl){var mf=document.createElement("div");mf.setAttribute("oninput","return;"),Yl=typeof mf.oninput=="function"}Gl=Yl}else Gl=!1;ff=Gl&&(!document.documentMode||9<document.documentMode)}function pf(){No&&(No.detachEvent("onpropertychange",hf),Mo=No=null)}function hf(e){if(e.propertyName==="value"&&Kr(Mo)){var t=[];uf(t,Mo,e,Ul(e)),Wd(Lv,t)}}function Iv(e,t,a){e==="focusin"?(pf(),No=t,Mo=a,No.attachEvent("onpropertychange",hf)):e==="focusout"&&pf()}function Nv(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Kr(Mo)}function Mv(e,t){if(e==="click")return Kr(t)}function Uv(e,t){if(e==="input"||e==="change")return Kr(t)}function kv(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Xt=typeof Object.is=="function"?Object.is:kv;function Uo(e,t){if(Xt(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 s=a[n];if(!vt.call(t,s)||!Xt(e[s],t[s]))return!1}return!0}function gf(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function yf(e,t){var a=gf(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=gf(a)}}function vf(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?vf(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function bf(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Fr(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=Fr(e.document)}return t}function Ql(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 Bv=ka&&"documentMode"in document&&11>=document.documentMode,Vn=null,Kl=null,ko=null,$l=!1;function Cf(e,t,a){var n=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;$l||Vn==null||Vn!==Fr(n)||(n=Vn,"selectionStart"in n&&Ql(n)?n={start:n.selectionStart,end:n.selectionEnd}:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection(),n={anchorNode:n.anchorNode,anchorOffset:n.anchorOffset,focu
vendor: 19,001 bytes, line 9
9sNode:n.focusNode,focusOffset:n.focusOffset}),ko&&Uo(ko,n)||(ko=n,n=Us(Kl,"onSelect"),0<n.length&&(t=new Yr("onSelect","select",null,t,a),e.push({event:t,listeners:n}),t.target=Vn)))}function Xi(e,t){var a={};return a[e.toLowerCase()]=t.toLowerCase(),a["Webkit"+e]="webkit"+t,a["Moz"+e]="moz"+t,a}var Hn={animationend:Xi("Animation","AnimationEnd"),animationiteration:Xi("Animation","AnimationIteration"),animationstart:Xi("Animation","AnimationStart"),transitionrun:Xi("Transition","TransitionRun"),transitionstart:Xi("Transition","TransitionStart"),transitioncancel:Xi("Transition","TransitionCancel"),transitionend:Xi("Transition","TransitionEnd")},Xl={},Sf={};ka&&(Sf=document.createElement("div").style,"AnimationEvent"in window||(delete Hn.animationend.animation,delete Hn.animationiteration.animation,delete Hn.animationstart.animation),"TransitionEvent"in window||delete Hn.transitionend.transition);function Wi(e){if(Xl[e])return Xl[e];if(!Hn[e])return e;var t=Hn[e],a;for(a in t)if(t.hasOwnProperty(a)&&a in Sf)return Xl[e]=t[a];return e}var Af=Wi("animationend"),Ef=Wi("animationiteration"),wf=Wi("animationstart"),qv=Wi("transitionrun"),zv=Wi("transitionstart"),Fv=Wi("transitioncancel"),Rf=Wi("transitionend"),_f=new Map,Wl="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(" ");Wl.push("scrollEnd");function ba(e,t){_f.set(e,t),Ki(t,[e])}var $r=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)},sa=[],jn=0,Zl=0;function Xr(){for(var e=jn,t=Zl=jn=0;t<e;){var a=sa[t];sa[t++]=null;var n=sa[t];sa[t++]=null;var s=sa[t];sa[t++]=null;var c=sa[t];if(sa[t++]=null,n!==null&&s!==null){var f=n.pending;f===null?s.next=s:(s.next=f.next,f.next=s),n.pending=s}c!==0&&Tf(a,s,c)}}function Wr(e,t,a,n){sa[jn++]=e,sa[jn++]=t,sa[jn++]=a,sa[jn++]=n,Zl|=n,e.lanes|=n,e=e.alternate,e!==null&&(e.lanes|=n)}function Jl(e,t,a,n){return Wr(e,t,a,n),Zr(e)}function Zi(e,t){return Wr(e,null,null,t),Zr(e)}function Tf(e,t,a){e.lanes|=a;var n=e.alternate;n!==null&&(n.lanes|=a);for(var s=!1,c=e.return;c!==null;)c.childLanes|=a,n=c.alternate,n!==null&&(n.childLanes|=a),c.tag===22&&(e=c.stateNode,e===null||e._visibility&1||(s=!0)),e=c,c=c.return;return e.tag===3?(c=e.stateNode,s&&t!==null&&(s=31-Tt(a),e=c.hiddenUpdates,n=e[s],n===null?e[s]=[t]:n.push(t),t.lane=a|536870912),c):null}function Zr(e){if(50<or)throw or=0,lu=null,Error(l(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var Gn={};function Vv(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 Wt(e,t,a,n){return new Vv(e,t,a,n)}function ec(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Ba(e,t){var a=e.alternate;return a===null?(a=Wt(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 xf(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 Jr(e,t,a,n,s,c){var f=0;if(n=e,typeof e=="function")ec(e)&&(f=1);else if(typeof e=="string")f=Qb(e,a,K.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case W:return e=Wt(31,a,t,s),e.elementType=W,e.lanes=c,e;case P:return Ji(a.children,s,c,t);case w:f=8,s|=24;break;case O:return e=Wt(12,a,t,s|2),e.elementType=O,e.lanes=c,e;case J:return e=Wt(13,a,t,s),e.elementType=J,e.lanes=c,e;case ee:return e=Wt(19,a,t,s),e.elementType=ee,e.lanes=c,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case V:f=10;break e;case q:f=9;break e;case j:f=11;break e;case G:f=14;break e;case z:f=16,n=null;break e}f=29,a=Error(l(130,e===null?"null":typeof e,"")),n=null}return t=Wt(f,a,t,s),t.elementType=e,t.type=n,t.lanes=c,t}function Ji(e,t,a,n){return e=Wt(7,e,n,t),e.lanes=a,e}function tc(e,t,a){return e=Wt(6,e,null,t),e.lanes=a,e}function Pf(e){var t=Wt(18,null,null,0);return t.stateNode=e,t}function ac(e,t,a){return t=Wt(4,e.children!==null?e.children:[],e.key,t),t.lanes=a,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var Df=new WeakMap;function la(e,t){if(typeof e=="object"&&e!==null){var a=Df.get(e);return a!==void 0?a:(t={value:e,source:t,stack:na(t)},Df.set(e,t),t)}return{value:e,source:t,stack:na(t)}}var Yn=[],Qn=0,es=null,Bo=0,ca=[],ua=0,ui=null,_a=1,Ta="";function qa(e,t){Yn[Qn++]=Bo,Yn[Qn++]=es,es=e,Bo=t}function Of(e,t,a){ca[ua++]=_a,ca[ua++]=Ta,ca[ua++]=ui,ui=e;var n=_a;e=Ta;var s=32-Tt(n)-1;n&=~(1<<s),a+=1;var c=32-Tt(t)+s;if(30<c){var f=s-s%5;c=(n&(1<<f)-1).toString(32),n>>=f,s-=f,_a=1<<32-Tt(t)+s|a<<s|n,Ta=c+e}else _a=1<<c|a<<s|n,Ta=e}function ic(e){e.return!==null&&(qa(e,1),Of(e,1,0))}function nc(e){for(;e===es;)es=Yn[--Qn],Yn[Qn]=null,Bo=Yn[--Qn],Yn[Qn]=null;for(;e===ui;)ui=ca[--ua],ca[ua]=null,Ta=ca[--ua],ca[ua]=null,_a=ca[--ua],ca[ua]=null}function Lf(e,t){ca[ua++]=_a,ca[ua++]=Ta,ca[ua++]=ui,_a=t.id,Ta=t.overflow,ui=e}var At=null,Ye=null,Pe=!1,di=null,da=!1,oc=Error(l(519));function fi(e){var t=Error(l(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw qo(la(t,e)),oc}function If(e){var t=e.stateNode,a=e.type,n=e.memoizedProps;switch(t[St]=e,t[Ft]=n,a){case"dialog":Ee("cancel",t),Ee("close",t);break;case"iframe":case"object":case"embed":Ee("load",t);break;case"video":case"audio":for(a=0;a<sr.length;a++)Ee(sr[a],t);break;case"source":Ee("error",t);break;case"img":case"image":case"link":Ee("error",t),Ee("load",t);break;case"details":Ee("toggle",t);break;case"input":Ee("invalid",t),Gd(t,n.value,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name,!0);break;case"select":Ee("invalid",t);break;case"textarea":Ee("invalid",t),Qd(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||Xp(t.textContent,a)?(n.popover!=null&&(Ee("beforetoggle",t),Ee("toggle",t)),n.onScroll!=null&&Ee("scroll",t),n.onScrollEnd!=null&&Ee("scrollend",t),n.onClick!=null&&(t.onclick=Ua),t=!0):t=!1,t||fi(e,!0)}function Nf(e){for(At=e.return;At;)switch(At.tag){case 5:case 31:case 13:da=!1;return;case 27:case 3:da=!0;return;default:At=At.return}}function Kn(e){if(e!==At)return!1;if(!Pe)return Nf(e),Pe=!0,!1;var t=e.tag,a;if((a=t!==3&&t!==27)&&((a=t===5)&&(a=e.type,a=!(a!=="form"&&a!=="button")||Eu(e.type,e.memoizedProps)),a=!a),a&&Ye&&fi(e),Nf(e),t===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(l(317));Ye=oh(e)}else if(t===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(l(317));Ye=oh(e)}else t===27?(t=Ye,_i(e.type)?(e=xu,xu=null,Ye=e):Ye=t):Ye=At?ma(e.stateNode.nextSibling):null;return!0}function en(){Ye=At=null,Pe=!1}function rc(){var e=di;return e!==null&&(Yt===null?Yt=e:Yt.push.apply(Yt,e),di=null),e}function qo(e){di===null?di=[e]:di.push(e)}var sc=_(null),tn=null,za=null;function mi(e,t,a){Y(sc,t._currentValue),t._currentValue=a}function Fa(e){e._currentValue=sc.current,F(sc)}function lc(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 cc(e,t,a,n){var s=e.child;for(s!==null&&(s.return=e);s!==null;){var c=s.dependencies;if(c!==null){var f=s.child;c=c.firstContext;e:for(;c!==null;){var b=c;c=s;for(var E=0;E<t.length;E++)if(b.context===t[E]){c.lanes|=a,b=c.alternate,b!==null&&(b.lanes|=a),lc(c.return,a,e),n||(f=null);break e}c=b.next}}else if(s.tag===18){if(f=s.return,f===null)throw Error(l(341));f.lanes|=a,c=f.alternate,c!==null&&(c.lanes|=a),lc(f,a,e),f=null}else f=s.child;if(f!==null)f.return=s;else for(f=s;f!==null;){if(f===e){f=null;break}if(s=f.sibling,s!==null){s.return=f.return,f=s;break}f=f.return}s=f}}function $n(e,t,a,n){e=null;for(var s=t,c=!1;s!==null;){if(!c){if((s.flags&524288)!==0)c=!0;else if((s.flags&262144)!==0)break}if(s.tag===10){var f=s.alternate;if(f===null)throw Error(l(387));if(f=f.memoizedProps,f!==null){var b=s.type;Xt(s.pendingProps.value,f.value)||(e!==null?e.push(b):e=[b])}}else if(s===Ce.current){if(f=s.alternate,f===null)throw Error(l(387));f.memoizedState.memoizedState!==s.memoizedState.memoizedState&&(e!==null?e.push(fr):e=[fr])}s=s.return}e!==null&&cc(t,e,a,n),t.flags|=262144}function ts(e){for(e=e.firstContext;e!==null;){if(!Xt(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function an(e){tn=e,za=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function Et(e){return Mf(tn,e)}function as(e,t){return tn===null&&an(e),Mf(e,t)}function Mf(e,t){var a=t._currentValue;if(t={context:t,memoizedValue:a,next:null},za===null){if(e===null)throw Error(l(308));za=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else za=za.next=t;return a}var Hv=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()})}},jv=i.unstable_scheduleCallback,Gv=i.unstable_NormalPriority,rt={$$typeof:V,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function uc(){return{controller:new Hv,data:new Map,refCount:0}}function zo(e){e.refCount--,e.refCount===0&&jv(Gv,function(){e.controller.abort()})}var Fo=null,dc=0,Xn=0,Wn=null;function Yv(e,t){if(Fo===null){var a=Fo=[];dc=0,Xn=pu(),Wn={status:"pending",value:void 0,then:function(n){a.push(n)}}}return dc++,t.then(Uf,Uf),t}function Uf(){if(--dc===0&&Fo!==null){Wn!==null&&(Wn.status="fulfilled");var e=Fo;Fo=null,Xn=0,Wn=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function Qv(e,t){var a=[],n={status:"pending",value:null,reason:null,then:function(s){a.push(s)}};return e.then(function(){n.status="fulfilled",n.value=t;for(var s=0;s<a.length;s++)(0,a[s])(t)},function(s){for(n.status="rejected",n.reason=s,s=0;s<a.length;s++)(0,a[s])(void 0)}),n}var kf=L.S;L.S=function(e,t){Cp=Ct(),typeof t=="object"&&t!==null&&typeof t.then=="function"&&Yv(e,t),kf!==null&&kf(e,t)};var nn=_(null);function fc(){var e=nn.current;return e!==null?e:Ve.pooledCache}function is(e,t){t===null?Y(nn,nn.current):Y(nn,t.pool)}function Bf(){var e=fc();return e===null?null:{parent:rt._currentValue,pool:e}}var Zn=Error(l(460)),mc=Error(l(474)),ns=Error(l(542)),os={then:function(){}};function qf(e){return e=e.status,e==="fulfilled"||e==="rejected"}function zf(e,t,a){switch(a=e[a],a===void 0?e.push(t):a!==t&&(t.then(Ua,Ua),t=a),t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,Vf(e),e;default:if(typeof t.status=="string")t.then(Ua,Ua);else{if(e=Ve,e!==null&&100<e.shellSuspendCounter)throw Error(l(482));e=t,e.status="pending",e.then(function(n){if(t.status==="pending"){var s=t;s.status="fulfilled",s.value=n}},function(n){if(t.status==="pending"){var s=t;s.status="rejected",s.reason=n}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,Vf(e),e}throw rn=t,Zn}}function on(e){try{var t=e._init;return t(e._payload)}catch(a){throw a!==null&&typeof a=="object"&&typeof a.then=="function"?(rn=a,Zn):a}}var rn=null;function Ff(){if(rn===null)throw Error(l(459));var e=rn;return rn=null,e}function Vf(e){if(e===Zn||e===ns)throw Error(l(483))}var Jn=null,Vo=0;function rs(e){var t=Vo;return Vo+=1,Jn===null&&(Jn=[]),zf(Jn,e,t)}function Ho(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function ss(e,t){throw t.$$typeof===C?Error(l(525)):(e=Object.prototype.toString.call(t),Error(l(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)))}function Hf(e){function t(D,x){if(e){var I=D.deletions;I===null?(D.deletions=[x],D.flags|=16):I.push(x)}}function a(D,x){if(!e)return null;for(;x!==null;)t(D,x),x=x.sibling;return null}function n(D){for(var x=new Map;D!==null;)D.key!==null?x.set(D.key,D):x.set(D.index,D),D=D.sibling;return x}function s(D,x){return D=Ba(D,x),D.index=0,D.sibling=null,D}function c(D,x,I){return D.index=I,e?(I=D.alternate,I!==null?(I=I.index,I<x?(D.flags|=67108866,x):I):(D.flags|=67108866,x)):(D.flags|=1048576,x)}function f(D){return e&&D.alternate===null&&(D.flags|=67108866),D}function b(D,x,I,B){return x===null||x.tag!==6?(x=tc(I,D.mode,B),x.return=D,x):(x=s(x,I),x.return=D,x)}function E(D,x,I,B){var se=I.type;return se===P?k(D,x,I.props.children,B,I.key):x!==null&&(x.elementType===se||typeof se=="object"&&se!==null&&se.$$typeof===z&&on(se)===x.type)?(x=s(x,I.props),Ho(x,I),x.return=D,x):(x=Jr(I.type,I.key,I.props,null,D.mode,B),Ho(x,I),x.return=D,x)}function N(D,x,I,B){return x===null||x.tag!==4||x.stateNode.containerInfo!==I.containerInfo||x.stateNode.implementation!==I.implementation?(x=ac(I,D.mode,B),x.return=D,x):(x=s(x,I.children||[]),x.return=D,x)}function k(D,x,I,B,se){return x===null||x.tag!==7?(x=Ji(I,D.mode,B,se),x.return=D,x):(x=s(x,I),x.return=D,x)}function H(D,x,I){if(typeof x=="string"&&x!==""||typeof x=="number"||typeof x=="bigint")return x=tc(""+x,D.mode,I),x.return=D,x;if(typeof x=="object"&&x!==null){switch(x.$$typeof){case A:return I=Jr(x.type,x.key,x.props,null,D.mode,I),Ho(I,x),I.return=D,I;case R:return x=ac(x,D.mode,I),x.return=D,x;case z:return x=on(x),H(D,x,I)}if(Ge(x)||ae(x))return x=Ji(x,D.mode,I,null),x.return=D,x;if(typeof x.then=="function")return H(D,rs(x),I);if(x.$$typeof===V)return H(D,as(D,x),I);ss(D,x)}return null}function M(D,x,I,B){var se=x!==null?x.key:null;if(typeof I=="string"&&I!==""||typeof I=="number"||typeof I=="bigint")return se!==null?null:b(D,x,""+I,B);if(typeof I=="object"&&I!==null){switch(I.$$typeof){case A:return I.key===se?E(D,x,I,B):null;case R:return I.key===se?N(D,x,I,B):null;case z:return I=on(I),M(D,x,I,B)}if(Ge(I)||ae(I))return se!==null?null:k(D,x,I,B,null);if(typeof I.then=="function")return M(D,x,rs(I),B);if(I.$$typeof===V)return M(D,x,as(D,I),B);ss(D,I)}return null}function U(D,x,I,B,se){if(typeof B=="string"&&B!==""||typeof B=="number"||typeof B=="bigint")return D=D.get(I)||null,b(x,D,""+B,se);if(typeof B=="object"&&B!==null){switch(B.$$typeof){case A:return D=D.get(B.key===null?I:B.key)||null,E(x,D,B,se);case R:return D=D.get(B.key===null?I:B.key)||null,N(x,D,B,se);case z:return B=on(B),U(D,x,I,B,se)}if(Ge(B)||ae(B))return D=D.get(I)||null,k(x,D,B,se,null);if(typeof B.then=="function")return U(D,x,I,rs(B),se);if(B.$$typeof===V)return U(D,x,I,as(x,B),se);ss(x,B)}return null}function te(D,x,I,B){for(var se=null,Le=null,ie=x,be=x=0,Re=null;ie!==null&&be<I.length;be++){ie.index>be?(Re=ie,ie=null):Re=ie.sibling;var Ie=M(D,ie,I[be],B);if(Ie===null){ie===null&&(ie=Re);break}e&&ie&&Ie.alternate===null&&t(D,ie),x=c(Ie,x,be),Le===null?se=Ie:Le.sibling=Ie,Le=Ie,ie=Re}if(be===I.length)return a(D,ie),Pe&&qa(D,be),se;if(ie===null){for(;be<I.length;be++)ie=H(D,I[be],B),ie!==null&&(x=c(ie,x,be),Le===null?se=ie:Le.sibling=ie,Le=ie);return Pe&&qa(D,be),se}for(ie=n(ie);be<I.length;be++)Re=U(ie,D,be,I[be],B),Re!==null&&(e&&Re.alternate!==null&&ie.delete(Re.key===null?be:Re.key),x=c(Re,x,be),Le===null?se=Re:Le.sibling=Re,Le=Re);return e&&ie.forEach(function(Oi){return t(D,Oi)}),Pe&&qa(D,be),se}function ue(D,x,I,B){if(I==null)throw Error(l(151));for(var se=null,Le=null,ie=x,be=x=0,Re=null,Ie=I.next();ie!==null&&!Ie.done;be++,Ie=I.next()){ie.index>be?(Re=ie,ie=null):Re=ie.sibling;var Oi=M(D,ie,Ie.value,B);if(Oi===null){ie===null&&(ie=Re);break}e&&ie&&Oi.alternate===null&&t(D,ie),x=c(Oi,x,be),Le===null?se=Oi:Le.sibling=Oi,Le=Oi,ie=Re}if(Ie.done)return a(D,ie),Pe&&qa(D,be),se;if(ie===null){for(;!Ie.done;be++,Ie=I.next())Ie=H(D,Ie.value,B),Ie!==null&&(x=c(Ie,x,be),Le===null?se=Ie:Le.sibling=Ie,Le=Ie);return Pe&&qa(D,be),se}for(ie=n(ie);!Ie.done;be++,Ie=I.next())Ie=U(ie,D,be,Ie.value,B),Ie!==null&&(e&&Ie.alternate!==null&&ie.delete(Ie.key===null?be:Ie.key),x=c(Ie,x,be),Le===null?se=Ie:Le.sibling=Ie,Le=Ie);return e&&ie.forEach(function(nC){return t(D,nC)}),Pe&&qa(D,be),se}function Fe(D,x,I,B){if(typeof I=="object"&&I!==null&&I.type===P&&I.key===null&&(I=I.props.children),typeof I=="object"&&I!==null){switch(I.$$typeof){case A:e:{for(var se=I.key;x!==null;){if(x.key===se){if(se=I.type,se===P){if(x.tag===7){a(D,x.sibling),B=s(x,I.props.children),B.return=D,D=B;break e}}else if(x.elementType===se||typeof se=="object"&&se!==null&&se.$$typeof===z&&on(se)===x.type){a(D,x.sibling),B=s(x,I.props),Ho(B,I),B.return=D,D=B;break e}a(D,x);break}else t(D,x);x=x.sibling}I.type===P?(B=Ji(I.props.children,D.mode,B,I.key),B.return=D,D=B):(B=Jr(I.type,I.key,I.props,null,D.mode,B),Ho(B,I),B.return=D,D=B)}return f(D);case R:e:{for(se=I.key;x!==null;){if(x.key===se)if(x.tag===4&&x.stateNode.containerInfo===I.containerInfo&&x.stateNode.implementation===I.implementation){a(D,x.sibling),B=s(x,I.children||[]),B.return=D,D=B;break e}else{a(D,x);break}else t(D,x);x=x.sibling}B=ac(I,D.mode,B),B.return=D,D=B}return f(D);case z:return I=on(I),Fe(D,x,I,B)}if(Ge(I))return te(D,x,I,B);if(ae(I)){if(se=ae(I),typeof se!="function")throw Error(l(150));return I=se.call(I),ue(D,x,I,B)}if(typeof I.then=="function")return Fe(D,x,rs(I),B);if(I.$$typeof===V)return Fe(D,x,as(D,I),B);ss(D,I)}
vendor: 4,687 bytes, line 9
9return typeof I=="string"&&I!==""||typeof I=="number"||typeof I=="bigint"?(I=""+I,x!==null&&x.tag===6?(a(D,x.sibling),B=s(x,I),B.return=D,D=B):(a(D,x),B=tc(I,D.mode,B),B.return=D,D=B),f(D)):a(D,x)}return function(D,x,I,B){try{Vo=0;var se=Fe(D,x,I,B);return Jn=null,se}catch(ie){if(ie===Zn||ie===ns)throw ie;var Le=Wt(29,ie,null,D.mode);return Le.lanes=B,Le.return=D,Le}}}var sn=Hf(!0),jf=Hf(!1),pi=!1;function pc(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function hc(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 hi(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function gi(e,t,a){var n=e.updateQueue;if(n===null)return null;if(n=n.shared,(Me&2)!==0){var s=n.pending;return s===null?t.next=t:(t.next=s.next,s.next=t),n.pending=t,t=Zr(e),Tf(e,null,a),t}return Wr(e,n,t,a),Zr(e)}function jo(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,qt(e,a)}}function gc(e,t){var a=e.updateQueue,n=e.alternate;if(n!==null&&(n=n.updateQueue,a===n)){var s=null,c=null;if(a=a.firstBaseUpdate,a!==null){do{var f={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};c===null?s=c=f:c=c.next=f,a=a.next}while(a!==null);c===null?s=c=t:c=c.next=t}else s=c=t;a={baseState:n.baseState,firstBaseUpdate:s,lastBaseUpdate:c,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 yc=!1;function Go(){if(yc){var e=Wn;if(e!==null)throw e}}function Yo(e,t,a,n){yc=!1;var s=e.updateQueue;pi=!1;var c=s.firstBaseUpdate,f=s.lastBaseUpdate,b=s.shared.pending;if(b!==null){s.shared.pending=null;var E=b,N=E.next;E.next=null,f===null?c=N:f.next=N,f=E;var k=e.alternate;k!==null&&(k=k.updateQueue,b=k.lastBaseUpdate,b!==f&&(b===null?k.firstBaseUpdate=N:b.next=N,k.lastBaseUpdate=E))}if(c!==null){var H=s.baseState;f=0,k=N=E=null,b=c;do{var M=b.lane&-536870913,U=M!==b.lane;if(U?(we&M)===M:(n&M)===M){M!==0&&M===Xn&&(yc=!0),k!==null&&(k=k.next={lane:0,tag:b.tag,payload:b.payload,callback:null,next:null});e:{var te=e,ue=b;M=t;var Fe=a;switch(ue.tag){case 1:if(te=ue.payload,typeof te=="function"){H=te.call(Fe,H,M);break e}H=te;break e;case 3:te.flags=te.flags&-65537|128;case 0:if(te=ue.payload,M=typeof te=="function"?te.call(Fe,H,M):te,M==null)break e;H=h({},H,M);break e;case 2:pi=!0}}M=b.callback,M!==null&&(e.flags|=64,U&&(e.flags|=8192),U=s.callbacks,U===null?s.callbacks=[M]:U.push(M))}else U={lane:M,tag:b.tag,payload:b.payload,callback:b.callback,next:null},k===null?(N=k=U,E=H):k=k.next=U,f|=M;if(b=b.next,b===null){if(b=s.shared.pending,b===null)break;U=b,b=U.next,U.next=null,s.lastBaseUpdate=U,s.shared.pending=null}}while(!0);k===null&&(E=H),s.baseState=E,s.firstBaseUpdate=N,s.lastBaseUpdate=k,c===null&&(s.shared.lanes=0),Si|=f,e.lanes=f,e.memoizedState=H}}function Gf(e,t){if(typeof e!="function")throw Error(l(191,e));e.call(t)}function Yf(e,t){var a=e.callbacks;if(a!==null)for(e.callbacks=null,e=0;e<a.length;e++)Gf(a[e],t)}var eo=_(null),ls=_(0);function Qf(e,t){e=Xa,Y(ls,e),Y(eo,t),Xa=e|t.baseLanes}function vc(){Y(ls,Xa),Y(eo,eo.current)}function bc(){Xa=ls.current,F(eo),F(ls)}var Zt=_(null),fa=null;function yi(e){var t=e.alternate;Y(it,it.current&1),Y(Zt,e),fa===null&&(t===null||eo.current!==null||t.memoizedState!==null)&&(fa=e)}function Cc(e){Y(it,it.current),Y(Zt,e),fa===null&&(fa=e)}function Kf(e){e.tag===22?(Y(it,it.current),Y(Zt,e),fa===null&&(fa=e)):vi()}function vi(){Y(it,it.current),Y(Zt,Zt.current)}function Jt(e){F(Zt),fa===e&&(fa=null),F(it)}var it=_(0);function cs(e){for(var t=e;t!==null;){if(t.tag===13){var a=t.memoizedState;if(a!==null&&(a=a.dehydrated,a===null||_u(a)||Tu(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 Va=0,ve=null,qe=null,st=null,us=!1,to=!1,ln=!1,ds=0,Qo=0,ao=null,Kv=0;function et(){throw Error(l(321))}function Sc(e,t){if(t===null)return!1;for(var a=0;a<t.length&&a<e.length;a++)if(!Xt(e[a],t[a]))return!1;return!0}function Ac(e,t,a,n,s,c){return Va=c,ve=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,L.H=e
vendor: 11,183 bytes, line 9
9===null||e.memoizedState===null?Om:kc,ln=!1,c=a(n,s),ln=!1,to&&(c=Xf(t,a,n,s)),$f(e),c}function $f(e){L.H=Xo;var t=qe!==null&&qe.next!==null;if(Va=0,st=qe=ve=null,us=!1,Qo=0,ao=null,t)throw Error(l(300));e===null||lt||(e=e.dependencies,e!==null&&ts(e)&&(lt=!0))}function Xf(e,t,a,n){ve=e;var s=0;do{if(to&&(ao=null),Qo=0,to=!1,25<=s)throw Error(l(301));if(s+=1,st=qe=null,e.updateQueue!=null){var c=e.updateQueue;c.lastEffect=null,c.events=null,c.stores=null,c.memoCache!=null&&(c.memoCache.index=0)}L.H=Lm,c=t(a,n)}while(to);return c}function $v(){var e=L.H,t=e.useState()[0];return t=typeof t.then=="function"?Ko(t):t,e=e.useState()[0],(qe!==null?qe.memoizedState:null)!==e&&(ve.flags|=1024),t}function Ec(){var e=ds!==0;return ds=0,e}function wc(e,t,a){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a}function Rc(e){if(us){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}us=!1}Va=0,st=qe=ve=null,to=!1,Qo=ds=0,ao=null}function It(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return st===null?ve.memoizedState=st=e:st=st.next=e,st}function nt(){if(qe===null){var e=ve.alternate;e=e!==null?e.memoizedState:null}else e=qe.next;var t=st===null?ve.memoizedState:st.next;if(t!==null)st=t,qe=e;else{if(e===null)throw ve.alternate===null?Error(l(467)):Error(l(310));qe=e,e={memoizedState:qe.memoizedState,baseState:qe.baseState,baseQueue:qe.baseQueue,queue:qe.queue,next:null},st===null?ve.memoizedState=st=e:st=st.next=e}return st}function fs(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Ko(e){var t=Qo;return Qo+=1,ao===null&&(ao=[]),e=zf(ao,e,t),t=ve,(st===null?t.memoizedState:st.next)===null&&(t=t.alternate,L.H=t===null||t.memoizedState===null?Om:kc),e}function ms(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return Ko(e);if(e.$$typeof===V)return Et(e)}throw Error(l(438,String(e)))}function _c(e){var t=null,a=ve.updateQueue;if(a!==null&&(t=a.memoCache),t==null){var n=ve.alternate;n!==null&&(n=n.updateQueue,n!==null&&(n=n.memoCache,n!=null&&(t={data:n.data.map(function(s){return s.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),a===null&&(a=fs(),ve.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]=me;return t.index++,a}function Ha(e,t){return typeof t=="function"?t(e):t}function ps(e){var t=nt();return Tc(t,qe,e)}function Tc(e,t,a){var n=e.queue;if(n===null)throw Error(l(311));n.lastRenderedReducer=a;var s=e.baseQueue,c=n.pending;if(c!==null){if(s!==null){var f=s.next;s.next=c.next,c.next=f}t.baseQueue=s=c,n.pending=null}if(c=e.baseState,s===null)e.memoizedState=c;else{t=s.next;var b=f=null,E=null,N=t,k=!1;do{var H=N.lane&-536870913;if(H!==N.lane?(we&H)===H:(Va&H)===H){var M=N.revertLane;if(M===0)E!==null&&(E=E.next={lane:0,revertLane:0,gesture:null,action:N.action,hasEagerState:N.hasEagerState,eagerState:N.eagerState,next:null}),H===Xn&&(k=!0);else if((Va&M)===M){N=N.next,M===Xn&&(k=!0);continue}else H={lane:0,revertLane:N.revertLane,gesture:null,action:N.action,hasEagerState:N.hasEagerState,eagerState:N.eagerState,next:null},E===null?(b=E=H,f=c):E=E.next=H,ve.lanes|=M,Si|=M;H=N.action,ln&&a(c,H),c=N.hasEagerState?N.eagerState:a(c,H)}else M={lane:H,revertLane:N.revertLane,gesture:N.gesture,action:N.action,hasEagerState:N.hasEagerState,eagerState:N.eagerState,next:null},E===null?(b=E=M,f=c):E=E.next=M,ve.lanes|=H,Si|=H;N=N.next}while(N!==null&&N!==t);if(E===null?f=c:E.next=b,!Xt(c,e.memoizedState)&&(lt=!0,k&&(a=Wn,a!==null)))throw a;e.memoizedState=c,e.baseState=f,e.baseQueue=E,n.lastRenderedState=c}return s===null&&(n.lanes=0),[e.memoizedState,n.dispatch]}function xc(e){var t=nt(),a=t.queue;if(a===null)throw Error(l(311));a.lastRenderedReducer=e;var n=a.dispatch,s=a.pending,c=t.memoizedState;if(s!==null){a.pending=null;var f=s=s.next;do c=e(c,f.action),f=f.next;while(f!==s);Xt(c,t.memoizedState)||(lt=!0),t.memoizedState=c,t.baseQueue===null&&(t.baseState=c),a.lastRenderedState=c}return[c,n]}function Wf(e,t,a){var n=ve,s=nt(),c=Pe;if(c){if(a===void 0)throw Error(l(407));a=a()}else a=t();var f=!Xt((qe||s).memoizedState,a);if(f&&(s.memoizedState=a,lt=!0),s=s.queue,Oc(em.bind(null,n,s,e),[e]),s.getSnapshot!==t||f||st!==null&&st.memoizedState.tag&1){if(n.flags|=2048,io(9,{destroy:void 0},Jf.bind(null,n,s,a,t),null),Ve===null)throw Error(l(349));c||(Va&127)!==0||Zf(n,t,a)}return a}function Zf(e,t,a){e.flags|=16384,e={getSnapshot:t,value:a},t=ve.updateQueue,t===null?(t=fs(),ve.updateQueue=t,t.stores=[e]):(a=t.stores,a===null?t.stores=[e]:a.push(e))}function Jf(e,t,a,n){t.value=a,t.getSnapshot=n,tm(t)&&am(e)}function em(e,t,a){return a(function(){tm(t)&&am(e)})}function tm(e){var t=e.getSnapshot;e=e.value;try{var a=t();return!Xt(e,a)}catch{return!0}}function am(e){var t=Zi(e,2);t!==null&&Qt(t,e,2)}function Pc(e){var t=It();if(typeof e=="function"){var a=e;if(e=a(),ln){ya(!0);try{a()}finally{ya(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ha,lastRenderedState:e},t}function im(e,t,a,n){return e.baseState=a,Tc(e,qe,typeof n=="function"?n:Ha)}function Xv(e,t,a,n,s){if(ys(e))throw Error(l(485));if(e=t.action,e!==null){var c={payload:s,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(f){c.listeners.push(f)}};L.T!==null?a(!0):c.isTransition=!1,n(c),a=t.pending,a===null?(c.next=t.pending=c,nm(t,c)):(c.next=a.next,t.pending=a.next=c)}}function nm(e,t){var a=t.action,n=t.payload,s=e.state;if(t.isTransition){var c=L.T,f={};L.T=f;try{var b=a(s,n),E=L.S;E!==null&&E(f,b),om(e,t,b)}catch(N){Dc(e,t,N)}finally{c!==null&&f.types!==null&&(c.types=f.types),L.T=c}}else try{c=a(s,n),om(e,t,c)}catch(N){Dc(e,t,N)}}function om(e,t,a){a!==null&&typeof a=="object"&&typeof a.then=="function"?a.then(function(n){rm(e,t,n)},function(n){return Dc(e,t,n)}):rm(e,t,a)}function rm(e,t,a){t.status="fulfilled",t.value=a,sm(t),e.state=a,t=e.pending,t!==null&&(a=t.next,a===t?e.pending=null:(a=a.next,t.next=a,nm(e,a)))}function Dc(e,t,a){var n=e.pending;if(e.pending=null,n!==null){n=n.next;do t.status="rejected",t.reason=a,sm(t),t=t.next;while(t!==n)}e.action=null}function sm(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function lm(e,t){return t}function cm(e,t){if(Pe){var a=Ve.formState;if(a!==null){e:{var n=ve;if(Pe){if(Ye){t:{for(var s=Ye,c=da;s.nodeType!==8;){if(!c){s=null;break t}if(s=ma(s.nextSibling),s===null){s=null;break t}}c=s.data,s=c==="F!"||c==="F"?s:null}if(s){Ye=ma(s.nextSibling),n=s.data==="F!";break e}}fi(n)}n=!1}n&&(t=a[0])}}return a=It(),a.memoizedState=a.baseState=t,n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:lm,lastRenderedState:t},a.queue=n,a=xm.bind(null,ve,n),n.dispatch=a,n=Pc(!1),c=Uc.bind(null,ve,!1,n.queue),n=It(),s={state:t,dispatch:null,action:e,pending:null},n.queue=s,a=Xv.bind(null,ve,s,c,a),s.dispatch=a,n.memoizedState=e,[t,a,!1]}function um(e){var t=nt();return dm(t,qe,e)}function dm(e,t,a){if(t=Tc(e,t,lm)[0],e=ps(Ha)[0],typeof t=="object"&&t!==null&&typeof t.then=="function")try{var n=Ko(t)}catch(f){throw f===Zn?ns:f}else n=t;t=nt();var s=t.queue,c=s.dispatch;return a!==t.memoizedState&&(ve.flags|=2048,io(9,{destroy:void 0},Wv.bind(null,s,a),null)),[n,c,e]}function Wv(e,t){e.action=t}function fm(e){var t=nt(),a=qe;if(a!==null)return dm(t,a,e);nt(),t=t.memoizedState,a=nt();var n=a.queue.dispatch;return a.memoizedState=e,[t,n,!1]}function io(e,t,a,n){return e={tag:e,create:a,deps:n,inst:t,next:null},t=ve.updateQueue,t===null&&(t=fs(),ve.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 mm(){return nt().memoizedState}function hs(e,t,a,n){var s=It();ve.flags|=e,s.memoizedState=io(1|t,{destroy:void 0},a,n===void 0?null:n)}function gs(e,t,a,n){var s=nt();n=n===void 0?null:n;var c=s.memoizedState.inst;qe!==null&&n!==null&&Sc(n,qe.memoizedState.deps)?s.memoizedState=io(t,c,a,n):(ve.flags|=e,s.memoizedState=io(1|t,c,a,n))}function pm(e,t){hs(8390656,8,e,t)}function Oc(e,t){gs(2048,8,e,t)}function Zv(e){ve.flags|=4;var t=ve.updateQueue;if(t===null)t=fs(),ve.updateQueue=t,t.events=[e];else{var a=t.events;a===null?t.events=[e]:a.push(e)}}function hm(e){var t=nt().memoizedState;return Zv({ref:t,nextImpl:e}),function(){if((Me&2)!==0)throw Error(l(440));return t.impl.apply(void 0,arguments)}}function gm(e,t){return gs(4,2,e,t)}function ym(e,t){return gs(4,4,e,t)}function vm(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 bm(e,t,a){a=a!=null?a.concat([e]):null,gs(4,4,vm.bind(null,t,e),a)}function Lc(){}function Cm(e,t){var a=nt();t=t===void 0?null:t;var n=a.memoizedState;return t!==null&&Sc(t,n[1])?n[0]:(a.memoizedState=[e,t],e)}function Sm(e,t){var a=nt();t=t===void 0?null:t;var n=a.memoizedState;if(t!==null&&Sc(t,n[1]))return n[0];if(n=e(),ln){ya(!0);try{e()}finally{ya(!1)}}return a.memoizedState=[n,t],n}function Ic(e,t,a){return a===void 0||(Va&1073741824)!==0&&(we&261930)===0?e.memoizedState=t:(e.memoizedState=a,e=Ap(),ve.lanes|=e,Si|=e,a)}function Am(e,t,a,n){return Xt(a,t)?a:eo.current!==null?(e=Ic(e,a,n),Xt(e,t)||(lt=!0),e):(Va&42)===0||(Va&1073741824)!==0&&(we&261930)===0?(lt=!0,e.memoizedState=a):(e=Ap(),ve.lanes|=e,Si|=e,t)}function Em(e,t,a,n,s){var c=Q.p;Q.p=c!==0&&8>c?c:8;var f=L.T,b={};L.T=b,Uc(e,!1,t,a);try{var E=s(),N=L.S;if(N!==null&&N(b,E),E!==null&&typeof E=="object"&&typeof E.then=="function"){var k=Qv(E,n);$o(e,t,k,aa(e))}else $o(e,t,n,aa(e))}catch(H){$o(e,t,{then:function(){},status:"rejected",reason:H},aa())}finally{Q.p=c,f!==null&&b.types!==null&&(f.types=b.types),L.T=f}}function Jv(){}function Nc(e,t,a,n){if(e.tag!==5)throw Error(l(476));var s=wm(e).queue;Em(e,s,t,oe,a===null?Jv:function(){return Rm(e),a(n)})}function wm(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:oe,baseState:oe,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ha,lastRenderedState:oe},next:null};var a={};return t.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ha,lastRenderedState:a},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Rm(e){var t=wm(e);t.next===null&&(t=e.alternate.memoizedState),$o(e,t.next.queue,{},aa())}function Mc(){return Et(fr)}function _m(){return nt().memoizedState}function Tm(){return nt().memoizedState}function eb(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var a=aa();e=hi(a);var n=gi(t,e,a);n!==null&&(Qt(n,t,a),jo(n,t,a)),t={cache:uc()},e.payload=t;return}t=t.return}}function tb(e,t,a){var n=aa();a={lane:n,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},ys(e)?Pm(t,a):(a=Jl(e,t,a,n),a!==null&&(Qt(a,e,n),Dm(a,t,n)))}function xm(e,t,a){var n=aa();$o(e,t,a,n)}function $o(e,t,a,n){var s={lane:n,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(ys(e))Pm(t,s);else{var c=e.alternate;if(e.lanes===0&&(c===null||c.lanes===0)&&(c=t.lastRenderedReducer,c!==null))try{var f=t.lastRenderedState,b
vendor: 8,621 bytes, line 9
9=c(f,a);if(s.hasEagerState=!0,s.eagerState=b,Xt(b,f))return Wr(e,t,s,0),Ve===null&&Xr(),!1}catch{}if(a=Jl(e,t,s,n),a!==null)return Qt(a,e,n),Dm(a,t,n),!0}return!1}function Uc(e,t,a,n){if(n={lane:2,revertLane:pu(),gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},ys(e)){if(t)throw Error(l(479))}else t=Jl(e,a,n,2),t!==null&&Qt(t,e,2)}function ys(e){var t=e.alternate;return e===ve||t!==null&&t===ve}function Pm(e,t){to=us=!0;var a=e.pending;a===null?t.next=t:(t.next=a.next,a.next=t),e.pending=t}function Dm(e,t,a){if((a&4194048)!==0){var n=t.lanes;n&=e.pendingLanes,a|=n,t.lanes=a,qt(e,a)}}var Xo={readContext:Et,use:ms,useCallback:et,useContext:et,useEffect:et,useImperativeHandle:et,useLayoutEffect:et,useInsertionEffect:et,useMemo:et,useReducer:et,useRef:et,useState:et,useDebugValue:et,useDeferredValue:et,useTransition:et,useSyncExternalStore:et,useId:et,useHostTransitionStatus:et,useFormState:et,useActionState:et,useOptimistic:et,useMemoCache:et,useCacheRefresh:et};Xo.useEffectEvent=et;var Om={readContext:Et,use:ms,useCallback:function(e,t){return It().memoizedState=[e,t===void 0?null:t],e},useContext:Et,useEffect:pm,useImperativeHandle:function(e,t,a){a=a!=null?a.concat([e]):null,hs(4194308,4,vm.bind(null,t,e),a)},useLayoutEffect:function(e,t){return hs(4194308,4,e,t)},useInsertionEffect:function(e,t){hs(4,2,e,t)},useMemo:function(e,t){var a=It();t=t===void 0?null:t;var n=e();if(ln){ya(!0);try{e()}finally{ya(!1)}}return a.memoizedState=[n,t],n},useReducer:function(e,t,a){var n=It();if(a!==void 0){var s=a(t);if(ln){ya(!0);try{a(t)}finally{ya(!1)}}}else s=t;return n.memoizedState=n.baseState=s,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:s},n.queue=e,e=e.dispatch=tb.bind(null,ve,e),[n.memoizedState,e]},useRef:function(e){var t=It();return e={current:e},t.memoizedState=e},useState:function(e){e=Pc(e);var t=e.queue,a=xm.bind(null,ve,t);return t.dispatch=a,[e.memoizedState,a]},useDebugValue:Lc,useDeferredValue:function(e,t){var a=It();return Ic(a,e,t)},useTransition:function(){var e=Pc(!1);return e=Em.bind(null,ve,e.queue,!0,!1),It().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,a){var n=ve,s=It();if(Pe){if(a===void 0)throw Error(l(407));a=a()}else{if(a=t(),Ve===null)throw Error(l(349));(we&127)!==0||Zf(n,t,a)}s.memoizedState=a;var c={value:a,getSnapshot:t};return s.queue=c,pm(em.bind(null,n,c,e),[e]),n.flags|=2048,io(9,{destroy:void 0},Jf.bind(null,n,c,a,t),null),a},useId:function(){var e=It(),t=Ve.identifierPrefix;if(Pe){var a=Ta,n=_a;a=(n&~(1<<32-Tt(n)-1)).toString(32)+a,t="_"+t+"R_"+a,a=ds++,0<a&&(t+="H"+a.toString(32)),t+="_"}else a=Kv++,t="_"+t+"r_"+a.toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:Mc,useFormState:cm,useActionState:cm,useOptimistic:function(e){var t=It();t.memoizedState=t.baseState=e;var a={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=a,t=Uc.bind(null,ve,!0,a),a.dispatch=t,[e,t]},useMemoCache:_c,useCacheRefresh:function(){return It().memoizedState=eb.bind(null,ve)},useEffectEvent:function(e){var t=It(),a={impl:e};return t.memoizedState=a,function(){if((Me&2)!==0)throw Error(l(440));return a.impl.apply(void 0,arguments)}}},kc={readContext:Et,use:ms,useCallback:Cm,useContext:Et,useEffect:Oc,useImperativeHandle:bm,useInsertionEffect:gm,useLayoutEffect:ym,useMemo:Sm,useReducer:ps,useRef:mm,useState:function(){return ps(Ha)},useDebugValue:Lc,useDeferredValue:function(e,t){var a=nt();return Am(a,qe.memoizedState,e,t)},useTransition:function(){var e=ps(Ha)[0],t=nt().memoizedState;return[typeof e=="boolean"?e:Ko(e),t]},useSyncExternalStore:Wf,useId:_m,useHostTransitionStatus:Mc,useFormState:um,useActionState:um,useOptimistic:function(e,t){var a=nt();return im(a,qe,e,t)},useMemoCache:_c,useCacheRefresh:Tm};kc.useEffectEvent=hm;var Lm={readContext:Et,use:ms,useCallback:Cm,useContext:Et,useEffect:Oc,useImperativeHandle:bm,useInsertionEffect:gm,useLayoutEffect:ym,useMemo:Sm,useReducer:xc,useRef:mm,useState:function(){return xc(Ha)},useDebugValue:Lc,useDeferredValue:function(e,t){var a=nt();return qe===null?Ic(a,e,t):Am(a,qe.memoizedState,e,t)},useTransition:function(){var e=xc(Ha)[0],t=nt().memoizedState;return[typeof e=="boolean"?e:Ko(e),t]},useSyncExternalStore:Wf,useId:_m,useHostTransitionStatus:Mc,useFormState:fm,useActionState:fm,useOptimistic:function(e,t){var a=nt();return qe!==null?im(a,qe,e,t):(a.baseState=e,[e,a.queue.dispatch])},useMemoCache:_c,useCacheRefresh:Tm};Lm.useEffectEvent=hm;function Bc(e,t,a,n){t=e.memoizedState,a=a(n,t),a=a==null?t:h({},t,a),e.memoizedState=a,e.lanes===0&&(e.updateQueue.baseState=a)}var qc={enqueueSetState:function(e,t,a){e=e._reactInternals;var n=aa(),s=hi(n);s.payload=t,a!=null&&(s.callback=a),t=gi(e,s,n),t!==null&&(Qt(t,e,n),jo(t,e,n))},enqueueReplaceState:function(e,t,a){e=e._reactInternals;var n=aa(),s=hi(n);s.tag=1,s.payload=t,a!=null&&(s.callback=a),t=gi(e,s,n),t!==null&&(Qt(t,e,n),jo(t,e,n))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var a=aa(),n=hi(a);n.tag=2,t!=null&&(n.callback=t),t=gi(e,n,a),t!==null&&(Qt(t,e,a),jo(t,e,a))}};function Im(e,t,a,n,s,c,f){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(n,c,f):t.prototype&&t.prototype.isPureReactComponent?!Uo(a,n)||!Uo(s,c):!0}function Nm(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&&qc.enqueueReplaceState(t,t.state,null)}function cn(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=h({},a));for(var s in e)a[s]===void 0&&(a[s]=e[s])}return a}function Mm(e){$r(e)}function Um(e){console.error(e)}function km(e){$r(e)}function vs(e,t){try{var a=e.onUncaughtError;a(t.value,{componentStack:t.stack})}catch(n){setTimeout(function(){throw n})}}function Bm(e,t,a){try{var n=e.onCaughtError;n(a.value,{componentStack:a.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(s){setTimeout(function(){throw s})}}function zc(e,t,a){return a=hi(a),a.tag=3,a.payload={element:null},a.callback=function(){vs(e,t)},a}function qm(e){return e=hi(e),e.tag=3,e}function zm(e,t,a,n){var s=a.type.getDerivedStateFromError;if(typeof s=="function"){var c=n.value;e.payload=function(){return s(c)},e.callback=function(){Bm(t,a,n)}}var f=a.stateNode;f!==null&&typeof f.componentDidCatch=="function"&&(e.callback=function(){Bm(t,a,n),typeof s!="function"&&(Ai===null?Ai=new Set([this]):Ai.add(this));var b=n.stack;this.componentDidCatch(n.value,{componentStack:b!==null?b:""})})}function ab(e,t,a,n,s){if(a.flags|=32768,n!==null&&typeof n=="object"&&typeof n.then=="function"){if(t=a.alternate,t!==null&&$n(t,a,s,!0),a=Zt.current,a!==null){switch(a.tag){case 31:case 13:return fa===null?Ds():a.alternate===null&&tt===0&&(tt=3),a.flags&=-257,a.flags|=65536,a.lanes=s,n===os?a.flags|=16384:(t=a.updateQueue,t===null?a.updateQueue=new Set([n]):t.add(n),du(e,n,s)),!1;case 22:return a.flags|=65536,n===os?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)),du(e,n,s)),!1}throw Error(l(435,a.tag))}return du(e,n,s),Ds(),!1}if(Pe)return t=Zt.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=s,n!==oc&&(e=Error(l(422),{cause:n}),qo(la(e,a)))):(n!==oc&&(t=Error(l(423),{cause:n}),qo(la(t,a))),e=e.current.alternate,e.flags|=65536,s&=-s,e.lanes|=s,n=la(n,a),s=zc(e.stateNode,n,s),gc(e,s),tt!==4&&(tt=2)),!1;var c=Error(l(520),{cause:n});if(c=la(c,a),nr===null?nr=[c]:nr.push(c),tt!==4&&(tt=2),t===null)return!0;n=la(n,a),a=t;do{switch(a.tag){case 3:return a.flags|=65536,e=s&-s,a.lanes|=e,e=zc(a.stateNode,n,e),gc(a,e),!1;case 1:if(t=a.type,c=a.stateNode,(a.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||c!==null&&typeof c.componentDidCatch=="function"&&(Ai===null||!Ai.has(c))))return a.flags|=65536,s&=-s,a.lanes|=s,s=qm(s),zm(s,e,a,n),gc(a,s),!1}a=a.return}while(a!==null);return!1}var Fc=Error(l(461)),lt=!1;function wt(e,t,a,n){t.child=e===null?jf(t,null,a,n):sn(t,e.child,a,n)}function Fm(e,t,a,n,s){a=a.render;var c=t.ref;if("ref"in n){var f={};for(var b in n)b!=="ref"&&(f[b]=n[b])}else f=n;return an(t),n=Ac(e,t,a,f,c,s),b=Ec(),e!==null&&!lt?(wc(e,t,s),ja(e,t,s)):(Pe&&b&&ic(t),t.flags|=1,wt(e,t,n,s),t.child)}function Vm(e,t,a,n,s){if(e===null){var c=a.type;return typeof c=="function"&&!ec(c)&&c.defaultProps===void 0&&a.compare===null?(t.tag=15,t.type=c,Hm(e,t,c,n,s)
vendor: 9,400 bytes, line 9
9):(e=Jr(a.type,null,n,t,t.mode,s),e.ref=t.ref,e.return=t,t.child=e)}if(c=e.child,!$c(e,s)){var f=c.memoizedProps;if(a=a.compare,a=a!==null?a:Uo,a(f,n)&&e.ref===t.ref)return ja(e,t,s)}return t.flags|=1,e=Ba(c,n),e.ref=t.ref,e.return=t,t.child=e}function Hm(e,t,a,n,s){if(e!==null){var c=e.memoizedProps;if(Uo(c,n)&&e.ref===t.ref)if(lt=!1,t.pendingProps=n=c,$c(e,s))(e.flags&131072)!==0&&(lt=!0);else return t.lanes=e.lanes,ja(e,t,s)}return Vc(e,t,a,n,s)}function jm(e,t,a,n){var s=n.children,c=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(c=c!==null?c.baseLanes|a:a,e!==null){for(n=t.child=e.child,s=0;n!==null;)s=s|n.lanes|n.childLanes,n=n.sibling;n=s&~c}else n=0,t.child=null;return Gm(e,t,c,a,n)}if((a&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&is(t,c!==null?c.cachePool:null),c!==null?Qf(t,c):vc(),Kf(t);else return n=t.lanes=536870912,Gm(e,t,c!==null?c.baseLanes|a:a,a,n)}else c!==null?(is(t,c.cachePool),Qf(t,c),vi(),t.memoizedState=null):(e!==null&&is(t,null),vc(),vi());return wt(e,t,s,a),t.child}function Wo(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function Gm(e,t,a,n,s){var c=fc();return c=c===null?null:{parent:rt._currentValue,pool:c},t.memoizedState={baseLanes:a,cachePool:c},e!==null&&is(t,null),vc(),Kf(t),e!==null&&$n(e,t,n,!0),t.childLanes=s,null}function bs(e,t){return t=Ss({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function Ym(e,t,a){return sn(t,e.child,null,a),e=bs(t,t.pendingProps),e.flags|=2,Jt(t),t.memoizedState=null,e}function ib(e,t,a){var n=t.pendingProps,s=(t.flags&128)!==0;if(t.flags&=-129,e===null){if(Pe){if(n.mode==="hidden")return e=bs(t,n),t.lanes=536870912,Wo(null,e);if(Cc(t),(e=Ye)?(e=nh(e,da),e=e!==null&&e.data==="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:ui!==null?{id:_a,overflow:Ta}:null,retryLane:536870912,hydrationErrors:null},a=Pf(e),a.return=t,t.child=a,At=t,Ye=null)):e=null,e===null)throw fi(t);return t.lanes=536870912,null}return bs(t,n)}var c=e.memoizedState;if(c!==null){var f=c.dehydrated;if(Cc(t),s)if(t.flags&256)t.flags&=-257,t=Ym(e,t,a);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(l(558));else if(lt||$n(e,t,a,!1),s=(a&e.childLanes)!==0,lt||s){if(n=Ve,n!==null&&(f=zt(n,a),f!==0&&f!==c.retryLane))throw c.retryLane=f,Zi(e,f),Qt(n,e,f),Fc;Ds(),t=Ym(e,t,a)}else e=c.treeContext,Ye=ma(f.nextSibling),At=t,Pe=!0,di=null,da=!1,e!==null&&Lf(t,e),t=bs(t,n),t.flags|=4096;return t}return e=Ba(e.child,{mode:n.mode,children:n.children}),e.ref=t.ref,t.child=e,e.return=t,e}function Cs(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(l(284));(e===null||e.ref!==a)&&(t.flags|=4194816)}}function Vc(e,t,a,n,s){return an(t),a=Ac(e,t,a,n,void 0,s),n=Ec(),e!==null&&!lt?(wc(e,t,s),ja(e,t,s)):(Pe&&n&&ic(t),t.flags|=1,wt(e,t,a,s),t.child)}function Qm(e,t,a,n,s,c){return an(t),t.updateQueue=null,a=Xf(t,n,a,s),$f(e),n=Ec(),e!==null&&!lt?(wc(e,t,c),ja(e,t,c)):(Pe&&n&&ic(t),t.flags|=1,wt(e,t,a,c),t.child)}function Km(e,t,a,n,s){if(an(t),t.stateNode===null){var c=Gn,f=a.contextType;typeof f=="object"&&f!==null&&(c=Et(f)),c=new a(n,c),t.memoizedState=c.state!==null&&c.state!==void 0?c.state:null,c.updater=qc,t.stateNode=c,c._reactInternals=t,c=t.stateNode,c.props=n,c.state=t.memoizedState,c.refs={},pc(t),f=a.contextType,c.context=typeof f=="object"&&f!==null?Et(f):Gn,c.state=t.memoizedState,f=a.getDerivedStateFromProps,typeof f=="function"&&(Bc(t,a,f,n),c.state=t.memoizedState),typeof a.getDerivedStateFromProps=="function"||typeof c.getSnapshotBeforeUpdate=="function"||typeof c.UNSAFE_componentWillMount!="function"&&typeof c.componentWillMount!="function"||(f=c.state,typeof c.componentWillMount=="function"&&c.componentWillMount(),typeof c.UNSAFE_componentWillMount=="function"&&c.UNSAFE_componentWillMount(),f!==c.state&&qc.enqueueReplaceState(c,c.state,null),Yo(t,n,c,s),Go(),c.state=t.memoizedState),typeof c.componentDidMount=="function"&&(t.flags|=4194308),n=!0}else if(e===null){c=t.stateNode;var b=t.memoizedProps,E=cn(a,b);c.props=E;var N=c.context,k=a.contextType;f=Gn,typeof k=="object"&&k!==null&&(f=Et(k));var H=a.getDerivedStateFromProps;k=typeof H=="function"||typeof c.getSnapshotBeforeUpdate=="function",b=t.pendingProps!==b,k||typeof c.UNSAFE_componentWillReceiveProps!="function"&&typeof c.componentWillReceiveProps!="function"||(b||N!==f)&&Nm(t,c,n,f),pi=!1;var M=t.memoizedState;c.state=M,Yo(t,n,c,s),Go(),N=t.memoizedState,b||M!==N||pi?(typeof H=="function"&&(Bc(t,a,H,n),N=t.memoizedState),(E=pi||Im(t,a,E,n,M,N,f))?(k||typeof c.UNSAFE_componentWillMount!="function"&&typeof c.componentWillMount!="function"||(typeof c.componentWillMount=="function"&&c.componentWillMount(),typeof c.UNSAFE_componentWillMount=="function"&&c.UNSAFE_componentWillMount()),typeof c.componentDidMount=="function"&&(t.flags|=4194308)):(typeof c.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=n,t.memoizedState=N),c.props=n,c.state=N,c.context=f,n=E):(typeof c.componentDidMount=="function"&&(t.flags|=4194308),n=!1)}else{c=t.stateNode,hc(e,t),f=t.memoizedProps,k=cn(a,f),c.props=k,H=t.pendingProps,M=c.context,N=a.contextType,E=Gn,typeof N=="object"&&N!==null&&(E=Et(N)),b=a.getDerivedStateFromProps,(N=typeof b=="function"||typeof c.getSnapshotBeforeUpdate=="function")||typeof c.UNSAFE_componentWillReceiveProps!="function"&&typeof c.componentWillReceiveProps!="function"||(f!==H||M!==E)&&Nm(t,c,n,E),pi=!1,M=t.memoizedState,c.state=M,Yo(t,n,c,s),Go();var U=t.memoizedState;f!==H||M!==U||pi||e!==null&&e.dependencies!==null&&ts(e.dependencies)?(typeof b=="function"&&(Bc(t,a,b,n),U=t.memoizedState),(k=pi||Im(t,a,k,n,M,U,E)||e!==null&&e.dependencies!==null&&ts(e.dependencies))?(N||typeof c.UNSAFE_componentWillUpdate!="function"&&typeof c.componentWillUpdate!="function"||(typeof c.componentWillUpdate=="function"&&c.componentWillUpdate(n,U,E),typeof c.UNSAFE_componentWillUpdate=="function"&&c.UNSAFE_componentWillUpdate(n,U,E)),typeof c.componentDidUpdate=="function"&&(t.flags|=4),typeof c.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof c.componentDidUpdate!="function"||f===e.memoizedProps&&M===e.memoizedState||(t.flags|=4),typeof c.getSnapshotBeforeUpdate!="function"||f===e.memoizedProps&&M===e.memoizedState||(t.flags|=1024),t.memoizedProps=n,t.memoizedState=U),c.props=n,c.state=U,c.context=E,n=k):(typeof c.componentDidUpdate!="function"||f===e.memoizedProps&&M===e.memoizedState||(t.flags|=4),typeof c.getSnapshotBeforeUpdate!="function"||f===e.memoizedProps&&M===e.memoizedState||(t.flags|=1024),n=!1)}return c=n,Cs(e,t),n=(t.flags&128)!==0,c||n?(c=t.stateNode,a=n&&typeof a.getDerivedStateFromError!="function"?null:c.render(),t.flags|=1,e!==null&&n?(t.child=sn(t,e.child,null,s),t.child=sn(t,null,a,s)):wt(e,t,a,s),t.memoizedState=c.state,e=t.child):e=ja(e,t,s),e}function $m(e,t,a,n){return en(),t.flags|=256,wt(e,t,a,n),t.child}var Hc={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function jc(e){return{baseLanes:e,cachePool:Bf()}}function Gc(e,t,a){return e=e!==null?e.childLanes&~a:0,t&&(e|=ta),e}function Xm(e,t,a){var n=t.pendingProps,s=!1,c=(t.flags&128)!==0,f;if((f=c)||(f=e!==null&&e.memoizedState===null?!1:(it.current&2)!==0),f&&(s=!0,t.flags&=-129),f=(t.flags&32)!==0,t.flags&=-33,e===null){if(Pe){if(s?yi(t):vi(),(e=Ye)?(e=nh(e,da),e=e!==null&&e.data!=="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:ui!==null?{id:_a,overflow:Ta}:null,retryLane:536870912,hydrationErrors:null},a=Pf(e),a.return=t,t.child=a,At=t,Ye=null)):e=null,e===null)throw fi(t);return Tu(e)?t.lanes=32:t.lanes=536870912,null}var b=n.children;return n=n.fallback,s?(vi(),s=t.mode,b=Ss({mode:"hidden",children:b},s),n=Ji(n,s,a,null),b.return=t,n.return=t,b.sibling=n,t.child=b,n=t.child,n.memoizedState=jc(a),n.childLanes=Gc(e,f,a),t.memoizedState=Hc,Wo(null,n)):(yi(t),Yc(t,b))}var E=e.memoizedState;if(E!==null&&(b=E.dehydrated,b!==null)){if(c)t.flags&256?(yi(t),t.flags&=-257,t=Qc(e,t,a)):t.memoizedState!==null?(vi(),t.child=e.child,t.flags|=128,t=null):(vi(),b=n.fallback,s=t.mode,n=Ss({mode:"visible",children:n.children},s),b=Ji(b,s,a,null),b.flags|=2,n.return=t,b.return=t,n.sibling=b,t.child=n,sn(t,e.child,null,a),n=t.child,n.memoizedState=jc(a),n.childLanes=Gc(e,f,a),t.memoizedState=Hc,t=Wo(null,n));else if(yi(t),Tu(b)){if(f=b.nextSibling&&b.nextSibling.dataset,f)var N=f.dgst;f=N,n=Error(l(419)),n.stack="",n.digest=f,qo({value:n,source:null,stack:null}),t=Qc(e,t,a)}else if(lt||$n(e,t,a,!1),f=(a&e.childLanes)!==0,lt||f){if(f=Ve,f!==null&&(n=zt(f,a),n!==0&&n!==E.retryLane))throw E.retryLane=n,Zi(e,n),Qt(f,e,n),Fc;_u(b)||Ds(),t=Qc(e,t,a)}else _u(b)?(t.flags|=192,t.child=e.child,t=null):(e=E.treeContext,Ye=ma(b.nextSibling),At=t,Pe=!0,di=null,da=!1,e!==null&&Lf(t,e),t=Yc(t,n.children),t.flags|=4096);return t}return s?(vi(),b=n.fallback,s=t.mode,E=e.child,N=E.sibling,n=Ba(E,{mode:"hidden",children:n.children}),n.subtreeFlags=E.subtreeFlags&65011712,N!==null?b=Ba(N,b):(b=Ji(b,s,a,null),b.flags|=2),b.return=t,n.return=t,n.sibling=b,t.child=n,Wo(null,n),n=t.child,b=e.child.memoizedState,b
vendor: 5,632 bytes, line 9
9===null?b=jc(a):(s=b.cachePool,s!==null?(E=rt._currentValue,s=s.parent!==E?{parent:E,pool:E}:s):s=Bf(),b={baseLanes:b.baseLanes|a,cachePool:s}),n.memoizedState=b,n.childLanes=Gc(e,f,a),t.memoizedState=Hc,Wo(e.child,n)):(yi(t),a=e.child,e=a.sibling,a=Ba(a,{mode:"visible",children:n.children}),a.return=t,a.sibling=null,e!==null&&(f=t.deletions,f===null?(t.deletions=[e],t.flags|=16):f.push(e)),t.child=a,t.memoizedState=null,a)}function Yc(e,t){return t=Ss({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function Ss(e,t){return e=Wt(22,e,null,t),e.lanes=0,e}function Qc(e,t,a){return sn(t,e.child,null,a),e=Yc(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Wm(e,t,a){e.lanes|=t;var n=e.alternate;n!==null&&(n.lanes|=t),lc(e.return,t,a)}function Kc(e,t,a,n,s,c){var f=e.memoizedState;f===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:n,tail:a,tailMode:s,treeForkCount:c}:(f.isBackwards=t,f.rendering=null,f.renderingStartTime=0,f.last=n,f.tail=a,f.tailMode=s,f.treeForkCount=c)}function Zm(e,t,a){var n=t.pendingProps,s=n.revealOrder,c=n.tail;n=n.children;var f=it.current,b=(f&2)!==0;if(b?(f=f&1|2,t.flags|=128):f&=1,Y(it,f),wt(e,t,n,a),n=Pe?Bo:0,!b&&e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Wm(e,a,t);else if(e.tag===19)Wm(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(s){case"forwards":for(a=t.child,s=null;a!==null;)e=a.alternate,e!==null&&cs(e)===null&&(s=a),a=a.sibling;a=s,a===null?(s=t.child,t.child=null):(s=a.sibling,a.sibling=null),Kc(t,!1,s,a,c,n);break;case"backwards":case"unstable_legacy-backwards":for(a=null,s=t.child,t.child=null;s!==null;){if(e=s.alternate,e!==null&&cs(e)===null){t.child=s;break}e=s.sibling,s.sibling=a,a=s,s=e}Kc(t,!0,a,null,c,n);break;case"together":Kc(t,!1,null,null,void 0,n);break;default:t.memoizedState=null}return t.child}function ja(e,t,a){if(e!==null&&(t.dependencies=e.dependencies),Si|=t.lanes,(a&t.childLanes)===0)if(e!==null){if($n(e,t,a,!1),(a&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(l(153));if(t.child!==null){for(e=t.child,a=Ba(e,e.pendingProps),t.child=a,a.return=t;e.sibling!==null;)e=e.sibling,a=a.sibling=Ba(e,e.pendingProps),a.return=t;a.sibling=null}return t.child}function $c(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&ts(e)))}function nb(e,t,a){switch(t.tag){case 3:pe(t,t.stateNode.containerInfo),mi(t,rt,e.memoizedState.cache),en();break;case 27:case 5:Mt(t);break;case 4:pe(t,t.stateNode.containerInfo);break;case 10:mi(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,Cc(t),null;break;case 13:var n=t.memoizedState;if(n!==null)return n.dehydrated!==null?(yi(t),t.flags|=128,null):(a&t.child.childLanes)!==0?Xm(e,t,a):(yi(t),e=ja(e,t,a),e!==null?e.sibling:null);yi(t);break;case 19:var s=(e.flags&128)!==0;if(n=(a&t.childLanes)!==0,n||($n(e,t,a,!1),n=(a&t.childLanes)!==0),s){if(n)return Zm(e,t,a);t.flags|=128}if(s=t.memoizedState,s!==null&&(s.rendering=null,s.tail=null,s.lastEffect=null),Y(it,it.current),n)break;return null;case 22:return t.lanes=0,jm(e,t,a,t.pendingProps);case 24:mi(t,rt,e.memoizedState.cache)}return ja(e,t,a)}function Jm(e,t,a){if(e!==null)if(e.memoizedProps!==t.pendingProps)lt=!0;else{if(!$c(e,a)&&(t.flags&128)===0)return lt=!1,nb(e,t,a);lt=(e.flags&131072)!==0}else lt=!1,Pe&&(t.flags&1048576)!==0&&Of(t,Bo,t.index);switch(t.lanes=0,t.tag){case 16:e:{var n=t.pendingProps;if(e=on(t.elementType),t.type=e,typeof e=="function")ec(e)?(n=cn(e,n),t.tag=1,t=Km(null,t,e,n,a)):(t.tag=0,t=Vc(null,t,e,n,a));else{if(e!=null){var s=e.$$typeof;if(s===j){t.tag=11,t=Fm(null,t,e,n,a);break e}else if(s===G){t.tag=14,t=Vm(null,t,e,n,a);break e}}throw t=xe(e)||e,Error(l(306,t,""))}}return t;case 0:return Vc(e,t,t.type,t.pendingProps,a);case 1:return n=t.type,s=cn(n,t.pendingProps),Km(e,t,n,s,a);case 3:e:{if(pe(t,t.stateNode.containerInfo),e===null)throw Error(l(387));n=t.pendingProps;var c=t.memoizedState;s=c.element,hc(e,t),Yo(t,n,null,a);var f=t.memoizedState;if(n=f.cache,mi(t,rt,n),n!==c.cache&&cc(t,[rt],a,!0),Go(),n=f.element,c.isDehydrated)if(c={element:n,isDehydrated:!1,cache:f.cache},t.updateQueue.baseState=c,t.memoizedState=c,t.flags&256){t=$m(e,t,n,a);break e}else if(n!==s){s=la(Error(l(424)),t),qo(s),t=$m(e,t,n,a);break e}else for(e=t.stateNode.containerInfo,e.nodeType===9?e=e.body:e=e.nodeName==="HTML"?e.ownerDocument.body:e,Ye=ma(e.firstChild),At=t,Pe=!0,di=null,da=!0,a=jf(t,null,n,a),t.child=a;a;)a.flags=a.flags&-3|4096,a=a.sibling;else{if(en(),n===s){t=ja(e,t,a);break e}wt(e,t,n,a)}t=t.child}return t;case 26:return Cs(e,t),e===null?(a=uh(t.type,null,t.pendingProps,null))?t.memoizedState=a:Pe||(a=t.type,e=t.pendingProps,n=ks(le.current).createElement(a),n[St]=t,n[Ft]=e,Rt(n,a,e),gt(n),t.stateNode=n):t.memoizedState=uh(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return Mt(t),e===null&&Pe&&(n=t.stateNode=sh(t.type,t.pendingProps,le.current),At=t,da=!0,s=Ye,_i(t.type)?(xu=s,Ye=ma(n.firstChild)):Ye=s),wt(e,t,t.pendingProps.children,a),Cs(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&Pe&&((s=n=Ye)&&(n=Nb(n,t.type,t.pendingProps,da),n!==null?(t.stateNode=n,At=t,Ye=ma(n.firstChild),da=!1,s=!0):s=!1),s||fi(t)),Mt(t),s=t.type,c=t.pendingProps,f=e!==null?e.memoizedProps:null,n=c.children,Eu(s,c)?n=null:f!==null&&Eu(s,f)&&(t.flags|=32),t.memoizedState!==null&&(s=Ac(e,t,$v,null,null,a),fr._
vendor: 4,230 bytes, line 9
9currentValue=s),Cs(e,t),wt(e,t,n,a),t.child;case 6:return e===null&&Pe&&((e=a=Ye)&&(a=Mb(a,t.pendingProps,da),a!==null?(t.stateNode=a,At=t,Ye=null,e=!0):e=!1),e||fi(t)),null;case 13:return Xm(e,t,a);case 4:return pe(t,t.stateNode.containerInfo),n=t.pendingProps,e===null?t.child=sn(t,null,n,a):wt(e,t,n,a),t.child;case 11:return Fm(e,t,t.type,t.pendingProps,a);case 7:return wt(e,t,t.pendingProps,a),t.child;case 8:return wt(e,t,t.pendingProps.children,a),t.child;case 12:return wt(e,t,t.pendingProps.children,a),t.child;case 10:return n=t.pendingProps,mi(t,t.type,n.value),wt(e,t,n.children,a),t.child;case 9:return s=t.type._context,n=t.pendingProps.children,an(t),s=Et(s),n=n(s),t.flags|=1,wt(e,t,n,a),t.child;case 14:return Vm(e,t,t.type,t.pendingProps,a);case 15:return Hm(e,t,t.type,t.pendingProps,a);case 19:return Zm(e,t,a);case 31:return ib(e,t,a);case 22:return jm(e,t,a,t.pendingProps);case 24:return an(t),n=Et(rt),e===null?(s=fc(),s===null&&(s=Ve,c=uc(),s.pooledCache=c,c.refCount++,c!==null&&(s.pooledCacheLanes|=a),s=c),t.memoizedState={parent:n,cache:s},pc(t),mi(t,rt,s)):((e.lanes&a)!==0&&(hc(e,t),Yo(t,null,null,a),Go()),s=e.memoizedState,c=t.memoizedState,s.parent!==n?(s={parent:n,cache:n},t.memoizedState=s,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=s),mi(t,rt,n)):(n=c.cache,mi(t,rt,n),n!==s.cache&&cc(t,[rt],a,!0))),wt(e,t,t.pendingProps.children,a),t.child;case 29:throw t.pendingProps}throw Error(l(156,t.tag))}function Ga(e){e.flags|=4}function Xc(e,t,a,n,s){if((t=(e.mode&32)!==0)&&(t=!1),t){if(e.flags|=16777216,(s&335544128)===s)if(e.stateNode.complete)e.flags|=8192;else if(_p())e.flags|=8192;else throw rn=os,mc}else e.flags&=-16777217}function ep(e,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!hh(t))if(_p())e.flags|=8192;else throw rn=os,mc}function As(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?xt():536870912,e.lanes|=t,so|=t)}function Zo(e,t){if(!Pe)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 Qe(e){var t=e.alternate!==null&&e.alternate.child===e.child,a=0,n=0;if(t)for(var s=e.child;s!==null;)a|=s.lanes|s.childLanes,n|=s.subtreeFlags&65011712,n|=s.flags&65011712,s.return=e,s=s.sibling;else for(s=e.child;s!==null;)a|=s.lanes|s.childLanes,n|=s.subtreeFlags,n|=s.flags,s.return=e,s=s.sibling;return e.subtreeFlags|=n,e.childLanes=a,t}function ob(e,t,a){var n=t.pendingProps;switch(nc(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Qe(t),null;case 1:return Qe(t),null;case 3:return a=t.stateNode,n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),Fa(rt),De(),a.pendingContext&&(a.context=a.pendingContext,a.pendingContext=null),(e===null||e.child===null)&&(Kn(t)?Ga(t):e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,rc())),Qe(t),null;case 26:var s=t.type,c=t.memoizedState;return e===null?(Ga(t),c!==null?(Qe(t),ep(t,c)):(Qe(t),Xc(t,s,null,n,a))):c?c!==e.memoizedState?(Ga(t),Qe(t),ep(t,c)):(Qe(t),t.flags&=-16777217):(e=e.memoizedProps,e!==n&&Ga(t),Qe(t),Xc(t,s,e,n,a)),null;case 27:if(Ut(t),a=le.current,s=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==n&&Ga(t);else{if(!n){if(t.stateNode===null)throw Error(l(166));return Qe(t),null}e=K.current,Kn(t)?If(t):(e=sh(s,n,a),t.stateNode=e,Ga(t))}return Qe(t),null;case 5:if(Ut(t),s=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==n&&Ga(t);else{if(!n){if(t.stateNode===null)throw Error(l(166));return Qe(t),null}if(c=K.current,Kn(t))If(t);else{var f=ks(le.current);switch(c){case 1:c=f.createElementNS("http://www.w3.org/2000/svg",s);break;case 2:c=f.createElementNS("http://www.w3.org/1998/Math/MathML",s);break;default:switch(s){case"svg":c=f.createElementNS("http://www.w3.org/2000/svg",s);break;case"math":c=f.createElementNS("http://www.w3.org/1998/Math/MathML",s);break;case"script":c=f.createElement("div"),c.innerHTML="<script><\/script>",c=c.removeChild(c.firstChild);break;
vendor: 25,018 bytes, line 9
9case"select":c=typeof n.is=="string"?f.createElement("select",{is:n.is}):f.createElement("select"),n.multiple?c.multiple=!0:n.size&&(c.size=n.size);break;default:c=typeof n.is=="string"?f.createElement(s,{is:n.is}):f.createElement(s)}}c[St]=t,c[Ft]=n;e:for(f=t.child;f!==null;){if(f.tag===5||f.tag===6)c.appendChild(f.stateNode);else if(f.tag!==4&&f.tag!==27&&f.child!==null){f.child.return=f,f=f.child;continue}if(f===t)break e;for(;f.sibling===null;){if(f.return===null||f.return===t)break e;f=f.return}f.sibling.return=f.return,f=f.sibling}t.stateNode=c;e:switch(Rt(c,s,n),s){case"button":case"input":case"select":case"textarea":n=!!n.autoFocus;break e;case"img":n=!0;break e;default:n=!1}n&&Ga(t)}}return Qe(t),Xc(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,a),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==n&&Ga(t);else{if(typeof n!="string"&&t.stateNode===null)throw Error(l(166));if(e=le.current,Kn(t)){if(e=t.stateNode,a=t.memoizedProps,n=null,s=At,s!==null)switch(s.tag){case 27:case 5:n=s.memoizedProps}e[St]=t,e=!!(e.nodeValue===a||n!==null&&n.suppressHydrationWarning===!0||Xp(e.nodeValue,a)),e||fi(t,!0)}else e=ks(e).createTextNode(n),e[St]=t,t.stateNode=e}return Qe(t),null;case 31:if(a=t.memoizedState,e===null||e.memoizedState!==null){if(n=Kn(t),a!==null){if(e===null){if(!n)throw Error(l(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(l(557));e[St]=t}else en(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Qe(t),e=!1}else a=rc(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),e=!0;if(!e)return t.flags&256?(Jt(t),t):(Jt(t),null);if((t.flags&128)!==0)throw Error(l(558))}return Qe(t),null;case 13:if(n=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(s=Kn(t),n!==null&&n.dehydrated!==null){if(e===null){if(!s)throw Error(l(318));if(s=t.memoizedState,s=s!==null?s.dehydrated:null,!s)throw Error(l(317));s[St]=t}else en(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Qe(t),s=!1}else s=rc(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=s),s=!0;if(!s)return t.flags&256?(Jt(t),t):(Jt(t),null)}return Jt(t),(t.flags&128)!==0?(t.lanes=a,t):(a=n!==null,e=e!==null&&e.memoizedState!==null,a&&(n=t.child,s=null,n.alternate!==null&&n.alternate.memoizedState!==null&&n.alternate.memoizedState.cachePool!==null&&(s=n.alternate.memoizedState.cachePool.pool),c=null,n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(c=n.memoizedState.cachePool.pool),c!==s&&(n.flags|=2048)),a!==e&&a&&(t.child.flags|=8192),As(t,t.updateQueue),Qe(t),null);case 4:return De(),e===null&&vu(t.stateNode.containerInfo),Qe(t),null;case 10:return Fa(t.type),Qe(t),null;case 19:if(F(it),n=t.memoizedState,n===null)return Qe(t),null;if(s=(t.flags&128)!==0,c=n.rendering,c===null)if(s)Zo(n,!1);else{if(tt!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(c=cs(e),c!==null){for(t.flags|=128,Zo(n,!1),e=c.updateQueue,t.updateQueue=e,As(t,e),t.subtreeFlags=0,e=a,a=t.child;a!==null;)xf(a,e),a=a.sibling;return Y(it,it.current&1|2),Pe&&qa(t,n.treeForkCount),t.child}e=e.sibling}n.tail!==null&&Ct()>Ts&&(t.flags|=128,s=!0,Zo(n,!1),t.lanes=4194304)}else{if(!s)if(e=cs(c),e!==null){if(t.flags|=128,s=!0,e=e.updateQueue,t.updateQueue=e,As(t,e),Zo(n,!0),n.tail===null&&n.tailMode==="hidden"&&!c.alternate&&!Pe)return Qe(t),null}else 2*Ct()-n.renderingStartTime>Ts&&a!==536870912&&(t.flags|=128,s=!0,Zo(n,!1),t.lanes=4194304);n.isBackwards?(c.sibling=t.child,t.child=c):(e=n.last,e!==null?e.sibling=c:t.child=c,n.last=c)}return n.tail!==null?(e=n.tail,n.rendering=e,n.tail=e.sibling,n.renderingStartTime=Ct(),e.sibling=null,a=it.current,Y(it,s?a&1|2:a&1),Pe&&qa(t,n.treeForkCount),e):(Qe(t),null);case 22:case 23:return Jt(t),bc(),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&&(Qe(t),t.subtreeFlags&6&&(t.flags|=8192)):Qe(t),a=t.updateQueue,a!==null&&As(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&&F(nn),null;case 24:return a=null,e!==null&&(a=e.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),Fa(rt),Qe(t),null;case 25:return null;case 30:return null}throw Error(l(156,t.tag))}function rb(e,t){switch(nc(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Fa(rt),De(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Ut(t),null;case 31:if(t.memoizedState!==null){if(Jt(t),t.alternate===null)throw Error(l(340));en()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Jt(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(l(340));en()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return F(it),null;case 4:return De(),null;case 10:return Fa(t.type),null;case 22:case 23:return Jt(t),bc(),e!==null&&F(nn),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return Fa(rt),null;case 25:return null;default:return null}}function tp(e,t){switch(nc(t),t.tag){case 3:Fa(rt),De();break;case 26:case 27:case 5:Ut(t);break;case 4:De();break;case 31:t.memoizedState!==null&&Jt(t);break;case 13:Jt(t);break;case 19:F(it);break;case 10:Fa(t.type);break;case 22:case 23:Jt(t),bc(),e!==null&&F(nn);break;case 24:Fa(rt)}}function Jo(e,t){try{var a=t.updateQueue,n=a!==null?a.lastEffect:null;if(n!==null){var s=n.next;a=s;do{if((a.tag&e)===e){n=void 0;var c=a.create,f=a.inst;n=c(),f.destroy=n}a=a.next}while(a!==s)}}catch(b){Be(t,t.return,b)}}function bi(e,t,a){try{var n=t.updateQueue,s=n!==null?n.lastEffect:null;if(s!==null){var c=s.next;n=c;do{if((n.tag&e)===e){var f=n.inst,b=f.destroy;if(b!==void 0){f.destroy=void 0,s=t;var E=a,N=b;try{N()}catch(k){Be(s,E,k)}}}n=n.next}while(n!==c)}}catch(k){Be(t,t.return,k)}}function ap(e){var t=e.updateQueue;if(t!==null){var a=e.stateNode;try{Yf(t,a)}catch(n){Be(e,e.return,n)}}}function ip(e,t,a){a.props=cn(e.type,e.memoizedProps),a.state=e.memoizedState;try{a.componentWillUnmount()}catch(n){Be(e,t,n)}}function er(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(s){Be(e,t,s)}}function xa(e,t){var a=e.ref,n=e.refCleanup;if(a!==null)if(typeof n=="function")try{n()}catch(s){Be(e,t,s)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof a=="function")try{a(null)}catch(s){Be(e,t,s)}else a.current=null}function np(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(s){Be(e,e.return,s)}}function Wc(e,t,a){try{var n=e.stateNode;xb(n,e.type,a,t),n[Ft]=t}catch(s){Be(e,e.return,s)}}function op(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&_i(e.type)||e.tag===4}function Zc(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||op(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&&_i(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 Jc(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=Ua));else if(n!==4&&(n===27&&_i(e.type)&&(a=e.stateNode,t=null),e=e.child,e!==null))for(Jc(e,t,a),e=e.sibling;e!==null;)Jc(e,t,a),e=e.sibling}function Es(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&&_i(e.type)&&(a=e.stateNode),e=e.child,e!==null))for(Es(e,t,a),e=e.sibling;e!==null;)Es(e,t,a),e=e.sibling}function rp(e){var t=e.stateNode,a=e.memoizedProps;try{for(var n=e.type,s=t.attributes;s.length;)t.removeAttributeNode(s[0]);Rt(t,n,a),t[St]=e,t[Ft]=a}catch(c){Be(e,e.return,c)}}var Ya=!1,ct=!1,eu=!1,sp=typeof WeakSet=="function"?WeakSet:Set,yt=null;function sb(e,t){if(e=e.containerInfo,Su=js,e=bf(e),Ql(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 s=n.anchorOffset,c=n.focusNode;n=n.focusOffset;try{a.nodeType,c.nodeType}catch{a=null;break e}var f=0,b=-1,E=-1,N=0,k=0,H=e,M=null;t:for(;;){for(var U;H!==a||s!==0&&H.nodeType!==3||(b=f+s),H!==c||n!==0&&H.nodeType!==3||(E=f+n),H.nodeType===3&&(f+=H.nodeValue.length),(U=H.firstChild)!==null;)M=H,H=U;for(;;){if(H===e)break t;if(M===a&&++N===s&&(b=f),M===c&&++k===n&&(E=f),(U=H.nextSibling)!==null)break;H=M,M=H.parentNode}H=U}a=b===-1||E===-1?null:{start:b,end:E}}else a=null}a=a||{start:0,end:0}}else a=null;for(Au={focusedElem:e,selectionRange:a},js=!1,yt=t;yt!==null;)if(t=yt,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,yt=e;else for(;yt!==null;){switch(t=yt,c=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++)s=e[a],s.ref.impl=s.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&c!==null){e=void 0,a=t,s=c.memoizedProps,c=c.memoizedState,n=a.stateNode;try{var te=cn(a.type,s);e=n.getSnapshotBeforeUpdate(te,c),n.__reactInternalSnapshotBeforeUpdate=e}catch(ue){Be(a,a.return,ue)}}break;case 3:if((e&1024)!==0){if(e=t.stateNode.containerInfo,a=e.nodeType,a===9)Ru(e);else if(a===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":Ru(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(l(163))}if(e=t.sibling,e!==null){e.return=t.return,yt=e;break}yt=t.return}}function lp(e,t,a){var n=a.flags;switch(a.tag){case 0:case 11:case 15:Ka(e,a),n&4&&Jo(5,a);break;case 1:if(Ka(e,a),n&4)if(e=a.stateNode,t===null)try{e.componentDidMount()}catch(f){Be(a,a.return,f)}else{var s=cn(a.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(s,t,e.__reactInternalSnapshotBeforeUpdate)}catch(f){Be(a,a.return,f)}}n&64&&ap(a),n&512&&er(a,a.return);break;case 3:if(Ka(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{Yf(e,t)}catch(f){Be(a,a.return,f)}}break;case 27:t===null&&n&4&&rp(a);case 26:case 5:Ka(e,a),t===null&&n&4&&np(a),n&512&&er(a,a.return);break;case 12:Ka(e,a);break;case 31:Ka(e,a),n&4&&dp(e,a);break;case 13:Ka(e,a),n&4&&fp(e,a),n&64&&(e=a.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(a=gb.bind(null,a),Ub(e,a))));break;case 22:if(n=a.memoizedState!==null||Ya,!n){t=t!==null&&t.memoizedState!==null||ct,s=Ya;var c=ct;Ya=n,(ct=t)&&!c?$a(e,a,(a.subtreeFlags&8772)!==0):Ka(e,a),Ya=s,ct=c}break;case 30:break;default:Ka(e,a)}}function cp(e){var t=e.alternate;t!==null&&(e.alternate=null,cp(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&Dl(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 $e=null,Ht=!1;function Qa(e,t,a){for(a=a.child;a!==null;)up(e,t,a),a=a.sibling}function up(e,t,a){if(Lt&&typeof Lt.onCommitFiberUnmount=="function")try{Lt.onCommitFiberUnmount(Gi,a)}catch{}switch(a.tag){case 26:ct||xa(a,t),Qa(e,t,a),a.memoizedState?a.memoizedState.count--:a.stateNode&&(a=a.stateNode,a.parentNode.removeChild(a));break;case 27:ct||xa(a,t);var n=$e,s=Ht;_i(a.type)&&($e=a.stateNode,Ht=!1),Qa(e,t,a),cr(a.stateNode),$e=n,Ht=s;break;case 5:ct||xa(a,t);case 6:if(n=$e,s=Ht,$e=null,Qa(e,t,a),$e=n,Ht=s,$e!==null)if(Ht)try{($e.nodeType===9?$e.body:$e.nodeName==="HTML"?$e.ownerDocument.body:$e).removeChild(a.stateNode)}catch(c){Be(a,t,c)}else try{$e.removeChild(a.stateNode)}catch(c){Be(a,t,c)}break;case 18:$e!==null&&(Ht?(e=$e,ah(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,a.stateNode),go(e)):ah($e,a.stateNode));break;case 4:n=$e,s=Ht,$e=a.stateNode.containerInfo,Ht=!0,Qa(e,t,a),$e=n,Ht=s;break;case 0:case 11:case 14:case 15:bi(2,a,t),ct||bi(4,a,t),Qa(e,t,a);break;case 1:ct||(xa(a,t),n=a.stateNode,typeof n.componentWillUnmount=="function"&&ip(a,t,n)),Qa(e,t,a);break;case 21:Qa(e,t,a);break;case 22:ct=(n=ct)||a.memoizedState!==null,Qa(e,t,a),ct=n;break;default:Qa(e,t,a)}}function dp(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{go(e)}catch(a){Be(t,t.return,a)}}}function fp(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{go(e)}catch(a){Be(t,t.return,a)}}function lb(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new sp),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new sp),t;default:throw Error(l(435,e.tag))}}function ws(e,t){var a=lb(e);t.forEach(function(n){if(!a.has(n)){a.add(n);var s=yb.bind(null,e,n);n.then(s,s)}})}function jt(e,t){var a=t.deletions;if(a!==null)for(var n=0;n<a.length;n++){var s=a[n],c=e,f=t,b=f;e:for(;b!==null;){switch(b.tag){case 27:if(_i(b.type)){$e=b.stateNode,Ht=!1;break e}break;case 5:$e=b.stateNode,Ht=!1;break e;case 3:case 4:$e=b.stateNode.containerInfo,Ht=!0;break e}b=b.return}if($e===null)throw Error(l(160));up(c,f,s),$e=null,Ht=!1,c=s.alternate,c!==null&&(c.return=null),s.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)mp(t,e),t=t.sibling}var Ca=null;function mp(e,t){var a=e.alternate,n=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:jt(t,e),Gt(e),n&4&&(bi(3,e,e.return),Jo(3,e),bi(5,e,e.return));break;case 1:jt(t,e),Gt(e),n&512&&(ct||a===null||xa(a,a.return)),n&64&&Ya&&(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 s=Ca;if(jt(t,e),Gt(e),n&512&&(ct||a===null||xa(a,a.return)),n&4){var c=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,s=s.ownerDocument||s;t:switch(n){case"title":c=s.getElementsByTagName("title")[0],(!c||c[To]||c[St]||c.namespaceURI==="http://www.w3.org/2000/svg"||c.hasAttribute("itemprop"))&&(c=s.createElement(n),s.head.insertBefore(c,s.querySelector("head > title"))),Rt(c,n,a),c[St]=e,gt(c),n=c;break e;case"link":var f=mh("link","href",s).get(n+(a.href||""));if(f){for(var b=0;b<f.length;b++)if(c=f[b],c.getAttribute("href")===(a.href==null||a.href===""?null:a.href)&&c.getAttribute("rel")===(a.rel==null?null:a.rel)&&c.getAttribute("title")===(a.title==null?null:a.title)&&c.getAttribute("crossorigin")===(a.crossOrigin==null?null:a.crossOrigin)){f.splice(b,1);break t}}c=s.createElement(n),Rt(c,n,a),s.head.appendChild(c);break;case"meta":if(f=mh("meta","content",s).get(n+(a.content||""))){for(b=0;b<f.length;b++)if(c=f[b],c.getAttribute("content")===(a.content==null?null:""+a.content)&&c.getAttribute("name")===(a.name==null?null:a.name)&&c.getAttribute("property")===(a.property==null?null:a.property)&&c.getAttribute("http-equiv")===(a.httpEquiv==null?null:a.httpEquiv)&&c.getAttribute("charset")===(a.charSet==null?null:a.charSet)){f.splice(b,1);break t}}c=s.createElement(n),Rt(c,n,a),s.head.appendChild(c);break;default:throw Error(l(468,n))}c[St]=e,gt(c),n=c}e.stateNode=n}else ph(s,e.type,e.stateNode);else e.stateNode=fh(s,n,e.memoizedProps);else c!==n?(c===null?a.stateNode!==null&&(a=a.stateNode,a.parentNode.removeChild(a)):c.count--,n===null?ph(s,e.type,e.stateNode):fh(s,n,e.memoizedProps)):n===null&&e.stateNode!==null&&Wc(e,e.memoizedProps,a.memoizedProps)}break;case 27:jt(t,e),Gt(e),n&512&&(ct||a===null||xa(a,a.return)),a!==null&&n&4&&Wc(e,e.memoizedProps,a.memoizedProps);break;case 5:if(jt(t,e),Gt(e),n&512&&(ct||a===null||xa(a,a.return)),e.flags&32){s=e.stateNode;try{Bn(s,"")}catch(te){Be(e,e.return,te)}}n&4&&e.stateNode!=null&&(s=e.memoizedProps,Wc(e,s,a!==null?a.memoizedProps:s)),n&1024&&(eu=!0);break;case 6:if(jt(t,e),Gt(e),n&4){if(e.stateNode===null)throw Error(l(162));n=e.memoizedProps,a=e.stateNode;try{a.nodeValue=n}catch(te){Be(e,e.return,te)}}break;case 3:if(zs=null,s=Ca,Ca=Bs(t.containerInfo),jt(t,e),Ca=s,Gt(e),n&4&&a!==null&&a.memoizedState.isDehydrated)try{go(t.containerInfo)}catch(te){Be(e,e.return,te)}eu&&(eu=!1,pp(e));break;case 4:n=Ca,Ca=Bs(e.stateNode.containerInfo),jt(t,e),Gt(e),Ca=n;break;case 12:jt(t,e),Gt(e);break;case 31:jt(t,e),Gt(e),n&4&&(n=e.updateQueue,n!==null&&(e.updateQueue=null,ws(e,n)));break;case 13:jt(t,e),Gt(e),e.child.flags&8192&&e.memoizedState!==null!=(a!==null&&a.memoizedState!==null)&&(_s=Ct()),n&4&&(n=e.updateQueue,n!==null&&(e.updateQueue=null,ws(e,n)));break;case 22:s=e.memoizedState!==null;var E=a!==null&&a.memoizedState!==null,N=Ya,k=ct;if(Ya=N||s,ct=k||E,jt(t,e),ct=k,Ya=N,Gt(e),n&8192)e:for(t=e.stateNode,t._visibility=s?t._visibility&-2:t._visibility|1,s&&(a===null||E||Ya||ct||un(e)),a=null,t=e;;){if(t.tag===5||t.tag===26){if(a===null){E=a=t;try{if(c=E.stateNode,s)f=c.style,typeof f.setProperty=="function"?f.setProperty("display","none","important"):f.display="none";else{b=E.stateNode;var H=E.memoizedProps.style,M=H!=null&&H.hasOwnProperty("display")?H.display:null;b.style.display=M==null||typeof M=="boolean"?"":(""+M).trim()}}catch(te){Be(E,E.return,te)}}}else if(t.tag===6){if(a===null){E=t;try{E.stateNode.nodeValue=s?"":E.memoizedProps}catch(te){Be(E,E.return,te)}}}else if(t.tag===18){if(a===null){E=t;try{var U=E.stateNode;s?ih(U,!0):ih(E.stateNode,!1)}catch(te){Be(E,E.return,te)}}}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,ws(e,a))));break;case 19:jt(t,e),Gt(e),n&4&&(n=e.updateQueue,n!==null&&(e.updateQueue=null,ws(e,n)));break;case 30:break;case 21:break;default:jt(t,e),Gt(e)}}function Gt(e){var t=e.flags;if(t&2){try{for(var a,n=e.return;n!==null;){if(op(n)){a=n;break}n=n.return}if(a==null)throw Error(l(160));switch(a.tag){case 27:var s=a.stateNode,c=Zc(e);Es(e,c,s);break;case 5:var f=a.stateNode;a.flags&32&&(Bn(f,""),a.flags&=-33);var b=Zc(e);Es(e,b,f);break;case 3:case 4:var E=a.stateNode.containerInfo,N=Zc(e);Jc(e,N,E);break;default:throw Error(l(161))}}catch(k){Be(e,e.return,k)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function pp(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;pp(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function Ka(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)lp(e,t.alternate,t),t=t.sibling}function un(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:bi(4,t,t.return),un(t);break;case 1:xa(t,t.return);var a=t.stateNode;typeof a.componentWillUnmount=="function"&&ip(t,t.return,a),un(t);break;case 27:cr(t.stateNode);case 26:case 5:xa(t,t.return),un(t);break;case 22:t.memoizedState===null&&un(t);break;case 30:un(t);break;default:un(t)}e=e.sibling}}function $a(e,t,a){for(a=a&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var n=t.alternate,s=e,c=t,f=c.flags;switch(c.tag){case 0:case 11:case 15:$a(s,c,a),Jo(4,c);break;case 1:if($a(s,c,a),n=c,s=n.stateNode,typeof s.componentDidMount=="function")try{s.componentDidMount()}catch(N){Be(n,n.return,N)}if(n=c,s=n.updateQueue,s!==null){var b=n.stateNode;try{var E=s.shared.hiddenCallbacks;if(E!==null)for(s.shared.hiddenCallbacks=null,s=0;s<E.length;s++)Gf(E[s],b)}catch(N){Be(n,n.return,N)}}a&&f&64&&ap(c),er(c,c.return);break;case 27:rp(c);case 26:case 5:$a(s,c,a),a&&n===null&&f&4&&np(c),er(c,c.return);break;case 12:$a(s,c,a);break;case 31:$a(s,c,a),a&&f&4&&dp(s,c);break;case 13:$a(s,c,a),a&&f&4&&fp(s,c);break;case 22:c.memoizedState===null&&$a(s,c,a),er(c,c.return);break;case 30:break;default:$a(s,c,a)}t=t.sibling}}function tu(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&&zo(a))}function au(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&zo(e))}function Sa(e,t,a,n){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)hp(e,t,a,n),t=t.sibling}function hp(e,t,a,n){var s=t.flags;switch(t.tag){case 0:case 11:case 15:Sa(e,t,a,n),s&2048&&Jo(9,t);break;case 1:Sa(e,t,a,n);break;case 3:Sa(e,t,a,n),s&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&zo(e)));break;case 12:if(s&2048){Sa(e,t,a,n),e=t.stateNode;try{var c=t.memoizedProps,f=c.id,b=c.onPostCommit;typeof b=="function"&&b(f,t.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(E){Be(t,t.return,E)}}else Sa(e,t,a,n);break;case 31:Sa(e,t,a,n);break;case 13:Sa(e,t,a,n);break;case 23:break;case 22:c=t.stateNode,f=t.alternate,t.memoizedState!==null?c._visibility&2?Sa(e,t,a,n):tr(e,t):c._visibility&2?Sa(e,t,a,n):(c._visibility|=2,no(e,t,a,n,(t.subtreeFlags&10256)!==0||!1)),s&2048&&tu(f,t);break;case 24:Sa(e,t,a,n),s&2048&&au(t.alternate,t);break;default:Sa(e,t,a,n)}}function no(e,t,a,n,s){for(s=s&&((t.subtreeFlags&10256)!==0||!1),t=t.child;t!==null;){var c=e,f=t,b=a,E=n,N=f.flags;switch(f.tag){case 0:case 11:case 15:no(c,f,b,E,s),Jo(8,f);break;case 23:break;case 22:var k=f.stateNode;f.memoizedState!==null?k._visibility&2?no(c,f,b,E,s):tr(c,f):(k._visibility|=2,no(c,f,b,E,s)),s&&N&2048&&tu(f.alternate,f);break;case 24:no(c,f,b,E,s),s&&N&2048&&au(f.alternate,f);break;default:no(c,f,b,E,s)}t=t.sibling}}function tr(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var a=e,n=t,s=n.flags;switch(n.tag){case 22:tr(a,n),s&2048&&tu(n.alternate,n);break;case 24:tr(a,n),s&2048&&au(n.alternate,n);break;default:tr(a,n)}t=t.sibling}}var ar=8192;function oo(e,t,a){if(e.subtreeFlags&ar)for(e=e.child;e!==null;)gp(e,t,a),e=e.sibling}function gp(e,t,a){switch(e.tag){case 26:oo(e,t,a),e.flags&ar&&e.memoizedState!==null&&Kb(a,Ca,e.memoizedState,e.memoizedProps);break;case 5:oo(e,t,a);break;case 3:case 4:var n=Ca;Ca=Bs(e.stateNode.containerInfo),oo(e,t,a),Ca=n;break;case 22:e.memoizedState===null&&(n=e.alternate,n!==null&&n.memoizedState!==null?(n=ar,ar=16777216,oo(e,t,a),ar=n):oo(e,t,a));break;default:oo(e,t,a)}}function yp(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 ir(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];yt=n,bp(n,e)}yp(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)vp(e),e=e.sibling}function vp(e){switch(e.tag){case 0:case 11:case 15:ir(e),e.flags&2048&&bi(9,e,e.return);break;case 3:ir(e);break;case 12:ir(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,Rs(e)):ir(e);break;default:ir(e)}}function Rs(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];yt=n,bp(n,e)}yp(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:bi(8,t,t.return),Rs(t);break;case 22:a=t.stateNode,a._visibility&2&&(a._visibility&=-3,Rs(t));break;default:Rs(t)}e=e.sibling}}function bp(e,t){for(;yt!==null;){var a=yt;switch(a.tag){case 0:case 11:case 15:bi(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:zo(a.memoizedState.cache)}if(n=a.child,n!==null)n.return=a,yt=n;else e:for(a=e;yt!==null;){n=yt;var s=n.sibling,c=n.return;if(cp(n),n===a){yt=null;break e}if(s!==null){s.return=c,yt=s;break e}yt=c}}}var cb={getCacheForType:function(e){var t=Et(rt),a=t.data.get(e);return a===void 0&&(a=e(),t.data.set(e,a)),a},cacheSignal:function(){return Et(rt).controller.signal}},ub=typeof WeakMap=="function"?WeakMap:Map,Me=0,Ve=null,Ae=null,we=0,ke=0,ea=null,Ci=!1,ro=!1,iu=!1,Xa=0,tt=0,Si=0,dn=0,nu=0,ta=0,so=0,nr=null,Yt=null,ou=!1,_s=0,Cp=0,Ts=1/0,xs=null,Ai=null,ft=0,Ei=null,lo=null,Wa=0,ru=0,su=null,Sp=null,or=0,lu=null;function aa(){return(Me&2)!==0&&we!==0?we&-we:L.T!==null?pu():xl()}function Ap(){if(ta===0)if((we&536870912)===0||Pe){var e=Dn;Dn<<=1,(Dn&3932160)===0&&(Dn=262144),ta=e}else ta=536870912;return e=Zt.current,e!==null&&(e.flags|=32),ta}function Qt(e,t,a){(e===Ve&&(ke===2||ke===9)||e.cancelPendingCommit!==null)&&(co(e,0),wi(e,we,ta,!1)),Ze(e,a),((Me&2)===0||e!==Ve)&&(e===Ve&&((Me&2)===0&&(
vendor: 24,237 bytes, lines 9-10
9dn|=a),tt===4&&wi(e,we,ta,!1)),Pa(e))}function Ep(e,t,a){if((Me&6)!==0)throw Error(l(327));var n=!a&&(t&127)===0&&(t&e.expiredLanes)===0||Ke(e,t),s=n?mb(e,t):uu(e,t,!0),c=n;do{if(s===0){ro&&!n&&wi(e,t,0,!1);break}else{if(a=e.current.alternate,c&&!db(a)){s=uu(e,t,!1),c=!1;continue}if(s===2){if(c=t,e.errorRecoveryDisabledLanes&c)var f=0;else f=e.pendingLanes&-536870913,f=f!==0?f:f&536870912?536870912:0;if(f!==0){t=f;e:{var b=e;s=nr;var E=b.current.memoizedState.isDehydrated;if(E&&(co(b,f).flags|=256),f=uu(b,f,!1),f!==2){if(iu&&!E){b.errorRecoveryDisabledLanes|=c,dn|=c,s=4;break e}c=Yt,Yt=s,c!==null&&(Yt===null?Yt=c:Yt.push.apply(Yt,c))}s=f}if(c=!1,s!==2)continue}}if(s===1){co(e,0),wi(e,t,0,!0);break}e:{switch(n=e,c=s,c){case 0:case 1:throw Error(l(345));case 4:if((t&4194048)!==t)break;case 6:wi(n,t,ta,!Ci);break e;case 2:Yt=null;break;case 3:case 5:break;default:throw Error(l(329))}if((t&62914560)===t&&(s=_s+300-Ct(),10<s)){if(wi(n,t,ta,!Ci),he(n,0,!0)!==0)break e;Wa=t,n.timeoutHandle=eh(wp.bind(null,n,a,Yt,xs,ou,t,ta,dn,so,Ci,c,"Throttled",-0,0),s);break e}wp(n,a,Yt,xs,ou,t,ta,dn,so,Ci,c,null,-0,0)}}break}while(!0);Pa(e)}function wp(e,t,a,n,s,c,f,b,E,N,k,H,M,U){if(e.timeoutHandle=-1,H=t.subtreeFlags,H&8192||(H&16785408)===16785408){H={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:Ua},gp(t,c,H);var te=(c&62914560)===c?_s-Ct():(c&4194048)===c?Cp-Ct():0;if(te=$b(H,te),te!==null){Wa=c,e.cancelPendingCommit=te(Lp.bind(null,e,t,c,a,n,s,f,b,E,k,H,null,M,U)),wi(e,c,f,!N);return}}Lp(e,t,c,a,n,s,f,b,E)}function db(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 s=a[n],c=s.getSnapshot;s=s.value;try{if(!Xt(c(),s))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 wi(e,t,a,n){t&=~nu,t&=~dn,e.suspendedLanes|=t,e.pingedLanes&=~t,n&&(e.warmLanes|=t),n=e.expirationTimes;for(var s=t;0<s;){var c=31-Tt(s),f=1<<c;n[c]=-1,s&=~f}a!==0&&Qi(e,a,t)}function Ps(){return(Me&6)===0?(rr(0),!1):!0}function cu(){if(Ae!==null){if(ke===0)var e=Ae.return;else e=Ae,za=tn=null,Rc(e),Jn=null,Vo=0,e=Ae;for(;e!==null;)tp(e.alternate,e),e=e.return;Ae=null}}function co(e,t){var a=e.timeoutHandle;a!==-1&&(e.timeoutHandle=-1,Ob(a)),a=e.cancelPendingCommit,a!==null&&(e.cancelPendingCommit=null,a()),Wa=0,cu(),Ve=e,Ae=a=Ba(e.current,null),we=t,ke=0,ea=null,Ci=!1,ro=Ke(e,t),iu=!1,so=ta=nu=dn=Si=tt=0,Yt=nr=null,ou=!1,(t&8)!==0&&(t|=t&32);var n=e.entangledLanes;if(n!==0)for(e=e.entanglements,n&=t;0<n;){var s=31-Tt(n),c=1<<s;t|=e[s],n&=~c}return Xa=t,Xr(),a}function Rp(e,t){ve=null,L.H=Xo,t===Zn||t===ns?(t=Ff(),ke=3):t===mc?(t=Ff(),ke=4):ke=t===Fc?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,ea=t,Ae===null&&(tt=1,vs(e,la(t,e.current)))}function _p(){var e=Zt.current;return e===null?!0:(we&4194048)===we?fa===null:(we&62914560)===we||(we&536870912)!==0?e===fa:!1}function Tp(){var e=L.H;return L.H=Xo,e===null?Xo:e}function xp(){var e=L.A;return L.A=cb,e}function Ds(){tt=4,Ci||(we&4194048)!==we&&Zt.current!==null||(ro=!0),(Si&134217727)===0&&(dn&134217727)===0||Ve===null||wi(Ve,we,ta,!1)}function uu(e,t,a){var n=Me;Me|=2;var s=Tp(),c=xp();(Ve!==e||we!==t)&&(xs=null,co(e,t)),t=!1;var f=tt;e:do try{if(ke!==0&&Ae!==null){var b=Ae,E=ea;switch(ke){case 8:cu(),f=6;break e;case 3:case 2:case 9:case 6:Zt.current===null&&(t=!0);var N=ke;if(ke=0,ea=null,uo(e,b,E,N),a&&ro){f=0;break e}break;default:N=ke,ke=0,ea=null,uo(e,b,E,N)}}fb(),f=tt;break}catch(k){Rp(e,k)}while(!0);return t&&e.shellSuspendCounter++,za=tn=null,Me=n,L.H=s,L.A=c,Ae===null&&(Ve=null,we=0,Xr()),f}function fb(){for(;Ae!==null;)Pp(Ae)}function mb(e,t){var a=Me;Me|=2;var n=Tp(),s=xp();Ve!==e||we!==t?(xs=null,Ts=Ct()+500,co(e,t)):ro=Ke(e,t);e:do try{if(ke!==0&&Ae!==null){t=Ae;var c=ea;t:switch(ke){case 1:ke=0,ea=null,uo(e,t,c,1);break;case 2:case 9:if(qf(c)){ke=0,ea=null,Dp(t);break}t=function(){ke!==2&&ke!==9||Ve!==e||(ke=7),Pa(e)},c.then(t,t);break e;case 3:ke=7;break e;case 4:ke=5;break e;case 7:qf(c)?(ke=0,ea=null,Dp(t)):(ke=0,ea=null,uo(e,t,c,7));break;case 5:var f=null;switch(Ae.tag){case 26:f=Ae.memoizedState;case 5:case 27:var b=Ae;if(f?hh(f):b.stateNode.complete){ke=0,ea=null;var E=b.sibling;if(E!==null)Ae=E;else{var N=b.return;N!==null?(Ae=N,Os(N)):Ae=null}break t}}ke=0,ea=null,uo(e,t,c,5);break;case 6:ke=0,ea=null,uo(e,t,c,6);break;case 8:cu(),tt=6;break e;default:throw Error(l(462))}}pb();break}catch(k){Rp(e,k)}while(!0);return za=tn=null,L.H=n,L.A=s,Me=a,Ae!==null?0:(Ve=null,we=0,Xr(),tt)}function pb(){for(;Ae!==null&&!bt();)Pp(Ae)}function Pp(e){var t=Jm(e.alternate,e,Xa);e.memoizedProps=e.pendingProps,t===null?Os(e):Ae=t}function Dp(e){var t=e,a=t.alternate;switch(t.tag){case 15:case 0:t=Qm(a,t,t.pendingProps,t.type,void 0,we);break;case 11:t=Qm(a,t,t.pendingProps,t.type.render,t.ref,we);break;case 5:Rc(t);default:tp(a,t),t=Ae=xf(t,Xa),t=Jm(a,t,Xa)}e.memoizedProps=e.pendingProps,t===null?Os(e):Ae=t}function uo(e,t,a,n){za=tn=null,Rc(t),Jn=null,Vo=0;var s=t.return;try{if(ab(e,s,t,a,we)){tt=1,vs(e,la(a,e.current)),Ae=null;return}}catch(c){if(s!==null)throw Ae=s,c;tt=1,vs(e,la(a,e.current)),Ae=null;return}t.flags&32768?(Pe||n===1?e=!0:ro||(we&536870912)!==0?e=!1:(Ci=e=!0,(n===2||n===9||n===3||n===6)&&(n=Zt.current,n!==null&&n.tag===13&&(n.flags|=16384))),Op(t,e)):Os(t)}function Os(e){var t=e;do{if((t.flags&32768)!==0){Op(t,Ci);return}e=t.return;var a=ob(t.alternate,t,Xa);if(a!==null){Ae=a;return}if(t=t.sibling,t!==null){Ae=t;return}Ae=t=e}while(t!==null);tt===0&&(tt=5)}function Op(e,t){do{var a=rb(e.alternate,e);if(a!==null){a.flags&=32767,Ae=a;return}if(a=e.return,a!==null&&(a.flags|=32768,a.subtreeFlags=0,a.deletions=null),!t&&(e=e.sibling,e!==null)){Ae=e;return}Ae=e=a}while(e!==null);tt=6,Ae=null}function Lp(e,t,a,n,s,c,f,b,E){e.cancelPendingCommit=null;do Ls();while(ft!==0);if((Me&6)!==0)throw Error(l(327));if(t!==null){if(t===e.current)throw Error(l(177));if(c=t.lanes|t.childLanes,c|=Zl,Bt(e,a,c,f,b,E),e===Ve&&(Ae=Ve=null,we=0),lo=t,Ei=e,Wa=a,ru=c,su=s,Sp=n,(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,vb(dt,function(){return kp(),null})):(e.callbackNode=null,e.callbackPriority=0),n=(t.flags&13878)!==0,(t.subtreeFlags&13878)!==0||n){n=L.T,L.T=null,s=Q.p,Q.p=2,f=Me,Me|=4;try{sb(e,t,a)}finally{Me=f,Q.p=s,L.T=n}}ft=1,Ip(),Np(),Mp()}}function Ip(){if(ft===1){ft=0;var e=Ei,t=lo,a=(t.flags&13878)!==0;if((t.subtreeFlags&13878)!==0||a){a=L.T,L.T=null;var n=Q.p;Q.p=2;var s=Me;Me|=4;try{mp(t,e);var c=Au,f=bf(e.containerInfo),b=c.focusedElem,E=c.selectionRange;if(f!==b&&b&&b.ownerDocument&&vf(b.ownerDocument.documentElement,b)){if(E!==null&&Ql(b)){var N=E.start,k=E.end;if(k===void 0&&(k=N),"selectionStart"in b)b.selectionStart=N,b.selectionEnd=Math.min(k,b.value.length);else{var H=b.ownerDocument||document,M=H&&H.defaultView||window;if(M.getSelection){var U=M.getSelection(),te=b.textContent.length,ue=Math.min(E.start,te),Fe=E.end===void 0?ue:Math.min(E.end,te);!U.extend&&ue>Fe&&(f=Fe,Fe=ue,ue=f);var D=yf(b,ue),x=yf(b,Fe);if(D&&x&&(U.rangeCount!==1||U.anchorNode!==D.node||U.anchorOffset!==D.offset||U.focusNode!==x.node||U.focusOffset!==x.offset)){var I=H.createRange();I.setStart(D.node,D.offset),U.removeAllRanges(),ue>Fe?(U.addRange(I),U.extend(x.node,x.offset)):(I.setEnd(x.node,x.offset),U.addRange(I))}}}}for(H=[],U=b;U=U.parentNode;)U.nodeType===1&&H.push({element:U,left:U.scrollLeft,top:U.scrollTop});for(typeof b.focus=="function"&&b.focus(),b=0;b<H.length;b++){var B=H[b];B.element.scrollLeft=B.left,B.element.scrollTop=B.top}}js=!!Su,Au=Su=null}finally{Me=s,Q.p=n,L.T=a}}e.current=t,ft=2}}function Np(){if(ft===2){ft=0;var e=Ei,t=lo,a=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||a){a=L.T,L.T=null;var n=Q.p;Q.p=2;var s=Me;Me|=4;try{lp(e,t.alternate,t)}finally{Me=s,Q.p=n,L.T=a}}ft=3}}function Mp(){if(ft===4||ft===3){ft=0,ga();var e=Ei,t=lo,a=Wa,n=Sp;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?ft=5:(ft=0,lo=Ei=null,Up(e,e.pendingLanes));var s=e.pendingLanes;if(s===0&&(Ai=null),va(a),t=t.stateNode,Lt&&typeof Lt.onCommitFiberRoot=="function")try{Lt.onCommitFiberRoot(Gi,t,void 0,(t.current.flags&128)===128)}catch{}if(n!==null){t=L.T,s=Q.p,Q.p=2,L.T=null;try{for(var c=e.onRecoverableError,f=0;f<n.length;f++){var b=n[f];c(b.value,{componentStack:b.stack})}}finally{L.T=t,Q.p=s}}(Wa&3)!==0&&Ls(),Pa(e),s=e.pendingLanes,(a&261930)!==0&&(s&42)!==0?e===lu?or++:(or=0,lu=e):or=0,rr(0)}}function Up(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,zo(t)))}function Ls(){return Ip(),Np(),Mp(),kp()}function kp(){if(ft!==5)return!1;var e=Ei,t=ru;ru=0;var a=va(Wa),n=L.T,s=Q.p;try{Q.p=32>a?32:a,L.T=null,a=su,su=null;var c=Ei,f=Wa;if(ft=0,lo=Ei=null,Wa=0,(Me&6)!==0)throw Error(l(331));var b=Me;if(Me|=4,vp(c.current),hp(c,c.current,f,a),Me=b,rr(0,!1),Lt&&typeof Lt.onPostCommitFiberRoot=="function")try{Lt.onPostCommitFiberRoot(Gi,c)}catch{}return!0}finally{Q.p=s,L.T=n,Up(e,t)}}function Bp(e,t,a){t=la(a,t),t=zc(e.stateNode,t,2),e=gi(e,t,2),e!==null&&(Ze(e,2),Pa(e))}function Be(e,t,a){if(e.tag===3)Bp(e,e,a);else for(;t!==null;){if(t.tag===3){Bp(t,e,a);break}else if(t.tag===1){var n=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof n.componentDidCatch=="function"&&(Ai===null||!Ai.has(n))){e=la(a,e),a=qm(2),n=gi(t,a,2),n!==null&&(zm(a,n,t,e),Ze(n,2),Pa(n));break}}t=t.return}}function du(e,t,a){var n=e.pingCache;if(n===null){n=e.pingCache=new ub;var s=new Set;n.set(t,s)}else s=n.get(t),s===void 0&&(s=new Set,n.set(t,s));s.has(a)||(iu=!0,s.add(a),e=hb.bind(null,e,t,a),t.then(e,e))}function hb(e,t,a){var n=e.pingCache;n!==null&&n.delete(t),e.pingedLanes|=e.suspendedLanes&a,e.warmLanes&=~a,Ve===e&&(we&a)===a&&(tt===4||tt===3&&(we&62914560)===we&&300>Ct()-_s?(Me&2)===0&&co(e,0):nu|=a,so===we&&(so=0)),Pa(e)}function qp(e,t){t===0&&(t=xt()),e=Zi(e,t),e!==null&&(Ze(e,t),Pa(e))}function gb(e){var t=e.memoizedState,a=0;t!==null&&(a=t.retryLane),qp(e,a)}function yb(e,t){var a=0;switch(e.tag){case 31:case 13:var n=e.stateNode,s=e.memoizedState;s!==null&&(a=s.retryLane);break;case 19:n=e.stateNode;break;case 22:n=e.stateNode._retryCache;break;default:throw Error(l(314))}n!==null&&n.delete(t),qp(e,a)}function vb(e,t){return $t(e,t)}var Is=null,fo=null,fu=!1,Ns=!1,mu=!1,Ri=0;function Pa(e){e!==fo&&e.next===null&&(fo===null?Is=fo=e:fo=fo.next=e),Ns=!0,fu||(fu=!0,Cb())}function rr(e,t){if(!mu&&Ns){mu=!0;do for(var a=!1,n=Is;n!==null;){if(e!==0){var s=n.pendingLanes;if(s===0)var c=0;else{var f=n.suspendedLanes,b=n.pingedLanes;c=(1<<31-Tt(42|e)+1)-1,c&=s&~(f&~b),c=c&201326741?c&201326741|1:c?c|2:0}c!==0&&(a=!0,Hp(n,c))}else c=we,c=he(n,n===Ve?c:0,n.cancelPendingCommit!==null||n.timeoutHandle!==-1),(c&3)===0||Ke(n,c)||(a=!0,Hp(n,c));n=n.next}while(a);mu=!1}}function bb(){zp()}function zp(){Ns=fu=!1;var e=0;Ri!==0&&Db()&&(e=Ri);for(var t=Ct(),a=null,n=Is;n!==null;){var s=n.next,c=Fp(n,t);c===0?(n.next=null,a===null?Is=s:a.next=s,s===null&&(fo=a)):(a=n,(e!==0||(c&3)!==0)&&(Ns=!0)),n=s}ft!==0&&ft!==5||rr(e),Ri!==0&&(Ri=0)}function Fp(e,t){for(var a=e.suspendedLanes,n=e.pingedLanes,s=e.expirationTimes,c=e.pendingLanes&-62914561;0<c;){var f=31-Tt(c),b=1<<f,E=s[f];E===-1?((b&a)===0||(b&n)!==0)&&(s[f]=ht(b,t)):E<=t&&(e.expiredLanes|=b),c&=~b}if(t=Ve,a=we,a=he(e,e===t?a:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),n=e.callbackNode,a===0||e===t&&(ke===2||ke===9)||e.cancelPendingCommit!==null)return n!==null&&n!==null&&ji(n),e.callbackNode=null,e.callbackPriority=0;if((a&3)===0||Ke(e,a)){if(t=a&-a,t===e.callbackPriority)return t;switch(n!==null&&ji(n),va(a)){case 2:case 8:a=Je;break;case 32:a=dt;break;case 268435456:a=Na;break;default:a=dt}return n=Vp.bind(null,e),a=$t(a,n),e.callbackPriority=t,e.callbackNode=a,t}return n!==null&&n!==null&&ji(n),e.callbackPriority=2,e.callbackNode=null,2}function Vp(e,t){if(ft!==0&&ft!==5)return e.callbackNode=null,e.callbackPriority=0,null;var a=e.callbackNode;if(Ls()&&e.callbackNode!==a)return null;var n=we;return n=he(e,e===Ve?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),n===0?null:(Ep(e,n,t),Fp(e,Ct()),e.callbackNode!=null&&e.callbackNode===a?Vp.bind(null,e):null)}function Hp(e,t){if(Ls())return null;Ep(e,t,!0)}function Cb(){Lb(function(){(Me&6)!==0?$t(Oe,bb):zp()})}function pu(){if(Ri===0){var e=Xn;e===0&&(e=Pn,Pn<<=1,(Pn&261888)===0&&(Pn=256)),Ri=e}return Ri}function jp(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:Vr(""+e)}function Gp(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 Sb(e,t,a,n,s){if(t==="submit"&&a&&a.stateNode===s){var c=jp((s[Ft]||null).action),f=n.submitter;f&&(t=(t=f[Ft]||null)?jp(t.formAction):f.getAttribute("formAction"),t!==null&&(c=t,f=null));var b=new Yr("action","action",null,n,s);e.push({event:b,listeners:[{instance:null,listener:function(){if(n.defaultPrevented){if(Ri!==0){var E=f?Gp(s,f):new FormData(s);Nc(a,{pending:!0,data:E,method:s.method,action:c},null,E)}}else typeof c=="function"&&(b.preventDefault(),E=f?Gp(s,f):new FormData(s),Nc(a,{pending:!0,data:E,method:s.method,action:c},c,E))},currentTarget:s}]})}}for(var hu=0;hu<Wl.length;hu++){var gu=Wl[hu],Ab=gu.toLowerCase(),Eb=gu[0].toUpperCase()+gu.slice(1);ba(Ab,"on"+Eb)}ba(Af,"onAnimationEnd"),ba(Ef,"onAnimationIteration"),ba(wf,"onAnimationStart"),ba("dblclick","onDoubleClick"),ba("focusin","onFocus"),ba("focusout","onBlur"),ba(qv,"onTransitionRun"),ba(zv,"onTransitionStart"),ba(Fv,"onTransitionCancel"),ba(Rf,"onTransitionEnd"),Un("onMouseEnter",["mouseout","mouseover"]),Un("onMouseLeave",["mouseout","mouseover"]),Un("onPointerEnter",["pointerout","pointerover"]),Un("onPointerLeave",["pointerout","pointerover"]),Ki("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),Ki("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),Ki("onBeforeInput",["compositionend","keypress","textInput","paste"]),Ki("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),Ki("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),Ki("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var sr="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(" "),wb=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(sr));function Yp(e,t){t=(t&4)!==0;for(var a=0;a<e.length;a++){var n=e[a],s=n.event;n=n.listeners;e:{var c=void 0;if(t)for(var f=n.length-1;0<=f;f--){var b=n[f],E=b.instance,N=b.currentTarget;if(b=b.listener,E!==c&&s.isPropagationStopped())break e;c=b,s.currentTarget=N;try{c(s)}catch(k){$r(k)}s.currentTarget=null,c=E}else for(f=0;f<n.length;f++){if(b=n[f],E=b.instance,N=b.currentTarget,b=b.listener,E!==c&&s.isPropagationStopped())break e;c=b,s.currentTarget=N;try{c(s)}catch(k){$r(k)}s.currentTarget=null,c=E}}}}function Ee(e,t){var a=t[Pl];a===void 0&&(a=t[Pl]=new Set);var n=e+"__bubble";a.has(n)||(Qp(t,e,2,!1),a.add(n))}function yu(e,t,a){var n=0;t&&(n|=4),Qp(a,e,n,t)}var Ms="_reactListening"+Math.random().toString(36).slice(2);function vu(e){if(!e[Ms]){e[Ms]=!0,qd.forEach(function(a){a!=="selectionchange"&&(wb.has(a)||yu(a,!1,e),yu(a,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Ms]||(t[Ms]=!0,yu("selectionchange",!1,t))}}function Qp(e,t,a,n){switch(Ah(t)){case 2:var s=Zb;break;case 8:s=Jb;break;default:s=Iu}a=s.bind(null,t,a,e),s=void 0,!Bl||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(s=!0),n?s!==void 0?e.addEventListener(t,a,{capture:!0,passive:s}):e.addEventListener(t,a,!0):s!==void 0?e.addEventListener(t,a,{passive:s}):e.addEventListener(t,a,!1)}function bu(e,t,a,n,s){var c=n;if((t&1)===0&&(t&2)===0&&n!==null)e:for(;;){if(n===null)return;var f=n.tag;if(f===3||f===4){var b=n.stateNode.containerInfo;if(b===s)break;if(f===4)for(f=n.return;f!==null;){var E=f.tag;if((E===3||E===4)&&f.stateNode.containerInfo===s)return;f=f.return}for(;b!==null;){if(f=In(b),f===null)return;if(E=f.tag,E===5||E===6||E===26||E===27){n=c=f;continue e}b=b.parentNode}}n=n.return}Wd(function(){var N=c,k=Ul(a),H=[];e:{var M=_f.get(e);if(M!==void 0){var U=Yr,te=e;switch(e){case"keypress":if(jr(a)===0)break e;case"keydown":case"keyup":U=yv;break;case"focusin":te="focus",U=Vl;break;case"focusout":te="blur",U=Vl;break;case"beforeblur":case"afterblur":U=Vl;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":U=ef;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":U=ov;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":U=Cv;break;case Af:case Ef:case wf:U=lv;break;case Rf:U=Av;break;case"scroll":case"scrollend":U=iv;break;case"wheel":U=wv;break;case"copy":case"cut":case"paste":U=uv;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":U=af;break;case"toggle":case"beforetoggle":U=_v}var ue=(t&4)!==0,Fe=!ue&&(e==="scroll"||e==="scrollend"),D=ue?M!==null?M+"Capture":null:M;ue=[];for(var x=N,I;x!==null;){var B=x;if(I=B.stateNode,B=B.tag,B!==5&&B!==26&&B!==27||I===null||D===null||(B=Po(x,D),B!=null&&ue.push(lr(x,B,I))),Fe)break;x=x.return}0<ue.length&&(M=new U(M,te,null,a,k),H.push({event:M,listeners:ue}))}}if((t&7)===0){e:{if(M=e==="mouseover"||e==="pointerover",U=e==="mouseout"||e==="pointerout",M&&a!==Ml&&(te=a.relatedTarget||a.fromElement)&&(In(te)||te[Ln]))break e;if((U||M)&&(M=k.window===k?k:(M=k.ownerDocument)?M.defaultView||M.parentWindow:window,U?(te=a.relatedTarget||a.toElement,U=N,te=te?In(te):null,te!==null&&(Fe=d(te),ue=te.tag,te!==Fe||ue!==5&&ue!==27&&ue!==6)&&(te=null)):(U=null,te=N),U!==te)){if(ue=ef,B="onMouseLeave",D="onMouseEnter",x="mouse",(e==="pointerout"||e==="pointerover")&&(ue=af,B="onPointerLeave",D="onPointerEnter",x="pointer"),Fe=U==null?M:xo(U),I=te==null?M:xo(te),M=new ue(B,x+"leave",U,a,k),M.target=Fe,M.relatedTarget=I,B=null,In(k)===N&&(ue=new ue(D,x+"enter",te,a,k),ue.target=I,ue.relatedTarget=Fe,B=ue),Fe=B,U&&te)t:{for(ue=Rb,D=U,x=te,I=0,B=D;B;B=ue(B))I++;B=0;for(var se=x;se;se=ue(se))B++;for(;0<I-B;)D=ue(D),I--;for(;0<B-I;)x=ue(x),B--;for(;I--;){if(D===x||x!==null&&D===x.alternate){ue=D;break t}D=ue(D),x=ue(x)}ue=null}else ue=null;U!==null&&Kp(H,M,U,ue,!1),te!==null&&Fe!==null&&Kp(H,Fe,te,ue,!0)}}e:{if(M=N?xo(N):window,U=M.nodeName&&M.nodeName.toLowerCase(),U==="select"||U==="input"&&M.type==="file")var Le=df;else if(cf(M))if(ff)Le=Uv;else{Le=Nv;var ie=Iv}else U=M.nodeName,!U||U.toLowerCase()!=="input"||M.type!=="checkbox"&&M.type!=="radio"?N&&Nl(N.elementType)&&(Le=df):Le=Mv;if(Le&&(Le=Le(e,N))){uf(H,Le,a,k);break e}ie&&ie(e,M,N),e==="focusout"&&N&&M.type==="number"&&N.memoizedProps.value!=null&&Il(M,"number",M.value)}switch(ie=N?xo(N):window,e){case"focusin":(cf(ie)||ie.contentEditable==="true")&&(Vn=ie,Kl=N,ko=null);break;case"focusout":ko=Kl=Vn=null;break;case"mousedown":$l=!0;break;case"contextmenu":case"mouseup":case"dragend":$l=!1,Cf(H,a,k);break;case"selectionchange":if(Bv)break;case"keydown":case"keyup":Cf(H,a,k)}var be;if(jl)e:{switch(e){case"compositionstart":var Re="onCompositionStart";break e;case"compositionend":Re="onCompositionEnd";break e;case"compositionupdate":Re="onCompositionUpdate";break e}Re=void 0}else Fn?sf(e,a)&&(Re="onCompositionEnd"):e==="keydown"&&a.keyCode===229&&(Re="onCompositionStart");Re&&(nf&&a.locale!=="ko"&&(Fn||Re!=="onCompositionStart"?Re==="onCompositionEnd"&&Fn&&(be=Zd()):(ci=k,ql="value"in ci?ci.value:ci.textContent,Fn=!0)),ie=Us(N,Re),0<ie.length&&(Re=new tf(Re,e,null,a,k),H.push({event:Re,listeners:ie}),be?Re.data=be:(be=lf(a),be!==null&&(Re.data=be)))),(be=xv?Pv(e,a):Dv(e,a))&&(Re=Us(N,"onBeforeInput"),0<Re.length&&(ie=new tf("onBeforeInput","beforeinput",null,a,k),H.push({event:ie,listeners:Re}),ie.data=be)),Sb(H,e,N,a,k)}Yp(H,t)})}function lr(e,t,a){return{instance:e,listener:t,currentTarget:a}}function Us(e,t){for(var a=t+"Capture",n=[];e!==null;){var s=e,c=s.stateNode;if(s=s.tag,s!==5&&s!==26&&s!==27||c===null||(s=Po(e,a),s!=null&&n.unshift(lr(e,s,c)),s=Po(e,t),s!=null&&n.push(lr(e,s,c))),e.tag===3)return n;e=e.return}return[]}function Rb(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Kp(e,t,a,n,s){for(var c=t._reactName,f=[];a!==null&&a!==n;){var b=a,E=b.alternate,N=b.stateNode;if(b=b.tag,E!==null&&E===n)break;b!==5&&b!==26&&b!==27||N===null||(E=N,s?(N=Po(a,c),N!=null&&f.unshift(lr(a,N,E))):s||(N=Po(a,c),N!=null&&f.push(lr(a,N,E)))),a=a.return}f.length!==0&&e.push({event:t,listeners:f})}var _b=/\r\n?/g,Tb=/\u0000|\uFFFD/g;function $p(e){return(typeof e=="string"?e:""+e).replace(_b,`
10`).replace(Tb,"")}function Xp(e,t){return t=$p(t),$p(e)===t}function ze(e,t,a,n,s,c){switch(a){case"children":typeof n=="string"?t==="body"||t==="textarea"&&n===""||Bn(e,n):(typeof n=="number"||typeof n=="bigint")&&t!=="body"&&Bn(e,""+n);break;case"className":zr(e,"class",n);break;case"tabIndex":zr(e,"tabindex",n);break;case"dir":case"role":case"viewBox":case"width":case"height":zr(e,a,n);break;case"style":$d(e,n,c);break;case"data":if(t!=="object"){zr(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=Vr(""+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 c=="function"&&(a==="formAction"?(t!=="input"&&ze(e,t,"name",s.name,s,null),ze(e,t,"formEncType",s.formEncType,s,null),ze(e,t,"formMethod",s.formMethod,s,null),ze(e,t,"formTarget",s.formTarget,s,null)):(ze(e,t,"encType",s.encType,s,null),ze(e,t,"method",s.method,s,null),ze(e,t,"target",s.target,s,null)));if(n==null||typeof n=="symbol"||typeof n=="boolean"){e.removeAttribute(a);break}n=Vr(""+n),e.setAttribute(a,n);break;case"onClick":n!=null&&(e.onclick=Ua);break;case"onScroll":n!=null&&Ee("scroll",e);break;case"onScrollEnd":n!=null&&Ee("scrollend",e);break;case"dangerouslySetInnerHTML":if(n!=null){if(typeof n!="object"||!("__html"in n))throw Error(l(61));if(a=n.__html,a!=null){if(s.children!=null)throw Error(l(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=Vr(""+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"playsInl
10ine":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":Ee("beforetoggle",e),Ee("toggle",e),qr(e,"popover",n);break;case"xlinkActuate":Ma(e,"http://www.w3.org/1999/xlink","xlink:actuate",n);break;case"xlinkArcrole":Ma(e,"http://www.w3.org/1999/xlink","xlink:arcrole",n);break;case"xlinkRole":Ma(e,"http://www.w3.org/1999/xlink","xlink:role",n);break;case"xlinkShow":Ma(e,"http://www.w3.org/1999/xlink","xlink:show",n);break;case"xlinkTitle":Ma(e,"http://www.w3.org/1999/xlink","xlink:title",n);break;case"xlinkType":Ma(e,"http://www.w3.org/1999/xlink","xlink:type",n);break;case"xmlBase":Ma(e,"http://www.w3.org/XML/1998/namespace","xml:base",n);break;case"xmlLang":Ma(e,"http://www.w3.org/XML/1998/namespace","xml:lang",n);break;case"xmlSpace":Ma(e,"http://www.w3.org/XML/1998/namespace","xml:space",n);break;case"is":qr(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=tv.get(a)||a,qr(e,a,n))}}function Cu(e,t,a,n,s,c){switch(a){case"style":$d(e,n,c);break;case"dangerouslySetInnerHTML":if(n!=null){if(typeof n!="object"||!("__html"in n))throw Error(l(61));if(a=n.__html,a!=null){if(s.children!=null)throw Error(l(60));e.innerHTML=a}}break;case"children":typeof n=="string"?Bn(e,n):(typeof n=="number"||typeof n=="bigint")&&Bn(e,""+n);break;case"onScroll":n!=null&&Ee("scroll",e);break;case"onScrollEnd":n!=null&&Ee("scrollend",e);break;case"onClick":n!=null&&(e.onclick=Ua);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!zd.hasOwnProperty(a))e:{if(a[0]==="o"&&a[1]==="n"&&(s=a.endsWith("Capture"),t=a.slice(2,s?a.length-7:void 0),c=e[Ft]||null,c=c!=null?c[a]:null,typeof c=="function"&&e.removeEventListener(t,c,s),typeof n=="function")){typeof c!="function"&&c!==null&&(a in e?e[a]=null:e.hasAttribute(a)&&e.removeAttribute(a)),e.addEventListener(t,n,s);break e}a in e?e[a]=n:n===!0?e.setAttribute(a,""):qr(e,a,n)}}}function Rt(e,t,a){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":Ee("error",e),Ee("load",e);var n=!1,s=!1,c;for(c in a)if(a.hasOwnProperty(c)){var f=a[c];if(f!=null)switch(c){case"src":n=!0;break;case"srcSet":s=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(l(137,t));default:ze(e,t,c,f,a,null)}}s&&ze(e,t,"srcSet",a.srcSet,a,null),n&&ze(e,t,"src",a.src,a,null);return;case"input":Ee("invalid",e);var b=c=f=s=null,E=null,N=null;for(n in a)if(a.hasOwnProperty(n)){var k=a[n];if(k!=null)switch(n){case"name":s=k;break;case"type":f=k;break;case"checked":E=k;break;case"defaultChecked":N=k;break;case"value":c=k;break;case"defaultValue":b=k;break;case"children":case"dangerouslySetInnerHTML":if(k!=null)throw Error(l(137,t));break;default:ze(e,t,n,k,a,null)}}Gd(e,c,b,E,N,f,s,!1);return;case"select":Ee("invalid",e),n=f=c=null;for(s in a)if(a.hasOwnProperty(s)&&(b=a[s],b!=null))switch(s){case"value":c=b;break;case"defaultValue":f=b;break;case"multiple":n=b;default:ze(e,t,s,b,a,null)}t=c,a=f,e.multiple=!!n,t!=null?kn(e,!!n,t,!1):a!=null&&kn(e,!!n,a,!0);return;case"textarea":Ee("invalid",e),c=s=n=null;for(f in a)if(a.hasOwnProperty(f)&&(b=a[f],b!=null))switch(f){case"value":n=b;break;case"defaultValue":s=b;break;case"children":c=b;break;case"dangerouslySetInnerHTML":if(b!=null)throw Error(l(91));break;default:ze(e,t,f,b,a,null)}Qd(e,n,s,c);return;case"option":for(E in a)a.hasOwnProperty(E)&&(n=a[E],n!=null)&&(E==="selected"?e.selected=n&&typeof n!="function"&&typeof n!="symbol":ze(e,t,E,n,a,null));return;case"dialog":Ee("beforetoggle",e),Ee("toggle",e),Ee("cancel",e),Ee("close",e);break;case"iframe":case"object":Ee("load",e);break;case"video":case"audio":for(n=0;n<sr.length;n++)Ee(sr[n],e);break;case"image":Ee("error",e),Ee("load",e);break;case"details":Ee("toggle",e);break;case"embed":case"source":case"link":Ee("error",e),Ee("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(N in a)if(a.hasOwnProperty(N)&&(n=a[N],n!=null))switch(N){case"children":case"dangerouslySetInnerHTML":throw Error(l(137,t));default:ze(e,t,N,n,a,null)}return;default:if(Nl(t)){for(k in a)a.hasOwnProperty(k)&&(n=a[k],n!==void 0&&Cu(e,t,k,n,a,void 0));return}}for(b in a)a.hasOwnProperty(b)&&(n=a[b],n!=null&&ze(e,t,b,n,a,null))}function xb(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 s=null,c=null,f=null,b=null,E=null,N=null,k=null;for(U in a){var H=a[U];if(a.hasOwnProperty(U)&&H!=null)switch(U){case"checked":break;case"value":break;case"defaultValue":E=H;default:n.hasOwnProperty(U)||ze(e,t,U,null,n,H)}}for(var M in n){var U=n[M];if(H=a[M],n.hasOwnProperty(M)&&(U!=null||H!=null))switch(M){case"type":c=U;break;case"name":s=U;break;case"checked":N=U;break;case"defaultChecked":k=U;break;case"value":f=U;break;case"defaultValue":b=U;break;case"children":case"dangerouslySetInnerHTML":if(U!=null)throw Error(l(137,t));break;default:U!==H&&ze(e,t,M,U,n,H)}}Ll(e,f,b,E,N,k,c,s);return;case"select":U=f=b=M=null;for(c in a)if(E=a[c],a.hasOwnProperty(c)&&E!=null)switch(c){case"value":break;case"multiple":U=E;default:n.hasOwnProperty(c)||ze(e,t,c,null,n,E)}for(s in n)if(c=n[s],E=a[s],n.hasOwnProperty(s)&&(c!=null||E!=null))switch(s){case"value":M=c;break;case"defaultValue":b=c;break;case"multiple":f=c;default:c!==E&&ze(e,t,s,c,n,E)}
vendor: 4,778 bytes, line 10
10t=b,a=f,n=U,M!=null?kn(e,!!a,M,!1):!!n!=!!a&&(t!=null?kn(e,!!a,t,!0):kn(e,!!a,a?[]:"",!1));return;case"textarea":U=M=null;for(b in a)if(s=a[b],a.hasOwnProperty(b)&&s!=null&&!n.hasOwnProperty(b))switch(b){case"value":break;case"children":break;default:ze(e,t,b,null,n,s)}for(f in n)if(s=n[f],c=a[f],n.hasOwnProperty(f)&&(s!=null||c!=null))switch(f){case"value":M=s;break;case"defaultValue":U=s;break;case"children":break;case"dangerouslySetInnerHTML":if(s!=null)throw Error(l(91));break;default:s!==c&&ze(e,t,f,s,n,c)}Yd(e,M,U);return;case"option":for(var te in a)M=a[te],a.hasOwnProperty(te)&&M!=null&&!n.hasOwnProperty(te)&&(te==="selected"?e.selected=!1:ze(e,t,te,null,n,M));for(E in n)M=n[E],U=a[E],n.hasOwnProperty(E)&&M!==U&&(M!=null||U!=null)&&(E==="selected"?e.selected=M&&typeof M!="function"&&typeof M!="symbol":ze(e,t,E,M,n,U));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 ue in a)M=a[ue],a.hasOwnProperty(ue)&&M!=null&&!n.hasOwnProperty(ue)&&ze(e,t,ue,null,n,M);for(N in n)if(M=n[N],U=a[N],n.hasOwnProperty(N)&&M!==U&&(M!=null||U!=null))switch(N){case"children":case"dangerouslySetInnerHTML":if(M!=null)throw Error(l(137,t));break;default:ze(e,t,N,M,n,U)}return;default:if(Nl(t)){for(var Fe in a)M=a[Fe],a.hasOwnProperty(Fe)&&M!==void 0&&!n.hasOwnProperty(Fe)&&Cu(e,t,Fe,void 0,n,M);for(k in n)M=n[k],U=a[k],!n.hasOwnProperty(k)||M===U||M===void 0&&U===void 0||Cu(e,t,k,M,n,U);return}}for(var D in a)M=a[D],a.hasOwnProperty(D)&&M!=null&&!n.hasOwnProperty(D)&&ze(e,t,D,null,n,M);for(H in n)M=n[H],U=a[H],!n.hasOwnProperty(H)||M===U||M==null&&U==null||ze(e,t,H,M,n,U)}function Wp(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function Pb(){if(typeof performance.getEntriesByType=="function"){for(var e=0,t=0,a=performance.getEntriesByType("resource"),n=0;n<a.length;n++){var s=a[n],c=s.transferSize,f=s.initiatorType,b=s.duration;if(c&&b&&Wp(f)){for(f=0,b=s.responseEnd,n+=1;n<a.length;n++){var E=a[n],N=E.startTime;if(N>b)break;var k=E.transferSize,H=E.initiatorType;k&&Wp(H)&&(E=E.responseEnd,f+=k*(E<b?1:(b-N)/(E-N)))}if(--n,t+=8*(c+f)/(s.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 Su=null,Au=null;function ks(e){return e.nodeType===9?e:e.ownerDocument}function Zp(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 Jp(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 Eu(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 wu=null;function Db(){var e=window.event;return e&&e.type==="popstate"?e===wu?!1:(wu=e,!0):(wu=null,!1)}var eh=typeof setTimeout=="function"?setTimeout:void 0,Ob=typeof clearTimeout=="function"?clearTimeout:void 0,th=typeof Promise=="function"?Promise:void 0,Lb=typeof queueMicrotask=="function"?queueMicrotask:typeof th<"u"?function(e){return th.resolve(null).then(e).catch(Ib)}:eh;function Ib(e){setTimeout(function(){throw e})}function _i(e){return e==="head"}function ah(e,t){var a=t,n=0;do{var s=a.nextSibling;if(e.removeChild(a),s&&s.nodeType===8)if(a=s.data,a==="/$"||a==="/&"){if(n===0){e.removeChild(s),go(t);return}n--}else if(a==="$"||a==="$?"||a==="$~"||a==="$!"||a==="&")n++;else if(a==="html")cr(e.ownerDocument.documentElement);else if(a==="head"){a=e.ownerDocument.head,cr(a);for(var c=a.firstChild;c;){var f=c.nextSibling,b=c.nodeName;c[To]||b==="SCRIPT"||b==="STYLE"||b==="LINK"&&c.rel.toLowerCase()==="stylesheet"||a.removeChild(c),c=f}}else a==="body"&&cr(e.ownerDocument.body);a=s}while(a);go(t)}function ih(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 Ru(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":Ru(a),Dl(a);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(a.rel.toLowerCase()==="stylesheet")continue}e.removeChild(a)}}function Nb(e,t,a,n){for(;
vendor: 9,086 bytes, line 10
10e.nodeType===1;){var s=a;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!n&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(n){if(!e[To])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(c=e.getAttribute("rel"),c==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(c!==s.rel||e.getAttribute("href")!==(s.href==null||s.href===""?null:s.href)||e.getAttribute("crossorigin")!==(s.crossOrigin==null?null:s.crossOrigin)||e.getAttribute("title")!==(s.title==null?null:s.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(c=e.getAttribute("src"),(c!==(s.src==null?null:s.src)||e.getAttribute("type")!==(s.type==null?null:s.type)||e.getAttribute("crossorigin")!==(s.crossOrigin==null?null:s.crossOrigin))&&c&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(t==="input"&&e.type==="hidden"){var c=s.name==null?null:""+s.name;if(s.type==="hidden"&&e.getAttribute("name")===c)return e}else return e;if(e=ma(e.nextSibling),e===null)break}return null}function Mb(e,t,a){if(t==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!a||(e=ma(e.nextSibling),e===null))return null;return e}function nh(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!t||(e=ma(e.nextSibling),e===null))return null;return e}function _u(e){return e.data==="$?"||e.data==="$~"}function Tu(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function Ub(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 ma(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 xu=null;function oh(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="/$"||a==="/&"){if(t===0)return ma(e.nextSibling);t--}else a!=="$"&&a!=="$!"&&a!=="$?"&&a!=="$~"&&a!=="&"||t++}e=e.nextSibling}return null}function rh(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 sh(e,t,a){switch(t=ks(a),e){case"html":if(e=t.documentElement,!e)throw Error(l(452));return e;case"head":if(e=t.head,!e)throw Error(l(453));return e;case"body":if(e=t.body,!e)throw Error(l(454));return e;default:throw Error(l(451))}}function cr(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);Dl(e)}var pa=new Map,lh=new Set;function Bs(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var Za=Q.d;Q.d={f:kb,r:Bb,D:qb,C:zb,L:Fb,m:Vb,X:jb,S:Hb,M:Gb};function kb(){var e=Za.f(),t=Ps();return e||t}function Bb(e){var t=Nn(e);t!==null&&t.tag===5&&t.type==="form"?Rm(t):Za.r(e)}var mo=typeof document>"u"?null:document;function ch(e,t,a){var n=mo;if(n&&typeof t=="string"&&t){var s=ra(t);s='link[rel="'+e+'"][href="'+s+'"]',typeof a=="string"&&(s+='[crossorigin="'+a+'"]'),lh.has(s)||(lh.add(s),e={rel:e,crossOrigin:a,href:t},n.querySelector(s)===null&&(t=n.createElement("link"),Rt(t,"link",e),gt(t),n.head.appendChild(t)))}}function qb(e){Za.D(e),ch("dns-prefetch",e,null)}function zb(e,t){Za.C(e,t),ch("preconnect",e,t)}function Fb(e,t,a){Za.L(e,t,a);var n=mo;if(n&&e&&t){var s='link[rel="preload"][as="'+ra(t)+'"]';t==="image"&&a&&a.imageSrcSet?(s+='[imagesrcset="'+ra(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(s+='[imagesizes="'+ra(a.imageSizes)+'"]')):s+='[href="'+ra(e)+'"]';var c=s;switch(t){case"style":c=po(e);break;case"script":c=ho(e)}pa.has(c)||(e=h({rel:"preload",href:t==="image"&&a&&a.imageSrcSet?void 0:e,as:t},a),pa.set(c,e),n.querySelector(s)!==null||t==="style"&&n.querySelector(ur(c))||t==="script"&&n.querySelector(dr(c))||(t=n.createElement("link"),Rt(t,"link",e),gt(t),n.head.appendChild(t)))}}function Vb(e,t){Za.m(e,t);var a=mo;if(a&&e){var n=t&&typeof t.as=="string"?t.as:"script",s='link[rel="modulepreload"][as="'+ra(n)+'"][href="'+ra(e)+'"]',c=s;switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":c=ho(e)}if(!pa.has(c)&&(e=h({rel:"modulepreload",href:e},t),pa.set(c,e),a.querySelector(s)===null)){switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(dr(c)))return}n=a.createElement("link"),Rt(n,"link",e),gt(n),a.head.appendChild(n)}}}function Hb(e,t,a){Za.S(e,t,a);var n=mo;if(n&&e){var s=Mn(n).hoistableStyles,c=po(e);t=t||"default";var f=s.get(c);if(!f){var b={loading:0,preload:null};if(f=n.querySelector(ur(c)))b.loading=5;else{e=h({rel:"stylesheet",href:e,"data-precedence":t},a),(a=pa.get(c))&&Pu(e,a);var E=f=n.createElement("link");gt(E),Rt(E,"link",e),E._p=new Promise(function(N,k){E.onload=N,E.onerror=k}),E.addEventListener("load",function(){b.loading|=1}),E.addEventListener("error",function(){b.loading|=2}),b.loading|=4,qs(f,t,n)}f={type:"stylesheet",instance:f,count:1,state:b},s.set(c,f)}}}function jb(e,t){Za.X(e,t);var a=mo;if(a&&e){var n=Mn(a).hoistableScripts,s=ho(e),c=n.get(s);c||(c=a.querySelector(dr(s)),c||(e=h({src:e,async:!0},t),(t=pa.get(s))&&Du(e,t),c=a.createElement("script"),gt(c),Rt(c,"link",e),a.head.appendChild(c)),c={type:"script",instance:c,count:1,state:null},n.set(s,c))}}function Gb(e,t){Za.M(e,t);var a=mo;if(a&&e){var n=Mn(a).hoistableScripts,s=ho(e),c=n.get(s);c||(c=a.querySelector(dr(s)),c||(e=h({src:e,async:!0,type:"module"},t),(t=pa.get(s))&&Du(e,t),c=a.createElement("script"),gt(c),Rt(c,"link",e),a.head.appendChild(c)),c={type:"script",instance:c,count:1,state:null},n.set(s,c))}}function uh(e,t,a,n){var s=(s=le.current)?Bs(s):null;if(!s)throw Error(l(446));switch(e){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(t=po(a.href),a=Mn(s).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=po(a.href);var c=Mn(s).hoistableStyles,f=c.get(e);if(f||(s=s.ownerDocument||s,f={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},c.set(e,f),(c=s.querySelector(ur(e)))&&!c._p&&(f.instance=c,f.state.loading=5),pa.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},pa.set(e,a),c||Yb(s,e,a,f.state))),t&&n===null)throw Error(l(528,""));return f}if(t&&n!==null)throw Error(l(529,""));return null;case"script":return t=a.async,a=a.src,typeof a=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=ho(a),a=Mn(s).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(l(444,e))}}function po(e){return'href="'+ra(e)+'"'}function ur(e){return'link[rel="stylesheet"]['+e+"]"}function dh(e){return h({},e,{"data-precedence":e.precedence,precedence:null})}function Yb(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}),Rt(t,"link",a),gt(t),e.head.appendChild(t))}function ho(e){return'[src="'+ra(e)+'"]'}function dr(e){return"script[async]"+e}function fh(e,t,a){if(t.count++,t.instance===null)switch(t.type){case"style":var n=e.querySelector('style[data-href~="'+ra(a.href)+'"]');if(n)return t.instance=n,gt(n),n;var s=h({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return n=(e.ownerDocument||e).createElement("style"),gt(n),Rt(n,"style",s),qs(n,a.precedence,e),t.instance=n;case"stylesheet":s=po(a.href);var c=e.querySelector(ur(s));if(c)return t.state.loading|=4,t.instance=c,gt(c),c;n=dh(a),(s=pa.get(s))&&Pu(n,s),c=(e.ownerDocument||e).createElement("link"),gt(c);var f=c;return f._p=new Promise(function(b,E){f.onload=b,f.onerror=E}),Rt(c,"link",n),t.state.loading|=4,qs(c,a.precedence,e),t.instance=c;case"script":return c=ho(a.src),(s=e.querySelector(dr(c)))?(t.instance=s,gt(s),s):(n=a,(s=pa.get(c))&&(n=h({},a),Du(n,s)),e=e.ownerDocument||e,s=e.createElement("script"),gt(s),Rt(s,"link",n),e.head.appendChild(s),t.instance=s);case"void":return null;default:throw Error(l(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(n=t.instance,t.state.loading|=4,qs(n,a.precedence,e));return t.instance}function qs(e,t,a){for(var n=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),s=n.length?n[n.length-1]:null,c=s,f=0;f<n.length;f++){var b=n[f];
vendor: 6,819 bytes, line 10
10if(b.dataset.precedence===t)c=b;else if(c!==s)break}c?c.parentNode.insertBefore(e,c.nextSibling):(t=a.nodeType===9?a.head:a,t.insertBefore(e,t.firstChild))}function Pu(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function Du(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var zs=null;function mh(e,t,a){if(zs===null){var n=new Map,s=zs=new Map;s.set(a,n)}else s=zs,n=s.get(a),n||(n=new Map,s.set(a,n));if(n.has(e))return n;for(n.set(e,null),a=a.getElementsByTagName(e),s=0;s<a.length;s++){var c=a[s];if(!(c[To]||c[St]||e==="link"&&c.getAttribute("rel")==="stylesheet")&&c.namespaceURI!=="http://www.w3.org/2000/svg"){var f=c.getAttribute(t)||"";f=e+f;var b=n.get(f);b?b.push(c):n.set(f,[c])}}return n}function ph(e,t,a){e=e.ownerDocument||e,e.head.insertBefore(a,t==="title"?e.querySelector("head > title"):null)}function Qb(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;return t.rel==="stylesheet"?(e=t.disabled,typeof t.precedence=="string"&&e==null):!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 hh(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function Kb(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 s=po(n.href),c=t.querySelector(ur(s));if(c){t=c._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=Fs.bind(e),t.then(e,e)),a.state.loading|=4,a.instance=c,gt(c);return}c=t.ownerDocument||t,n=dh(n),(s=pa.get(s))&&Pu(n,s),c=c.createElement("link"),gt(c);var f=c;f._p=new Promise(function(b,E){f.onload=b,f.onerror=E}),Rt(c,"link",n),a.instance=c}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(a,t),(t=a.state.preload)&&(a.state.loading&3)===0&&(e.count++,a=Fs.bind(e),t.addEventListener("load",a),t.addEventListener("error",a))}}var Ou=0;function $b(e,t){return e.stylesheets&&e.count===0&&Hs(e,e.stylesheets),0<e.count||0<e.imgCount?function(a){var n=setTimeout(function(){if(e.stylesheets&&Hs(e,e.stylesheets),e.unsuspend){var c=e.unsuspend;e.unsuspend=null,c()}},6e4+t);0<e.imgBytes&&Ou===0&&(Ou=62500*Pb());var s=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&Hs(e,e.stylesheets),e.unsuspend)){var c=e.unsuspend;e.unsuspend=null,c()}},(e.imgBytes>Ou?50:800)+t);return e.unsuspend=a,function(){e.unsuspend=null,clearTimeout(n),clearTimeout(s)}}:null}function Fs(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Hs(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Vs=null;function Hs(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Vs=new Map,t.forEach(Xb,e),Vs=null,Fs.call(e))}function Xb(e,t){if(!(t.state.loading&4)){var a=Vs.get(e);if(a)var n=a.get(null);else{a=new Map,Vs.set(e,a);for(var s=e.querySelectorAll("link[data-precedence],style[data-precedence]"),c=0;c<s.length;c++){var f=s[c];(f.nodeName==="LINK"||f.getAttribute("media")!=="not all")&&(a.set(f.dataset.precedence,f),n=f)}n&&a.set(null,n)}s=t.instance,f=s.getAttribute("data-precedence"),c=a.get(f)||n,c===n&&a.set(null,s),a.set(f,s),this.count++,n=Fs.bind(this),s.addEventListener("load",n),s.addEventListener("error",n),c?c.parentNode.insertBefore(s,c.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(s,e.firstChild)),t.state.loading|=4}}var fr={$$typeof:V,Provider:null,Consumer:null,_currentValue:oe,_currentValue2:oe,_threadCount:0};function Wb(e,t,a,n,s,c,f,b,E){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=si(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=si(0),this.hiddenUpdates=si(null),this.identifierPrefix=n,this.onUncaughtError=s,this.onCaughtError=c,this.onRecoverableError=f,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=E,this.incompleteTransitions=new Map}function gh(e,t,a,n,s,c,f,b,E,N,k,H){return e=new Wb(e,t,a,f,E,N,k,H,b),t=1,c===!0&&(t|=24),c=Wt(3,null,null,t),e.current=c,c.stateNode=e,t=uc(),t.refCount++,e.pooledCache=t,t.refCount++,c.memoizedState={element:n,isDehydrated:a,cache:t},pc(c),e}function yh(e){return e?(e=Gn,e):Gn}function vh(e,t,a,n,s,c){s=yh(s),n.context===null?n.context=s:n.pendingContext=s,n=hi(t),n.payload={element:a},c=c===void 0?null:c,c!==null&&(n.callback=c),a=gi(e,n,t),a!==null&&(Qt(a,e,t),jo(a,e,t))}function bh(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var a=e.retryLane;e.retryLane=a!==0&&a<t?a:t}}function Lu(e,t){bh(e,t),(e=e.alternate)&&bh(e,t)}function Ch(e){if(e.tag===13||e.tag===31){var t=Zi(e,67108864);t!==null&&Qt(t,e,67108864),Lu(e,67108864)}}function Sh(e){if(e.tag===13||e.tag===31){var t=aa();t=On(t);var a=Zi(e,t);a!==null&&Qt(a,e,t),Lu(e,t)}}var js=!0;function Zb(e,t,a,n){var s=L.T;L.T=null;var c=Q.p;try{Q.p=2,Iu(e,t,a,n)}finally{Q.p=c,L.T=s}}function Jb(e,t,a,n){var s=L.T;L.T=null;var c=Q.p;try{Q.p=8,Iu(e,t,a,n)}finally{Q.p=c,L.T=s}}function Iu(e,t,a,n){if(js){var s=Nu(n);if(s===null)bu(e,t,n,Gs,a),Eh(e,n);else if(tC(s,e,t,a,n))n.stopPropagation();else if(Eh(e,n),t&4&&-1<eC.indexOf(e)){for(;s!==null;){var c=Nn(s);if(c!==null)switch(c.tag){case 3:if(c=c.stateNode,c.current.memoizedState.isDehydrated){var f=Ra(c.pendingLanes);if(f!==0){var b=c;for(b.pendingLanes|=2,b.entangledLanes|=2;f;){var E=1<<31-Tt(f);b.entanglements[1]|=E,f&=~E}Pa(c),(Me&6)===0&&(Ts=Ct()+500,rr(0))}}break;case 31:case 13:b=Zi(c,2),b!==null&&Qt(b,c,2),Ps(),Lu(c,2)}if(c=Nu(n),c===null&&bu(e,t,n,Gs,a),c===s)break;s=c}s!==null&&n.stopPropagation()}else bu(e,t,n,null,a)}}function Nu(e){return e=Ul(e),Mu(e)}var Gs=null;function Mu(e){if(Gs=null,e=In(e),e!==null){var t=d(e);if(t===null)e=null;else{var a=t.tag;if(a===13){if(e=p(t),e!==null)return e;e=null}else if(a===31){if(e=y(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 Gs=e,null}function Ah(e){switch(e){case"beforetoggle":case"cancel":case"click":case"close"
vendor: 6,256 bytes, line 10
10: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(xn()){case Oe:return 2;case Je:return 8;case dt:case oi:return 32;case Na:return 268435456;default:return 32}default:return 32}}var Uu=!1,Ti=null,xi=null,Pi=null,mr=new Map,pr=new Map,Di=[],eC="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 Eh(e,t){switch(e){case"focusin":case"focusout":Ti=null;break;case"dragenter":case"dragleave":xi=null;break;case"mouseover":case"mouseout":Pi=null;break;case"pointerover":case"pointerout":mr.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":pr.delete(t.pointerId)}}function hr(e,t,a,n,s,c){return e===null||e.nativeEvent!==c?(e={blockedOn:t,domEventName:a,eventSystemFlags:n,nativeEvent:c,targetContainers:[s]},t!==null&&(t=Nn(t),t!==null&&Ch(t)),e):(e.eventSystemFlags|=n,t=e.targetContainers,s!==null&&t.indexOf(s)===-1&&t.push(s),e)}function tC(e,t,a,n,s){switch(t){case"focusin":return Ti=hr(Ti,e,t,a,n,s),!0;case"dragenter":return xi=hr(xi,e,t,a,n,s),!0;case"mouseover":return Pi=hr(Pi,e,t,a,n,s),!0;case"pointerover":var c=s.pointerId;return mr.set(c,hr(mr.get(c)||null,e,t,a,n,s)),!0;case"gotpointercapture":return c=s.pointerId,pr.set(c,hr(pr.get(c)||null,e,t,a,n,s)),!0}return!1}function wh(e){var t=In(e.target);if(t!==null){var a=d(t);if(a!==null){if(t=a.tag,t===13){if(t=p(a),t!==null){e.blockedOn=t,kd(e.priority,function(){Sh(a)});return}}else if(t===31){if(t=y(a),t!==null){e.blockedOn=t,kd(e.priority,function(){Sh(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 Ys(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var a=Nu(e.nativeEvent);if(a===null){a=e.nativeEvent;var n=new a.constructor(a.type,a);Ml=n,a.target.dispatchEvent(n),Ml=null}else return t=Nn(a),t!==null&&Ch(t),e.blockedOn=a,!1;t.shift()}return!0}function Rh(e,t,a){Ys(e)&&a.delete(t)}function aC(){Uu=!1,Ti!==null&&Ys(Ti)&&(Ti=null),xi!==null&&Ys(xi)&&(xi=null),Pi!==null&&Ys(Pi)&&(Pi=null),mr.forEach(Rh),pr.forEach(Rh)}function Qs(e,t){e.blockedOn===t&&(e.blockedOn=null,Uu||(Uu=!0,i.unstable_scheduleCallback(i.unstable_NormalPriority,aC)))}var Ks=null;function _h(e){Ks!==e&&(Ks=e,i.unstable_scheduleCallback(i.unstable_NormalPriority,function(){Ks===e&&(Ks=null);for(var t=0;t<e.length;t+=3){var a=e[t],n=e[t+1],s=e[t+2];if(typeof n!="function"){if(Mu(n||a)===null)continue;break}var c=Nn(a);c!==null&&(e.splice(t,3),t-=3,Nc(c,{pending:!0,data:s,method:a.method,action:n},n,s))}}))}function go(e){function t(E){return Qs(E,e)}Ti!==null&&Qs(Ti,e),xi!==null&&Qs(xi,e),Pi!==null&&Qs(Pi,e),mr.forEach(t),pr.forEach(t);for(var a=0;a<Di.length;a++){var n=Di[a];n.blockedOn===e&&(n.blockedOn=null)}for(;0<Di.length&&(a=Di[0],a.blockedOn===null);)wh(a),a.blockedOn===null&&Di.shift();if(a=(e.ownerDocument||e).$$reactFormReplay,a!=null)for(n=0;n<a.length;n+=3){var s=a[n],c=a[n+1],f=s[Ft]||null;if(typeof c=="function")f||_h(a);else if(f){var b=null;if(c&&c.hasAttribute("formAction")){if(s=c,f=c[Ft]||null)b=f.formAction;else if(Mu(s)!==null)continue}else b=f.action;typeof b=="function"?a[n+1]=b:(a.splice(n,3),n-=3),_h(a)}}}function Th(){function e(c){c.canIntercept&&c.info==="react-transition"&&c.intercept({handler:function(){return new Promise(function(f){return s=f})},focusReset:"manual",scroll:"manual"})}function t(){s!==null&&(s(),s=null),n||setTimeout(a,20)}function a(){if(!n&&!navigation.transition){var c=navigation.currentEntry;c&&c.url!=null&&navigation.navigate(c.url,{state:c.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var n=!1,s=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),s!==null&&(s(),s=null)}}}function ku(e){this._internalRoot=e}$s.prototype.render=ku.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(l(409));var a=t.current,n=aa();vh(a,n,e,t,null,null)},$s.prototype.unmount=ku.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;vh(e.current,2,null,e,null,null),Ps(),t[Ln]=null}};function $s(e){this._internalRoot=e}$s.prototype.unstable_scheduleHydration=function(e){if(e){var t=xl();e={blockedOn:null,target:e,priority:t};for(var a=0;a<Di.length&&t!==0&&t<Di[a].priority;a++);Di.splice(a,0,e),a===0&&wh(e)}};var xh=o.version;if(xh!=="19.2.3")throw Error(l(527,xh,"19.2.3"));Q.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(l(188)):(e=Object.keys(e).join(","),Error(l(268,e)));return e=m(t),e=e!==null?v(e):null,e=e===null?null:e.stateNode,e};var iC={bundleType:0,version:"19.2.3",rendererPackageName:"react-dom",currentDispatcherRef:L,reconcilerVersion:"19.2.3"};
10if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Xs=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Xs.isDisabled&&Xs.supportsFiber)try{Gi=Xs.inject(iC),Lt=Xs}catch{}}return yr.createRoot=function(e,t){if(!u(e))throw Error(l(299));var a=!1,n="",s=Mm,c=Um,f=km;return t!=null&&(t.unstable_strictMode===!0&&(a=!0),t.identifierPrefix!==void 0&&(n=t.identifierPrefix),t.onUncaughtError!==void 0&&(s=t.onUncaughtError),t.onCaughtError!==void 0&&(c=t.onCaughtError),t.onRecoverableError!==void 0&&(f=t.onRecoverableError)),t=gh(e,1,!1,null,null,a,n,null,s,c,f,Th),e[Ln]=t.current,vu(e),new ku(t)},yr.hydrateRoot=function(e,t,a){if(!u(e))throw Error(l(299));var n=!1,s="",c=Mm,f=Um,b=km,E=null;return a!=null&&(a.unstable_strictMode===!0&&(n=!0),a.identifierPrefix!==void 0&&(s=a.identifierPrefix),a.onUncaughtError!==void 0&&(c=a.onUncaughtError),a.onCaughtError!==void 0&&(f=a.onCaughtError),a.onRecoverableError!==void 0&&(b=a.onRecoverableError),a.formState!==void 0&&(E=a.formState)),t=gh(e,1,!0,t,a??null,n,s,E,c,f,b,Th),t.context=yh(null),a=t.current,n=aa(),n=On(n),s=hi(n),s.callback=null,gi(a,s,n),a=n,t.current.lanes=a,Ze(t,a),Pa(t),e[Ln]=t.current,vu(e),new $s(t)},yr.version="19.2.3",yr}var Bh;function pC(){if(Bh)return zu.exports;Bh=1;function i(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(i)}catch(o){console.error(o)}}return i(),zu.exports=mC(),zu.exports}var hC=pC(),Xe=(i=>(i[i.None=0]="None",i[i.Mutable=1]="Mutable",i[i.Watching=2]="Watching",i[i.RecursedCheck=4]="RecursedCheck",i[i.Recursed=8]="Recursed",i[i.Dirty=16]="Dirty",i[i.Pending=32]="Pending",i))(Xe||{});function Ng({update:i,notify:o,unwatched:r}){return{link:l,unlink:u,propagate:d,checkDirty:p,shallowPropagate:y};function l(m,v,h){const C=v.depsTail;if(C!==void 0&&C.dep===m)return;const A=C!==void 0?C.nextDep:v.deps;if(A!==void 0&&A.dep===m){A.version=h,v.depsTail=A;return}const R=m.subsTail;if(R!==void 0&&R.version===h&&R.sub===v)return;const P=v.depsTail=m.subsTail={version:h,dep:m,sub:v,prevDep:C,nextDep:A,prevSub:R,nextSub:void 0};A!==void 0&&(A.prevDep=P),C!==void 0?C.nextDep=P:v.deps=P,R!==void 0?R.nextSub=P:m.subs=P}function u(m,v=m.sub){const h=m.dep,C=m.prevDep,A=m.nextDep,R=m.nextSub,P=m.prevSub;return A!==void 0?A.prevDep=C:v.depsTail=C,C!==void 0?C.nextDep=A:v.deps=A,R!==void 0?R.prevSub=P:h.subsTail=P,P!==void 0?P.nextSub=R:(h.subs=R)===void 0&&r(h),A}function d(m){let v=m.nextSub,h;e:do{const C=m.sub;let A=C.flags;if(A&60?A&12?A&4?!(A&48)&&g(m,C)?(C.flags=A|40,A&=1):A=0:C.flags=A&-9|32:A=0:C.flags=A|32,A&2&&o(C),A&1){const R=C.subs;if(R!==void 0){const P=(m=R).nextSub;P!==void 0&&(h={value:v,prev:h},v=P);continue}}if((m=v)!==void 0){v=m.nextSub;continue}for(;h!==void 0;)if(m=h.value,h=h.prev,m!==void 0){v=m.nextSub;continue e}break}while(!0)}function p(m,v){let h,C=0,A=!1;e:do{const R=m.dep,P=R.flags;if(v.flags&16)A=!0;else if((P&17)===17){if(i(R)){const w=R.subs;w.nextSub!==void 0&&y(w),A=!0}}else if((P&33)===33){(m.nextSub!==void 0||m.prevSub!==void 0)&&(h={value:m,prev:h}),m=R.deps,v=R,++C;continue}if(!A){const w=m.nextDep;if(w!==void 0){m=w;continue}}for(;C--;){const w=v.subs,O=w.nextSub!==void 0;if(O?(m=h.value,h=h.prev):m=w,A){if(i(v)){O&&y(w),v=m.sub;continue}A=!1}else v.flags&=-33;v=m.sub;const q=m.nextDep;if(q!==void 0){m=q;continue e}}return A}while(!0)}function y(m){do{const v=m.sub,h=v.flags;(h&48)===32&&(v.flags=h|16,(h&6)===2&&o(v))}while((m=m.nextSub)!==void 0)}function g(m,v){let h=v.depsTail;for(;h!==void 0;){if(h===m)return!0;h=h.prevDep}return!1}}let pd=0,fn=0,wr=0;const ei=[],{link:X1,unlink:Mg,propagate:W1,checkDirty:gC,shallowPropagate:Z1}=Ng({update(i){return i.depsTail!==void 0?CC(i):SC(i)},notify(i){let o=wr,r=o;do if(ei[o++]=i,i.flags&=-3,i=i.subs?.sub,i===void 0||!(i.flags&2))break;while(!0);for(wr=o;r<--o;){const l=ei[r];ei[r++]=ei[o],ei[o]=l}},unwatched(i){i.flags&1?i.depsTail!==void 0&&(i.depsTail=void 0,i.flags=17,yl(i)):wC.call(i)}});function yC(){return pd}function vC(){++pd}function bC(){--pd||EC()}function CC(i){i.depsTail=void 0,i.flags=5;try{const o=i.value;return o!==(i.value=i.getter(o))}finally{i.flags&=-5,yl(i)}}function SC(i){return i.flags=1,i.currentValue!==(i.currentValue=i.pendingValue)}function AC(i){const o=i.flags;if(o&16||o&32&&gC(i.deps,i)){i.depsTail=void 0,i.flags=6;try{i.fn()}finally{i.flags&=-5,yl(i)}}else i.flags=2}function EC(){try{for(;fn<wr;){const i=ei[fn];ei[fn++]=void 0,AC(i)}}finally{for(;fn<wr;){const i=ei[fn];ei[fn++]=void 0,i.flags|=10}fn=0,wr=0}}function wC(){this.depsTail=void 0,this.flags=0,yl(this);const i=this.subs;i!==void 0&&Mg(i)}function yl(i){const o=i.depsTail;let r=o!==void 0?o.nextDep:i.deps;for(;r!==void 0;)r=Mg(r,i)}function hd(i,o,r){const l=typeof i=="object",u=l?i:void 0;return{next:(l?i.next:i)?.bind(u),error:(l?i.error:o)?.bind(u),complete:(l?i.c
10omplete:r)?.bind(u)}}const nd=[];let al=0;const{link:qh,unlink:RC,propagate:_C,checkDirty:Ug,shallowPropagate:zh}=Ng({update(i){return i._update()},notify(i){nd[od++]=i,i.flags&=~Xe.Watching},unwatched(i){i.depsTail!==void 0&&(i.depsTail=void 0,i.flags=Xe.Mutable|Xe.Dirty,sl(i))}});let Ws=0,od=0,Oa;function sl(i){const o=i.depsTail;let r=o!==void 0?o.nextDep:i.deps;for(;r!==void 0;)r=RC(r,i)}function kg(){if(!(yC()>0)){for(;Ws<od;){const i=nd[Ws];nd[Ws++]=void 0,i.notify()}Ws=0,od=0}}function Bg(i,o){const r=typeof i=="function",l=i,u={_snapshot:r?void 0:i,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:r?Xe.None:Xe.Mutable,get(){return Oa!==void 0&&qh(u,Oa,al),u._snapshot},subscribe(d){const p=hd(d),y={current:!1},g=TC(()=>{u.get(),y.current?p.next?.(u._snapshot):y.current=!0});return{unsubscribe:()=>{g.stop()}}},_update(d){const p=Oa,y=Object.is;if(r)Oa=u,++al,u.depsTail=void 0;else if(d===void 0)return!1;r&&(u.flags=Xe.Mutable|Xe.RecursedCheck);try{const g=u._snapshot,m=typeof d=="function"?d(g):d===void 0&&r?l(g):d;return g===void 0||!y(g,m)?(u._snapshot=m,!0):!1}finally{Oa=p,r&&(u.flags&=~Xe.RecursedCheck),sl(u)}}};return r?(u.flags=Xe.Mutable|Xe.Dirty,u.get=function(){const d=u.flags;if(d&Xe.Dirty||d&Xe.Pending&&Ug(u.deps,u)){if(u._update()){const p=u.subs;p!==void 0&&zh(p)}}else d&Xe.Pending&&(u.flags=d&~Xe.Pending);return Oa!==void 0&&qh(u,Oa,al),u._snapshot}):u.set=function(d){if(u._update(d)){const p=u.subs;p!==void 0&&(_C(p),zh(p),kg())}},u}function TC(i){const o=()=>{const l=Oa;Oa=r,++al,r.depsTail=void 0,r.flags=Xe.Watching|Xe.RecursedCheck;try{return i()}finally{Oa=l,r.flags&=~Xe.RecursedCheck,sl(r)}},r={deps:void 0,depsTail:void 0,subs:void 0,subsTail:void 0,flags:Xe.Watching|Xe.RecursedCheck,notify(){const l=this.flags;l&Xe.Dirty||l&Xe.Pending&&Ug(this.deps,this)?o():this.flags=Xe.Watching},stop(){this.flags=Xe.None,this.depsTail=void 0,sl(this)}};return o(),r}class xC{constructor(o){this.atom=Bg(o)}setState(o){this.atom.set(o)}get state(){return this.atom.get()}get(){return this.state}subscribe(o){return this.atom.subscribe(hd(o))}}class PC{constructor(o){this.atom=Bg(o)}get state(){return this.atom.get()}get(){return this.state}subscribe(o){return this.atom.subscribe(hd(o))}}function DC(i){return typeof i=="function"?new PC(i):new xC(i)}function OC(i){try{vC(),i()}finally{bC(),kg()}}const Ui="__TSR_index",Fh="popstate",Vh="beforeunload";function LC(i){let o=i.getLocation();const r=new Set,l=p=>{o=i.getLocation(),r.forEach(y=>y({location:o,action:p}))},u=p=>{i.notifyOnIndexChange??!0?l(p):o=i.getLocation()},d=async({task:p,navigateOpts:y,...g})=>{if(y?.ignoreBlocker??!1){p();return}const v=i.getBlockers?.()??[],h=g.type==="PUSH"||g.type==="REPLACE";if(typeof document<"u"&&v.length&&h)for(const C of v){const A=ll(g.path,g.state);if(await C.blockerFn({currentLocation:o,nextLocation:A,action:g.type})){i.onBlocked?.();return}}p()};return{get location(){return o},get length(){return i.getLength()},subscribers:r,subscribe:p=>(r.add(p),()=>{r.delete(p)}),push:(p,y,g)=>{const m=o.state[Ui];y=Hh(m+1,y),d({task:()=>{i.pushState(p,y),l({type:"PUSH"})},navigateOpts:g,type:"PUSH",path:p,state:y})},replace:(p,y,g)=>{const m=o.state[Ui];y=Hh(m,y),d({task:()=>{i.replaceState(p,y),l({type:"REPLACE"})},navigateOpts:g,type:"REPLACE",path:p,state:y})},go:(p,y)=>{d({task:()=>{i.go(p),u({type:"GO",index:p})},navigateOpts:y,type:"GO"})},back:p=>{d({task:()=>{i.back(p?.ignoreBlocker??!1),u({type:"BACK"})},navigateOpts:p,type:"BACK"})},forward:p=>{d({task:()=>{i.forward(p?.ignoreBlocker??!1),u({type:"FORWARD"})},navigateOpts:p,type:"FORWARD"})},canGoBack:()=>o.state[Ui]!==0,createHref:p=>i.createHref(p),block:p=>{if(!i.setBlockers)return()=>{};const y=i.getBlockers?.()??[];return i.setBlockers([...y,p]),()=>{const g=i.getBlockers?.()??[];i.setBlockers?.(g.filter(m=>m!==p))}},flush:()=>i.flush?.(),destroy:()=>i.destroy?.(),notify:l}}function Hh(i,o){o||(o={});const r=gd();return{...o,key:r,__TSR_key:r,[Ui]:i}}function IC(i){const o=typeof document<"u"?window:void 0,r=o.history.pushState,l=o.history.replaceState;let u=[];const d=()=>u,p=z=>u=z,y=(z=>z),g=(()=>ll(`${o.location.pathname}${o.location.search}${o.location.hash}`,o.history.state));if(!o.history.state?.__TSR_key&&!o.history.state?.key){const z=gd();o.history.replaceState({[Ui]:0,key:z,__TSR_key:z},"")}let m=g(),v,h=!1,C=!1,A=!1,R=!1;const P=()=>m;let w,O;const q=()=>{w&&(G._ignoreSubscribers=!0,(w.isPush?o.history.pushState:o.history.replaceState)(w.state,"",w.href),G._ignoreSubscribers=!1,w=void 0,O=void 0,v=void 0)},V=(z,W,me)=>{const re=y(W);O||(v=m),m=ll(W,me),w={href:re,state:me,isPush:w?.isPush||z==="push"},O||(O=Promise.resolve().then(()=>
10q()))},j=z=>{m=g(),G.notify({type:z})},J=async()=>{if(C){C=!1;return}const z=g(),W=z.state[Ui]-m.state[Ui],me=W===1,re=W===-1,ae=!me&&!re||h;h=!1;const Te=ae?"GO":re?"BACK":"FORWARD",xe=ae?{type:"GO",index:W}:{type:re?"BACK":"FORWARD"};if(A)A=!1;else{const Ge=d();if(typeof document<"u"&&Ge.length){for(const L of Ge)if(await L.blockerFn({currentLocation:m,nextLocation:z,action:Te})){C=!0,o.history.go(1),G.notify(xe);return}}}m=g(),G.notify(xe)},ee=z=>{if(R){R=!1;return}let W=!1;const me=d();if(typeof document<"u"&&me.length)for(const re of me){const ae=re.enableBeforeUnload??!0;if(ae===!0){W=!0;break}if(typeof ae=="function"&&ae()===!0){W=!0;break}}if(W)return z.preventDefault(),z.returnValue=""},G=LC({getLocation:P,getLength:()=>o.history.length,pushState:(z,W)=>V("push",z,W),replaceState:(z,W)=>V("replace",z,W),back:z=>(z&&(A=!0),R=!0,o.history.back()),forward:z=>{z&&(A=!0),R=!0,o.history.forward()},go:z=>{h=!0,o.history.go(z)},createHref:z=>y(z),flush:q,destroy:()=>{o.history.pushState=r,o.history.replaceState=l,o.removeEventListener(Vh,ee,{capture:!0}),o.removeEventListener(Fh,J)},onBlocked:()=>{v&&m!==v&&(m=v)},getBlockers:d,setBlockers:p,notifyOnIndexChange:!1});return o.addEventListener(Vh,ee,{capture:!0}),o.addEventListener(Fh,J),o.history.pushState=function(...z){const W=r.apply(o.history,z);return G._ignoreSubscribers||j("PUSH"),W},o.history.replaceState=function(...z){const W=l.apply(o.history,z);return G._ignoreSubscribers||j("REPLACE"),W},G}function NC(i){let o=i.replace(/[\x00-\x1f\x7f]/g,"");return o.startsWith("//")&&(o="/"+o.replace(/^\/+/,"")),o}function ll(i,o){const r=NC(i),l=r.indexOf("#"),u=r.indexOf("?"),d=gd();return{href:r,pathname:r.substring(0,l>0?u>0?Math.min(l,u):l:u>0?u:r.length),hash:l>-1?r.substring(l):"",search:u>-1?r.slice(u,l===-1?void 0:l):"",state:o||{[Ui]:0,key:d,__TSR_key:d}}}function gd(){return(Math.random()+1).toString(36).substring(7)}const MC=!1;function So(i){let o;return OC(()=>{o=i()}),o}function Pr(i){return i[i.length-1]}function UC(i){return typeof i=="function"}function Ni(i,o){return UC(i)?i(o):i}const kC=Object.prototype.hasOwnProperty,jh=Object.prototype.propertyIsEnumerable,BC=()=>Object.create(null),mn=(i,o)=>pn(i,o,BC);function pn(i,o,r=()=>({}),l=0){if(i===o)return i;if(l>500)return o;const u=o,d=Qh(i)&&Qh(u);if(!d&&!(cl(i)&&cl(u)))return u;const p=d?i:Gh(i);if(!p)return u;const y=d?u:Gh(u);if(!y)return u;const g=p.length,m=y.length,v=d?new Array(m):r();let h=0;for(let C=0;C<m;C++){const A=d?C:y[C],R=i[A],P=u[A];if(R===P){v[A]=R,(d?C<g:kC.call(i,A))&&h++;continue}if(R===null||P===null||typeof R!="object"||typeof P!="object"){v[A]=P;continue}const w=pn(R,P,r,l+1);v[A]=w,w===R&&h++}return g===m&&h===g?i:v}function Gh(i){const o=Object.getOwnPropertyNames(i);for(const u of o)if(!jh.call(i,u))return!1;const r=Object.getOwnPropertySymbols(i);if(r.length===0)return o;const l=o;for(const u of r){if(!jh.call(i,u))return!1;l.push(u)}return l}function cl(i){if(!Yh(i))return!1;const o=i.constructor;if(typeof o>"u")return!0;const r=o.prototype;return!(!Yh(r)||!r.hasOwnProperty("isPrototypeOf"))}function Yh(i){return Object.prototype.toString.call(i)==="[object Object]"}function Qh(i){return Array.isArray(i)&&i.length===Object.keys(i).length}function vn(i,o,r){if(i===o)return!0;if(typeof i!=typeof o)return!1;if(Array.isArray(i)&&Array.isArray(o)){if(i.length!==o.length)return!1;for(let l=0,u=i.length;l<u;l++)if(!vn(i[l],o[l],r))return!1;return!0}if(cl(i)&&cl(o)){const l=r?.ignoreUndefined??!0;if(r?.partial){for(const p in o)if((!l||o[p]!==void 0)&&!vn(i[p],o[p],r))return!1;return!0}let u=0;if(!l)u=Object.keys(i).length;else for(const p in i)i[p]!==void 0&&u++;let d=0;for(const p in o)if((!l||o[p]!==void 0)&&(d++,d>u||!vn(i[p],o[p],r)))return!1;return u===d}return!1}function Sn(i){let o,r;const l=new Promise((u,d)=>{o=u,r=d});return l.status="pending",l.resolve=u=>{l.status="resolved",l.value=u,o(u),i?.(u)},l.reject=u=>{l.status="rejected",r(u)},l}function qC(i){return typeof i?.message!="string"?!1:i.message.startsWith("Failed to fetch dynamically imported module")||i.message.startsWith("error loading dynamically imported module")||i.message.startsWith("Importing a module script failed")}function Dr(i){return!!(i&&typeof i=="object"&&typeof i.then=="function")}function zC(i){return i.replace(/[\x00-\x1f\x7f]/g,"")}function Kh(i){let o;try{o=decodeURI(i)}catch{o=i.replaceAll(/%[0-9A-F]{2}/gi,r=>{try{return decodeURI(r)}catch{return r}})}return zC(o)}const FC=["http:","https:","mailto:","tel:"];function ul(i,o){if(!i)return!1;
10try{const r=new URL(i);return!o.has(r.protocol)}catch{return!1}}const VC={"&":"\\u0026",">":"\\u003e","<":"\\u003c","\u2028":"\\u2028","\u2029":"\\u2029"},HC=/[&><\u2028\u2029]/g;function jC(i){return i.replace(HC,o=>VC[o])}function vr(i){if(!i)return{path:i,handledProtocolRelativeURL:!1};if(!/[%\\\x00-\x1f\x7f]/.test(i)&&!i.startsWith("//"))return{path:i,handledProtocolRelativeURL:!1};const o=/%25|%5C/gi;let r=0,l="",u;for(;(u=o.exec(i))!==null;)l+=Kh(i.slice(r,u.index))+u[0],r=o.lastIndex;l=l+Kh(r?i.slice(r):i);let d=!1;return l.startsWith("//")&&(d=!0,l="/"+l.replace(/^\/+/,"")),{path:l,handledProtocolRelativeURL:d}}function GC(i){return/\s|[^\u0000-\u007F]/.test(i)?i.replace(/\s|[^\u0000-\u007F]/gu,encodeURIComponent):i}var YC="Invariant failed";function ia(i,o){if(!i)throw new Error(YC)}function dl(i){const o=new Map;let r,l;const u=d=>{d.next&&(d.prev?(d.prev.next=d.next,d.next.prev=d.prev,d.next=void 0,l&&(l.next=d,d.prev=l)):(d.next.prev=void 0,r=d.next,d.next=void 0,l&&(d.prev=l,l.next=d)),l=d)};return{get(d){const p=o.get(d);if(p)return u(p),p.value},set(d,p){if(o.size>=i&&r){const g=r;o.delete(g.key),g.next&&(r=g.next,g.next.prev=void 0),g===l&&(l=void 0)}const y=o.get(d);if(y)y.value=p,u(y);else{const g={key:d,value:p,prev:l};l&&(l.next=g),l=g,r||(r=g),o.set(d,g)}},clear(){o.clear(),r=void 0,l=void 0}}}const Ro=0,An=1,En=2,Or=3,hn=4,qg=5;function QC(i){const o=i.indexOf("{");if(o===-1)return null;const r=i.indexOf("}",o);return r===-1||o+1>=i.length?null:[o,r]}function yd(i,o,r=new Uint16Array(6)){const l=i.indexOf("/",o),u=l===-1?i.length:l,d=i.substring(o,u);if(!d||!d.includes("$"))return r[0]=Ro,r[1]=o,r[2]=o,r[3]=u,r[4]=u,r[5]=u,r;if(d==="$"){const y=i.length;return r[0]=En,r[1]=o,r[2]=o,r[3]=y,r[4]=y,r[5]=y,r}
10if(d.charCodeAt(0)===36)return r[0]=An,r[1]=o,r[2]=o+1,r[3]=u,r[4]=u,r[5]=u,r;const p=QC(d);if(p){const[y,g]=p,m=d.charCodeAt(y+1);if(m===45){if(y+2<d.length&&d.charCodeAt(y+2)===36){const v=y+3,h=g;if(v<h)return r[0]=Or,r[1]=o+y,r[2]=o+v,r[3]=o+h,r[4]=o+g+1,r[5]=u,r}}else if(m===36){const v=y+1,h=y+2;return h===g?(r[0]=En,r[1]=o+y,r[2]=o+v,r[3]=o+h,r[4]=o+g+1,r[5]=i.length,r):(r[0]=An,r[1]=o+y,r[2]=o+h,r[3]=o+g,r[4]=o+g+1,r[5]=u,r)}}return r[0]=Ro,r[1]=o,r[2]=o,r[3]=u,r[4]=u,r[5]=u,r}function vl(i,o,r,l,u,d,p){p?.(r);let y=l;{const g=r.fullPath??r.from,m=g.length,v=r.options?.caseSensitive??i,h=!!(r.options?.params?.parse&&r.options?.skipRouteOnParseError?.params);for(;y<m;){const A=yd(g,y,o);let R;const P=y,w=A[5];switch(y=w+1,d++,A[0]){case Ro:{const q=g.substring(A[2],A[3]);if(v){const V=u.static?.get(q);if(V)R=V;else{u.static??=new Map;const j=gn(r.fullPath??r.from);j.parent=u,j.depth=d,R=j,u.static.set(q,j)}}else{const V=q.toLowerCase(),j=u.staticInsensitive?.get(V);if(j)R=j;else{u.staticInsensitive??=new Map;const J=gn(r.fullPath??r.from);J.parent=u,J.depth=d,R=J,u.staticInsensitive.set(V,J)}}break}case An:{const q=g.substring(P,A[1]),V=g.substring(A[4],w),j=v&&!!(q||V),J=q?j?q:q.toLowerCase():void 0,ee=V?j?V:V.toLowerCase():void 0,G=!h&&u.dynamic?.find(z=>!z.skipOnParamError&&z.caseSensitive===j&&z.prefix===J&&z.suffix===ee);if(G)R=G;else{const z=Gu(An,r.fullPath??r.from,j,J,ee);R=z,z.depth=d,z.parent=u,u.dynamic??=[],u.dynamic.push(z)}break}case Or:{const q=g.substring(P,A[1]),V=g.substring(A[4],w),j=v&&!!(q||V),J=q?j?q:q.toLowerCase():void 0,ee=V?j?V:V.toLowerCase():void 0,G=!h&&u.optional?.find(z=>!z.skipOnParamError&&z.caseSensitive===j&&z.prefix===J&&z.suffix===ee);if(G)R=G;else{const z=Gu(Or,r.fullPath??r.from,j,J,ee);R=z,z.parent=u,z.depth=d,u.optional??=[],u.optional.push(z)}break}case En:{const q=g.substring(P,A[1]),V=g.substring(A[4],w),j=v&&!!(q||V),J=q?j?q:q.toLowerCase():void 0,ee=V?j?V:V.toLowerCase():void 0,G=Gu(En,r.fullPath??r.from,j,J,ee);R=G,G.parent=u,G.depth=d,u.wildcard??=[],u.wildcard.push(G)}}u=R}if(h&&r.children&&!r.isRoot&&r.id&&r.id.charCodeAt(r.id.lastIndexOf("/")+1)===95){const A=gn(r.fullPath??r.from);A.kind=qg,A.parent=u,d++,A.depth=d,u.pathless??=[],u.pathless.push(A),u=A}const C=(r.path||!r.children)&&!r.isRoot;if(C&&g.endsWith("/")){const A=gn(r.fullPath??r.from);A.kind=hn,A.parent=u,d++,A.depth=d,u.index=A,u=A}u.parse=r.options?.params?.parse??null,u.skipOnParamError=h,u.parsingPriority=r.options?.skipRouteOnParseError?.priority??0,C&&!u.route&&(u.route=r,u.fullPath=r.fullPath??r.from)}if(r.children)for(const g of r.children)vl(i,o,g,y,u,d,p)}function ju(i,o){if(i.skipOnParamError&&!o.skipOnParamError)return-1;if(!i.skipOnParamError&&o.skipOnParamError)return 1;if(i.skipOnParamError&&o.skipOnParamError&&(i.parsingPriority||o.parsingPriority))return o.parsingPriority-i.parsingPriority;if(i.prefix&&o.prefix&&i.prefix!==o.prefix){if(i.prefix.startsWith(o.prefix))return-1;if(o.prefix.startsWith(i.prefix))return 1}if(i.suffix&&o.suffix&&i.suffix!==o.suffix){if(i.suffix.endsWith(o.suffix))return-1;if(o.suffix.endsWith(i.suffix))return 1}return i.prefix&&!o.prefix?-1:!i.prefix&&o.prefix?1:i.suffix&&!o.suffix?-1:!i.suffix&&o.suffix?1:i.caseSensitive&&!o.caseSensitive?-1:!i.caseSensitive&&o.caseSensitive?1:0}function Li(i){if(i.pathless)for(const o of i.pathless)Li(o);if(i.static)for(const o of i.static.values())Li(o);if(i.staticInsensitive)for(const o of i.staticInsensitive.values())Li(o);if(i.dynamic?.length){i.dynamic.sort(ju);for(const o of i.dynamic)Li(o)}if(i.optional?.length){i.optional.sort(ju);for(const o of i.optional)Li(o)}if(i.wildcard?.length){i.wildcard.sort(ju);for(const o of i.wildcard)Li(o)}}function gn(i){return{kind:Ro,depth:0,pathless:null,index:null,static:null,staticInsensitive:null,dynamic:null,optional:null,wildcard:null,route:null,fullPath:i,parent:null,parse:null,skipOnParamError:!1,parsingPriority:0}}function Gu(i,o,r,l,u){return{kind:i,depth:0,pathless:null,index:null,static:null,staticInsensitive:null,dynamic:null,optional:null,wildcard:null,route:null,fullPath:o,parent:null,parse:null,skipOnParamError:!1,parsingPriority:0,caseSensitive:r,prefix:l,suffix:u}}function KC(i,o){const r=gn("/"),l=new Uint16Array(6);for(const u of i)vl(!1,l,u,1,r,0);Li(r),o.masksTree=r,o.flatCache=dl(1e3)}function $C(i,o){i||="/";const r=o.flatCache.get(i);if(r)return r;const l=vd(i,o.masksTree);return o.flatCache.set(i,l),l}function XC(i,o,r,l,u){i||="/",l||="/";const d=o?`case\0${i}`:i;let p=u.singleCache.get(d);if(!p){p=gn("/");const y=new Uint16Array(6);vl(o,y,{from:i},1,p,0),u.singleCache.set(d,p)}return vd(l,p,r)}function WC(i,o,r=!1){const l=r?i:`nofuzz\0${i}`,u=o.matchCache.get(l);if(u!==void 0)return u;i||="/";let d;try{d=vd(i,o.segmentTree,r)}catch(p){if(p instanceof URIError)d=null;else throw p}return d&&(d.branch=eS(d.route)),o.matchCache.set(l,d),d}function ZC(i){return i==="/"?i:i.replace(/\/{1,}$/,"")}function JC(i,o=!1,r){const l=gn(i.fullPath),u=new Uint16Array(6),d={},p={};let y=0;return vl(o,u,i,1,l,0,m=>{if(r?.(m,y),ia(!(m.id in d),`Duplicate routes found with id: ${String(m.id)}`),d[m.id]=m,y!==0&&m.path){const v=ZC(m.fullPath);(!p[v]||m.fullPath.endsWith("/"))&&(p[v]=m)}y++}),Li(l),{processedTree:{segmentTree:l,singleCache:dl(1e3),matchCache:dl(1e3),flatCache:null,masksTree:null},routesById:d,routesByPath:p}}function vd(i,o,r=!1){const l=i.split("/"),u=aS(i,l,o,r);if(!u)return null;const[d]=zg(i,l,u);return{route:u.node.route,rawParams:d,parsedParams:u.parsedParams}}function zg(i,o,r){const l=tS(r.node);let u=null;const d=Object.create(null);let p=r.extract?.part??0,y=r.extract?.node??0,g=r.extract?.path??0,m=r.extract?.segment??0;for(;y<l.length;p++,y++,g++,m++){const v=l[y];if(v.kind===hn)break;if(v.kind===qg){m--,p--,g--;continue}const h=o[p],C=g;if(h&&(g+=h.length),v.kind===An){u??=r.node.fullPath.split("/");const A=u[m],R=v.prefix?.length??0;if(A.charCodeAt(R)===123){const w=v.suffix?.length??0,O=A.substring(R+2,A.length-w-1),q=h.substring(R,h.length-w);d[O]=decodeURIComponent(q)}else{const w=A.substring(1);d[w]=decodeURIComponent(h)}}else if(v.kind===Or){if(r.skipped&1<<y){p--,g=C-1;continue}u??=r.node.fullPath.split("/");const A=u[m],R=v.prefix?.length??0,P=v.suffix?.length??0,w=A.substring(R+3,A.length-P-1),O=v.suffix||v.prefix?h.substring(R,h.length-P):h;O&&(d[w]=decodeURIComponent(O))}else if(v.kind===En){const A=v,R=i.substring(C+(A.prefix?.length??0),i.length-(A.suffix?.length??0)),P=decodeURIComponent(R);d["*"]=P,d._splat=P;break}}return r.rawParams&&Object.assign(d,r.rawParams),[d,{part:p,node:y,path:g,segment:m}]}function eS(i){const o=[i];for(;i.parentRoute;)i=i.parentRoute,o.push(i);return o.reverse(),o}function tS(i){const o=Array(i.depth+1);do o[i.depth]=i,i=i.parent;while(i);return o}function aS(i,o,r,l){if(i==="/"&&r.index)return{node:r.index,skipped:0};const u=!Pr(o),d=u&&i!=="/",p=o.length-(u?1:0),y=[{node:r,index:1,skipped:0,depth:1,statics:1,dynamics:0,optionals:0}];let g=null,m=null,v=null;for(;y.length;){const h=y.pop(),{node:C,index:A,skipped:R,depth:P,statics:w,dynamics:O,optionals:q}=h;let{extract:V,rawParams:j,parsedParams:J}=h;if(C.skipOnParamError){if(!Yu(i,o,h))continue;j=h.rawParams,V=h.extract,J=h.parsedParams}l&&C.route&&C.kind!==hn&&br(m,h)&&(m=h);const ee=A===p;if(ee&&(C.route&&!d&&br(v,h)&&(v=h),!C.optional&&!C.wildcard&&!C.index&&!C.pathless))continue;const G=ee?void 0:o[A];let z;if(ee&&C.index){const W={node:C.index,index:A,skipped:R,depth:P+1,statics:w,dynamics:O,optionals:q,extract:V,rawParams:j,parsedParams:J};let me=!0;if(C.index.skipOnParamError&&(Yu(i,o,W)||(me=!1)),me){if(w===p&&!O&&!q&&!R)return W;br(v,W)&&(v=W)}}if(C.wildcard&&br(g,h))for(const W of C.wildcard){const{prefix:me,suffix:re}=W;if(me&&(ee||!(W.caseSensitive?G:z??=G.toLowerCase()).startsWith(me)))continue;if(re){if(ee)continue;const Te=o.slice(A).join("/").slice(-re.length);if((W.caseSensitive?Te:Te.toLowerCase())!==re)continue}
10const ae={node:W,index:p,skipped:R,depth:P,statics:w,dynamics:O,optionals:q,extract:V,rawParams:j,parsedParams:J};if(!(W.skipOnParamError&&!Yu(i,o,ae))){g=ae;break}}if(C.optional){const W=R|1<<P,me=P+1;for(let re=C.optional.length-1;re>=0;re--){const ae=C.optional[re];y.push({node:ae,index:A,skipped:W,depth:me,statics:w,dynamics:O,optionals:q,extract:V,rawParams:j,parsedParams:J})}if(!ee)for(let re=C.optional.length-1;re>=0;re--){const ae=C.optional[re],{prefix:Te,suffix:xe}=ae;if(Te||xe){const Ge=ae.caseSensitive?G:z??=G.toLowerCase();if(Te&&!Ge.startsWith(Te)||xe&&!Ge.endsWith(xe))continue}y.push({node:ae,index:A+1,skipped:R,depth:me,statics:w,dynamics:O,optionals:q+1,extract:V,rawParams:j,parsedParams:J})}}if(!ee&&C.dynamic&&G)for(let W=C.dynamic.length-1;W>=0;W--){const me=C.dynamic[W],{prefix:re,suffix:ae}=me;if(re||ae){const Te=me.caseSensitive?G:z??=G.toLowerCase();if(re&&!Te.startsWith(re)||ae&&!Te.endsWith(ae))continue}y.push({node:me,index:A+1,skipped:R,depth:P+1,statics:w,dynamics:O+1,optionals:q,extract:V,rawParams:j,parsedParams:J})}if(!ee&&C.staticInsensitive){const W=C.staticInsensitive.get(z??=G.toLowerCase());W&&y.push({node:W,index:A+1,skipped:R,depth:P+1,statics:w+1,dynamics:O,optionals:q,extract:V,rawParams:j,parsedParams:J})}if(!ee&&C.static){const W=C.static.get(G);W&&y.push({node:W,index:A+1,skipped:R,depth:P+1,statics:w+1,dynamics:O,optionals:q,extract:V,rawParams:j,parsedParams:J})}if(C.pathless){const W=P+1;for(let me=C.pathless.length-1;me>=0;me--){const re=C.pathless[me];y.push({node:re,index:A,skipped:R,depth:W,statics:w,dynamics:O,optionals:q,extract:V,rawParams:j,parsedParams:J})}}}if(v&&g)return br(g,v)?v:g;if(v)return v;if(g)return g;if(l&&m){let h=m.index;for(let A=0;A<m.index;A++)h+=o[A].length;const C=h===i.length?"/":i.slice(h);return m.rawParams??=Object.create(null),m.rawParams["**"]=decodeURIComponent(C),m}return null}function Yu(i,o,r){try{const[l,u]=zg(i,o,r);r.rawParams=l,r.extract=u;const d=r.node.parse(l);return r.parsedParams=Object.assign(Object.create(null),r.parsedParams,d),!0}catch{return null}}function br(i,o){return i?o.statics>i.statics||o.statics===i.statics&&(o.dynamics>i.dynamics||o.dynamics===i.dynamics&&(o.optionals>i.optionals||o.optionals===i.optionals&&((o.node.kind===hn)>(i.node.kind===hn)||o.node.kind===hn==(i.node.kind===hn)&&o.depth>i.depth))):!0}function il(i){return bd(i.filter(o=>o!==void 0).join("/"))}function bd(i){return i.replace(/\/{2,}/g,"/")}function Fg(i){return i==="/"?i:i.replace(/^\/{1,}/,"")}function ki(i){const o=i.length;return o>1&&i[o-1]==="/"?i.replace(/\/{1,}$/,""):i}function Vg(i){return ki(Fg(i))}function fl(i,o){return i?.endsWith("/")&&i!=="/"&&i!==`${o}/`?i.slice(0,-1):i}function iS(i,o,r){return fl(i,r)===fl(o,r)}function nS({base:i,to:o,trailingSlash:r="never",cache:l}){const u=o.startsWith("/"),d=!u&&o===".";let p;if(l){p=u?o:d?i:i+"\0"+o;const h=l.get(p);if(h)return h}let y;if(d)y=i.split("/");else if(u)y=o.split("/");else{for(y=i.split("/");y.length>1&&Pr(y)==="";)y.pop();const h=o.split("/");for(let C=0,A=h.length;C<A;C++){const R=h[C];R===""?C?C===A-1&&y.push(R):y=[R]:R===".."?y.pop():R==="."||y.push(R)}}y.length>1&&(Pr(y)===""?r==="never"&&y.pop():r==="always"&&y.push(""));let g,m="";for(let h=0;h<y.length;h++){h>0&&(m+="/");const C=y[h];if(!C)continue;g=yd(C,0,g);const A=g[0];if(A===Ro){m+=C;continue}const R=g[5],P=C.substring(0,g[1]),w=C.substring(g[4],R),O=C.substring(g[2],g[3]);A===An?m+=P||w?`${P}{$${O}}${w}`:`$${O}`:A===En?m+=P||w?`${P}{$}${w}`:"$":m+=`${P}{-$${O}}${w}`}m=bd(m);const v=m||"/";return p&&l&&l.set(p,v),v}function oS(i){const o=new Map(i.map(u=>[encodeURIComponent(u),u])),r=Array.from(o.keys()).map(u=>u.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("|"),l=new RegExp(r,"g");return u=>u.replace(l,d=>o.get(d)??d)}function Qu(i,o,r){const l=o[i];return typeof l!="string"?l:i==="_splat"?/^[a-zA-Z0-9\-._~!/]*$/.test(l)?l:l.split("/").map(u=>Xh(u,r)).join("/"):Xh(l,r)}function $h({path:i,params:o,decoder:r,...l}){let u=!1;const d=Object.create(null);if(!i||i==="/")return{interpolatedPath:"/",usedParams:d,isMissingParams:u};if(!i.includes("$"))return{interpolatedPath:i,usedParams:d,isMissingParams:u};const p=i.length;let y=0,g,m="";for(;y<p;){const h=y;g=yd(i,h,g);const C=g[5];if(y=C+1,h===C)continue;const A=g[0];if(A===Ro){m+="/"+i.substring(h,C);continue}if(A===En){const R=o._splat;d._splat=R,d["*"]=R;const P=i.substring(h,g[1]),w=i.substring(g[4],C);if(!R){u=!0,(P||w)&&(m+="/"+P+w);continue}const O=Qu("_splat",o,r);m+="/"+P+O+w;continue}if(A===An){const R=i.substring(g[2],g[3]);!u&&!(R in o)&&(u=!0),d[R]=o[R];const P=i.substring(h,g[1]),w=i.substring(g[4],C),O=Qu(R,o,r)??"undefined";m+="/"+P+O+w;continue}if(A===Or){const R=i.substring(g[2],g[3]),P=o[R];if(P==null)continue;d[R]=P;const w=i.substring(h,g[1]),O=i.substring(g[4],C),q=Qu(R,o,r)??"";m+="/"+w+q+O;continue}}return i.endsWith("/")&&(m+="/"),{usedParams:d,interpolatedPath:m||"/",isMissingParams:u}}function Xh(i,o){const r=encodeURIComponent(i);return o?.(r)??r}function _t(i){return!!i?.isNotFound}function rS(){try{if(typeof window<"u"&&typeof window.sessionStorage=="object")return window.sessionStorage}catch{}}const rd="tsr-scroll-restoration-v1_3",sS=(i,o)=>{let r;return(...l)=>{r||(r=setTimeout(()=>{i(...l),r=null},o))}};function lS(){const i=rS();if(!i)return null;const o=i.getItem(rd);let r=o?JSON.parse(o):{};return{state:r,set:l=>{r=Ni(l,r)||r;try{i.setItem(rd,JSON.stringify(r))}catch{console.warn("[ts-router] Could not persist scroll restoration state to sessionStorage.")}}}}const Zs=lS(),cS=i=>i.state.__TSR_key||i.href;function uS(i){const o=[];let r;for(;r=i.parentNode;)o.push(`${i.tagName}:nth-child(${Array.prototype.indexOf.call(r.children,i)+1})`),i=r;return`${o.reverse().join(" > ")}`.toLowerCase()}let ml=!1;function dS({storageKey:i,key:o,behavior:r,shouldScrollRestoration:l,scrollToTopSelectors:u,location:d}){let p;try{p=JSON.parse(sessionStorage.getItem(i)||"{}")}catch(m){console.error(m);return}const y=o||window.history.state?.__TSR_key,g=p[y];ml=!0;e:{if(l&&g&&Object.keys(g).length>0){for(const h in g){const C=g[h];if(h==="window")window.scrollTo({top:C.scrollY,left:C.scrollX,behavior:r});else if(h){const A=document.querySelector(h);A&&(A.scrollLeft=C.scrollX,A.scrollTop=C.scrollY)}}break e}const m=(d??window.location).hash.split("#",2)[1];if(m){const h=window.history.state?.__hashScrollIntoViewOptions??!0;if(h){const C=document.getElementById(m);C&&C.scrollIntoView(h)}break e}const v={top:0,left:0,behavior:r};if(window.scrollTo(v),u)for(const h of u){if(h==="window")continue;const C=typeof h=="function"?h():document.querySelector(h);C&&C.scrollTo(v)}}ml=!1}function fS(i,o){if(!Zs||((i.options.scrollRestoration??!1)&&(i.isScrollRestoring=!0),i.isScrollRestorationSetup||!Zs))return;i.isScrollRestorationSetup=!0,ml=!1;const l=i.options.getScrollRestorationKey||cS;window.history.scrollRestoration="manual";const u=d=>{if(ml||!i.isScrollRestoring)return;let p="";if(d.target===document||d.target===window)p="window";else{const g=d.target.getAttribute("data-scroll-restoration-id");g?p=`[data-scroll-restoration-id="${g}"]`:p=uS(d.target)}const y=l(i.state.location);Zs.set(g=>{const m=g[y]||={},v=m[p]||={};if(p==="window")v.scrollX=window.scrollX||0,v.scrollY=window.scrollY||0;else if(p){const h=document.querySelector(p);h&&(v.scrollX=h.scrollLeft||0,v.scrollY=h.scrollTop||0)}return g})};typeof document<"u"&&document.addEventListener("scroll",sS(u,100),!0),i.subscribe("onRendered",d=>{const p=l(d.toLocation);if(!i.resetNextScroll){i.resetNextScroll=!0;return}typeof i.options.scrollRestoration=="function"&&!i.options.scrollRestoration({location:i.latestLocation})||(dS({storageKey:rd,key:p,behavior:i.options.scrollRestorationBehavior,shouldScrollRestoration:i.isScrollRestoring,scrollToTopSelectors:i.options.scrollToTopSelectors,location:i.history.location}),i.isScrollRestoring&&Zs.set(y=>(y[p]||={},y)))})}
10function mS(i){if(typeof document<"u"&&document.querySelector){const o=i.state.location.state.__hashScrollIntoViewOptions??!0;if(o&&i.state.location.hash!==""){const r=document.getElementById(i.state.location.hash);r&&r.scrollIntoView(o)}}}function Hg(i,o=String){const r=new URLSearchParams;for(const l in i){const u=i[l];u!==void 0&&r.set(l,o(u))}return r.toString()}function Ku(i){return i?i==="false"?!1:i==="true"?!0:+i*0===0&&+i+""===i?+i:i:""}function pS(i){const o=new URLSearchParams(i),r=Object.create(null);for(const[l,u]of o.entries()){const d=r[l];d==null?r[l]=Ku(u):Array.isArray(d)?d.push(Ku(u)):r[l]=[d,Ku(u)]}return r}const hS=yS(JSON.parse),gS=vS(JSON.stringify,JSON.parse);function yS(i){return o=>{o[0]==="?"&&(o=o.substring(1));const r=pS(o);for(const l in r){const u=r[l];if(typeof u=="string")try{r[l]=i(u)}catch{}}return r}}function vS(i,o){const r=typeof o=="function";function l(u){if(typeof u=="object"&&u!==null)try{return i(u)}catch{}else if(r&&typeof u=="string")try{return o(u),i(u)}catch{}return u}return u=>{const d=Hg(u,l);return d?`?${d}`:""}}const ha="__root__";function Aa(i){if(i.statusCode=i.statusCode||i.code||307,!i._builtLocation&&!i.reloadDocument&&typeof i.href=="string")try{new URL(i.href),i.reloadDocument=!0}catch{}const o=new Headers(i.headers);i.href&&o.get("Location")===null&&o.set("Location",i.href);const r=new Response(null,{status:i.statusCode,headers:o});if(r.options=i,i.throw)throw r;return r}function Nt(i){return i instanceof Response&&!!i.options}function jg(i){if(i!==null&&typeof i=="object"&&i.isSerializedRedirect)return Aa(i)}const sd=i=>{if(!i.rendered)return i.rendered=!0,i.onReady?.()},bl=(i,o)=>!!(i.preload&&!i.router.state.matches.some(r=>r.id===o)),bn=(i,o,r=!0)=>{const l={...i.router.options.context??{}},u=r?o:o-1;for(let d=0;d<=u;d++){const p=i.matches[d];if(!p)continue;const y=i.router.getMatch(p.id);
10y&&Object.assign(l,y.__routeContext,y.__beforeLoadContext)}return l},Wh=(i,o)=>{if(!i.matches.length)return;const r=o.routeId,l=i.matches.findIndex(p=>p.routeId===i.router.routeTree.id),u=l>=0?l:0;let d=r?i.matches.findIndex(p=>p.routeId===r):i.firstBadMatchIndex??i.matches.length-1;d<0&&(d=u);for(let p=d;p>=0;p--){const y=i.matches[p];if(i.router.looseRoutesById[y.routeId].options.notFoundComponent)return p}return r?d:u},Mi=(i,o,r)=>{if(!(!Nt(r)&&!_t(r)))throw Nt(r)&&r.redirectHandled&&!r.options.reloadDocument||(o&&(o._nonReactive.beforeLoadPromise?.resolve(),o._nonReactive.loaderPromise?.resolve(),o._nonReactive.beforeLoadPromise=void 0,o._nonReactive.loaderPromise=void 0,o._nonReactive.error=r,i.updateMatch(o.id,l=>({...l,status:Nt(r)?"redirected":l.status==="pending"?"success":l.status,context:bn(i,o.index),isFetching:!1,error:r})),_t(r)&&!r.routeId&&(r.routeId=o.routeId),o._nonReactive.loadPromise?.resolve()),Nt(r)&&(i.rendered=!0,r.options._fromLocation=i.location,r.redirectHandled=!0,r=i.router.resolveRedirect(r))),r},Gg=(i,o)=>{const r=i.router.getMatch(o);return!!(!r||r._nonReactive.dehydrated)},Zh=(i,o,r)=>{const l=bn(i,r);i.updateMatch(o,u=>({...u,context:l}))},Cr=(i,o,r,l)=>{const{id:u,routeId:d}=i.matches[o],p=i.router.looseRoutesById[d];if(r instanceof Promise)throw r;r.routerCode=l,i.firstBadMatchIndex??=o,Mi(i,i.router.getMatch(u),r);try{p.options.onError?.(r)}catch(y){r=y,Mi(i,i.router.getMatch(u),r)}i.updateMatch(u,y=>(y._nonReactive.beforeLoadPromise?.resolve(),y._nonReactive.beforeLoadPromise=void 0,y._nonReactive.loadPromise?.resolve(),{...y,error:r,status:"error",isFetching:!1,updatedAt:Date.now(),abortController:new AbortController})),!i.preload&&!Nt(r)&&!_t(r)&&(i.serialError??=r)},Yg=(i,o,r,l)=>{if(l._nonReactive.pendingTimeout!==void 0)return;const u=r.options.pendingMs??i.router.options.defaultPendingMs;if(!!(i.onReady&&!bl(i,o)&&(r.options.loader||r.options.beforeLoad||Kg(r))&&typeof u=="number"&&u!==1/0&&(r.options.pendingComponent??i.router.options?.defaultPendingComponent))){const p=setTimeout(()=>{sd(i)},u);l._nonReactive.pendingTimeout=p}},bS=(i,o,r)=>{const l=i.router.getMatch(o);if(!l._nonReactive.beforeLoadPromise&&!l._nonReactive.loaderPromise)return;Yg(i,o,r,l);const u=()=>{const d=i.router.getMatch(o);d.preload&&(d.status==="redirected"||d.status==="notFound")&&Mi(i,d,d.error)};return l._nonReactive.beforeLoadPromise?l._nonReactive.beforeLoadPromise.then(u):u()},CS=(i,o,r,l)=>{const u=i.router.getMatch(o),d=u._nonReactive.loadPromise;u._nonReactive.loadPromise=Sn(()=>{d?.resolve()});const{paramsError:p,searchError:y}=u;p&&Cr(i,r,p,"PARSE_PARAMS"),y&&Cr(i,r,y,"VALIDATE_SEARCH"),Yg(i,o,l,u);const g=new AbortController;let m=!1;const v=()=>{m||(m=!0,i.updateMatch(o,j=>({...j,isFetching:"beforeLoad",fetchCount:j.fetchCount+1,abortController:g})))},h=()=>{u._nonReactive.beforeLoadPromise?.resolve(),u._nonReactive.beforeLoadPromise=void 0,i.updateMatch(o,j=>({...j,isFetching:!1}))};if(!l.options.beforeLoad){So(()=>{v(),h()});return}u._nonReactive.beforeLoadPromise=Sn();const C={...bn(i,r,!1),...u.__routeContext},{search:A,params:R,cause:P}=u,w=bl(i,o),O={search:A,abortController:g,params:R,preload:w,context:C,location:i.location,navigate:j=>i.router.navigate({...j,_fromLocation:i.location}),buildLocation:i.router.buildLocation,cause:w?"preload":P,matches:i.matches,routeId:l.id,...i.router.options.additionalContext},q=j=>{if(j===void 0){So(()=>{v(),h()});return}(Nt(j)||_t(j))&&(v(),Cr(i,r,j,"BEFORE_LOAD")),So(()=>{v(),i.updateMatch(o,J=>({...J,__beforeLoadContext:j})),h()})};let V;try{if(V=l.options.beforeLoad(O),Dr(V))return v(),V.catch(j=>{Cr(i,r,j,"BEFORE_LOAD")}).then(q)}catch(j){v(),Cr(i,r,j,"BEFORE_LOAD")}q(V)},SS=(i,o)=>{const{id:r,routeId:l}=i.matches[o],u=i.router.looseRoutesById[l],d=()=>y(),p=()=>CS(i,r,o,u),y=()=>
10{if(Gg(i,r))return;const g=bS(i,r,u);return Dr(g)?g.then(p):p()};return d()},AS=(i,o,r)=>{const l=i.router.getMatch(o);if(!l||!r.options.head&&!r.options.scripts&&!r.options.headers)return;const u={ssr:i.router.options.ssr,matches:i.matches,match:l,params:l.params,loaderData:l.loaderData};return Promise.all([r.options.head?.(u),r.options.scripts?.(u),r.options.headers?.(u)]).then(([d,p,y])=>{const g=d?.meta,m=d?.links,v=d?.scripts,h=d?.styles;return{meta:g,links:m,headScripts:v,headers:y,scripts:p,styles:h}})},Qg=(i,o,r,l,u)=>{const d=o[l-1],{params:p,loaderDeps:y,abortController:g,cause:m}=i.router.getMatch(r),v=bn(i,l),h=bl(i,r);return{params:p,deps:y,preload:!!h,parentMatchPromise:d,abortController:g,context:v,location:i.location,navigate:C=>i.router.navigate({...C,_fromLocation:i.location}),cause:h?"preload":m,route:u,...i.router.options.additionalContext}},Jh=async(i,o,r,l,u)=>{try{const d=i.router.getMatch(r);try{(!(MC??i.router.isServer)||d.ssr===!0)&&Lr(u);const p=u.options.loader?.(Qg(i,o,r,l,u)),y=u.options.loader&&Dr(p);if((y||u._lazyPromise||u._componentsPromise||u.options.head||u.options.scripts||u.options.headers||d._nonReactive.minPendingPromise)&&i.updateMatch(r,v=>({...v,isFetching:"loader"})),u.options.loader){const v=y?await p:p;Mi(i,i.router.getMatch(r),v),v!==void 0&&i.updateMatch(r,h=>({...h,loaderData:v}))}u._lazyPromise&&await u._lazyPromise;const m=d._nonReactive.minPendingPromise;m&&await m,u._componentsPromise&&await u._componentsPromise,i.updateMatch(r,v=>({...v,error:void 0,context:bn(i,l),status:"success",isFetching:!1,updatedAt:Date.now()}))}catch(p){let y=p;if(y?.name==="AbortError"){if(d.abortController.signal.aborted){d._nonReactive.loaderPromise?.resolve(),d._nonReactive.loaderPromise=void 0;return}i.updateMatch(r,m=>({...m,status:m.status==="pending"?"success":m.status,isFetching:!1,context:bn(i,l)}));return}const g=d._nonReactive.minPendingPromise;g&&await g,_t(p)&&await u.options.notFoundComponent?.preload?.(),Mi(i,i.router.getMatch(r),p);try{u.options.onError?.(p)}catch(m){y=m,Mi(i,i.router.getMatch(r),m)}!Nt(y)&&!_t(y)&&await Lr(u,["errorComponent"]),i.updateMatch(r,m=>({...m,error:y,context:bn(i,l),status:"error",isFetching:!1}))}}catch(d){const p=i.router.getMatch(r);p&&(p._nonReactive.loaderPromise=void 0),Mi(i,p,d)}},ES=async(i,o,r)=>{async function l(h,C,A,R,P){const w=Date.now()-C.updatedAt,O=h?P.options.preloadStaleTime??i.router.options.defaultPreloadStaleTime??3e4:P.options.staleTime??i.router.options.defaultStaleTime??0,q=P.options.shouldReload,V=typeof q=="function"?q(Qg(i,o,u,r,P)):q,{status:j,invalid:J}=R,ee=w>O&&(!!i.forceStaleReload||R.cause==="enter"||A!==void 0&&A!==R.id);p=j==="success"&&(J||(V??ee)),h&&P.options.preload===!1||(p&&!i.sync?(y=!0,(async()=>{try{await Jh(i,o,u,r,P);const G=i.router.getMatch(u);G._nonReactive.loaderPromise?.resolve(),G._nonReactive.loadPromise?.resolve(),G._nonReactive.loaderPromise=void 0}catch(G){Nt(G)&&await i.router.navigate(G.options)}})()):j!=="success"||p&&i.sync?await Jh(i,o,u,r,P):Zh(i,u,r))}const{id:u,routeId:d}=i.matches[r];let p=!1,y=!1;const g=i.router.looseRoutesById[d];if(Gg(i,u)){if(!i.router.getMatch(u))return i.matches[r];Zh(i,u,r)}else{const h=i.router.getMatch(u),C=i.router.state.matches[r]?.routeId===d?i.router.state.matches[r].id:i.router.state.matches.find(R=>R.routeId===d)?.id,A=bl(i,u);if(h._nonReactive.loaderPromise){if(h.status==="success"&&!i.sync&&!h.preload)return h;await h._nonReactive.loaderPromise;const R=i.router.getMatch(u),P=R._nonReactive.error||R.error;P&&Mi(i,R,P),R.status==="pending"&&await l(A,h,C,R,g)}else{const R=A&&!i.router.state.matches.some(w=>w.id===u),P=i.router.getMatch(u);P._nonReactive.loaderPromise=Sn(),R!==P.preload&&i.updateMatch(u,w=>({...w,preload:R})),await l(A,h,C,P,g)}}const m=i.router.getMatch(u);y||(m._nonReactive.loaderPromise?.resolve(),m._nonReactive.loadPromise?.resolve()),clearTimeout(m._nonReactive.pendingTimeout),m._nonReactive.pendingTimeout=void 0,y||(m._nonReactive.loaderPromise=void 0),m._nonReactive.dehydrated=void 0;const v=y?m.isFetching:!1;
10return v!==m.isFetching||m.invalid!==!1?(i.updateMatch(u,h=>({...h,isFetching:v,invalid:!1})),i.router.getMatch(u)):m};async function eg(i){const o=i,r=[];o.router.state.matches.some(C=>C._forcePending)&&sd(o);let l;for(let C=0;C<o.matches.length;C++){try{const A=SS(o,C);Dr(A)&&await A}catch(A){if(Nt(A))throw A;if(_t(A))l=A;else if(!o.preload)throw A;break}if(o.serialError)break}const u=o.firstBadMatchIndex??o.matches.length,d=l&&!o.preload?Wh(o,l):void 0,p=l&&o.preload?0:d!==void 0?Math.min(d+1,u):u;let y,g;for(let C=0;C<p;C++)r.push(ES(o,r,C));try{await Promise.all(r)}catch{const C=await Promise.allSettled(r);for(const A of C){if(A.status!=="rejected")continue;const R=A.reason;if(Nt(R))throw R;_t(R)?y??=R:g??=R}if(g!==void 0)throw g}const m=y??(l&&!o.preload?l:void 0);let v=o.serialError?o.firstBadMatchIndex??0:o.matches.length-1;if(!m&&l&&o.preload)return o.matches;if(m){const C=Wh(o,m);ia(C!==void 0);const A=o.matches[C],R=o.router.looseRoutesById[A.routeId],P=o.router.options?.defaultNotFoundComponent;!R.options.notFoundComponent&&P&&(R.options.notFoundComponent=P),m.routeId=A.routeId;const w=A.routeId===o.router.routeTree.id;o.updateMatch(A.id,O=>({...O,...w?{status:"success",globalNotFound:!0,error:void 0}:{status:"notFound",error:m},isFetching:!1})),v=C,await Lr(R,["notFoundComponent"])}else if(!o.preload){const C=o.matches[0];C.globalNotFound||o.router.getMatch(C.id)?.globalNotFound&&o.updateMatch(C.id,R=>({...R,globalNotFound:!1,error:void 0}))}if(o.serialError&&o.firstBadMatchIndex!==void 0){const C=o.router.looseRoutesById[o.matches[o.firstBadMatchIndex].routeId];await Lr(C,["errorComponent"])}for(let C=0;C<=v;C++){const A=o.matches[C],{id:R,routeId:P}=A,w=o.router.looseRoutesById[P];try{const O=AS(o,R,w);if(O){const q=await O;o.updateMatch(R,V=>({...V,...q}))}}catch(O){console.error(`Error executing head for route ${P}:`,O)}}const h=sd(o);if(Dr(h)&&await h,m)throw m;if(o.serialError&&!o.preload&&!o.onReady)throw o.serialError;return o.matches}function tg(i,o){const r=o.map(l=>i.options[l]?.preload?.()).filter(Boolean);if(r.length!==0)return Promise.all(r)}function Lr(i,o=nl){!i._lazyLoaded&&i._lazyPromise===void 0&&(i.lazyFn?i._lazyPromise=i.lazyFn().then(l=>{const{id:u,...d}=l.options;Object.assign(i.options,d),i._lazyLoaded=!0,i._lazyPromise=void 0}):i._lazyLoaded=!0);const r=()=>i._componentsLoaded?void 0:o===nl?(()=>{if(i._componentsPromise===void 0){const l=tg(i,nl);l?i._componentsPromise=l.then(()=>{i._componentsLoaded=!0,i._componentsPromise=void 0}):i._componentsLoaded=!0}return i._componentsPromise})():tg(i,o);return i._lazyPromise?i._lazyPromise.then(r):r()}function Kg(i){for(const o of nl)if(i.options[o]?.preload)return!0;return!1}const nl=["component","errorComponent","pendingComponent","notFoundComponent"];function wS(i){return{input:({url:o})=>{for(const r of i)o=ld(r,o);return o},output:({url:o})=>{for(let r=i.length-1;r>=0;r--)o=$g(i[r],o);return o}}}function RS(i){const o=Vg(i.basepath),r=`/${o}`,l=`${r}/`,u=i.caseSensitive?r:r.toLowerCase(),d=i.caseSensitive?l:l.toLowerCase();return{input:({url:p})=>{const y=i.caseSensitive?p.pathname:p.pathname.toLowerCase();return y===u?p.pathname="/":y.startsWith(d)&&(p.pathname=p.pathname.slice(r.length)),p},output:({url:p})=>(p.pathname=il(["/",o,p.pathname]),p)}}function ld(i,o){const r=i?.input?.({url:o});if(r){if(typeof r=="string")return new URL(r);if(r instanceof URL)return r}return o}function $g(i,o){const r=i?.output?.({url:o});if(r){if(typeof r=="string")return new URL(r);if(r instanceof URL)return r}return o}function _S(i){return i instanceof Error?{name:i.name,message:i.message}:{data:i}}function Cn(i){const o=i.resolvedLocation,r=i.location,l=o?.pathname!==r.pathname,u=o?.href!==r.href,d=o?.hash!==r.hash;return{fromLocation:o,toLocation:r,pathChanged:l,hrefChanged:u,hashChanged:d}}function TS(i){const o=i.filter(r=>r.status!=="redirected");return o.length===i.length?i:o}class xS{constructor(o){this.tempLocationKey=`${Math.round(Math.random()*1e7)}`,this.resetNextScroll=!0,this.shouldViewTransition=void 0,this.isViewTransitionTypesSupported=void 0,this.subscribers=new Set,this.isScrollRestoring=!1,this.isScrollRestorationSetup=!1,this.startTransition=r=>r(),this.update=r=>{const l=this.options,u=this.basepath??l?.basepath??"/",d=this.basepath===void 0,p=l?.rewrite;if(this.options={...l,...r},this.isServer=this.options.isServer??typeof document>"u",this.protocolAllowlist=new Set(this.options.protocolAllowlist),this.options.pathParamsAllowedCharacters&&(this.pathParamsDecoder=oS(this.options.pathParamsAllowedCharacters)),(!this.history||this.options.history&&this.options.history!==this.history)&&(this.options.history?this.history=this.options.history:this.history=IC()),this.origin=this.options.origin,this.origin||(window?.origin&&window.origin!=="null"?this.origin=window.origin:this.origin="http://localhost"),this.history&&this.updateLatestLocation(),this.options.routeTree!==this.routeTree){this.routeTree=this.options.routeTree;let C;this.resolvePathCache=dl(1e3),C=this.buildRouteTree(),this.setRoutes(C)}!this.__store&&this.latestLocation&&(this.__store=DC(DS(this.latestLocation)),fS(this));let y=!1;const g=this.options.basepath??"/",m=this.options.rewrite;if(d||u!==g||p!==m){this.basepath=g;const C=[],A=Vg(g);A&&A!=="/"&&C.push(RS({basepath:g})),m&&C.push(m),this.rewrite=C.length===0?void 0:C.length===1?C[0]:wS(C),this.history&&this.updateLatestLocation(),y=!0}y&&this.__store&&this.__store.setState(C=>({...C,location:this.latestLocation})),typeof window<"u"&&"CSS"in window&&typeof window.CSS?.supports=="function"&&(this.isViewTransitionTypesSupported=window.CSS.supports("selector(:active-view-transition-type(a)"))},this.updateLatestLocation=()=>{this.latestLocation=this.parseLocation(this.history.location,this.latestLocation)},this.buildRouteTree=()=>{const r=JC(this.routeTree,this.options.caseSensitive,(l,u)=>{l.init({originalIndex:u})});return this.options.routeMasks&&KC(this.options.routeMasks,r.processedTree),r},this.subscribe=(r,l)=>{const u={eventType:r,fn:l};return this.subscribers.add(u),()=>{this.subscribers.delete(u)}},this.emit=r=>
10{this.subscribers.forEach(l=>{l.eventType===r.type&&l.fn(r)})},this.parseLocation=(r,l)=>{const u=({pathname:g,search:m,hash:v,href:h,state:C})=>{if(!this.rewrite&&!/[ \x00-\x1f\x7f\u0080-\uffff]/.test(g)){const q=this.options.parseSearch(m),V=this.options.stringifySearch(q);return{href:g+V+v,publicHref:h,pathname:vr(g).path,external:!1,searchStr:V,search:mn(l?.search,q),hash:vr(v.slice(1)).path,state:pn(l?.state,C)}}const A=new URL(h,this.origin),R=ld(this.rewrite,A),P=this.options.parseSearch(R.search),w=this.options.stringifySearch(P);return R.search=w,{href:R.href.replace(R.origin,""),publicHref:h,pathname:vr(R.pathname).path,external:!!this.rewrite&&R.origin!==this.origin,searchStr:w,search:mn(l?.search,P),hash:vr(R.hash.slice(1)).path,state:pn(l?.state,C)}},d=u(r),{__tempLocation:p,__tempKey:y}=d.state;if(p&&(!y||y===this.tempLocationKey)){const g=u(p);return g.state.key=d.state.key,g.state.__TSR_key=d.state.__TSR_key,delete g.state.__tempLocation,{...g,maskedLocation:d}}return d},this.resolvePathWithBase=(r,l)=>nS({base:r,to:bd(l),trailingSlash:this.options.trailingSlash,cache:this.resolvePathCache}),this.matchRoutes=(r,l,u)=>typeof r=="string"?this.matchRoutesInternal({pathname:r,search:l},u):this.matchRoutesInternal(r,l),this.getMatchedRoutes=r=>OS({pathname:r,routesById:this.routesById,processedTree:this.processedTree}),this.cancelMatch=r=>{const l=this.getMatch(r);l&&(l.abortController.abort(),clearTimeout(l._nonReactive.pendingTimeout),l._nonReactive.pendingTimeout=void 0)},this.cancelMatches=()=>{const r=this.state.matches.filter(d=>d.status==="pending"),l=this.state.matches.filter(d=>d.isFetching==="loader");new Set([...this.state.pendingMatches??[],...r,...l]).forEach(d=>{this.cancelMatch(d.id)})},this.buildLocation=r=>{const l=(d={})=>{const p=d._fromLocation||this.pendingBuiltLocation||this.latestLocation,y=this.matchRoutesLightweight(p);d.from;const g=d.unsafeRelative==="path"?p.pathname:d.from??y.fullPath,m=this.resolvePathWithBase(g,"."),v=y.search,h=Object.assign(Object.create(null),y.params),C=d.to?this.resolvePathWithBase(m,`${d.to}`):this.resolvePathWithBase(m,"."),A=d.params===!1||d.params===null?Object.create(null):(d.params??!0)===!0?h:Object.assign(h,Ni(d.params,h)),R=this.getMatchedRoutes(C);let P=R.matchedRoutes;if((!R.foundRoute||R.foundRoute.path!=="/"&&R.routeParams["**"])&&this.options.notFoundRoute&&(P=[...P,this.options.notFoundRoute]),Object.keys(A).length>0)for(const re of P){const ae=re.options.params?.stringify??re.options.stringifyParams;if(ae)try{Object.assign(A,ae(A))}catch{}}const O=r.leaveParams?C:vr($h({path:C,params:A,decoder:this.pathParamsDecoder,server:this.isServer}).interpolatedPath).path;let q=v;if(r._includeValidateSearch&&this.options.search?.strict){const re={};P.forEach(ae=>{if(ae.options.validateSearch)try{Object.assign(re,ol(ae.options.validateSearch,{...re,...q}))}catch{}}),q=re}q=LS({search:q,dest:d,destRoutes:P,_includeValidateSearch:r._includeValidateSearch}),q=mn(v,q);const V=this.options.stringifySearch(q),j=d.hash===!0?p.hash:d.hash?Ni(d.hash,p.hash):void 0,J=j?`#${j}`:"";let ee=d.state===!0?p.state:d.state?Ni(d.state,p.state):{};ee=pn(p.state,ee);const G=`${O}${V}${J}`;let z,W,me=!1;if(this.rewrite){const re=new URL(G,this.origin),ae=$g(this.rewrite,re);z=re.href.replace(re.origin,""),ae.origin!==this.origin?(W=ae.href,me=!0):W=ae.pathname+ae.search+ae.hash}else z=GC(G),W=z;return{publicHref:W,href:z,pathname:O,search:q,searchStr:V,state:ee,hash:j??"",external:me,unmaskOnReload:d.unmaskOnReload}},u=(d={},p)=>{const y=l(d);let g=p?l(p):void 0;if(!g){const m=Object.create(null);if(this.options.routeMasks){const v=$C(y.pathname,this.processedTree);if(v){Object.assign(m,v.rawParams);const{from:h,params:C,...A}=v.route,R=C===!1||C===null?Object.create(null):(C??!0)===!0?m:Object.assign(m,Ni(C,m));p={from:r.from,...A,params:R},g=l(p)}}}return g&&(y.maskedLocation=g),y};return r.mask?u(r,{from:r.from,...r.mask}):u(r)},this.commitLocation=async({viewTransition:r,ignoreBlocker:l,...u})=>{const d=()=>{const g=["key","__TSR_key","__TSR_index","__hashScrollIntoViewOptions"];g.forEach(v=>{u.state[v]=this.latestLocation.state[v]});const m=vn(u.state,this.latestLocation.state);return g.forEach(v=>{delete u.state[v]}),m},p=ki(this.latestLocation.href)===ki(u.href),y=this.commitLocationPromise;if(this.commitLocationPromise=Sn(()=>{y?.resolve()}),p&&d())this.load();else{let{maskedLocation:g,hashScrollIntoView:m,...v}=u;g&&(v={...g,state:{...g.state,__tempKey:void 0,__tempLocation:{...v,search:v.searchStr,state:{...v.state,__tempKey:void 0,__tempLocation:void 0,__TSR_key:void 0,key:void 0}}}},(v.unmaskOnReload??this.options.unmaskOnReload??!1)&&(v.state.__tempKey=this.tempLocationKey)),v.state.__hashScrollIntoViewOptions=m??this.options.defaultHashScrollIntoView??!0,this.shouldViewTransition=r,this.history[u.replace?"replace":"push"](v.publicHref,v.state,{ignoreBlocker:l})}return this.resetNextScroll=u.resetScroll??!0,this.history.subscribers.size||this.load(),this.commitLocationPromise},this.buildAndCommitLocation=({replace:r,resetScroll:l,hashScrollIntoView:u,viewTransition:d,ignoreBlocker:p,href:y,...g}={})=>
10{if(y){const h=this.history.location.state.__TSR_index,C=ll(y,{__TSR_index:r?h:h+1}),A=new URL(C.pathname,this.origin),R=ld(this.rewrite,A);g.to=R.pathname,g.search=this.options.parseSearch(C.search),g.hash=C.hash.slice(1)}const m=this.buildLocation({...g,_includeValidateSearch:!0});this.pendingBuiltLocation=m;const v=this.commitLocation({...m,viewTransition:d,replace:r,resetScroll:l,hashScrollIntoView:u,ignoreBlocker:p});return Promise.resolve().then(()=>{this.pendingBuiltLocation===m&&(this.pendingBuiltLocation=void 0)}),v},this.navigate=async({to:r,reloadDocument:l,href:u,publicHref:d,...p})=>{let y=!1;if(u)try{new URL(`${u}`),y=!0}catch{}if(y&&!l&&(l=!0),l){if(r!==void 0||!u){const m=this.buildLocation({to:r,...p});u=u??m.publicHref,d=d??m.publicHref}const g=!y&&d?d:u;if(ul(g,this.protocolAllowlist))return Promise.resolve();if(!p.ignoreBlocker){const v=this.history.getBlockers?.()??[];for(const h of v)if(h?.blockerFn&&await h.blockerFn({currentLocation:this.latestLocation,nextLocation:this.latestLocation,action:"PUSH"}))return Promise.resolve()}return p.replace?window.location.replace(g):window.location.href=g,Promise.resolve()}return this.buildAndCommitLocation({...p,href:u,to:r,_isNavigate:!0})},this.beforeLoad=()=>{this.cancelMatches(),this.updateLatestLocation();const r=this.matchRoutes(this.latestLocation);this.__store.setState(l=>({...l,status:"pending",statusCode:200,isLoading:!0,location:this.latestLocation,pendingMatches:r,cachedMatches:l.cachedMatches.filter(u=>!r.some(d=>d.id===u.id))}))},this.load=async r=>{let l,u,d;const p=this.state.resolvedLocation??this.state.location;for(d=new Promise(g=>{this.startTransition(async()=>{try{this.beforeLoad();const m=this.latestLocation,v=this.state.resolvedLocation;this.state.redirect||this.emit({type:"onBeforeNavigate",...Cn({resolvedLocation:v,location:m})}),this.emit({type:"onBeforeLoad",...Cn({resolvedLocation:v,location:m})}),await eg({router:this,sync:r?.sync,forceStaleReload:p.href===m.href,matches:this.state.pendingMatches,location:m,updateMatch:this.updateMatch,onReady:async()=>{this.startTransition(()=>{this.startViewTransition(async()=>{let h=[],C=[],A=[],R=[];So(()=>{this.__store.setState(P=>{const w=P.matches,O=P.pendingMatches||P.matches;return h=w.filter(q=>!O.some(V=>V.id===q.id)),C=w.filter(q=>!O.some(V=>V.routeId===q.routeId)),A=O.filter(q=>!w.some(V=>V.routeId===q.routeId)),R=O.filter(q=>w.some(V=>V.routeId===q.routeId)),{...P,isLoading:!1,loadedAt:Date.now(),matches:O,pendingMatches:void 0,cachedMatches:[...P.cachedMatches,...h.filter(q=>q.status!=="error"&&q.status!=="notFound"&&q.status!=="redirected")]}}),this.clearExpiredCache()}),[[C,"onLeave"],[A,"onEnter"],[R,"onStay"]].forEach(([P,w])=>{P.forEach(O=>{this.looseRoutesById[O.routeId].options[w]?.(O)})})})})}})}catch(m){Nt(m)?(l=m,this.navigate({...l.options,replace:!0,ignoreBlocker:!0})):_t(m)&&(u=m),this.__store.setState(v=>({...v,statusCode:l?l.status:u?404:v.matches.some(h=>h.status==="error")?500:200,redirect:l}))}this.latestLoadPromise===d&&(this.commitLocationPromise?.resolve(),this.latestLoadPromise=void 0,this.commitLocationPromise=void 0),g()})}),this.latestLoadPromise=d,await d;this.latestLoadPromise&&d!==this.latestLoadPromise;)await this.latestLoadPromise;let y;this.hasNotFoundMatch()?y=404:this.__store.state.matches.some(g=>g.status==="error")&&(y=500),y!==void 0&&this.__store.setState(g=>({...g,statusCode:y}))},this.startViewTransition=r=>{const l=this.shouldViewTransition??this.options.defaultViewTransition;if(this.shouldViewTransition=void 0,l&&typeof document<"u"&&"startViewTransition"in document&&typeof document.startViewTransition=="function"){let u;if(typeof l=="object"&&this.isViewTransitionTypesSupported){const d=this.latestLocation,p=this.state.resolvedLocation,y=typeof l.types=="function"?l.types(Cn({resolvedLocation:p,location:d})):l.types;if(y===!1){r();return}u={update:r,types:y}}else u=r;document.startViewTransition(u)}else r()},this.updateMatch=(r,l)=>{this.startTransition(()=>{const u=this.state.pendingMatches?.some(d=>d.id===r)?"pendingMatches":this.state.matches.some(d=>d.id===r)?"matches":this.state.cachedMatches.some(d=>d.id===r)?"cachedMatches":"";u&&(u==="cachedMatches"?this.__store.setState(d=>({...d,cachedMatches:TS(d.cachedMatches.map(p=>
10p.id===r?l(p):p))})):this.__store.setState(d=>({...d,[u]:d[u]?.map(p=>p.id===r?l(p):p)})))})},this.getMatch=r=>{const l=u=>u.id===r;return this.state.cachedMatches.find(l)??this.state.pendingMatches?.find(l)??this.state.matches.find(l)},this.invalidate=r=>{const l=u=>r?.filter?.(u)??!0?{...u,invalid:!0,...r?.forcePending||u.status==="error"||u.status==="notFound"?{status:"pending",error:void 0}:void 0}:u;return this.__store.setState(u=>({...u,matches:u.matches.map(l),cachedMatches:u.cachedMatches.map(l),pendingMatches:u.pendingMatches?.map(l)})),this.shouldViewTransition=!1,this.load({sync:r?.sync})},this.getParsedLocationHref=r=>r.publicHref||"/",this.resolveRedirect=r=>{const l=r.headers.get("Location");if(!r.options.href||r.options._builtLocation){const u=r.options._builtLocation??this.buildLocation(r.options),d=this.getParsedLocationHref(u);r.options.href=d,r.headers.set("Location",d)}else if(l)try{const u=new URL(l);if(this.origin&&u.origin===this.origin){const d=u.pathname+u.search+u.hash;r.options.href=d,r.headers.set("Location",d)}}catch{}if(r.options.href&&!r.options._builtLocation&&ul(r.options.href,this.protocolAllowlist))throw new Error("Redirect blocked: unsafe protocol");return r.headers.get("Location")||r.headers.set("Location",r.options.href),r},this.clearCache=r=>{const l=r?.filter;l!==void 0?this.__store.setState(u=>({...u,cachedMatches:u.cachedMatches.filter(d=>!l(d))})):this.__store.setState(u=>({...u,cachedMatches:[]}))},this.clearExpiredCache=()=>{const r=l=>{const u=this.looseRoutesById[l.routeId];if(!u.options.loader)return!0;const d=(l.preload?u.options.preloadGcTime??this.options.defaultPreloadGcTime:u.options.gcTime??this.options.defaultGcTime)??300*1e3;return l.status==="error"?!0:Date.now()-l.updatedAt>=d};this.clearCache({filter:r})},this.loadRouteChunk=Lr,this.preloadRoute=async r=>{const l=r._builtLocation??this.buildLocation(r);let u=this.matchRoutes(l,{throwOnError:!0,preload:!0,dest:r});const d=new Set([...this.state.matches,...this.state.pendingMatches??[]].map(y=>y.id)),p=new Set([...d,...this.state.cachedMatches.map(y=>y.id)]);So(()=>{u.forEach(y=>{p.has(y.id)||this.__store.setState(g=>({...g,cachedMatches:[...g.cachedMatches,y]}))})});try{return u=await eg({router:this,matches:u,location:l,preload:!0,updateMatch:(y,g)=>{d.has(y)?u=u.map(m=>m.id===y?g(m):m):this.updateMatch(y,g)}}),u}catch(y){if(Nt(y))return y.options.reloadDocument?void 0:await this.preloadRoute({...y.options,_fromLocation:l});_t(y)||console.error(y);return}},this.matchRoute=(r,l)=>{const u={...r,to:r.to?this.resolvePathWithBase(r.from||"",r.to):void 0,params:r.params||{},leaveParams:!0},d=this.buildLocation(u);if(l?.pending&&this.state.status!=="pending")return!1;const y=(l?.pending===void 0?!this.state.isLoading:l.pending)?this.latestLocation:this.state.resolvedLocation||this.state.location,g=XC(d.pathname,l?.caseSensitive??!1,l?.fuzzy??!1,y.pathname,this.processedTree);return!g||r.params&&!vn(g.rawParams,r.params,{partial:!0})?!1:l?.includeSearch??!0?vn(y.search,d.search,{partial:!0})?g.rawParams:!1:g.rawParams},this.hasNotFoundMatch=()=>this.__store.state.matches.some(r=>r.status==="notFound"||r.globalNotFound),this.update({defaultPreloadDelay:50,defaultPendingMs:1e3,defaultPendingMinMs:500,context:void 0,...o,caseSensitive:o.caseSensitive??!1,notFoundMode:o.notFoundMode??"fuzzy",stringifySearch:o.stringifySearch??gS,parseSearch:o.parseSearch??hS,protocolAllowlist:o.protocolAllowlist??FC}),typeof document<"u"&&(self.__TSR_ROUTER__=this)}isShell(){return!!this.options.isShell}isPrerendering(){return!!this.options.isPrerendering}get state(){return this.__store.state}setRoutes({routesById:o,routesByPath:r,processedTree:l}){this.routesById=o,this.routesByPath=r,this.processedTree=l;const u=this.options.notFoundRoute;u&&(u.init({originalIndex:99999999999}),this.routesById[u.id]=u)}get looseRoutesById(){return this.routesById}getParentContext(o){return o?.id?o.context??this.options.context??void 0:this.options.context??void 0}matchRoutesInternal(o,r){const l=this.getMatchedRoutes(o.pathname),{foundRoute:u,routeParams:d,parsedParams:p}=l;let{matchedRoutes:y}=l,g=!1;(u?u.path!=="/"&&d["**"]:ki(o.pathname))&&(this.options.notFoundRoute?y=[...y,this.options.notFoundRoute]:g=!0);const m=g?NS(this.options.notFoundMode,y):void 0,v=new Array(y.length),h=new Map(this.state.matches.map(C=>[C.routeId,C]));for(let C=0;C<y.length;C++){const A=y[C],R=v[C-1];let P,w,O;{const xe=R?.search??o.search,Ge=R?._strictSearch??void 0;try{const L=ol(A.options.validateSearch,{...xe})??void 0;P={...xe,...L},w={...Ge,...L},O=void 0}catch(L){let Q=L;if(L instanceof pl||(Q=new pl(L.message,{cause:L})),r?.throwOnError)throw Q;P=xe,w={},O=Q}}const q=A.options.loaderDeps?.({search:P})??"",V=q?JSON.stringify(q):"",{interpolatedPath:j,usedParams:J}=$h({path:A.fullPath,params:d,decoder:this.pathParamsDecoder,server:this.isServer}),ee=A.id+j+V,G=this.getMatch(ee),z=h.get(A.id),W=G?._strictParams??J;let me;if(!G)try{ag(A,J,p,W)}catch(xe){if(_t(xe)||Nt(xe)?me=xe:me=new PS(xe.message,{cause:xe}),r?.throwOnError)throw me}Object.assign(d,W);const re=z?"stay":"enter";let ae;if(G)ae={...G,cause:re,params:z?.params??d,_strictParams:W,search:mn(z?z.search:G.search,P),_strictSearch:w};else{const xe=A.options.loader||A.options.beforeLoad||A.lazyFn||Kg(A)?"pending":"success";ae={id:ee,ssr:A.options.ssr,index:C,routeId:A.id,params:z?.params??d,_strictParams:W,pathname:j,updatedAt:Date.now(),search:z?mn(z.search,P):P,_strictSearch:w,searchError:void 0,status:xe,isFetching:!1,error:void 0,paramsError:me,__routeC
10ontext:void 0,_nonReactive:{loadPromise:Sn()},__beforeLoadContext:void 0,context:{},abortController:new AbortController,fetchCount:0,cause:re,loaderDeps:z?pn(z.loaderDeps,q):q,invalid:!1,preload:!1,links:void 0,scripts:void 0,headScripts:void 0,meta:void 0,staticData:A.options.staticData||{},fullPath:A.fullPath}}r?.preload||(ae.globalNotFound=m===A.id),ae.searchError=O;const Te=this.getParentContext(R);ae.context={...Te,...ae.__routeContext,...ae.__beforeLoadContext},v[C]=ae}for(let C=0;C<v.length;C++){const A=v[C],R=this.looseRoutesById[A.routeId],P=this.getMatch(A.id),w=h.get(A.routeId);if(A.params=w?mn(w.params,d):d,!P){const O=v[C-1],q=this.getParentContext(O);if(R.options.context){const V={deps:A.loaderDeps,params:A.params,context:q??{},location:o,navigate:j=>this.navigate({...j,_fromLocation:o}),buildLocation:this.buildLocation,cause:A.cause,abortController:A.abortController,preload:!!A.preload,matches:v,routeId:R.id};A.__routeContext=R.options.context(V)??void 0}A.context={...q,...A.__routeContext,...A.__beforeLoadContext}}}return v}matchRoutesLightweight(o){const{matchedRoutes:r,routeParams:l,parsedParams:u}=this.getMatchedRoutes(o.pathname),d=Pr(r),p={...o.search};for(const v of r)try{Object.assign(p,ol(v.options.validateSearch,p))}catch{}const y=Pr(this.state.matches),g=y&&y.routeId===d.id&&o.pathname===this.state.location.pathname;let m;if(g)m=y.params;else{const v=Object.assign(Object.create(null),l);for(const h of r)try{ag(h,l,u??{},v)}catch{}m=v}return{matchedRoutes:r,fullPath:d.fullPath,search:p,params:m}}}class pl extends Error{}class PS extends Error{}function DS(i){return{loadedAt:0,isLoading:!1,isTransitioning:!1,status:"idle",resolvedLocation:void 0,location:i,matches:[],pendingMatches:[],cachedMatches:[],statusCode:200}}function ol(i,o){if(i==null)return{};if("~standard"in i){const r=i["~standard"].validate(o);if(r instanceof Promise)throw new pl("Async validation not supported");if(r.issues)throw new pl(JSON.stringify(r.issues,void 0,2),{cause:r});return r.value}return"parse"in i?i.parse(o):typeof i=="function"?i(o):{}}function OS({pathname:i,routesById:o,processedTree:r}){const l=Object.create(null),u=ki(i);let d,p;const y=WC(u,r,!0);return y&&(d=y.route,Object.assign(l,y.rawParams),p=Object.assign(Object.create(null),y.parsedParams)),{matchedRoutes:y?.branch||[o[ha]],routeParams:l,foundRoute:d,parsedParams:p}}function LS({search:i,dest:o,destRoutes:r,_includeValidateSearch:l}){return IS(r)(i,o,l??!1)}function IS(i){const o={dest:null,_includeValidateSearch:!1,middlewares:[]};for(const u of i){if("search"in u.options)u.options.search?.middlewares&&o.middlewares.push(...u.options.search.middlewares);else if(u.options.preSearchFilters||u.options.postSearchFilters){const d=({search:p,next:y})=>{let g=p;"preSearchFilters"in u.options&&u.options.preSearchFilters&&(g=u.options.preSearchFilters.reduce((v,h)=>h(v),p));const m=y(g);return"postSearchFilters"in u.options&&u.options.postSearchFilters?u.options.postSearchFilters.reduce((v,h)=>h(v),m):m};o.middlewares.push(d)}if(u.options.validateSearch){const d=({search:p,next:y})=>{const g=y(p);if(!o._includeValidateSearch)return g;try{return{...g,...ol(u.options.validateSearch,g)??void 0}}catch{return g}};o.middlewares.push(d)}}const r=({search:u})=>{const d=o.dest;return d.search?d.search===!0?u:Ni(d.search,u):{}};o.middlewares.push(r);const l=(u,d,p)=>{if(u>=p.length)return d;const y=p[u];return y({search:d,next:m=>l(u+1,m,p)})};return function(d,p,y){return o.dest=p,o._includeValidateSearch=y,l(0,d,o.middlewares)}}function NS(i,o){if(i!=="root")for(let r=o.length-1;r>=0;r--){const l=o[r];if(l.children)return l.id}return ha}function ag(i,o,r,l){const u=i.options.params?.parse??i.options.parseParams;if(u)if(i.options.skipRouteOnParseError)for(const d in o)d in r&&(l[d]=r[d
10]);else{const d=u(l);Object.assign(l,d)}}const La=Symbol.for("TSR_DEFERRED_PROMISE");function MS(i,o){const r=i;return r[La]||(r[La]={status:"pending"},r.then(l=>{r[La].status="success",r[La].data=l}).catch(l=>{r[La].status="error",r[La].error={data:_S(l),__isServerError:!0}})),r}const US="Error preloading route! ☝️";class Xg{constructor(o){if(this.init=r=>{this.originalIndex=r.originalIndex;const l=this.options,u=!l?.path&&!l?.id;this.parentRoute=this.options.getParentRoute?.(),u?this._path=ha:this.parentRoute||ia(!1);let d=u?ha:l?.path;d&&d!=="/"&&(d=Fg(d));const p=l?.id||d;let y=u?ha:il([this.parentRoute.id===ha?"":this.parentRoute.id,p]);d===ha&&(d="/"),y!==ha&&(y=il(["/",y]));const g=y===ha?"/":il([this.parentRoute.fullPath,d]);this._path=d,this._id=y,this._fullPath=g,this._to=ki(g)},this.addChildren=r=>this._addFileChildren(r),this._addFileChildren=r=>(Array.isArray(r)&&(this.children=r),typeof r=="object"&&r!==null&&(this.children=Object.values(r)),this),this._addFileTypes=()=>this,this.updateLoader=r=>(Object.assign(this.options,r),this),this.update=r=>(Object.assign(this.options,r),this),this.lazy=r=>(this.lazyFn=r,this),this.redirect=r=>Aa({from:this.fullPath,...r}),this.options=o||{},this.isRoot=!o?.getParentRoute,o?.id&&o?.path)throw new Error("Route cannot have both an 'id' and a 'path' option.")}get to(){return this._to}get id(){return this._id}get path(){return this._path}get fullPath(){return this._fullPath}}class kS extends Xg{constructor(o){super(o)}}var BS=(i=>(i[i.AggregateError=1]="AggregateError",i[i.ArrowFunction=2]="ArrowFunction",i[i.ErrorPrototypeStack=4]="ErrorPrototypeStack",i[i.ObjectAssign=8]="ObjectAssign",i[i.BigIntTypedArray=16]="BigIntTypedArray",i[i.RegExp=32]="RegExp",i))(BS||{}),ti=Symbol.asyncIterator,Wg=Symbol.hasInstance,Ao=Symbol.isConcatSpreadable,ai=Symbol.iterator,Zg=Symbol.match,Jg=Symbol.matchAll,ey=Symbol.replace,ty=Symbol.search,ay=Symbol.species,iy=Symbol.split,ny=Symbol.toPrimitive,Eo=Symbol.toStringTag,oy=Symbol.unscopables,ry={[ti]:0,[Wg]:1,[Ao]:2,[ai]:3,[Zg]:4,[Jg]:5,[ey]:6,[ty]:7,[ay]:8,[iy]:9,[ny]:10,[Eo]:11,[oy]:12},qS={0:ti,1:Wg,2:Ao,3:ai,4:Zg,5:Jg,6:ey,7:ty,8:ay,9:iy,10:ny,11:Eo,12:oy},S=void 0,zS={2:!0,3:!1,1:S,0:null,4:-0,5:Number.POSITIVE_INFINITY,6:Number.NEGATIVE_INFINITY,7:Number.NaN},FS={0:"Error",1:"EvalError",2:"RangeError",3:"ReferenceError",4:"SyntaxError",5:"TypeError",6:"URIError"},VS={0:Error,1:EvalError,2:RangeError,3:ReferenceError,4:SyntaxError,5:TypeError,6:URIError};function Ne(i,o,r,l,u,d,p,y,g,m,v,h){return{t:i,i:o,s:r,c:l,m:u,p:d,e:p,a:y,f:g,b:m,o:v,l:h}}function Bi(i){return Ne(2,S,i,S,S,S,S,S,S,S,S,S)}var sy=Bi(2),ly=Bi(3),HS=Bi(1),jS=Bi(0),GS=Bi(4),YS=Bi(5),QS=Bi(6),KS=Bi(7);function $S(i){switch(i){case'"':return'\\"';case"\\":return"\\\\";case`
11`:return"\\n";case"\r":return"\\r";case"\b":return"\\b";case"	":return"\\t";case"\f":return"\\f";case"<":return"\\x3C";case"\u2028":return"\\u2028";case"\u2029":return"\\u2029";default:return S}}function qi(i){let o="",r=0,l;for(let u=0,d=i.length;u<d;u++)l=$S(i[u]),l&&(o+=i.slice(r,u)+l,r=u+1);return r===0?o=i:o+=i.slice(r),o}function XS(i){switch(i){case"\\\\":return"\\";case'\\"':return'"';case"\\n":return`
12`;case"\\r":return"\r";case"\\b":return"\b";case"\\t":return"	";case"\\f":return"\f";case"\\x3C":return"<";case"\\u2028":return"\u2028";case"\\u2029":return"\u2029";default:return i}}function Rn(i){return i.replace(/(\\\\|\\"|\\n|\\r|\\b|\\t|\\f|\\u2028|\\u2029|\\x3C)/g,XS)}var Js="__SEROVAL_REFS__",cy=new Map,Co=new Map;function uy(i){return cy.has(i)}function WS(i){return Co.has(i)}function ZS(i){if(uy(i))return cy.get(i);throw new PA(i)}function JS(i){if(WS(i))return Co.get(i);throw new DA(i)}typeof globalThis<"u"?Object.defineProperty(globalThis,Js,{value:Co,configurable:!0,writable:!1,enumerable:!1}):typeof window<"u"?Object.defineProperty(window,Js,{value:Co,configurable:!0,writable:!1,enumerable:!1}):typeof self<"u"?Object.defineProperty(self,Js,{value:Co,configurable:!0,writable:!1,enumerable:!1}):typeof global<"u"&&Object.defineProperty(global,Js,{value:Co,configurable:!0,writable:!1,enumerable:!1});function Cd(i){return i instanceof EvalError?1:i instanceof RangeError?2:i instanceof ReferenceError?3:i instanceof SyntaxError?4:i instanceof TypeError?5:i instanceof URIError?6:0}function eA(i){let o=FS[Cd(i)];return i.name!==o?{name:i.name}:i.constructor.name!==o?{name:i.constructor.name}:{}}function dy(i,o){let r=eA(i),l=Object.getOwnPropertyNames(i);for(let u=0,d=l.length,p;u<d;u++)p=l[u],p!=="name"&&p!=="message"&&(p==="stack"?o&4&&(r=r||{},r[p]=i[p]):(r=r||{},r[p]=i[p]));return r}function fy(i){return Object.isFrozen(i)?3:Object.isSealed(i)?2:Object.isExtensible(i)?0:1}function tA(i){switch(i){case Number.POSITIVE_INFINITY:return YS;case Number.NEGATIVE_INFINITY:return QS}return i!==i?KS:Object.is(i,-0)?GS:Ne(0,S,i,S,S,S,S,S,S,S,S,S)}function my(i){return Ne(1,S,qi(i),S,S,S,S,S,S,S,S,S)}function aA(i){return Ne(3,S,""+i,S,S,S,S,S,S,S,S,S)}function iA(i){return Ne(4,i,S,S,S,S,S,S,S,S,S,S)}function nA(i,o){let r=o.valueOf();return Ne(5,i,r!==r?"":o.toISOString(),S,S,S,S,S,S,S,S,S)}function oA(i,o){return Ne(6,i,S,qi(o.source),o.flags,S,S,S,S,S,S,S)}function rA(i,o){return Ne(17,i,ry[o],S,S,S,S,S,S,S,S,S)}function sA(i,o){return Ne(18,i,qi(ZS(o)),S,S,S,S,S,S,S,S,S)}function lA(i,o,r){return Ne(25,i,r,qi(o),S,S,S,S,S,S,S,S)}function cA(i,o,r){return Ne(9,i,S,S,S,S,S,r,S,S,fy(o),S)}function uA(i,o){return Ne(21,i,S,S,S,S,S,S,o,S,S,S)}function dA(i,o,r){return Ne(15,i,S,o.constructor.name,S,S,S,S,r,o.byteOffset,S,o.length)}function fA(i,o,r){return Ne(16,i,S,o.constructor.name,S,S,S,S,r,o.byteOffset,S,o.byteLength)}function mA(i,o,r){return Ne(20,i,S,S,S,S,S,S,r,o.byteOffset,S,o.byteLength)}function pA(i,o,r){return Ne(13,i,Cd(o),S,qi(o.message),r,S,S,S,S,S,S)}function hA(i,o,r){return Ne(14,i,Cd(o),S,qi(o.message),r,S,S,S,S,S,S)}function gA(i,o){return Ne(7,i,S,S,S,S,S,o,S,S,S,S)}function yA(i,o){return Ne(28,S,S,S,S,S,S,[i,o],S,S,S,S)}function vA(i,o){return Ne(30,S,S,S,S,S,S,[i,o],S,S,S,S)}function bA(i,o,r){return Ne(31,i,S,S,S,S,S,r,o,S,S,S)}function CA(i,o){return Ne(32,i,S,S,S,S,S,S,o,S,S,S)}function SA(i,o){return Ne(33,i,S,S,S,S,S,S,o,S,S,S)}function AA(i,o){return Ne(34,i,S,S,S,S,S,S,o,S,S,S)}function EA(i,o,r,l){return Ne(35,i,r,S,S,S,S,o,S,S,S,l)}
12var wA={parsing:1,serialization:2,deserialization:3};function RA(i){return`Seroval Error (step: ${wA[i]})`}var _A=(i,o)=>RA(i),py=class extends Error{constructor(i,o){super(_A(i)),this.cause=o}},ig=class extends py{constructor(i){super("parsing",i)}},TA=class extends py{constructor(i){super("deserialization",i)}};function ii(i){return`Seroval Error (specific: ${i})`}var Cl=class extends Error{constructor(o){super(ii(1)),this.value=o}},hy=class extends Error{constructor(o){super(ii(2))}},xA=class extends Error{constructor(i){super(ii(3))}},Nr=class extends Error{constructor(i){super(ii(4))}},PA=class extends Error{constructor(i){super(ii(5)),this.value=i}},DA=class extends Error{constructor(i){super(ii(6))}},OA=class extends Error{constructor(i){super(ii(7))}},zi=class extends Error{constructor(i){super(ii(8))}},LA=class extends Error{constructor(o){super(ii(9))}},IA=class{constructor(i,o){this.value=i,this.replacement=o}},Sl=()=>{let i={p:0,s:0,f:0};return i.p=new Promise((o,r)=>{i.s=o,i.f=r}),i},NA=(i,o)=>{i.s(o),i.p.s=1,i.p.v=o},MA=(i,o)=>{i.f(o),i.p.s=2,i.p.v=o};Sl.toString();NA.toString();MA.toString();var UA=()=>{let i=[],o=[],r=!0,l=!1,u=0,d=(g,m,v)=>{for(v=0;v<u;v++)o[v]&&o[v][m](g)},p=(g,m,v,h)=>{for(m=0,v=i.length;m<v;m++)h=i[m],!r&&m===v-1?g[l?"return":"throw"](h):g.next(h)},y=(g,m)=>(r&&(m=u++,o[m]=g),p(g),()=>{r&&(o[m]=o[u],o[u--]=void 0)});return{__SEROVAL_STREAM__:!0,on:g=>y(g),next:g=>{r&&(i.push(g),d(g,"next"))},throw:g=>{r&&(i.push(g),d(g,"throw"),r=!1,l=!1,o.length=0)},return:g=>{r&&(i.push(g),d(g,"return"),r=!1,l=!0,o.length=0)}}},kA=i=>o=>()=>{let r=0,l={[i]:()=>l,next:()=>{if(r>o.d)return{done:!0,value:void 0};let u=r++,d=o.v[u];if(u===o.t)throw d;return{done:u===o.d,value:d}}};return l},BA=(i,o)=>r=>()=>{let l=0,u=-1,d=!1,p=[],y=[],g=(v=0,h=y.length)=>{for(;v<h;v++)y[v].s({done:!0,value:void 0})};r.on({next:v=>{let h=y.shift();h&&h.s({done:!1,value:v}),p.push(v)},throw:v=>{let h=y.shift();h&&h.f(v),g(),u=p.length,d=!0,p.push(v)},return:v=>{let h=y.shift();h&&h.s({done:!0,value:v}),g(),u=p.length,p.push(v)}});let m={[i]:()=>m,next:()=>{if(u===-1){let C=l++;if(C>=p.length){let A=o();return y.push(A),A.p}return{done:!1,value:p[C]}}if(l>u)return{done:!0,value:void 0};let v=l++,h=p[v];if(v!==u)return{done:!1,value:h};if(d)throw h;return{done:!0,value:h}}};return m},gy=i=>{let o=atob(i),r=o.length,l=new Uint8Array(r);for(let u=0;u<r;u++)l[u]=o.charCodeAt(u);return l.buffer};gy.toString();function qA(i){return"__SEROVAL_SEQUENCE__"in i}function yy(i,o,r){return{__SEROVAL_SEQUENCE__:!0,v:i,t:o,d:r}}function zA(i){let o=[],r=-1,l=-1,u=i[ai]();for(;;)try{let d=u.next();if(o.push(d.value),d.done){l=o.length-1;break}}catch(d){r=o.length,o.push(d)}return yy(o,r,l)}var FA=kA(ai);function VA(i){return FA(i)}var HA={},jA={},GA={0:{},1:{},2:{},3:{},4:{},5:{}};function Al(i){return"__SEROVAL_STREAM__"in i}function _n(){return UA()}function YA(i){let o=_n(),r=i[ti]();async function l(){try{let u=await r.next();u.done?o.return(u.value):(o.next(u.value),await l())}catch(u){o.throw(u)}}return l().catch(()=>{}),o}var QA=BA(ti,Sl);function KA(i){return QA(i)}async function $A(i){try{return[1,await i]}catch(o){return[0,o]}}function XA(i,o){return{plugins:o.plugins,mode:i,marked:new Set,features:63^(o.disabledFeatures||0),refs:o.refs||new Map,depthLimit:o.depthLimit||1e3}}function rl(i,o){i.marked.add(o)}function WA(i,o){let r=i.refs.size;return i.refs.set(o,r),r}function El(i,o){let r=i.refs.get(o);return r!=null?(rl(i,r),{type:1,value:iA(r)}):{type:0,value:WA(i,o)}}function Sd(i,o){let r=El(i,o);return r.type===1?r:uy(o)?{type:2,value:sA(r.value,o)}:r}function yn(i,o){let r=Sd(i,o);if(r.type!==0)return r.value;if(o in ry)return rA(r.value,o);throw new Cl(o)}function wl(i,o){let r=El(i,GA[o]);return r.type===1?r.value:Ne(26,r.value,o,S,S,S,S,S,S,S,S,S)}function ZA(i){let o=El(i,HA);return o.type===1?o.value:Ne(27,o.value,S,S,S,S,S,S,yn(i,ai),S,S,S)}function JA(i){let o=El(i,jA);return o.type===1?o.value:Ne(29,o.value,S,S,S,S,S,[wl(i,1),yn(i,ti)],S,S,S,S)}function e0(i,o,r,l){return Ne(r?11:10,i,S,S,S,l,S,S,S,S,fy(o),S)}function t0(i,o,r,l){return Ne(8,o,S,S,S,S,{k:r,v:l},S,wl(i,0),S,S,S)}function a0(i,o,r){let l=new Uint8Array(r),u="";for(let d=0,p=l.length;d<p;d++)u+=String.fromCharCode(l[d]);return Ne(19,o,qi(btoa(u)),S,S,S,S,S,wl(i,5),S,S,S)}function i0(i,o){return{base:XA(i,o),child:void 0}}var n0=class{constructor(i,o){this._p=i,this.depth=o}parse(i){return mt(this._p,this.depth,i)}};async function o0(i,o,r){let l=[];for(let u=0,d=r.length;u<d;u++)u in r?l[u]=await mt(i,o,r[u]):l[u]=0;return l}async function r0(i,o,r,l){return cA(r,l,await o0(i,o,l))}async function Ad(i,o,r){let l=Object.entries(r),u=[],d=[];for(let p=0,y=l.length;p<y;p++)u.push(qi(l[p][0])),d.push(await mt(i,o,l[p][1]));return ai in r&&(u.push(yn(i.base,ai)),d.push(yA(ZA(i.base),await mt(i,o,zA(r))))),ti in r&&(u.push(yn(i.base,ti)),d.push(vA(JA(i.base),await mt(i,o,YA(r))))),Eo in r&&(u.push(yn(i.base,Eo)),d.push(my(r[Eo]))),Ao in r&&(u.push(yn(i.base,Ao)),d.push(r[Ao]?sy:ly)),{k:u,v:d}}async function $u(i,o,r,l,u){return e0(r,l,u,await Ad(i,o,l))}async function s0(i,o,r,l){return uA(r,await mt(i,o,l.valueOf()))}async function l0(i,o,r,l){return dA(r,l,await mt(i,o,l.buffer))}async function c0(i,o,r,l){return fA(r,l,await mt(i,o,l.buffer))}async function u0(i,o,r,l){return mA(r,l,await mt(i,o,l.buffer))}async function ng(i,o,r,l){let u=dy(l,i.base.features);return pA(r,l,u?await Ad(i,o,u):S)}async function d0(i,o,r,l){let u=dy(l,i.base.features);return hA(r,l,u?await Ad(i,o,u):S)}async function f0(i,o,r,l){let u=[],d=[];for(let[p,y]of l.entries())u.push(await mt(i,o,p)),d.push(await mt(i,o,y));return t0(i.base,r,u,d)}async function m0(i,o,r,l){let u=[];for(let d of l.keys())u.push(await mt(i,o,d));return gA(r,u)}async function vy(i,o,r,l){let u=i.base.plugins;if(u)for(let d=0,p=u.length;d<p;d++){let y=u[d];if(y.parse.async&&y.test(l))return lA(r,y.tag,await y.parse.async(l,new n0(i,o),{id:r}))}return S}async function p0(i,o,r,l){let[u,d]=await $A(l);return Ne(12,r,u,S,S,S,S,S,await mt(i,o,d),S,S,S)}function h0(i,o,r,l,u){let d=[],p=r.on({next:y=>{rl(this.base,o),mt(this,i,y).then(g=>{d.push(CA(o,g))},g=>{u(g),p()})},throw:y=>{rl(this.base,o),mt(this,i,y).then(g=>{d.push(SA(o,g)),l(d),p()},g=>{u(g),p()})},return:y=>{rl(this.base,o),mt(this,i,y).then(g=>{d.push(AA(o,g)),l(d),p()},g=>{u(g),p()})}})}async function g0(i,o,r,l){return bA(r,wl(i.base,4),await new Promise(h0.bind(i,o,r,l)))}async function y0(i,o,r,l){let u=[];for(let d=0,p=l.v.length;d<p;d++)u[d]=await mt(i,o,l.v[d]);return EA(r,u,l.t,l.d)}async function v0(i,o,r,l){if(Array.isArray(l))return r0(i,o,r,l);if(Al(l))return g0(i,o,r,l);if(qA(l))return y0(i,o,r,l);let u=l.constructor;if(u===IA)return mt(i,o,l.replacement);let d=await vy(i,o,r,l);if(d)return d;switch(u){case Object:return $u(i,o,r,l,!1);case S:return $u(i,o,r,l,!0);case Date:return nA(r,l);case Error:case EvalError:case RangeError:case ReferenceError:case SyntaxError:case TypeError:case URIError:return ng(i,o,r,l);case Number:case Boolean:case String:case BigInt:return s0(i,o,r,l);case ArrayBuffer:return a0(i.base,r,l);case Int8Array:case Int16Array:case Int32Array:case Uint8Array:case Uint16Array:case Uint32Array:case Uint8ClampedArray:case Float32Array:case Float64Array:return l0(i,o,r,l);case DataView:return u0(i,o,r,l);case Map:return f0(i,o,r,l);case Set:return m0(i,o,r,l)}
12if(u===Promise||l instanceof Promise)return p0(i,o,r,l);let p=i.base.features;if(p&32&&u===RegExp)return oA(r,l);if(p&16)switch(u){case BigInt64Array:case BigUint64Array:return c0(i,o,r,l)}if(p&1&&typeof AggregateError<"u"&&(u===AggregateError||l instanceof AggregateError))return d0(i,o,r,l);if(l instanceof Error)return ng(i,o,r,l);if(ai in l||ti in l)return $u(i,o,r,l,!!u);throw new Cl(l)}async function b0(i,o,r){let l=Sd(i.base,r);if(l.type!==0)return l.value;let u=await vy(i,o,l.value,r);if(u)return u;throw new Cl(r)}async function mt(i,o,r){switch(typeof r){case"boolean":return r?sy:ly;case"undefined":return HS;case"string":return my(r);case"number":return tA(r);case"bigint":return aA(r);case"object":{if(r){let l=Sd(i.base,r);return l.type===0?await v0(i,o+1,l.value,r):l.value}return jS}case"symbol":return yn(i.base,r);case"function":return b0(i,o,r);default:throw new Cl(r)}}async function C0(i,o){try{return await mt(i,0,o)}catch(r){throw r instanceof ig?r:new ig(r)}}var S0=(i=>(i[i.Vanilla=1]="Vanilla",i[i.Cross=2]="Cross",i))(S0||{});function by(i,o){for(let r=0,l=o.length;r<l;r++){let u=o[r];i.has(u)||(i.add(u),u.extends&&by(i,u.extends))}}function Cy(i){if(i){let o=new Set;return by(o,i),[...o]}}function A0(i){switch(i){case"Int8Array":return Int8Array;case"Int16Array":return Int16Array;case"Int32Array":return Int32Array;case"Uint8Array":return Uint8Array;case"Uint16Array":return Uint16Array;case"Uint32Array":return Uint32Array;case"Uint8ClampedArray":return Uint8ClampedArray;case"Float32Array":return Float32Array;case"Float64Array":return Float64Array;case"BigInt64Array":return BigInt64Array;case"BigUint64Array":return BigUint64Array;default:throw new OA(i)}}var E0=1e6,w0=1e4,R0=2e4;function Sy(i,o){switch(o){case 3:return Object.freeze(i);case 1:return Object.preventExtensions(i);case 2:return Object.seal(i);default:return i}}var _0=1e3;function T0(i,o){var r;return{mode:i,plugins:o.plugins,refs:o.refs||new Map,features:(r=o.features)!=null?r:63^(o.disabledFeatures||0),depthLimit:o.depthLimit||_0}}function x0(i){return{mode:2,base:T0(2,i),child:S}}var P0=class{constructor(i,o){this._p=i,this.depth=o}deserialize(i){return je(this._p,this.depth,i)}};function Ay(i,o){if(o<0||!Number.isFinite(o)||!Number.isInteger(o))throw new zi({t:4,i:o});if(i.refs.has(o))throw new Error("Conflicted ref id: "+o)}function D0(i,o,r){return Ay(i.base,o),i.state.marked.has(o)&&i.base.refs.set(o,r),r}function O0(i,o,r){return Ay(i.base,o),i.base.refs.set(o,r),r}function pt(i,o,r){return i.mode===1?D0(i,o,r):O0(i,o,r)}function cd(i,o,r){if(Object.hasOwn(o,r))return o[r];throw new zi(i)}function L0(i,o){return pt(i,o.i,JS(Rn(o.s)))}function I0(i,o,r){let l=r.a,u=l.length,d=pt(i,r.i,new Array(u));for(let p=0,y;p<u;p++)y=l[p],y&&(d[p]=je(i,o,y));return Sy(d,r.o),d}function N0(i){switch(i){case"constructor":case"__proto__":case"prototype":case"__defineGetter__":case"__defineSetter__":case"__lookupGetter__":case"__lookupSetter__":return!1;default:return!0}}function M0(i){switch(i){case ti:case Ao:case Eo:case ai:return!0;default:return!1}}function og(i,o,r){N0(o)?i[o]=r:Object.defineProperty(i,o,{value:r,configurable:!0,enumerable:!0,writable:!0})}function U0(i,o,r,l,u){if(typeof l=="string")og(r,l,je(i,o,u));else{let d=je(i,o,l);switch(typeof d){case"string":og(r,d,je(i,o,u));break;case"symbol":M0(d)&&(r[d]=je(i,o,u));break;default:throw new zi(l)}}}function Ey(i,o,r,l){let u=r.k;if(u.length>0)for(let d=0,p=r.v,y=u.length;d<y;d++)U0(i,o,l,u[d],p[d]);return l}function k0(i,o,r){let l=pt(i,r.i,r.t===10?{}:Object.create(null));return Ey(i,o,r.p,l),Sy(l,r.o),l}function B0(i,o){return pt(i,o.i,new Date(o.s))}function q0(i,o){if(i.base.features&32){let r=Rn(o.c);if(r.length>R0)throw new zi(o);return pt(i,o.i,new RegExp(r,o.m))}throw new hy(o)}function z0(i,o,r){let l=pt(i,r.i,new Set);for(let u=0,d=r.a,p=d.length;u<p;u++)l.add(je(i,o,d[u]));return l}function F0(i,o,r){let l=pt(i,r.i,new Map);for(let u=0,d=r.e.k,p=r.e.v,y=d.length;u<y;u++)l.set(je(i,o,d[u]),je(i,o,p[u]));return l}function V0(i,o){if(o.s.length>E0)throw new zi(o);return pt(i,o.i,gy(Rn(o.s)))}function H0(i,o,r){var l;let u=A0(r.c),d=je(i,o,r.f),p=(l=r.b)!=null?l:0;if(p<0||p>d.byteLength)throw new zi(r);return pt(i,r.i,new u(d,p,r.l))}function j0(i,o,r){var l;let u=je(i,o,r.f),d=(l=r.b)!=null?l:0;if(d<0||d>u.byteLength)throw new zi(r);return pt(i,r.i,new DataView(u,d,r.l))}function wy(i,o,r,l){if(r.p){let u=Ey(i,o,r.p,{});Object.defineProperties(l,Object.getOwnPropertyDescriptors(u))}return l}function G0(i,o,r){let l=pt(i,r.i,new AggregateError([],Rn(r.m)));return wy(i,o,r,l)}function Y0(i,o,r){let l=cd(r,VS,r.s),u=pt(i,r.i,new l(Rn(r.m)));return wy(i,o,r,u)}function Q0(i,o,r){let l=Sl(),u=pt(i,r.i,l.p),d=je(i,o,r.f);return r.s?l.s(d):l.f(d),u}function K0(i,o,r){return pt(i,r.i,Object(je(i,o,r.f)))}function $0(i,o,r){let l=i.base.plugins;if(l){let u=Rn(r.c);for(let d=0,p=l.length;d<p;d++){let y=l[d];if(y.tag===u)return pt(i,r.i,y.deserialize(r.s,new P0(i,o),{id:r.i}))}}throw new xA(r.c)}function X0(i,o){return pt(i,o.i,pt(i,o.s,Sl()).p)}function W0(i,o,r){let l=i.base.refs.get(r.i);if(l)return l.s(je(i,o,r.a[1])),S;throw new Nr("Promise")}function Z0(i,o,r){let l=i.base.refs.get(r.i);if(l)return l.f(je(i,o,r.a[1])),S;throw new Nr("Promise")}function J0(i,o,r){je(i,o,r.a[0]);let l=je(i,o,r.a[1]);return VA(l)}function eE(i,o,r){je(i,o,r.a[0]);let l=je(i,o,r.a[1]);return KA(l)}function tE(i,o,r){let l=pt(i,r.i,_n()),u=r.a,d=u.length;if(d)for(let p=0;p<d;p++)je(i,o,u[p]);return l}function aE(i,o,r){let l=i.base.refs.get(r.i);if(l&&Al(l))return l.next(je(i,o,r.f)),S;throw new Nr("Stream")}function iE(i,o,r){let l=i.base.refs.get(r.i);if(l&&Al(l))return l.throw(je(i,o,r.f)),S;throw new Nr("Stream")}function nE(i,o,r){let l=i.base.refs.get(r.i);if(l&&Al(l))return l.return(je(i,o,r.f)),S;throw new Nr("Stream")}function oE(i,o,r){return je(i,o,r.f),S}function rE(i,o,r){return je(i,o,r.a[1]),S}function sE(i,o,r){let l=pt(i,r.i,yy([],r.s,r.l));for(let u=0,d=r.a.length;u<d;u++)l.v[u]=je(i,o,r.a[u]);return l}function je(i,o,r){if(o>i.base.depthLimit)throw new LA(i.base.depthLimit);switch(o+=1,r.t){case 2:return cd(r,zS,r.s);case 0:return Number(r.s);case 1:return Rn(String(r.s));case 3:if(String(r.s).length>w0)throw new zi(r);return BigInt(r.s);case 4:return i.base.refs.get(r.i);case 18:return L0(i,r);case 9:return I0(i,o,r);case 10:case 11:return k0(i,o,r);case 5:return B0(i,r);case 6:return q0(i,r);case 7:return z0(i,o,r);case 8:return F0(i,o,r);case 19:return V0(i,r);case 16:case 15:return H0(i,o,r);case 20:return j0(i,o,r);case 14:return G0(i,o,r);case 13:return Y0(i,o,r);case 12:return Q0(i,o,r);case 17:return cd(r,qS,r.s);case 21:return K0(i,o,r);case 25:return $0(i,o,r);case 22:return X0(i,r);case 23:return W0(i,o,r);case 24:return Z0(i,o,r);case 28:return J0(i,o,r);case 30:return eE(i,o,r);case 31:return tE(i,o,r);case 32:return aE(i,o,r);case 33:return iE(i,o,r);case 34:return nE(i,o,r);case 27:return oE(i,o,r);case 29:return rE(i,o,r);case 35:return sE(i,o,r);default:throw new hy(r)}}function lE(i,o){try{return je(i,0,o)}catch(r){throw new TA(r)}}var cE=()=>T;cE.toString();function Xu(i,o){let r=Cy(o.plugins),l=x0({plugins:r,refs:o.refs,features:o.features,disabledFeatures:o.disabledFeatures,depthLimit:o.depthLimit});return lE(l,i)}async function uE(i,o={}){let r=Cy(o.plugins),l=i0(1,{plugins:r,disabledFeatures:o.disabledFeatures});return{t:await C0(l,i),f:l.base.features,m:Array.from(l.base.marked)}}function dE(i){return{tag:"$TSR/t/"+i.key,test:i.test,parse:{sync(o,r){return r.parse(i.toSerializable(o))},async async(o,r){return await r.parse(i.toSerializable(o))},stream(o,r){return r.parse(i.toSerializable(o))}},serialize:void 0,deserialize(o,r){return i.fromSerializable(r.deserialize(o))}}}var Ii={},Ry=i=>new ReadableStream({start:o=>{i.on({next:r=>{try{o.enqueue(r)}catch{}},throw:r=>{o.error(r)},return:()=>{try{o.close()}catch{}}})}}),fE={tag:"seroval-plugins/web/ReadableStreamFactory",test(i){return i===Ii},parse:{sync(){return Ii},async async(){return await Promise.resolve(Ii)},stream(){return Ii}},serialize(){return Ry.toString()},deserialize(){return Ii}};function rg(i){let o=_n(),r=i.getReader();async function l(){try{let u=await r.read();u.done?o.return(u.value):(o.next(u.value),await l())}catch(u){o.throw(u)}}return l().catch(()=>{}),o}var mE={tag:"seroval/plugins/web/ReadableStream",extends:[fE],test(i){return typeof ReadableStream>"u"?!1:i instanceof ReadableStream},parse:{sync(i,o){return{factory:o.parse(Ii),stream:o.parse(_n())}},async async(i,o){return{factory:await o.parse(Ii),stream:await o.parse(rg(i))}},stream(i,o){return{factory:o.parse(Ii),stream:o.parse(rg(i))}}},serialize(i,o){return"("+o.serialize(i.factory)+")("+o.serialize(i.stream)+")"},deserialize(i,o){let r=o.deserialize(i.stream);return Ry(r)}},pE=mE;const hE={tag:"$TSR/Error",test(i){return i instanceof Error},parse:{sync(i,o){return{message:o.parse(i.message)}},async async(i,o){return{message:await o.parse(i.message)}},stream(i,o){return{message:o.parse(i.message)}}},serialize(i,o){return"new Error("+o.serialize(i.message)+")"},deserialize(i,o){return new Error(o.deserialize(i.message))}};class gE{constructor(o,r){this.stream=o,this.hint=r?.hint??"binary"}}const hl=globalThis.Buffer,_y=!!hl&&typeof hl.from=="function";
12function Ty(i){if(i.length===0)return"";if(_y)return hl.from(i).toString("base64");const o=32768,r=[];for(let l=0;l<i.length;l+=o){const u=i.subarray(l,l+o);r.push(String.fromCharCode.apply(null,u))}return btoa(r.join(""))}function xy(i){if(i.length===0)return new Uint8Array(0);if(_y){const l=hl.from(i,"base64");return new Uint8Array(l.buffer,l.byteOffset,l.byteLength)}const o=atob(i),r=new Uint8Array(o.length);for(let l=0;l<o.length;l++)r[l]=o.charCodeAt(l);return r}const Rr=Object.create(null),_r=Object.create(null),yE=i=>new ReadableStream({start(o){i.on({next(r){try{o.enqueue(xy(r))}catch{}},throw(r){o.error(r)},return(){try{o.close()}catch{}}})}}),vE=new TextEncoder,bE=i=>new ReadableStream({start(o){i.on({next(r){try{typeof r=="string"?o.enqueue(vE.encode(r)):o.enqueue(xy(r.$b64))}catch{}},throw(r){o.error(r)},return(){try{o.close()}catch{}}})}}),CE="(s=>new ReadableStream({start(c){s.on({next(b){try{const d=atob(b),a=new Uint8Array(d.length);for(let i=0;i<d.length;i++)a[i]=d.charCodeAt(i);c.enqueue(a)}catch(_){}},throw(e){c.error(e)},return(){try{c.close()}catch(_){}}})}}))",SE="(s=>{const e=new TextEncoder();return new ReadableStream({start(c){s.on({next(v){try{if(typeof v==='string'){c.enqueue(e.encode(v))}else{const d=atob(v.$b64),a=new Uint8Array(d.length);for(let i=0;i<d.length;i++)a[i]=d.charCodeAt(i);c.enqueue(a)}}catch(_){}},throw(x){c.error(x)},return(){try{c.close()}catch(_){}}})}})})";function sg(i){const o=_n(),r=i.getReader();return(async()=>{try{for(;;){const{done:l,value:u}=await r.read();if(l){o.return(void 0);break}o.next(Ty(u))}}catch(l){o.throw(l)}finally{r.releaseLock()}})(),o}function lg(i){const o=_n(),r=i.getReader(),l=new TextDecoder("utf-8",{fatal:!0});return(async()=>{try{for(;;){const{done:u,value:d}=await r.read();if(u){try{const p=l.decode();p.length>0&&o.next(p)}catch{}o.return(void 0);break}try{const p=l.decode(d,{stream:!0});p.length>0&&o.next(p)}catch{o.next({$b64:Ty(d)})}}}catch(u){o.throw(u)}finally{r.releaseLock()}})(),o}const AE={tag:"tss/RawStreamFactory",test(i){return i===Rr},parse:{sync(){},async(){return Promise.resolve(void 0)},stream(){}},serialize(){return CE},deserialize(){return Rr}},EE={tag:"tss/RawStreamFactoryText",test(i){return i===_r},parse:{sync(){},async(){return Promise.resolve(void 0)},stream(){}},serialize(){return SE},deserialize(){return _r}},wE={tag:"tss/RawStream",extends:[AE,EE],test(i){return i instanceof gE},parse:{sync(i,o){const r=i.hint==="text"?_r:Rr;return{hint:i.hint,factory:o.parse(r),stream:o.parse(_n())}},async async(i,o){const r=i.hint==="text"?_r:Rr,l=i.hint==="text"?lg(i.stream):sg(i.stream);return{hint:i.hint,factory:await o.parse(r),stream:await o.parse(l)}},stream(i,o){const r=i.hint==="text"?_r:Rr,l=i.hint==="text"?lg(i.stream):sg(i.stream);return{hint:i.hint,factory:o.parse(r),stream:o.parse(l)}}},serialize(i,o){return"("+o.serialize(i.factory)+")("+o.serialize(i.stream)+")"},deserialize(i,o){const r=o.deserialize(i.stream);return i.hint==="text"?bE(r):yE(r)}};function RE(i){return{tag:"tss/RawStream",test:()=>!1,parse:{},serialize(){throw new Error("RawStreamDeserializePlugin.serialize should not be called. Client only deserializes.")},deserialize(o){return i(o.streamId)}}}const _E=[hE,wE,pE],TE="use",gl=cC[TE],el=typeof window<"u"?ne.useLayoutEffect:ne.useEffect;function Wu(i){const o=ne.useRef({value:i,prev:null}),r=o.current.value;return i!==r&&(o.current={value:i,prev:r}),o.current.prev}function xE(i,o,r={},l={}){ne.useEffect(()=>{if(!i.current||l.disabled||typeof IntersectionObserver!="function")return;const u=new IntersectionObserver(([d])=>{o(d)},r);return u.observe(i.current),()=>{u.disconnect()}},[o,r,l.disabled,i])}function PE(i){const o=ne.useRef(null);return ne.useImperativeHandle(i,()=>o.current,[]),o}function DE({promise:i}){if(gl)return gl(i);const o=MS(i);if(o[La].status==="pending")throw o;if(o[La].status==="error")throw o[La].error;return o[La].data}function OE(i){const o=X.jsx(LE,{...i});return i.fallback?X.jsx(ne.Suspense,{fallback:i.fallback,children:o}):o}function LE(i){const o=DE(i);return i.children(o)}function Ed(i){const o=i.errorComponent??wd;return X.jsx(IE,{getResetKey:i.getResetKey,onCatch:i.onCatch,children:({error:r,reset:l})=>r?ne.createElement(o,{error:r,reset:l}):i.children})}class IE extends ne.Component{constructor(){super(...arguments),this.state={error:null}}static getDerivedStateFromProps(o){return{resetKey:o.getResetKey()}}static getDerivedStateFromError(o){return{error:o}}reset(){this.setState({error:null})}componentDidUpdate(o,r){r.error&&r.resetKey!==this.state.resetKey&&this.reset()}componentDidCatch(o,r){this.props.onCatch&&this.props.onCatch(o,r)}render(){return this.props.children({error:this.state.resetKey!==this.props.getResetKey()?null:this.state.error,reset:()=>{this.reset()}})}}function wd({error:i}){const[o,r]=ne.useState(!1);return X.jsxs("div",{style:{padding:".5rem",maxWidth:"100%"},children:[X.jsxs("div",{style:{display:"flex",alignItems:"center",gap:".5rem"},children:[X.jsx("strong",{style:{fontSize:"1rem"},children:"Something went wrong!"}),X.jsx("button",{style:{appearance:"none",fontSize:".6em",border:"1px solid currentColor",padding:".1rem .2rem",fontWeight:"bold",borderRadius:".25rem"},onClick:()=>r(l=>!l),children:o?"Hide Error":"Show Error"})]}),X.jsx("div",{style:{height:".25rem"}}),o?X.jsx("div",{children:X.jsx("pre",{style:{fontSize:".7em",border:"1px solid red",borderRadius:".25rem",padding:".3rem",color:"red",overflow:"auto"},children:i.message?X.jsx("code",{children:i.message}):null})}):null]})}function NE({children:i,fallback:o=null}){return Rd()?X.jsx($.Fragment,{children:i}):X.jsx($.Fragment,{children:o})}function Rd(){return $.useSyncExternalStore(ME,()=>!0,()=>!1)}function ME(){return()=>{}}var Zu={exports:{}},Ju={},ed={exports:{}},td={};var cg;function UE(){if(cg)return td;cg=1;var i=Ir();function o(h,C){return h===C&&(h!==0||1/h===1/C)||h!==h&&C!==C}var r=typeof Object.is=="function"?Object.is:o,l=i.useState,u=i.useEffect,d=i.useLayoutEffect,p=i.useDebugValue;function y(h,C){var A=C(),R=l({inst:{value:A,getSnapshot:C}}),P=R[0].inst,w=R[1];return d(function(){P.value=A,P.getSnapshot=C,g(P)&&w({inst:P})},[h,A,C]),u(function(){return g(P)&&w({inst:P}),h(function(){g(P)&&w({inst:P})})},[h]),p(A),A}function g(h){var C=h.getSnapshot;h=h.value;try{var A=C();return!r(h,A)}catch{return!0}}function m(h,C){return C()}var v=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?m:y;return td.useSyncExternalStore=i.useSyncExternalStore!==void 0?i.useSyncExternalStore:v,td}var ug;function kE(){return ug||(ug=1,ed.exports=UE()),ed.exports}var dg;function BE(){if(dg)return Ju;dg=1;var i=Ir(),o=kE();function r(m,v){return m===v&&(m!==0||1/m===1/v)||m!==m&&v!==v}var l=typeof Object.is=="function"?Object.is:r,u=o.useSyncExternalStore,d=i.useRef,p=i.useEffect,y=i.useMemo,g=i.useDebugValue;return Ju.useSyncExternalStoreWithSelector=function(m,v,h,C,A){var R=d(null);if(R.current===null){var P={hasValue:!1,value:null};R.current=P}else P=R.current;R=y(function(){function O(ee){if(!q){if(q=!0,V=ee,ee=C(ee),A!==void 0&&P.hasValue){var G=P.value;if(A(G,ee))return j=G}return j=ee}if(G=j,l(V,ee))return G;var z=C(ee);return A!==void 0&&A(G,z)?(V=ee,G):(V=ee,j=z)}var q=!1,V,j,J=h===void 0?null:h;return[function(){return O(v())},J===null?void 0:function(){return O(J())}]},[v,h,C,A]);var w=u(m,R[0],R[1]);return p(function(){P.hasValue=!0,P.value=w},[w]),g(w),w},Ju}var fg;function qE(){return fg||(fg=1,Zu.exports=BE()),Zu.exports}var zE=qE();function FE(i,o){return i===o}function VE(i,o,r=FE){const l=ne.useCallback(p=>{if(!i)return()=>{};const{unsubscribe:y}=i.subscribe(p);return y},[i]),u=ne.useCallback(()=>i?.get(),[i]);return zE.useSyncExternalStoreWithSelector(l,u,u,o,r)}const Py=ne.createContext(null);function Dt(i){const o=ne.useContext(Py);return i?.warn,o}function ut(i){const o=Dt({warn:i?.router===void 0}),r=i?.router||o,l=ne.useRef(void 0);return VE(r.__store,u=>{if(i?.select){if(i.structuralSharing??r.options.defaultStructuralSharing){const d=pn(l.current,i.select(u));return l.current=d,d}return i.select(u)}return u})}const Rl=ne.createContext(void 0),HE=ne.createContext(void 0);function Fi(i){const o=ne.useContext(i.from?HE:Rl);return ut({select:l=>{const u=l.matches.find(d=>i.from?i.from===d.routeId:d.id===o);if(ia(!((i.shouldThrow??!0)&&!u),`Could not find ${i.from?`an active match from "${i.from}"`:"a nearest match!"}`),u!==void 0)return i.select?i.select(u):u},structuralSharing:i.structuralSharing})}function _d(i){return Fi({from:i.from,strict:i.strict,structuralSharing:i.structuralSharing,select:o=>i.select?i.select(o.loaderData):o.loaderData})}function Td(i){const{select:o,...r}=i;return Fi({...r,select:l=>o?o(l.loaderDeps):l.loaderDeps})}function xd(i){return Fi({from:i.from,shouldThrow:i.shouldThrow,structuralSharing:i.structuralSharing,strict:i.strict,select:o=>{const r=i.strict===!1?o.params:o._strictParams;return i.select?i.select(r):r}})}function Pd(i){return Fi({from:i.from,strict:i.strict,shouldThrow:i.shouldThrow,structuralSharing:i.structuralSharing,select:o=>i.select?i.select(o.search):o.search})}function Dd(i){const o=Dt();return ne.useCallback(r=>o.navigate({...r,from:r.from??i?.from}),[i?.from,o])}function Od(i){return Fi({...i,select:o=>i.select?i.select(o.context):o.context})}var Dy=Ig();const jE=Lg(Dy);function GE(i,o){const r=Dt(),l=PE(o),{activeProps:u,inactiveProps:d,activeOptions:p,to:y,preload:g,preloadDelay:m,hashScrollIntoView:v,replace:h,startTransition:C,resetScroll:A,viewTransition:R,children:P,target:w,disabled:O,style:q,className:V,onClick:j,onBlur:J,onFocus:ee,onMouseEnter:G,onMouseLeave:z,onTouchStart:W,ignoreBlocker:me,params:re,search:ae,hash:Te,state:xe,mask:Ge,reloadDocument:L,unsafeRelative:Q,from:oe,_fromLocation:Se,...ye}=i,_=Rd(),F=ut({select:Oe=>{const Je=Oe.matches[Oe.matches.length-1];return{search:Je?.search,hash:Oe.location.hash,path:Je?.pathname}},structuralSharing:!0}),Y=i.from,K=ne.useMemo(()=>({...i,from:Y}),[r,F,Y,i._fromLocation,i.hash,i.to,i.search,i.params,i.state,i.mask,i.unsafeRelative]),Z=ne.useMemo(()=>r.buildLocation({...K}),[r,K]),le=Z.maskedLocation?Z.maskedLocation.publicHref:Z.publicHref,Ce=Z.maskedLocation?Z.maskedLocation.external:Z.external,pe=ne.useMemo(()=>WE(le,Ce,r.history,O),[O,Ce,le,r.history]),De=ne.useMemo(()=>
12{if(pe?.external)return ul(pe.href,r.protocolAllowlist)?void 0:pe.href;if(!ZE(y)&&!(typeof y!="string"||y.indexOf(":")===-1))try{return new URL(y),ul(y,r.protocolAllowlist)?void 0:y}catch{}},[y,pe,r.protocolAllowlist]),Mt=ut({select:Oe=>{if(De)return!1;if(p?.exact){if(!iS(Oe.location.pathname,Z.pathname,r.basepath))return!1}else{const Je=fl(Oe.location.pathname,r.basepath),dt=fl(Z.pathname,r.basepath);if(!(Je.startsWith(dt)&&(Je.length===dt.length||Je[dt.length]==="/")))return!1}return(p?.includeSearch??!0)&&!vn(Oe.location.search,Z.search,{partial:!p?.exact,ignoreUndefined:!p?.explicitUndefined})?!1:p?.includeHash?_&&Oe.location.hash===Z.hash:!0}}),Ut=Mt?Ni(u,{})??YE:ad,Ot=Mt?ad:Ni(d,{})??ad,Vi=[V,Ut.className,Ot.className].filter(Boolean).join(" "),kt=(q||Ut.style||Ot.style)&&{...q,...Ut.style,...Ot.style},[Hi,Ia]=ne.useState(!1),Ea=ne.useRef(!1),na=i.reloadDocument||De?!1:g??r.options.defaultPreload,vt=m??r.options.defaultPreloadDelay??0,$t=ne.useCallback(()=>{r.preloadRoute({...K,_builtLocation:Z}).catch(Oe=>{console.warn(Oe),console.warn(US)})},[r,K,Z]),ji=ne.useCallback(Oe=>{Oe?.isIntersecting&&$t()},[$t]);xE(l,ji,XE,{disabled:!!O||na!=="viewport"}),ne.useEffect(()=>{Ea.current||!O&&na==="render"&&($t(),Ea.current=!0)},[O,$t,na]);const bt=Oe=>{const Je=Oe.currentTarget.getAttribute("target"),dt=w!==void 0?w:Je;if(!O&&!JE(Oe)&&!Oe.defaultPrevented&&(!dt||dt==="_self")&&Oe.button===0){Oe.preventDefault(),Dy.flushSync(()=>{Ia(!0)});const oi=r.subscribe("onResolved",()=>{oi(),Ia(!1)});r.navigate({...K,replace:h,resetScroll:A,hashScrollIntoView:v,startTransition:C,viewTransition:R,ignoreBlocker:me})}};if(De)return{...ye,ref:l,href:De,...P&&{children:P},...w&&{target:w},...O&&{disabled:O},...q&&{style:q},...V&&{className:V},...j&&{onClick:j},...J&&{onBlur:J},...ee&&{onFocus:ee},...G&&{onMouseEnter:G},...z&&{onMouseLeave:z},...W&&{onTouchStart:W}};const ga=Oe=>{if(O||na!=="intent")return;if(!vt){$t();return}const Je=Oe.currentTarget;if(Sr.has(Je))return;const dt=setTimeout(()=>{Sr.delete(Je),$t()},vt);Sr.set(Je,dt)},Ct=Oe=>{O||na!=="intent"||$t()},xn=Oe=>{if(O||!na||!vt)return;const Je=Oe.currentTarget,dt=Sr.get(Je);dt&&(clearTimeout(dt),Sr.delete(Je))};return{...ye,...Ut,...Ot,href:pe?.href,ref:l,onClick:yo([j,bt]),onBlur:yo([J,xn]),onFocus:yo([ee,ga]),onMouseEnter:yo([G,ga]),onMouseLeave:yo([z,xn]),onTouchStart:yo([W,Ct]),disabled:!!O,target:w,...kt&&{style:kt},...Vi&&{className:Vi},...O&&QE,...Mt&&KE,..._&&Hi&&$E}}const ad={},YE={className:"active"},QE={role:"link","aria-disabled":!0},KE={"data-status":"active","aria-current":"page"},$E={"data-transitioning":"transitioning"},Sr=new WeakMap,XE={rootMargin:"100px"},yo=i=>o=>{for(const r of i)if(r){if(o.defaultPrevented)return;r(o)}};function WE(i,o,r,l){if(!l)return o?{href:i,external:!0}:{href:r.createHref(i)||"/",external:!1}}function ZE(i){if(typeof i!="string")return!1;const o=i.charCodeAt(0);return o===47?i.charCodeAt(1)!==47:o===46}const Oy=ne.forwardRef((i,o)=>{const{_asChild:r,...l}=i,{type:u,...d}=GE(l,o),p=typeof l.children=="function"?l.children({isActive:d["data-status"]==="active"}):l.children;if(!r){const{disabled:y,...g}=d;return ne.createElement("a",g,p)}return ne.createElement(r,d,p)});function JE(i){return!!(i.metaKey||i.altKey||i.ctrlKey||i.shiftKey)}let ew=class extends Xg{constructor(o){super(o),this.useMatch=r=>Fi({select:r?.select,from:this.id,structuralSharing:r?.structuralSharing}),this.useRouteContext=r=>Od({...r,from:this.id}),this.useSearch=r=>Pd({select:r?.select,structuralSharing:r?.structuralSharing,from:this.id}),this.useParams=r=>xd({select:r?.select,structuralSharing:r?.structuralSharing,from:this.id}),this.useLoaderDeps=r=>Td({...r,from:this.id}),this.useLoaderData=r=>_d({...r,from:this.id}),this.useNavigate=()=>Dd({from:this.fullPath}),this.Link=$.forwardRef((r,l)=>X.jsx(Oy,{ref:l,from:this.fullPath,...r})),this.$$typeof=Symbol.for("react.memo")}};function tw(i){return new ew(i)}class aw extends kS{constructor(o){super(o),this.useMatch=r=>Fi({select:r?.select,from:this.id,structuralSharing:r?.structuralSharing}),this.useRouteContext=r=>Od({...r,from:this.id}),this.useSearch=r=>Pd({select:r?.select,structuralSharing:r?.structuralSharing,from:this.id}),this.useParams=r=>xd({select:r?.select,structuralSharing:r?.structuralSharing,from:this.id}),this.useLoaderDeps=r=>Td({...r,from:this.id}),this.useLoaderData=r=>_d({...r,from:this.id}),this.useNavigate=()=>Dd({from:this.fullPath}),this.Link=$.forwardRef((r,l)=>X.jsx(Oy,{ref:l,from:this.fullPath,...r})),this.$$typeof=Symbol.for("react.memo")}}function iw(i){return new aw(i)}function ce(i){return typeof i=="object"?new mg(i,{silent:!0}).createRoute(i):new mg(i,{silent:!0}).createRoute}
12class mg{constructor(o,r){this.path=o,this.createRoute=l=>{const u=tw(l);return u.isRoot=!1,u},this.silent=r?.silent}}class pg{constructor(o){this.useMatch=r=>Fi({select:r?.select,from:this.options.id,structuralSharing:r?.structuralSharing}),this.useRouteContext=r=>Od({...r,from:this.options.id}),this.useSearch=r=>Pd({select:r?.select,structuralSharing:r?.structuralSharing,from:this.options.id}),this.useParams=r=>xd({select:r?.select,structuralSharing:r?.structuralSharing,from:this.options.id}),this.useLoaderDeps=r=>Td({...r,from:this.options.id}),this.useLoaderData=r=>_d({...r,from:this.options.id}),this.useNavigate=()=>{const r=Dt();return Dd({from:r.routesById[this.options.id].fullPath})},this.options=o,this.$$typeof=Symbol.for("react.memo")}}function hg(i){return typeof i=="object"?new pg(i):o=>new pg({id:i,...o})}function fe(i,o){let r,l,u,d;const p=()=>(r||(r=i().then(g=>{r=void 0,l=g[o]}).catch(g=>{if(u=g,qC(u)&&u instanceof Error&&typeof window<"u"&&typeof sessionStorage<"u"){const m=`tanstack_router_reload:${u.message}`;sessionStorage.getItem(m)||(sessionStorage.setItem(m,"1"),d=!0)}})),r),y=function(m){if(d)throw window.location.reload(),new Promise(()=>{});if(u)throw u;if(!l)if(gl)gl(p());else throw p();return ne.createElement(l,m)};return y.preload=p,y}function nw(){const i=Dt(),o=ne.useRef({router:i,mounted:!1}),[r,l]=ne.useState(!1),{hasPendingMatches:u,isLoading:d}=ut({select:h=>({isLoading:h.isLoading,hasPendingMatches:h.matches.some(C=>C.status==="pending")}),structuralSharing:!0}),p=Wu(d),y=d||r||u,g=Wu(y),m=d||u,v=Wu(m);return i.startTransition=h=>{l(!0),ne.startTransition(()=>{h(),l(!1)})},ne.useEffect(()=>{const h=i.history.subscribe(i.load),C=i.buildLocation({to:i.latestLocation.pathname,search:!0,params:!0,hash:!0,state:!0,_includeValidateSearch:!0});return ki(i.latestLocation.publicHref)!==ki(C.publicHref)&&i.commitLocation({...C,replace:!0}),()=>{h()}},[i,i.history]),el(()=>{if(typeof window<"u"&&i.ssr||o.current.router===i&&o.current.mounted)return;o.current={router:i,mounted:!0},(async()=>{try{await i.load()}catch(C){console.error(C)}})()},[i]),el(()=>{p&&!d&&i.emit({type:"onLoad",...Cn(i.state)})},[p,i,d]),el(()=>{v&&!m&&i.emit({type:"onBeforeRouteMount",...Cn(i.state)})},[m,v,i]),el(()=>{if(g&&!y){const h=Cn(i.state);i.emit({type:"onResolved",...h}),i.__store.setState(C=>({...C,status:"idle",resolvedLocation:C.location})),h.hrefChanged&&mS(i)}},[y,g,i]),null}function ow(i){const o=ut({select:r=>`not-found-${r.location.pathname}-${r.status}`});return X.jsx(Ed,{getResetKey:()=>o,onCatch:(r,l)=>{if(_t(r))i.onCatch?.(r,l);else throw r},errorComponent:({error:r})=>{if(_t(r))return i.fallback?.(r);throw r},children:i.children})}function rw(){return X.jsx("p",{children:"Not Found"})}function bo(i){return X.jsx(X.Fragment,{children:i.children})}function Ly(i,o,r){return o.options.notFoundComponent?X.jsx(o.options.notFoundComponent,{...r}):i.options.defaultNotFoundComponent?X.jsx(i.options.defaultNotFoundComponent,{...r}):X.jsx(rw,{})}function sw(){return Dt().isScrollRestoring,null}const Iy=ne.memo(function({matchId:o}){const r=Dt(),l=ut({select:P=>{const w=P.matches.findIndex(q=>q.id===o),O=P.matches[w];return ia(O),{routeId:O.routeId,ssr:O.ssr,_displayPending:O._displayPending,resetKey:P.loadedAt,parentRouteId:P.matches[w-1]?.routeId}},structuralSharing:!0}),u=r.routesById[l.routeId],d=u.options.pendingComponent??r.options.defaultPendingComponent,p=d?X.jsx(d,{}):null,y=u.options.errorComponent??r.options.defaultErrorComponent,g=u.options.onCatch??r.options.defaultOnCatch,m=u.isRoot?u.options.notFoundComponent??r.options.notFoundRoute?.options.component:u.options.notFoundComponent,v=l.ssr===!1||l.ssr==="data-only",h=(!u.isRoot||u.options.wrapInSuspense||v)&&(u.options.wrapInSuspense??d??(u.options.errorComponent?.preload||v))?ne.Suspense:bo,C=y?Ed:bo,A=m?ow:bo,R=u.isRoot?u.options.shellComponent??bo:bo;return X.jsxs(R,{children:[X.jsx(Rl.Provider,{value:o,children:X.jsx(h,{fallback:p,children:X.jsx(C,{getResetKey:()=>l.resetKey,errorComponent:y||wd,onCatch:(P,w)=>{if(_t(P))throw P;g?.(P,w)},children:X.jsx(A,{fallback:P=>
12{if(!m||P.routeId&&P.routeId!==l.routeId||!P.routeId&&!u.isRoot)throw P;return ne.createElement(m,P)},children:v||l._displayPending?X.jsx(NE,{fallback:p,children:X.jsx(gg,{matchId:o})}):X.jsx(gg,{matchId:o})})})})}),l.parentRouteId===ha&&r.options.scrollRestoration?X.jsxs(X.Fragment,{children:[X.jsx(lw,{}),X.jsx(sw,{})]}):null]})});function lw(){const i=Dt(),o=ne.useRef(void 0);return X.jsx("script",{suppressHydrationWarning:!0,ref:r=>{r&&(o.current===void 0||o.current.href!==i.latestLocation.href)&&(i.emit({type:"onRendered",...Cn(i.state)}),o.current=i.latestLocation)}},i.latestLocation.state.__TSR_key)}const gg=ne.memo(function({matchId:o}){const r=Dt(),{match:l,key:u,routeId:d}=ut({select:g=>{const m=g.matches.find(R=>R.id===o),v=m.routeId,C=(r.routesById[v].options.remountDeps??r.options.defaultRemountDeps)?.({routeId:v,loaderDeps:m.loaderDeps,params:m._strictParams,search:m._strictSearch});return{key:C?JSON.stringify(C):void 0,routeId:v,match:{id:m.id,status:m.status,error:m.error,invalid:m.invalid,_forcePending:m._forcePending,_displayPending:m._displayPending}}},structuralSharing:!0}),p=r.routesById[d],y=ne.useMemo(()=>{const g=p.options.component??r.options.defaultComponent;return g?X.jsx(g,{},u):X.jsx(Ny,{})},[u,p.options.component,r.options.defaultComponent]);if(l._displayPending)throw r.getMatch(l.id)?._nonReactive.displayPendingPromise;if(l._forcePending)throw r.getMatch(l.id)?._nonReactive.minPendingPromise;if(l.status==="pending"){const g=p.options.pendingMinMs??r.options.defaultPendingMinMs;if(g){const m=r.getMatch(l.id);if(m&&!m._nonReactive.minPendingPromise){const v=Sn();m._nonReactive.minPendingPromise=v,setTimeout(()=>{v.resolve(),m._nonReactive.minPendingPromise=void 0},g)}}throw r.getMatch(l.id)?._nonReactive.loadPromise}if(l.status==="notFound")return ia(_t(l.error)),Ly(r,p,l.error);if(l.status==="redirected")throw ia(Nt(l.error)),r.getMatch(l.id)?._nonReactive.loadPromise;if(l.status==="error")throw l.error;return y}),Ny=ne.memo(function(){const o=Dt(),r=ne.useContext(Rl),l=ut({select:m=>m.matches.find(v=>v.id===r)?.routeId}),u=o.routesById[l],d=ut({select:m=>{const h=m.matches.find(C=>C.id===r);return ia(h),h.globalNotFound}}),p=ut({select:m=>{const v=m.matches,h=v.findIndex(C=>C.id===r);return v[h+1]?.id}}),y=o.options.defaultPendingComponent?X.jsx(o.options.defaultPendingComponent,{}):null;if(d)return Ly(o,u,void 0);if(!p)return null;const g=X.jsx(Iy,{matchId:p});return l===ha?X.jsx(ne.Suspense,{fallback:y,children:g}):g});function cw(){const i=Dt(),r=i.routesById[ha].options.pendingComponent??i.options.defaultPendingComponent,l=r?X.jsx(r,{}):null,u=typeof document<"u"&&i.ssr?bo:ne.Suspense,d=X.jsxs(u,{fallback:l,children:[X.jsx(nw,{}),X.jsx(uw,{})]});return i.options.InnerWrap?X.jsx(i.options.InnerWrap,{children:d}):d}function uw(){const i=Dt(),o=ut({select:u=>u.matches[0]?.id}),r=ut({select:u=>u.loadedAt}),l=o?X.jsx(Iy,{matchId:o}):null;return X.jsx(Rl.Provider,{value:o,children:i.options.disableGlobalCatchBoundary?l:X.jsx(Ed,{getResetKey:()=>r,errorComponent:wd,onCatch:void 0,children:l})})}const dw=i=>new fw(i);class fw extends xS{constructor(o){super(o)}}typeof globalThis<"u"?(globalThis.createFileRoute=ce,globalThis.createLazyFileRoute=hg):typeof window<"u"&&(window.createFileRoute=ce,window.createLazyFileRoute=hg);function mw({router:i,children:o,...r}){Object.keys(r).length>0&&i.update({...i.options,...r,context:{...i.options.context,...r.context}});const l=X.jsx(Py.Provider,{value:i,children:o});return i.options.Wrap?X.jsx(i.options.Wrap,{children:l}):l}function pw({router:i,...o}){return X.jsx(mw,{router:i,...o,children:X.jsx(cw,{})})}function My({tag:i,attrs:o,children:r,nonce:l}){switch(i){case"title":return X.jsx("title",{...o,suppressHydrationWarning:!0,children:r});case"meta":return X.jsx("meta",{...o,suppressHydrationWarning:!0});case"link":return X.jsx("link",{...o,nonce:l,suppressHydrationWarning:!0});case"style":return X.jsx("style",{...o,dangerouslySetInnerHTML:{__html:r},nonce:l});case"script":return X.jsx(hw,{attrs:o,children:r});default:return null}}function hw({attrs:i,children:o}){Dt();const r=Rd(),l=typeof i?.type=="string"&&i.type!==""&&i.type!=="text/javascript"&&i.type!=="module";if(ne.useEffect(()=>{if(!l){if(i?.src){const u=(()=>{try{const y=document.baseURI||window.location.href;return new URL(i.src,y).href}catch{return i.src}})();if(Array.from(document.querySelectorAll("script[src]")).find(y=>y.src===u))return;const p=document.createElement("script");for(const[y,g]of Object.entries(i))y!=="suppressHydrationWarning"&&g!==void 0&&g!==!1&&p.setAttribute(y,typeof g=="boolean"?"":String(g));return document.head.appendChild(p),()=>{p.parentNode&&p.parentNode.removeChild(p)}}
12if(typeof o=="string"){const u=typeof i?.type=="string"?i.type:"text/javascript",d=typeof i?.nonce=="string"?i.nonce:void 0;if(Array.from(document.querySelectorAll("script:not([src])")).find(g=>{if(!(g instanceof HTMLScriptElement))return!1;const m=g.getAttribute("type")??"text/javascript",v=g.getAttribute("nonce")??void 0;return g.textContent===o&&m===u&&v===d}))return;const y=document.createElement("script");if(y.textContent=o,i)for(const[g,m]of Object.entries(i))g!=="suppressHydrationWarning"&&m!==void 0&&m!==!1&&y.setAttribute(g,typeof m=="boolean"?"":String(m));return document.head.appendChild(y),()=>{y.parentNode&&y.parentNode.removeChild(y)}}}},[i,o,l]),l&&typeof o=="string")return X.jsx("script",{...i,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:o}});if(!r){if(i?.src)return X.jsx("script",{...i,suppressHydrationWarning:!0});if(typeof o=="string")return X.jsx("script",{...i,dangerouslySetInnerHTML:{__html:o},suppressHydrationWarning:!0})}return null}const gw=()=>{const i=Dt(),o=i.options.ssr?.nonce,r=ut({select:g=>g.matches.map(m=>m.meta).filter(Boolean)}),l=ne.useMemo(()=>{const g=[],m={};let v;for(let h=r.length-1;h>=0;h--){const C=r[h];for(let A=C.length-1;A>=0;A--){const R=C[A];if(R)if(R.title)v||(v={tag:"title",children:R.title});else if("script:ld+json"in R)try{const P=JSON.stringify(R["script:ld+json"]);g.push({tag:"script",attrs:{type:"application/ld+json"},children:jC(P)})}catch{}else{const P=R.name??R.property;if(P){if(m[P])continue;m[P]=!0}g.push({tag:"meta",attrs:{...R,nonce:o}})}}}return v&&g.push(v),o&&g.push({tag:"meta",attrs:{property:"csp-nonce",content:o}}),g.reverse(),g},[r,o]),u=ut({select:g=>{const m=g.matches.map(C=>C.links).filter(Boolean).flat(1).map(C=>({tag:"link",attrs:{...C,nonce:o}})),v=i.ssr?.manifest,h=g.matches.map(C=>v?.routes[C.routeId]?.assets??[]).filter(Boolean).flat(1).filter(C=>C.tag==="link").map(C=>({tag:"link",attrs:{...C.attrs,suppressHydrationWarning:!0,nonce:o}}));return[...m,...h]},structuralSharing:!0}),d=ut({select:g=>{const m=[];return g.matches.map(v=>i.looseRoutesById[v.routeId]).forEach(v=>i.ssr?.manifest?.routes[v.id]?.preloads?.filter(Boolean).forEach(h=>{m.push({tag:"link",attrs:{rel:"modulepreload",href:h,nonce:o}})})),m},structuralSharing:!0}),p=ut({select:g=>g.matches.map(m=>m.styles).flat(1).filter(Boolean).map(({children:m,...v})=>({tag:"style",attrs:{...v,nonce:o},children:m})),structuralSharing:!0}),y=ut({select:g=>g.matches.map(m=>m.headScripts).flat(1).filter(Boolean).map(({children:m,...v})=>({tag:"script",attrs:{...v,nonce:o},children:m})),structuralSharing:!0});return yw([...l,...d,...u,...p,...y],g=>JSON.stringify(g))};function yw(i,o){const r=new Set;return i.filter(l=>{const u=o(l);return r.has(u)?!1:(r.add(u),!0)})}function vw(){const i=gw(),r=Dt().options.ssr?.nonce;return X.jsx(X.Fragment,{children:i.map(l=>ne.createElement(My,{...l,key:`tsr-meta-${JSON.stringify(l)}`,nonce:r}))})}const bw=()=>{const i=Dt(),o=i.options.ssr?.nonce,r=ut({select:p=>{const y=[],g=i.ssr?.manifest;return g?(p.matches.map(m=>i.looseRoutesById[m.routeId]).forEach(m=>g.routes[m.id]?.assets?.filter(v=>v.tag==="script").forEach(v=>{y.push({tag:"script",attrs:{...v.attrs,nonce:o},children:v.children})})),y):[]},structuralSharing:!0}),{scripts:l}=ut({select:p=>({scripts:p.matches.map(y=>y.scripts).flat(1).filter(Boolean).map(({children:y,...g})=>({tag:"script",attrs:{...g,suppressHydrationWarning:!0,nonce:o},children:y}))}),structuralSharing:!0});let u;i.serverSsr&&(u=i.serverSsr.takeBufferedScripts());const d=[...l,...r];return u&&d.unshift(u),X.jsx(X.Fragment,{children:d.map((p,y)=>ne.createElement(My,{...p,key:`tsr-scripts-${p.tag}-${y}`}))})};function Uy(i){if(Array.isArray(i))return i.flatMap(v=>Uy(v));if(typeof i!="string")return[];const o=[];let r=0,l,u,d,p,y;const g=()=>{for(;r<i.length&&/\s/.test(i.charAt(r));)r+=1;return r<i.length},m=()=>(u=i.charAt(r),u!=="="&&u!==";"&&u!==",");for(;r<i.length;){for(l=r,y=!1;g();)if(u=i.charAt(r),u===","){for(d=r,r+=1,g(),p=r;r<i.length&&m();)r+=1;r<i.length&&i.charAt(r)==="="?(y=!0,r=p,o.push(i.slice(l,d)),l=r):r=d+1}else r+=1;(!y||r>=i.length)&&o.push(i.slice(l))}return o}function Cw(i){return i instanceof Headers?i:Array.isArray(i)?new Headers(i):typeof i=="object"?new Headers(i):null}function Sw(...i){return i.reduce((o,r)=>{const l=Cw(r);if(!l)return o;
12for(const[u,d]of l.entries())u==="set-cookie"?Uy(d).forEach(y=>o.append("set-cookie",y)):o.set(u,d);return o},new Headers)}function yg(i){return i.replaceAll("\0","/").replaceAll("�","/")}function Aw(i,o){i.id=o.i,i.__beforeLoadContext=o.b,i.loaderData=o.l,i.status=o.s,i.ssr=o.ssr,i.updatedAt=o.u,i.error=o.e,o.g!==void 0&&(i.globalNotFound=o.g)}async function Ew(i){ia(window.$_TSR);const o=i.options.serializationAdapters;if(o?.length){const w=new Map;o.forEach(O=>{w.set(O.key,O.fromSerializable)}),window.$_TSR.t=w,window.$_TSR.buffer.forEach(O=>O())}window.$_TSR.initialized=!0,ia(window.$_TSR.router);const r=window.$_TSR.router;r.matches.forEach(w=>{w.i=yg(w.i)}),r.lastMatchId&&(r.lastMatchId=yg(r.lastMatchId));const{manifest:l,dehydratedData:u,lastMatchId:d}=r;i.ssr={manifest:l};const y=document.querySelector('meta[property="csp-nonce"]')?.content;i.options.ssr={nonce:y};const g=i.matchRoutes(i.state.location),m=Promise.all(g.map(w=>i.loadRouteChunk(i.looseRoutesById[w.routeId])));function v(w){const q=i.looseRoutesById[w.routeId].options.pendingMinMs??i.options.defaultPendingMinMs;if(q){const V=Sn();w._nonReactive.minPendingPromise=V,w._forcePending=!0,setTimeout(()=>{V.resolve(),i.updateMatch(w.id,j=>(j._nonReactive.minPendingPromise=void 0,{...j,_forcePending:void 0}))},q)}}function h(w){const O=i.looseRoutesById[w.routeId];O&&(O.options.ssr=w.ssr)}let C;g.forEach(w=>{const O=r.matches.find(q=>q.i===w.id);if(!O){w._nonReactive.dehydrated=!1,w.ssr=!1,h(w);return}Aw(w,O),h(w),w._nonReactive.dehydrated=w.ssr!==!1,(w.ssr==="data-only"||w.ssr===!1)&&C===void 0&&(C=w.index,v(w))}),i.__store.setState(w=>({...w,matches:g})),await i.options.hydrate?.(u),await Promise.all(i.state.matches.map(async w=>{try{const O=i.looseRoutesById[w.routeId],V=i.state.matches[w.index-1]?.context??i.options.context;if(O.options.context){const G={deps:w.loaderDeps,params:w.params,context:V??{},location:i.state.location,navigate:z=>i.navigate({...z,_fromLocation:i.state.location}),buildLocation:i.buildLocation,cause:w.cause,abortController:w.abortController,preload:!1,matches:g,routeId:O.id};
12w.__routeContext=O.options.context(G)??void 0}w.context={...V,...w.__routeContext,...w.__beforeLoadContext};const j={ssr:i.options.ssr,matches:i.state.matches,match:w,params:w.params,loaderData:w.loaderData},J=await O.options.head?.(j),ee=await O.options.scripts?.(j);w.meta=J?.meta,w.links=J?.links,w.headScripts=J?.scripts,w.styles=J?.styles,w.scripts=ee}catch(O){if(_t(O))w.error={isNotFound:!0},console.error(`NotFound error during hydration for routeId: ${w.routeId}`,O);else throw w.error=O,console.error(`Error during hydration for route ${w.routeId}:`,O),O}}));const A=g[g.length-1].id!==d;if(!g.some(w=>w.ssr===!1)&&!A)return g.forEach(w=>{w._nonReactive.dehydrated=void 0}),m;const P=Promise.resolve().then(()=>i.load()).catch(w=>{console.error("Error during router hydration:",w)});if(A){const w=g[1];ia(w),v(w),w._displayPending=!0,w._nonReactive.displayPendingPromise=P,P.then(()=>{So(()=>{i.__store.state.status==="pending"&&i.__store.setState(O=>({...O,status:"idle",resolvedLocation:O.location})),i.updateMatch(w.id,O=>({...O,_displayPending:void 0,displayPendingPromise:void 0}))})})}return m}const ww="__TSS_CONTEXT",ud=Symbol.for("TSS_SERVER_FUNCTION"),vg=Symbol.for("TSS_SERVER_FUNCTION_FACTORY"),Rw="x-tss-serialized",_w="x-tss-raw",ky="application/x-tss-framed",Ja={JSON:0,CHUNK:1,END:2,ERROR:3},vo=9,bg=1,Tw=/;\s*v=(\d+)/;function xw(i){const o=i.match(Tw);return o?parseInt(o[1],10):void 0}function Pw(i){const o=xw(i);if(o!==void 0&&o!==bg)throw new Error(`Incompatible framed protocol version: server=${o}, client=${bg}. Please ensure client and server are using compatible versions.`)}const Ld=()=>window.__TSS_START_OPTIONS__;function Dw(){return[...Ld()?.serializationAdapters?.map(dE)??[],..._E]}const Cg=new TextDecoder,Ow=new Uint8Array(0),Sg=16*1024*1024,Ag=32*1024*1024,Eg=1024,wg=1e5;function Lw(i){const o=new Map,r=new Map,l=new Set;let u=!1,d=null,p=0,y;const g=new ReadableStream({start(h){y=h},cancel(){u=!0;try{d?.cancel()}catch{}o.forEach(h=>{try{h.error(new Error("Framed response cancelled"))}catch{}}),o.clear(),r.clear(),l.clear()}});function m(h){const C=r.get(h);if(C)return C;if(l.has(h))return new ReadableStream({start(R){R.close()}});if(r.size>=Eg)throw new Error(`Too many raw streams in framed response (max ${Eg})`);const A=new ReadableStream({start(R){o.set(h,R)},cancel(){l.add(h),o.delete(h),r.delete(h)}});return r.set(h,A),A}function v(h){return m(h),o.get(h)}return(async()=>{const h=i.getReader();d=h;const C=[];let A=0;function R(){if(A<vo)return null;const w=C[0];if(w.length>=vo){const G=w[0],z=(w[1]<<24|w[2]<<16|w[3]<<8|w[4])>>>0,W=(w[5]<<24|w[6]<<16|w[7]<<8|w[8])>>>0;return{type:G,streamId:z,length:W}}const O=new Uint8Array(vo);let q=0,V=vo;for(let G=0;G<C.length&&V>0;G++){const z=C[G],W=Math.min(z.length,V);O.set(z.subarray(0,W),q),q+=W,V-=W}const j=O[0],J=(O[1]<<24|O[2]<<16|O[3]<<8|O[4])>>>0,ee=(O[5]<<24|O[6]<<16|O[7]<<8|O[8])>>>0;return{type:j,streamId:J,length:ee}}function P(w){if(w===0)return Ow;const O=new Uint8Array(w);let q=0,V=w;for(;V>0&&C.length>0;){const j=C[0];if(!j)break;const J=Math.min(j.length,V);O.set(j.subarray(0,J),q),q+=J,V-=J,J===j.length?C.shift():C[0]=j.subarray(J)}return A-=w,O}try{for(;;){const{done:w,value:O}=await h.read();if(u||w)break;if(O){if(A+O.length>Ag)throw new Error(`Framed response buffer exceeded ${Ag} bytes`);for(C.push(O),A+=O.length;;){const q=R();if(!q)break;const{type:V,streamId:j,length:J}=q;if(V!==Ja.JSON&&V!==Ja.CHUNK&&V!==Ja.END&&V!==Ja.ERROR)throw new Error(`Unknown frame type: ${V}`);
12if(V===Ja.JSON){if(j!==0)throw new Error("Invalid JSON frame streamId (expected 0)")}else if(j===0)throw new Error("Invalid raw frame streamId (expected non-zero)");if(J>Sg)throw new Error(`Frame payload too large: ${J} bytes (max ${Sg})`);const ee=vo+J;if(A<ee)break;if(++p>wg)throw new Error(`Too many frames in framed response (max ${wg})`);P(vo);const G=P(J);switch(V){case Ja.JSON:{try{y.enqueue(Cg.decode(G))}catch{}break}case Ja.CHUNK:{const z=v(j);z&&z.enqueue(G);break}case Ja.END:{const z=v(j);if(l.add(j),z){try{z.close()}catch{}o.delete(j)}break}case Ja.ERROR:{const z=v(j);if(l.add(j),z){const W=Cg.decode(G);z.error(new Error(W)),o.delete(j)}break}}}}}if(A!==0)throw new Error("Incomplete frame at end of framed response");try{y.close()}catch{}o.forEach(w=>{try{w.close()}catch{}}),o.clear()}catch(w){try{y.error(w)}catch{}o.forEach(O=>{try{O.error(w)}catch{}}),o.clear()}finally{try{h.releaseLock()}catch{}d=null}})(),{getOrCreateStream:m,jsonChunks:g}}let wo=null;const Iw=Object.prototype.hasOwnProperty;function By(i){for(const o in i)if(Iw.call(i,o))return!0;return!1}async function Nw(i,o,r){wo||(wo=Dw());const u=o[0],d=u.fetch??r,p=u.data instanceof FormData?"formData":"payload",y=u.headers?new Headers(u.headers):new Headers;if(y.set("x-tsr-serverFn","true"),p==="payload"&&y.set("accept",`${ky}, application/x-ndjson, application/json`),u.method==="GET"){if(p==="formData")throw new Error("FormData is not supported with GET requests");const m=await qy(u);if(m!==void 0){const v=Hg({payload:m});i.includes("?")?i+=`&${v}`:i+=`?${v}`}}let g;if(u.method==="POST"){const m=await Mw(u);m?.contentType&&y.set("content-type",m.contentType),g=m?.body}return await Uw(async()=>d(i,{method:u.method,headers:y,signal:u.signal,body:g}))}async function qy(i){let o=!1;const r={};if(i.data!==void 0&&(o=!0,r.data=i.data),i.context&&By(i.context)&&(o=!0,r.context=i.context),o)return zy(r)}async function zy(i){return JSON.stringify(await Promise.resolve(uE(i,{plugins:wo})))}async function Mw(i){if(i.data instanceof FormData){let r;return i.context&&By(i.context)&&(r=await zy(i.context)),r!==void 0&&i.data.set(ww,r),{body:i.data}}const o=await qy(i);if(o)return{body:o,contentType:"application/json"}}async function Uw(i){let o;try{o=await i()}catch(u){if(u instanceof Response)o=u;else throw console.log(u),u}if(o.headers.get(_w)==="true")return o;const r=o.headers.get("content-type");if(ia(r),!!o.headers.get(Rw)){let u;if(r.includes(ky)){if(Pw(r),!o.body)throw new Error("No response body for framed response");const{getOrCreateStream:d,jsonChunks:p}=Lw(o.body),g=[RE(d),...wo||[]],m=new Map;u=await Bw({jsonStream:p,onMessage:v=>Xu(v,{refs:m,plugins:g}),onError(v,h){console.error(v,h)}})}else if(r.includes("application/x-ndjson")){const d=new Map;u=await kw({response:o,onMessage:p=>Xu(p,{refs:d,plugins:wo}),onError(p,y){console.error(p,y)}})}else if(r.includes("application/json")){const d=await o.json();u=Xu(d,{plugins:wo})}if(ia(u),u instanceof Error)throw u;return u}if(r.includes("application/json")){const u=await o.json(),d=jg(u);if(d)throw d;if(_t(u))throw u;return u}if(!o.ok)throw new Error(await o.text());return o}async function kw({response:i,onMessage:o,onError:r}){if(!i.body)throw new Error("No response body");const l=i.body.pipeThrough(new TextDecoderStream).getReader();let u="",d=!1,p;for(;!d;){const{value:y,done:g}=await l.read();if(y&&(u+=y),u.length===0&&g)throw new Error("Stream ended before first object");if(u.endsWith(`
13`)){const m=u.split(`
14`).filter(Boolean),v=m[0];if(!v)throw new Error("No JSON line in the first chunk");p=JSON.parse(v),d=!0,u=m.slice(1).join(`
15`)}else{const m=u.indexOf(`
16`);if(m>=0){const v=u.slice(0,m).trim();u=u.slice(m+1),v.length>0&&(p=JSON.parse(v),d=!0)}}}return(async()=>{try{for(;;){const{value:y,done:g}=await l.read();y&&(u+=y);const m=u.lastIndexOf(`
17`);if(m>=0){const v=u.slice(0,m);u=u.slice(m+1);const h=v.split(`
18`).filter(Boolean);for(const C of h)try{o(JSON.parse(C))}catch(A){r?.(`Invalid JSON line: ${C}`,A)}}if(g)break}}catch(y){r?.("Stream processing error:",y)}})(),o(p)}async function Bw({jsonStream:i,onMessage:o,onError:r}){const l=i.getReader(),{value:u,done:d}=await l.read();if(d||!u)throw new Error("Stream ended before first object");const p=JSON.parse(u);return(async()=>{try{for(;;){const{value:y,done:g}=await l.read();if(g)break;
18if(y)try{o(JSON.parse(y))}catch(m){r?.(`Invalid JSON: ${y}`,m)}}}catch(y){r?.("Stream processing error:",y)}})(),o(p)}function Id(i){const o="/_serverFn/"+i;return Object.assign((...u)=>{const d=Ld()?.serverFns?.fetch;return Nw(o,u,d??fetch)},{url:o,serverFnMeta:{id:i},[ud]:!0})}const qw={key:"$TSS/serverfn",test:i=>typeof i!="function"||!(ud in i)?!1:!!i[ud],toSerializable:({serverFnMeta:i})=>({functionId:i.id}),fromSerializable:({functionId:i})=>Id(i)},Mr={en:{itemFormatNote:"Items are multiple-choice and multiple-response; each item states how many responses to select.",multipleResponse:"Multiple response",selectN:"Select {n}",selectedOfN:"{selected} of {n} selected",navigator:"Question navigator",legendAnswered:"Answered",legendUnanswered:"Unanswered",legendFlagged:"Flagged",savedLocally:"Progress is saved on this device.",resumeHint:"You have an in-progress attempt saved on this device ({answered} of {total} answered).",startOver:"Start over",taskStatement:"Task statement {n}",reviewMistakesOnly:"Review my mistakes first",noMistakes:"No mistakes — every item was correct.",diagnosticIntro:"This 10-question check is not scored pass/fail — it points you to where to study first.",diagnosticWeakest:"Your weakest area",diagnosticWeakestPlural:"Your weakest areas",diagnosticAllStrong:"Strong across all domains — a full mock exam is your next step.",percentCorrect:"{pct}% correct",studyGuideLink:"Study guide",courseLink:"Course",examPassCtaTitle:"Turn your weak domains into your strongest",examPassCtaBody:"The Exam Pass unlocks 25-question domain quizzes for {domains}, full-length timed mock exams, and a detailed explanation for every item.",examPassCtaButton:"Get the Exam Pass",signInHint:"Sign in to keep this result on your dashboard and track progress across attempts."},"zh-CN":{itemFormatNote:"题型包含单选题与多选题;每道题都会说明需要选择几个选项。",multipleResponse:"多选题",selectN:"请选择 {n} 项",selectedOfN:"已选 {selected} / {n}",navigator:"题目导航",legendAnswered:"已答",legendUnanswered:"未答",legendFlagged:"已标记",savedLocally:"进度已保存在本设备。",resumeHint:"本设备上有一次未完成的作答(已答 {answered} / {total})。",startOver:"重新开始",taskStatement:"任务说明 {n}",reviewMistakesOnly:"先复习我的错题",noMistakes:"没有错题——全部答对。",diagnosticIntro:"这份 10 题自测不判定通过或未通过,只帮你找出应优先学习的领域。",diagnosticWeakest:"你最薄弱的领域",diagnosticWeakestPlural:"你最薄弱的领域",diagnosticAllStrong:"五大领域表现均衡——下一步试试全真模拟考试。",percentCorrect:"正确率 {pct}%",studyGuideLink:"学习指南",courseLink:"课程",examPassCtaTitle:"把薄弱领域变成你的强项",examPassCtaBody:"Exam Pass 解锁 {domains} 的 25 题领域测验、全真计时模拟考试,以及每道题的详细解析。",examPassCtaButton:"获取 Exam Pass",signInHint:"登录后可将本次结果保存到仪表盘,并跟踪多次作答的进步。"},ja:{itemFormatNote:"問題は単一選択と複数選択の両形式です。各問題に選択すべき数が明記されています。",multipleResponse:"複数選択",selectN:"{n} つ選択",selectedOfN:"{n} 件中 {selected} 件を選択",navigator:"問題ナビゲーター",legendAnswered:"回答済み",legendUnanswered:"未回答",legendFlagged:"フラグ付き",savedLocally:"進行状況はこの端末に保存されます。",resumeHint:"この端末に途中の受験が保存されています({total} 問中 {answered} 問回答済み)。",startOver:"最初からやり直す",taskStatement:"タスクステートメント {n}",reviewMistakesOnly:"間違えた問題を先に確認",noMistakes:"間違いはありません。全問正解です。",diagnosticIntro:"この 10 問の診断は合否を判定しません。最初に学習すべき領域を示します。",diagnosticWeakest:"最も弱い領域",diagnosticWeakestPlural:"最も弱い領域",diagnosticAllStrong:"全領域で好成績です。次は本番形式の模擬試験に挑戦しましょう。",percentCorrect:"正答率 {pct}%",studyGuideLink:"学習ガイド",courseLink:"コース",examPassCtaTitle:"弱点の領域を最大の強みに",examPassCtaBody:"Exam Pass では {domains} の 25 問ドメインクイズ、本番形式の時間制限付き模擬試験、全問題の詳しい解説が利用できます。",examPassCtaButton:"Exam Pass を購入",signInHint:"サインインã
18™ã‚‹ã¨çµæžœã‚’ダッシュボードに保存し、受験ごとの進歩を追跡できます。"},ko:{itemFormatNote:"문항은 단일 선택과 복수 선택 형식으로 구성되며, 각 문항에 선택해야 할 개수가 명시됩니다.",multipleResponse:"복수 선택",selectN:"{n}개 선택",selectedOfN:"{n}개 중 {selected}개 선택됨",navigator:"문항 탐색",legendAnswered:"답변함",legendUnanswered:"미답변",legendFlagged:"표시됨",savedLocally:"진행 상황이 이 기기에 저장됩니다.",resumeHint:"이 기기에 진행 중인 시험이 저장되어 있습니다 ({total}문항 중 {answered}문항 답변).",startOver:"처음부터 다시 시작",taskStatement:"과업 진술 {n}",reviewMistakesOnly:"틀린 문제 먼저 검토",noMistakes:"틀린 문제가 없습니다. 모두 정답입니다.",diagnosticIntro:"이 10문항 진단은 합격/불합격을 판정하지 않습니다. 먼저 학습할 영역을 알려 드립니다.",diagnosticWeakest:"가장 취약한 영역",diagnosticWeakestPlural:"가장 취약한 영역",diagnosticAllStrong:"모든 영역에서 우수합니다. 다음 단계로 전체 모의시험에 도전해 보세요.",percentCorrect:"정답률 {pct}%",studyGuideLink:"학습 가이드",courseLink:"강좌",examPassCtaTitle:"취약한 영역을 가장 강한 영역으로",examPassCtaBody:"Exam Pass로 {domains}의 25문항 영역별 퀴즈, 실제 시간제한 전체 모의시험, 모든 문항의 상세 해설을 이용할 수 있습니다.",examPassCtaButton:"Exam Pass 구매",signInHint:"로그인하면 이 결과가 대시보드에 저장되고 시도별 진척도를 추적할 수 있습니다."},"pt-BR":{itemFormatNote:"Os itens são de múltipla escolha e de múltiplas respostas; cada item indica quantas respostas selecionar.",multipleResponse:"Múltiplas respostas",selectN:"Selecione {n}",selectedOfN:"{selected} de {n} selecionadas",navigator:"Navegador de questões",legendAnswered:"Respondida",legendUnanswered:"Sem resposta",legendFlagged:"Marcada",savedLocally:"O progresso é salvo neste dispositivo.",resumeHint:"Há uma tentativa em andamento salva neste dispositivo ({answered} de {total} respondidas).",startOver:"Começar de novo",taskStatement:"Declaração de tarefa {n}",reviewMistakesOnly:"Revisar meus erros primeiro",noMistakes:"Nenhum erro — todos os itens estavam corretos.",diagnosticIntro:"Este teste de 10 questões não tem aprovação/reprovação — ele indica por onde começar a estudar.",diagnosticWeakest:"Sua área mais fraca",diagnosticWeakestPlural:"Suas áreas mais fracas",diagnosticAllStrong:"Forte em todos os domínios — o próximo passo é um simulado completo.",percentCorrect:"{pct}% de acertos",studyGuideLink:"Guia de estudo",courseLink:"Curso",examPassCtaTitle:"Transforme seus domínios fracos nos mais fortes",examPassCtaBody:"O Exam Pass libera quizzes de 25 questões por domínio para {domains}, simulados completos cronometrados e uma explicação detalhada para cada item.",examPassCtaButton:"Obter o Exam Pass",signInHint:"Entre para manter este resultado no seu painel e acompanhar o progresso entre tentativas."}},wn={en:{metadata:{title:"CCAR-F Exam Logistics & Eligibility — Price, Retakes, Pearson VUE",description:"Official Claude Certified Architect – Foundations (CCAR-F) exam logistics: $125 fee, 12-month validity, retake rules, Pearson VUE delivery, English-only, and who is eligible.",keywords:"CCAR-F eligibility, CCAR-F price, Claude certification cost, Pearson VUE Anthropic, CCAR-F retake policy"},title:"Exam logistics & eligibility",subtitle:"Everything the official exam guide and Partner Academy FAQ say about registering for and sitting the exam.",examCodeLabel:"Exam code",formerlyLabel:"formerly {code}",verifiedAgainst:"Verified against {source}",atAGlanceTitle:"At a glance",priceNote:"USD, since 2026-06-30 (was $99 before)",labels:{items:"Items",time:"Time",passing:"Passing score",structure:"Structure",itemFormat:"Item format",price:"Fee",validity:"Validity",renewal:"Renewal",retakes:"Retakes",delivery:"Delivery",languages:"Language",eligibility:"Eligibility"},values:{items:"60 items",validityMonths:"{n} months from the award date",time:"120 minutes (about 135 minutes of seat time including check-in)",passing:"720 on a 
18scaled 100–1,000 range",structure:"4 scenarios drawn at random from the official bank of 6"},eligibilityTitle:"Am I eligible?",eligibility:[{q:"Who can sit the exam?",a:"Only people at Claude Partner Network organizations. You must register with your partner company email (personal addresses are rejected), be 18 or older, and the name on your government ID must match your registration exactly."},{q:"My company is not a partner yet — what now?",a:"Any company can apply to the Claude Partner Network, and the Registered tier is free. Once accepted, its employees can register with their company email. CCDV-F, CCAR-F and CCAR-P certifications count toward higher partner tiers."},{q:"Are there discounts?",a:"Registered-tier partners pay the full fee. Select, Preferred and Global Premier partners get 50% off, and Global Premier partners pay nothing through 2026-12-31."},{q:"How long does company-email validation take?",a:"Candidates report that partner domain validation can take 7–10 days, so register well before the date you want to test."}],itemFormatTitle:"Item format",itemFormatBody:"Multiple-choice and multiple-response items; each item states how many responses to select. All 60 items are grouped under 4 scenarios drawn at random from the official bank of 6, so expect roughly 15 items per scenario.",scoreReportTitle:"Your score report",scoreReportBody:"You see pass/fail and your scaled score on-screen as soon as you finish; the Credly badge email follows. The report also lists percent-correct by domain — useful for planning a retake, but the domain percentages are not used to decide pass/fail. The cut score (720) comes from a formal standard-setting study and is the same across the exam’s equated forms.",registrationTitle:"How registration works",registrationSteps:["Register on the Anthropic Partner Academy with your partner company email and pay the fee by card. The registration stays valid for 5 years.","Follow the Pearson VUE link to schedule an online-proctored (OnVUE) appointment or a test-center seat.","On exam day, accept the mandatory confidentiality agreement (no refund if you decline). The exam is English-only and browser translation tools are prohibited."],rescheduleNote:"The exam guide lets you cancel or reschedule up to 24 hours before your appointment, while Pearson VUE’s Anthropic page says 48 hours. Reschedule at least 48 hours ahead to be safe.",sourcesTitle:"Official sources",sources:[{label:"Claude Certified Architect – Foundations exam guide (v1.0, July 2026)",href:"https://anthropic-partners.skilljar.com/claude-certified-architect-foundations-certification"},{label:"Anthropic Partner Academy — certification FAQ",href:"https://anthropic-partners.skilljar.com/page/faq-certifications"},{label:"Pearson VUE — Anthropic testing program",href:"https://www.pearsonvue.com/us/en/anthropic.html"}],disclaimer:"Exam facts on this page come from Anthropic’s official exam guide and Partner Academy FAQ as of the verification date shown above. Details change — always confirm with the official source before you register.",scenario:{official:"Official scenario {number} of 6",bonus:"Bonus practice — not in the official 6-scenario bank",bonusShort:"Bonus practice",bankNote:"The real exam presents 4 scenarios drawn at random from an official bank of 6. Scenarios 7 and 8 are extra practice written by us and are not in the official bank."},link:{title:"Exam logistics & eligibility",desc:"Fee, validity, retakes, Pearson VUE delivery, English-only, and who can sit the exam."}},"zh-CN":{metadata:{title:"CCAR-F 考试信息与报考资格 — 费用、重考、Pearson VUE",description:"Claude 认证架构师 – 基础级(CCAR-F)官方考试信息:$125 考试费、12 个月有效期、重考规则、Pearson VUE 交付、仅英文,以及谁有资格报考。",keywords:"CCAR-F 报考资格, CCAR-F 费用, Claude 认证费用, Pearson VUE Anthropic, CCAR-F 重考政策"},title:"考试信息与报考资格",subtitle:"官方考试指南与 Partner Academy 常见问题中关于报名与参加考试的全部要点。",examCodeLabel:"考试代码",formerlyLabel:"原 {code}",verifiedAgainst:"已核对:{source}",atAGlanceTitle:"一览",priceNote:"美元,自 2026-06-30 起(此前为 $99)",labels:{items:"题量",time:"时长",passing:"及格分",structure:"结构",itemFormat:"题型",price:"费用",validity:"有效期",renew
18al:"续期",retakes:"重考",delivery:"考试方式",languages:"语言",eligibility:"报考资格"},values:{items:"60 题",validityMonths:"自获证之日起 {n} 个月",time:"120 分钟(含签到约 135 分钟在席时间)",passing:"720 分(换算区间 100–1,000)",structure:"从官方 6 个情景题库中随机抽取 4 个情景"},eligibilityTitle:"我有资格报考吗?",eligibility:[{q:"谁可以参加考试?",a:"仅限 Claude 合作伙伴网络(Claude Partner Network)成员机构的人员。必须使用合作伙伴公司邮箱注册(个人邮箱会被拒绝),年满 18 岁,且政府签发证件上的姓名须与报名信息完全一致。"},{q:"我的公司还不是合作伙伴,怎么办?",a:"任何公司都可以申请加入 Claude 合作伙伴网络,Registered 级别免费。获批后,员工即可使用公司邮箱报名。CCDV-F、CCAR-F 与 CCAR-P 认证可计入更高的合作伙伴等级。"},{q:"有折扣吗?",a:"Registered 级别的合作伙伴支付全额费用;Select、Preferred 与 Global Premier 合作伙伴享 5 折;Global Premier 合作伙伴在 2026-12-31 前免费。"},{q:"公司邮箱域名验证需要多久?",a:"有考生反馈合作伙伴域名验证可能需要 7–10 天,因此请在目标考试日期之前尽早报名。"}],itemFormatTitle:"题型",itemFormatBody:"单选题与多选题混合,每道题会注明需要选择几个选项。全部 60 题归属于从官方 6 个情景中随机抽取的 4 个情景,因此每个情景约 15 题。",scoreReportTitle:"成绩报告",scoreReportBody:"考试结束后屏幕会立即显示通过/未通过以及换算分,随后收到 Credly 徽章邮件。报告还列出各领域的正确率——对规划重考很有用,但领域正确率不用于判定是否通过。及格分 720 由正式的标准设定研究确定,在各等值试卷间一致。",registrationTitle:"报名流程",registrationSteps:["使用合作伙伴公司邮箱在 Anthropic Partner Academy 注册并以银行卡支付考试费,报名资格 5 年内有效。","通过 Pearson VUE 链接预约在线监考(OnVUE)或考试中心的考位。","考试当天须接受强制保密协议(拒绝则不退款)。考试仅提供英文,禁止使用浏览器翻译工具。"],rescheduleNote:"考试指南允许在预约前 24 小时内取消或改期,而 Pearson VUE 的 Anthropic 页面写的是 48 小时。为保险起见,请至少提前 48 小时改期。",sourcesTitle:"官方来源",sources:[{label:"Claude 认证架构师 – 基础级 考试指南(v1.0,2026 å¹´ 7 月)",href:"https://anthropic-partners.skilljar.com/claude-certified-architect-foundations-certification"},{label:"Anthropic Partner Academy — 认证常见问题",href:"https://anthropic-partners.skilljar.com/page/faq-certifications"},{label:"Pearson VUE — Anthropic 考试项目",href:"https://www.pearsonvue.com/us/en/anthropic.html"}],disclaimer:"本页考试信息来自 Anthropic 官方考试指南与 Partner Academy 常见问题,以上方所示核对日期为准。细节可能变化——报名前请务必以官方来源为准。",scenario:{official:"官方情景 {number}/6",bonus:"加练情景 — 不在官方 6 个情景题库中",bonusShort:"加练",bankNote:"真实考试从官方 6 个情景中随机抽取 4 个。情景 7 和 8 是我们额外编写的练习,不在官方题库中。"},link:{title:"考试信息与报考资格",desc:"费用、有效期、重考、Pearson VUE 考试方式、仅英文,以及谁可以报考。"}},ja:{metadata:{title:"CCAR-F 試験の受験情報と受験資格 — 料金・再受験・Pearson VUE",description:"Claude Certified Architect – Foundations(CCAR-F)の公式受験情報:受験料 125 ドル、有効期間 12 か月、再受験ルール、Pearson VUE での実施、英語のみ、受験資格。",keywords:"CCAR-F 受験資格, CCAR-F 料金, Claude 認定 費用, Pearson VUE Anthropic, CCAR-F 再受験"},title:"受験情報と受験資格",subtitle:"公式試験ガイドと Partner Academy の FAQ に記載された、申し込みと受験に関するすべての要点。",examCodeLabel:"試験コード",formerlyLabel:"旧 {code}",verifiedAgainst:"照合済み:{source}",atAGlanceTitle:"概要",priceNote:"米ドル、2026-06-30 以降(以前は 99 ドル)",labels:{items:"問題数",time:"試験時間",passing:"合格ライン",structure:"構成",itemFormat:"出題形式",price:"受験料",validity:"有効期間",renewal:"更新",retakes:"再受験",delivery:"実施方法",languages:"言語",eligibility:"受験資格"},values:{items:"60 問",validityMonths:"認定日から {n} か月",time:"120 分(チェックインを含め着席時間は約 135 分)",passing:"スケールドスコア 100〜1,000 のうち 720",structure:"公式の 6 シナリオから無作為に 4 シナリオが出題"},eligibilityTitle:"受験資格はありますか?",eligibility:[{q:"誰が受験できますか?",a:"Claude Partner Network 加盟組織に所属する人のみです。パートナー企業のメールアドレスで登録する必要があり(個人アドレスは拒否されます)、18 歳以上で、政府発行の身分証明書の氏名が登録内容と完全に一致している必要があります。"},{q:"所属企業がまだパートナーではない場合は?",a:"どの企業でも Claude Partner Network に申請でき、Registered ティアは無料です。承認後は従業員が会社のメールアドレスで登録できます。CCDV-F、CCAR-F、CCAR-P の認定は上位パートナーティアの要件にカウントされます。"},{q:"割引はありますか?",a:"Registered ティアは定価です。Select、Preferred、Global Premier のパートナーは 50% 割引、Global Premier パートナーは 2026-12-31 までç„
18¡æ–™ã§ã™ã€‚"},{q:"会社メールドメインの検証にはどれくらいかかりますか?",a:"受験者の報告ではパートナードメインの検証に 7〜10 日かかることがあるため、希望する受験日より十分前に登録してください。"}],itemFormatTitle:"出題形式",itemFormatBody:"多肢選択(単一回答)と複数回答の問題が混在し、各問題に選択すべき回答数が明記されます。60 問すべてが、公式の 6 シナリオから無作為に選ばれた 4 シナリオに属するため、1 シナリオあたり約 15 問と考えてください。",scoreReportTitle:"スコアレポート",scoreReportBody:"終了直後に合否とスケールドスコアが画面に表示され、その後 Credly バッジのメールが届きます。レポートにはドメイン別の正答率も記載され、再受験の計画に役立ちますが、ドメイン別の割合は合否判定には使われません。合格ライン(720)は正式な基準設定調査で決められ、等化された各試験フォームで共通です。",registrationTitle:"申し込みの流れ",registrationSteps:["パートナー企業のメールアドレスで Anthropic Partner Academy に登録し、受験料をカードで支払います。登録は 5 年間有効です。","Pearson VUE のリンクから、オンライン監督(OnVUE)またはテストセンターの予約を行います。","試験当日は必須の秘密保持契約に同意します(拒否した場合は返金されません)。試験は英語のみで、ブラウザの翻訳ツールは使用禁止です。"],rescheduleNote:"試験ガイドでは予約の 24 時間前までキャンセル・変更できるとされていますが、Pearson VUE の Anthropic ページでは 48 時間前と記載されています。安全のため 48 時間以上前に変更してください。",sourcesTitle:"公式ソース",sources:[{label:"Claude Certified Architect – Foundations 試験ガイド(v1.0、2026 å¹´ 7 月)",href:"https://anthropic-partners.skilljar.com/claude-certified-architect-foundations-certification"},{label:"Anthropic Partner Academy — 認定 FAQ",href:"https://anthropic-partners.skilljar.com/page/faq-certifications"},{label:"Pearson VUE — Anthropic 試験プログラム",href:"https://www.pearsonvue.com/us/en/anthropic.html"}],disclaimer:"このページの試験情報は、上記の照合日時点の Anthropic 公式試験ガイドおよび Partner Academy FAQ に基づいています。内容は変更されることがあるため、申し込み前に必ず公式ソースで確認してください。",scenario:{official:"公式シナリオ {number} / 6",bonus:"追加練習 — 公式の 6 シナリオには含まれません",bonusShort:"追加練習",bankNote:"本試験では公式の 6 シナリオから無作為に 4 シナリオが出題されます。シナリオ 7 と 8 は当サイト独自の追加練習で、公式バンクには含まれません。"},link:{title:"受験情報と受験資格",desc:"受験料、有効期間、再受験、Pearson VUE での実施、英語のみ、受験できる人。"}},ko:{metadata:{title:"CCAR-F 시험 안내 및 응시 자격 — 응시료, 재응시, Pearson VUE",description:"Claude Certified Architect – Foundations(CCAR-F) 공식 시험 안내: 응시료 $125, 유효 기간 12개월, 재응시 규정, Pearson VUE 시행, 영어 전용, 응시 자격.",keywords:"CCAR-F 응시 자격, CCAR-F 응시료, Claude 인증 비용, Pearson VUE Anthropic, CCAR-F 재응시 정책"},title:"시험 안내 및 응시 자격",subtitle:"공식 시험 가이드와 Partner Academy FAQ가 등록과 응시에 대해 안내하는 모든 내용.",examCodeLabel:"시험 코드",formerlyLabel:"구 {code}",verifiedAgainst:"검증 기준: {source}",atAGlanceTitle:"한눈에 보기",priceNote:"USD, 2026-06-30부터(이전에는 $99)",labels:{items:"문항 수",time:"시험 시간",passing:"합격 점수",structure:"구성",itemFormat:"문항 형식",price:"응시료",validity:"유효 기간",renew
18al:"갱신",retakes:"재응시",delivery:"시행 방식",languages:"언어",eligibility:"응시 자격"},values:{items:"60문항",validityMonths:"취득일로부터 {n}개월",time:"120분(체크인 포함 총 약 135분)",passing:"100~1,000점 척도에서 720점",structure:"공식 6개 시나리오 중 무작위로 4개 출제"},eligibilityTitle:"응시 자격이 있나요?",eligibility:[{q:"누가 응시할 수 있나요?",a:"Claude Partner Network 소속 조직의 구성원만 응시할 수 있습니다. 파트너 회사 이메일로 등록해야 하며(개인 이메일은 거부됨), 만 18세 이상이어야 하고, 정부 발급 신분증의 이름이 등록 정보와 정확히 일치해야 합니다."},{q:"회사가 아직 파트너가 아니라면?",a:"어떤 회사든 Claude Partner Network에 신청할 수 있으며 Registered 등급은 무료입니다. 승인되면 직원들이 회사 이메일로 등록할 수 있습니다. CCDV-F, CCAR-F, CCAR-P 인증은 상위 파트너 등급 요건에 반영됩니다."},{q:"할인이 있나요?",a:"Registered 등급 파트너는 정가를 지불합니다. Select, Preferred, Global Premier 파트너는 50% 할인을 받고, Global Premier 파트너는 2026-12-31까지 무료입니다."},{q:"회사 이메일 도메인 검증은 얼마나 걸리나요?",a:"응시자들은 파트너 도메인 검증에 7~10일이 걸릴 수 있다고 보고하므로, 원하는 시험일보다 충분히 앞서 등록하세요."}],itemFormatTitle:"문항 형식",itemFormatBody:"단일 선택형과 복수 선택형 문항이 섞여 있으며, 각 문항에 선택해야 할 답의 개수가 명시됩니다. 60문항 전체가 공식 6개 시나리오 중 무작위로 선택된 4개 시나리오에 속하므로 시나리오당 약 15문항으로 예상하세요.",scoreReportTitle:"성적표",scoreReportBody:"시험을 마치면 합격/불합격과 척도 점수가 즉시 화면에 표시되고, 이후 Credly 배지 이메일이 발송됩니다. 성적표에는 도메인별 정답률도 표시되어 재응시 계획에 유용하지만, 도메인별 비율은 합격 여부 판정에 사용되지 않습니다. 합격 기준점(720)은 공식 기준 설정 연구로 정해지며 동등화된 모든 시험 폼에서 동일합니다.",registrationTitle:"등록 절차",registrationSteps:["파트너 회사 이메일로 Anthropic Partner Academy에 등록하고 카드로 응시료를 결제합니다. 등록은 5년간 유효합니다.","Pearson VUE 링크를 따라 온라인 감독(OnVUE) 시험 또는 시험 센터 좌석을 예약합니다.","시험 당일 필수 비밀유지 계약에 동의합니다(거부 시 환불 불가). 시험은 영어로만 진행되며 브라우저 번역 도구 사용은 금지됩니다."],rescheduleNote:"시험 가이드는 예약 24시간 전까지 취소 또는 일정 변경을 허용하지만, Pearson VUE의 Anthropic 페이지에는 48시간으로 안내되어 있습니다. 안전하게 최소 48시간 전에 변경하세요.",sourcesTitle:"공식 출처",sources:[{label:"Claude Certified Architect – Foundations 시험 가이드(v1.0, 2026년 7월)",href:"https://anthropic-partners.skilljar.com/claude-certified-architect-foundations-certification"},{label:"Anthropic Partner Academy — 인증 FAQ",href:"https://anthropic-partners.skilljar.com/page/faq-certifications"},{label:"Pearson VUE — Anthropic 시험 프로그램",href:"https://www.pearsonvue.com/us/en/anthropic.html"}],disclaimer:"이 페이지의 시험 정보는 위에 표시된 검증일 기준 Anthropic 공식 시험 가이드와 Partner Academy FAQ에서 가져온 것입니다. 세부 사항은 변경될 수 있으므로 등록 전 반드시 공식 출처를 확인하세요.",scenario:{official:"공식 시나리오 {number}/6",bonus:"보너스 연습 — 공식 6개 시나리오 뱅크에 포함되지 않음",bonusShort:"보너스 연습",bankNote:"실제 시험은 공식 6개 시나리오 중 무작위로 4개를 출제합니다. 시나리오 7과 8은 저희가 추가로 작성한 연습용이며 공식 뱅크에 포함되지 않습니다."},link:{title:"시험 안내 및 응시 자격",desc:"응시료, 유효 기간, 재응시, Pearson VUE 시행, 영어 전용, 응시 가능 대상."}},"pt-BR":{metadata:{title:"Logística e elegibilidade do exame CCAR-F — Preço, refazer, Pearson VUE",de
18scription:"Logística oficial do exame Claude Certified Architect – Foundations (CCAR-F): taxa de US$ 125, validade de 12 meses, regras para refazer, aplicação pela Pearson VUE, somente em inglês e quem pode fazer.",keywords:"elegibilidade CCAR-F, preço CCAR-F, custo certificação Claude, Pearson VUE Anthropic, política de refazer CCAR-F"},title:"Logística e elegibilidade do exame",subtitle:"Tudo o que o guia oficial do exame e o FAQ da Partner Academy dizem sobre inscrição e realização do exame.",examCodeLabel:"Código do exame",formerlyLabel:"antes {code}",verifiedAgainst:"Verificado com base em {source}",atAGlanceTitle:"Resumo",priceNote:"USD, desde 2026-06-30 (antes eram US$ 99)",labels:{items:"Questões",time:"Duração",passing:"Nota de aprovação",structure:"Estrutura",itemFormat:"Formato das questões",price:"Taxa",validity:"Validade",renewal:"Renovação",retakes:"Refazer o exame",delivery:"Aplicação",languages:"Idioma",eligibility:"Elegibilidade"},values:{items:"60 questões",validityMonths:"{n} meses a partir da data de obtenção",time:"120 minutos (cerca de 135 minutos no total, incluindo o check-in)",passing:"720 em uma escala de 100 a 1.000",structure:"4 cenários sorteados do banco oficial de 6"},eligibilityTitle:"Posso fazer o exame?",eligibility:[{q:"Quem pode fazer o exame?",a:"Somente pessoas de organizações da Claude Partner Network. É preciso se inscrever com o e-mail da empresa parceira (endereços pessoais são recusados), ter 18 anos ou mais, e o nome no documento oficial deve corresponder exatamente ao da inscrição."},{q:"Minha empresa ainda não é parceira — e agora?",a:"Qualquer empresa pode se candidatar à Claude Partner Network, e o nível Registered é gratuito. Depois de aceita, seus funcionários podem se inscrever com o e-mail corporativo. As certificações CCDV-F, CCAR-F e CCAR-P contam para níveis de parceria mais altos."},{q:"Há descontos?",a:"Parceiros do nível Registered pagam a taxa integral. Parceiros Select, Preferred e Global Premier têm 50% de desconto, e parceiros Global Premier não pagam nada até 2026-12-31."},{q:"Quanto tempo leva a validação do e-mail corporativo?",a:"Candidatos relatam que a validação do domínio do parceiro pode levar de 7 a 10 dias; por isso, inscreva-se bem antes da data em que deseja fazer o exame."}],itemFormatTitle:"Formato das questões",itemFormatBody:"Questões de múltipla escolha e de múltiplas respostas; cada questão informa quantas respostas selecionar. Todas as 60 questões estão agrupadas em 4 cenários sorteados do banco oficial de 6, portanto espere cerca de 15 questões por cenário.",scoreReportTitle:"Seu relatório de pontuação",scoreReportBody:"Você vê aprovação/reprovação e sua pontuação escalada na tela assim que termina; o e-mail com o badge Credly vem depois. O relatório também lista o percentual de acertos por domínio — útil para planejar uma nova tentativa, mas os percentuais por domínio não são usados para decidir a aprovação. A nota de corte (720) vem de um estudo formal de definição de padrão e é a mesma em todas as versões equalizadas do exame.",registrationTitle:"Como funciona a inscrição",registrationSteps:["Inscreva-se na Anthropic Partner Academy com o e-mail da empresa parceira e pague a taxa com cartão. A inscrição permanece válida por 5 anos.","Siga o link da Pearson VUE para agendar um exame com supervisão on-line (OnVUE) ou uma vaga em centro de testes.","No dia do exame, aceite o acordo de confidencialidade obrigatório (sem reembolso em caso de recusa). O exame 
18é somente em inglês e ferramentas de tradução do navegador são proibidas."],rescheduleNote:"O guia do exame permite cancelar ou reagendar até 24 horas antes do horário marcado, enquanto a página da Anthropic na Pearson VUE indica 48 horas. Para garantir, reagende com pelo menos 48 horas de antecedência.",sourcesTitle:"Fontes oficiais",sources:[{label:"Guia do exame Claude Certified Architect – Foundations (v1.0, julho de 2026)",href:"https://anthropic-partners.skilljar.com/claude-certified-architect-foundations-certification"},{label:"Anthropic Partner Academy — FAQ de certificações",href:"https://anthropic-partners.skilljar.com/page/faq-certifications"},{label:"Pearson VUE — programa de testes da Anthropic",href:"https://www.pearsonvue.com/us/en/anthropic.html"}],disclaimer:"As informações desta página vêm do guia oficial do exame da Anthropic e do FAQ da Partner Academy na data de verificação indicada acima. Os detalhes mudam — confirme sempre com a fonte oficial antes de se inscrever.",scenario:{official:"Cenário oficial {number} de 6",bonus:"Prática extra — não faz parte do banco oficial de 6 cenários",bonusShort:"Prática extra",bankNote:"O exame real apresenta 4 cenários sorteados de um banco oficial de 6. Os cenários 7 e 8 são prática extra escrita por nós e não fazem parte do banco oficial."},link:{title:"Logística e elegibilidade do exame",desc:"Taxa, validade, refazer, aplicação pela Pearson VUE, somente em inglês e quem pode fazer o exame."}}};function Rg(i,o){return o?.examInfo??wn[i]??wn.en}const Ur={en:{nav:{scenarios:"Scenarios",glossary:"Glossary"},course:{lessonsDone:"{done}/{total} lessons completed",summaryLine:"{count} lessons · {minutes} min",moduleLine:"{count} lessons · {minutes} min",completed:"Completed",reviewCourse:"Review course",gateNote:"Module 1 of every course is free. Lessons marked with a lock need the Exam Pass.",updated:"Updated {date}",testYourself:"Test yourself",quizLink:"Domain {number} quiz",quizHint:"25 questions with explanations, drawn from this domain.",diagnosticLink:"Take the free diagnostic",diagnosticHint:"10 questions across all five domains. Find your weak spots."},courses:{completePct:"{pct}% complete"},dashboard:{readinessTitle:"Readiness",readinessAbove:"Latest {exam}: {score} — above the {pass} passing line",readinessBelow:"Latest {exam}: {score} — below the {pass} passing line",domainBreakdown:"Per-domain breakdown (latest attempt)",trend:"Score trend (last {count} attempts)",continueTitle:"Continue where you left off",lastCompleted:"Last completed: {lesson}",nextUp:"Next up: {lesson}",courseDone:"You have finished this course — pick the next one.",startLearning:"No lessons yet — start with the free course.",continueCta:"Continue"},flashcards:{startReview:"Start review",allCaughtUp:"All caught up",lockNote:"Requires the Exam Pass",studyAhead:"Study ahead",studyAheadHint:"Review every card in this deck now. Your review schedule is not changed.",studyAheadNote:"Study ahead — progress not saved",loadError:"Could not load this deck. Please refresh and try again."},lesson:{loadError:"Could not load this lesson. Please refresh and try again."}},"zh-CN":{nav:{scenarios:"情景案例",glossary:"术语表"},course:{lessonsDone:"已完成 {done}/{total} 课",summaryLine:"{count} 课 · {minutes} 分钟",moduleLine:"{count} 课 · {minutes} 分钟",completed:"已完成",reviewCourse:"复习课程",gateNote:"每门课程的模块 1 免费。带锁标记的课程需要考试通行证。",updated:"更新于 {date}",testYourself:"测一测",quizLink:"领域 {number} 测验",quizHint:"25 道来自本领域的题目,附详细解析。",diagnosticLink:"参加免费诊断测验",diagnosticHint:"覆盖五大领域的 10 道题,找出你的薄弱环节。"},courses:{completePct:"已完成 {pct}%"},dashboard:{readinessTitle:"备考就绪度",readinessAbove:"最近一次{exam}:{score} 分 — 高于 {pass} 分及格线",readinessBelow:"最近一次{exam}:{score} 分 — 低于 {pass} 分及格线",domainBreakdown:"分领域明细(最近一次)",trend:"分数趋势(最近 {count} 次)",continueTitle:"从上次离开的地方继续",lastCompleted:"最近完成:{lesson}",nextUp:"下一课:{lesson}",courseDone:"这门课程已全部完成 — 选择下一门吧。",startLearning:"还没有学习记录 — 从免费课程开始。",continueCta:"继续"},flashcards:{startReview:"开始复习",allCaughtUp:"今日已全部复习",lockNote:"需要考试通行证",studyAhead:"提前学习",studyAheadHint:"现在复习本卡组的全部卡片,不会改变你的复习计划。",studyAheadNote:"提前学习 — 不保存进度",loadError:"无法加载此卡组,请刷新后重试。"},lesson:{loadError:"无法加载此课程,请刷新后重试。"}}
18,ja:{nav:{scenarios:"シナリオ",glossary:"用語集"},course:{lessonsDone:"{total} レッスン中 {done} 完了",summaryLine:"{count} レッスン · {minutes} 分",moduleLine:"{count} レッスン · {minutes} 分",completed:"完了",reviewCourse:"コースを復習",gateNote:"各コースのモジュール 1 は無料です。ロック付きのレッスンには Exam Pass が必要です。",updated:"更新日 {date}",testYourself:"理解度チェック",quizLink:"ドメイン {number} クイズ",quizHint:"このドメインから出題される解説付き 25 問。",diagnosticLink:"無料診断テストを受ける",diagnosticHint:"5 ドメイン横断の 10 問で弱点を把握しましょう。"},courses:{completePct:"{pct}% 完了"},dashboard:{readinessTitle:"合格準備度",readinessAbove:"最新の{exam}:{score} 点 — 合格ライン {pass} 点を上回っています",readinessBelow:"最新の{exam}:{score} 点 — 合格ライン {pass} 点を下回っています",domainBreakdown:"ドメイン別内訳(最新の受験)",trend:"スコア推移(直近 {count} 回)",continueTitle:"前回の続きから",lastCompleted:"最後に完了:{lesson}",nextUp:"次のレッスン:{lesson}",courseDone:"このコースは修了しました — 次のコースを選びましょう。",startLearning:"まだレッスンがありません — 無料コースから始めましょう。",continueCta:"続ける"},flashcards:{startReview:"復習を開始",allCaughtUp:"本日分は完了",lockNote:"Exam Pass が必要です",studyAhead:"先取り学習",studyAheadHint:"このデッキの全カードを今すぐ復習します。復習スケジュールは変わりません。",studyAheadNote:"先取り学習 — 進捗は保存されません",loadError:"デッキを読み込めませんでした。再読み込みしてもう一度お試しください。"},lesson:{loadError:"レッスンを読み込めませんでした。再読み込みしてもう一度お試しください。"}},ko:{nav:{scenarios:"시나리오",glossary:"용어집"},course:{lessonsDone:"{total}개 중 {done}개 레슨 완료",summaryLine:"레슨 {count}개 · {minutes}분",moduleLine:"레슨 {count}개 · {minutes}분",completed:"완료",reviewCourse:"코스 복습",gateNote:"모든 코스의 모듈 1은 무료입니다. 잠금 표시가 있는 레슨은 Exam Pass가 필요합니다.",updated:"{date} 업데이트",testYourself:"실력 점검",quizLink:"도메인 {number} 퀴즈",quizHint:"이 도메인에서 출제된 해설 포함 25문항.",diagnosticLink:"무료 진단 퀴즈 풀기",diagnosticHint:"다섯 도메인 전체에서 10문항으로 약점을 찾아보세요."},courses:{completePct:"{pct}% 완료"},dashboard:{readinessTitle:"합격 준비도",readinessAbove:"최근 {exam}: {score}점 — 합격선 {pass}점 이상",readinessBelow:"최근 {exam}: {score}점 — 합격선 {pass}점 미만",domainBreakdown:"도메인별 분석 (최근 시험)",trend:"점수 추이 (최근 {count}회)",continueTitle:"이어서 학습하기",lastCompleted:"마지막 완료: {lesson}",nextUp:"다음 레슨: {lesson}",courseDone:"이 코스를 모두 마쳤습니다 — 다음 코스를 선택하세요.",startLearning:"아직 학습 기록이 없습니다 — 무료 코스부터 시작하세요.",continueCta:"계속하기"},flashcards:{startReview:"복습 시작",allCaughtUp:"오늘 복습 완료",lockNote:"Exam Pass 필요",studyAhead:"미리 학습",studyAheadHint:"이 덱의 모든 카드를 지금 복습합니다. 복습 일정은 변경되지 않습니다.",studyAheadNote:"미리 학습 — 진도 저장 안 됨",loadError:"덱을 불러올 수 없습니다. 새로 고침 후 다시 시도하세요."},lesson:{loadError:"레슨을 불러올 수 없습니다. 새로 고침 후 다시 시도하세요."}}
18,"pt-BR":{nav:{scenarios:"Cenários",glossary:"Glossário"},course:{lessonsDone:"{done}/{total} lições concluídas",summaryLine:"{count} lições · {minutes} min",moduleLine:"{count} lições · {minutes} min",completed:"Concluída",reviewCourse:"Revisar curso",gateNote:"O Módulo 1 de cada curso é gratuito. As lições com cadeado exigem o Exam Pass.",updated:"Atualizado em {date}",testYourself:"Teste seus conhecimentos",quizLink:"Quiz do Domínio {number}",quizHint:"25 questões com explicações, extraídas deste domínio.",diagnosticLink:"Fazer o diagnóstico gratuito",diagnosticHint:"10 questões sobre os cinco domínios. Descubra seus pontos fracos."},courses:{completePct:"{pct}% concluído"},dashboard:{readinessTitle:"Prontidão",readinessAbove:"Último {exam}: {score} — acima da linha de aprovação de {pass}",readinessBelow:"Último {exam}: {score} — abaixo da linha de aprovação de {pass}",domainBreakdown:"Desempenho por domínio (última tentativa)",trend:"Tendência de pontuação (últimas {count} tentativas)",continueTitle:"Continue de onde parou",lastCompleted:"Última concluída: {lesson}",nextUp:"Próxima: {lesson}",courseDone:"Você concluiu este curso — escolha o próximo.",startLearning:"Nenhuma lição ainda — comece pelo curso gratuito.",continueCta:"Continuar"},flashcards:{startReview:"Iniciar revisão",allCaughtUp:"Tudo em dia",lockNote:"Requer o Exam Pass",studyAhead:"Estudar adiantado",studyAheadHint:"Revise todos os cartões deste baralho agora. Seu cronograma de revisão não muda.",studyAheadNote:"Estudo adiantado — progresso não salvo",loadError:"Não foi possível carregar este baralho. Atualize a página e tente novamente."},lesson:{loadError:"Não foi possível carregar esta lição. Atualize a página e tente novamente."}}},zw={common:{welcome:"Welcome to Claude Certified Architect",siteName:"Claude Certified Architect",login:"Login",signup:"Sign Up",logout:"Logout",profile:"Profile",settings:"Settings",and:"and",loading:"Loading...",unexpectedError:"An unexpected error occurred",notAvailable:"N/A",viewPlans:"View Plans",yes:"Yes",no:"No",theme:{light:"Light Theme",dark:"Dark Theme",system:"System Theme",toggle:"Toggle Theme",appearance:"Appearance",colorScheme:"Color Scheme",themes:{default:"Default",claude:"Claude","cosmic-night":"Cosmic Night","modern-minimal":"Modern Minimal","ocean-breeze":"Ocean Breeze"}}},navigation:{home:"Home",dashboard:"Dashboard",orders:"Orders",shipments:"Shipments",tracking:"Tracking",admin:{dashboard:"Dashboard",users:"Users",subscriptions:"Subscriptions",orders:"Orders",credits:"Credits",application:"Application",blog:"Blog"}},actions:{save:"Save",cancel:"Cancel",confirm:"Confirm",delete:"Delete",edit:"Edit",tryAgain:"Try again",createAccount:"Create account",sendCode:"Send Code",verify:"Verify",backToList:"Back to Users",saveChanges:"Save Changes",createUser:"Create User",deleteUser:"Delete User",back:"Back",resendCode:"Resend Code",resendVerificationEmail:"Resend Verification Email",upload:"Upload",previous:"Previous",next:"Next",createPost:"New Post",deletePost:"Delete Post",backToBlog:"Back to Blog"},email:{verification:{subject:"Verify your Claude Certified Architect account",title:"Verify your email address",greeting:"Hello {{name}},",message:"Thank you for registering with Claude Certified Architect. To complete your registration, please click the button below to verify your email address.",button:"Verify Email Address",alternativeText:"Or, copy and paste the following link into your browser:",expiry:"This link will expire in {{expiry_hours}} hours.",disclaimer:"If you didn't request this verification, please ignore this email.",signature:"Happy Shipping, The Claude Certified Architect Team",copyright:"© {{year}} Claude Certified Architect. All rights reserved."},resetPassword:{subject:"Reset your Claude Certified Architect password",title:"Reset your password",greeting:"Hello {{name}},",message:"We received a request to reset your password. Please click the button below to create a new password. If you didn't make this request, you can safely ignore this email.",button:"Reset Password",alternativeText:"Or, copy and paste the following link into your browser:",expiry:"This link will expire in {{expiry_hours}} hours.",disclaimer:"If you didn't request a password reset, no action is required.",signature:"Happy Shipping, The Claude Certified Architect Team",copyright:"© {{year}} Claude Certified Architect. All rights reserved."}},auth:{metadata:{signin:{title:"Claude Certified Architect - Sign In",description:"Sign in to your Claude Certified Architect account to access your dashboard, manage subscriptions, and use premium features.",keywords:"sign in, login, authentication, account access, dashboard"},signup:{title:"Claude Certified Architect - Create Account",description:"Create your Claude Certified Architect account and start building amazing SaaS applications with our comprehensive starter kit.",keywords:"sign up, register, create account, new user, get started"},forgotPassword:{title:"Claude Certified Architect - Reset Password",description:"Reset your Claude Certified Architect account password securely. Enter your email to receive password reset instructions.",ke
18ywords:"forgot password, reset password, password recovery, account recovery"},resetPassword:{title:"Claude Certified Architect - Create New Password",description:"Create a new secure password for your Claude Certified Architect account. Choose a strong password to protect your account.",keywords:"new password, password reset, secure password, account security"},phone:{title:"Claude Certified Architect - Phone Login",description:"Sign in to Claude Certified Architect using your phone number. Quick and secure authentication with SMS verification.",keywords:"phone login, SMS verification, mobile authentication, phone number"},wechat:{title:"Claude Certified Architect - WeChat Login",description:"Sign in to Claude Certified Architect using your WeChat account. Convenient authentication for Chinese users.",keywords:"WeChat login, 微信登录, social login, Chinese authentication"}},signin:{title:"Sign in to your account",welcomeBack:"Welcome back",socialLogin:"Sign in with your favorite social account",continueWith:"Or continue with",email:"Email",emailPlaceholder:"Enter your email",password:"Password",forgotPassword:"Forgot password?",rememberMe:"Remember me",submit:"Sign in",submitting:"Signing in...",noAccount:"Don't have an account?",signupLink:"Sign up",termsNotice:"By clicking continue, you agree to our",termsOfService:"Terms of Service",privacyPolicy:"Privacy Policy",socialProviders:{google:"Google",github:"GitHub",apple:"Apple",wechat:"WeChat",phone:"Phone"},errors:{invalidEmail:"Please enter a valid email",requiredEmail:"Email is required",requiredPassword:"Password is required",invalidCredentials:"Invalid email or password",captchaRequired:"Please complete the captcha verification",emailNotVerified:{title:"Email verification required",description:"Please check your email and click the verification link. If you haven't received the email, click the button below to resend.",resendSuccess:"Verification email has been resent, please check your inbox.",resendError:"Failed to resend verification email, please try again later.",dialogTitle:"Resend Verification Email",dialogDescription:"Please complete the captcha verification before resending the verification email",emailLabel:"Email Address",sendButton:"Send Verification Email",sendingButton:"Sending...",waitButton:"Wait {seconds}s"}}},signup:{title:"Sign up for Claude Certified Architect",createAccount:"Create an account",socialSignup:"Sign up with your favorite social account",continueWith:"Or continue with",name:"Name",namePlaceholder:"Enter your name",email:"Email",emailPlaceholder:"Enter your email",password:"Password",passwordPlaceholder:"Create a password",imageUrl:"Profile Image URL",imageUrlPlaceholder:"https://example.com/your-image.jpg",optional:"Optional",submit:"Create account",submitting:"Creating account...",haveAccount:"Already have an account?",signinLink:"Sign in",termsNotice:"By clicking continue, you agree to our",termsOfService:"Terms of Service",privacyPolicy:"Privacy Policy",verification:{title:"Verification Required",sent:"We've sent a verification email to",checkSpam:"Can't find the email? Please check your spam folder.",spamInstruction:"If you still don't see it,"},errors:{invalidName:"Please enter a valid name",requiredName:"Name is required",invalidEmail:"Please enter a valid email",requiredEmail:"Email is required",invalidPassword:"Please enter a valid password",requiredPassword:"Password is required",invalidImage:"Please enter a valid image URL",captchaRequired:"Please complete the captcha verification",captchaError:"Captcha verification failed, please try again",captchaExpired:"Captcha verification expired, please try again"}},phone:{title:"Login with Phone",description:"Enter your phone number to receive a verification code",phoneNumber:"Phone Number",phoneNumberPlaceholder:"Enter your phone number",countryCode:"Country/Region",verificationCode:"Verification Code",enterCode:"Enter Verification Code",sendingCode:"Sending code...",verifying:"Verifying...",codeSentTo:"Verification code sent to",resendIn:"Resend in",seconds:"seconds",resendCode:"Resend Code",resendCountdown:"seconds remaining",termsNotice:"By clicking continue, you agree to our",termsOfService:"Terms of Service",privacyPolicy:"Privacy Policy",errors:{invalidPhone:"Please enter a valid phone number",requiredPhone:"Phone number is required",requiredCountryCode:"Please select country/region",invali
18dCode:"Please enter a valid verification code",requiredCode:"Verification code is required",captchaRequired:"Please complete the captcha verification"}},forgetPassword:{title:"Forgot Password",description:"Reset your password and regain access to your account",email:"Email",emailPlaceholder:"Enter your email",submit:"Send reset link",submitting:"Sending...",termsNotice:"By clicking continue, you agree to our",termsOfService:"Terms of Service",privacyPolicy:"Privacy Policy",verification:{title:"Check your email",sent:"We've sent a password reset link to",checkSpam:"Can't find the email? Please check your spam folder."},errors:{invalidEmail:"Please enter a valid email",requiredEmail:"Email is required",captchaRequired:"Please complete the captcha verification"}},resetPassword:{title:"Reset Password",description:"Create a new password for your account",password:"New Password",passwordPlaceholder:"Enter your new password",confirmPassword:"Confirm Password",confirmPasswordPlaceholder:"Confirm your new password",submit:"Reset Password",submitting:"Resetting...",success:{title:"Password Reset Successful",description:"Your password has been successfully reset.",backToSignin:"Back to Sign In",goToSignIn:"Back to Sign In"},errors:{invalidPassword:"Password must be at least 8 characters",requiredPassword:"Password is required",passwordsDontMatch:"Passwords don't match",invali
18dToken:"Invalid or expired reset link. Please try again."}},wechat:{title:"WeChat Login",description:"Scan with WeChat to log in",scanQRCode:"Please scan the QR code with WeChat",orUseOtherMethods:"Or use other login methods",loadingQRCode:"Loading QR code...",termsNotice:"By clicking continue, you agree to our",termsOfService:"Terms of Service",privacyPolicy:"Privacy Policy",errors:{loadingFailed:"Failed to load WeChat QR code",networkError:"Network error, please try again"}},authErrors:{USER_NOT_FOUND:"No account found with this email",USER_ALREADY_EXISTS:"User with this email already exists",USER_ALREADY_EXISTS_USE_ANOTHER_EMAIL:"User already exists. Please use another email",USER_EMAIL_NOT_FOUND:"User email not found",FAILED_TO_CREATE_USER:"Failed to create user",FAILED_TO_UPDATE_USER:"Failed to update user",INVALID_EMAIL:"Invalid email address",INVALID_PASSWORD:"Invalid password",INVALID_EMAIL_OR_PASSWORD:"Invalid email or password",INVALID_CREDENTIALS:"Invalid credentials provided",INVALID_TOKEN:"Invalid or expired token",PASSWORD_TOO_SHORT:"Password is too short",PASSWORD_TOO_LONG:"Password is too long",EMAIL_NOT_VERIFIED:"Please verify your email address",EMAIL_ALREADY_VERIFIED:"Email is already verified",EMAIL_MISMATCH:"Email mismatch",EMAIL_CAN_NOT_BE_UPDATED:"Email cannot be updated",VERIFICATION_EMAIL_NOT_ENABLED:"Verification email is not enabled",SESSION_EXPIRED:"Your session has expired. Please sign in again",SESSION_NOT_FRESH:"Session is not fresh. Please re-authenticate",FAILED_TO_CREATE_SESSION:"Failed to create session",FAILED_TO_GET_SESSION:"Failed to get session",ACCOUNT_NOT_FOUND:"Account not found",ACCOUNT_BLOCKED:"Your account has been temporarily blocked",CREDENTIAL_ACCOUNT_NOT_FOUND:"Credential account not found",SOCIAL_ACCOUNT_ALREADY_LINKED:"Social account is already linked",LINKED_ACCOUNT_ALREADY_EXISTS:"Linked account already exists",FAILED_TO_UNLINK_LAST_ACCOUNT:"Cannot unlink your last account",USER_ALREADY_HAS_PASSWORD:"User already has a password",PHONE_NUMBER_ALREADY_EXISTS:"Phone number is already registered",INVALID_PHONE_NUMBER:"Invalid phone number format",OTP_EXPIRED:"Verification code has expired",INVALID_OTP:"Invalid verification code",OTP_TOO_MANY_ATTEMPTS:"Too many verification attempts. Please request a new code",PROVIDER_NOT_FOUND:"Provider not found",ID_TOKEN_NOT_SUPPORTED:"ID token not supported",FAILED_TO_GET_USER_INFO:"Failed to get user info",CAPTCHA_REQUIRED:"Please complete the captcha verification",CAPTCHA_INVALID:"Captcha verification failed",TOO_MANY_REQUESTS:"Too many requests. Please try again later",CROSS_SITE_NAVIGATION_LOGIN_BLOCKED:"Cross-site navigation login blocked",INVALID_ORIGIN:"Invalid origin",MISSING_OR_NULL_ORIGIN:"Missing or invalid origin",INVALID_CALLBACK_URL:"Invalid callback URL",INVALID_REDIRECT_URL:"Invalid redirect URL",INVALID_ERROR_CALLBACK_URL:"Invalid error callback URL",INVALID_
18NEW_USER_CALLBACK_URL:"Invalid new user callback URL",CALLBACK_URL_REQUIRED:"Callback URL is required",VALIDATION_ERROR:"Validation error",MISSING_FIELD:"Required field is missing",FIELD_NOT_ALLOWED:"Field is not allowed",ASYNC_VALIDATION_NOT_SUPPORTED:"Async validation is not supported",FAILED_TO_CREATE_VERIFICATION:"Failed to create verification",EMAIL_SEND_FAILED:"Failed to send email. Please try again later",SMS_SEND_FAILED:"Failed to send SMS. Please try again later",UNKNOWN_ERROR:"An unexpected error occurred"}},admin:{metadata:{title:"Claude Certified Architect - Admin Dashboard",description:"Comprehensive admin dashboard for managing users, subscriptions, orders, and system analytics in your SaaS application.",keywords:"admin, dashboard, management, SaaS, analytics, users, subscriptions, orders"},dashboard:{title:"Admin Dashboard",accessDenied:"Access Denied",noPermission:"You don't have permission to access the admin dashboard",lastUpdated:"Last updated",metrics:{totalRevenue:"Total Revenue",totalRevenueDesc:"All time revenue",newCustomers:"Monthly New Customers",newCustomersDesc:"New customers this month",newOrders:"Monthly New Orders",newOrdersDesc:"New orders this month",fromLastMonth:"from last month"},chart:{monthlyRevenueTrend:"Monthly Revenue Trend",revenue:"Revenue",orders:"Orders"},todayData:{title:"Today's Data",revenue:"Revenue",newUsers:"New Users",orders:"Orders"},monthData:{title:"This Month's Data",revenue:"Monthly Revenue",newUsers:"Monthly New Users",orders:"Monthly Orders"},recentOrders:{title:"Recent Orders",orderId:"Order ID",customer:"Customer",plan:"Plan",amount:"Amount",provider:"Payment Method",status:"Status",time:"Time",total:"Total"}},users:{title:"User Management",subtitle:"Manage users, roles, and permissions",createUser:"Create User",editUser:"Edit User",actions:{addUser:"Add User",editUser:"Edit User",deleteUser:"Delete User",banUser:"Ban User",unbanUser:"Unban User"},table:{columns:{id:"ID",name:"Name",email:"Email",role:"Role",phoneNumber:"Phone Number",emailVerified:"Email Verified",banned:"Banned",createdAt:"Created At",updatedAt:"Updated At",actions:"Actions"},actions:{editUser:"Edit User",deleteUser:"Delete User",clickToCopy:"Click to copy"}
18,sort:{ascending:"Sort ascending",descending:"Sort descending",none:"Remove sorting"},noResults:"No users found",search:{searchBy:"Search by",searchPlaceholder:"Search {field}...",filterByRole:"Filter by role",allRoles:"All Roles",banStatus:"Ban status",allUsers:"All users",bannedUsers:"Banned",notBannedUsers:"Not banned",view:"View",toggleColumns:"Toggle columns"},pagination:{showing:"Showing {start} to {end} of {total} results",pageInfo:"Page {current} of {total}"},dialog:{banTitle:"Ban User",banDescription:"Are you sure you want to ban this user? They will not be able to access the application.",banSuccess:"User banned successfully",unbanSuccess:"User unbanned successfully",updateRoleSuccess:"User role updated successfully",updateRoleFailed:"Failed to update user role"}},banDialog:{title:"Ban User",description:"Are you sure you want to ban {userName}? They will not be able to access the application."},unbanDialog:{title:"Unban User",description:"Are you sure you want to unban {userName}? They will regain access to the application."},form:{title:"User Information",description:"Enter user details below",labels:{name:"Name",email:"Email",password:"Password",confirmPassword:"Confirm Password",role:"Role",image:"Profile Image",phoneNumber:"Phone Number",emailVerified:"Email Verified",phoneVerified:"Phone Verified",banned:"Banned",banReason:"Ban Reason"},placeholders:{name:"Enter user's name",email:"Enter user's email",password:"Enter password (min 8 characters)",confirmPassword:"Confirm password",selectRole:"Select role",image:"https://example.com/avatar.jpg",phoneNumber:"Enter phone number",banReason:"Reason for banning (optional)"},validation:{nameRequired:"Name is required",emailRequired:"Email is required",emailInvalid:"Please enter a valid email",passwordRequired:"Password is required",passwordMinLength:"Password must be at least 8 characters",passwordMismatch:"Passwords do not match",roleRequired:"Role is required"}},deleteDialog:{title:"Delete User",description:"Are you absolutely sure? This action cannot be undone. This will permanently delete the user account and remove all associated data."},messages:{createSuccess:"User created successfully",updateSuccess:"User updated successfully",deleteSuccess:"User deleted successfully",deleteError:"Failed to delete user",fetchError:"Failed to fetch user data",operationFailed:"Operation failed"}},orders:{title:"Orders",actions:{createOrder:"Create Order"},messages:{fetchError:"Failed to load orders. Please try again."},table:{noResults:"No orders found.",search:{searchBy:"Search by...",searchPlaceholder:"Search by {field}...",filterByStatus:"Filter by status",allStatus:"All Status",filterByProvider:"Payment provider",allProviders:"All Providers",stripe:"Stripe",wechat:"WeChat",creem:"Creem",alipay:"Alipay",dodo:"Dodo Payments",pending:"Pending",paid:"Paid",failed:"Failed",refunded:"Refunded",canceled:"Canceled"},columns:{id:"Order ID",user:"User",amount:"Amount",plan:"Plan",status:"Status",provider:"Provider",providerOrderId:"Provider Order ID",createdAt:"Created At",actions:"Actions"},actions:{openMenu:"Open menu",actions:"Actions",viewOrder:"View order",refundOrder:"Refund order",clickToCopy:"Click to copy"}
18,sort:{ascending:"Sort ascending",descending:"Sort descending",none:"Remove sorting"}},status:{pending:"Pending",paid:"Paid",failed:"Failed",refunded:"Refunded",canceled:"Canceled"}},blog:{title:"Blog Management",subtitle:"Create and manage blog posts",createPost:"Create Post",editPost:"Edit Post",actions:{newPost:"New Post"},messages:{fetchError:"Failed to load blog posts. Please try again.",createSuccess:"Post created successfully",updateSuccess:"Post updated successfully",deleteSuccess:"Post deleted successfully",deleteError:"Failed to delete post",operationFailed:"Operation failed",uploadSuccess:"Upload successful",uploadError:"Upload failed"},table:{noResults:"No posts found.",search:{searchPlaceholder:"Search by title...",filterByStatus:"Filter by status",allStatus:"All Status",draft:"Draft",published:"Published"},columns:{title:"Title",status:"Status",author:"Author",publishedAt:"Published At",createdAt:"Created At",actions:"Actions"},actions:{edit:"Edit",delete:"Delete"},sort:{ascending:"Sort ascending",descending:"Sort descending",none:"Remove sorting"}},form:{title:"Post Information",description:"Enter post details below",labels:{title:"Title",slug:"Slug",excerpt:"Excerpt",coverImage:"Cover Image",status:"Status",content:"Content"},placeholders:{title:"Enter post title",slug:"URL-friendly slug (auto-generated from title)",excerpt:"Brief summary of the post",coverImage:"Drag and drop or click to upload (max 2MB)",content:"Write your content in Markdown..."}},deleteDialog:{title:"Delete Post",description:"Are you absolutely sure? This action cannot be undone. This will permanently delete the post."}},credits:{title:"Credit Transactions",subtitle:"View all credit transactions across all users",messages:{fetchError:"Failed to load credit transactions. Please try again."},table:{noResults:"No credit transactions found.",search:{searchBy:"Search by...",searchPlaceholder:"Search by {field}...",filterByType:"Filter by type",allTypes:"All Types",purchase:"Purchase",consumption:"Consumption",refund:"Refund",bonus:"Bonus",adjustment:"Adjustment"},columns:{id:"Transaction ID",user:"User",type:"Type",amount:"Amount",balance:"Balance",description:"Description",createdAt:"Created At",metadata:"Metadata"},actions:{clickToCopy:"Click to copy",viewDetails:"View details"}
18,sort:{ascending:"Sort ascending",descending:"Sort descending",none:"Remove sorting"},pagination:{showing:"Showing {start} to {end} of {total} results",pageInfo:"Page {current} of {total}"}},type:{purchase:"Purchase",consumption:"Consumption",refund:"Refund",bonus:"Bonus",adjustment:"Adjustment"}},subscriptions:{title:"Subscriptions",description:"Manage user subscriptions and billing",actions:{createSubscription:"Create Subscription"},messages:{fetchError:"Failed to load subscriptions. Please try again."},table:{showing:"Showing {from} to {to} of {total} results",noResults:"No subscriptions found.",rowsPerPage:"Rows per page",page:"Page",of:"of",view:"View",toggleColumns:"Toggle columns",goToFirstPage:"Go to first page",goToPreviousPage:"Go to previous page",goToNextPage:"Go to next page",goToLastPage:"Go to last page",search:{searchLabel:"Search subscriptions",searchField:"Search field",statusLabel:"Status",providerLabel:"Provider",search:"Search",clear:"Clear",allStatuses:"All statuses",allProviders:"All providers",stripe:"Stripe",creem:"Creem",wechat:"WeChat",alipay:"Alipay",dodo:"Dodo Payments",userEmail:"User Email",subscriptionId:"Subscription ID",userId:"User ID",planId:"Plan ID",stripeSubscriptionId:"Stripe Subscription ID",creemSubscriptionId:"Creem Subscription ID",dodoSubscriptionId:"Dodo Subscription ID",placeholders:{userEmail:"Enter user email...",subscriptionId:"Enter subscription ID...",userId:"Enter user ID...",planId:"Enter plan ID...",stripeSubscriptionId:"Enter Stripe subscription ID...",creemSubscriptionId:"Enter Creem subscription ID...",dodoSubscriptionId:"Enter Dodo subscription ID...",default:"Enter search term..."},searchBy:"Search by...",searchPlaceholder:"Search by {field}...",filterByStatus:"Filter by status",filterByProvider:"Filter by provider",allStatus:"All Status",filterByPaymentType:"Payment type",allPaymentTypes:"All Types",active:"Active",canceled:"Canceled",expired:"Expired",trialing:"Trialing",inactive:"Inactive",oneTime:"One Time",recurring:"Recurring"},columns:{id:"Subscription ID",user:"Customer",plan:"Plan",status:"Status",paymentType:"Payment Type",provider:"Provider",periodStart:"Period Start",periodEnd:"Period End",cancelAtPeriodEnd:"Will Cancel",createdAt:"Created",updatedAt:"Updated",metadata:"Metadata",period:"Period",actions:"Actions"},actions:{openMenu:"Open menu",actions:"Actions",viewSubscription:"View subscription",cancelSubscription:"Cancel subscription",clickToCopy:"Click to copy"}
18,sort:{ascending:"Sort ascending",descending:"Sort descending",none:"Remove sorting"}},status:{active:"Active",trialing:"Trialing",canceled:"Canceled",cancelled:"Canceled",expired:"Expired",inactive:"Inactive"},paymentType:{one_time:"One-time",recurring:"Recurring"}}},pricing:{metadata:{title:"Claude Certified Architect - Pricing Plans",description:"Choose the perfect plan for your needs. Flexible pricing options including monthly, yearly, and lifetime subscriptions with premium features.",keywords:"pricing, plans, subscription, monthly, yearly, lifetime, premium, features"},title:"Pricing",subtitle:"Choose the plan that's right for you",description:"We offer both traditional time-based subscriptions (monthly/yearly/lifetime) and the AI-era popular credit system. Subscribe for unlimited access, or purchase credits and pay only for what you use.",cta:"Get started",recommendedBadge:"Recommended",lifetimeBadge:"One-time purchase, lifetime access",creditsBadge:"Credits",creditsUnit:"credits",tabs:{subscription:"Subscription",credits:"Credits"},features:{securePayment:{title:"Multi-Provider Security",description:"Support WeChat Pay, Stripe, Creem with enterprise-grade security"},flexibleSubscription:{title:"Flexible Payment Models",description:"Time-based subscription or AI-era credit system — choose your style"},globalCoverage:{title:"Global Payment Coverage",description:"Multi-currency and regional payment methods for worldwide access"}},plans:{monthly:{name:"Monthly Plan",description:"Perfect for short-term projects",duration:"month",features:{所有高级功能:"All premium features",优先支持:"Priority support"}},yearly:{name:"Annual Plan",description:"Best value for long-term use",duration:"year",features:{所有高级功能:"All premium features",优先支持:"Priority support",两个月免费:"2 months free"}},lifetime:{name:"Lifetime",description:"One-time payment, lifetime access",duration:"lifetime",features:{所有高级功能:"All premium features",优先支持:"Priority support",终身免费更新:"Free lifetime updates"}}}},payment:{metadata:{success:{title:"Claude Certified Architect - Payment Successful",description:"Your payment has been processed successfully. Thank you for your subscription and welcome to our premium features.",keywords:"payment, success, subscription, confirmation, premium"},cancel:{title:"Claude Certified Architect - Payment Cancelled",description:"Your payment was cancelled. You can retry the payment or contact our support team for assistance.",keywords:"payment, cancelled, retry, support, subscription"}},result:{success:{title:"Payment Successful",description:"Your payment has been processed successfully.",support:"Anything still locked or not as expected? Email {email} and we will fix it quickly.",actions:{viewSubscription:"View Subscription",backToHome:"Back to Home"}},cancel:{title:"Payment Cancelled",description:"Your payment has been cancelled.",actions:{tryAgain:"Try Again",contactSupport:"Contact Support",backToHome:"Back to Home"}},failed:"Payment failed, please try again"},steps:{initiate:"Initialize",initiateDesc:"Prepare payment",scan:"Scan",scanDesc:"Scan QR code",pay:"Pay",payDesc:"Confirm payment"},scanQrCode:"Please scan the QR code with WeChat to complete the payment",confirmCancel:"Your payment is not complete. Are you sure you want to cancel?",orderCanceled:"Your order has been canceled"},subscription:{metadata:{title:"Claude Certified Architect - My Subscription",description:"Manage your subscription plan, view billing history, and update payment methods in your subscription dashboard.",keywords:"subscription, billing, payment, plan, management, dashboard"},title:"My Subscription",overview:{title:"Subscription Overview",planType:"Plan Type",status:"Status",active:"Active",startDate:"Start Date",endDate:"End Date",progress:"Subscription Progress"},management:{title:"Subscription Management",description:"Manage your subscription, view billing history, and update payment methods through the customer portal.",manageSubscription:"Manage Subscription",changePlan:"Change Plan",redirecting:"Redirecting..."},noSubscription:{title:"No Active Subscription Found",description:"You currently don't have an active subscription plan.",viewPlans:"View Plans"}},dashboard:{metadata:{title:"Claude Certified Architect - Dashboard",description:"Manage your account, subscriptions, and profile settings in your personalized dashboard.",keywords:"dashboard, account, profile, subscription, settings, management"},title:"Dashboard",description:"Manage your account and subscriptions",profile:{title:"Profile Information",noNameSet:"No name set",role:"Role:",emailVerified:"Email verified",editProfile:"Edit Profile",updateProfile:"Update Profile",cancel:"Cancel",form:{labels:{name:"Full Name",email:"Email Address",image:"Profile Image URL"},placeholders:{name:"Enter your full name",email:"Email address",image:"https://example.com/your-image.jpg"},emailReadonly:"Email address cannot be modified",imageDescription:"Optional: Enter a URL for your profile picture"},updateSuccess:"Profile updated successfully",updateError:"Failed to update profile. Please try again."},subscription:{title:"Subscription Status",status:{lifetime:"Lifetime",active:"Active",canceled:"Canceled",cancelAtPeriodEnd:"Canceling at Perio
18d End",pastDue:"Past Due",unknown:"Unknown",noSubscription:"No Subscription"},paymentType:{recurring:"Recurring",oneTime:"One-time"},lifetimeAccess:"You have lifetime access",expires:"Expires:",cancelingNote:"Your subscription will not renew and will end on:",noActiveSubscription:"You currently have no active subscription",manageSubscription:"Manage Subscription",viewPlans:"View Plans"},credits:{title:"Credit Balance",available:"Available Credits",totalPurchased:"Total Purchased",totalConsumed:"Total Used",recentTransactions:"Recent Transactions",buyMore:"Buy More Credits",types:{purchase:"Purchase",bonus:"Bonus",consumption:"Used",refund:"Refund",adjustment:"Adjustment"},descriptions:{ai_chat:"AI Chat",ai_image_generation:"AI Image Generation",ai_video_generation:"AI Video Generation",image_generation:"Image Generation",document_processing:"Document Processing",purchase:"Credit Purchase",bonus:"Bonus Credits",refund:"Credit Refund",adjustment:"Admin Adjustment"},table:{type:"Type",description:"Description",amount:"Amount",time:"Time"}},account:{title:"Account Details",memberSince:"Member since",phoneNumber:"Phone Number"},orders:{title:"Order History",status:{pending:"Pending",paid:"Paid",failed:"Failed",refunded:"Refunded",canceled:"Canceled"},provider:{stripe:"Stripe",wechat:"WeChat Pay",creem:"Creem",alipay:"Alipay",dodo:"Dodo Payments"},noOrders:"No orders found",noOrdersDescription:"You haven't placed any orders yet",viewAllOrders:"View All Orders",orderDetails:{orderId:"Order ID",amount:"Amount",plan:"Plan",status:"Status",provider:"Payment Method",createdAt:"Created"},recent:{title:"Recent Orders",showingRecent:"Showing {count} most recent orders"},page:{title:"All Orders",description:"View and manage all your orders",backToDashboard:"Back to Dashboard",totalOrders:"Total {count} orders"}},linkedAccounts:{title:"Linked Accounts",connected:"Connected",connectedAt:"Connected:",noLinkedAccounts:"No linked accounts",providers:{credential:"Email & Password",google:"Google",github:"GitHub",facebook:"Facebook",apple:"Apple",discord:"Discord",wechat:"WeChat","phone-number":"Phone Number"}},tabs:{profile:{title:"Profile",description:"Manage your personal information and avatar"},account:{title:"Account Management",description:"Password changes, linked accounts and security"},security:{title:"Security",description:"Password and security settings"},subscription:{description:"Manage your subscription plan and features"},credits:{title:"Credits",description:"View your credit balance and transactions"},orders:{description:"View your order history and transactions"},content:{profile:{title:"Profile",subtitle:"This is how others will see you on the site.",username:{label:"Username",value:"shadcn",description:"This is your public display name. It can be your real name or a pseudonym. You can only change this once every 30 days."},email:{label:"Email",placeholder:"Select a verified email to display",description:"You can manage verified email addresses in your email settings."}},account:{title:"Account Settings",subtitle:"Manage your account settings and preferences.",placeholder:"Account settings content..."},security:{title:"Security Settings",subtitle:"Manage your password and security settings.",placeholder:"Security settings content..."}}},quickActions:{title:"Quick Actions",editProfile:"Edit Profile",accountSettings:"Account Settings",subscriptionDetails:"Subscription Details",getSupport:"Get Support",viewDocumentation:"View Documentation"},accountManagement:{title:"Account Management",changePassword:{title:"Change Password",description:"Update your account password",oauthDescription:"Password management is not available for social login accounts",button:"Change Password",dialogDescription:"Please enter your current password and choose a new one",form:{currentPassword:"Current Password",currentPasswordPlaceholder:"Enter your current password",newPassword:"New Password",newPasswordPlaceholder:"Enter new password (minimum 8 characters)",confirmPassword:"Confirm New Password",confirmPasswordPlaceholder:"Confirm your new password",cancel:"Cancel",submit:"Update Password"},success:"Password updated successfully",errors:{required:"Please fill in all required fields",mismatch:"New passwords do not match",minLength:"Password must be at least 8 characters long",failed:"Failed to update password. Please try again."}},deleteAccount:{title:"Delete Account",description:"Permanently delete your account and all associated data",button:"Delete Account",confirmTitle:"Delete Account",confirmDescription:"Are you absolutely sure you want to delete your account?",warning:"⚠️ This action cannot be undone",consequences:{data:"All your personal data will be permanently deleted",subscriptions:"Active subscriptions will be cancelled",access:"You will lose access to all premium features"}
18,form:{cancel:"Cancel",confirm:"Yes, Delete My Account"},success:"Account deleted successfully",errors:{failed:"Failed to delete account. Please try again."}}},roles:{admin:"Administrator",user:"User"}},home:{metadata:{title:"Claude Certified Architect (CCAR-F) Exam Prep — Courses, Mock Exams & Study Guides",description:"Pass the Claude Certified Architect — Foundations exam with blueprint-aligned courses, full-length timed mock exams, per-domain study guides, and spaced-repetition flashcards. Available in 5 languages.",keywords:"Claude Certified Architect, CCAR-F, Claude certification, Claude exam, Anthropic certification, Claude Code certification, MCP certification, practice exam, CCA-F"},hero:{titlePrefix:"Pass the ",titleHighlight:"Claude Certified Architect",titleSuffix:" exam",subtitle:"Blueprint-aligned courses, full-length timed mock exams, per-domain study guides, and spaced-repetition flashcards — built around the official CCAR-F 5-domain exam. Study in your language.",buttons:{purchase:"Get the Exam Pass",demo:"Try a free diagnostic"},features:{lifetime:"Aligned to the official 5-domain blueprint",earlyBird:"Free study guides & diagnostic quiz"}},features:{title:"Everything you need to pass CCAR-F",subtitle:"Master all five exam domains with structured courses, then prove your readiness with realistic, timed practice exams.",items:[{title:"Agentic Architecture & Orchestration",description:"The heaviest domain (27%): the agentic loop and stop_reason, multi-agent topologies, subagent isolation, sessions, and decomposition patterns.",className:"col-span-2 row-span-1"},{title:"Tool Design & MCP Integration",description:"Domain 2 (18%): tool descriptions as the selection mechanism, tool_choice, structured errors, and the Model Context Protocol end to end.",className:"col-span-1 row-span-1"},{title:"Claude Code Workflows",description:"Domain 3 (20%): CLAUDE.md hierarchy, slash commands and Skills, permission models, and headless CI/CD usage.",className:"col-span-1 row-span-1"},{title:"Prompt Engineering & Structured Output",description:"Domain 4 (20%): few-shot and chain-of-thought, JSON-Schema tool use, validation-retry loops, and the Message Batches API.",className:"col-span-1 row-span-1"},{title:"Context Management & Reliability",description:"Domain 5 (15%): lost-in-the-middle, scratchpads across context boundaries, provenance, prompt caching, and token budgets.",className:"col-span-1 row-span-1"},{title:"Full-length timed mock exams",description:"60 scenario-based questions in 120 minutes, weighted to the real blueprint, with per-domain score breakdowns.",className:"col-span-2 row-span-1"},{title:"Spaced-repetition flashcards",description:"Lock in key facts with Leitner-box flashcard decks for every domain plus a glossary deck.",className:"col-span-1 row-span-1"},{title:"Five languages",description:"Study in English, 日本語, 한국어, Português (BR), or 简体中文.",className:"col-span-1 row-span-1"}],techStack:{title:"Built around the official exam blueprint",items:["Agentic Architecture","Tools & MCP","Claude Code","Prompt Engineering","Context & Reliability","60 scenario MCQs · 120 min","Scaled pass ≥ 720"]}}
18,applicationFeatures:{title:"How CCA Prep works",subtitle:"A clear path from blueprint to certificate.",items:[{title:"Study the blueprint",subtitle:"Free per-domain study guides",description:"Start with the official 5-domain blueprint. Each domain has a free, in-depth study guide with exam tips, anti-patterns, and links into the full course lessons.",highlights:["5 weighted exam domains","Exam tips & anti-patterns","12-week study plan","Always free"],imageTitle:"Exam Blueprint"},{title:"Take the courses",subtitle:"Structured, blueprint-aligned lessons",description:"Six courses build from Claude platform foundations up through every exam domain. Markdown lessons, estimated reading times, and a glossary that cross-links key terms.",highlights:["6 courses: foundations + 1 per domain","Module 1 of every course is free","Track lesson completion","Glossary cross-links"],imageTitle:"Courses & Lessons"},{title:"Practice with mock exams",subtitle:"Realistic, timed, weighted",description:"Full-length 60-question mock exams replicate the real format and weighting, plus per-domain quizzes and a free diagnostic. Every question has a detailed explanation.",highlights:["Timed full mock exams","Per-domain quizzes","Detailed answer explanations","Scaled scoring vs the 720 cut line"],imageTitle:"Practice Exams"},{title:"Track your progress",subtitle:"Know when you're ready",description:"Your dashboard shows attempt history, per-domain strengths and gaps, and lesson completion, so you sit the real exam with confidence.",highlights:["Attempt history","Per-domain breakdowns","Lesson completion %","Flashcard due dates"],imageTitle:"Progress Dashboard"}]},stats:{title:"Built for the exam",items:{questions:"Practice questions",domains:"Exam domains",languages:"Languages",passScore:"Scaled pass score"}},testimonials:{title:"From candidates who passed",items:[{quote:"The per-domain breakdown after each mock exam showed exactly where I was weak. I focused my last week on Domain 1 and passed comfortably.",author:"Priya N.",role:"Solutions Architect"},{quote:"The study guides are genuinely better than the scattered docs I was piecing together. Everything maps to the blueprint.",author:"Marco S.",role:"AI Engineer"},{quote:"Timed mocks made the real exam feel familiar. The explanations taught me things the question alone wouldn't.",author:"Daniel K.",role:"Staff Engineer"}]},finalCta:{title:"Ready to get certified?",subtitle:"Start with the free diagnostic and study guides. Upgrade to the Exam Pass for full mock exams, every premium lesson, flashcards, and progress tracking.",buttons:{purchase:"Get the Exam Pass",demo:"Start free diagnostic"}},footer:{copyright:"© {year} Claude Certified Architect. All rights reserved.",description:"Independent exam preparation for the Claude Certified Architect certification.",disclaimer:"Independent study resource. Not affiliated with, endorsed by, or sponsored by Anthropic. Claude and Anthropic are trademarks of Anthropic, PBC.",support:"Questions or access problems? Email {email}"},common:{demoInterface:"Preview",techArchitecture:"Independent prep, aligned to the official blueprint",learnMore:"Learn more"}},ai:{metadata:{title:"Claude Certified Architect - AI Assistant",description:"Interact with powerful AI models including GPT-4, Qwen, and DeepSeek. Get AI assistance for coding, writing, and problem-solving.",keywords:"AI, assistant, chatbot, GPT-4, artificial intelligence, machine learning, conversation"},chat:{title:"AI Assistant",description:"A simple implementation of large model conversation with extensible design, using the latest technologies ai-sdk / ai-elements / streamdown to achieve very smooth chat effects, can be extended to more complex functions as needed",placeholder:"What can I help you with?",sending:"Sending...",thinking:"AI is thinking...",noMessages:"Start a conversation with the AI assistant",welcomeMessage:"Hello! I'm your AI assistant. How can I help you today?",toolCall:"Tool Call",providers:{title:"AI Provider",openai:"OpenAI",qwen:"Qwen",deepseek:"DeepSeek"},models:{"gpt-5":"GPT-5","gpt-5-codex":"GPT-5 Codex","gpt-5-pro":"GPT-5 Pro","qwen-max":"Qwen Max","qwen-plus":"Qwen Plus","qwen-turbo":"Qwe
18n Turbo","deepseek-chat":"DeepSeek Chat","deepseek-coder":"DeepSeek Coder"},actions:{send:"Send",copy:"Copy",copied:"Copied!",retry:"Retry",dismiss:"Dismiss",newChat:"New Chat",clearHistory:"Clear History"},errors:{failedToSend:"Failed to send message. Please try again.",networkError:"Network error. Please check your connection.",invalidResponse:"Invalid response from AI. Please try again.",rateLimited:"Too many requests. Please wait a moment.",subscriptionRequired:"AI features require an active subscription",subscriptionRequiredDescription:"Upgrade to a premium plan to access AI chat features",insufficientCredits:"Insufficient Credits",insufficientCreditsDescription:"You need credits or a subscription to use AI chat. Purchase credits to continue."},history:{title:"Chat History",empty:"No chat history",today:"Today",yesterday:"Yesterday",thisWeek:"This Week",older:"Older"}},image:{metadata:{title:"Claude Certified Architect - AI Image Generation",description:"Generate stunning images using AI. Powered by Qwen-Image, fal.ai Flux, OpenAI DALL-E, and Google Gemini.",keywords:"AI, image generation, DALL-E, Flux, Qwen, Gemini, text to image, art, creative"},title:"AI Image Generation",description:"Generate stunning images from text prompts using multiple AI providers",defaultPrompt:"A yellow Labrador wearing black and gold round sunglasses drinking tea with two yellow and white cats in a venue in Chengdu",prompt:"Prompt",promptPlaceholder:"Describe the image you want to generate...",negativePrompt:"Negative Prompt",negativePromptPlaceholder:"Describe what you don't want in the image...",negativePromptHint:"Describe elements to avoid in the generated image",generate:"Generate",generating:"Generating...",generatedSuccessfully:"Image generated successfully!",download:"Download",result:"Result",idle:"Idle",preview:"Preview",json:"JSON",whatNext:"What would you like to do next?",costInfo:"Your request will cost",perMegapixel:"per megapixel",credits:"credits",providers:{title:"Provider",qwen:"Aliyun BaiLian",fal:"fal.ai",openai:"OpenAI",gemini:"Google Gemini"},models:{"qwen-image-plus":"Qwen Image Plus","qwen-image-max":"Qwen Image Max","fal-ai/qwen-image-2512/lora":"Qwen Image 2512 Lora","fal-ai/nano-banana-pro":"Nano Banana Pro","fal-ai/flux/dev":"Flux Dev","fal-ai/recraft/v3/text-to-image":"Recraft V3 Text to Image","fal-ai/flux-pro/kontext":"Flux Pro Kontext","fal-ai/bytedance/seedream/v3/text-to-image":"Bytedance Seedream V3 Text to Image","dall-e-3":"DALL-E 3","dall-e-2":"DALL-E 2","gemini-3.1-flash-image-preview":"Nano Banana 2","gemini-3-pro-image-preview":"Nano Banana Pro","gemini-2.5-flash-image":"Nano Banana"},settings:{title:"Additional Settings",showMore:"More",showLess:"Less",imageSize:"Image Size",imageSizeHint:"Select the aspect ratio and resolution",numInferenceSteps:"Num Inference Steps",numInferenceStepsHint:"More steps = higher quality but slower",guidanceScale:"Guidance Scale",guidanceScaleHint:"How closely to follow the prompt",seed:"Seed",seedHint:"Use the same seed to reproduce results",random:"random",randomize:"Randomize",promptExtend:"Prompt Extend",promptExtendHint:"AI will enhance and expand your prompt",watermark:"Watermark",watermarkHint:"Add Qwen-Image watermark to the generated image",syncMode:"Sync Mode",syncModeHint:"Return base64 data instead of URL"},errors:{generationFailed:"Image generation failed",invalidPrompt:"Please enter a valid prompt",insufficientCredits:"Insufficient Credits",insufficientCreditsDescription:"You need credits to generate images. Purchase credits to continue.",networkError:"Network error. Please check your connection.",unknownError:"An unknown error occurred"}},video:{metadata:{title:"Claude Certified Architect - AI Video Generation",description:"Generate stunning videos using AI. Powered by fal.ai, Volcengine Seedance, and Aliyun Wanxiang.",keywords:"AI, video generation, text to video, Seedance, Wanxiang, Luma, creative"},title:"AI Video Generation",description:"Generate stunning videos from text prompts using multiple AI providers",defaultPrompt:"A cat jumps directly from someone's lap onto the sofa",prompt:"Prompt",model:"Model",promptPlaceholder:"Describe the video you want to generate...",generate:"Generate Video",generating:"Generating video...",generatedSuccessfully:"Video generated successfully!",download:"Download Video",result:"Result",idle:"Enter a prompt to generate a video",whatNext:"What would you like to do next?",credits:"Credits",providers:{title:"Provider",fal:"fal.ai",volcengine:"Volcengine",aliyun:"Aliyun Wanxiang"}
18,models:{"kling-video/v2.5-turbo/pro/text-to-video":"Kling 2.5 Turbo Pro (Text to Video)","kling-video/v2.5-turbo/pro/image-to-video":"Kling 2.5 Turbo Pro (Image to Video)","doubao-seedance-1-5-pro-251215":"Doubao Seedance 1.5 Pro","doubao-seedance-1-0-pro-250528":"Doubao Seedance 1.0 Pro","wan2.6-t2v":"Wanxiang 2.6 T2V","wan2.5-t2v-turbo":"Wanxiang 2.5 T2V Turbo","wan2.6-i2v-flash":"Wanxiang 2.6 I2V Flash"},inputMode:{label:"Generation Mode",text:"Text to Video",firstFrame:"First Frame",firstLastFrame:"First + Last Frame",firstLastFrameUnsupported:"Current provider supports first frame only"},frameInput:{title:"Frame Images",hint:"Use URL directly, or upload to Cloudflare R2.",firstFrameUrl:"First Frame URL",lastFrameUrl:"Last Frame URL",upload:"Upload",uploadedToR2:"Frame uploaded to R2",preview:"Image Preview",previewAlt:"First frame preview"},settings:{title:"Additional Settings",videoSize:"Video Size / Aspect Ratio",videoSizePlaceholder:"Select size",videoSizeHint:"Select the resolution or aspect ratio",duration:"Duration (seconds)",durationHint:"Length of the generated video",seed:"Seed",seedHint:"Use the same seed to reproduce results",random:"random",loop:"Loop",loopHint:"Whether the video should loop seamlessly",motionStrength:"Motion Strength",motionStrengthHint:"Controls how much motion appears in the video",promptExtend:"Prompt Extend",promptExtendHint:"AI will enhance and expand your prompt",watermark:"Watermark",watermarkHint:"Add watermark to the generated video"},errors:{generationFailed:"Video generation failed",invalidPrompt:"Please enter a valid prompt",firstFrameRequired:"Please provide a first frame URL",lastFrameRequired:"Please provide a last frame URL",unsupportedImageType:"Only JPEG/JPG/PNG/WEBP/BMP images are supported",imageTooLarge:"Image size must be less than or equal to 10MB",uploadFailed:"Upload failed",unsupportedModeForProvider:"Current provider does not support this generation mode",insufficientCredits:"Insufficient Credits",insufficientCreditsDescription:"You need credits to generate videos. Purchase credits to continue.",networkError:"Network error. Please check your connection.",unknownError:"An unknown error occurred",timeout:"Video generation timed out. Please try again."},resultPanel:{generatingHint:"Video generation may take 1-5 minutes...",videoTagUnsupported:"Your browser does not support the video tag."}}},premiumFeatures:{metadata:{title:"Claude Certified Architect - Premium Features",description:"Explore all the premium features available with your subscription. Access advanced tools, AI assistance, and enhanced functionality.",keywords:"premium, features, advanced, tools, subscription, benefits, enhanced"},title:"Premium Features",description:"Thank you for your subscription! Here are all the premium features you can now access.",loading:"Loading...",subscription:{title:"Your Subscription",description:"Current subscription status and details",status:"Subscription Status",type:"Subscription Type",expiresAt:"Expires At",active:"Active",inactive:"Inactive",lifetime:"Lifetime Member",recurring:"Recurring Subscription"},badges:{lifetime:"Lifetime Member"},demoNotice:{title:"🎯 SaaS Template Demo Page",description:"This is a demo page for testing route protection. Only paying users can access this page, demonstrating how to implement subscription-level access control in your SaaS application."},features:{userManagement:{title:"Advanced User Management",description:"Complete user profile management and custom settings"},aiAssistant:{title:"AI Smart Assistant",description:"Advanced artificial intelligence features to boost productivity"},documentProcessing:{title:"Unlimited Document Processing",description:"Process any number and size of document files"},dataAnalytics:{title:"Detailed Data Analytics",description:"In-depth data analysis and visualization reports"}},actions:{accessFeature:"Access Feature"}},validators:{user:{name:{minLength:"Name must be at least {min} characters",maxLength:"Name must be less than {max} characters"},email:{invalid:"Please enter a valid email address"}
18,image:{invalidUrl:"Please enter a valid URL"},password:{minLength:"Password must be at least {min} characters",maxLength:"Password must be less than {max} characters",mismatch:"Passwords don't match"},countryCode:{required:"Please select country/region"},phoneNumber:{required:"Please enter phone number",invalid:"Invalid phone number format"},verificationCode:{invalidLength:"Verification code must be {length} characters"},id:{required:"User ID is required"},currentPassword:{required:"Current password is required"},confirmPassword:{required:"Please confirm your password"},deleteAccount:{confirmRequired:"You must confirm account deletion"}},blog:{title:{required:"Title is required",maxLength:"Title must be less than {max} characters"},slug:{maxLength:"Slug must be less than {max} characters",invalid:"Slug can only contain lowercase letters, numbers, and hyphens"},excerpt:{maxLength:"Excerpt must be less than {max} characters"},coverImage:{invalidUrl:"Please enter a valid URL for the cover image"},status:{invalid:"Status must be either draft or published"}}},countries:{china:"China",usa:"United States",uk:"United Kingdom",japan:"Japan",korea:"South Korea",singapore:"Singapore",hongkong:"Hong Kong",macau:"Macau",australia:"Australia",france:"France",germany:"Germany",india:"India",malaysia:"Malaysia",thailand:"Thailand"},header:{navigation:{ai:"AI Demo",premiumFeatures:"Premium Features",pricing:"Pricing",upload:"Upload",demos:"Demos",demosDescription:"Explore example features",blog:"Blog",courses:"Courses",studyGuide:"Study Guide",practice:"Practice",flashcards:"Flashcards"},demos:{ai:{title:"AI Chat",description:"LLM chat with extensible design, multi-provider support. Login required."},aiImage:{title:"AI Image Generation",description:"AI image generation with extensible design, multi-provider support. Login required."},aiVideo:{title:"AI Video Generation",description:"AI video generation with extensible design, multi-provider support. Login required."},premium:{title:"Premium Features",description:"Route protection demo. Only paid users can access this page."},upload:{title:"File Upload",description:"File upload with extensible design, multi-provider support. Login required."}},auth:{signIn:"Sign In",getStarted:"Get Started",signOut:"Sign Out"},userMenu:{dashboard:"Dashboard",profile:"Profile",settings:"Settings",personalSettings:"Personal Settings",adminPanel:"Admin Panel"},language:{switchLanguage:"Switch Language",english:"English",chinese:"中文",japanese:"日本語",korean:"한국어",portuguese:"Português (BR)"},mobile:{themeSettings:"Theme Settings",languageSelection:"Language Selection"}},docs:{home:{title:"Claude Certified Architect Docs",subtitle:"Built with Fumadocs",description:"A static site project based on Fumadocs, perfect for documentation, blogs, and static pages.",cta:{docs:"Read Docs",blog:"Visit Blog"}},nav:{docs:"Docs",blog:"Blog"},blog:{title:"Blog",description:"Latest articles and updates from the Claude Certified Architect team",allPosts:"All Posts",previousPage:"← Previous",nextPage:"Next →",back:"← Back to Blog",noPosts:"No posts yet"}},upload:{title:"Upload Files",description:"Upload images to cloud storage",providerTitle:"Storage Provider",providerDescription:"Select your preferred cloud storage provider",providers:{oss:"Alibaba Cloud OSS",ossDescription:"China-optimized storage",s3:"Amazon S3",s3Description:"Global cloud storage",r2:"Cloudflare R2",r2Description:"Zero egress fees",cos:"Tencent Cloud COS",cosDescription:"China cloud storage"},uploadTitle:"Upload Image",uploadDescription:"Drag and drop image or click to browse. Max 1MB.",dragDrop:"Drag & drop file here",orClick:"Or click to browse (max 1MB)",browseFiles:"Browse files",clearAll:"Clear all",uploadedTitle:"Uploaded Files",uploadedDescription:"{count} file(s) uploaded successfully",uploading:"Uploading...",viewFile:"View",uploaded:"Uploaded",errors:{maxFiles:"You can only upload 1 file",imageOnly:"Only image files are allowed",fileTooLarge:"File size must be less than 1MB"}},blog:{metadata:{title:"Claude Certified Architect - Blog",description:"Read the latest articles and updates from the Claude Certified Architect team.",keywords:"blog, articles, updates, Claude Certified Architect, SaaS"}
18,title:"Blog",subtitle:"Latest articles and updates",readMore:"Read More",publishedOn:"Published on",by:"by",noPosts:"No posts yet. Check back soon!",backToBlog:"Back to Blog"},courses:{metadata:{title:"Courses — Claude Certified Architect Prep",description:"Blueprint-aligned courses covering every CCAR-F exam domain, from Claude platform foundations to context engineering.",keywords:"Claude courses, CCAR-F course, Claude Certified Architect training"},title:"Courses",subtitle:"Six courses that build from Claude platform foundations through every exam domain.",startCourse:"Start course",continueCourse:"Continue",modules:"Modules",lessons:"Lessons",viewCourse:"View course",locked:"Exam Pass",free:"Free",estMinutes:"{minutes} min",moduleLabel:"Module",lessonsCount:"{count} lessons",domainLabel:"Domain {number}",empty:"Courses are coming soon."},lesson:{metadata:{title:"Lesson — Claude Certified Architect Prep",description:"A CCAR-F exam-prep lesson.",keywords:"Claude lesson, CCAR-F"},prev:"Previous",next:"Next",markComplete:"Mark as complete",completed:"Completed",backToCourse:"Back to course",estMinutes:"{minutes} min read",inThisModule:"In this module",premiumGate:{title:"This lesson is part of the Exam Pass",description:"Unlock every premium lesson, full mock exams, flashcards, and progress tracking.",cta:"View pricing",signInCta:"Sign in"}},studyGuide:{metadata:{title:"Exam Blueprint & Study Guides — Claude Certified Architect",description:"Free, in-depth study guides for all five CCAR-F exam domains, plus a 12-week study plan and anti-patterns cheatsheet.",keywords:"CCAR-F study guide, Claude exam blueprint, Claude Certified Architect domains"},title:"Exam blueprint & study guides",subtitle:"The official five domains, their weightings, and a free in-depth guide for each.",domains:"Exam domains",weighting:"Weighting",weightOfExam:"{weight}% of the exam",examTips:"Exam tips",antiPatterns:"Anti-patterns",objectives:"What you'll be tested on",relatedLessons:"Related lessons",studyPlan:"12-week study plan",studyPlanDesc:"A week-by-week plan to go from zero to exam-ready.",antiPatternsTitle:"Anti-patterns cheatsheet",antiPatternsDesc:"The wrong answers the exam loves to test — and why they're wrong.",readGuide:"Read guide",backToGuides:"Back to study guides"},scenarios:{metadata:{title:"Scenario Walkthroughs — Claude Certified Architect",description:"Walkthroughs of the six official CCAR-F exam scenarios, plus two bonus practice scenarios.",keywords:"CCAR-F scenarios, Claude exam scenarios"},title:"Scenario walkthroughs",subtitle:"The exam presents 4 scenarios drawn at random from an official bank of 6. Here's how to reason through each — plus two bonus practice scenarios.",walkthrough:"Walkthrough",ofEight:"Scenario {number}",relatedDomains:"Related domains",readWalkthrough:"Read walkthrough",backToScenarios:"Back to scenarios"},practice:{metadata:{title:"Practice Exams & Quizzes — Claude Certified Architect",description:"Full-length timed CCAR-F mock exams, per-domain quizzes, and a free diagnostic — with detailed explanations.",ke
18ywords:"CCAR-F practice exam, Claude mock exam, Claude practice questions"},title:"Practice exams",subtitle:"Realistic, timed, blueprint-weighted practice — then review every answer.",startExam:"Start",resume:"Resume",questionsCount:"{count} questions",timeLimit:"{minutes} min",untimed:"Untimed",examMode:"Full mock exam",quizMode:"Domain quiz",diagnostic:"Free diagnostic",scenario:"Scenario",free:"Free",premium:"Exam Pass",premiumGate:{title:"Full mock exams are part of the Exam Pass",description:"Unlock full-length timed mock exams, the full question bank, and detailed explanations.",cta:"View pricing"},rules:{title:"Before you start",questions:"Questions",time:"Time limit",scoring:"Scoring",scoringValue:"Scaled 100–1000, pass at 720",note:"You can flag questions and review them before submitting."},begin:"Begin exam",signInToSave:"Sign in to save your results.",catalogEmpty:"Practice exams are coming soon."},quiz:{question:"Question",of:"of",next:"Next",previous:"Previous",submit:"Submit",flag:"Flag for review",flagged:"Flagged",timeRemaining:"Time remaining",finishExam:"Finish exam",confirmSubmit:"Submit your exam?",confirmSubmitDesc:"You have {count} unanswered question(s). You can't change answers after submitting.",unanswered:"Unanswered",answered:"Answered",cancel:"Keep going",confirm:"Submit",timeUp:"Time's up — your exam has been submitted.",saving:"Saving…",loadError:"Couldn't load this exam. Please try again."},results:{metadata:{title:"Exam Results — Claude Certified Architect",description:"Your CCAR-F practice exam results.",keywords:"CCAR-F results"},title:"Your results",score:"Score",scaledScore:"Scaled score",passed:"Passed",failed:"Not yet",passingScore:"Passing score: 720",yourScore:"Your score: {score}",byDomain:"Breakdown by domain",correctOf:"{correct} of {total} correct",retake:"Retake",reviewAnswers:"Review answers",backToPractice:"Back to practice",correct:"Correct",incorrect:"Incorrect",yourAnswer:"Your answer",correctAnswer:"Correct answer",explanation:"Explanation",notFound:"Results not found.",completedOn:"Completed {date}"},flashcards:{metadata:{title:"Flashcards — Claude Certified Architect",description:"Spaced-repetition flashcard decks for every CCAR-F exam domain.",keywords:"CCAR-F flashcards, Claude flashcards, spaced repetition"},title:"Flashcards",subtitle:"Lock in the key facts with spaced repetition. One deck per domain, plus a glossary deck.",decks:"Decks",cards:"{count} cards",studyDeck:"Study",flip:"Flip",showAnswer:"Show answer",again:"Again",good:"Good",easy:"Easy",dueToday:"{count} due today",mastered:"Mastered",deckComplete:"Deck complete for today!",noDue:"Nothing due right now — check back later.",premium:"Exam Pass",progressSaved:"Progress saved to your account.",progressLocal:"Progress saved on this device. Sign in to sync."},glossary:{metadata:{title:"Glossary — Claude Certified Architect",description:"Definitions of key terms for the Claude Certified Architect exam.",keywords:"Claude glossary, CCAR-F terms, MCP glossary"},title:"Glossary",subtitle:"Key terms for the CCAR-F exam, cross-linked from the lessons and study guides.",search:"Search terms…",seeAlso:"See also",noResults:"No terms match your search.",backToGlossary:"Back to glossary"},faq:{metadata:{title:"FAQ — Claude Certified Architect Exam Prep",description:"Answers to common questions about the Claude Certified Architect exam and how to prepare.",keywords:"CCAR-F FAQ, Claude certification questions, CCAR-F eligibility, CCAR-F price"},title:"Frequently asked questions",subtitle:"Everything about the exam and how this site helps you prepare.",items:[{q:"What is the Claude Certified Architect – Foundations (CCAR-F) exam?",a:"It is Anthropic's foundational certification for people who design and build systems with Claude — covering agentic architecture, tools and MCP, Claude Code workflows, prompt engineering, and context management. The exam has 60 multiple-choice and multiple-response items grouped under 4 scenarios drawn from an official bank of 6, in 120 minutes, scored on a scaled 100–1000 with a passing score of 720."},{q:"Is it CCAR-F or CCAR-F?",a:"The official exam code is CCAR-F (Exam Guide v1.0, July 2026); CCAR-F was the earlier community shorthand and refers to the same exam. Pearson VUE and Credly use CCAR-F."},{q:"Who is eligible to take the exam?",a:"Only people at Claude Partner Network organizations. You register on the Anthropic Partner Academy with your partner company email (personal addresses are rejected), must be 18 or older, and your government ID name must match your registration. Any company can apply to the Partner Network — the Registered tier is free."}
18,{q:"How much does the exam cost and how long is it valid?",a:"$125 USD per attempt since 2026-06-30 (it was $99 at launch). Select, Preferred and Global Premier partners get 50% off; Global Premier is free through 2026-12-31. The credential is valid for 12 months and is renewed through a free, non-proctored renewal assessment on the Partner Academy."},{q:"What happens if I fail?",a:"You wait 14 days after a first fail, 30 days after a second and 90 days after a third, with at most 4 attempts per exam in any rolling 12 months. The full fee applies to every attempt."},{q:"Is the exam available in my language?",a:"No. The exam and the official prep content are English-only, and browser translation tools are prohibited during the exam. That is why our lessons are in five languages but our mock exams are in English — to train reading speed on the real exam's vocabulary."},{q:"Are there multi-select questions?",a:"Yes. The exam uses multiple-choice and multiple-response items, and each item states how many responses to select. Our practice questions include multiple-response items graded the same way."},{q:"Is this an official Anthropic site?",a:"No. This is an independent study resource. It is not affiliated with, endorsed by, or sponsored by Anthropic. We map our curriculum to the official exam guide and verify it against the date shown on each page."},{q:"What is free and what is paid?",a:"All study guides, the exam blueprint, exam logistics and eligibility, the 12-week study plan, the anti-patterns cheatsheet, scenario walkthroughs, the glossary, and a free diagnostic quiz are free. The Exam Pass unlocks full-length timed mock exams, the full practice question bank with explanations, all flashcard decks, every premium lesson, and progress tracking."},{q:"How many practice questions are there?",a:"The launch question bank has 120+ questions across the five domains, weighted to match the real exam, with more mock exams added over time."},{q:"Which languages does this site support?",a:"English, Japanese (日本語), Korean (한국어), Brazilian Portuguese (Português), and Simplified Chinese (简体中文) for lessons and study guides; mock exams are English-only like the real exam."},{q:"How is the practice exam scored?",a:"Like the real exam: your raw score is mapped to a 100–1000 scale, and 720 is the passing line. After each attempt you get a per-domain breakdown — the same percent-correct-by-domain view the official score report gives you."},{q:"How do I contact support?",a:"Email [email protected]. Include the email you signed in with. Purchase or access problems are fixed the same day."}]},about:{metadata:{title:"About — Claude Certified Architect Exam Prep",description:"About this independent Claude Certified Architect exam-prep resource.",keywords:"about, Claude Certified Architect prep"},title:"About",body:"We build focused, blueprint-aligned preparation for the Claude Certified Architect — Foundations exam. Our courses, study guides, and practice exams are written by practitioners who build production systems with Claude, and every piece of content maps to a specific exam domain so your study time goes where it counts.",missionTitle:"Our mission",mission:"Make it straightforward for any developer or architect to prepare for — and pass — the Claude Certified Architect exam, in their own language.",disclaimerTitle:"Disclaimer",disclaimer:"This is an independent study resource. It is not affiliated with, endorsed by, or sponsored by Anthropic, PBC. Claude and Anthropic are trademarks of Anthropic, PBC. All exam details are based on publicly available information and may change; always confirm current exam details with the official source."},certification:{name:"Claude Certified Architect – Foundations",shortName:"CCAR-F",examFormat:"60 multiple-choice and multiple-response scenario items",questionsLabel:"Questions",questionsValue:"60 items (multiple-choice and multiple-response), 4 scenarios drawn from a bank of 6",timeLimit:"Time limit",timeLimitValue:"120 minutes",passingScore:"Passing score",passingScoreValue:"720 (scaled 100–1000)",validity:"Validity",validityValue:"12 months (free renewal assessment)",cost:"Cost",costValue:"$125 USD (since 2026-06-30)",level:"Level",levelValue:"Foundational"},progress:{tabTitle:"My Progress",tabDescription:"Your exam attempts, lesson completion, and flashcards",title:"Your progress",examAttempts:"Exam attempts",noAttempts:"No attempts yet — take a practice exam to see your scores here.",lessonsCompleted:"Lessons completed",noLessons:"No lessons completed yet.",flashcardsTitle:"Flashcards",cardsDue:"{count} due",cardsMastered:"{count} mastered",attempt:"Attempt",score:"Score",passed:"Passed",failed:"Not passed",date:"Date",completedLabel:"{count}
18 completed",signInPrompt:"Sign in to track your progress across devices.",loading:"Loading…"},courseUx:Ur.en,examInfo:wn.en,quizUx:Mr.en},Fw={common:{welcome:"欢迎使用 Claude Certified Architect",siteName:"Claude Certified Architect",login:"登录",signup:"注册",logout:"退出登录",profile:"个人资料",settings:"设置",and:"和",loading:"加载中...",unexpectedError:"发生了意外错误",notAvailable:"不可用",viewPlans:"查看计划",yes:"是",no:"否",theme:{light:"浅色主题",dark:"深色主题",system:"系统主题",toggle:"切换主题",appearance:"外观设置",colorScheme:"配色方案",themes:{default:"默认主题",claude:"Claude主题","cosmic-night":"宇宙之夜","modern-minimal":"现代简约","ocean-breeze":"海洋微风"}}},navigation:{home:"首页",dashboard:"仪表盘",orders:"订单",shipments:"发货",tracking:"追踪",admin:{dashboard:"仪表盘",users:"用户管理",subscriptions:"订阅管理",orders:"订单管理",credits:"积分管理",application:"应用程序",blog:"博客管理"}},actions:{save:"保存",cancel:"取消",confirm:"确认",delete:"删除",edit:"编辑",tryAgain:"重试",createAccount:"创建账户",sendCode:"发送验证码",verify:"验证",backToList:"返回用户列表",saveChanges:"保存更改",createUser:"创建用户",deleteUser:"删除用户",back:"返回",resendCode:"重新发送",resendVerificationEmail:"重新发送验证邮件",upload:"上传",previous:"上一页",next:"下一页",createPost:"新建文章",deletePost:"删除文章",backToBlog:"返回博客"},email:{verification:{subject:"验证您的 Claude Certified Architect 账号",title:"请验证您的邮箱地址",greeting:"您好 {{name}},",message:"感谢您注册 Claude Certified Architect。要完成注册,请点击下方按钮验证您的电子邮箱地址。",button:"验证邮箱地址",alternativeText:"或者,您可以复制并粘贴以下链接到浏览器中:",expiry:"此链接将在 {{expiry_hours}} 小时后过期。",disclaimer:"如果您没有请求此验证,请忽略此邮件。",signature:"祝您使用愉快,Claude Certified Architect 团队",copyright:"© {{year}} Claude Certified Architect. 保留所有权利。"},resetPassword:{subject:"重置您的 Claude Certified Architect 密码",title:"重置您的密码",greeting:"您好 {{name}},",message:"我们收到了重置您密码的请求。请点击下方按钮创建新密码。如果您没有提出此请求,可以安全地忽略此邮件。",button:"重置密码",alternativeText:"或者,您可以复制并粘贴以下链接到浏览器中:",expiry:"此链接将在 {{expiry_hours}} 小时后过期。",disclaimer:"如果您没有请求重置密码,无需进行任何操作。",signature:"祝您使用愉快,Claude Certified Architect 团队",copyright:"© {{year}} Claude Certified Architect. 保留所有权利。"}},auth:{metadata:{signin:{title:"Claude Certified Architect - 登录",description:"登录您的 Claude Certified Architect 账户,访问仪表板、管理订阅并使用高级功能。",keywords:"登录, 账户登录, 身份验证, 访问账户, 仪表板"},signup:{title:"Claude Certified Architect - 创建账户",description:"创建您的 Claude Certified Architect 账户,开始使用我们全面的脚手架构建出色的 SaaS 应用程序。",keywords:"注册, 创建账户, 新用户, 开始使用, 账户注册"},forgotPassword:{title:"Claude Certified Architect - 重置密码",description:"安全地重置您的 Claude Certified Architect 账户密码。输入您的邮箱以接收密码重置说明。",keywords:"忘记密码, 重置密码, 密码恢复, 账户恢复"},resetPassword:{title:"Claude Certified Architect - 创建新密码",description:"为您的 Claude Certified Architect 账户创建新的安全密码。选择强密码来保护您的账户。",keywords:"新密码, 密码重置, 安全密码, 账户安全"},phone:{title:"Claude Certified Architect - 手机登录",description:"使用手机号登录 Claude Certified Architect。通过短信验证进行快速安全的身份验证。",keywords:"手机登录, 短信验证, 移动端认证, 手机号码"},wechat:{title:"Claude Certified Architect - 微信登录",description:"使用微信账户登录 Claude Certified Architect。为中国用户提供便捷的身份验证。",keywords:"微信登录, WeChat登录, 社交登录, 中国认证"}},signin:{title:"登录您的账户",welcomeBack:"欢迎回来",socialLogin:"使用您喜欢的社交账号登录",continueWith:"或继续使用",email:"邮箱",emailPlaceholder:"请输入邮箱地址",password:"密码",forgotPassword:"忘记密码?",rememberMe:"记住我",submit:"登录",submitting:"登录中...",noAccount:"还没有账户?",signupLink:"注册",termsNotice:"点击继续即表示您同意我们的",termsOfService:"服务条款",privacyPolicy:"隐私政策",socialProviders:{google:"Google",github:"GitHub",apple:"Apple",wechat:"微信",phone:"手机号码"},errors:{invalidEmail:"请输入有效的邮箱地址",requiredEmail:"请输入邮箱",requiredPassword:"请输入密码",invali
18dCredentials:"邮箱或密码错误",captchaRequired:"请完成验证码验证",emailNotVerified:{title:"需要邮箱验证",description:"请检查您的邮箱并点击验证链接。如果您没有收到邮件,可以点击下方按钮重新发送。",resendSuccess:"验证邮件已重新发送,请检查您的邮箱。",resendError:"重发验证邮件失败,请稍后重试。",dialogTitle:"重新发送验证邮件",dialogDescription:"请完成验证码验证后重新发送验证邮件",emailLabel:"邮箱地址",sendButton:"发送验证邮件",sendingButton:"发送中...",waitButton:"等待 {seconds}s"}}},signup:{title:"注册 Claude Certified Architect",createAccount:"创建账户",socialSignup:"使用您喜欢的社交账号注册",continueWith:"或继续使用",name:"姓名",namePlaceholder:"请输入您的姓名",email:"邮箱",emailPlaceholder:"请输入邮箱地址",password:"密码",passwordPlaceholder:"创建密码",imageUrl:"头像图片链接",imageUrlPlaceholder:"https://example.com/your-image.jpg",optional:"可选",submit:"创建账户",submitting:"创建账户中...",haveAccount:"已有账户?",signinLink:"登录",termsNotice:"点击继续即表示您同意我们的",termsOfService:"服务条款",privacyPolicy:"隐私政策",verification:{title:"需要验证",sent:"我们已经发送验证邮件到",checkSpam:"找不到邮件?请检查垃圾邮件文件夹。",spamInstruction:"如果仍然没有收到,"},errors:{invalidName:"请输入有效的姓名",requiredName:"请输入姓名",invalidEmail:"请输入有效的邮箱地址",requiredEmail:"请输入邮箱",invalidPassword:"请输入有效的密码",requiredPassword:"请输入密码",invalidImage:"请输入有效的图片链接",captchaRequired:"请完成验证码验证",captchaError:"验证码验证失败,请重试",captchaExpired:"验证码已过期,请重新验证"}},phone:{title:"手机号登录",description:"输入您的手机号以接收验证码",phoneNumber:"手机号",phoneNumberPlaceholder:"请输入您的手机号",countryCode:"国家/地区",verificationCode:"验证码",enterCode:"输入验证码",sendingCode:"发送验证码中...",verifying:"验证中...",codeSentTo:"已发送验证码到",resendIn:"重新发送",seconds:"秒",resendCode:"重新发送",resendCountdown:"秒后可重新发送",termsNotice:"点击继续即表示您同意我们的",termsOfService:"服务条款",privacyPolicy:"隐私政策",errors:{invalidPhone:"请输入有效的手机号",requiredPhone:"请输入手机号",requiredCountryCode:"请选择国家/地区",invalidCode:"请输入有效的验证码",requiredCode:"请输入验证码",captchaRequired:"请完成验证码验证"}},forgetPassword:{title:"忘记密码",description:"重置密码并重新获得账户访问权限",email:"邮箱",emailPlaceholder:"请输入邮箱地址",submit:"发送重置链接",submitting:"发送中...",termsNotice:"点击继续即表示您同意我们的",termsOfService:"服务条款",privacyPolicy:"隐私政策",verification:{title:"检查您的邮箱",sent:"我们已经发送重置密码链接到",checkSpam:"找不到邮件?请检查垃圾邮件文件夹。"},errors:{invalidEmail:"请输入有效的邮箱地址",requiredEmail:"请输入邮箱",captchaRequired:"请完成验证码验证"}},resetPassword:{title:"重置密码",description:"为您的账户创建新密码",password:"新密码",passwordPlaceholder:"请输入新密码",confirmPassword:"确认密码",confirmPasswordPlaceholder:"请再次输入新密码",submit:"重置密码",submitting:"重置中...",success:{title:"密码重置成功",description:"您的密码已经成功重置。",backToSignin:"返回登录",goToSignIn:"返回登录"},errors:{invalidPassword:"密码长度至少为8个字符",requiredPassword:"请输入密码",passwordsDontMatch:"两次输入的密码不一致",invalidToken:"重置链接无效或已过期,请重试。"}},wechat:{title:"微信登录",description:"使用微信扫码登录",scanQRCode:"请使用微信扫描二维码",orUseOtherMethods:"或使用其他登录方式",loadingQRCode:"加载二维码中...",termsNotice:"点击继续即表示您同意我们的",termsOfService:"服务条款",privacyPolicy:"隐私政策",errors:{loadingFailed:"微信二维码加载失败",networkError:"网络错误,请重试"}},authErrors:{USER_NOT_FOUND:"未找到该邮箱对应的账户",USER_ALREADY_EXISTS:"该邮箱已被注册",USER_ALREADY_EXISTS_USE_ANOTHER_EMAIL:"用户已存在,请使用其他邮箱",USER_EMAIL_NOT_FOUND:"未找到用户邮箱",FAILED_TO_CREATE_USER:"创建用户失败",FAILED_TO_UPDATE_USER:"更新用户失败",INVALID_EMAIL:"邮箱地址无效",INVALID_PASSWORD:"密码无效",INVALID_EMAIL_OR_PASSWORD:"邮箱或密码错误",INVALID_CREDENTIALS:"提供的凭据无效",INVALID_TOKEN:"无效或已过期的令牌",PASSWORD_TOO_SHORT:"密码过短",PASSWORD_TOO_LONG:"密码过长",EMAIL_NOT_VERIFIED:"请先验证您的邮箱地址",EMAIL_ALREADY_VERIFIED:"邮箱已验证",EMAIL_MISMATCH:"邮箱不匹配",EMAIL_CAN_NOT_BE_UPDATED:"邮箱无法更新",VERIFICATION_EMAIL_NOT_ENABLED:"验证邮件功能未启用",SESSION_EXPIRED:"您的会话已过期,请重新登录",SESSION_NOT_FRESH:"会话不是最新的,请重新认证",FAILED_TO_CREATE_SESSION:"创建会话失败",FAILED_TO_GET_SESSION:"获取会话失败",ACCOUNT_NOT_FOUND:"账户未找到",ACCOUNT_BLOCKED:"您的账户已被临时冻ç
18»“",CREDENTIAL_ACCOUNT_NOT_FOUND:"凭证账户未找到",SOCIAL_ACCOUNT_ALREADY_LINKED:"社交账户已关联",LINKED_ACCOUNT_ALREADY_EXISTS:"关联账户已存在",FAILED_TO_UNLINK_LAST_ACCOUNT:"无法解除最后一个账户的关联",USER_ALREADY_HAS_PASSWORD:"用户已设置密码",PHONE_NUMBER_ALREADY_EXISTS:"该手机号已被注册",INVALID_PHONE_NUMBER:"手机号格式无效",OTP_EXPIRED:"验证码已过期",INVALID_OTP:"验证码错误",OTP_TOO_MANY_ATTEMPTS:"验证尝试次数过多,请重新获取验证码",PROVIDER_NOT_FOUND:"提供商未找到",ID_TOKEN_NOT_SUPPORTED:"不支持 ID Token",FAILED_TO_GET_USER_INFO:"获取用户信息失败",CAPTCHA_REQUIRED:"请完成验证码验证",CAPTCHA_INVALID:"验证码验证失败",TOO_MANY_REQUESTS:"请求过于频繁,请稍后重试",CROSS_SITE_NAVIGATION_LOGIN_BLOCKED:"跨站导航登录被阻止",INVALID_ORIGIN:"无效的来源",MISSING_OR_NULL_ORIGIN:"来源缺失或无效",INVALID_CALLBACK_URL:"无效的回调 URL",INVALID_REDIRECT_URL:"无效的重定向 URL",INVALID_ERROR_CALLBACK_URL:"无效的错误回调 URL",INVALID_
18NEW_USER_CALLBACK_URL:"无效的新用户回调 URL",CALLBACK_URL_REQUIRED:"需要回调 URL",VALIDATION_ERROR:"验证错误",MISSING_FIELD:"缺少必填字段",FIELD_NOT_ALLOWED:"不允许的字段",ASYNC_VALIDATION_NOT_SUPPORTED:"不支持异步验证",FAILED_TO_CREATE_VERIFICATION:"创建验证失败",EMAIL_SEND_FAILED:"邮件发送失败,请稍后重试",SMS_SEND_FAILED:"短信发送失败,请稍后重试",UNKNOWN_ERROR:"发生未知错误"}},admin:{metadata:{title:"Claude Certified Architect - 管理后台",description:"全面的管理仪表板,用于管理用户、订阅、订单和系统分析,为您的SaaS应用提供强大的管理功能。",keywords:"管理后台, 仪表板, 管理, SaaS, 分析, 用户, 订阅, 订单"},dashboard:{title:"管理员仪表板",accessDenied:"访问被拒绝",noPermission:"您没有权限访问管理员仪表板",lastUpdated:"最后更新",metrics:{totalRevenue:"总收入",totalRevenueDesc:"历史总收入",newCustomers:"本月新客户",newCustomersDesc:"本月新增客户数",newOrders:"本月新订单",newOrdersDesc:"本月新增订单数",fromLastMonth:"较上月"},chart:{monthlyRevenueTrend:"月度收入趋势",revenue:"收入",orders:"订单数"},todayData:{title:"今日数据",revenue:"收入",newUsers:"新用户",orders:"订单数"},monthData:{title:"本月数据",revenue:"本月收入",newUsers:"本月新用户",orders:"本月订单数"},recentOrders:{title:"最近订单",orderId:"订单ID",customer:"客户",plan:"计划",amount:"金额",provider:"支付方式",status:"状态",time:"时间",total:"总计"}},users:{title:"用户管理",subtitle:"管理用户、角色和权限",createUser:"创建用户",editUser:"编辑用户",actions:{addUser:"添加用户",editUser:"编辑用户",deleteUser:"删除用户",banUser:"封禁用户",unbanUser:"解封用户"},table:{columns:{id:"ID",name:"姓名",email:"邮箱",role:"角色",phoneNumber:"手机号",emailVerified:"邮箱验证",banned:"封禁状态",createdAt:"创建时间",updatedAt:"更新时间",actions:"操作"},actions:{editUser:"编辑用户",deleteUser:"删除用户",clickToCopy:"点击复制"},sort:{ascending:"升序排列",descending:"降序排列",none:"取消排序"},noResults:"未找到用户",search:{searchBy:"搜索字段",searchPlaceholder:"搜索 {field}...",filterByRole:"按角色筛选",allRoles:"所有角色",banStatus:"封禁状态",allUsers:"所有用户",bannedUsers:"已封禁",notBannedUsers:"未封禁",view:"视图",toggleColumns:"切换列显示"},pagination:{showing:"显示第 {start} 到 {end} 条,共 {total} 条结果",pageInfo:"第 {current} 页,共 {total} 页"},dialog:{banTitle:"封禁用户",banDescription:"您确定要封禁此用户吗?他们将无法访问应用程序。",banSuccess:"用户封禁成功",unbanSuccess:"用户解封成功",updateRoleSuccess:"用户角色更新成功",updateRoleFailed:"用户角色更新失败"}},banDialog:{title:"封禁用户",description:"您确定要封禁 {userName} 吗?他们将无法访问应用程序。"},unbanDialog:{title:"解封用户",description:"您确定要解封 {userName} 吗?他们将重新获得访问权限。"},form:{title:"用户信息",description:"请在下方输入用户详细信息",labels:{name:"姓名",email:"邮箱",password:"密码",confirmPassword:"确认密码",role:"角色",image:"头像",phoneNumber:"手机号",emailVerified:"邮箱已验证",phoneVerified:"手机已验证",banned:"已封禁",banReason:"封禁原因"},placeholders:{name:"请输入用户姓名",email:"请输入用户邮箱",password:"请输入密码(至少8位)",confirmPassword:"请确认密码",selectRole:"请选择角色",image:"https://example.com/avatar.jpg",phoneNumber:"请输入手机号",banReason:"封禁原因(可选)"},validation:{nameRequired:"姓名不能为空",emailRequired:"邮箱不能为空",emailInvalid:"请输入有效的邮箱地址",passwordRequired:"密码不能为空",passwordMinLength:"密码至少需要8位字符",passwordMismatch:"两次输入的密码不一致",roleRequired:"请选择角色"}},deleteDialog:{title:"删除用户",description:"您确定要删除此用户吗?此操作无法撤销ï¼
18Œå°†æ°¸ä¹…删除用户账户和所有相关数据。"},messages:{createSuccess:"用户创建成功",updateSuccess:"用户更新成功",deleteSuccess:"用户删除成功",fetchError:"获取用户信息失败",operationFailed:"操作失败",deleteError:"删除用户失败"}},orders:{title:"订单管理",actions:{createOrder:"创建订单"},messages:{fetchError:"加载订单失败,请重试。"},table:{noResults:"未找到订单。",search:{searchBy:"搜索条件...",searchPlaceholder:"按{field}搜索...",filterByStatus:"按状态筛选",allStatus:"所有状态",filterByProvider:"支付方式",allProviders:"所有支付方式",pending:"待支付",paid:"已支付",failed:"支付失败",refunded:"已退款",canceled:"已取消",stripe:"Stripe",wechat:"微信支付",creem:"Creem",alipay:"支付宝",dodo:"Dodo Payments"},columns:{id:"订单ID",user:"用户",amount:"金额",plan:"计划",status:"状态",provider:"支付方式",providerOrderId:"支付平台订单ID",createdAt:"创建时间",actions:"操作"},actions:{viewOrder:"查看订单",refundOrder:"退款",openMenu:"打开菜单",actions:"操作",clickToCopy:"点击复制"},sort:{ascending:"升序排列",descending:"降序排列",none:"取消排序"}},status:{pending:"待支付",paid:"已支付",failed:"支付失败",refunded:"已退款",canceled:"已取消"}},blog:{title:"博客管理",subtitle:"创建和管理博客文章",createPost:"创建文章",editPost:"编辑文章",actions:{newPost:"新建文章"},messages:{fetchError:"加载博客文章失败,请重试。",createSuccess:"文章创建成功",updateSuccess:"文章更新成功",deleteSuccess:"文章删除成功",deleteError:"删除文章失败",operationFailed:"操作失败",uploadSuccess:"上传成功",uploadError:"上传失败"},table:{noResults:"未找到文章。",search:{searchPlaceholder:"按标题搜索...",filterByStatus:"按状态筛选",allStatus:"所有状态",draft:"草稿",published:"已发布"},columns:{title:"标题",status:"状态",author:"作者",publishedAt:"发布时间",createdAt:"创建时间",actions:"操作"},actions:{edit:"编辑",delete:"删除"},sort:{ascending:"升序排列",descending:"降序排列",none:"取消排序"}},form:{title:"文章信息",description:"请在下方输入文章详情",labels:{title:"标题",slug:"URL 别名",excerpt:"摘要",coverImage:"封面图",status:"状态",content:"内容"},placeholders:{title:"请输入文章标题",slug:"URL 友好别名(根据标题自动生成)",excerpt:"文章简要摘要",coverImage:"拖放或点击上传(最大 2MB)",content:"使用 Markdown 编写内容..."}},deleteDialog:{title:"删除文章",description:"您确定要删除此文章吗?此操作无法撤销,将永久删除该文章。"}},credits:{title:"积分交易记录",subtitle:"查看所有用户的积分收入和消耗记录",messages:{fetchError:"加载积分交易记录失败,请重试。"},table:{noResults:"未找到积分交易记录。",search:{searchBy:"搜索条件...",searchPlaceholder:"按{field}搜索...",filterByType:"按类型筛选",allTypes:"所有类型",purchase:"è´­ä¹°",consumption:"消耗",refund:"退款",bonus:"奖励",adjustment:"调整"},columns:{id:"交易ID",user:"用户",type:"类型",amount:"金额",balance:"余额",description:"描述",createdAt:"创建时间",metadata:"元数据"},actions:{clickToCopy:"点击复制",viewDetails:"查看详情"},sort:{ascending:"升序排列",descending:"降序排列",none:"取消排序"},pagination:{showing:"显示第 {start} 到 {end} 条,共 {total} 条结果",pageInfo:"第 {current} 页,共 {total} 页"}},type:{purchase:"è´­ä¹°",consumption:"消耗",refund:"退款",bonus:"奖励",adjustment:"调整"}},subscriptions:{title:"订阅管理",description:"管理用户订阅和账单",actions:{createSubscription:"创建订阅"},messages:{fetchError:"加载订阅失败,请重试。"},table:{showing:"显示第 {from} 到 {to} 项,共 {total} 项结果",noResults:"未找到订阅。",rowsPerPage:"每页行数",page:"第",of:"页,共",view:"查看",toggleColumns:"切换列",goToFirstPage:"转到第一页",goToPreviousPage:"转到上一页",goToNextPage:"转到下一页",goToLastPage:"转到最后一页",search:{searchLabel:"搜索订阅",searchField:"搜索字段",statusLabel:"状态",providerLabel:"提供商",search:"搜索",clear:"清除",allStatuses:"所有状态",allProviders:"所有提供商",stripe:"Stripe",creem:"Creem",wechat:"微信支付",alipay:"支付宝",dodo:"Dodo Payments",userEmail:"用户邮箱",subscriptionId:"订阅ID",userId:"用户ID",planId:"计划ID",stripeSubscriptionId:"Stripe订阅ID",creemSubscriptionId:"Creem订阅ID",dodoSubscriptionId:"Dodo订阅ID",placeholders:{userEmail:"输入用户邮箱...",subscriptionId:"输入订阅ID...",userId:"输入用户ID...",planId:"输入计划ID...",stripeSubscriptionId:"输入Stripe订阅ID...",creemSubscriptionId:"输入Creem订阅ID...",dodoSubscriptionId:"输入Dodo订阅ID...",default:"输入搜索词..."},searchBy:"搜索条件...",searchPlaceholder:"按{field}搜索...",filterByStatus:"按状态筛选",filterByProvider:"按提供商筛选",allStatus:"所有状态",filterByPaymentType:"支付类型",allPaymentTypes:"所有类型",active:"活跃",canceled:"已取消",expired:"已过期",trialing:"试用中",inactive:"未激活",oneTime:"一次性",recurring:"循环订阅"},columns:{id:"订阅ID",user:"客户",plan:"计划",status:"状态",paymentType:"支付类型",provider:"提供商",periodStart:"开始时间",periodEnd:"结束时间",cancelAtPeriodEnd:"将取消",createdAt:"创建时间",updatedAt:"更新时间",metadata:"元数据",period:"周期",actions:"操作"},actions:{openMenu:"打开菜单",actions:"操作",viewSubscription:"查看订阅",cancelSubscription:"取消订阅",clickToCopy:"点击复制"}
18,sort:{ascending:"升序排列",descending:"降序排列",none:"取消排序"}},status:{active:"活跃",trialing:"试用中",canceled:"已取消",cancelled:"已取消",expired:"已过期",inactive:"未激活"},paymentType:{one_time:"一次性",recurring:"循环订阅"}}},pricing:{metadata:{title:"Claude Certified Architect - 定价方案",description:"选择最适合您需求的完美方案。灵活的定价选项包括月度、年度和终身订阅,享受高级功能。",keywords:"定价, 方案, 订阅, 月度, 年度, 终身, 高级, 功能"},title:"定价",subtitle:"选择最适合您的方案",description:"支持传统按时间订阅(月付/年付/终身)与 AI 时代流行的积分模式。订阅无限畅享,或充值积分按需消费。",cta:"立即开始",recommendedBadge:"推荐选择",lifetimeBadge:"一次购买,终身使用",creditsBadge:"积分包",creditsUnit:"积分",tabs:{subscription:"订阅套餐",credits:"积分充值"},features:{securePayment:{title:"多渠道安全支付",description:"支持微信支付、Stripe、Creem 等多种企业级安全支付方式"},flexibleSubscription:{title:"灵活付费模式",description:"传统订阅或 AI 时代积分制,任你选择"},globalCoverage:{title:"全球支付覆盖",description:"多币种和地区支付方式,为全球用户提供便捷支付体验"}},plans:{monthly:{name:"月度订阅",description:"灵活管理,按月付费",duration:"月",features:{所有高级功能:"所有高级功能",优先支持:"优先支持"}},yearly:{name:"年度订阅",description:"年付更优惠",duration:"年",features:{所有高级功能:"所有高级功能",优先支持:"优先支持",两个月免费:"两个月免费"}},lifetime:{name:"终身会员",description:"一次付费,永久使用",duration:"终身",features:{所有高级功能:"所有高级功能",优先支持:"优先支持",终身免费更新:"终身免费更新"}}}},payment:{metadata:{success:{title:"Claude Certified Architect - 支付成功",description:"您的支付已成功处理。感谢您的订阅,欢迎使用我们的高级功能。",keywords:"支付, 成功, 订阅, 确认, 高级功能"},cancel:{title:"Claude Certified Architect - 支付已取消",description:"您的支付已被取消。您可以重新尝试支付或联系我们的客服团队获取帮助。",keywords:"支付, 取消, 重试, 客服, 订阅"}},result:{success:{title:"支付成功",description:"您的支付已成功处理。",support:"仍有内容被锁定或与预期不符?请发邮件至 {email},我们会尽快处理。",actions:{viewSubscription:"查看订阅",backToHome:"返回首页"}},cancel:{title:"支付已取消",description:"您的支付已被取消。",actions:{tryAgain:"重试",contactSupport:"联系客服",backToHome:"返回首页"}},failed:"支付失败,请重试"},steps:{initiate:"初始化",initiateDesc:"准备支付",scan:"扫码",scanDesc:"请扫描二维码",pay:"支付",payDesc:"确认支付"},scanQrCode:"请使用微信扫描二维码完成支付",confirmCancel:"您的支付尚未完成,确定要取消吗?",orderCanceled:"您的订单已取消"},subscription:{metadata:{title:"Claude Certified Architect - 我的订阅",description:"在您的订阅仪表板中管理订阅计划、查看账单历史和更新付款方式。",keywords:"订阅, 账单, 支付, 计划, 管理, 仪表板"},title:"我的订阅",overview:{title:"订阅概览",planType:"计划类型",status:"状态",active:"已激活",startDate:"开始日期",endDate:"结束日期",progress:"订阅进度"},management:{title:"订阅管理",description:"通过客户门户管理您的订阅、查看账单历史和更新付款方式。",manageSubscription:"管理订阅",changePlan:"更改计划",redirecting:"正在跳转..."},noSubscription:{title:"未找到有效订阅",description:"您当前没有活跃的订阅计划。",viewPlans:"查看订阅计划"}},dashboard:{metadata:{title:"Claude Certified Architect - 仪表盘",description:"在您的个性化仪表盘中管理账户、订阅和个人资料设置。",keywords:"仪表盘, 账户, 个人资料, 订阅, 设置, 管理"},title:"仪表盘",description:"管理您的账户和订阅",profile:{title:"个人信息",noNameSet:"未设置姓名",role:"角色:",emailVerified:"邮箱已验证",editProfile:"编辑个人资料",updateProfile:"更新个人资料",cancel:"取消",form:{labels:{name:"姓名",email:"邮箱地址",image:"头像图片链接"},placeholders:{name:"请输入您的姓名",email:"邮箱地址",image:"https://example.com/your-image.jpg"},emailReadonly:"邮箱地址无法修改",imageDescription:"可选:输入您的头像图片链接"},updateSuccess:"个人资料更新成功",updateError:"更新个人资料失败,请重试"},subscription:{title:"订阅状态",status:{lifetime:"终身会员",active:"有效",canceled:"已取消",cancelAtPeriodEnd:"期末取消",pastDue:"逾期",unknown:"未知",noSubscription:"无订阅"}
18,paymentType:{recurring:"循环订阅",oneTime:"一次性"},lifetimeAccess:"您拥有终身访问权限",expires:"到期时间:",cancelingNote:"您的订阅将不会续订,并将在以下时间结束:",noActiveSubscription:"您当前没有有效的订阅",manageSubscription:"管理订阅",viewPlans:"查看套餐"},credits:{title:"积分余额",available:"可用积分",totalPurchased:"累计获得",totalConsumed:"累计消耗",recentTransactions:"最近交易",buyMore:"购买更多积分",types:{purchase:"充值",bonus:"赠送",consumption:"消耗",refund:"退款",adjustment:"调整"},descriptions:{ai_chat:"AI 对话",ai_image_generation:"AI 图像生成",ai_video_generation:"AI 视频生成",image_generation:"图片生成",document_processing:"文档处理",purchase:"积分充值",bonus:"赠送积分",refund:"积分退款",adjustment:"管理员调整"},table:{type:"类型",description:"描述",amount:"数量",time:"时间"}},account:{title:"账户信息",memberSince:"注册时间",phoneNumber:"手机号码"},orders:{title:"订单历史",status:{pending:"待支付",paid:"已支付",failed:"支付失败",refunded:"已退款",canceled:"已取消"},provider:{stripe:"Stripe",wechat:"微信支付",creem:"Creem",alipay:"支付宝",dodo:"Dodo Payments"},noOrders:"没有找到订单",noOrdersDescription:"您还没有下过任何订单",viewAllOrders:"查看所有订单",orderDetails:{orderId:"订单ID",amount:"金额",plan:"计划",status:"状态",provider:"支付方式",createdAt:"创建时间"},recent:{title:"最近订单",showingRecent:"显示最近 {count} 个订单"},page:{title:"所有订单",description:"查看和管理您的所有订单",backToDashboard:"返回仪表盘",totalOrders:"共 {count} 个订单"}},linkedAccounts:{title:"关联账户",connected:"已连接",connectedAt:"关联时间:",noLinkedAccounts:"暂无关联账户",providers:{credential:"邮箱密码",google:"Google",github:"GitHub",facebook:"Facebook",apple:"Apple",discord:"Discord",wechat:"微信","phone-number":"手机号"}},tabs:{profile:{title:"个人资料",description:"管理您的个人信息和头像"},account:{title:"账户管理",description:"密码修改、关联账户和账户安全"},security:{title:"安全设置",description:"密码和安全设置"},subscription:{description:"管理您的订阅计划和付费功能"},credits:{title:"积分",description:"查看积分余额和交易记录"},orders:{description:"查看您的订单历史和交易记录"},content:{profile:{title:"个人资料",subtitle:"这是您在网站上向其他人å
18±•示的信息。",username:{label:"用户名",value:"shadcn",description:"这是您的公开显示名称。可以是您的真实姓名或昵称。您只能每30天更改一次。"},email:{label:"邮箱",placeholder:"选择要显示的已验证邮箱",description:"您可以在邮箱设置中管理已验证的邮箱地址。"}},account:{title:"账户设置",subtitle:"管理您的账户设置和偏好。",placeholder:"账户设置内容..."},security:{title:"安全设置",subtitle:"管理您的密码和安全设置。",placeholder:"安全设置内容..."}}},quickActions:{title:"快速操作",editProfile:"编辑资料",accountSettings:"账户设置",subscriptionDetails:"订阅详情",getSupport:"获取帮助",viewDocumentation:"查看文档"},accountManagement:{title:"账户管理",changePassword:{title:"更改密码",description:"更新您的账户密码",oauthDescription:"社交登录账户无法更改密码",button:"更改密码",dialogDescription:"请输入您当前的密码并选择新密码",form:{currentPassword:"当前密码",currentPasswordPlaceholder:"请输入当前密码",newPassword:"新密码",newPasswordPlaceholder:"请输入新密码(至少8个字符)",confirmPassword:"确认新密码",confirmPasswordPlaceholder:"请再次输入新密码",cancel:"取消",submit:"更新密码"},success:"密码更新成功",errors:{required:"请填写所有必填字段",mismatch:"两次输入的新密码不一致",minLength:"密码长度至少为8个字符",failed:"密码更新失败,请重试"}},deleteAccount:{title:"删除账户",description:"永久删除您的账户及所有相关数据",button:"删除账户",confirmTitle:"删除账户",confirmDescription:"您确定要删除您的账户吗?",warning:"⚠️ 此操作无法撤销",consequences:{data:"您的所有个人数据将被永久删除",subscriptions:"活跃订阅将被取消",access:"您将失去所有高级功能的访问权限"},form:{cancel:"取消",confirm:"是的,删除我的账户"},success:"账户删除成功",errors:{failed:"删除账户失败,请重试"}}},roles:{admin:"管理员",user:"普通用户"}},premiumFeatures:{metadata:{title:"Claude Certified Architect - 高级功能",description:"探索您的订阅包含的所有高级功能。访问高级工具、AI 助手和增强功能。",keywords:"高级功能, 功能, 高级, 工具, 订阅, 权益, 增强"},title:"高级功能",description:"感谢您的订阅!以下是您现在可以使用的所有高级功能。",loading:"加载中...",subscription:{title:"您的订阅",description:"当前订阅状态和详细信息",status:"订阅状态",type:"订阅类型",expiresAt:"到期时间",active:"已激活",inactive:"未激活",lifetime:"终身会员",recurring:"周期性订阅"},badges:{lifetime:"终身会员"},demoNotice:{title:"🎯 SaaS 模板演示页面",description:"这是一个用于测试路由保护的演示页面。只有付费用户才能访问此页面,展示了如何在您的 SaaS 应用中实现订阅级别的访问控制。"},features:{userManagement:{title:"高级用户管理",description:"完整的用户档案管理和自定义设置"},aiAssistant:{title:"AI 智能助手",description:"先进的人工智能功能,提升工作效率"},documentProcessing:{title:"无限文档处理",description:"处理任意数量和大小的文档文件"},dataAnalytics:{title:"详细数据分析",description:"深入的数据分析和可视化报表"}},actions:{accessFeature:"访问功能"}},ai:{metadata:{title:"Claude Certified Architect - AI 助手",description:"与强大的 AI 模型互动,包括 GPT-4、通义千问和 DeepSeek。获得编程、写作和问题解决的 AI 帮助。",keywords:"AI, 助手, 聊天机器人, GPT-4, 人工智能, 机器学习, 对话"},chat:{title:"AI 助手",description:"一个大模型对话简单实现,可扩展设计,使用了最新的技术 ai-sdk / ai-elements / streamdown 实现非常丝滑的聊天效果,可以按需求扩展为更复杂的功能",placeholder:"需要我帮什么忙?",sending:"发送中...",thinking:"AI 正在思考...",noMessages:"开始与 AI 助手对话",welcomeMessage:"你好!我是你的 AI 助手。今天我能为你做些什么?",toolCall:"工具调用",providers:{title:"AI 提供商",openai:"OpenAI",qwen:"通义千问",deepseek:"DeepSeek"},models:{"gpt-5":"GPT-5","gpt-5-codex":"GPT-5 Codex","gpt-5-pro":"GPT-5 Pro","qwen-max":"通义千问-Max","qwen-plus":"通义千问-Plus","qwen-turbo":"通义千问-Turbo","deepseek-chat":"DeepSeek 对话","deepseek-coder":"DeepSeek 编程"},actions:{send:"发送",copy:"复制",copied:"已复制!",retry:"重试",dismiss:"关闭",newChat:"新对话",clearHistory:"清空历史"}
18,errors:{failedToSend:"发送消息失败,请重试。",networkError:"网络错误,请检查网络连接。",invalidResponse:"AI 响应无效,请重试。",rateLimited:"请求过于频繁,请稍后再试。",subscriptionRequired:"AI 功能需要有效订阅",subscriptionRequiredDescription:"升级到付费计划以使用 AI 聊天功能",insufficientCredits:"积分不足",insufficientCreditsDescription:"使用 AI 聊天需要积分或订阅,请购买积分以继续使用。"},history:{title:"聊天记录",empty:"暂无聊天记录",today:"今天",yesterday:"昨天",thisWeek:"本周",older:"更早"}},image:{metadata:{title:"Claude Certified Architect - AI 图像生成",description:"使用 AI 生成精美图像。支持通义千问图像、fal.ai Flux、OpenAI DALL-E 和 Google Gemini。",keywords:"AI, 图像生成, DALL-E, Flux, 通义千问, Gemini, 文生图, 艺术, 创意"},title:"AI 图像生成",description:"使用多种 AI 提供商从文本提示生成精美图像",defaultPrompt:"一只黄色拉布拉多带着黑色金色圆墨镜在成都的场馆和两只黄白猫喝茶",prompt:"提示词",promptPlaceholder:"描述您想要生成的图像...",negativePrompt:"负面提示词",negativePromptPlaceholder:"描述您不希望在图像中出现的内容...",negativePromptHint:"描述需要避免在生成图像中出现的元素",generate:"生成",generating:"生成中...",generatedSuccessfully:"图像生成成功!",download:"下载",result:"结果",idle:"空闲",preview:"预览",json:"JSON",whatNext:"接下来您想做什么?",costInfo:"本次请求将花费",perMegapixel:"每百万像素",credits:"积分",providers:{title:"提供商",qwen:"阿里云百炼",fal:"fal.ai",openai:"OpenAI",gemini:"Google Gemini"},models:{"qwen-image-plus":"通义千问图像 Plus","qwen-image-max":"通义千问图像 Max","fal-ai/qwen-image-2512/lora":"Qwen Image 2512 Lora","fal-ai/nano-banana-pro":"Nano Banana Pro","fal-ai/flux/dev":"Flux Dev","fal-ai/recraft/v3/text-to-image":"Recraft V3 Text to Image","fal-ai/flux-pro/kontext":"Flux Pro Kontext","fal-ai/bytedance/seedream/v3/text-to-image":"Bytedance Seedream V3 Text to Image","dall-e-3":"DALL-E 3","dall-e-2":"DALL-E 2","gemini-3.1-flash-image-preview":"Nano Banana 2","gemini-3-pro-image-preview":"Nano Banana Pro","gemini-2.5-flash-image":"Nano Banana"},settings:{title:"附加设置",showMore:"更多",showLess:"收起",imageSize:"图像尺寸",imageSizeHint:"选择宽高比和分辨率",numInferenceSteps:"推理步数",numInferenceStepsHint:"步数越多质量越高,但速度越慢",guidanceScale:"引导强度",guidanceScaleHint:"控制生成图像与提示词的匹配程度",seed:"种子",seedHint:"使用相同的种子可以复现结果",random:"随机",randomize:"随机生成",promptExtend:"提示词扩展",promptExtendHint:"AI 将增强和扩展您的提示词",watermark:"水印",watermarkHint:"在生成的图像上添加通义千问水印",syncMode:"同步模式",syncModeHint:"返回 base64 数据而非 URL"},errors:{generationFailed:"图像生成失败",invalidPrompt:"请输入有效的提示词",insufficientCredits:"积分不足",insufficientCreditsDescription:"生成图像需要积分,请购买积分以继续。",networkError:"网络错误,请检查您的连接。",unknownError:"发生未知错误"}},video:{metadata:{title:"Claude Certified Architect - AI 视频生成",description:"使用 AI 生成精彩视频。支持 fal.ai、火山引擎 Seedance 和阿里云万象。",keywords:"AI, 视频生成, 文生视频, Seedance, 万象, Luma, 创意"},title:"AI 视频生成",description:"使用多种 AI 提供商从文本提示生成精彩视频",defaultPrompt:"猫猫从腿上直接跳跃到沙发上",prompt:"提示词",model:"模型",promptPlaceholder:"描述您想要生成的视频...",generate:"生成视频",generating:"视频生成中...",generatedSuccessfully:"视频生成成功!",download:"下载视频",result:"结果",idle:"输入提示词以生成视频",whatNext:"接下来您想做什么?",credits:"积分",providers:{title:"提供商",fal:"fal.ai",volcengine:"火山引擎",aliyun:"阿里云万象"}
18,models:{"kling-video/v2.5-turbo/pro/text-to-video":"Kling 2.5 Turbo Pro 文生视频","kling-video/v2.5-turbo/pro/image-to-video":"Kling 2.5 Turbo Pro 图生视频","doubao-seedance-1-5-pro-251215":"豆包 Seedance 1.5 Pro","doubao-seedance-1-0-pro-250528":"豆包 Seedance 1.0 Pro","wan2.6-t2v":"万象 2.6 文生视频","wan2.5-t2v-turbo":"万象 2.5 文生视频 Turbo","wan2.6-i2v-flash":"万象 2.6 图生视频 Flash"},inputMode:{label:"生成模式",text:"文生视频",firstFrame:"首帧",firstLastFrame:"首尾帧",firstLastFrameUnsupported:"当前提供商仅支持首帧"},frameInput:{title:"帧图输入",hint:"可直接填写 URL,或上传到 Cloudflare R2。",firstFrameUrl:"首帧 URL",lastFrameUrl:"尾帧 URL",upload:"上传",uploadedToR2:"帧图已上传到 R2",preview:"图片预览",previewAlt:"首帧预览"},settings:{title:"高级设置",videoSize:"视频尺寸 / 宽高比",videoSizePlaceholder:"选择尺寸",videoSizeHint:"选择分辨率或宽高比",duration:"时长(秒)",durationHint:"生成视频的长度",seed:"种子",seedHint:"使用相同种子可以复现结果",random:"随机",loop:"循环",loopHint:"视频是否无缝循环播放",motionStrength:"运动强度",motionStrengthHint:"控制视频中运动的幅度",promptExtend:"提示词扩展",promptExtendHint:"AI 将自动增强和扩展您的提示词",watermark:"水印",watermarkHint:"在生成的视频上添加水印"},errors:{generationFailed:"视频生成失败",invalidPrompt:"请输入有效的提示词",firstFrameRequired:"请先提供首帧 URL",lastFrameRequired:"请先提供尾帧 URL",unsupportedImageType:"仅支持 JPEG/JPG/PNG/WEBP/BMP 图像",imageTooLarge:"图像大小不能超过 10MB",uploadFailed:"上传失败",unsupportedModeForProvider:"当前提供商不支持此生成模式",insufficientCredits:"积分不足",insufficientCreditsDescription:"生成视频需要积分,请购买积分以继续。",networkError:"网络错误,请检查您的连接。",unknownError:"发生未知错误",timeout:"视频生成超时,请重试。"},resultPanel:{generatingHint:"视频生成通常需要 1-5 分钟...",videoTagUnsupported:"您的浏览器不支持 video 标签。"}}},home:{metadata:{title:"Claude 认证架构师(CCAR-F)备考 — 课程、模拟考试与备考指南",description:"通过与官方考纲对齐的课程、全真计时模拟考试、分领域备考指南和间隔重复记忆卡,助你通过 Claude 认证架构师(基础级 / CCAR-F)考试。支持 5 种语言。",keywords:"Claude 认证架构师, CCAR-F, Claude 认证, Claude 考试, Anthropic 认证, Claude Code 认证, MCP 认证, 模拟考试, CCA-F"},hero:{titlePrefix:"通过 ",titleHighlight:"Claude 认证架构师",titleSuffix:" 考试",subtitle:"围绕官方 CCAR-F 五大考试领域打造:考纲对齐的课程、全真计时模拟考试、分领域备考指南与间隔重复记忆卡。用你的母语备考。",buttons:{purchase:"获取考试通行证",demo:"免费诊断测试"},features:{lifetime:"对齐官方五大领域考纲",earlyBird:"备考指南与诊断测试免费"}},features:{title:"通过 CCAR-F 所需的一切",subtitle:"通过结构化课程掌握全部五大考试领域,再用真实的计时模拟考试检验你的备考成果。",items:[{title:"智能体架构与编排",description:"占比最高的领域(27%):智能体循环与 stop_reason、多智能体拓扑、子智能体上下文隔离、会话管理与任务拆解模式。",className:"col-span-2 row-span-1"},{title:"工具设计与 MCP 集成",description:"领域 2(18%):以工具描述作为选择机制、tool_choice、结构化错误,以及完整的模型上下文协议(MCP)。",className:"col-span-1 row-span-1"},{title:"Claude Code 工作流",description:"领域 3(20%):CLAUDE.md 层级、斜杠命令与 Skills、权限模型,以及无头 CI/CD 用法。",className:"col-span-1 row-span-1"},{title:"提示工程与结构化输出",description:"领域 4(20%):少样本与思维链、基于 JSON Schema 的工具调用、校验重试循环,以及 Message Batches API。",className:"col-span-1 row-span-1"},{title:"上下文管理与可靠性",description:"领域 5(15%):中间遗忘问题、跨上下文边界的草稿区、来源标注、提示缓存与 token 预算。",className:"col-span-1 row-span-1"},{title:"全真计时模拟考试",description:"120 分钟 60 道情景题,按真实考纲加权,并提供分领域得分明细。",className:"col-span-2 row-span-1"},{title:"间隔重复记忆卡",description:"用 Leitner 记忆盒记忆卡牢记每个领域的关键知识点,另含术语表卡组。",className:"col-span-1 row-span-1"},{title:"五种语言",description:"支持英语、日本語、한국어、Português (BR) 与简体中文。",className:"col-span-1 row-span-1"}],techStack:{title:"围绕官方考纲构建",items:["智能体架构","工具与 MCP","Claude Code","提示工程","上下文与可靠性","60 道情景题 · 120 分钟","及格分 ≥ 720"]}}
18,applicationFeatures:{title:"CCA 备考流程",subtitle:"从考纲到证书的清晰路径。",items:[{title:"研读考纲",subtitle:"免费的分领域备考指南",description:"从官方五大领域考纲入手。每个领域都配有免费的深度备考指南,包含考试要点、常见误区,并链接到完整课程章节。",highlights:["5 个加权考试领域","考试要点与误区","12 周备考计划","永久免费"],imageTitle:"考试考纲"},{title:"学习课程",subtitle:"结构化、对齐考纲的章节",description:"六门课程从 Claude 平台基础一路构建到每个考试领域。Markdown 章节、预计阅读时长,以及交叉链接关键术语的术语表。",highlights:["6 门课程:基础 + 每领域各一门","每门课程第 1 模块免费","记录章节完成进度","术语表交叉链接"],imageTitle:"课程与章节"},{title:"模拟考试练习",subtitle:"真实、计时、加权",description:"全真 60 题模拟考试还原真实题型与权重,另有分领域测验和免费诊断测试。每道题都配有详细解析。",highlights:["计时全真模拟考试","分领域测验","详细答案解析","对照 720 及格线的换算计分"],imageTitle:"模拟考试"},{title:"追踪进度",subtitle:"清楚自己是否准备就绪",description:"你的控制台展示答题历史、各领域强弱项与章节完成度,让你自信走进真实考场。",highlights:["答题历史","分领域明细","章节完成度","记忆卡复习到期日"],imageTitle:"进度控制台"}]},stats:{title:"为考试而生",items:{questions:"练习题",domains:"考试领域",languages:"语言",passScore:"换算及格分"}},testimonials:{title:"来自通过考试的考生",items:[{quote:"每次模拟考后的分领域明细精准地指出了我的薄弱环节。最后一周我专攻领域 1,顺利通过。",author:"Priya N.",role:"解决方案架构师"},{quote:"这些备考指南确实比我自己东拼西凑的零散文档好得多,一切都对应到考纲。",author:"Marco S.",role:"AI 工程师"},{quote:"计时模拟让真实考试变得熟悉。那些解析教会了我光看题目学不到的东西。",author:"Daniel K.",role:"资深工程师"}]},finalCta:{title:"准备好考取认证了吗?",subtitle:"从免费诊断测试和备考指南开始。升级到考试通行证,解锁全真模拟考试、全部高级章节、记忆卡与进度追踪。",buttons:{purchase:"获取考试通行证",demo:"开始免费诊断"}},footer:{copyright:"© {year} Claude 认证架构师备考。保留所有权利。",description:"面向 Claude 认证架构师认证的独立备考资源。",disclaimer:"独立学习资源,与 Anthropic 无任何隶属、背书或赞助关系。Claude 与 Anthropic 是 Anthropic, PBC 的商标。",support:"有疑问或权限问题?请发邮件至 {email}"},common:{demoInterface:"预览",techArchitecture:"独立备考,对齐官方考纲",learnMore:"了解更多"}},validators:{user:{name:{minLength:"姓名至少需要{min}个字符",maxLength:"姓名不能超过{max}个字符"},email:{invalid:"请输入有效的邮箱地址"},image:{invalidUrl:"请输入有效的链接地址"},password:{minLength:"密码至少需要{min}个字符",maxLength:"密码不能超过{max}个字符",mismatch:"两次输入的密码不一致"},countryCode:{required:"请选择国家/地区"},phoneNumber:{required:"请输入手机号",invalid:"手机号格式不正确"},verificationCode:{invalidLength:"验证码必须是{length}位数字"},id:{required:"用户ID不能为空"},currentPassword:{required:"请输入当前密码"},confirmPassword:{required:"请确认密码"},deleteAccount:{confirmRequired:"您必须确认删除账户"}},blog:{title:{required:"标题不能为空",maxLength:"标题不能超过 {max} 个字符"},slug:{maxLength:"Slug 不能超过 {max} 个字符",invalid:"Slug 只能包含小写字母、数字和连字符"},excerpt:{maxLength:"摘要不能超过 {max} 个字符"},coverImage:{invalidUrl:"请输入有效的封面图片 URL"},status:{invalid:"状态必须是草稿或已发布"}}},countries:{china:"中国",usa:"美国",uk:"英国",japan:"日本",korea:"韩国",singapore:"新加坡",hongkong:"香港",macau:"澳门",australia:"澳大利亚",france:"法国",germany:"德国",india:"印度",malaysia:"马来西亚",thailand:"泰国"},header:{navigation:{ai:"AI 功能演示",premiumFeatures:"高级会员功能",pricing:"定价",upload:"文件上传",demos:"功能演示",demosDescription:"探索示例功能",blog:"博客",courses:"课程",studyGuide:"备考指南",practice:"模拟练习",flashcards:"记忆卡"},demos:{ai:{title:"AI 对话",description:"大模型对话实现,可扩展设计,支持多个 Provider,需要购买积分使用"}
18,aiImage:{title:"AI 图像生成",description:"AI 图像生成实现,可扩展设计,支持多个 Provider,需要购买积分使用"},aiVideo:{title:"AI 视频生成",description:"AI 视频生成实现,可扩展设计,支持多个 Provider,需要购买积分使用"},premium:{title:"高级会员功能",description:"路由保护演示页面,只有订阅付费用户才能访问此页面"},upload:{title:"文件上传",description:"文件上传实现,可扩展设计,支持多个 Provider,需要登录访问"}},auth:{signIn:"登录",getStarted:"开始使用",signOut:"退出登录"},userMenu:{dashboard:"控制台",profile:"个人资料",settings:"设置",personalSettings:"个人设置",adminPanel:"管理后台"},language:{switchLanguage:"切换语言",english:"English",chinese:"中文",japanese:"日本語",korean:"한국어",portuguese:"Português (BR)"},mobile:{themeSettings:"主题设置",languageSelection:"语言选择"}},docs:{home:{title:"Claude Certified Architect Docs",subtitle:"基于 Fumadocs 构建",description:"基于 Fumadocs 的静态站点项目,适用于文档、博客和静态页面。",cta:{docs:"阅读文档",blog:"访问博客"}},nav:{docs:"文档",blog:"博客"},blog:{title:"博客",description:"来自 Claude Certified Architect 团队的最新文章和动态",allPosts:"所有文章",previousPage:"← 上一页",nextPage:"下一页 →",back:"← 返回博客",noPosts:"暂无文章"}},upload:{title:"上传文件",description:"上传图片到云存储",providerTitle:"存储服务商",providerDescription:"选择您偏好的云存储服务商",providers:{oss:"阿里云 OSS",ossDescription:"国内优化存储",s3:"Amazon S3",s3Description:"全球云存储",r2:"Cloudflare R2",r2Description:"零出口费用",cos:"腾讯云 COS",cosDescription:"国内云存储"},uploadTitle:"上传图片",uploadDescription:"拖拽图片或点击浏览。最大 1MB。",dragDrop:"拖拽文件到这里",orClick:"或点击浏览(最大 1MB)",browseFiles:"浏览文件",clearAll:"清除全部",uploadedTitle:"已上传文件",uploadedDescription:"成功上传 {count} 个文件",uploading:"上传中...",viewFile:"查看",uploaded:"已上传",errors:{maxFiles:"只能上传 1 个文件",imageOnly:"只允许上传图片文件",fileTooLarge:"文件大小必须小于 1MB"}},blog:{metadata:{title:"Claude Certified Architect - 博客",description:"阅读 Claude Certified Architect 团队的最新文章和动态。",keywords:"博客, 文章, 动态, Claude Certified Architect, SaaS"}
18,title:"博客",subtitle:"最新文章和动态",readMore:"阅读更多",publishedOn:"发布于",by:"作者",noPosts:"暂无文章,请稍后再来!",backToBlog:"返回博客"},courses:{metadata:{title:"课程 — Claude 认证架构师备考",description:"与考纲对齐的课程,覆盖每个 CCAR-F 考试领域,从 Claude 平台基础到上下文工程。",keywords:"Claude 课程, CCAR-F 课程, Claude 认证架构师培训"},title:"课程",subtitle:"六门课程,从 Claude 平台基础一路构建到每个考试领域。",startCourse:"开始学习",continueCourse:"继续学习",modules:"模块",lessons:"章节",viewCourse:"查看课程",locked:"考试通行证",free:"免费",estMinutes:"{minutes} 分钟",moduleLabel:"模块",lessonsCount:"{count} 个章节",domainLabel:"领域 {number}",empty:"课程即将上线。"},lesson:{metadata:{title:"章节 — Claude 认证架构师备考",description:"一节 CCAR-F 备考课程。",keywords:"Claude 课程, CCAR-F"},prev:"上一节",next:"下一节",markComplete:"标记为已完成",completed:"已完成",backToCourse:"返回课程",estMinutes:"约 {minutes} 分钟阅读",inThisModule:"本模块内容",premiumGate:{title:"本章节属于考试通行证",description:"解锁全部高级章节、全真模拟考试、记忆卡与进度追踪。",cta:"查看定价",signInCta:"登录"}},studyGuide:{metadata:{title:"考试考纲与备考指南 — Claude 认证架构师",description:"五大 CCAR-F 考试领域的免费深度备考指南,外加 12 周备考计划与常见误区速查表。",keywords:"CCAR-F 备考指南, Claude 考试考纲, Claude 认证架构师领域"},title:"考试考纲与备考指南",subtitle:"官方五大领域、各自权重,以及每个领域的免费深度指南。",domains:"考试领域",weighting:"权重",weightOfExam:"占考试 {weight}%",examTips:"考试要点",antiPatterns:"常见误区",objectives:"考查内容",relatedLessons:"相关章节",studyPlan:"12 周备考计划",studyPlanDesc:"一份从零到考试就绪的逐周计划。",antiPatternsTitle:"常见误区速查表",antiPatternsDesc:"考试最爱考的错误答案——以及它们错在哪里。",readGuide:"阅读指南",backToGuides:"返回备考指南"},scenarios:{metadata:{title:"情景解析 — Claude 认证架构师",description:"六个官方 CCAR-F 考试情景的逐一解析,外加两个加练情景。",keywords:"CCAR-F 情景, Claude 考试情景"},title:"情景解析",subtitle:"考试从官方 6 个情景中随机抽取 4 个。这里逐一讲解每个情景的推理思路——另附两个加练情景。",walkthrough:"解析",ofEight:"情景 {number}",relatedDomains:"相关领域",readWalkthrough:"阅读解析",backToScenarios:"返回情景"},practice:{metadata:{title:"模拟考试与测验 — Claude 认证架构师",description:"全真计时 CCAR-F 模拟考试、分领域测验和免费诊断测试——附详细解析。",keywords:"CCAR-F 模拟考试, Claude 模拟考, Claude 练习题"},title:"模拟考试",subtitle:"真实、计时、按考纲加权的练习——并可回顾每道题。",startExam:"开始",resume:"ç»§ç»­",questionsCount:"{count} 道题",timeLimit:"{minutes} 分钟",untimed:"不计时",examMode:"全真模拟考试",quizMode:"分领域测验",diagnostic:"免费诊断",scenario:"情景",free:"免费",premium:"考试通行证",premiumGate:{title:"全真模拟考试属于考试通行证",description:"解锁全真计时模拟考试、完整题库与详细解析。",cta:"查看定价"},rules:{title:"开始前须知",questions:"题量",time:"时间限制",scoring:"计分",scoringValue:"换算 100–1000 分,720 及格",note:"提交前你可以标记题目并回顾。"},begin:"开始考试",signInToSave:"登录以保存你的成绩。",catalogEmpty:"模拟考试即将上线。"},quiz:{question:"第",of:"/",next:"下一题",previous:"上一题",submit:"提交",flag:"标记待回顾",flagged:"已标记",timeRemaining:"剩余时间",finishExam:"结束考试",confirmSubmit:"确认提交考试?",confirmSubmitDesc:"你还有 {count} 道题未作答。提交后将无法修改答案。",unanswered:"未作答",answered:"已作答",cancel:"继续答题",confirm:"提交",timeUp:"时间到——你的考试已自动提交。",saving:"保存中…",loadError:"无法加载本次考试,请重试。"},results:{metadata:{title:"考试成绩 — Claude 认证架构师",description:"你的 CCAR-F 模拟考试成绩。",keywords:"CCAR-F 成绩"},title:"你的成绩",score:"得分",scaledScore:"换算分",passed:"通过",failed:"尚未通过",passingScore:"及格分:720",yourScore:"你的得分:{score}",byDomain:"分领域明细",correctOf:"答对 {correct} / {total}",retake:"重考",reviewAnswers:"回顾答案",backToPractice:"返回模拟考试",correct:"正确",incorrect:"错误",yourAnswer:"你的答案",correctAnswer:"正确答案",explanation:"解析",notFound:"未找到成绩。",completedOn:"完成于 {date}"},flashcards:{metadata:{title:"记忆卡 — Claude 认证架构师",description:"面向每个 CCAR-F 考试领域的间隔重复记忆卡组。",keywords:"CCAR-F 记忆卡, Claude 记忆卡, 间隔重复"},title:"记忆卡",subtitle:"用间隔重复牢记关键知识点。每个领域一组卡,外加术语表卡组。",decks:"卡组",cards:"{count} 张卡",studyDeck:"学习",flip:"翻面",showAnswer:"显示答案",again:"重来",good:"良好",easy:"简单",dueToday:"今日待复习 {count} å¼ ",mastered:"已掌握",deckComplete:"今日卡组已学完!",noDue:"暂无待复习——稍后再来。",premium:"考试通行证",progressSaved:"进度已保存到你的账户。",progressLocal:"进度已保存在本设备。登录以同步。"},glossary:{metadata:{title:"术语表 — Claude 认证架构师",description:"Claude 认证架构师考试关键术语的定义。",keywords:"Claude 术语表, CCAR-F 术语, MCP 术语"},title:"术语表",subtitle:"CCAR-F 考试的关键术语,从课程与备考指南交叉链接而来。",search:"搜索术语…",seeAlso:"另见",noResults:"没有匹配的术语。",backToGlossary:"返回术语表"},faq:{metadata:{title:"常见问题 — Claude 认证架构师备考",description:"关于 Claude 认证架构师考试及如何备考的常见问题解答。",keywords:"CCAR-F 常见问题, Claude 认证问题, CCAR-F 报考资格, CCAR-F 费用"},title:"常见问题",subtitle:"关于考试以及本站如何助你备考的一切。",items:[{q:"什么是 Claude 认证架构师 – 基础级(CCAR-F)考试?",a:"这是 Anthropic 面向使用 Claude 设计和构建系统人群的基础级认证,涵盖智能体架构、工具与 MCP、Claude Code 工作流、提示工程以及上下文管理。考试共 60 道单选与多选题,归属于从官方 6 个情景中抽取的 4 个情景,时长 120 分钟,按 100–1000 分换算,及格分为 720。"},{q:"是 CCAR-F 还是 CCAR-F?",a:"官方考试代码为 CCAR-F(考试指南 v1.0,2026 å¹´ 7 月);CCAR-F 是早期社区简称,指同一门考试。Pearson VUE 与 Credly 均使用 CCAR-F。"},{q:"谁有资格参加考试?",a:"仅限 Claude 合作伙伴网络成员机构的人员。需使用合作伙伴公司邮箱在 Anthropic Partner Academy 报名(个人邮箱会被拒绝),年满 18 岁,且政府签发证件上的姓名须与报名信息一致。任何公司都可以申请加入合作伙伴网络——Registered 级别免费。"},{q:"考试费用多少?有效期多久?",a:"自 2026-06-30 起每次 $125 美元(上线时为 $99)。Select、Preferred 与 Global Premier 合作伙伴享 5 折;Global Premier 在 2026-12-31 前免费。证书有效期 12 个月,可通过 Partner Academy 上免费、无监考的续期评估续期。"},{q:"没通过怎么办?",a:"首次未通过后等待 14 天,第二次后 30 天,第三次后 90 天;ä
18»»æ„è¿žç»­ 12 个月内每门考试最多 4 次尝试,每次均需支付全额费用。"},{q:"考试有中文版吗?",a:"没有。考试与官方备考内容仅提供英文,考试期间禁止使用浏览器翻译工具。因此我们的课程提供五种语言,但模拟考试使用英文——以便训练在真实考试词汇下的阅读速度。"},{q:"有多选题吗?",a:"有。考试包含单选与多选题,每题会注明需选择几个选项。我们的练习题同样包含多选题,并按相同方式评分。"},{q:"这是 Anthropic 官方网站吗?",a:"不是。这是一个独立的学习资源,与 Anthropic 无任何隶属、背书或赞助关系。我们将课程内容映射到官方考试指南,并按每页所示日期进行核对。"},{q:"哪些免费、哪些收费?",a:"全部备考指南、考试考纲、考试信息与报考资格、12 周备考计划、常见误区速查表、情景解析、术语表以及一次免费诊断测验均为免费。考试通行证解锁全真计时模拟考试、含解析的完整练习题库、全部记忆卡组、全部高级章节以及进度追踪。"},{q:"有多少道练习题?",a:"上线题库在五大领域共有 120+ 道题,按真实考试加权,并会持续增加更多模拟考试。"},{q:"本站支持哪些语言?",a:"课程与备考指南支持英语、日语(日本語)、韩语(한국어)、巴西葡萄牙语(Português)以及简体中文;模拟考试与真实考试一样仅提供英文。"},{q:"模拟考试如何计分?",a:"与真实考试一致:你的原始分会换算到 100–1000 分区间,720 为及格线。每次作答后都会给出分领域明细——与官方成绩报告中的分领域正确率视图相同。"},{q:"如何联系客服?",a:"发邮件至 [email protected],并注明你登录所用的邮箱。购买或权限问题当天处理。"}]},about:{metadata:{title:"关于 — Claude 认证架构师备考",description:"关于这个独立的 Claude 认证架构师备考资源。",keywords:"关于, Claude 认证架构师备考"},title:"关于",body:"我们为 Claude 认证架构师(基础级)考试打造专注、对齐考纲的备考内容。我们的课程、备考指南与模拟考试由在生产环境中使用 Claude 构建系统的实践者撰写,且每一部分内容都对应到某个具体考试领域,让你的学习时间花在刀刃上。",missionTitle:"我们的使命",mission:"让任何开发者或架构师都能用自己的母语,轻松地为 Claude 认证架构师考试做准备并顺利通过。",disclaimerTitle:"免责声明",disclaimer:"这是一个独立的学习资源,与 Anthropic, PBC 无任何隶属、背书或赞助关系。Claude 与 Anthropic 是 Anthropic, PBC 的商标。所有考试信息均基于公开资料,可能发生变化;请始终以官方来源确认最新考试信息。"},certification:{name:"Claude 认证架构师 – 基础级",shortName:"CCAR-F",examFormat:"60 道情景式单选与多选题",questionsLabel:"题量",questionsValue:"60 题(单选与多选),从 6 个官方情景中抽取 4 个",timeLimit:"时间限制",timeLimitValue:"120 分钟",passingScore:"及格分",passingScoreValue:"720(换算 100–1000)",validity:"有效期",validityValue:"12 个月(免费续期评估)",cost:"费用",costValue:"$125 美元(自 2026-06-30 起)",level:"级别",levelValue:"基础级"},progress:{tabTitle:"我的进度",tabDescription:"你的考试记录、章节完成情况与记忆卡",title:"你的进度",examAttempts:"考试记录",noAttempts:"暂无记录——做一次模拟考试,成绩会显示在这里。",lessonsCompleted:"已完成章节",noLessons:"尚未完成任何章节。",flashcardsTitle:"记忆卡",cardsDue:"{count} 张待复习",cardsMastered:"{count} 张已掌握",attempt:"记录",score:"得分",passed:"通过",failed:"未通过",date:"日期",completedLabel:"已完成 {count}",signInPrompt:"登录后即可跨设备同步你的进度。",loading:"加载中…"},courseUx:Ur["zh-CN"],examInfo:wn["zh-CN"],quizUx:Mr["zh-CN"]},Vw={common:{welcome:"Claude Certified Architectへようこそ",siteName:"Claude Certified Architect",login:"ログイン",signup:"新規登録",logout:"ログアウト",profile:"プロフィール",settings:"設定",and:"および",loading:"読み込み中...",unexpectedError:"予期しないエラーが発生しました",notAvailable:"該当なし",viewPlans:"プランを見る",yes:"はい",no:"いいえ",theme:{light:"ライトテーマ",dark:"ダークテーマ",system:"システムテーマ",toggle:"テーマの切り替え",appearance:"外観",colorScheme:"カラースキーム",themes:{default:"デフォルト",claude:"Claude","cosmic-night":"コズミックナイト","modern-minimal":"モダンミニマル","ocean-breeze":"オーシャンブリーズ"}}},navigation:{home:"ホーム",dashboard:"ダッシュボード",orders:"注文履歴",shipments:"発送çŠ
18¶æ³",tracking:"追跡",admin:{dashboard:"ダッシュボード",users:"ユーザー管理",subscriptions:"サブスクリプション",orders:"注文管理",credits:"クレジット",application:"アプリケーション",blog:"ブログ"}},actions:{save:"保存",cancel:"キャンセル",confirm:"確認",delete:"削除",edit:"編集",tryAgain:"再試行",createAccount:"アカウント作成",sendCode:"コードを送信",verify:"検証",backToList:"ユーザー一覧に戻る",saveChanges:"変更を保存",createUser:"ユーザー作成",deleteUser:"ユーザー削除",back:"戻る",resendCode:"コードを再送信",resendVerificationEmail:"認証メールを再送信",upload:"アップロード",previous:"前へ",next:"次へ",createPost:"新規記事作成",deletePost:"記事削除",backToBlog:"ブログに戻る"},email:{verification:{subject:"Claude Certified Architect アカウントの認証",title:"メールアドレスの認証",greeting:"{{name}}様、",message:"Claude Certified Architectにご登録いただきありがとうございます。登録を完了するには、下のボタンをクリックしてメールアドレスを認証してください。",button:"メールアドレスを認証する",alternativeText:"または、以下のリンクをコピーしてブラウザに貼り付けてください:",expiry:"このリンクは{{expiry_hours}}時間後に無効になります。",disclaimer:"この配信に心当たりがない場合は、このメールを無視してください。",signature:"Happy Shipping, The Claude Certified Architect Team",copyright:"© {{year}} Claude Certified Architect. All rights reserved."},resetPassword:{subject:"Claude Certified Architect パスワードの再設定",title:"パスワードの再設定",greeting:"{{name}}様、",message:"パスワード再設定のリクエストを受け付けました。下のボタンをクリックして新しいパスワードを作成してください。このリクエストに心当たりがない場合は、このメールを無視しても安全です。",button:"パスワードを再設定する",alternativeText:"または、以下のリンクをコピーしてブラウザに貼り付けてください:",expiry:"このリンクは{{expiry_hours}}時間後に無効になります。",disclaimer:"パスワードの再設定をリクエストしていない場合、操作は不要です。",signature:"Happy Shipping, The Claude Certified Architect Team",copyright:"© {{year}} Claude Certified Architect. All rights reserved."}},auth:{metadata:{signin:{title:"Claude Certified Architect - サインイン",description:"Claude Certified Architectアカウントにサインインして、ダッシュボードへのアクセス、サブスクリプションの管理、プレミアム機能の利用を行います。",keywords:"サインイン, ログイン, 認証, アカウントアクセス, ダッシュボード"},signup:{title:"Claude Certified Architect - アカウント作成",description:"Claude Certified Architectアカウントを作成して、包括的なスターターキットで素晴らしいSaaSアプリケーションの構築を開始しましょう。",keywords:"新規登録, アカウント作成, 新規ユーザー, 開始する"},forgotPassword:{title:"Claude Certified Architect - パスワード再設定",description:"Claude Certified Architectアカウントのパスワードを安全に再設定します。メールアドレスを入力してパスワード再設定手順を受信してください。",keywords:"パスワードを忘れた, パスワード再設定, パスワード回復, アカウント回復"},resetPassword:{title:"Claude Certified Architect - 新しいパスワードの作成",description:"Claude Certified Architectアカウントの新しい安全なパスワードを作成します。アカウントを保護するために強力なパスワードを選択してください。",keywords:"新しいパスワード, パスワード再設定, 安全なパスワード, アカウントセキュリティ"},phone:{title:"Claude Certified Architect - 電話番号ログイン",description:"電話番号を使用してClaude Certified Architectにサインインã
18—ます。SMS認証による迅速かつ安全な認証。",keywords:"電話番号ログイン, SMS認証, モバイル認証, 電話番号"},wechat:{title:"Claude Certified Architect - WeChatログイン",description:"WeChatアカウントを使用してClaude Certified Architectにサインインします。便利な認証。",keywords:"WeChatログイン, 微信ログイン, ソーシャルログイン, 認証"}},signin:{title:"アカウントにサインイン",welcomeBack:"おかえりなさい",socialLogin:"ソーシャルアカウントでサインイン",continueWith:"または以下で続ける",email:"メールアドレス",emailPlaceholder:"メールアドレスを入力してください",password:"パスワード",forgotPassword:"パスワードをお忘れですか?",rememberMe:"ログイン状態を保持する",submit:"サインイン",submitting:"サインイン中...",noAccount:"アカウントをお持ちでないですか?",signupLink:"新規登録",termsNotice:"続行することで、利用規約およびプライバシーポリシーに同意したものとみなされます",termsOfService:"利用規約",privacyPolicy:"プライバシーポリシー",socialProviders:{google:"Google",github:"GitHub",apple:"Apple",wechat:"WeChat",phone:"電話番号"},errors:{invalidEmail:"有効なメールアドレスを入力してください",requiredEmail:"メールアドレスは必須です",requiredPassword:"パスワードは必須です",invalidCredentials:"メールアドレスまたはパスワードが正しくありません",captchaRequired:"キャプチャ認証を完了してください",emailNotVerified:{title:"メールアドレスの認証が必要です",description:"メールを確認し、認証リンクをクリックしてください。メールが届かない場合は、下のボタンをクリックして再送信してください。",resendSuccess:"認証メールを再送信しました。受信トレイをご確認ください。",resendError:"認証メールの再送信に失敗しました。後ほどもう一度お試しください。",dialogTitle:"認証メールの再送信",dialogDescription:"認証メールを再送信する前に、キャプチャ認証を完了してください",emailLabel:"メールアドレス",sendButton:"認証メールを送信",sendingButton:"送信中...",waitButton:"{seconds}秒お待ちください"}}},signup:{title:"Claude Certified Architectに登録する",createAccount:"アカウントを作成",socialSignup:"ソーシャルアカウントで登録",continueWith:"または以下で続ける",name:"名前",namePlaceholder:"名前を入力してください",email:"メールアドレス",emailPlaceholder:"メールアドレスを入力してください",password:"パスワード",passwordPlaceholder:"パスワードを作成してください",imageUrl:"プロフィール画像のURL",imageUrlPlaceholder:"https://example.com/your-image.jpg",optional:"任意",submit:"アカウント作成",submitting:"アカウント作成中...",haveAccount:"すでにアカウントをお持ちですか?",signinLink:"サインイン",termsNotice:"続行することで、利用規約およびプライバシーポリシーに同意したものとみなされます",termsOfService:"利用規約",privacyPolicy:"プライバシーポリシー",verification:{title:"認証が必要です",sent:"認証メールを以下に送信しました:",checkSpam:"メールが見つからない場合は、迷惑メールフォルダをご確認ください。",spamInstruction:"それでも見つからない場合は、"}
18,errors:{invalidName:"有効な名前を入力してください",requiredName:"名前は必須です",invalidEmail:"有効なメールアドレスを入力してください",requiredEmail:"メールアドレスは必須です",invalidPassword:"有効なパスワードを入力してください",requiredPassword:"パスワードは必須です",invalidImage:"有効な画像URLを入力してください",captchaRequired:"キャプチャ認証を完了してください",captchaError:"キャプチャ認証に失敗しました。もう一度お試しください",captchaExpired:"キャプチャ認証の期限が切れました。もう一度お試しください"}},phone:{title:"電話番号でログイン",description:"電話番号を入力して認証コードを受信してください",phoneNumber:"電話番号",phoneNumberPlaceholder:"電話番号を入力してください",countryCode:"国/地域",verificationCode:"認証コード",enterCode:"認証コードを入力してください",sendingCode:"コードを送信中...",verifying:"検証中...",codeSentTo:"認証コードを以下に送信しました:",resendIn:"再送信まで",seconds:"秒",resendCode:"コードを再送信",resendCountdown:"秒残り",termsNotice:"続行することで、利用規約およびプライバシーポリシーに同意したものとみなされます",termsOfService:"利用規約",privacyPolicy:"プライバシーポリシー",errors:{invalidPhone:"有効な電話番号を入力してください",requiredPhone:"電話番号は必須です",requiredCountryCode:"国/地域を選択してください",invali
18dCode:"有効な認証コードを入力してください",requiredCode:"認証コードは必須です",captchaRequired:"キャプチャ認証を完了してください"}},forgetPassword:{title:"パスワードをお忘れですか?",description:"パスワードを再設定してアカウントへのアクセスを回復します",email:"メールアドレス",emailPlaceholder:"メールアドレスを入力してください",submit:"再設定リンクを送信",submitting:"送信中...",termsNotice:"続行することで、利用規約およびプライバシーポリシーに同意したものとみなされます",termsOfService:"利用規約",privacyPolicy:"プライバシーポリシー",verification:{title:"メールをご確認ください",sent:"パスワード再設定リンクを以下に送信しました:",checkSpam:"メールが見つからない場合は、迷惑メールフォルダをご確認ください。"},errors:{invalidEmail:"有効なメールアドレスを入力してください",requiredEmail:"メールアドレスは必須です",captchaRequired:"キャプチャ認証を完了してください"}},resetPassword:{title:"パスワードの再設定",description:"アカウントの新しいパスワードを作成します",password:"新しいパスワード",passwordPlaceholder:"新しいパスワードを入力してください",confirmPassword:"パスワード(確認)",confirmPasswordPlaceholder:"新しいパスワードをもう一度入力してください",submit:"パスワードを再設定",submitting:"再設定中...",success:{title:"パスワード再設定完了",description:"パスワードが正常に再設定されました。",backToSignin:"サインインに戻る",goToSignIn:"サインインに戻る"},errors:{invalidPassword:"パスワードは8文字以上である必要があります",requiredPassword:"パスワードは必須です",passwordsDontMatch:"パスワードが一致しません",invalidToken:"再設定リンクが無効であるか、期限が切れています。もう一度お試しください。"}},wechat:{title:"WeChatログイン",description:"WeChatでスキャンしてログイン",scanQRCode:"WeChatでQRコードをスキャンしてください",orUseOtherMethods:"または他のログイン方法を使用する",loadingQRCode:"QRコードを読み込み中...",termsNotice:"続行することで、利用規約およびプライバシーポリシーに同意したものとみなされます",termsOfService:"利用規約",privacyPolicy:"プライバシーポリシー",errors:{loadingFailed:"WeChatのQRコードの読み込みに失敗しました",networkError:"ネットワークエラーが発生しました。もう一度お試しください"}},authErrors:{USER_NOT_FOUND:"このメールアドレスのアカウントは見つかりません",USER_ALREADY_EXISTS:"このメールアドレスのユーザーは既に存在します",USER_ALREADY_EXISTS_USE_ANOTHER_EMAIL:"ユーザーは既に存在します。別のメールアドレスを使用してください",USER_EMAIL_NOT_FOUND:"ユーザーのメールアドレスが見つかりません",FAILED_TO_CREATE_USER:"ユーザーの作成に失敗しました",FAILED_TO_UPDATE_USER:"ユーザーの更新に失敗しました",INVALID_EMAIL:"無効なメールアドレスです",INVALID_PASSWORD:"無効なパスワードです",INVALID_EMAIL_OR_PASSWORD:"メールアドレスまたはパスワードが無効です",INVALID_CREDENTIALS:"提供された認証情報が無効です",INVALID_TOKEN:"トークンが無効か、期限が切れています",PASSWORD_TOO_SHORT:"パスワードが短すぎます",PASSWORD_TOO_LONG:"パスワードが長すぎます",EMAIL_NOT_VERIFIED:"メールアドレスを認証してください",EMAIL_ALREADY_VERIFIED:"メールアドレスは既に認証されています",EMAIL_MISMATCH:"メールアドレスが一致しません",EMAIL_CAN_NOT_BE_UPDATED:"メールアドレスは更新できません",VERIFICATION_EMAIL_NOT_ENABLED:"認証メール送信が有効になっていません",SESSION_EXPIRED:"セッションの期限が切れました。もう一度サインインã
18—てください",SESSION_NOT_FRESH:"セッションが最新ではありません。再認証してください",FAILED_TO_CREATE_SESSION:"セッションの作成に失敗しました",FAILED_TO_GET_SESSION:"セッションの取得に失敗しました",ACCOUNT_NOT_FOUND:"アカウントが見つかりません",ACCOUNT_BLOCKED:"アカウントが一時的にブロックされています",CREDENTIAL_ACCOUNT_NOT_FOUND:"認証アカウントが見つかりません",SOCIAL_ACCOUNT_ALREADY_LINKED:"ソーシャルアカウントは既に連携されています",LINKED_ACCOUNT_ALREADY_EXISTS:"連携されたアカウントが既に存在します",FAILED_TO_UNLINK_LAST_ACCOUNT:"最後のアカウントの連携は解除できません",USER_ALREADY_HAS_PASSWORD:"ユーザーは既にパスワードを設定しています",PHONE_NUMBER_ALREADY_EXISTS:"この電話番号は既に登録されています",INVALID_PHONE_NUMBER:"無効な電話番号の形式です",OTP_EXPIRED:"認証コードの期限が切れました",INVALID_OTP:"無効な認証コードです",OTP_TOO_MANY_ATTEMPTS:"認証の試行回数が多すぎます。新しいコードをリクエストしてください",PROVIDER_NOT_FOUND:"プロバイダーが見つかりません",ID_TOKEN_NOT_SUPPORTED:"IDトークンはサポートされていません",FAILED_TO_GET_USER_INFO:"ユーザー情報の取得に失敗しました",CAPTCHA_REQUIRED:"キャプチャ認証を完了してください",CAPTCHA_INVALID:"キャプチャ認証に失敗しました",TOO_MANY_REQUESTS:"リクエストが多すぎます。後ほどもう一度お試しください",CROSS_SITE_NAVIGATION_LOGIN_BLOCKED:"クロスサイトナビゲーションログインがブロックされました",INVALID_ORIGIN:"無効なオリジンです",MISSING_OR_NULL_ORIGIN:"オリジンがありません、または無効です",INVALID_CALLBACK_URL:"無効なコールバックURLです",INVALID_REDIRECT_URL:"無効なリダイレクトURLです",INVALID_ERROR_CALLBACK_URL:"無効なエラーコールバックURLです",INVALID_NEW_USER_CALLBACK_URL:"無効な新規ユーザーコールバックURLです",CALLBACK_URL_REQUIRED:"コールバックURLが必要です",VALIDATION_ERROR:"検証エラー",MISSING_FIELD:"必須フィールドがありません",FIELD_NOT_ALLOWED:"フィールドは許可されていません",ASYNC_VALIDATION_NOT_SUPPORTED:"非同期検証はサポートされていません",FAILED_TO_CREATE_VERIFICATION:"検証の作成に失敗しました",EMAIL_SEND_FAILED:"メールの送信に失敗しました。後ほどもう一度お試しください",SMS_SEND_FAILED:"SMSの送信に失敗しました。後ほどもう一度お試しください",UNKNOWN_ERROR:"予期しないエラーが発生しました"}},admin:{metadata:{title:"Claude Certified Architect - 管理者ダッシュボード",description:"SaaSアプリケーション内のユーザー、サブスクリプション、注文、およびシステム分析を管理するための包括的な管理者ダッシュボード。",keywords:"管理者, ダッシュボード, 管理, SaaS, 分析, ユーザー, サブスクリプション, 注文"},dashboard:{title:"管理者ダッシュボード",accessDenied:"アクセス拒否",noPermission:"管理者ダッシュボードにアクセスする権限がありません",lastUpdated:"最終更新",metrics:{totalRevenue:"総売上",totalRevenueDesc:"全期間の売上",newCustomers:"月間新規顧客数",newCustomersDesc:"今月の新規顧客数",newOrders:"月間新規注文数",newOrdersDesc:"今月の新規注文数",fromLastMonth:"先月比"},chart:{monthlyRevenueTrend:"月間売上推移",revenue:"売上",orders:"注文数"},todayData:{title:"本日のデータ",revenue:"売上",newUsers:"新規ユーザー数",orders:"注文数"},monthData:{title:"今月のデータ",revenue:"月間売上",newUsers:"月間新規ユーザー数",orders:"月間注文数"},recentOrders:{title:"最近の注文",orderId:"注文 ID",customer:"顧客",plan:"プラン",amount:"金額",provider:"決済方法",status:"ステータス",time:"時間",total:"合計"}},users:{title:"User Management",subtitle:"Manage users, roles, and permissions",createUser:"ユーザー作成",editUser:"ユーザー編集",actions:{addUser:"Add User",editUser:"Edit User",deleteUser:"Delete User",banUser:"Ban User",unbanUser:"Unban User"},table:{columns:{id:"ID",name:"Name",email:"Email",role:"Role",phoneNumber:"Phone Number",emailVerified:"Email Verified",banned:"Banned",createdAt:"Created At",updatedAt:"Updated At",actions:"操作"},actions:{editUser:"ユーザー編集",deleteUser:"ユーザー削除",clickToCopy:"クリックしてコピー"},sort:{ascending:"昇順で並べ替え",descending:"降順で並べ替え",
18none:"並べ替えを解除"},noResults:"ユーザーが見つかりません",search:{searchBy:"検索条件:",searchPlaceholder:"{field}で検索...",filterByRole:"役割でフィルター",allRoles:"すべての役割",banStatus:"禁止ステータス",allUsers:"すべてのユーザー",bannedUsers:"禁止中",notBannedUsers:"禁止されていない",view:"表示",toggleColumns:"列の表示切り替え"},pagination:{showing:"全 {total} 件中 {start} から {end} 件を表示",pageInfo:"{total} ページ中 {current} ページ目"},dialog:{banTitle:"ユーザーの禁止",banDescription:"このユーザーを禁止してもよろしいですか?ユーザーはアプリケーションにアクセスできなくなります。",banSuccess:"ユーザーを正常に禁止しました",unbanSuccess:"ユーザーの禁止を正常に解除しました",updateRoleSuccess:"ユーザーの役割を正常に更新しました",updateRoleFailed:"ユーザーの役割の更新に失敗しました"}},banDialog:{title:"ユーザーの禁止",description:"{userName} を禁止してもよろしいですか?アプリケーションにアクセスできなくなります。"},unbanDialog:{title:"ユーザーの禁止解除",description:"{userName} の禁止を解除してもよろしいですか?アプリケーションへのアクセスが回復します。"},form:{title:"ユーザー情報",description:"以下にユーザーの詳細を入力してください",labels:{name:"名前",email:"メールアドレス",password:"パスワード",confirmPassword:"パスワード(確認)",role:"役割",image:"プロフィール画像",phoneNumber:"電話番号",emailVerified:"メールアドレス認証済み",phoneVerified:"電話番号認証済み",banned:"禁止中",banReason:"禁止理由"},placeholders:{name:"ユーザー名を入力してください",email:"メールアドレスを入力してください",password:"パスワードを入力してください(最小8文字)",confirmPassword:"パスワードを確認してください",selectRole:"役割を選択してください",image:"https://example.com/avatar.jpg",phoneNumber:"電話番号を入力してください",banReason:"禁止の理由(任意)"},validation:{nameRequired:"名前は必須です",emailRequired:"メールアドレスは必須です",emailInvalid:"有効なメールアドレスを入力してください",passwordRequired:"パスワードは必須です",passwordMinLength:"パスワードは8文字以上である必要があります",passwordMismatch:"パスワードが一致しません",roleRequired:"役割は必須です"}},deleteDialog:{title:"ユーザー削除",description:"本当に削除しますか?この操作は取り消せません。ユーザーアカウントは永久に削除され、関連するすべてのデータが削除されます。"},messages:{createSuccess:"ユーザーが正常に作成されました",updateSuccess:"ユーザーが正常に更新されました",deleteSuccess:"ユーザーが正常に削除されました",deleteError:"ユーザーの削除に失敗しました",fetchError:"ユーザーデータの取得に失敗しました",operationFailed:"操作に失敗しました"}},orders:{title:"注文管理",actions:{createOrder:"注文作成"},messages:{fetchError:"注文の読み込みに失敗しました。もう一度お試しください。"},table:{noResults:"注文が見つかりません。",search:{searchBy:"検索条件...",searchPlaceholder:"{field}で検索...",filterByStatus:"ステータスでフィルター",allStatus:"すべてのステータス",filterByProvider:"決済プロバイダー",allProviders:"すべてのプロバイダー",stripe:"Stripe",wechat:"WeChat",creem:"Creem",alipay:"Alipay",dodo:"Dodo Payments",pending:"保留中",paid:"支払い済み",failed:"失敗",refunded:"返金済み",canceled:"キャンセル済み"},columns:{id:"注文 ID",user:"ユーザー",amount:"金額",plan:"プラン",status:"ステータス",provider:"プロバイダー",providerOrderId:"プロバイダー注文 ID",createdAt:"作成日時",actions:"操作"},actions:{openMenu:"メニューを開く",actions:"操作",viewOrder:"注文を表示",refundOrder:"返金する",clickToCopy:"クリックしてコピー"},sort:{ascending:"昇順で並べ替え",descending:"降順で並べ替え",
18none:"並べ替えを解除"}},status:{pending:"保留中",paid:"支払い済み",failed:"失敗",refunded:"返金済み",canceled:"キャンセル済み"}},blog:{title:"ブログ管理",subtitle:"ブログ記事の作成と管理",createPost:"記事作成",editPost:"記事編集",actions:{newPost:"新規記事"},messages:{fetchError:"ブログ記事の読み込みに失敗しました。もう一度お試しください。",createSuccess:"記事が正常に作成されました",updateSuccess:"記事が正常に更新されました",deleteSuccess:"記事が正常に削除されました",deleteError:"記事の削除に失敗しました",operationFailed:"操作に失敗しました",uploadSuccess:"アップロードに成功しました",uploadError:"アップロードに失敗しました"},table:{noResults:"記事が見つかりません。",search:{searchPlaceholder:"タイトルで検索...",filterByStatus:"ステータスでフィルター",allStatus:"すべてのステータス",draft:"下書き",published:"公開済み"},columns:{title:"タイトル",status:"ステータス",author:"作成者",publishedAt:"公開日時",createdAt:"作成日時",actions:"操作"},actions:{edit:"編集",delete:"削除"},sort:{ascending:"昇順で並べ替え",descending:"降順で並べ替え",none:"並べ替えを解除"}},form:{title:"記事情報",description:"以下に記事の詳細を入力してください",labels:{title:"タイトル",slug:"スラッグ",excerpt:"抜粋",coverImage:"カバー画像",status:"ステータス",content:"本文"},placeholders:{title:"記事のタイトルを入力してください",slug:"URLフレンドリーなスラッグ(タイトルから自動生成)",excerpt:"記事の簡単な要約",coverImage:"ドラッグ&ドロップ、またはクリックしてアップロード(最大2MB)",content:"Markdownで本文を入力してください..."}},deleteDialog:{title:"記事の削除",description:"本当に削除しますか?この操作は取り消せません。記事は永久に削除されます。"}},credits:{title:"クレジット取引履歴",subtitle:"すべてのユーザーのすべてのクレジット取引を表示します",messages:{fetchError:"クレジット取引履歴の読み込みに失敗しました。もう一度お試しください。"},table:{noResults:"クレジット取引履歴が見つかりません。",search:{searchBy:"検索条件...",searchPlaceholder:"{field}で検索...",filterByType:"タイプでフィルター",allTypes:"すべてのタイプ",purchase:"購入",consumption:"消費",refund:"返金",bonus:"ボーナス",adjustment:"調整"},columns:{id:"取引 ID",user:"ユーザー",type:"タイプ",amount:"金額",balance:"残高",description:"説明",createdAt:"作成日時",metadata:"メタデータ"},actions:{clickToCopy:"クリックしてコピー",viewDetails:"詳細を表示"},sort:{ascending:"昇順で並べ替え",descending:"降順で並べ替え",none:"並べ替えを解除"},pagination:{showing:"全 {total} 件中 {start} から {end} 件を表示",pageInfo:"{total} ページ中 {current} ページ目"}},type:{purchase:"購入",consumption:"消費",refund:"返金",bonus:"ボーナス",adjustment:"調整"}},subscriptions:{title:"サブスクリプション管理",description:"ユーザーのサブスクリプションと請求の管理",actions:{createSubscription:"サブスクリプション作成"},messages:{fetchError:"サブスクリプションの読み込みに失敗しました。もう一度お試しください。"},table:{showing:"全 {total} 件中 {from} から {to} 件を表示",noResults:"サブスクリプションが見つかりません。",rowsPerPage:"表示件数",page:"ページ",of:"/",view:"表示",toggleColumns:"列の表示切り替え",goToFirstPage:"最初のページへ",goToPreviousPage:"前のページへ",goToNextPage:"次のページへ",goToLastPage:"最後のページへ",search:{searchLabel:"サブスクリプションを検索",searchField:"検索フィールド",statusLabel:"ステータス",providerLabel:"プロバイダー",search:"検索",clear:"クリア",allStatuses:"すべてのステータス",allProviders:"すべてのプロバイダー",stripe:"Stripe",creem:"Creem",wechat:"WeChat",alipay:"Alipay",dodo:"Dodo Payments",userEmail:"ユーザーメールアドレス",subscriptionId:"サブスクリプション ID",userId:"ユーザー ID",planId:"プラン ID",stripeSubscriptionId:"Stripe サブスクリプション ID",creemSubscriptionId:"Creem サブスクリプション ID",dod
18oSubscriptionId:"Dodo サブスクリプション ID",placeholders:{userEmail:"ユーザーメールアドレスを入力してください...",subscriptionId:"サブスクリプション IDを入力してください...",userId:"ユーザー IDを入力してください...",planId:"プラン IDを入力してください...",stripeSubscriptionId:"Stripe サブスクリプション IDを入力してください...",creemSubscriptionId:"Creem サブスクリプション IDを入力してください...",dodoSubscriptionId:"Dodo サブスクリプション IDを入力してください...",default:"検索語句を入力してください..."},searchBy:"検索条件...",searchPlaceholder:"{field}で検索...",filterByStatus:"ステータスでフィルター",filterByProvider:"プロバイダーでフィルター",allStatus:"すべてのステータス",filterByPaymentType:"支払いタイプ",allPaymentTypes:"すべてのタイプ",active:"アクティブ",canceled:"キャンセル済み",expired:"期限切れ",trialing:"試用中",inactive:"非アクティブ",oneTime:"一回限り",recurring:"継続課金"},columns:{id:"サブスクリプション ID",user:"顧客",plan:"プラン",status:"ステータス",paymentType:"支払いタイプ",provider:"プロバイダー",periodStart:"期間開始",periodEnd:"期間終了",cancelAtPeriodEnd:"期間終了時にキャンセル",createdAt:"作成日時",updatedAt:"更新日時",metadata:"メタデータ",period:"期間",actions:"操作"},actions:{openMenu:"メニューを開く",actions:"操作",viewSubscription:"サブスクリプションを表示",cancelSubscription:"サブスクリプションをキャンセル",clickToCopy:"クリックしてコピー"},sort:{ascending:"昇順で並べ替え",descending:"降順で並べ替え",none:"並べ替えを解除"}},status:{active:"アクティブ",trialing:"試用中",canceled:"キャンセル済み",cancelled:"キャンセル済み",expired:"期限切れ",inactive:"非アクティブ"},paymentType:{one_time:"一回限り",recurring:"継続課金"}}},pricing:{metadata:{title:"Claude Certified Architect - 料金プラン",description:"ニーズに合わせた最適なプランをお選びください。月間、年間、買い切り(ライフタイム)の柔軟な料金オプションをご用意しています。",keywords:"料金, プラン, サブスクリプション, 月間, 年間, 買い切り, ライフタイム, プレミアム, 機能"},title:"料金プラン",subtitle:"最適なプランをお選びください",description:"従来の期間ベースのサブスクリプション(月間/年間/買い切り)と、AI時代に人気のクレジットシステムの両方を提供しています。無制限アクセスのためにサブスクリプション登録するか、クレジットを購入して使用した分だけ支払うかをお選びいただけます。",cta:"始める",recommendedBadge:"おすすめ",lifetimeBadge:"一度の購入で無制限アクセス",creditsBadge:"クレジット",creditsUnit:"クレジット",tabs:{subscription:"サブスクリプション",credits:"クレジット"},features:{securePayment:{title:"マルチプロバイダーセキュリティ",description:"エンタープライズグレードのセキュリティで WeChat Pay、Stripe、Creem をサポート"},flexibleSubscription:{title:"柔軟な支払いモデル",description:"期間ベースのサブスクリプションまたはAI時代のクレジットシステム — スタイルに合わせて選択可能"},globalCoverage:{title:"グローバルな決済対応",description:"世界中からアクセスできるよう、複数通貨と地域ごとの決済方法に対応"}},plans:{monthly:{name:"月間プラン",description:"短期プロジェクトに最適",duration:"月",features:{所有高级功能:"すべてのプレミアム機能",优先支持:"優先サポート"}},yearly:{name:"年間プラン",description:"長期利用に最もお得",duration:"年",features:{所有高级功能:"すべてのプレミアム機能",优先支持:"優先サポート",两个月免费:"2ヶ月無料"}},lifetime:{name:"ライフタイム",description:"一度のお支払いで、生涯アクセス可能",duration:"ライフタイム",features:{所有高级功能:"すべてのプレミアム機能",优先支持:"優先サポート",终身免费更新:"生涯無料アップデート"}}}},payment:{metadata:{success:{title:"Claude Certified Architect - お支払い完了",description:"お支払いが正常に処理されました。サブスクリプションのご登録ありがとうございます。プレミアム機能をお楽しみください。",keywords:"支払い, 完了, サブスクリプション, 確認, プレミアム"},cancel:{title:"Claude Certified Architect - お支払いキャンセル",description:"お支払いがキャンセルされました。お支払いを再試行するか、サポートチームにお問い合わせください。",keywords:"支払い, キャンセル, 再試行, サポート, サブスクリプション"}},result:{success:{title:"お支払い完了",description:"お支払いが正常に処理されました。",support:"まだロックされている、または想定と異なる場合は {email} までご連絡ください。速やかに対応します。",actions:{viewSubscription:"サブスクリプションを表示",backToHome:"ホームに戻る"}},cancel:{title:"お支払いキャンセル",description:"お支払いがキャンセルされました。",actions:{tryAgain:"再試
18行",contactSupport:"サポートにお問い合わせ",backToHome:"ホームに戻る"}},failed:"お支払いに失敗しました。もう一度お試しください"},steps:{initiate:"初期化",initiateDesc:"支払いの準備",scan:"スキャン",scanDesc:"QRコードのスキャン",pay:"支払う",payDesc:"支払いの確認"},scanQrCode:"お支払いを完了するには、WeChatでQRコードをスキャンしてください",confirmCancel:"お支払いが完了していません。本当にキャンセルしますか?",orderCanceled:"注文がキャンセルされました"},subscription:{metadata:{title:"Claude Certified Architect - マイサブスクリプション",description:"サブスクリプションダッシュボードで、サブスクリプションプランの管理、請求履歴の表示、決済方法の更新を行います。",keywords:"サブスクリプション, 請求, 支払い, プラン, 管理, ダッシュボード"},title:"マイサブスクリプション",overview:{title:"サブスクリプションの概要",planType:"プランタイプ",status:"ステータス",active:"アクティブ",startDate:"開始日",endDate:"終了日",progress:"サブスクリプション期間"},management:{title:"サブスクリプション管理",description:"カスタマーポータルから、サブスクリプションの管理、請求履歴の表示、決済方法の更新を行うことができます。",manageSubscription:"サブスクリプション管理",changePlan:"プラン変更",redirecting:"リダイレクト中..."},noSubscription:{title:"有効なサブスクリプションが見つかりません",description:"現在、有効なサブスクリプションプランがありません。",viewPlans:"プランを見る"}},dashboard:{metadata:{title:"Claude Certified Architect - ダッシュボード",description:"パーソナライズされたダッシュボードで、アカウント、サブスクリプション、プロフィール設定を管理します。",keywords:"ダッシュボード, アカウント, プロフィール, サブスクリプション, 設定, 管理"},title:"ダッシュボード",description:"アカウントとサブスクリプションの管理",profile:{title:"プロフィール情報",noNameSet:"名前が設定されていません",role:"役割:",emailVerified:"メールアドレス認証済み",editProfile:"プロフィール編集",updateProfile:"プロフィール更新",cancel:"キャンセル",form:{labels:{name:"氏名",email:"メールアドレス",image:"プロフィール画像のURL"},placeholders:{name:"氏名を入力してください",email:"メールアドレス",image:"https://example.com/your-image.jpg"},emailReadonly:"メールアドレスは変更できません",imageDescription:"任意:プロフィールの写真のURLを入力してください"},updateSuccess:"プロフィールが更新されました",updateError:"プロフィールの更新に失敗しました。もう一度お試しください。"},subscription:{title:"サブスクリプションステータス",status:{lifetime:"ライフタイム",active:"アクティブ",canceled:"キャンセル済み",cancelAtPeriodEnd:"期間終了時に終了",pastDue:"期限切れ",unknown:"不明",noSubscription:"サブスクリプションなし"},paymentType:{recurring:"継続課金",oneTime:"一回限り"},lifetimeAccess:"生涯アクセス権があります",expires:"有効期限:",cancelingNote:"サブスクリプションは更新されず、以下で終了します:",noActiveSubscription:"現在、有効なサブスクリプションはありません",manageSubscription:"サブスクリプション管理",viewPlans:"プランを見る"},credits:{title:"クレジット残高",available:"利用可能なクレジット",totalPurchased:"購入クレジット累計",totalConsumed:"使用クレジット累計",recentTransactions:"最近の取引履歴",buyMore:"クレジットを追加購入",types:{purchase:"購入",bonus:"ボーナス",consumption:"使用",refund:"返金",adjustment:"調整"},descriptions:{ai_chat:"AIチャット",ai_image_generation:"AI画像生成",ai_video_generation:"AI動画生成",image_generation:"画像生成",document_processing:"ドキュメント処理",purchase:"クレジット購入",bonus:"ボーナスクレジット",refund:"クレジット返金",adjustment:"管理者調整"},table:{type:"タイプ",description:"説明",amount:"金額",time:"時間"}},account:{title:"アカウント詳細",memberSince:"登録日",phoneNumber:"電話番号"},orders:{title:"注文履歴",status:{pending:"保留中",paid:"支払い済み",failed:"失敗",refunded:"返金済み",canceled:"キャンセル済み"},provider:{stripe:"Stripe",wechat:"WeChat Pay",creem:"Creem",alipay:"Alipay",dodo:"Dodo Payments"},noOrders:"注文が見つかりません",noOrdersDescription:"まだ注文がありません",viewAllOrders:"すべての注文を表示",orderDetails:{orderId:"注文 ID",amount:"金額",plan:"プラン",status:"ステータス",provider:"決済方法",createdAt:"作成日時"}
18,recent:{title:"最近の注文",showingRecent:"最近の注文 {count} 件を表示中"},page:{title:"すべての注文",description:"すべての注文の表示と管理",backToDashboard:"ダッシュボードに戻る",totalOrders:"合計 {count} 件の注文"}},linkedAccounts:{title:"連携アカウント",connected:"連携済み",connectedAt:"連携日:",noLinkedAccounts:"連携されているアカウントはありません",providers:{credential:"メールアドレスとパスワード",google:"Google",github:"GitHub",facebook:"Facebook",apple:"Apple",discord:"Discord",wechat:"WeChat","phone-number":"電話番号"}},tabs:{profile:{title:"プロフィール",description:"個人情報とアバターを管理します"},account:{title:"アカウント管理",description:"パスワード変更、アカウント連携、セキュリティ設定"},security:{title:"セキュリティ",description:"パスワードとセキュリティの設定"},subscription:{description:"サブスクリプションプランと機能の管理"},credits:{title:"クレジット",description:"クレジット残高と取引履歴を表示します"},orders:{description:"注文履歴と取引を表示します"},content:{profile:{title:"プロフィール",subtitle:"サイト上でのあなたの表示方法です。",username:{label:"ユーザー名",value:"shadcn",description:"これは公開表示名です。実名またはペンネームを使用できます。ユーザー名は30日間に1回だけ変更できます。"},email:{label:"メールアドレス",placeholder:"表示する認証済みメールアドレスを選択してください",description:"メールアドレス設定で認証済みメールアドレスを管理できます。"}},account:{title:"アカウント設定",subtitle:"アカウント設定と設定情報の管理。",placeholder:"アカウント設定のコンテンツ..."},security:{title:"セキュリティ設定",subtitle:"パスワードとセキュリティ設定の管理。",placeholder:"セキュリティ設定のコンテンツ..."}}},quickActions:{title:"クイックアクション",editProfile:"プロフィール編集",accountSettings:"アカウント設定",subscriptionDetails:"サブスクリプション詳細",getSupport:"サポートを受ける",viewDocumentation:"ドキュメントを表示"},accountManagement:{title:"アカウント管理",changePassword:{title:"パスワード変更",description:"アカウントのパスワードを更新します",oauthDescription:"ソーシャルログインアカウントではパスワードの管理は利用できません",button:"パスワード変更",dialogDescription:"現在のパスワードと新しいパスワードを入力してください",form:{currentPassword:"現在のパスワード",currentPasswordPlaceholder:"現在のパスワードを入力してください",newPassword:"新しいパスワード",newPasswordPlaceholder:"新しいパスワードを入力してください(最小8文字)",confirmPassword:"新しいパスワード(確認)",confirmPasswordPlaceholder:"新しいパスワードをもう一度入力してください",cancel:"キャンセル",submit:"パスワードを更新"},success:"パスワードが正常に更新されました",errors:{required:"必須フィールドをすべて入力してください",mismatch:"新しいパスワードが一致しません",minLength:"パスワードは8文字以上である必要があります",failed:"パスワードの更新に失敗しました。もう一度お試しください。"}},deleteAccount:{title:"アカウント削除",description:"アカウントと関連するすべてのデータを永久に削除します",button:"アカウント削除",confirmTitle:"アカウント削除",confirmDescription:"本当にアカウントを削除してもよろしいですか?",warning:"⚠️ この操作は取り消せません",consequences:{data:"すべての個人データが永久に削除されます",subscriptions:"有効なサブスクリプションはキャンセルされます",access:"すべてのプレミアム機能へのアクセス権を失います"},form:{cancel:"キャンセル",confirm:"はい、アカウントを削除します"},success:"アカウントが正常に削除されました",errors:{failed:"アカウントの削除に失敗しました。もう一度お試しください。"}}},roles:{admin:"管理者",user:"ユーザー"}},home:{metadata:{title:"Claude Certified Architect (CCAR-F) 試験対策 — コース、模擬試験、学習ガイド",description:"試験のブループリントに準拠したコース、時間制限のある本番形式の模擬試験、ドメイン別の学習ガイド、間隔反復フラッシュカードで、Claude Certified Architect — Foundations 試験に合格しましょう。5言語に対応しています。",keywords:"Claude Certified Architect, CCAR-F, Claude 認定試験, Claude 試験, Anthropic 認定試験, Claude Code 認定, MCP 認定, 模擬試験, CCA-F"},hero:{titlePrefix:"合格を勝ち取る ",titleHighlight:"Claude Certified Architect",titleSuffix:" 試験",subt
18itle:"公式の CCAR-F 5ドメイン試験に基づいて構築された、ブループリントに準拠したコース、時間制限のある模擬試験、ドメイン別の学習ガイド、および間隔反復フラッシュカード。好みの言語で学習できます。",buttons:{purchase:"試験パスを購入する",demo:"無料の実力診断を試す"},features:{lifetime:"公式の5つのドメインブループリントに完全対応",earlyBird:"無料の学習ガイドと診断クイズ"}},features:{title:"CCAR-F 合格に必要なすべてがここに",subtitle:"体系的なコースで5つの試験ドメインすべてをマスターし、本番さながらの時間制限付き模擬試験で実力を証明しましょう。",items:[{title:"エージェント設計とオーケストレーション",description:"最も配点比率の高いドメイン(27%):エージェントのループと stop_reason、マルチエージェントトポロジー、サブエージェントの分離、セッション、および分解パターン。",className:"col-span-2 row-span-1"},{title:"ツール設計と MCP 統合",description:"ドメイン 2(18%):選択メカニズムとしてのツール説明、tool_choice、構造化エラー、およびエンドツーエンドの Model Context Protocol。",className:"col-span-1 row-span-1"},{title:"Claude Code のワークフロー",description:"ドメイン 3(20%):CLAUDE.md の階層、スラッシュコマンドと Skills、パーミッションモデル、およびヘッドレス CI/CD での使用方法。",className:"col-span-1 row-span-1"},{title:"プロンプトエンジニアリングと構造化出力",description:"ドメイン 4(20%):フューショット(few-shot)と思考の連鎖(chain-of-thought)、JSON Schema を用いたツール利用、検証と再試行のループ、および Message Batches API。",className:"col-span-1 row-span-1"},{title:"コンテキスト管理と信頼性",description:"ドメイン 5(15%):「lost-in-the-middle」(コンテキストの埋もれ)、コンテキスト境界を越えるスクラッチパッド、プロベナンス(来歴)、プロンプトキャッシュ、およびトークンバジェット。",className:"col-span-1 row-span-1"},{title:"時間制限付きの本番形式模擬試験",description:"実際のブループリントの配点比率に基づいた、120分間で60問のシナリオベースの問題。ドメイン別のスコア分析付き。",className:"col-span-2 row-span-1"},{title:"間隔反復フラッシュカード",description:"各ドメイン用の Leitner ボックス形式のフラッシュカードデッキと用語集デッキで、重要事項を定着させます。",className:"col-span-1 row-span-1"},{title:"5言語に対応",description:"英語、日本語、한국어、Português (BR)、または 简体中文 で学習できます。",className:"col-span-1 row-span-1"}],techStack:{title:"公式の試験ブループリントに基づいて構築",items:["エージェント設計","ツールと MCP","Claude Code","プロンプトエンジニアリング","コンテキストと信頼性","60問のシナリオベース多肢選択式 · 120分","合格ライン:スケールドスコア 720 以上"]}},applicationFeatures:{title:"CCA 対策の仕組み",subtitle:"ブループリントから合格証取得までの明確な道のり。",items:[{title:"ブループリントを学ぶ",subtitle:"無料のドメイン別学習ガイド",description:"公式の5ドメインブループリントから始めましょう。各ドメインには、試験のコツ、アンチパターン、および詳細なコースレッスンへのリンクを含む、無料の詳細な学習ガイドが用意されています。",highlights:["試験比率が調整された5つのドメイン","試験のコツとアンチパターン","12週間の学習プラン","永久に無料"],imageTitle:"試験ブループリント"},{title:"コースを受講する",subtitle:"ブループリントに準拠した体系的なレッスン",description:"Claude プラットフォームの基礎から各試験ドメインまでを体系的に学ぶ6つのコース。Markdown 形式のレッスン、推定読了時間、および重要な用語を相互リンクする用語集を完備しています。",highlights:["6つのコース:基礎 + 各ドメイン1コース","各コースのモジュール1は無料","レッスン完了状況の追跡","用語集の相互リンク"],imageTitle:"コースとレッスン"},{title:"模擬試験で練習する",subtitle:"本番さながらの時間制限と配点比率",description:"本番と同様の形式と配点比率を再現した60問の模擬試験に加え、ドメイン別のクイズや無料の実力診断クイズを用意。物理的な質問すべてに詳細な解説が付いています。",highlights:["時間制限のある模擬試験","ドメイン別クイズ","詳細な解答解説","合格基準(720点)に対するスケールドスコア表示"],imageTitle:"模擬試験"},{title:"進捗を追跡する",subtitle:"合格の準備が整った時期を把握",description:"ダッシュボードに受験履歴、ドメイン別の強みと弱み、レッスンの完了状況が表示されるため、自信を持って本番の試験に臨むことができます。",highlights:["受験履歴","ドメイン別の詳細スコア","レッスン完了率(%)","フラッシュカードの学習期限"],imageTitle:"進捗ダッシュボード"}]},stats:{title:"試験に特化した設計",items:{questions:"演習問題数",domains:"試験ドメイン",languages:"対応言語",passScore:"合格基準点(スケールドスコア)"}},testimonials:{title:"合格者の声",items:[{quote:"模擬試験後のドメイン別の分析により、自分の弱点が明確にわかりました。最後の1週間はドメイン1に集中し、余裕を持って合格できました。",author:"Priya N.",role:"ソリューションアーキテクト"},{quote:"学習ガイドは、あちこちから集めていた雑多なドキュメントよりもはるかに優れていました。すべてがブループリントにマッピングされています。",author:"Marco S.",role:"AI エンジニア"},{quote:"時間制限のある模擬試験のおかげで、本番ã
18®è©¦é¨“でも焦らずに済みました。解説を読むことで、問題だけでは得られなかった知識が身につきました。",author:"Daniel K.",role:"スタッフエンジニア"}]},finalCta:{title:"認定資格を取得する準備はできましたか?",subtitle:"まずは無料の診断テストと学習ガイドから始めましょう。試験パスにアップグレードすると、すべての模擬試験、プレミアムレッスン、フラッシュカード、および進捗の追跡がアンロックされます。",buttons:{purchase:"試験パスを購入する",demo:"無料の診断テストを開始"}},footer:{copyright:"© {year} Claude Certified Architect. All rights reserved.",description:"Claude Certified Architect 認定資格のための独立した試験対策リソース。",disclaimer:"本サイトは独立した学習リソースです。Anthropic 社との提携、承認、スポンサーシップの関係はありません。Claude および Anthropic は Anthropic, PBC の商標です。",support:"ご質問やアクセスの問題は {email} までメールでご連絡ください"},common:{demoInterface:"プレビュー",techArchitecture:"公式ブループリントに完全準拠した、独立した試験対策",learnMore:"詳細を見る"}},ai:{metadata:{title:"Claude Certified Architect - AI アシスタント",description:"GPT-4、Qwen、DeepSeek などの強力な AI モデルと対話します。コーディング、文章作成、問題解決のための AI サポートを受けられます。",keywords:"AI, アシスタント, チャットボット, GPT-4, 人工知能, 機械学習, 対話"},chat:{title:"AI アシスタント",description:"拡張可能な設計を備えた大規模言語モデル対話のシンプルな実装です。最新の ai-sdk / ai-elements / streamdown 技術を使用して、非常にスムーズなチャットエフェクトを実現しており、必要に応じてより複雑な機能に拡張できます。",placeholder:"どのようなことについてお手伝いしましょうか?",sending:"送信中...",thinking:"AI が考え中...",noMessages:"AI アシスタントとの会話を開始します",welcomeMessage:"こんにちは!AI アシスタントです。本日はどのようなお手伝いをしましょうか?",toolCall:"ツール呼び出し",providers:{title:"AI プロバイダー",openai:"OpenAI",qwen:"Qwen",deepseek:"DeepSeek"},models:{"gpt-5":"GPT-5","gpt-5-codex":"GPT-5 Codex","gpt-5-pro":"GPT-5 Pro","qwen-max":"Qwen Max","qwen-plus":"Qwen Plus","qwen-turbo":"Qwen Turbo","deepseek-chat":"DeepSeek Chat","deepseek-coder":"DeepSeek Coder"},actions:{send:"送信",copy:"コピー",copied:"コピーしました!",retry:"再試行",dismiss:"閉じる",newChat:"新規チャット",clearHistory:"履歴をクリア"},errors:{failedToSend:"メッセージの送信に失敗しました。もう一度お試しください。",networkError:"ネットワークエラーが発生しました。接続を確認してください。",invalidResponse:"AI からの応答が無効です。もう一度お試しください。",rateLimited:"リクエストが多すぎます。しばらく時間をおいてから再度お試しください。",subscriptionRequired:"AI 機能の利用には有効なサブスクリプションが必要です",subscriptionRequiredDescription:"AI チャット機能を利用するには、プレミアムプランにアップグレードしてください",insufficientCredits:"クレジット不足",insufficientCreditsDescription:"AI チャットの利用にはクレジットまたはサブスクリプションが必要です。続行するにはクレジットを購入してください。"},history:{title:"チャット履歴",empty:"チャット履歴はありません",today:"今日",yesterday:"昨日",thisWeek:"今週",older:"過去の履歴"}},image:{metadata:{title:"Claude Certified Architect - AI 画像生成",description:"AI を使用して素晴らしい画像を生成します。Qwen-Image、fal.ai Flux、OpenAI DALL-E、Google Gemini に対å¿
18œã—ています。",keywords:"AI, 画像生成, DALL-E, Flux, Qwen, Gemini, テキストから画像, アート, クリエイティブ"},title:"AI 画像生成",description:"複数の AI プロバイダーを使用して、テキストプロンプトから素晴らしい画像を生成します",defaultPrompt:"A yellow Labrador wearing black and gold round sunglasses drinking tea with two yellow and white cats in a venue in Chengdu",prompt:"プロンプト",promptPlaceholder:"生成したい画像の説明を入力してください...",negativePrompt:"ネガティブプロンプト",negativePromptPlaceholder:"画像に含めたくない要素を入力してください...",negativePromptHint:"生成される画像で避けたい要素を入力します",generate:"生成",generating:"生成中...",generatedSuccessfully:"画像を正常に生成しました!",download:"ダウンロード",result:"生成結果",idle:"待機中",preview:"プレビュー",json:"JSON",whatNext:"次に何をしますか?",costInfo:"このリクエストのコストは",perMegapixel:"/メガピクセル",credits:"クレジット",providers:{title:"プロバイダー",qwen:"Aliyun BaiLian",fal:"fal.ai",openai:"OpenAI",gemini:"Google Gemini"},models:{"qwen-image-plus":"Qwen Image Plus","qwen-image-max":"Qwen Image Max","fal-ai/qwen-image-2512/lora":"Qwen Image 2512 Lora","fal-ai/nano-banana-pro":"Nano Banana Pro","fal-ai/flux/dev":"Flux Dev","fal-ai/recraft/v3/text-to-image":"Recraft V3 Text to Image","fal-ai/flux-pro/kontext":"Flux Pro Kontext","fal-ai/bytedance/seedream/v3/text-to-image":"Bytedance Seedream V3 Text to Image","dall-e-3":"DALL-E 3","dall-e-2":"DALL-E 2","gemini-3.1-flash-image-preview":"Nano Banana 2","gemini-3-pro-image-preview":"Nano Banana Pro","gemini-2.5-flash-image":"Nano Banana"},settings:{title:"詳細設定",showMore:"詳細を表示",showLess:"詳細を非表示",imageSize:"画像サイズ",imageSizeHint:"アスペクト比と
18解像度を選択します",numInferenceSteps:"推論ステップ数",numInferenceStepsHint:"ステップ数が多いほど高品質になりますが、生成に時間がかかります",guidanceScale:"ガイダンススケール",guidanceScaleHint:"プロンプトにどれだけ厳密に従うか",seed:"シード",seedHint:"同じシード値を使用すると、同じ結果を再現できます",random:"ランダム",randomize:"ランダム化",promptExtend:"プロンプト拡張",promptExtendHint:"AI がプロンプトを強化・拡張します",watermark:"ウォーターマーク",watermarkHint:"生成された画像に Qwen-Image のウォーターマークを追加します",syncMode:"同期モード",syncModeHint:"URL の代わりに base64 データを返します"},errors:{generationFailed:"画像の生成に失敗しました",invalidPrompt:"有効なプロンプトを入力してください",insufficientCredits:"クレジット不足",insufficientCreditsDescription:"画像の生成にはクレジットが必要です。続行するにはクレジットを購入してください。",networkError:"ネットワークエラーが発生しました。接続を確認してください。",unknownError:"不明なエラーが発生しました"}},video:{metadata:{title:"Claude Certified Architect - AI 動画生成",description:"AI を使用して素晴らしい動画を生成します。fal.ai、Volcengine Seedance、Aliyun Wanxiang に対応しています。",keywords:"AI, 動画生成, テキストから動画, Seedance, Wanxiang, Luma, クリエイティブ"},title:"AI 動画生成",description:"複数の AI プロバイダーを使用して、テキストプロンプトから素晴らしい動画を生成します",defaultPrompt:"A cat jumps directly from someone's lap onto the sofa",prompt:"プロンプト",model:"モデル",promptPlaceholder:"生成したい動画の説明を入力してください...",generate:"動画を生成",generating:"動画を生成中...",generatedSuccessfully:"動画が正常に生成されました!",download:"動画をダウンロード",result:"生成結果",idle:"プロンプトを入力して動画を生成してください",whatNext:"次に何をしますか?",credits:"クレジット",providers:{title:"プロバイダー",fal:"fal.ai",volcengine:"Volcengine",aliyun:"Aliyun Wanxiang"}
18,models:{"kling-video/v2.5-turbo/pro/text-to-video":"Kling 2.5 Turbo Pro (Text to Video)","kling-video/v2.5-turbo/pro/image-to-video":"Kling 2.5 Turbo Pro (Image to Video)","doubao-seedance-1-5-pro-251215":"Doubao Seedance 1.5 Pro","doubao-seedance-1-0-pro-250528":"Doubao Seedance 1.0 Pro","wan2.6-t2v":"Wanxiang 2.6 T2V","wan2.5-t2v-turbo":"Wanxiang 2.5 T2V Turbo","wan2.6-i2v-flash":"Wanxiang 2.6 I2V Flash"},inputMode:{label:"生成モード",text:"テキストから動画",firstFrame:"最初のフレーム",firstLastFrame:"最初 + 最後のフレーム",firstLastFrameUnsupported:"現在のプロバイダーは最初のフレームのみサポートしています"},frameInput:{title:"フレーム画像",hint:"URL を直接入力するか、Cloudflare R2 にアップロードしてください。",firstFrameUrl:"最初のフレームの URL",lastFrameUrl:"最後のフレームの URL",upload:"アップロード",uploadedToR2:"フレームが R2 にアップロードされました",preview:"画像のプレビュー",previewAlt:"最初のフレームのプレビュー"},settings:{title:"詳細設定",videoSize:"動画サイズ / アスペクト比",videoSizePlaceholder:"サイズを選択",videoSizeHint:"解像度またはアスペクト比を選択します",duration:"再生時間(秒)",durationHint:"生成される動画の長さ",seed:"シード",seedHint:"同じシード値を使用すると、同じ結果を再現できます",random:"ランダム",loop:"ループ",loopHint:"動画をシームレスにループさせるかどうか",motionStrength:"モーション強度",motionStrengthHint:"動画内の動きの大きさを制御します",promptExtend:"プロンプト拡張",promptExtendHint:"AI がプロンプトを強化・拡張します",watermark:"ウォーターマーク",watermarkHint:"生成された動画にウォーターマークを追加します"},errors:{generationFailed:"動画の生成に失敗しました",invalidPrompt:"有効なプロンプトを入力してください",firstFrameRequired:"最初のフレームの URL を入力してください",lastFrameRequired:"最後のフレームの URL を入力してください",unsupportedImageType:"JPEG/JPG/PNG/WEBP/BMP 画像のみサポートされています",imageTooLarge:"画像サイズは 10MB 以下である必要があります",uploadFailed:"アップロードに失敗しました",unsupportedModeForProvider:"現在のプロバイダーはこの生成モードをサポートしていません",insufficientCredits:"クレジット不足",insufficientCreditsDescription:"動画の生成にはクレジットが必要です。続行するにはクレジットを購入してください。",networkError:"ネットワークエラーが発生しました。接続を確認してください。",unknownError:"不明なエラーが発生しました",timeout:"動画生成がタイムアウトしました。もう一度お試しください。"},resultPanel:{generatingHint:"動画の生成には 1〜5 分程度かかる場合があります...",videoTagUnsupported:"お使いのブラウザは video タグをサポートしていません。"}}},premiumFeatures:{metadata:{title:"Claude Certified Architect - プレミアム機能",description:"サブスクリプションで利用可能なすべてのプレミアム機能をご紹介します。高度なツール、AI アシスタント、強化された機能をご利用いただけます。",keywords:"プレミアム, 機能, 高度, ツール, サブスクリプション, 特典, 強化"},title:"プレミアム機能",description:"サブスクリプションのご登録ありがとうございます!利用可能なすべてのプレミアム機能は以下の通りです。",loading:"読み込み中...",subscription:{title:"Your Subscription",description:"Current subscription status and details",status:"サブスクリプションステータス",type:"サブスクリプションタイプ",expiresAt:"有効期限",active:"アクティブ",inactive:"非アクティブ",lifetime:"ライフタイムメンバー",recurring:"ç
18¶™ç¶šèª²é‡‘サブスクリプション"},badges:{lifetime:"ライフタイムメンバー"},demoNotice:{title:"🎯 SaaS テンプレートデモページ",description:"これはルート保護をテストするためのデモページです。支払い済みのユーザーのみがこのページにアクセスでき、SaaS アプリケーションでサブスクリプションレベルのアクセス制御を実装する方法を示しています。"},features:{userManagement:{title:"高度なユーザー管理",description:"完全なユーザープロフィール管理とカスタム設定"},aiAssistant:{title:"AI スマートアシスタント",description:"生産性を向上させるための高度な人工知能機能"},documentProcessing:{title:"無制限のドキュメント処理",description:"ドキュメントファイルの数やサイズに制限なく処理"},dataAnalytics:{title:"詳細なデータ分析",description:"詳細なデータ分析と可視化レポート"}},actions:{accessFeature:"機能にアクセス"}},validators:{user:{name:{minLength:"名前は {min} 文字以上である必要があります",maxLength:"名前は {max} 文字未満である必要があります"},email:{invalid:"有効なメールアドレスを入力してください"},image:{invalidUrl:"有効な URL を入力してください"},password:{minLength:"パスワードは {min} 文字以上である必要があります",maxLength:"パスワードは {max} 文字未満である必要があります",mismatch:"パスワードが一致しません"},countryCode:{required:"国/地域を選択してください"},phoneNumber:{required:"電話番号を入力してください",invali
18d:"無効な電話番号の形式です"},verificationCode:{invalidLength:"認証コードは {length} 文字である必要があります"},id:{required:"ユーザー ID は必須です"},currentPassword:{required:"現在のパスワードは必須です"},confirmPassword:{required:"パスワードを確認してください"},deleteAccount:{confirmRequired:"アカウントの削除を確認する必要があります"}},blog:{title:{required:"タイトルは必須です",maxLength:"タイトルは {max} 文字未満である必要があります"},slug:{maxLength:"スラッグは {max} 文字未満である必要があります",invalid:"スラッグには小文字、数字、およびハイフンのみを使用できます"},excerpt:{maxLength:"抜粋は {max} 文字未満である必要があります"},coverImage:{invalidUrl:"カバー画像の有効な URL を入力してください"},status:{invalid:"ステータスは draft または published のいずれかである必要があります"}}},countries:{china:"中国",usa:"米国",uk:"英国",japan:"日本",korea:"韓国",singapore:"シンガポール",hongkong:"香港",macau:"マカオ",australia:"オーストラリア",france:"フランス",germany:"ドイツ",india:"インド",malaysia:"マレーシア",thailand:"タイ"},header:{navigation:{ai:"AI デモ",premiumFeatures:"プレミアム機能",pricing:"料金プラン",upload:"アップロード",demos:"デモ",demosDescription:"機能のサンプルを表示",blog:"ブログ",courses:"コース",studyGuide:"学習ガイド",practice:"模擬試験",flashcards:"フラッシュカード"},demos:{ai:{title:"AI チャット",description:"拡張可能な設計、複数プロバイダー対応の LLM チャット。ログインが必要です。"},aiImage:{title:"AI 画像生成",description:"拡張可能な設計、複数プロバイダー対応の AI 画像生成。ログインが必要です。"},aiVideo:{title:"AI 動画生成",description:"拡張可能な設計、複数プロバイダー対応の AI 動画生成。ログインが必要です。"},premium:{title:"プレミアム機能",description:"ルート保護のデモ。有料ユーザーのみがこのページにアクセスできます。"},upload:{title:"ファイルアップロード",description:"拡張可能な設計、複数プロバイダー対応のファイルアップロード。ログインが必要です。"}},auth:{signIn:"サインイン",getStarted:"始める",signOut:"サインアウト"},userMenu:{dashboard:"ダッシュボード",profile:"プロフィール",settings:"設定",personalSettings:"個人設定",adminPanel:"管理パネル"},language:{switchLanguage:"言語を切り替える",english:"English",chinese:"中文",japanese:"日本語",korean:"한국어",portuguese:"Português (BR)"},mobile:{themeSettings:"テーマ設定",languageSelection:"言語選択"}},docs:{home:{title:"Claude Certified Architect ドキュメント",subtitle:"Fumadocs で構築",description:"Fumadocs をベースにした静的サイトプロジェクト。ドキュメント、ブログ、静的ページに最適です。",cta:{docs:"ドキュメントを読む",blog:"ブログを見る"}},nav:{docs:"ドキュメント",blog:"ブログ"},blog:{title:"ブログ",description:"Claude Certified Architect チームからの最新記事とアップデート",allPosts:"すべての記事",previousPage:"← 前へ",nextPage:"次へ →",back:"← ブログに戻る",noPosts:"まだ記事はありません"}},upload:{title:"ファイルアップロード",description:"画像をクラウドストレージにアップロード",providerTitle:"ストレージプロバイダー",providerDescription:"好みのクラウドストレージプロバイダーを選択してください",providers:{oss:"Alibaba Cloud OSS",ossDescription:"中国地域に最適化されたストレージ",s3:"Amazon S3",s3Description:"グローバルなクラウドストレージ",r2:"Cloudflare R2",r2Description:"データ転送手数料(Egress Fees)無料",cos:"Tencent Cloud COS",cosDescription:"中国地域のクラウドストレージ"},uploadTitle:"画像をアップロード",uploadDescription:"画像をドラッグ&ドロップ、またはクリックしてå
18‚照。最大 1MB。",dragDrop:"ファイルをここにドラッグ&ドロップしてください",orClick:"またはクリックして参照(最大 1MB)",browseFiles:"ファイルを参照",clearAll:"すべてクリア",uploadedTitle:"アップロード完了ファイル",uploadedDescription:"{count} 個のファイルが正常にアップロードされました",uploading:"アップロード中...",viewFile:"表示",uploaded:"アップロード済み",errors:{maxFiles:"アップロードできるファイルは 1 個のみです",imageOnly:"画像ファイルのみアップロード可能です",fileTooLarge:"ファイルサイズは 1MB 未満である必要があります"}},blog:{metadata:{title:"Claude Certified Architect - ブログ",description:"Claude Certified Architect チームからの最新記事とアップデートをご覧ください。",keywords:"ブログ, 記事, アップデート, Claude Certified Architect, SaaS"},title:"ブログ",subtitle:"最新の記事とアップデート",readMore:"続きを読む",publishedOn:"公開日",by:"著者",noPosts:"まだ記事はありません。しばらくしてからもう一度ご確認ください。",backToBlog:"ブログに戻る"},courses:{metadata:{title:"コース — Claude Certified Architect 対策",description:"Claude プラットフォームの基礎からコンテキストエンジニアリングまで、すべての CCAR-F 試験ドメインを網羅するブループリントに準拠したコース。",keywords:"Claude コース, CCAR-F コース, Claude Certified Architect トレーニング"},title:"コース",subtitle:"Claude プラットフォームの基礎から各試験ドメインまでを体系的に学ぶ6つのコース。",startCourse:"コースを開始する",continueCourse:"続行する",modules:"モジュール",lessons:"レッスン",viewCourse:"コースを表示",locked:"試験パス",free:"無料",estMinutes:"{minutes} 分",moduleLabel:"モジュール",lessonsCount:"{count} レッスン",domainLabel:"ドメイン {number}",empty:"コースは間もなく公開されます。"},lesson:{metadata:{title:"レッスン — Claude Certified Architect 対策",description:"CCAR-F 試験対策レッスン。",keywords:"Claude レッスン, CCAR-F"},prev:"前へ",next:"次へ",markComplete:"完了とする",completed:"完了",backToCourse:"コースに戻る",estMinutes:"{minutes} 分で読めます",inThisModule:"このモジュール内",premiumGate:{title:"このレッスンは試験パスに含まれています",description:"すべてのプレミアムレッスン、模擬試験、フラッシュカード、および進捗の追跡をアンロックしましょう。",cta:"料金を見る",signInCta:"サインイン"}},studyGuide:{metadata:{title:"試験ブループリントと学習ガイド — Claude Certified Architect",description:"すべての 5 つの CCAR-F 試験ドメイン用の無料の詳細な学習ガイドに加え、12 週間の学習計画とアンチパターンのチートシートをご用意しています。",keywords:"CCAR-F 学習ガイド, Claude 試験ブループリント, Claude Certified Architect ドメイン"},title:"試験ブループリントと学習ガイド",subtitle:"公式の 5 つのドメイン、その配点比率、およびそれぞれの無料の詳細ガイド。",domains:"試験ドメイン",weighting:"配点比率",weightOfExam:"試験の {weight}%",examTips:"試験のコツ",antiPatterns:"アンチパターン",objectives:"出題範囲",relatedLessons:"関連レッスン",studyPlan:"12週間の学習プラン",studyPlanDesc:"前提知識ゼロから試験に合格できる状態になるための週ごとの計画。",antiPatternsTitle:"アンチパターンチートシート",antiPatternsDesc:"試験で出題されやすい間違いの選択肢と、それが間違いである理由。",readGuide:"ガイドを読む",backToGuides:"学習ガイド一覧に戻る"},scenarios:{metadata:{title:"シナリオ解説 — Claude Certified Architect",description:"6つの公式 CCAR-F 試験シナリオの解説と、2つの追加練習シナリオ。",keywords:"CCAR-F シナリオ, Claude 試験シナリオ"},title:"シナリオ解説",subtitle:"本試験では公式の6シナリオから無作為に4つが出題されます。各シナリオの考え方を解説し、追加練習シナリオも2つ用意しました。",walkthrough:"解説",ofEight:"シナリオ {number}",relatedDomains:"関連ドメイン",readWalkthrough:"解説を読む",backToScenarios:"シナリオ一覧に戻る"},practice:{metadata:{title:"模擬試験とクイズ — Claude Certified Architect",description:"本番形式の時間制限付き CCAR-F 模擬試験、ドメイン別クイズ、および詳細な解説付きの無料の実力診断クイズ。",keywords:"CCAR-F 模擬試験, Claude 模擬試験, Claude 演習問題"}
18,title:"模擬試験",subtitle:"本番さながらの時間制限と配点比率の模擬試験で練習し、すべての解答を確認しましょう。",startExam:"開始",resume:"再開",questionsCount:"{count} 問",timeLimit:"{minutes} 分",untimed:"時間制限なし",examMode:"模擬試験(本番形式)",quizMode:"ドメイン別クイズ",diagnostic:"無料の実力診断",scenario:"シナリオ",free:"無料",premium:"試験パス",premiumGate:{title:"本格的な模擬試験は試験パスに含まれています",description:"時間制限付きの模擬試験、すべての問題バンク、および詳細な解説をアンロックしましょう。",cta:"料金を見る"},rules:{title:"開始する前に",questions:"問題数",time:"制限時間",scoring:"採点方式",scoringValue:"100〜1000のスケールドスコア、合格ラインは720",note:"問題をフラグ(目印)設定し、送信前に見直すことができます。"},begin:"試験を開始する",signInToSave:"結果を保存するにはサインインしてください。",catalogEmpty:"模擬試験は間もなく公開されます。"},quiz:{question:"問題",of:"/",next:"次へ",previous:"前へ",submit:"送信",flag:"見直しのフラグを設定",flagged:"フラグ設定済み",timeRemaining:"残り時間",finishExam:"試験を終了する",confirmSubmit:"試験を提出しますか?",confirmSubmitDesc:"未回答の問題が {count} 問あります。提出した後は回答を変更できません。",unanswered:"未回答",answered:"回答済み",cancel:"続ける",confirm:"提出",timeUp:"制限時間になりました。試験が自動的に提出されました。",saving:"保存中…",loadError:"試験を読み込めませんでした。もう一度お試しください。"},results:{metadata:{title:"試験結果 — Claude Certified Architect",description:"CCAR-F 模擬試験結果。",keywords:"CCAR-F 結果"},title:"試験結果",score:"スコア",scaledScore:"スケールドスコア",passed:"合格",failed:"不合格(もう一歩)",passingScore:"合格ライン:720",yourScore:"あなたのスコア:{score}",byDomain:"ドメイン別詳細",correctOf:"{total} 問中 {correct} 問正解",retake:"再受験",reviewAnswers:"解答を見直す",backToPractice:"模擬試験一覧に戻る",correct:"正解",incorrect:"不正解",yourAnswer:"あなたの回答",correctAnswer:"正解",explanation:"解説",notFound:"結果が見つかりません。",completedOn:"受験日 {date}"},flashcards:{metadata:{title:"フラッシュカード — Claude Certified Architect",description:"すべての CCAR-F 試験ドメイン向けの間隔反復フラッシュカードデッキ。",keywords:"CCAR-F フラッシュカード, Claude フラッシュカード, 間隔反復"},title:"フラッシュカード",subtitle:"間隔反復で重要な事実を記憶に定着させます。ドメインごとに1つのデッキと、用語集のデッキを用意しています。",decks:"デッキ一覧",cards:"{count} 枚のカード",studyDeck:"学習を開始",flip:"めくる",showAnswer:"解答を表示",again:"もう一度",good:"正解",easy:"簡単",dueToday:"本日分 {count} 枚",mastered:"習得済み",deckComplete:"本日のデッキ学習は完了しました!",noDue:"現在学習すべきカードはありません。後でまた確認してください。",premium:"試験パス",progressSaved:"進捗がアカウントに保存されました。",progressLocal:"進捗はこのデバイスに保存されました。同期するにはサインインしてください。"},glossary:{metadata:{title:"用語集 — Claude Certified Architect",description:"Claude Certified Architect 試験の重要な用語の定義。",keywords:"Claude 用語集, CCAR-F 用語, MCP 用語集"},title:"用語集",subtitle:"CCAR-F 試験の重要な用語。レッスンや学習ガイドから相互リンクされています。",search:"用語を検索…",seeAlso:"関連項目",noResults:"検索条件に一致する用語はありません。",backToGlossary:"用語集に戻る"},faq:{metadata:{title:"FAQ — Claude Certified Architect 試験対策",de
18scription:"Claude Certified Architect 試験および対策に関するよくある質問と回答。",keywords:"CCAR-F FAQ, Claude 認定試験の質問, CCAR-F 受験資格, CCAR-F 料金"},title:"よくある質問",subtitle:"試験について、および本サイトを利用した対策方法についてのすべて。",items:[{q:"Claude Certified Architect – Foundations(CCAR-F)試験とは何ですか?",a:"Claude を使用してシステムを設計・構築する人向けの Anthropic の基礎認定資格です。エージェント設計、ツールと MCP、Claude Code のワークフロー、プロンプトエンジニアリング、コンテキスト管理を網羅します。試験は 120 分間で、公式 6 シナリオから選ばれた 4 シナリオに属する 60 問(単一回答・複数回答)が出題され、100〜1000 のスケールドスコアで採点、合格ラインは 720 です。"},{q:"CCAR-F と CCAR-F のどちらが正しいですか?",a:"公式の試験コードは CCAR-F(試験ガイド v1.0、2026 å¹´ 7 月)です。CCAR-F は以前のコミュニティでの略称で、同じ試験を指します。Pearson VUE と Credly は CCAR-F を使用しています。"},{q:"誰が受験できますか?",a:"Claude Partner Network 加盟組織に所属する人のみです。パートナー企業のメールアドレスで Anthropic Partner Academy に登録し(個人アドレスは拒否されます)、18 歳以上で、政府発行の身分証の氏名が登録と一致している必要があります。どの企業でも Partner Network に申請でき、Registered ティアは無料です。"},{q:"受験料と有効期間は?",a:"2026-06-30 以降、1 回あたり 125 米ドルです(開始時は 99 ドル)。Select、Preferred、Global Premier のパートナーは 50% 割引、Global Premier は 2026-12-31 まで無料です。認定の有効期間は 12 か月で、Partner Academy 上の無料・非監督の更新アセスメントで更新できます。"},{q:"不合格になった場合は?",a:"1 回目の不合格後は 14 日、2 回目の後は 30 日、3 回目の後は 90 日待つ必要があり、直近 12 か月あたり 1 試験につき最大 4 回まで受験できます。毎回、全額の受験料がかかります。"},{q:"日本語で受験できますか?",a:"できません。試験と公式の対策コンテンツは英語のみで、試験中はブラウザの翻訳ツールの使用が禁止されています。そのため当サイトのレッスンは 5 言語で提供しつつ、模擬試験は英語のみとし、本試験の語彙での読解速度を鍛えられるようにしています。"},{q:"複数選択の問題はありますか?",a:"あります。試験には単一回答と複数回答の問題があり、各問題に選ぶべき回答数が明記されます。当サイトの演習問題にも複数回答の問題が含まれ、同じ方式で採点されます。"},{q:"これは Anthropic の公式ウェブサイトですか?",a:"いいえ、本サイトは独立した学習リソースです。Anthropic 社との提携、承認、スポンサーシップの関係はありません。カリキュラムは公式試験ガイドに対応付け、各ページに表示された日付で照合しています。"},{q:"何が無料で、何が有料ですか?",a:"すべての学習ガイド、試験ブループリント、受験情報と受験資格、12 週間の学習プラン、アンチパターンのチートシート、シナリオ解説、用語集、無料の実力診断クイズは無料です。「試験パス」を購入すると、時間制限のある本番形式模擬試験、詳細な解説付きの全演習問題、すべてのフラッシュカードデッキ、すべてのプレミアムレッスン、進捗の追跡がアンロックされます。"},{q:"演習問題は全部で何問ありますか?",a:"リリース時点の問題バンクには、実際の試験の配点比率に合わせた 5 ドメインの 120 問以上が収録されており、模擬試験は今後も追加される予定です。"},{q:"本サイトが対応している言語は?",a:"レッスンと学習ガイドは英語、日本語、韓国語(한국어)、ブラジルポルトガル語(Português)、簡体字中国語(简体中文)に対å¿
18œã—ています。模擬試験は本試験と同様に英語のみです。"},{q:"模擬試験はどのように採点されますか?",a:"本番の試験と同様に、素点が 100〜1000 のスケールドスコアに変換され、720 点が合格ラインです。受験ごとにドメイン別の内訳が表示され、公式スコアレポートのドメイン別正答率と同じ見方ができます。"},{q:"サポートへの連絡方法は?",a:"[email protected] にメールしてください。ログインに使用したメールアドレスを記載してください。購入やアクセスの問題は当日中に対応します。"}]},about:{metadata:{title:"当サイトについて — Claude Certified Architect 試験対策",description:"独立した Claude Certified Architect 試験対策リソースについての紹介。",keywords:"当サイトについて, Claude Certified Architect 対策"},title:"当サイトについて",body:"当サイトは、Claude Certified Architect — Foundations 試験に特化した、ブループリントに完全準拠した試験対策リソースを提供しています。コース、学習ガイド、模擬試験は、実際に Claude を使用して本番システムを構築している実務家によって執筆されており、すべてのコンテンツが特定の試験ドメインに対応しているため、限られた学習時間を最も効果的に活用できます。",missionTitle:"私たちのミッション",mission:"すべての開発者やアーキテクトが、自分の言語で Claude Certified Architect 試験の準備をし、合格できるようにすることを支援します。",disclaimerTitle:"免責事項",disclaimer:"本サイトは独立した学習リソースです。Anthropic, PBC 社との提携、承認、スポンサーシップの関係はありません。Claude および Anthropic は Anthropic, PBC の商標です。すべての試験の詳細は公開情報に基づいており、変更される可能性があります。最新の試験の詳細は必ず公式のソースでご確認ください。"},certification:{name:"Claude Certified Architect – Foundations",shortName:"CCAR-F",examFormat:"60問のシナリオベース問題(単一回答・複数回答)",questionsLabel:"問題数",questionsValue:"60問(単一回答・複数回答)、公式6シナリオから4シナリオを出題",timeLimit:"制限時間",timeLimitValue:"120分",passingScore:"合格ライン",passingScoreValue:"720点 (100〜1000のスケールドスコア)",validity:"有効期限",validityValue:"12か月(無料の更新アセスメント)",cost:"受験料",costValue:"125米ドル(2026-06-30以降)",level:"レベル",levelValue:"ファウンデーション(基礎)"},progress:{tabTitle:"学習進捗",tabDescription:"模擬試験の受験履歴、レッスンの完了状況、およびフラッシュカードの学習状況",title:"学習進捗",examAttempts:"模擬試験の受験履歴",noAttempts:"まだ受験履歴はありません — 模擬試験を受けてスコアを確認しましょう。",lessonsCompleted:"完了したレッスン",noLessons:"完了したレッスンはまだありません。",flashcardsTitle:"フラッシュカード",cardsDue:"残り {count} 枚",cardsMastered:"習得済み {count} 枚",attempt:"受験回数",score:"スコア",passed:"合格",failed:"不合格",date:"受験日",completedLabel:"{count} 個完了",signInPrompt:"デバイス間で進捗を追跡するにはサインインしてください。",loading:"読み込み中…"},courseUx:Ur.ja,examInfo:wn.ja,quizUx:Mr.ja},Hw={common:{welcome:"Claude Certified Architect에 오신 것을 환영합니다",siteName:"Claude Certified Architect",login:"로그인",signup:"회원가입",logout:"로그아웃",profile:"프로필",settings:"설정",and:"및",loading:"로딩 중...",unexpectedError:"예상치 못한 오류가 발생했습니다",notAvailable:"N/A",viewPlans:"요금제 보기",yes:"예",no:"아니오",theme:{light:"라이트 테마",dark:"다크 테마",system:"시스템 테마",toggle:"테마 전환",appearance:"화면",colorScheme:"색상 스키마",themes:{default:"기본",claude:"Claude","cosmic-night":"C
18osmic Night","modern-minimal":"Modern Minimal","ocean-breeze":"Ocean Breeze"}}},navigation:{home:"홈",dashboard:"대시보드",orders:"주문",shipments:"배송",tracking:"배송 추적",admin:{dashboard:"대시보드",users:"사용자",subscriptions:"구독",orders:"주문",credits:"크레딧",application:"애플리케이션",blog:"블로그"}},actions:{save:"저장",cancel:"취소",confirm:"확인",delete:"삭제",edit:"수정",tryAgain:"다시 시도",createAccount:"계정 생성",sendCode:"인증번호 전송",verify:"인증",backToList:"사용자 목록으로 돌아가기",saveChanges:"변경 사항 저장",createUser:"사용자 생성",deleteUser:"사용자 삭제",back:"뒤로",resendCode:"인증번호 재전송",resendVerificationEmail:"인증 이메일 재전송",upload:"업로드",previous:"이전",next:"다음",createPost:"새 글 작성",deletePost:"글 삭제",backToBlog:"블로그로 돌아가기"},email:{verification:{subject:"Claude Certified Architect 계정 인증",title:"이메일 주소 인증",greeting:"안녕하세요 {{name}}님,",message:"Claude Certified Architect에 가입해 주셔서 감사합니다. 가입을 완료하려면 아래 버튼을 클릭하여 이메일 주소를 인증해 주세요.",button:"이메일 주소 인증",alternativeText:"또는 다음 링크를 복사하여 브라우저에 붙여넣으세요:",expiry:"이 링크는 {{expiry_hours}}시간 후에 만료됩니다.",disclaimer:"이 인증을 요청하지 않으셨다면 이 이메일을 무시해 주세요.",signature:"Happy Shipping, Claude Certified Architect 팀 드림",copyright:"© {{year}} Claude Certified Architect. All rights reserved."},resetPassword:{subject:"Claude Certified Architect 비밀번호 재설정",title:"비밀번호 재설정",greeting:"안녕하세요 {{name}}님,",message:"비밀번호 재설정 요청을 받았습니다. 아래 버튼을 클릭하여 새 비밀번호를 생성해 주세요. 이 요청을 하지 않으셨다면 이 이메일을 무시하셔도 안전합니다.",button:"Reset Password",alternativeText:"또는 다음 링크를 복사하여 브라우저에 붙여넣으세요:",expiry:"이 링크는 {{expiry_hours}}시간 후에 만료됩니다.",disclaimer:"비밀번호 재설정을 요청하지 않으셨다면 아무런 조치도 취할 필요가 없습니다.",signature:"Happy Shipping, Claude Certified Architect 팀 드림",copyright:"© {{year}} Claude Certified Architect. All rights reserved."}},auth:{metadata:{signin:{title:"Claude Certified Architect - 로그인",description:"대시보드 접속, 구독 관리 및 프리미엄 기능 이용을 위해 Claude Certified Architect 계정에 로그인하세요.",keywords:"sign in, login, authentication, account access, dashboard"},signup:{title:"Claude Certified Architect - 계정 생성",description:"Claude Certified Architect 계정을 생성하고 포괄적인 스타터 키트를 통해 놀라운 SaaS 애플리케이션 구축을 시작해 보세요.",keywords:"sign up, register, create account, new user, get started"},forgotPassword:{title:"Claude Certified Architect - 비밀번호 재설정",description:"Claude Certified Architect 계정 비밀번호를 안전하게 재설정하세요. 비밀번호 재설정 안내를 받으실 이메일을 입력하세요.",keywords:"forgot password, reset password, password recovery, account recovery"},resetPassword:{title:"Claude Certified Architect - 새 비밀번호 생성",description:"Claude Certified Architect 계정을 위한 안전한 새 비밀번호를 생성하세요. 계정을 보호하기 위해 강력한 비밀번호를 선택해 주세요.",keywords:"new password, password reset, secure password, account security"},phone:{title:"Claude Certified Architect - 휴대폰 로그인",description:"휴대폰 번호를 사용하여 Claude Certified Architect에 로그인하세요. SMS 인증으로 빠르고 안전한 인증을 제공합니다.",keywords:"phone login, SMS verification, mobile authentication, phone number"},wechat:{title:"Claude Certified Architect - WeChat 로그인",description:"WeChat 계정을 사용하여 Claude Certified Architect에 로그인하세요. 편리한 인증을 제공합니다.",keywords:"WeChat login, 微信登录, social login, Chinese authentication"}},signin:{title:"계정에 로그인하기",welcomeBack:"다시 오신 것을 환영합니다",socialLogin:"소셜 계정으로 로그인",continueWith:"또는 다음으로 계속",email:"이메일",emailPlaceholder:"이메일을 입력하세요",password:"비밀번호",forgotPassword:"비밀번호를 잊으셨나요?",rememberMe:"로그인 상태 유지",submit:"로그인",submitting:"로그인 중...",noAccount:"계정이 없으신가요?",signupLink:"회원가입",termsNotice:"계속 진행함으로써 귀하는 다음 사항에 동의하게 됩니다:",termsOfService:"서비스 약관",privacyPolicy:"개인정보 처리방침",socialProviders:{google:"Google",github:"GitHub",apple:"Apple",wechat:"WeChat",phone:"Phone"},errors:{invalidEmail:"올바른 이메일을 입력해 주세요",requiredEmail:"이메일은 필수 입력 항목입니다",requiredPassword:"비밀번호는 필수 입력 항목입니다",invali
18dCredentials:"잘못된 이메일 또는 비밀번호입니다",captchaRequired:"캡차 인증을 완료해 주세요",emailNotVerified:{title:"이메일 인증 필요",description:"이메일을 확인하고 인증 링크를 클릭해 주세요. 이메일을 받지 못하셨다면 아래 버튼을 클릭하여 재전송하세요.",resendSuccess:"인증 이메일이 재전송되었습니다. 받은 편지함을 확인해 주세요.",resendError:"인증 이메일 재전송에 실패했습니다. 나중에 다시 시도해 주세요.",dialogTitle:"인증 이메일 재전송",dialogDescription:"인증 이메일을 재전송하기 전에 캡차 인증을 완료해 주세요",emailLabel:"이메일 주소",sendButton:"인증 이메일 전송",sendingButton:"전송 중...",waitButton:"{seconds}초 대기"}}},signup:{title:"Claude Certified Architect 가입하기",createAccount:"계정 만들기",socialSignup:"소셜 계정으로 회원가입",continueWith:"또는 다음으로 계속",name:"이름",namePlaceholder:"이름을 입력하세요",email:"이메일",emailPlaceholder:"이메일을 입력하세요",password:"비밀번호",passwordPlaceholder:"비밀번호 만들기",imageUrl:"프로필 이미지 URL",imageUrlPlaceholder:"https://example.com/your-image.jpg",optional:"선택 사항",submit:"계정 생성",submitting:"계정 생성 중...",haveAccount:"이미 계정이 있으신가요?",signinLink:"로그인",termsNotice:"계속 진행함으로써 귀하는 다음 사항에 동의하게 됩니다:",termsOfService:"서비스 약관",privacyPolicy:"개인정보 처리방침",verification:{title:"인증 필요",sent:"다음 주소로 인증 이메일을 보냈습니다:",checkSpam:"이메일을 찾을 수 없나요? 스팸 메일함을 확인해 주세요.",spamInstruction:"그래도 보이지 않는다면,"},errors:{invalidName:"올바른 이름을 입력해 주세요",requiredName:"이름은 필수 입력 항목입니다",invali
18dEmail:"올바른 이메일을 입력해 주세요",requiredEmail:"이메일은 필수 입력 항목입니다",invalidPassword:"올바른 비밀번호를 입력해 주세요",requiredPassword:"비밀번호는 필수 입력 항목입니다",invalidImage:"올바른 이미지 URL을 입력해 주세요",captchaRequired:"캡차 인증을 완료해 주세요",captchaError:"캡차 인증에 실패했습니다. 다시 시도해 주세요",captchaExpired:"캡차 인증이 만료되었습니다. 다시 시도해 주세요"}},phone:{title:"휴대폰 로그인",description:"인증번호를 받으실 휴대폰 번호를 입력하세요",phoneNumber:"휴대폰 번호",phoneNumberPlaceholder:"휴대폰 번호를 입력하세요",countryCode:"국가/지역",verificationCode:"인증번호",enterCode:"인증번호 입력",sendingCode:"인증번호 전송 중...",verifying:"인증 중...",codeSentTo:"다음 번호로 인증번호가 전송되었습니다:",resendIn:"다음 시간 후 재전송",seconds:"초",resendCode:"인증번호 재전송",resendCountdown:"초 남음",termsNotice:"계속 진행함으로써 귀하는 다음 사항에 동의하게 됩니다:",termsOfService:"서비스 약관",privacyPolicy:"개인정보 처리방침",errors:{invalidPhone:"올바른 휴대폰 번호를 입력해 주세요",requiredPhone:"휴대폰 번호는 필수 입력 항목입니다",requiredCountryCode:"국가/지역을 선택해 주세요",invalidCode:"올바른 인증번호를 입력해 주세요",requiredCode:"인증번호는 필수 입력 항목입니다",captchaRequired:"캡차 인증을 완료해 주세요"}},forgetPassword:{title:"비밀번호 분실",description:"비밀번호를 재설정하고 계정 액세스 권한을 다시 확보하세요",email:"이메일",emailPlaceholder:"이메일을 입력하세요",submit:"재설정 링크 전송",submitting:"전송 중...",termsNotice:"계속 진행함으로써 귀하는 다음 사항에 동의하게 됩니다:",termsOfService:"서비스 약관",privacyPolicy:"개인정보 처리방침",verification:{title:"이메일 확인",sent:"다음 주소로 비밀번호 재설정 링크를 전송했습니다:",checkSpam:"이메일을 찾을 수 없나요? 스팸 메일함을 확인해 주세요."},errors:{invalidEmail:"올바른 이메일을 입력해 주세요",requiredEmail:"이메일은 필수 입력 항목입니다",captchaRequired:"캡차 인증을 완료해 주세요"}},resetPassword:{title:"비밀번호 재설정",description:"계정에 사용할 새 비밀번호를 만드세요",password:"새 비밀번호",passwordPlaceholder:"새 비밀번호를 입력하세요",confirmPassword:"비밀번호 확인",confirmPasswordPlaceholder:"새 비밀번호를 다시 입력하세요",submit:"비밀번호 재설정",submitting:"재설정 중...",success:{title:"비밀번호 재설정 완료",description:"비밀번호가 성공적으로 재설정되었습니다.",backToSignin:"로그인으로 돌아가기",goToSignIn:"로그인으로 돌아가기"},errors:{invalidPassword:"비밀번호는 최소 8자 이상이어야 합니다",requiredPassword:"비밀번호는 필수 입력 항목입니다",passwordsDontMatch:"비밀번호가 일치하지 않습니다",invali
18dToken:"유효하지 않거나 만료된 재설정 링크입니다. 다시 시도해 주세요."}},wechat:{title:"WeChat 로그인",description:"로그인을 위해 WeChat으로 스캔해 주세요",scanQRCode:"WeChat으로 QR 코드를 스캔해 주세요",orUseOtherMethods:"또는 다른 방법으로 로그인",loadingQRCode:"QR 코드 로딩 중...",termsNotice:"계속 진행함으로써 귀하는 다음 사항에 동의하게 됩니다:",termsOfService:"서비스 약관",privacyPolicy:"개인정보 처리방침",errors:{loadingFailed:"WeChat QR 코드 로드 실패",networkError:"네트워크 오류입니다. 다시 시도해 주세요."}},authErrors:{USER_NOT_FOUND:"이 이메일로 등록된 계정을 찾을 수 없습니다",USER_ALREADY_EXISTS:"이 이메일을 사용하는 사용자가 이미 존재합니다",USER_ALREADY_EXISTS_USE_ANOTHER_EMAIL:"이미 존재하는 사용자입니다. 다른 이메일을 사용해 주세요",USER_EMAIL_NOT_FOUND:"사용자의 이메일을 찾을 수 없습니다",FAILED_TO_CREATE_USER:"사용자 생성 실패",FAILED_TO_UPDATE_USER:"사용자 정보 업데이트 실패",INVALID_EMAIL:"유효하지 않은 이메일 주소입니다",INVALID_PASSWORD:"잘못된 비밀번호입니다",INVALID_EMAIL_OR_PASSWORD:"잘못된 이메일 또는 비밀번호입니다",INVALID_CREDENTIALS:"잘못된 자격 증명이 제공되었습니다",INVALID_TOKEN:"유효하지 않거나 만료된 토큰입니다",PASSWORD_TOO_SHORT:"비밀번호가 너무 짧습니다",PASSWORD_TOO_LONG:"비밀번호가 너무 깁니다",EMAIL_NOT_VERIFIED:"이메일 주소를 인증해 주세요",EMAIL_ALREADY_VERIFIED:"이메일이 이미 인증되었습니다",EMAIL_MISMATCH:"이메일이 일치하지 않습니다",EMAIL_CAN_NOT_BE_UPDATED:"이메일을 업데이트할 수 없습니다",VERIFICATION_EMAIL_NOT_ENABLED:"인증 이메일이 활성화되지 않았습니다",SESSION_EXPIRED:"세션이 만료되었습니다. 다시 로그인해 주세요",SESSION_NOT_FRESH:"세션이 만료되었습니다. 다시 인증해 주세요",FAILED_TO_CREATE_SESSION:"세션 생성 실패",FAILED_TO_GET_SESSION:"세션 가져오기 실패",ACCOUNT_NOT_FOUND:"계정을 찾을 수 없습니다",ACCOUNT_BLOCKED:"계정이 일시적으로 정지되었습니다",CREDENTIAL_ACCOUNT_NOT_FOUND:"자격 증명 계정을 찾을 수 없습니다",SOCIAL_ACCOUNT_ALREADY_LINKED:"소셜 계정이 이미 연동되어 있습니다",LINKED_ACCOUNT_ALREADY_EXISTS:"연동된 계정이 이미 존재합니다",FAILED_TO_UNLINK_LAST_ACCOUNT:"마지막 계정은 연동을 해제할 수 없습니다",USER_ALREADY_HAS_PASSWORD:"사용자가 이미 비밀번호를 설정했습니다",PHONE_NUMBER_ALREADY_EXISTS:"이미 등록된 휴대폰 번호입니다",INVALID_PHONE_NUMBER:"유효하지 않은 휴대폰 번호 형식입니다",OTP_EXPIRED:"인증번호가 만료되었습니다",INVALID_OTP:"잘못된 인증번호입니다",OTP_TOO_MANY_ATTEMPTS:"인증 시도가 너무 많습니다. 새 코드를 요청해 주세요",PROVIDER_NOT_FOUND:"제공자를 찾을 수 없습니다",ID_TOKEN_NOT_SUPPORTED:"ID 토큰이 지원되지 않습니다",FAILED_TO_GET_USER_INFO:"사용자 정보를 가져오지 못했습니다",CAPTCHA_REQUIRED:"캡차 인증을 완료해 주세요",CAPTCHA_INVALID:"캡차 인증에 실패했습니다",TOO_MANY_REQUESTS:"요청이 너무 많습니다. 나중에 다시 시도해 주세요",CROSS_SITE_NAVIGATION_LOGIN_BLOCKED:"크로스 사이트 탐색 로그인이 차단되었습니다",INVALID_ORIGIN:"유효하지 않은 오리진(Origin)입니다",MISSING_OR_NULL_ORIGIN:"오리진이 없거나 잘못되었습니다",INVALID_CALLBACK_URL:"유효하지 않은 콜백 URL입니다",INVALID_REDIRECT_URL:"유효하지 않은 리디렉션 URL입니다",INVALID_ERROR_CALLBACK_URL:"유효하지 않은 에러 콜백 URL입니다",INVALID_NEW_USER_CALLBACK_URL:"유효하지 않은 신규 사용자 콜백 URL입니다",CALLBACK_URL_REQUIRED:"콜백 URL은 필수입니다",VALIDATION_ERROR:"유효성 검사 오류",MISSING_FIELD:"필수 필드가 누락되었습니다",FIELD_NOT_ALLOWED:"허용되지 않는 필드입니다",ASYNC_VALIDATION_NOT_SUPPORTED:"비동기 유효성 검사는 지원되지 않습니다",FAILED_TO_CREATE_VERIFICATION:"인증 생성 실패",EMAIL_SEND_FAILED:"이메일 전송 실패. 나중에 다시 시도해 주세요",SMS_SEND_FAILED:"SMS 전송 실패. 나중에 다시 시도해 주세요",UNKNOWN_ERROR:"예상치 못한 오류가 발생했습니다"}},admin:{metadata:{title:"Claude Certified Architect - 관리자 대시보드",description:"귀하의 SaaS 애플리케이션의 사용자, 구독, 주문 및 시스템 분석을 관리하기 위한 종합 관리자 대시보드입니다.",keywords:"admin, dashboard, management, SaaS, analytics, users, subscriptions, orders"},dashboard:{title:"관리자 대시보드",accessDenied:"접근 거부",noPermission:"관리자 대시보드에 접근할 권한이 없습니다",lastUpdated:"최근 업데이트",metrics:{totalRevenue:"총 매출",totalRevenueDesc:"누적 매출",newCustomers:"월간 신규 고객",newCustomersDesc:"이번 달 신규 고객",newOrders:"월간 신규 주문",newOrdersDesc:"이번 달 신규 주문",fromLastMonth:"지난달 대비"},chart:{monthlyRevenueTrend:"월간 매출 추이",revenue:"매출",orders:"주문"},todayData:{title:"오늘의 데이터",revenue:"매출",newUsers:"신규 사용자",orders:"주문"},monthData:{title:"이번 달 데이터",revenue:"월간 매출",newUsers:"월간 신규 사용자",orders:"월간 주문"},recentOrders:{title:"최근 주문",orderId:"주문 ID",customer:"고객",plan:"요금제",amount:"금액",provider:"결제 수단",status:"상태",time:"시간",total:"합계"}},users:{title:"사용자 관리",subtitle:"사용자, 역할 및 권한 관리",createUser:"사용자 생성",editUser:"사용자 수정",actions:{addUser:"사용자 추가",editUser:"사용자 수정",deleteUser:"사용자 삭제",banUser:"사용자 정지",unbanUser:"사용자 정지 해제"},table:{columns:{id:"ID",name:"이름",email:"이메일",role:"역할",phoneNumber:"휴대폰 번호",emailVerified:"이메일 인증됨",banned:"정지됨",createdAt:"생성일",updatedAt:"수정일",actions:"작업"},actions:{editUser:"사용자 수정",deleteUser:"사용자 삭제",clickToCopy:"클릭하여 복사"},sort:{ascending:"오름차순 정렬",descending:"내림차순 정렬",none:"정렬 해제"},noResults:"검색된 사용자가 없습니다",search:{searchBy:"다음으로 검색:",searchPlaceholder:"{field} 검색...",filterByRole:"역할별 필터",allRoles:"모든 역할",banStatus:"정지 상태",allUsers:"모든 사용자",bannedUsers:"정지됨",notBannedUsers:"정지 안 됨",view:"보기",toggleColumns:"열 표시 설정"},pagination:{showing:"총 {total}개 결과 중 {start}~{end} 표시",pageInfo:"{total}페이지 중 {current}페이지"},dialog:{banTitle:"사용자 정지",banDescription:"정말 이 사용자를 정지하시겠습니까? 해당 사용자는 애플리케이션에 접근할 수 없게 됩니다.",banSuccess:"사용자가 성공적으로 정지되었습니다",unbanSuccess:"사용자 정지가 성공적으로 해제되었습니다",updateRoleSuccess:"사용자 역할이 성공적으로 업데이트되었습니다",updateRoleFailed:"사용자 역할 업데이트에 실패했습니다"}},banDialog:{title:"사용자 정지",description:"정말 {userName} 사용자를 정지하시겠습니까? 해당 사용자는 애플리케이션에 접근할 수 없게 됩니다."}
18,unbanDialog:{title:"사용자 정지 해제",description:"정말 {userName} 사용자의 정지를 해제하시겠습니까? 해당 사용자는 애플리케이션 접근 권한을 다시 얻게 됩니다."},form:{title:"사용자 정보",description:"아래에 사용자 상세 정보를 입력하세요",labels:{name:"이름",email:"이메일",password:"비밀번호",confirmPassword:"비밀번호 확인",role:"역할",image:"프로필 이미지",phoneNumber:"휴대폰 번호",emailVerified:"이메일 인증됨",phoneVerified:"휴대폰 인증됨",banned:"정지됨",banReason:"정지 사유"},placeholders:{name:"사용자 이름을 입력하세요",email:"사용자 이메일을 입력하세요",password:"비밀번호 입력 (최소 8자)",confirmPassword:"비밀번호 확인 입력",selectRole:"역할 선택",image:"https://example.com/avatar.jpg",phoneNumber:"휴대폰 번호를 입력하세요",banReason:"정지 사유 (선택 사항)"},validation:{nameRequired:"이름은 필수 입력 항목입니다",emailRequired:"이메일은 필수 입력 항목입니다",emailInvalid:"올바른 이메일을 입력해 주세요",passwordRequired:"비밀번호는 필수 입력 항목입니다",passwordMinLength:"비밀번호는 최소 8자 이상이어야 합니다",passwordMismatch:"비밀번호가 일치하지 않습니다",roleRequired:"역할은 필수 선택 항목입니다"}},deleteDialog:{title:"사용자 삭제",description:"정말로 삭제하시겠습니까? 이 작업은 취소할 수 없습니다. 사용자 계정이 영구적으로 삭제되며 모든 관련 데이터가 제거됩니다."},messages:{createSuccess:"사용자가 성공적으로 생성되었습니다",updateSuccess:"사용자 정보가 성공적으로 업데이트되었습니다",deleteSuccess:"사용자가 성공적으로 삭제되었습니다",deleteError:"사용자 삭제 실패",fetchError:"사용자 데이터를 불러오지 못했습니다",operationFailed:"작업 실패"}},orders:{title:"주문 관리",actions:{createOrder:"주문 생성"},messages:{fetchError:"주문 목록을 불러오지 못했습니다. 다시 시도해 주세요."},table:{noResults:"주문 내역이 없습니다.",search:{searchBy:"다음으로 검색...",searchPlaceholder:"{field}(으)로 검색...",filterByStatus:"상태별 필터",allStatus:"모든 상태",filterByProvider:"결제 제공업체",allProviders:"모든 제공업체",stripe:"Stripe",wechat:"WeChat",creem:"Creem",alipay:"Alipay",dodo:"Dodo Payments",pending:"대기 중",paid:"결제 완료",failed:"실패",refunded:"환불됨",canceled:"취소됨"},columns:{id:"주문 ID",user:"사용자",amount:"금액",plan:"요금제",status:"상태",provider:"제공업체",providerOrderId:"결제 대행사 주문 ID",createdAt:"생성일",actions:"작업"},actions:{openMenu:"메뉴 열기",actions:"작업",viewOrder:"주문 보기",refundOrder:"환불 처리",clickToCopy:"클릭하여 복사"},sort:{ascending:"오름차순 정렬",descending:"내림차순 정렬",none:"정렬 해제"}},status:{pending:"대기 중",paid:"결제 완료",failed:"실패",refunded:"환불됨",canceled:"취소됨"}},blog:{title:"블로그 관리",subtitle:"블로그 포스트 작성 및 관리",createPost:"포스트 생성",editPost:"포스트 수정",actions:{newPost:"새 글 작성"},messages:{fetchError:"블로그 글을 불러오지 못했습니다. 다시 시도해 주세요.",createSuccess:"포스트가 성공적으로 생성되었습니다",updateSuccess:"포스트가 성공적으로 업데이트되었습니다",deleteSuccess:"포스트가 성공적으로 삭제되었습니다",deleteError:"포스트 삭제 실패",operationFailed:"작업 실패",uploadSuccess:"업로드 성공",uploadError:"업로드 실패"},table:{noResults:"작성된 포스트가 없습니다.",search:{searchPlaceholder:"제목으로 검색...",filterByStatus:"상태별 필터",allStatus:"모든 상태",draft:"임시 저장",published:"발행됨"},columns:{title:"제목",status:"상태",author:"작성자",publishedAt:"발행일",createdAt:"생성일",actions:"작업"},actions:{edit:"수정",delete:"삭제"},sort:{ascending:"오름차순 정렬",descending:"내림차순 정렬",none:"정렬 해제"}}
18,form:{title:"포스트 정보",description:"아래에 포스트 정보를 입력하세요",labels:{title:"제목",slug:"슬러그(Slug)",excerpt:"요약",coverImage:"커버 이미지",status:"상태",content:"내용"},placeholders:{title:"포스트 제목을 입력하세요",slug:"URL에 적합한 슬러그 (제목에서 자동 생성됨)",excerpt:"포스트의 간략한 요약",coverImage:"드래그 앤 드롭 하거나 클릭하여 업로드 (최대 2MB)",content:"마크다운(Markdown) 형식으로 내용을 작성하세요..."}},deleteDialog:{title:"포스트 삭제",description:"정말 삭제하시겠습니까? 이 작업은 취소할 수 없습니다. 이 포스트는 영구적으로 삭제됩니다."}},credits:{title:"크레딧 거래 내역",subtitle:"모든 사용자의 모든 크레딧 거래 내역 조회",messages:{fetchError:"크레딧 거래 내역을 불러오지 못했습니다. 다시 시도해 주세요."},table:{noResults:"크레딧 거래 내역이 없습니다.",search:{searchBy:"다음으로 검색...",searchPlaceholder:"{field}(으)로 검색...",filterByType:"유형별 필터",allTypes:"모든 유형",purchase:"구매",consumption:"사용",refund:"환불",bonus:"보너스",adjustment:"조정"},columns:{id:"거래 ID",user:"사용자",type:"유형",amount:"금액",balance:"잔액",description:"설명",createdAt:"생성일",metadata:"메타데이터"},actions:{clickToCopy:"클릭하여 복사",viewDetails:"상세 정보 보기"},sort:{ascending:"오름차순 정렬",descending:"내림차순 정렬",none:"정렬 해제"},pagination:{showing:"총 {total}개 결과 중 {start}~{end} 표시",pageInfo:"{total}페이지 중 {current}페이지"}},type:{purchase:"구매",consumption:"사용",refund:"환불",bonus:"보너스",adjustment:"조정"}},subscriptions:{title:"구독 관리",description:"사용자 구독 및 결제 관리",actions:{createSubscription:"구독 생성"},messages:{fetchError:"구독 목록을 불러오지 못했습니다. 다시 시도해 주세요."},table:{showing:"총 {total}개 결과 중 {from}~{to} 표시",noResults:"구독 정보를 찾을 수 없습니다.",rowsPerPage:"페이지당 행 수",page:"페이지",of:"/",view:"보기",toggleColumns:"열 표시 설정",goToFirstPage:"첫 페이지로 이동",goToPreviousPage:"이전 페이지로 이동",goToNextPage:"다음 페이지로 이동",goToLastPage:"마지막 페이지로 이동",search:{searchLabel:"구독 검색",searchField:"검색 필드",statusLabel:"상태",providerLabel:"제공업체",search:"검색",clear:"초기화",allStatuses:"모든 상태",allProviders:"모든 제공업체",stripe:"Stripe",creem:"Creem",wechat:"WeChat",alipay:"Alipay",dodo:"Dodo Payments",userEmail:"사용자 이메일",subscriptionId:"구독 ID",userId:"사용자 ID",planId:"요금제 ID",stripeSubscriptionId:"Stripe 구독 ID",creemSubscriptionId:"Creem 구독 ID",dodoSubscriptionId:"Dodo 구독 ID",placeholders:{userEmail:"사용자 이메일을 입력하세요...",subscriptionId:"구독 ID를 입력하세요...",userId:"사용자 ID를 입력하세요...",planId:"요금제 ID를 입력하세요...",stripeSubscriptionId:"Stripe 구독 ID를 입력하세요...",creemSubscriptionId:"Creem 구독 ID를 입력하세요...",dodoSubscriptionId:"Dodo 구독 ID를 입력하세요...",default:"검색어를 입력하세요..."},searchBy:"다음으로 검색...",searchPlaceholder:"{field}(으)로 검색...",filterByStatus:"상태별 필터",filterByProvider:"제공업체별 필터",allStatus:"모든 상태",filterByPaymentType:"결제 유형",allPaymentTypes:"모든 유형",active:"활성",canceled:"취소됨",expired:"만료됨",trialing:"체험 중",inactive:"비활성",oneTime:"일회성",recurring:"정기 결제"},columns:{id:"구독 ID",user:"고객",plan:"요금제",status:"상태",paymentType:"결제 유형",provider:"제공업체",periodStart:"시작일",periodEnd:"종료일",cancelAtPeriodEnd:"구독 취소 예정",createdAt:"생성일",updatedAt:"수정일",metadata:"메타데이터",period:"기간",actions:"작업"},actions:{openMenu:"메뉴 열기",actions:"작업",viewSubscription:"구독 정보 보기",cancelSubscription:"구독 취소",clickToCopy:"클릭하여 복사"},sort:{ascending:"오름차순 정렬",descending:"내림차순 정렬",none:"정렬 해제"}}
18,status:{active:"활성",trialing:"체험 중",canceled:"취소됨",cancelled:"취소됨",expired:"만료됨",inactive:"비활성"},paymentType:{one_time:"일회성",recurring:"정기 결제"}}},pricing:{metadata:{title:"Claude Certified Architect - 요금제 안내",description:"필요에 맞는 완벽한 요금제를 선택하세요. 프리미엄 기능을 제공하는 월간, 연간 및 평생 구독을 포함한 유연한 가격 옵션을 확인해 보세요.",keywords:"pricing, plans, subscription, monthly, yearly, lifetime, premium, features"},title:"요금제",subtitle:"자신에게 맞는 요금제를 선택해 보세요",description:"기존의 기간제 구독(월간/연간/평생) 요금제와 AI 시대에 대중적인 크레딧 충전 방식을 모두 제공합니다. 정기 구독을 통해 무제한으로 사용하거나, 크레딧을 구매해 사용한 만큼만 지불하세요.",cta:"시작하기",recommendedBadge:"추천",lifetimeBadge:"1회 구매로 평생 이용",creditsBadge:"크레딧",creditsUnit:"credits",tabs:{subscription:"정기 구독",credits:"크레딧 충전"},features:{securePayment:{title:"다중 제공업체 보안 결제",description:"WeChat Pay, Stripe, Creem을 기업 수준의 보안으로 지원합니다"},flexibleSubscription:{title:"유연한 결제 모델",description:"기간제 정기 구독 또는 AI 시대형 크레딧 시스템 중 원하는 스타일을 선택하세요"},globalCoverage:{title:"글로벌 결제 커버리지",description:"전 세계 어디서나 접속할 수 있는 다중 통화 및 지역 맞춤형 결제 수단을 제공합니다"}},plans:{monthly:{name:"월간 요금제",description:"단기 프로젝트에 적합합니다",duration:"month",features:{所有高级功能:"모든 프리미엄 기능",优先支持:"우선 지원"}},yearly:{name:"연간 요금제",description:"장기 사용을 위한 최고의 혜택",duration:"year",features:{所有高级功能:"모든 프리미엄 기능",优先支持:"우선 지원",两个月免费:"2개월 무료"}},lifetime:{name:"평생 소장 요금제",description:"1회 결제로 평생 이용 가능",duration:"lifetime",features:{所有高级功能:"모든 프리미엄 기능",优先支持:"우선 지원",终身免费更新:"평생 무료 업데이트"}}}},payment:{metadata:{success:{title:"Claude Certified Architect - 결제 완료",description:"결제가 성공적으로 처리되었습니다. 구독해 주셔서 감사하며 프리미엄 기능을 시작해 보세요.",keywords:"payment, success, subscription, confirmation, premium"},cancel:{title:"Claude Certified Architect - 결제 취소",description:"결제가 취소되었습니다. 결제를 다시 시도하거나 당사 지원 팀에 문의하여 도움을 받으실 수 있습니다.",keywords:"payment, cancelled, retry, support, subscription"}},result:{success:{title:"결제 완료",description:"결제가 성공적으로 처리되었습니다.",support:"아직 잠겨 있거나 예상과 다른 부분이 있나요? {email} 로 알려주시면 빠르게 해결해 드립니다.",actions:{viewSubscription:"구독 정보 보기",backToHome:"홈으로 돌아가기"}},cancel:{title:"결제 취소됨",description:"결제가 취소되었습니다.",actions:{tryAgain:"다시 시도",contactSupport:"고객 지원 문의",backToHome:"홈으로 돌아가기"}},failed:"결제에 실패했습니다. 다시 시도해 주세요."},steps:{initiate:"시작",initiateDesc:"결제 준비",scan:"스캔",scanDesc:"QR 코드 스캔",pay:"결제",payDesc:"결제 확인"},scanQrCode:"결제를 완료하려면 WeChat으로 QR 코드를 스캔해 주세요",confirmCancel:"아직 결제가 완료되지 않았습니다. 정말 취소하시겠습니까?",orderCanceled:"주문이 취소되었습니다"},subscription:{metadata:{title:"Claude Certified Architect - 내 구독 관리",description:"구독 대시보드에서 구독 요금제를 관리하고 결제 내역을 조회하며 결제 수단을 업데이트하세요.",keywords:"subscription, billing, payment, plan, management, dashboard"},title:"내 구독 관리",overview:{title:"구독 개요",planType:"요금제 유형",status:"상태",active:"활ì„
18±",startDate:"시작일",endDate:"종료일",progress:"구독 기간 진행률"},management:{title:"구독 관리",description:"고객 포털을 통해 구독을 관리하고 결제 내역을 조회하며 결제 수단을 업데이트하세요.",manageSubscription:"구독 관리하기",changePlan:"요금제 변경",redirecting:"이동 중..."},noSubscription:{title:"활성 구독 정보를 찾을 수 없습니다",description:"현재 사용 중인 구독 요금제가 없습니다.",viewPlans:"요금제 보기"}},dashboard:{metadata:{title:"Claude Certified Architect - 대시보드",description:"개인화된 대시보드에서 계정, 구독 및 프로필 설정을 관리하세요.",keywords:"dashboard, account, profile, subscription, settings, management"},title:"대시보드",description:"계정 및 구독 관리",profile:{title:"프로필 정보",noNameSet:"이름 미설정",role:"역할:",emailVerified:"이메일 인증됨",editProfile:"프로필 수정",updateProfile:"프로필 업데이트",cancel:"취소",form:{labels:{name:"이름",email:"이메일 주소",image:"프로필 이미지 URL"},placeholders:{name:"이름을 입력하세요",email:"이메일 주소",image:"https://example.com/your-image.jpg"},emailReadonly:"이메일 주소는 수정할 수 없습니다",imageDescription:"선택 사항: 프로필 사진으로 사용할 URL을 입력하세요"},updateSuccess:"프로필이 성공적으로 업데이트되었습니다",updateError:"프로필 업데이트에 실패했습니다. 다시 시도해 주세요."},subscription:{title:"구독 상태",status:{lifetime:"평생 소장",active:"활성",canceled:"취소됨",cancelAtPeriodEnd:"기간 만료 시 구독 종료 예정",pastDue:"결제 연체됨",unknown:"알 수 없음",noSubscription:"구독 없음"},paymentType:{recurring:"정기 결제",oneTime:"일회성"},lifetimeAccess:"평생 권한을 보유하고 있습니다",expires:"만료일:",cancelingNote:"구독이 갱신되지 않으며 다음 날짜에 종료됩니다:",noActiveSubscription:"현재 활성화된 구독이 없습니다",manageSubscription:"구독 관리하기",viewPlans:"요금제 보기"},credits:{title:"크레딧 잔액",available:"보유 크레딧",totalPurchased:"총 구매 크레딧",totalConsumed:"총 사용 크레딧",recentTransactions:"최근 거래 내역",buyMore:"크레딧 충전하기",types:{purchase:"구매",bonus:"보너스",consumption:"사용",refund:"환불",adjustment:"조정"},descriptions:{ai_chat:"AI Chat",ai_image_generation:"AI Image Generation",ai_video_generation:"AI Video Generation",image_generation:"Image Generation",document_processing:"문서 처리",purchase:"크레딧 구매",bonus:"보너스 크레딧",refund:"크레딧 환불",adjustment:"관리자 조정"},table:{type:"유형",description:"설명",amount:"금액",time:"시간"}},account:{title:"계정 정보",memberSince:"가입일",phoneNumber:"휴대폰 번호"},orders:{title:"주문 내역",status:{pending:"대기 중",paid:"결제 완료",failed:"실패",refunded:"환불됨",canceled:"취소됨"},provider:{stripe:"Stripe",wechat:"WeChat Pay",creem:"Creem",alipay:"Alipay",dodo:"Dodo Payments"},noOrders:"주문 내역이 없습니다",noOrdersDescription:"아직 주문한 내역이 없습니다",viewAllOrders:"모든 주문 내역 보기",orderDetails:{orderId:"주문 ID",amount:"금액",plan:"요금제",status:"상태",provider:"결제 수단",createdAt:"주문일"},recent:{title:"최근 주문",showingRecent:"가장 최근 {count}개의 주문 내역을 표시합니다"},page:{title:"전체 주문 내역",description:"모든 주문을 조회하고 관리합니다",backToDashboard:"대시보드로 돌아가기",totalOrders:"총 {count}개의 주문"}},linkedAccounts:{title:"연동된 계정",connected:"연결됨",connectedAt:"연결일:",noLinkedAccounts:"연동된 계정이 없습니다",providers:{credential:"이메일 및 비밀번호",google:"Google",github:"GitHub",facebook:"Facebook",apple:"Apple",discord:"Discord",wechat:"WeChat","phone-number":"휴대폰 번호"}},tabs:{profile:{title:"프로필",description:"개인 정보 및 아바타를 관리합니다"},account:{title:"계정 관리",description:"비밀번호 변경, 계정 연동 및 보안 설정"},security:{title:"보안",description:"비밀번호 및 보안 설정"},subscription:{description:"구독 요금제 및 기능 관리"},credits:{title:"크레딧",description:"크레딧 잔액 및 거래 내역 조회"},orders:{description:"주문 내역 및 거래 기록 조회"},content:{profile:{title:"Profile",subtitle:"사이트에서 다른 사람들에게 표시되는 모습입니다.",username:{label:"사용자 이름",value:"shadcn",description:"공개적으로 표시되는 이름입니다. 본명이나 필명을 사용할 수 있습니다. 이 이름은 30일에 한 번만 변경할 수 있습니다."},email:{label:"이메일",placeholder:"표시할 인증된 이메일을 선택하세요",description:"이메일 설정에서 인증된 이메일 주소를 관리할 수 있습니다."}}
18,account:{title:"계정 설정",subtitle:"계정 설정 및 기본 설정을 관리합니다.",placeholder:"계정 설정 콘텐츠..."},security:{title:"보안 설정",subtitle:"비밀번호 및 보안 설정을 관리합니다.",placeholder:"보안 설정 콘텐츠..."}}},quickActions:{title:"빠른 작업",editProfile:"프로필 수정",accountSettings:"계정 설정",subscriptionDetails:"구독 상세 정보",getSupport:"고객 지원 받기",viewDocumentation:"문서 보기"},accountManagement:{title:"계정 관리",changePassword:{title:"비밀번호 변경",description:"계정 비밀번호 업데이트",oauthDescription:"소셜 로그인 계정은 비밀번호 관리를 사용할 수 없습니다",button:"비밀번호 변경",dialogDescription:"현재 비밀번호를 입력하고 사용할 새 비밀번호를 선택하세요",form:{currentPassword:"현재 비밀번호",currentPasswordPlaceholder:"현재 비밀번호를 입력하세요",newPassword:"새 비밀번호",newPasswordPlaceholder:"새 비밀번호 입력 (최소 8자)",confirmPassword:"새 비밀번호 확인",confirmPasswordPlaceholder:"새 비밀번호를 다시 입력하세요",cancel:"취소",submit:"비밀번호 변경"},success:"비밀번호가 성공적으로 업데이트되었습니다",errors:{required:"모든 필수 필드를 채워주세요",mismatch:"새 비밀번호가 일치하지 않습니다",minLength:"비밀번호는 최소 8자 이상이어야 합니다",failed:"비밀번호 변경에 실패했습니다. 다시 시도해 주세요."}},deleteAccount:{title:"계정 탈퇴",description:"계정 및 모든 관련 데이터를 영구적으로 삭제합니다",button:"회원 탈퇴",confirmTitle:"회원 탈퇴 확인",confirmDescription:"정말로 계정을 삭제하시겠습니까?",warning:"⚠️ 이 작업은 취소할 수 없습니다",consequences:{data:"모든 개인 데이터가 영구적으로 삭제됩니다",subscriptions:"사용 중인 구독이 취소됩니다",access:"모든 프리미엄 기능에 대한 접근 권한을 잃게 됩니다"},form:{cancel:"취소",confirm:"예, 탈퇴하겠습니다"},success:"계정이 성공적으로 삭제되었습니다",errors:{failed:"계정 삭제에 실패했습니다. 다시 시도해 주세요."}}},roles:{admin:"Administrator",user:"User"}},home:{metadata:{title:"Claude Certified Architect (CCAR-F) Exam Prep — 코스, 모의고사 및 학습 가이드",description:"출제 기준에 맞춘 코스, 실제 시험과 동일한 시간 제한 모의고사, 도메인별 학습 가이드, 그리고 주기적 회상(spaced-repetition) 플래시카드를 활용해 Claude Certified Architect — Foundations 시험에 합격하세요. 5개 국어로 제공됩니다.",keywords:"Claude Certified Architect, CCAR-F, Claude certification, Claude exam, Anthropic certification, Claude Code certification, MCP certification, practice exam, CCA-F"},hero:{titlePrefix:"합격하세요, ",titleHighlight:"Claude Certified Architect",titleSuffix:" 시험에 합격하세요",subtitle:"공식 CCAR-F 5대 도메인 시험을 중심으로 구성된 출제 기준 연계 코스, 실제 시험 규격의 제한 시간 모의고사, 도메인별 학습 가이드, 주기적 회상 플래시카드를 제공합니다. 여러분의 모국어로 학습하세요.",buttons:{purchase:"Exam Pass 구매하기",demo:"무료 진단 퀴즈 풀기"},features:{lifetime:"공식 5대 도메인 출제 기준 연계",earlyBird:"무료 학습 가이드 및 진단 퀴즈 제공"}},features:{title:"CCAR-F 합격을 위한 모든 것",subtitle:"체계적인 코스로 5대 시험 도메인을 마스터한 후, 실제 시험과 유사한 시간 제한 모의고사를 통해 실력을 검증하세요.",items:[{title:"Agentic Architecture & Orchestration",description:"가장 비중이 높은 도메인 (27%): 에이전트 루프 및 stop_reason, 멀티 에이전트 토폴로지, 서브에이전트 격리, 세션, 분해(decomposition) 패턴.",className:"col-span-2 row-span-1"},{title:"Tool Design & MCP Integration",description:"도메인 2 (18%): 선택 메커니즘으로서의 도구 설명, tool_choice, 구조화된 오류, 그리고 Model Context Protocol(MCP)의 처음부터 끝까지.",className:"col-span-1 row-span-1"},{title:"Claude Code Workflows",description:"도메인 3 (20%): CLAUDE.md 계층 구조, 슬래시(/) 명령어 및 Skills, 권한 모델, 헤드리스 CI/CD 사용법.",className:"col-span-1 row-span-1"},{title:"Prompt Engineering & Structured Output",description:"도메인 4 (20%): few-shot 및 chain-of-thought, JSON Schema tool use, 유효성 검사-재시도 루프, Messages API 배치(Message Batches API).",className:"col-span-1 row-span-1"},{title:"Context Management & Reliability",description:"도메인 5 (15%): lost-in-the-middle 현상, 컨텍스트 경계를 넘나드는 메모장(scratchpad), 출처(provenance) 관리, 프롬프트 캐싱, 토큰 버킷(token budget).",className:"col-span-1 row-span-1"},{title:"실제 시간 제한 모의고사",description:"실제 출제 기준에 가중치를 둔 120분 동안 60개의 시나리오 기반 문제 제공 및 도메인별 점수 분석.",className:"col-span-2 row-span-1"},{title:"주기적 회상 플래시카드",description:"각 도메인별 Leitner 플래시카드 덱과 용어집 덱을 통해 핵심 개념을 암기하세요.",className:"col-span-1 row-span-1"}
18,{title:"5개 국어 지원",description:"English, 日本語, 한국어, Português (BR) 또는 简体中文으로 학습할 수 있습니다.",className:"col-span-1 row-span-1"}],techStack:{title:"공식 시험 출제 기준을 기반으로 구축",items:["Agentic Architecture","Tools & MCP","Claude Code","Prompt Engineering","Context & Reliability","60개 시나리오 객관식 문제 · 120분","조정 합격 점수 ≥ 720"]}},applicationFeatures:{title:"CCA Prep의 작동 방식",subtitle:"출제 기준에서 자격증 취득까지의 명확한 경로.",items:[{title:"출제 기준 연구",subtitle:"도메인별 무료 학습 가이드",description:"공식 5대 도메인 출제 기준에서 시작하세요. 각 도메인마다 시험 팁, 안티패턴, 그리고 전체 코스 강의로 연결되는 링크가 포함된 깊이 있는 무료 학습 가이드를 제공합니다.",highlights:["가중치가 적용된 5대 시험 도메인","시험 팁 및 안티패턴","12주 학습 계획","평생 무료"],imageTitle:"시험 출제 기준"},{title:"코스 수강",subtitle:"출제 기준에 맞춘 체계적인 강의",description:"Claude 플랫폼 기초부터 시작하여 각 시험 도메인까지 커버하는 6개의 코스입니다. 마크다운 형식의 강의, 예상 독서 시간, 그리고 핵심 용어가 상호 연결된 용어집을 제공합니다.",highlights:["6개 코스: 기초 + 도메인별 1개 코스","모든 코스의 모듈 1은 무료 제공","강의 완료 여부 추적","용어집 상호 연결"],imageTitle:"코스 및 강의"},{title:"모의고사 연습",subtitle:"실전 같은 시간 제한 및 가중치 구성",description:"실제 시험 형식과 가중치를 재현한 60문제 풀사이즈 모의고사, 도메인별 퀴즈, 그리고 무료 진단 평가를 제공합니다. 모든 문제에는 상세한 해설이 제공됩니다.",highlights:["시간 제한이 있는 전체 모의고사","도메인별 퀴즈","상세한 정답 설명","합격선 720점을 타깃으로 하는 조정 점수 측정"],imageTitle:"연습 시험"},{title:"진도 추적",subtitle:"합격 준비가 완료된 시점 파악",description:"대시보드에서 응시 이력, 도메인별 강점 및 약
18점, 강의 완료율을 확인할 수 있어 자신 있게 실제 시험에 응시할 수 있습니다.",highlights:["응시 이력 관리","도메인별 상세 분석","강의 완료율(%) 표시","플래시카드 학습 예정일"],imageTitle:"진도 대시보드"}]},stats:{title:"시험 합격을 위한 맞춤 설계",items:{questions:"연습 문제 수",domains:"시험 도메인",languages:"지원 언어",passScore:"조정 합격 점수"}},testimonials:{title:"합격자들의 후기",items:[{quote:"모의고사를 치른 후 제공된 도메인별 분석을 통해 제가 어디가 취약한지 정확히 파악할 수 있었습니다. 마지막 주에 도메인 1에 집중했고 여유롭게 합격했습니다.",author:"Priya N.",role:"솔루션 아키텍트"},{quote:"학습 가이드는 제가 여기저기서 조각조각 모으던 흩어진 문서들보다 훨씬 훌륭했습니다. 모든 내용이 출제 기준에 정확히 매핑되어 있습니다.",author:"Marco S.",role:"AI 엔지니어"},{quote:"시간 제한 모의고사 덕분에 실제 시험이 매우 익숙하게 느껴졌습니다. 문제만 풀어서는 알 수 없었던 내용들을 해설을 통해 배울 수 있었습니다.",author:"Daniel K.",role:"스태프 엔지니어"}]},finalCta:{title:"자격증을 취득할 준비가 되셨나요?",subtitle:"무료 진단 평가와 학습 가이드로 시작해 보세요. Exam Pass로 업그레이드하면 전체 모의고사, 모든 프리미엄 강의, 플래시카드, 그리고 학습 진도 추적 기능을 이용할 수 있습니다.",buttons:{purchase:"Exam Pass 구매하기",demo:"무료 진단 시작하기"}},footer:{copyright:"© {year} Claude Certified Architect. All rights reserved.",description:"Claude Certified Architect 자격증 취득을 위한 독립적인 시험 준비 리소스입니다.",disclaimer:"본 사이트는 독립적인 학습 리소스입니다. Anthropic과 제휴, 보증 또는 후원 관계가 없습니다. Claude 및 Anthropic은 Anthropic, PBC의 상표입니다.",support:"질문이나 접근 문제가 있으면 {email} 로 이메일을 보내주세요"},common:{demoInterface:"미리보기",techArchitecture:"공식 출제 기준에 맞춘 독립적인 준비 과정",learnMore:"자세히 알아보기"}},ai:{metadata:{title:"Claude Certified Architect - AI Assistant",description:"Interact with powerful AI models including GPT-4, Qwen, and DeepSeek. Get AI assistance for coding, writing, and problem-solving.",keywords:"AI, assistant, chatbot, GPT-4, artificial intelligence, machine learning, conversation"},chat:{title:"AI Assistant",description:"확장 가능한 설계의 대형 언어 모델 대화 구현 예제입니다. 최신 기술인 ai-sdk / ai-elements / streamdown을 사용하여 매우 부드러운 채팅 효과를 구현하였으며, 필요에 따라 더 복잡한 기능으로 확장할 수 있습니다.",placeholder:"무엇을 도와드릴까요?",sending:"전송 중...",thinking:"AI가 생각하는 중...",noMessages:"AI 어시스턴트와 대화를 시작해 보세요",welcomeMessage:"안녕하세요! 저는 AI 어시스턴트입니다. 오늘 어떤 도움이 필요하신가요?",toolCall:"Tool Call",providers:{title:"AI 제공업체",openai:"OpenAI",qwen:"Qwen",deepseek:"DeepSeek"},models:{"gpt-5":"GPT-5","gpt-5-codex":"GPT-5 Codex","gpt-5-pro":"GPT-5 Pro","qwen-max":"Qwen Max","qwen-plus":"Qwen Plus","qwen-turbo":"Qwen Turbo","deepseek-chat":"DeepSeek Chat","deepseek-coder":"DeepSeek Coder"},actions:{send:"전송",copy:"복사",copied:"복사됨!",retry:"다시 시도",dismiss:"닫기",newChat:"새 채팅",clearHistory:"대화 기록 삭제"},errors:{failedToSend:"메시지 전송에 실패했습니다. 다시 시도해 주세요.",networkError:"네트워크 오류가 발생했습니다. 연결 상태를 확인해 주세요.",invalidResponse:"AI로부터 잘못된 응답을 받았습니다. 다시 시도해 주세요.",rateLimited:"요청이 너무 많습니다. 잠시만 기다려 주세요.",subscriptionRequired:"AI 기능을 사용하려면 활성 구독이 필요합니다",subscriptionRequiredDescription:"AI 채팅 기능을 이용하려면 프리미엄 요금제로 업그레이드하세요",insufficientCredits:"크레딧 부족",insufficientCreditsDescription:"AI 채팅을 이용하려면 크레딧 또는 구독이 필요합니다. 계속하려면 크레딧을 구매하세요."},history:{title:"대화 기록",empty:"대화 기록 없음",today:"오늘",yesterday:"어제",thisWeek:"이번 주",older:"이전 기록"}},image:{metadata:{title:"Claude Certified Architect - AI 이미지 생성",description:"AI를 사용하여 멋진 이미지를 생성하세요. Qwen-Image, fal.ai Flux, OpenAI DALL-E, Google Gemini를 탑재했습니다.",keywords:"AI, image generation, DALL-E, Flux, Qwen, Gemini, text to image, art, creative"}
18,title:"AI 이미지 생성",description:"다양한 AI 제공업체를 통해 텍스트 프롬프트로 멋진 이미지를 생성하세요",defaultPrompt:"청두의 어느 장소에서 검은색과 금색 원형 선글라스를 낀 노란색 래브라도가 노란색와 흰색 줄무늬 고양이 두 마리와 함께 차를 마시고 있는 모습",prompt:"프롬프트",promptPlaceholder:"생성하려는 이미지를 묘사해 주세요...",negativePrompt:"네거티브 프롬프트",negativePromptPlaceholder:"이미지에서 제외하고 싶은 요소를 묘사해 주세요...",negativePromptHint:"생성된 이미지에서 피하고 싶은 요소를 작성해 주세요",generate:"이미지 생성",generating:"생성 중...",generatedSuccessfully:"이미지가 성공적으로 생성되었습니다!",download:"다운로드",result:"결과",idle:"대기 중",preview:"미리보기",json:"JSON",whatNext:"다음에 어떤 작업을 하시겠습니까?",costInfo:"요청당 예상 비용:",perMegapixel:"메가픽셀당",credits:"credits",providers:{title:"제공업체",qwen:"Aliyun BaiLian",fal:"fal.ai",openai:"OpenAI",gemini:"Google Gemini"},models:{"qwen-image-plus":"Qwen Image Plus","qwen-image-max":"Qwen Image Max","fal-ai/qwen-image-2512/lora":"Qwen Image 2512 Lora","fal-ai/nano-banana-pro":"Nano Banana Pro","fal-ai/flux/dev":"Flux Dev","fal-ai/recraft/v3/text-to-image":"Recraft V3 Text to Image","fal-ai/flux-pro/kontext":"Flux Pro Kontext","fal-ai/bytedance/seedream/v3/text-to-image":"Bytedance Seedream V3 Text to Image","dall-e-3":"DALL-E 3","dall-e-2":"DALL-E 2","gemini-3.1-flash-image-preview":"Nano Banana 2","gemini-3-pro-image-preview":"Nano Banana Pro","gemini-2.5-flash-image":"Nano Banana"},settings:{title:"추가 설정",showMore:"더 보기",showLess:"숨기기",imageSize:"이미지 크기",imageSizeHint:"가로세로 비율 및 해상도를 선택하세요",numInferenceSteps:"추론 단계 수 (Inference Steps)",numInferenceStepsHint:"단계 수가 많을수록 품질이 향상되지만 시간이 더 오래 걸립니다",guidanceScale:"텍스트 가이드 지수 (Guidance Scale)",guidanceScaleHint:"프롬프트를 얼마나 엄격하게 따를지 설정합니다",seed:"시드 (Seed)",seedHint:"동일한 결과를 재현하려면 같은 시드 번호를 사용하세요",random:"랜덤",randomize:"무작위화",promptExtend:"프롬프트 확장",promptExtendHint:"AI가 프롬프트를 자동으로 보강하고 확장합니다",watermark:"워터마크",watermarkHint:"생성된 이미지에 Qwen-Image 워터마크를 추가합니다",syncMode:"동기화 모드",syncModeHint:"URL 대신 base64 데이터를 반환합니다"},errors:{generationFailed:"이미지 생성에 실패했습니다",invali
18dPrompt:"올바른 프롬프트를 입력해 주세요",insufficientCredits:"크레딧 부족",insufficientCreditsDescription:"이미지를 생성할 크레딧이 부족합니다. 계속하려면 크레딧을 구매하세요.",networkError:"네트워크 오류가 발생했습니다. 연결 상태를 확인해 주세요.",unknownError:"알 수 없는 오류가 발생했습니다"}},video:{metadata:{title:"Claude Certified Architect - AI 비디오 생성",description:"AI를 사용하여 멋진 비디오를 생성하세요. fal.ai, Volcengine Seedance, Aliyun Wanxiang을 탑재했습니다.",keywords:"AI, video generation, text to video, Seedance, Wanxiang, Luma, creative"},title:"AI 비디오 생성",description:"다양한 AI 제공업체를 통해 텍스트 프롬프트로 멋진 비디오를 생성하세요",defaultPrompt:"고양이가 사람의 무릎에서 소파 위로 바로 뛰어오르는 모습",prompt:"프롬프트",model:"모델",promptPlaceholder:"생성하려는 비디오를 묘사해 주세요...",generate:"비디오 생성",generating:"비디오 생성 중...",generatedSuccessfully:"비디오가 성공적으로 생성되었습니다!",download:"비디오 다운로드",result:"결과",idle:"비디오를 생성하기 위한 프롬프트를 입력하세요",whatNext:"다음에 어떤 작업을 하시겠습니까?",credits:"크레딧",providers:{title:"제공업체",fal:"fal.ai",volcengine:"Volcengine",aliyun:"Aliyun Wanxiang"}
18,models:{"kling-video/v2.5-turbo/pro/text-to-video":"Kling 2.5 Turbo Pro (Text to Video)","kling-video/v2.5-turbo/pro/image-to-video":"Kling 2.5 Turbo Pro (Image to Video)","doubao-seedance-1-5-pro-251215":"Doubao Seedance 1.5 Pro","doubao-seedance-1-0-pro-250528":"Doubao Seedance 1.0 Pro","wan2.6-t2v":"Wanxiang 2.6 T2V","wan2.5-t2v-turbo":"Wanxiang 2.5 T2V Turbo","wan2.6-i2v-flash":"Wanxiang 2.6 I2V Flash"},inputMode:{label:"생성 모드",text:"텍스트로 비디오 생성 (Text to Video)",firstFrame:"첫 프레임 기준 (First Frame)",firstLastFrame:"첫 프레임 + 마지막 프레임 기준",firstLastFrameUnsupported:"현재 제공업체는 첫 프레임 기준 생성만 지원합니다"},frameInput:{title:"프레임 이미지",hint:"이미지 URL을 직접 입력하거나 Cloudflare R2에 업로드하세요.",firstFrameUrl:"첫 프레임 이미지 URL",lastFrameUrl:"마지막 프레임 이미지 URL",upload:"업로드",uploadedToR2:"프레임이 R2에 업로드되었습니다",preview:"이미지 미리보기",previewAlt:"첫 프레임 미리보기"},settings:{title:"추가 설정",videoSize:"비디오 크기 / 가로세로 비율",videoSizePlaceholder:"크기 선택",videoSizeHint:"해상도 또는 가로세로 비율을 선택하세요",duration:"길이 (초)",durationHint:"생성될 비디오의 길이",seed:"시드 (Seed)",seedHint:"동일한 결과를 재현하려면 같은 시드 번호를 사용하세요",random:"랜덤",loop:"루프 반복",loopHint:"비디오가 자연스럽게 무한 반복되도록 설정할지 여부",motionStrength:"움직임 강도 (Motion Strength)",motionStrengthHint:"비디오의 움직임 수준을 조절합니다",promptExtend:"프롬프트 확장",promptExtendHint:"AI가 프롬프트를 자동으로 보강하고 확장합니다",watermark:"워터마크",watermarkHint:"생성된 비디오에 워터마크를 추가합니다"},errors:{generationFailed:"비디오 생성에 실패했습니다",invali
18dPrompt:"올바른 프롬프트를 입력해 주세요",firstFrameRequired:"첫 프레임 이미지 URL을 입력해 주세요",lastFrameRequired:"마지막 프레임 이미지 URL을 입력해 주세요",unsupportedImageType:"JPEG/JPG/PNG/WEBP/BMP 이미지 형식만 지원됩니다",imageTooLarge:"이미지 크기는 10MB 이하이어야 합니다",uploadFailed:"업로드 실패",unsupportedModeForProvider:"현재 제공업체는 이 생성 모드를 지원하지 않습니다",insufficientCredits:"크레딧 부족",insufficientCreditsDescription:"비디오를 생성할 크레딧이 부족합니다. 계속하려면 크레딧을 구매하세요.",networkError:"네트워크 오류가 발생했습니다. 연결 상태를 확인해 주세요.",unknownError:"알 수 없는 오류가 발생했습니다",timeout:"비디오 생성 시간이 초과되었습니다. 다시 시도해 주세요."},resultPanel:{generatingHint:"비디오 생생에 1~5분 정도 소요될 수 있습니다...",videoTagUnsupported:"귀하의 브라우저는 video 태그를 지원하지 않습니다."}}},premiumFeatures:{metadata:{title:"Claude Certified Architect - 프리미엄 기능",description:"구독을 통해 이용 가능한 모든 프리미엄 기능을 살펴보세요. 고급 도구, AI 어시스턴트 및 강화된 기능에 액세스할 수 있습니다.",keywords:"premium, features, advanced, tools, subscription, benefits, enhanced"},title:"프리미엄 기능",description:"구독해 주셔서 감사합니다! 이제 액세스할 수 있는 모든 프리미엄 기능은 다음과 같습니다.",loading:"로딩 중...",subscription:{title:"내 구독",description:"현재 구독 상태 및 세부 정보",status:"구독 상태",type:"구독 유형",expiresAt:"만료일",active:"활성",inactive:"비활성",lifetime:"평생 회원",recurring:"정기 구독"},badges:{lifetime:"평생 회원"},demoNotice:{title:"🎯 SaaS 템플릿 데모 페이지",description:"경로 보호를 테스트하기 위한 데모 페이지입니다. 결제한 사용자만 이 페이지에 접근할 수 있어, 귀하의 SaaS 애플리케이션에서 구독 수준의 액세스 제어를 구현하는 방식을 보여줍니다."},features:{userManagement:{title:"고급 사용자 관리",description:"완전한 사용자 프로필 관리 및 개인화 설정"},aiAssistant:{title:"AI 스마트 어시스턴트",description:"생산성 향상을 위한 고급 인공지능 기능"},documentProcessing:{title:"무제한 문서 처리",description:"개수와 용량에 상관없이 문서 파일 처리"},dataAnalytics:{title:"상세 데이터 분석",description:"깊이 있는 데이터 분석 및 시각화 보고서"}},actions:{accessFeature:"기능 사용하기"}},validators:{user:{name:{minLength:"이름은 최소 {min}자 이상이어야 합니다",maxLength:"이름은 {max}자 미만이어야 합니다"},email:{invalid:"올바른 이메일 주소를 입력해 주세요"},image:{invalidUrl:"올바른 URL을 입력해 주세요"},password:{minLength:"비밀번호는 최소 {min}자 이상이어야 합니다",maxLength:"비밀번호는 {max}자 미만이어야 합니다",mismatch:"비밀번호가 일치하지 않습니다"},countryCode:{required:"국가/지역을 선택해 주세요"},phoneNumber:{required:"휴대폰 번호를 입력해 주세요",invalid:"유효하지 않은 휴대폰 번호 형식입니다"},verificationCode:{invalidLength:"인증번호는 {length}자여야 합니다"},id:{required:"사용자 ID는 필수입니다"},currentPassword:{required:"현재 비밀번호는 필수입니다"},confirmPassword:{required:"비밀번호를 확인해 주세요"},deleteAccount:{confirmRequired:"회원 탈퇴 확인을 완료하셔야 합니다"}},blog:{title:{required:"제목은 필수입니다",maxLength:"제목은 {max}자 미만이어야 합니다"},slug:{maxLength:"슬러그는 {max}
18자 미만이어야 합니다",invalid:"슬러그는 소문자, 숫자, 하이픈(-)만 포함할 수 있습니다"},excerpt:{maxLength:"요약은 {max}자 미만이어야 합니다"},coverImage:{invalidUrl:"커버 이미지의 올바른 URL을 입력해 주세요"},status:{invalid:"상태는 임시 저장(draft) 또는 발행(published) 중 하나여야 합니다"}}},countries:{china:"중국",usa:"미국",uk:"영국",japan:"일본",korea:"대한민국",singapore:"싱가포르",hongkong:"홍콩",macau:"마카오",australia:"호주",france:"프랑스",germany:"독일",india:"인도",malaysia:"말레이시아",thailand:"태국"},header:{navigation:{ai:"AI 데모",premiumFeatures:"프리미엄 기능",pricing:"요금제",upload:"업로드",demos:"데모",demosDescription:"예제 기능을 살펴보세요",blog:"블로그",courses:"코스",studyGuide:"학습 가이드",practice:"연습 시험",flashcards:"플래시카드"},demos:{ai:{title:"AI Chat",description:"확장 가능한 설계 및 다중 제공업체를 지원하는 LLM 채팅입니다. 로그인이 필요합니다."},aiImage:{title:"AI 이미지 생성",description:"확장 가능한 설계 및 다중 제공업체를 지원하는 AI 이미지 생성입니다. 로그인이 필요합니다."},aiVideo:{title:"AI 비디오 생성",description:"확장 가능한 설계 및 다중 제공업체를 지원하는 AI 비디오 생성입니다. 로그인이 필요합니다."},premium:{title:"프리미엄 기능",description:"경로 보호 데모 페이지입니다. 결제한 사용자만 이 페이지에 액세스할 수 있습니다."},upload:{title:"파일 업로드",description:"확장 가능한 설계 및 다중 제공업체를 지원하는 파일 업로드입니다. 로그인이 필요합니다."}},auth:{signIn:"로그인",getStarted:"시작하기",signOut:"로그아웃"},userMenu:{dashboard:"대시보드",profile:"프로필",settings:"설정",personalSettings:"개인 설정",adminPanel:"관리자 패널"},language:{switchLanguage:"언어 변경",english:"English",chinese:"中文",japanese:"日本語",korean:"한국어",portuguese:"Português (BR)"},mobile:{themeSettings:"테마 설정",languageSelection:"언어 선택"}},docs:{home:{title:"Claude Certified Architect 문서",subtitle:"Fumadocs로 구축됨",description:"Fumadocs 기반의 정적 사이트 프로젝트로, 문서화, 블로그 및 정적 페이지 구축에 이상적입니다.",cta:{docs:"문서 읽기",blog:"블로그 방문"}},nav:{docs:"문서",blog:"블로그"},blog:{title:"블로그",description:"Claude Certified Architect 팀의 최신 아티클 및 소식",allPosts:"모든 포스트",previousPage:"← 이전",nextPage:"다음 →",back:"← 블로그로 돌아가기",noPosts:"아직 작성된 포스트가 없습니다"}},upload:{title:"파일 업로드",description:"이미지를 클라우드 스토리지에 업로드합니다",providerTitle:"스토리지 제공업체",providerDescription:"선호하는 클라우드 스토리지 제공업체를 선택하세요",providers:{oss:"Alibaba Cloud OSS",ossDescription:"중국 시장에 최적화된 스토리지",s3:"Amazon S3",s3Description:"글로벌 클라우드 스토리지",r2:"Cloudflare R2",r2Description:"전송 수수료(Egress fees) 무료",cos:"Tencent Cloud COS",cosDescription:"중국 클라우드 스토리지"},uploadTitle:"이미지 업로드",uploadDescription:"이미지를 드래그 앤 드롭 하거나 클릭하여 찾아보세요. 최대 1MB.",dragDrop:"여기에 파일을 드래그 앤 드롭 하세요",orClick:"또는 클릭하여 찾아보기 (최대 1MB)",browseFiles:"파일 찾기",clearAll:"모두 지우기",uploadedTitle:"업로드된 파일",uploadedDescription:"{count}개의 파일이 성공적으로 업로드되었습니다",uploading:"업로드 중...",viewFile:"보기",uploaded:"업로드됨",errors:{maxFiles:"1개의 파일만 업로드할 수 있습니다",imageOnly:"이미지 파일만 허용됩니다",fileTooLarge:"파일 크기는 1MB 이하이어야 합니다"}},blog:{metadata:{title:"Claude Certified Architect - 블로그",description:"Claude Certified Architect 팀의 최신 아티클과 소식을 읽어보세요.",keywords:"blog, articles, updates, Claude Certified Architect, SaaS"},title:"블로그",subtitle:"최신 아티클 및 소식",readMore:"더 읽어보기",publishedOn:"발행일:",by:"작ì
18„±ìž:",noPosts:"아직 아티클이 없습니다. ê³§ 새로운 글로 찾아뵙겠습니다!",backToBlog:"블로그로 돌아가기"},courses:{metadata:{title:"Courses — Claude Certified Architect Prep",description:"Blueprint-aligned courses covering every CCAR-F exam domain, from Claude platform foundations to context engineering.",keywords:"Claude courses, CCAR-F course, Claude Certified Architect training"},title:"코스",subtitle:"Claude 플랫폼 기초부터 각 시험 도메인까지 단계적으로 구성된 6개 코스입니다.",startCourse:"코스 시작",continueCourse:"계속 학습하기",modules:"모듈",lessons:"강의",viewCourse:"코스 보기",locked:"Exam Pass",free:"무료",estMinutes:"{minutes}분",moduleLabel:"모듈",lessonsCount:"강의 {count}개",domainLabel:"도메인 {number}",empty:"코스가 ê³§ 추가될 예정입니다."},lesson:{metadata:{title:"Lesson — Claude Certified Architect Prep",description:"A CCAR-F exam-prep lesson.",keywords:"Claude lesson, CCAR-F"},prev:"이전",next:"다음",markComplete:"완료로 표시",completed:"완료됨",backToCourse:"코스로 돌아가기",estMinutes:"예상 소요 시간 {minutes}분",inThisModule:"이 모듈의 다른 강의",premiumGate:{title:"이 강의는 Exam Pass 회원에게만 제공됩니다",description:"모든 프리미엄 강의, 전체 모의고사, 플래시카드 및 학습 진도 추적 기능을 이용하려면 업그레이드하세요.",cta:"요금제 보기",signInCta:"로그인"}},studyGuide:{metadata:{title:"Exam Blueprint & Study Guides — Claude Certified Architect",description:"Free, in-depth study guides for all five CCAR-F exam domains, plus a 12-week study plan and anti-patterns cheatsheet.",keywords:"CCAR-F study guide, Claude exam blueprint, Claude Certified Architect domains"},title:"시험 출제 기준 및 학습 가이드",subtitle:"공식 5대 도메인, 각 도메인별 가중치 및 심층 무료 학습 가이드를 제공합니다.",domains:"시험 도메인",weighting:"가중치",weightOfExam:"시험 비중 {weight}%",examTips:"시험 팁",antiPatterns:"안티패턴",objectives:"출제 범위 및 평가 항목",relatedLessons:"관련 강의",studyPlan:"12주 학습 계획",studyPlanDesc:"완전 초보에서 시험 응시 수준까지 주차별 학습 계획을 안내합니다.",antiPatternsTitle:"안티패턴 치트시트",antiPatternsDesc:"시험에 자주 출제되는 매력적인 오답 유형과 오답인 이유를 명쾌하게 짚어줍니다.",readGuide:"가이드 읽기",backToGuides:"학습 가이드 목록으로 돌아가기"},scenarios:{metadata:{title:"Scenario Walkthroughs — Claude Certified Architect",description:"6개 공식 CCAR-F 시험 시나리오 해설과 2개의 보너스 연습 시나리오.",keywords:"CCAR-F 시나리오, Claude 시험 시나리오"},title:"시나리오 상세 해설",subtitle:"실제 시험은 공식 6개 시나리오 중 무작위로 4개를 출제합니다. 각 시나리오의 사고 과정을 해설하고, 보너스 연습 시나리오 2개를 더했습니다.",walkthrough:"상세 해설",ofEight:"시나리오 {number}",relatedDomains:"관련 도메인",readWalkthrough:"해설 읽기",backToScenarios:"시나리오 목록으로 돌아가기"},practice:{metadata:{title:"Practice Exams & Quizzes — Claude Certified Architect",description:"Full-length timed CCAR-F mock exams, per-domain quizzes, and a free diagnostic — with detailed explanations.",ke
18ywords:"CCAR-F practice exam, Claude mock exam, Claude practice questions"},title:"연습 시험",subtitle:"실전 규격의 제한 시간과 출제 기준별 가중치가 완벽히 반영된 연습 시험을 치른 후, 상세한 오답 노트를 확인해 보세요.",startExam:"시작",resume:"이어 풀기",questionsCount:"{count}문제",timeLimit:"{minutes}분",untimed:"시간 제한 없음",examMode:"Full mock exam",quizMode:"Domain quiz",diagnostic:"Free diagnostic",scenario:"시나리오",free:"무료",premium:"Exam Pass",premiumGate:{title:"전체 모의고사는 Exam Pass 전용 기능입니다",description:"실제와 동일한 시간 제한 모의고사, 전체 문제 은행 및 상세한 정답 해설을 잠금 해제하세요.",cta:"요금제 보기"},rules:{title:"시험 시작 전 주의사항",questions:"문항 수",time:"시간 제한",scoring:"평가 방식",scoringValue:"조정 점수 100~1000점 기준, 720점 이상 합격",note:"문제를 북마크(flag)하여 제출 전에 다시 검토할 수 있습니다."},begin:"시험 시작",signInToSave:"결과를 저장하려면 로그인하세요.",catalogEmpty:"연습 시험이 곧 제공될 예정입니다."},quiz:{question:"문제",of:"/",next:"다음",previous:"이전",submit:"제출",flag:"검토용 북마크",flagged:"북마크됨",timeRemaining:"남은 시간",finishExam:"시험 종료",confirmSubmit:"시험을 제출하시겠습니까?",confirmSubmitDesc:"아직 풀지 않은 문제가 {count}개 있습니다. 제출 후에는 답안을 수정할 수 없습니다.",unanswered:"풀지 않음",answered:"풀음",cancel:"계속 풀기",confirm:"제출",timeUp:"제한 시간이 만료되어 시험이 자동으로 제출되었습니다.",saving:"저장 중…",loadError:"시험을 불러오지 못했습니다. 다시 시도해 주세요."},results:{metadata:{title:"Exam Results — Claude Certified Architect",description:"Your CCAR-F practice exam results.",keywords:"CCAR-F results"},title:"시험 결과",score:"점수",scaledScore:"조정 점수",passed:"합격",failed:"불합격",passingScore:"합격 기준 점수: 720점",yourScore:"내 점수: {score}점",byDomain:"도메인별 성적 분석",correctOf:"총 {total}문제 중 {correct}문제 정답",retake:"재응시",reviewAnswers:"정답 및 해설 검토",backToPractice:"연습 시험 메인으로 돌아가기",correct:"정답",incorrect:"오답",yourAnswer:"내 선택지",correctAnswer:"올바른 정답",explanation:"문제 해설",notFound:"결과를 찾을 수 없습니다.",completedOn:"완료일: {date}"},flashcards:{metadata:{title:"Flashcards — Claude Certified Architect",description:"Spaced-repetition flashcard decks for every CCAR-F exam domain.",keywords:"CCAR-F flashcards, Claude flashcards, spaced repetition"},title:"플래시카드",subtitle:"주기적 회상 방식으로 핵심 암기 지식을 완벽히 외우세요. 도메인별 덱과 전체 용어집 덱을 지원합니다.",decks:"카드 덱 목록",cards:"카드 {count}장",studyDeck:"학습하기",flip:"뒤집기",showAnswer:"정답 보기",again:"다시 보기",good:"괜찮음",easy:"쉬움",dueToday:"오늘 학습할 카드 {count}장",mastered:"마스터함",deckComplete:"오늘 분량의 카드 학습을 모두 완료했습니다!",noDue:"지금은 더 이상 복습할 카드가 없습니다. 나중에 다시 방문해 주세요.",premium:"Exam Pass",progressSaved:"진도가 귀하의 계정에 안전하게 저장되었습니다.",progressLocal:"진도가 이 기기에 임시로 저장되었습니다. 동기화하려면 로그인하세요."},glossary:{metadata:{title:"Glossary — Claude Certified Architect",description:"Definitions of key terms for the Claude Certified Architect exam.",keywords:"Claude glossary, CCAR-F terms, MCP glossary"},title:"용어집",subtitle:"CCAR-F 시험을 위한 주요 전문 용어들을 제공하며, 각 강의 및 학습 가이드에서 상호 참조 링크가 걸려 있습니다.",search:"용어 검색…",seeAlso:"함께 보기",noResults:"검색어와 일치하는 용어가 없습니다.",backToGlossary:"용어집으로 돌아가기"},faq:{metadata:{title:"FAQ — Claude Certified Architect Exam Prep",de
18scription:"Answers to common questions about the Claude Certified Architect exam and how to prepare.",keywords:"CCAR-F FAQ, Claude 인증 질문, CCAR-F 응시 자격, CCAR-F 응시료"},title:"자주 묻는 질문 (FAQ)",subtitle:"시험 및 이 사이트가 준비에 어떻게 도움이 되는지에 대한 모든 정보를 제공합니다.",items:[{q:"Claude Certified Architect – Foundations(CCAR-F) 시험이란 무엇인가요?",a:"Claude로 시스템을 설계하고 구축하는 분들을 위한 Anthropic의 기초 자격증입니다. 에이전트 아키텍처, 도구 및 MCP, Claude Code 워크플로우, 프롬프트 엔지니어링, 컨텍스트 관리를 평가합니다. 시험은 120분 동안 공식 6개 시나리오 중 4개에 속하는 60문항(단일 선택 및 복수 선택)으로 구성되며, 100~1000점 척도에서 720점 이상이면 합격입니다."},{q:"CCAR-F인가요, CCAR-F인가요?",a:"공식 시험 코드는 CCAR-F입니다(시험 가이드 v1.0, 2026년 7월). CCAR-F는 초기에 커뮤니티에서 쓰던 약칭으로 같은 시험을 가리킵니다. Pearson VUE와 Credly는 CCAR-F를 사용합니다."},{q:"누가 응시할 수 있나요?",a:"Claude Partner Network 소속 조직의 구성원만 응시할 수 있습니다. 파트너 회사 이메일로 Anthropic Partner Academy에 등록해야 하며(개인 이메일은 거부됨), 만 18세 이상이어야 하고 정부 발급 신분증의 이름이 등록 정보와 일치해야 합니다. 어떤 회사든 Partner Network에 신청할 수 있으며 Registered 등급은 무료입니다."},{q:"응시료와 유효 기간은 어떻게 되나요?",a:"2026-06-30부터 1회 응시당 $125 USD입니다(출시 당시 $99). Select, Preferred, Global Premier 파트너는 50% 할인을 받고, Global Premier는 2026-12-31까지 무료입니다. 자격은 12개월간 유효하며 Partner Academy의 무료·비감독 갱신 평가로 갱신합니다."},{q:"불합격하면 어떻게 되나요?",a:"첫 불합격 후 14일, 두 번째 후 30일, 세 번째 후 90일을 기다려야 하며, 연속 12개월 내 시험당 최대 4회까지 응시할 수 있습니다. 매 응시마다 전액 응시료가 부과됩니다."},{q:"한국어로 응시할 수 있나요?",a:"아닙니다. 시험과 공식 준비 자료는 영어로만 제공되며, 시험 중 브라우저 번역 도구 사용은 금지됩니다. 그래서 저희 강의는 5개 언어로 제공하지만 모의고사는 영어로 제공하여 실제 시험 어휘에 대한 읽기 속도를 훈련할 수 있게 했습니다."},{q:"복수 선택 문항이 있나요?",a:"있습니다. 시험에는 단일 선택과 복수 선택 문항이 있으며, 각 문항에 선택해야 할 답의 개수가 명시됩니다. 저희 연습 문제에도 같은 방식으로 채점되는 복수 선택 문항이 포함되어 있습니다."},{q:"이 사이트는 Anthropic 공식 사이트인가요?",a:"아닙니다. 본 사이트는 독립적인 학습 리소스로, Anthropicê³¼ 제휴, 공식 인증 또는 후원 관계가 없습니다. 커리큘럼을 공식 시험 가이드에 매핑하고 각 페이지에 표시된 날짜 기준으로 검증합니다."},{q:"무료와 유료의 차이는 무엇인가요?",a:"모든 학습 가이드, 시험 출제 기준, 시험 안내 및 응시 자격, 12주 학습 계획, 안티패턴 치트시트, 시나리오 해설, 용어집, 무료 진단 평가는 무료입니다. Exam Pass를 결제하면 실전 시간 제한 모의고사, 상세 해설이 포함된 전체 연습 문제 은행, 모든 플래시카드 덱, 모든 프리미엄 강의, 진도 추적 기능을 이용할 수 있습니다."},{q:"연습 문제는 몇 개인가요?",a:"출시 시점 기준 5개 도메인에 걸쳐 실제 시험과 같은 가중치로 구성된 120개 이상의 문항이 있으며, 모의고사는 계속 추가됩니다."},{q:"이 사이트는 어떤 언어를 지원하나요?",a:"강의와 학습 가이드는 영어, 일본어(日本語), 한국어, 브라질 포르투갈어(Português), 중국어 간체(简体中文)를 지원합니다. 모의고사는 실제 시험과 같이 영어로만 제공됩니다."},{q:"모의고사는 어떻게 채점되나요?",a:"실제 시험과 같습니다. 원점수가 100~1000점 척도로 환산되며 720점이 합격선입니다. 매 응시 후 도메인별 분석을 제공하며, 이는 공식 성적표의 도메인별 정답률과 같은 방식입니다."},{q:"고객 지원에 어떻게 연락하나요?",a:"[email protected] 으로 이메일을 보내주세요. 로그인에 사용한 이메일을 함께 적어 주세요. 구매 및 접근 문제는 당일 처리됩니다."}]},about:{metadata:{title:"About — Claude Certified Architect Exam Prep",de
18scription:"About this independent Claude Certified Architect exam-prep resource.",keywords:"about, Claude Certified Architect prep"},title:"소개",body:"저희는 Claude Certified Architect — Foundations 시험의 출제 기준에 정확히 맞춘 맞춤형 대비 자료를 만듭니다. 제공되는 코스, 학습 가이드 및 연습 시험은 Claude를 사용해 직접 프로덕션 시스템을 설계하고 운영 중인 전문가들에 의해 작성되었으며, 모든 콘텐츠가 시험의 세부 도메인과 매핑되어 있어 불필요한 시간 낭비 없이 효율적으로 공부할 수 있습니다.",missionTitle:"저희의 미션",mission:"모든 개발자와 아키텍트가 자국어로 더 쉽고 확실하게 Claude Certified Architect 시험에 대비하고 최종 합격할 수 있도록 돕는 것입니다.",disclaimerTitle:"고지 사항",disclaimer:"본 사이트는 독립적인 학습 리소스입니다. Anthropic, PBC와 제휴, 보증 또는 후원 관계가 없습니다. Claude 및 Anthropic은 Anthropic, PBC의 상표입니다. 시험과 관련된 모든 세부 정보는 공개적으로 제공된 자료를 바탕으로 작성되었으며 변경될 수 있으므로, 항상 공식적인 최신 시험 상세 정보를 확인해 주시기 바랍니다."},certification:{name:"Claude Certified Architect – Foundations",shortName:"CCAR-F",examFormat:"60개 시나리오 기반 문항(단일 선택 및 복수 선택)",questionsLabel:"문항 수",questionsValue:"60문항(단일 선택 및 복수 선택), 공식 6개 시나리오 중 4개 출제",timeLimit:"시간 제한",timeLimitValue:"120분",passingScore:"합격 기준 점수",passingScoreValue:"720점(100~1000점 척도)",validity:"유효 기간",validityValue:"12개월(무료 갱신 평가)",cost:"응시료",costValue:"$125 USD(2026-06-30부터)",level:"시험 수준",levelValue:"기초(Foundations)"},progress:{tabTitle:"내 학습 현황",tabDescription:"모의고사 응시 결과, 강의 완료 진행도 및 플래시카드 학습 상태",title:"내 학습 현황",examAttempts:"모의고사 응시 횟수",noAttempts:"아직 응시 기록이 없습니다. 성적을 확인하려면 모의고사를 풀어보세요.",lessonsCompleted:"완료한 강의",noLessons:"아직 완료한 강의가 없습니다.",flashcardsTitle:"플래시카드 학습 상태",cardsDue:"{count}장 복습 예정",cardsMastered:"{count}장 마스터함",attempt:"회차",score:"점수",passed:"합격",failed:"불합격",date:"응시일",completedLabel:"{count}개 완료",signInPrompt:"모든 기기에서 진도를 추적하고 동기화하려면 로그인하세요.",loading:"로딩 중…"},courseUx:Ur.ko,examInfo:wn.ko,quizUx:Mr.ko},jw={common:{welcome:"Boas-vindas ao Claude Certified Architect",siteName:"Claude Certified Architect",login:"Entrar",signup:"Cadastrar-se",logout:"Sair",profile:"Perfil",settings:"Configurações",and:"e",loading:"Carregando...",unexpectedError:"Ocorreu um erro inesperado",notAvailable:"N/A",viewPlans:"Ver Planos",yes:"Sim",no:"Não",theme:{light:"Tema Claro",dark:"Tema Escuro",system:"Tema do Sistema",toggle:"Alternar Tema",appearance:"Aparência",colorScheme:"Esquema de Cores",themes:{default:"Padrão",claude:"Claude","cosmic-night":"Noite Cósmica","modern-minimal":"Mínimo Moderno","ocean-breeze":"Brisa do Oceano"}}},navigation:{home:"Início",dashboard:"Painel",orders:"Pedidos",shipments:"Envios",tracking:"Rastreamento",admin:{dashboard:"Painel",users:"Usuários",subscriptions:"Assinaturas",orders:"Pedidos",credits:"Créditos",application:"Aplicativo",blog:"Blog"}},actions:{save:"Salvar",cancel:"Cancelar",confirm:"Confirmar",delete:"Excluir",edit:"Editar",tryAgain:"Tentar novamente",createAccount:"Criar conta",sendCode:"Enviar Código",verify:"Verificar",backToList:"Voltar para Usuários",saveChanges:"Salvar Alterações",createUser:"Criar Usuário",deleteUser:"Excluir Usuário",back:"Voltar",resendCode:"Reenviar Código",resendVerificationEmail:"Reenviar E-mail de Verificação",upload:"Fazer upload",previous:"Anterior",next:"Próximo",createPost:"Nova Publicação",deletePost:"Excluir Publicação",backToBlog:"Voltar para o Blog"},email:{verification:{subject:"Verifique sua conta Claude Certified Architect",title:"Verifique seu endereço de e-mail",greeting:"Olá {{name}},",message:"Obrigado por se cadastrar no Claude Certified Architect. Para concluir seu cadastro, clique no botão abaixo para verificar seu endereço de e-mail.",button:"Verificar Endereço de E-mail",alternativeText:"Ou copie e cole o seguinte link no seu navegador:",expiry:"Este link expirará em {{expiry_hours}} horas.",disclaimer:"Se você não solicitou esta verificação, desconsidere este e-mail.",signature:"Bons envios, Equipe Claude Certified Architect",copyright:"© {{year}} Claude Certified Architect. Todos os direitos reservados."},resetPassword:{subject:"Redefinir sua senha do Claude Certified Architect",title:"Redefinir sua senha",greeting:"Olá {{name}},",message:"Recebemos uma solicitação para redefinir sua senha. Clique no botão abaixo para criar uma nova senha. Se você não fez essa solicitação, pode desconsiderar este e-mail com segurança.",button:"Redefinir Senha",alternativeText:"Ou copie e cole o seguinte link no seu navegador:",expiry:"Este link expirará em {{expiry_hours}} horas.",disclaimer:"Se você não solicitou uma redefinição de senha, nenhuma ação é necessária.",signature:"Bons envios, Equipe Claude Certified Architect",copyright:"© {{year}} Claude Certified Architect. Todos os direitos reservados."}},auth:{metadata:{signin:{title:"Claude Certified Architect - Entrar",description:"Entre na sua conta Claude Certified Architect para acessar seu painel, gerenciar assinaturas e usar recursos premium.",keywords:"entrar, login, autenticação, acesso à conta, painel"},signup:{title:"Claude Certified Architect - Criar Conta",description:"Crie sua conta Claude Certified Architect e comece a criar aplicativos SaaS incríveis com nosso kit inicial completo.",ke
18ywords:"cadastrar-se, registrar, criar conta, novo usuário, começar"},forgotPassword:{title:"Claude Certified Architect - Redefinir Senha",description:"Redefina a senha da sua conta Claude Certified Architect com segurança. Insira seu e-mail para receber instruções de redefinição de senha.",keywords:"esqueceu a senha, redefinir senha, recuperação de senha, recuperação de conta"},resetPassword:{title:"Claude Certified Architect - Criar Nova Senha",description:"Crie uma nova senha segura para sua conta Claude Certified Architect. Escolha uma senha forte para proteger sua conta.",keywords:"nova senha, redefinição de senha, senha segura, segurança da conta"},phone:{title:"Claude Certified Architect - Login por Telefone",description:"Entre no Claude Certified Architect usando seu número de telefone. Autenticação rápida e segura com verificação por SMS.",keywords:"login por telefone, verificação por SMS, autenticação móvel, número de telefone"},wechat:{title:"Claude Certified Architect - Login pelo WeChat",description:"Entre no Claude Certified Architect usando sua conta do WeChat. Autenticação conveniente para usuários chineses.",keywords:"WeChat login, 微信登录, login social, autenticação chinesa"}},signin:{title:"Entre na sua conta",welcomeBack:"Boas-vindas de volta",socialLogin:"Entre com sua conta social favorita",continueWith:"Ou continue com",email:"E-mail",emailPlaceholder:"Digite seu e-mail",password:"Senha",forgotPassword:"Esqueceu a senha?",rememberMe:"Lembrar de mim",submit:"Entrar",submitting:"Entrando...",noAccount:"Não tem uma conta?",signupLink:"Cadastre-se",termsNotice:"Ao clicar em continuar, você concorda com nossos",termsOfService:"Termos de Serviço",privacyPolicy:"Política de Privacidade",socialProviders:{google:"Google",github:"GitHub",apple:"Apple",wechat:"WeChat",phone:"Telefone"},errors:{invalidEmail:"Insira um e-mail válido",requiredEmail:"O e-mail é obrigatório",requiredPassword:"A senha é obrigatória",invalidCredentials:"E-mail ou senha inválidos",captchaRequired:"Por favor, complete a verificação de captcha",emailNotVerified:{title:"Verificação de e-mail obrigatória",description:"Verifique seu e-mail e clique no link de verificação. Se não tiver recebido o e-mail, clique no botão abaixo para reenviar.",resendSuccess:"O e-mail de verificação foi reenviado, por favor verifique sua caixa de entrada.",resendError:"Falha ao reenviar o e-mail de verificação, por favor tente novamente mais tarde.",dialogTitle:"Reenviar E-mail de Verificação",dialogDescription:"Por favor, complete a verificação de captcha antes de reenviar o e-mail de verificação",emailLabel:"Endereço de E-mail",sendButton:"Enviar E-mail de Verificação",sendingButton:"Enviando...",waitButton:"Aguarde {seconds}s"}}},signup:{title:"Cadastre-se no Claude Certified Architect",createAccount:"Criar uma conta",socialSignup:"Cadastre-se com sua conta social favorita",continueWith:"Ou continue com",name:"Nome",namePlaceholder:"Digite seu nome",email:"E-mail",emailPlaceholder:"Digite seu e-mail",password:"Senha",passwordPlaceholder:"Crie uma senha",imageUrl:"URL da Imagem de Perfil",imageUrlPlaceholder:"https://exemplo.com/sua-imagem.jpg",optional:"Opcional",submit:"Criar conta",submitting:"Criando conta...",haveAccount:"Já tem uma conta?",signinLink:"Entrar",termsNotice:"Ao clicar em continuar, você concorda com nossos",termsOfService:"Termos de Serviço",privacyPolicy:"Política de Privacidade",verification:{title:"Verificação Obrigatória",sent:"Enviamos um e-mail de verificação para",checkSpam:"Não encontrou o e-mail? Por favor, verifique sua pasta de spam.",spamInstruction:"Se ainda assim não o vir,"},errors:{invalidName:"Insira um nome válido",requiredName:"O nome é obrigatório",invalidEmail:"Insira um e-mail válido",requiredEmail:"O e-mail é obrigatório",invalidPassword:"Insira uma senha válida",requiredPassword:"A senha é obrigatória",invalidImage:"Insira uma URL de imagem válida",captchaRequired:"Por favor, complete a verificação de captcha",captchaError:"Falha na verificação de captcha, tente novamente",captchaExpired:"A verificação de captcha expirou, tente novamente"}},phone:{title:"Login com Telefone",description:"Insira seu número de telefone para receber um código de verificação",phoneNumber:"Número de Telefone",phoneNumberPlaceholder:"Digite seu número de telefone",countryCode:"País/Região",verificationCode:"Código de Verificação",enterCode:"Digite o Código de Verificação",sendingCode:"Enviando código...",verifying:"Verificando...",codeSentTo:"Código de verificação enviado para",resendIn:"Reenviar em",seconds:"segundos",resendCode:"Reenviar Código",resendCountdown:"segundos restantes",termsNotice:"Ao clicar em continuar, você concorda com nossos",termsOfService:"Termos de Serviço",privacyPolicy:"Política de Privacidade",errors:{invalidPhone:"Insira um número de telefone válido",requiredPhone:"O número de telefone é obrigatório",requiredCountryCode:"Selecione o país/região",invali
18dCode:"Insira um código de verificação válido",requiredCode:"O código de verificação é obrigatório",captchaRequired:"Por favor, complete a verificação de captcha"}},forgetPassword:{title:"Esqueceu a Senha",description:"Redefina sua senha e recupere o acesso à sua conta",email:"E-mail",emailPlaceholder:"Digite seu e-mail",submit:"Enviar link de redefinição",submitting:"Enviando...",termsNotice:"Ao clicar em continuar, você concorda com nossos",termsOfService:"Termos de Serviço",privacyPolicy:"Política de Privacidade",verification:{title:"Verifique seu e-mail",sent:"Enviamos um link de redefinição de senha para",checkSpam:"Não encontrou o e-mail? Por favor, verifique sua pasta de spam."},errors:{invalidEmail:"Insira um e-mail válido",requiredEmail:"O e-mail é obrigatório",captchaRequired:"Por favor, complete a verificação de captcha"}},resetPassword:{title:"Redefinir Senha",description:"Crie uma nova senha para sua conta",password:"Nova Senha",passwordPlaceholder:"Digite sua nova senha",confirmPassword:"Confirmar Senha",confirmPasswordPlaceholder:"Confirme sua nova senha",submit:"Redefinir Senha",submitting:"Redefinindo...",success:{title:"Senha Redefinida com Sucesso",description:"Sua senha foi redefinida com sucesso.",backToSignin:"Voltar para Entrar",goToSignIn:"Voltar para Entrar"},errors:{invalidPassword:"A senha deve ter pelo menos 8 caracteres",requiredPassword:"A senha é obrigatória",passwordsDontMatch:"As senhas não coincidem",invalidToken:"Link de redefinição inválido ou expirado. Tente novamente."}},wechat:{title:"Login WeChat",description:"Escaneie com o WeChat para entrar",scanQRCode:"Por favor, escaneie o código QR com o WeChat",orUseOtherMethods:"Ou use outros métodos de login",loadingQRCode:"Carregando código QR...",termsNotice:"Ao clicar em continuar, você concorda com nossos",termsOfService:"Termos de Serviço",privacyPolicy:"Política de Privacidade",errors:{loadingFailed:"Falha ao carregar o código QR do WeChat",networkError:"Erro de rede, tente novamente"}},authErrors:{USER_NOT_FOUND:"Nenhuma conta encontrada com este e-mail",USER_ALREADY_EXISTS:"Usuário com este e-mail já existe",USER_ALREADY_EXISTS_USE_ANOTHER_EMAIL:"Usuário já existe. Por favor, use outro e-mail",USER_EMAIL_NOT_FOUND:"E-mail do usuário não encontrado",FAILED_TO_CREATE_USER:"Falha ao criar usuário",FAILED_TO_UPDATE_USER:"Falha ao atualizar usuário",INVALID_EMAIL:"Endereço de e-mail inválido",INVALID_PASSWORD:"Senha inválida",INVALID_EMAIL_OR_PASSWORD:"E-mail ou senha inválidos",INVALID_CREDENTIALS:"Credenciais fornecidas inválidas",INVALID_TOKEN:"Token inválido ou expirado",PASSWORD_TOO_SHORT:"A senha é muito curta",PASSWORD_TOO_LONG:"A senha é muito longa",EMAIL_NOT_VERIFIED:"Por favor, verifique seu endereço de e-mail",EMAIL_ALREADY_VERIFIED:"O e-mail já está verificado",EMAIL_MISMATCH:"Divergência de e-mail",EMAIL_CAN_NOT_BE_UPDATED:"O e-mail não pode ser atualizado",VERIFICATION_EMAIL_NOT_ENABLED:"E-mail de verificação não está habilitado",SESSION_EXPIRED:"Sua sessão expirou. Por favor, entre novamente",SESSION_NOT_FRESH:"A sessão não é recente. Por favor, reautentique-se",FAILED_TO_CREATE_SESSION:"Falha ao criar sessão",FAILED_TO_GET_SESSION:"Falha ao obter sessão",ACCOUNT_NOT_FOUND:"Conta não encontrada",ACCOUNT_BLOCKED:"Sua conta foi temporariamente bloqueada",CREDENTIAL_ACCOUNT_NOT_FOUND:"Conta de credencial não encontrada",SOCIAL_ACCOUNT_ALREADY_LINKED:"Conta social já vinculada",LINKED_ACCOUNT_ALREADY_EXISTS:"Conta vinculada já existe",FAILED_TO_UNLINK_LAST_ACCOUNT:"Não é possível desvincular sua última conta",USER_ALREADY_HAS_PASSWORD:"O usuário já tem uma senha",PHONE_NUMBER_ALREADY_EXISTS:"O número de telefone já está cadastrado",INVALID_PHONE_NUMBER:"Formato de número de telefone inválido",OTP_EXPIRED:"O código de verificação expirou",INVALID_OTP:"Código de verificação inválido",OTP_TOO_MANY_ATTEMPTS:"Muitas tentativas de verificação. Por favor, solicite um novo código",PROVIDER_NOT_FOUND:"Provedor não encontrado",ID_TOKEN_NOT_SUPPORTED:"ID token não suportado",FAILED_TO_GET_USER_INFO:"Falha ao obter informações do usuário",CAPTCHA_REQUIRED:"Por favor, complete a verificação de captcha",CAPTCHA_INVALID:"Falha na verificação de captcha",TOO_MANY_REQUESTS:"Muitas solicitações. Tente novamente mais tarde",CROSS_SITE_
18NAVIGATION_LOGIN_BLOCKED:"Login por navegação entre sites bloqueado",INVALID_ORIGIN:"Origem inválida",MISSING_OR_NULL_ORIGIN:"Origem ausente ou inválida",INVALID_CALLBACK_URL:"URL de retorno inválida",INVALID_REDIRECT_URL:"URL de redirecionamento inválida",INVALID_ERROR_CALLBACK_URL:"URL de retorno de erro inválida",INVALID_NEW_USER_CALLBACK_URL:"URL de retorno de novo usuário inválida",CALLBACK_URL_REQUIRED:"A URL de retorno é obrigatória",VALIDATION_ERROR:"Erro de validação",MISSING_FIELD:"Campo obrigatório ausente",FIELD_NOT_ALLOWED:"Campo não permitido",ASYNC_VALIDATION_NOT_SUPPORTED:"Validação assíncrona não suportada",FAILED_TO_CREATE_VERIFICATION:"Falha ao criar verificação",EMAIL_SEND_FAILED:"Falha ao enviar e-mail. Tente novamente mais tarde",SMS_SEND_FAILED:"Falha ao enviar SMS. Tente novamente mais tarde",UNKNOWN_ERROR:"Ocorreu um erro inesperado"}},admin:{metadata:{title:"Claude Certified Architect - Painel do Administrador",description:"Painel administrativo abrangente para gerenciar usuários, assinaturas, pedidos e análises do sistema em seu aplicativo SaaS.",keywords:"administrador, painel, gerenciamento, SaaS, análises, usuários, assinaturas, pedidos"},dashboard:{title:"Painel do Administrador",accessDenied:"Acesso Negado",noPermission:"Você não tem permissão para acessar o painel do administrador",lastUpdated:"Última atualização",metrics:{totalRevenue:"Receita Total",totalRevenueDesc:"Receita histórica",newCustomers:"Novos Clientes Mensais",newCustomersDesc:"Novos clientes este mês",newOrders:"Novos Pedidos Mensais",newOrdersDesc:"Novos pedidos este mês",fromLastMonth:"desde o mês passado"},chart:{monthlyRevenueTrend:"Tendência de Receita Mensal",revenue:"Receita",orders:"Pedidos"},todayData:{title:"Dados de Hoje",revenue:"Receita",newUsers:"Novos Usuários",orders:"Pedidos"},monthData:{title:"Dados Deste Mês",revenue:"Receita Mensal",newUsers:"Novos Usuários Mensais",orders:"Pedidos Mensais"},recentOrders:{title:"Pedidos Recentes",orderId:"ID do Pedido",customer:"Cliente",plan:"Plano",amount:"Valor",provider:"Método de Pagamento",status:"Status",time:"Hora",total:"Total"}},users:{title:"Gerenciamento de Usuários",subtitle:"Gerencie usuários, funções e permissões",createUser:"Criar Usuário",editUser:"Editar Usuário",actions:{addUser:"Adicionar Usuário",editUser:"Editar Usuário",deleteUser:"Excluir Usuário",banUser:"Banir Usuário",unbanUser:"Desbanir Usuário"},table:{columns:{id:"ID",name:"Nome",email:"E-mail",role:"Função",phoneNumber:"Número de Telefone",emailVerified:"E-mail Verificado",banned:"Banido",createdAt:"Criado em",updatedAt:"Atualizado em",actions:"Ações"},actions:{editUser:"Editar Usuário",deleteUser:"Excluir Usuário",clickToCopy:"Clique para copiar"},sort:{ascending:"Classificar de forma crescente",descending:"Classificar de forma decrescente",none:"Remover classificação"},noResults:"Nenhum usuário encontrado",search:{searchBy:"Buscar por",searchPlaceholder:"Buscar {field}...",filterByRole:"Filtrar por função",allRoles:"Todas as Funções",banStatus:"Status de banimento",allUsers:"Todos os usuários",bannedUsers:"Banidos",notBannedUsers:"Não banidos",view:"Visualizar",toggleColumns:"Alternar colunas"},pagination:{showing:"Exibindo de {start} a {end} de {total} resultados",pageInfo:"Página {current} de {total}"},dialog:{banTitle:"Banir Usuário",banDescription:"Tem certeza de que deseja banir este usuário? Ele não poderá acessar o aplicativo.",banSuccess:"Usuário banido com sucesso",unbanSuccess:"Usuário desbanido com sucesso",updateRoleSuccess:"Função do usuário atualizada com sucesso",updateRoleFailed:"Falha ao atualizar função do usuário"}},banDialog:{title:"Banir Usuário",description:"Tem certeza de que deseja banir {userName}? Ele não poderá acessar o aplicativo."},unbanDialog:{title:"Desbanir Usuário",description:"Tem certeza de que deseja desbanir {userName}? Ele recuperará o acesso ao aplicativo."},form:{title:"Informações do Usuário",description:"Insira os detalhes do usuário abaixo",labels:{name:"Nome",email:"E-mail",password:"Senha",confirmPassword:"Confirmar Senha",role:"Função",image:"Imagem de Perfil",phoneNumber:"Número de Telefone",emailVerified:"E-mail 
18Verificado",phoneVerified:"Telefone Verificado",banned:"Banido",banReason:"Motivo do Banimento"},placeholders:{name:"Digite o nome do usuário",email:"Digite o e-mail do usuário",password:"Digite a senha (mín. 8 caracteres)",confirmPassword:"Confirme a senha",selectRole:"Selecione a função",image:"https://exemplo.com/avatar.jpg",phoneNumber:"Digite o número de telefone",banReason:"Motivo para banir (opcional)"},validation:{nameRequired:"O nome é obrigatório",emailRequired:"O e-mail é obrigatório",emailInvalid:"Por favor, insira um e-mail válido",passwordRequired:"A senha é obrigatória",passwordMinLength:"A senha deve ter pelo menos 8 caracteres",passwordMismatch:"As senhas não coincidem",roleRequired:"A função é obrigatória"}},deleteDialog:{title:"Excluir Usuário",description:"Você tem certeza absoluta? Esta ação não pode ser desfeita. Isso excluirá permanentemente a conta do usuário e removerá todos os dados associados."},messages:{createSuccess:"Usuário criado com sucesso",updateSuccess:"Usuário atualizado com sucesso",deleteSuccess:"Usuário excluído com sucesso",deleteError:"Falha ao excluir usuário",fetchError:"Falha ao buscar dados do usuário",operationFailed:"A operação falhou"}},orders:{title:"Pedidos",actions:{createOrder:"Criar Pedido"},messages:{fetchError:"Falha ao carregar pedidos. Tente novamente."},table:{noResults:"Nenhum pedido encontrado.",search:{searchBy:"Buscar por...",searchPlaceholder:"Buscar por {field}...",filterByStatus:"Filtrar por status",allStatus:"Todos os Status",filterByProvider:"Provedor de pagamento",allProviders:"Todos os Provedores",stripe:"Stripe",wechat:"WeChat",creem:"Creem",alipay:"Alipay",dodo:"Dodo Payments",pending:"Pendente",paid:"Pago",failed:"Falhou",refunded:"Reembolsado",canceled:"Cancelado"},columns:{id:"ID do Pedido",user:"Usuário",amount:"Valor",plan:"Plano",status:"Status",provider:"Provedor",providerOrderId:"ID do Pedido no Provedor",createdAt:"Criado em",actions:"Ações"},actions:{openMenu:"Abrir menu",actions:"Ações",viewOrder:"Visualizar pedido",refundOrder:"Reembolsar pedido",clickToCopy:"Clique para copiar"},sort:{ascending:"Classificar de forma crescente",descending:"Classificar de forma decrescente",none:"Remover classificação"}},status:{pending:"Pendente",paid:"Pago",failed:"Falhou",refunded:"Reembolsado",canceled:"Cancelado"}},blog:{title:"Gerenciamento do Blog",subtitle:"Crie e gerencie publicações do blog",createPost:"Criar Publicação",editPost:"Editar Publicação",actions:{newPost:"Nova Publicação"},messages:{fetchError:"Falha ao carregar publicações do blog. Tente novamente.",createSuccess:"Publicação criada com sucesso",updateSuccess:"Publicação atualizada com sucesso",deleteSuccess:"Publicação excluída com sucesso",deleteError:"Falha ao excluir publicação",operationFailed:"A operação falhou",uploadSuccess:"Upload realizado com sucesso",uploadError:"Falha no upload"},table:{noResults:"Nenhuma publicação encontrada.",search:{searchPlaceholder:"Buscar por título...",filterByStatus:"Filtrar por status",allStatus:"Todos os Status",draft:"Rascunho",published:"Publicado"},columns:{title:"Título",status:"Status",author:"Autor",publishedAt:"Publicado em",createdAt:"Criado em",actions:"Ações"},actions:{edit:"Editar",delete:"Excluir"},sort:{ascending:"Classificar de forma crescente",descending:"Classificar de forma decrescente",none:"Remover classificação"}},form:{title:"Informações da Publicação",description:"Insira os detalhes da publicação abaixo",labels:{title:"Título",slug:"Slug",excerpt:"Resumo",coverImage:"Imagem de Capa",status:"Status",content:"Conteúdo"},placeholders:{title:"Digite o título da publicação",slug:"Slug amigável para URL (gerado automaticamente a partir do título)",excerpt:"Breve resumo da publicação",coverImage:"Arraste e solte ou clique para fazer upload (máx. 2MB)",content:"Escreva seu conteúdo em Markdown..."}},deleteDialog:{title:"Excluir Publicação",description:"Você tem certeza absoluta? Esta ação não pode ser desfeita. Isso excluirá permanentemente a publicação."}},credits:{title:"Transações de Créditos",subtitle:"Visualizar todas as transações de créditos de todos os usuários",messages:{fetchError:"Falha ao carregar transações de créditos. Tente novamente."},table:{noResults:"Nenhuma transação de créditos encontrada.",search:{searchBy:"Buscar por...",searchPlaceholder:"Buscar por {field}...",filterByType:"Filtrar por tipo",allTypes:"Todos os Tipos",purchase:"Compra",consumption:"Consumo",refund:"Reembolso",bonus:"Bônus",adjustment:"Ajuste"},columns:{id:"ID da Transação",user:"Usuário",type:"Tipo",amount:"Valor",balance:"Saldo",description:"Descrição",createdAt:"Criado em",metadata:"Metadados"},actions:{clickToCopy:"Clique para copiar",viewDetails:"Visualizar detalhes"}
18,sort:{ascending:"Classificar de forma crescente",descending:"Classificar de forma decrescente",none:"Remover classificação"},pagination:{showing:"Exibindo de {start} a {end} de {total} resultados",pageInfo:"Página {current} de {total}"}},type:{purchase:"Compra",consumption:"Consumo",refund:"Reembolso",bonus:"Bônus",adjustment:"Ajuste"}},subscriptions:{title:"Assinaturas",description:"Gerenciar assinaturas e cobrança dos usuários",actions:{createSubscription:"Criar Assinatura"},messages:{fetchError:"Falha ao carregar assinaturas. Tente novamente."},table:{showing:"Exibindo de {from} a {to} de {total} resultados",noResults:"Nenhuma assinatura encontrada.",rowsPerPage:"Linhas por página",page:"Página",of:"de",view:"Visualizar",toggleColumns:"Alternar colunas",goToFirstPage:"Ir para a primeira página",goToPreviousPage:"Ir para a página anterior",goToNextPage:"Ir para a próxima página",goToLastPage:"Ir para a última página",search:{searchLabel:"Buscar assinaturas",searchField:"Campo de busca",statusLabel:"Status",providerLabel:"Provedor",search:"Buscar",clear:"Limpar",allStatuses:"Todos os status",allProviders:"Todos os provedores",stripe:"Stripe",creem:"Creem",wechat:"WeChat",alipay:"Alipay",dodo:"Dodo Payments",userEmail:"E-mail do Usuário",subscriptionId:"ID da Assinatura",userId:"ID do Usuário",planId:"ID do Plano",stripeSubscriptionId:"ID da Assinatura Stripe",creemSubscriptionId:"ID da Assinatura Creem",dodoSubscriptionId:"ID da Assinatura Dodo",placeholders:{userEmail:"Digite o e-mail do usuário...",subscriptionId:"Digite o ID da assinatura...",userId:"Digite o ID do usuário...",planId:"Digite o ID do plano...",stripeSubscriptionId:"Digite o ID da assinatura Stripe...",creemSubscriptionId:"Digite o ID da assinatura Creem...",dodoSubscriptionId:"Digite o ID da assinatura Dodo...",default:"Digite o termo de busca..."},searchBy:"Buscar por...",searchPlaceholder:"Buscar por {field}...",filterByStatus:"Filtrar por status",filterByProvider:"Filtrar por provedor",allStatus:"Todos os Status",filterByPaymentType:"Tipo de pagamento",allPaymentTypes:"Todos os Tipos",active:"Ativa",canceled:"Cancelada",expired:"Expirada",trialing:"Em período de teste",inactive:"Inativa",oneTime:"Pagamento Único",recurring:"Recorrente"},columns:{id:"ID da Assinatura",user:"Cliente",plan:"Plano",status:"Status",paymentType:"Tipo de Pagamento",provider:"Provedor",periodStart:"Início do Período",periodEnd:"Fim do Período",cancelAtPeriodEnd:"Será Cancelada",createdAt:"Criada",updatedAt:"Atualizada",metadata:"Metadados",period:"Período",actions:"Ações"},actions:{openMenu:"Abrir menu",actions:"Ações",viewSubscription:"Visualizar assinatura",cancelSubscription:"Cancelar assinatura",clickToCopy:"Clique para copiar"},sort:{ascending:"Classificar de forma crescente",descending:"Classificar de forma decrescente",none:"Remover classificação"}},status:{active:"Ativa",trialing:"Em período de teste",canceled:"Cancelada",cancelled:"Cancelada",expired:"Expirada",inactive:"Inativa"},paymentType:{one_time:"Pagamento único",recurring:"Recorrente"}}},pricing:{metadata:{title:"Claude Certified Architect - Planos de Preços",description:"Escolha o plano perfeito para suas necessidades. Opções de preços flexíveis, incluindo assinaturas mensais, anuais e vitalícias com recursos premium.",keywords:"preços, planos, assinatura, mensal, anual, vitalícia, premium, recursos"},title:"Preços",subtitle:"Escolha o plano ideal para você",description:"Oferecemos tanto assinaturas tradicionais baseadas em tempo (mensal/anual/vitalícia) quanto o sistema de créditos popular na era da IA. Assine para ter acesso ilimitado ou compre créditos e pague apenas pelo que usar.",cta:"Começar",recommendedBadge:"Recomendado",lifetimeBadge:"Compra única, acesso vitalício",creditsBadge:"Créditos",creditsUnit:"créditos",tabs:{subscription:"Assinatura",credits:"Créditos"},features:{securePayment:{title:"Segurança Multi-Provedor",description:"Suporte para WeChat Pay, Stripe, Creem com segurança de nível empresarial"},flexibleSubscription:{title:"Modelos de Pagamento Flexíveis",description:"Assinatura baseada em tempo ou sistema de créditos da era da IA — escolha o seu estilo"},globalCoverage:{title:"Cobertura Global de Pagamento",description:"Métodos de pagamento multimoeda e regionais para acesso mundial"}},plans:{monthly:{name:"Plano Mensal",description:"Perfeito para projetos de curto prazo",duration:"mês",features:{所有高级功能:"Todos os recursos premium",优先支持:"Suporte prioritário"}},yearly:{name:"Plano Anual",description:"Melhor valor para uso de longo prazo",duration:"ano",features:{所有高级功能:"Todos os recursos premium",优先支持:"Suporte prioritário",两个月免费:"2 meses grátis"}},lifetime:{name:"Vitalício",description:"Pagamento único, acesso vitalício",duration:"vitalício",features:{所有高级功能:"Todos os recursos premium",优先支持:"Suporte prioritário",终身免费更新:"Atualizações gratuitas por toda a vida"}}}},payment:{metadata:{success:{title:"Claude Certified Architect - Pagamento Bem-sucedido",description:"Seu pagamento foi processado com sucesso. Obrigado por sua assinatura e boas-vindas aos nossos recursos premium.",keywords:"pagamento, sucesso, assinatura, confirmação, premium"},cancel:{title:"Claude Certified Architect - Pagamento Cancelado",description:"Seu pagamento foi cancelado. V
18ocê pode tentar o pagamento novamente ou entrar em contato com nossa equipe de suporte para obter assistência.",keywords:"pagamento, cancelado, tentar novamente, suporte, assinatura"}},result:{success:{title:"Pagamento Bem-sucedido",description:"Seu pagamento foi processado com sucesso.",support:"Algo ainda bloqueado ou diferente do esperado? Escreva para {email} e resolveremos rapidamente.",actions:{viewSubscription:"Visualizar Assinatura",backToHome:"Voltar para o Início"}},cancel:{title:"Pagamento Cancelado",description:"Seu pagamento foi cancelado.",actions:{tryAgain:"Tentar Novamente",contactSupport:"Contatar Suporte",backToHome:"Voltar para o Início"}},failed:"Falha no pagamento, por favor tente novamente"},steps:{initiate:"Iniciar",initiateDesc:"Preparar pagamento",scan:"Escanear",scanDesc:"Escanear código QR",pay:"Pagar",payDesc:"Confirmar pagamento"},scanQrCode:"Por favor, escaneie o código QR com o WeChat para concluir o pagamento",confirmCancel:"Seu pagamento não está concluído. Tem certeza de que deseja cancelar?",orderCanceled:"Seu pedido foi cancelado"},subscription:{metadata:{title:"Claude Certified Architect - Minha Assinatura",description:"Gerencie seu plano de assinatura, visualize o histórico de cobrança e atualize as formas de pagamento em seu painel de assinatura.",keywords:"assinatura, cobrança, pagamento, plano, gerenciamento, painel"},title:"Minha Assinatura",overview:{title:"Visão Geral da Assinatura",planType:"Tipo de Plano",status:"Status",active:"Ativa",startDate:"Data de Início",endDate:"Data de Término",progress:"Progresso da Assinatura"},management:{title:"Gerenciamento da Assinatura",description:"Gerencie sua assinatura, visualize o histórico de cobrança e atualize os métodos de pagamento através do portal do cliente.",manageSubscription:"Gerenciar Assinatura",changePlan:"Alterar Plano",redirecting:"Redirecionando..."},noSubscription:{title:"Nenhuma Assinatura Ativa Encontrada",description:"Atualmente você não possui um plano de assinatura ativo.",viewPlans:"Ver Planos"}},dashboard:{metadata:{title:"Claude Certified Architect - Painel",description:"Gerencie sua conta, assinaturas e configurações de perfil em seu painel personalizado.",keywords:"painel, conta, perfil, assinatura, configurações, gerenciamento"},title:"Painel",description:"Gerencie sua conta e assinaturas",profile:{title:"Informações do Perfil",noNameSet:"Nenhum nome definido",role:"Função:",emailVerified:"E-mail verificado",editProfile:"Editar Perfil",updateProfile:"Atualizar Perfil",cancel:"Cancelar",form:{labels:{name:"Nome Completo",email:"Endereço de E-mail",image:"URL da Imagem de Perfil"},placeholders:{name:"Digite seu nome completo",email:"Endereço de e-mail",image:"https://exemplo.com/sua-imagem.jpg"},emailReadonly:"O endereço de e-mail não pode ser modificado",imageDescription:"Opcional: Insira uma URL para sua foto de perfil"},updateSuccess:"Perfil atualizado com sucesso",updateError:"Falha ao atualizar o perfil. Tente novamente."},subscription:{title:"Status da Assinatura",status:{lifetime:"Vitalício",active:"Ativa",canceled:"Cancelada",cancelAtPeriodEnd:"Cancelando no Fim do Período",pastDue:"Atrasada",unknown:"Desconhecido",noSubscription:"Sem Assinatura"},paymentType:{recurring:"Recorrente",oneTime:"Pagamento único"},lifetimeAccess:"Você tem acesso vitalício",expires:"Expira em:",cancelingNote:"Sua assinatura não será renovada e terminará em:",noActiveSubscription:"Atualmente você não possui nenhuma assinatura ativa",manageSubscription:"Gerenciar Assinatura",viewPlans:"Ver Planos"},credits:{title:"Saldo de Créditos",available:"Créditos Disponíveis",totalPurchased:"Total Comprado",totalConsumed:"Total Usado",recentTransactions:"Transações Recentes",buyMore:"Comprar Mais Créditos",types:{purchase:"Compra",bonus:"Bônus",consumption:"Usado",refund:"Reembolso",adjustment:"Ajuste"},descriptions:{ai_chat:"AI Chat",ai_image_generation:"AI Image Generation",ai_video_generation:"AI Video Generation",image_generation:"Image Generation",document_processing:"Processamento de Documentos",purchase:"Compra de Crédito",bonus:"Créditos de Bônus",refund:"Reembolso de Créditos",adjustment:"Ajuste do Administrador"},table:{type:"Tipo",description:"Descrição",amount:"Valor",time:"Hora"}},account:{title:"Detalhes da Conta",memberSince:"Membro desde",phoneNumber:"Número de Telefone"},orders:{title:"Histórico de Pedidos",status:{pending:"Pendente",paid:"Pago",failed:"Falhou",refunded:"Reembolsado",canceled:"Cancelado"},provider:{stripe:"Stripe",wechat:"WeChat Pay",creem:"Creem",alipay:"Alipay",dodo:"Dodo Payments"},noOrders:"Nenhum pedido encontrado",noOrdersDescription:"Você ainda não fez nenhum pedido",viewAllOrders:"Visualizar Todos os Pedidos",orderDetails:{orderId:"ID do Pedido",amount:"Valor",plan:"Plano",status:"Status",provider:"Método de Pagamento",createdAt:"Criado em"},recent:{title:"Pedidos Recentes",showingRecent:"Exibindo os {count} pedidos mais recentes"},page:{title:"Todos os Pedidos",description:"Visualize e gerencie todos os seus pedidos",backToDashboard:"Voltar para o Painel",totalOrders:"Total de {count} pedidos"}},linkedAccounts:{title:"Contas Vinculadas",connected:"Conectada",connectedAt:"Conectada em:",noLinkedAccounts:"Nenhuma conta vinculada",providers:{credential:"E-mail e Senha",google:"Google",github:"GitHub",facebook:"Facebook",apple:"Apple",discord:"Discord",wechat:"WeChat","phone-number":"Número de Telefone"}},tabs:{profile:{title:"Perfil",description:"Gerencie suas informações pessoais e avatar"},account:{title:"Gerenciamento da Conta",description:"Alterações de senha, contas vinculadas e segurança"},security:{title:"Segurança",description:"Configurações de senha e segurança"},subscription:{description:"Gerencie seu plano de assinatura e recursos"}
18,credits:{title:"Créditos",description:"Visualize seu saldo de créditos e transações"},orders:{description:"Visualize seu histórico de pedidos e transações"},content:{profile:{title:"Perfil",subtitle:"É assim que os outros verão você no site.",username:{label:"Nome de usuário",value:"shadcn",description:"Este é seu nome de exibição público. Pode ser seu nome real ou um pseudônimo. Você só pode alterar isso uma vez a cada 30 dias."},email:{label:"E-mail",placeholder:"Selecione um e-mail verificado para exibição",description:"Você pode gerenciar os endereços de e-mail verificados em suas configurações de e-mail."}},account:{title:"Configurações da Conta",subtitle:"Gerencie as configurações e preferências da sua conta.",placeholder:"Conteúdo das configurações da conta..."},security:{title:"Configurações de Segurança",subtitle:"Gerencie sua senha e configurações de segurança.",placeholder:"Conteúdo das configurações de segurança..."}}},quickActions:{title:"Ações Rápidas",editProfile:"Editar Perfil",accountSettings:"Configurações da Conta",subscriptionDetails:"Detalhes da Assinatura",getSupport:"Obter Suporte",viewDocumentation:"Ver Documentação"},accountManagement:{title:"Gerenciamento da Conta",changePassword:{title:"Alterar Senha",description:"Atualize a senha da sua conta",oauthDescription:"O gerenciamento de senha não está disponível para contas com login social",button:"Alterar Senha",dialogDescription:"Digite sua senha atual e escolha uma nova",form:{currentPassword:"Senha Atual",currentPasswordPlaceholder:"Digite sua senha atual",newPassword:"Nova Senha",newPasswordPlaceholder:"Digite a nova senha (mínimo de 8 caracteres)",confirmPassword:"Confirmar Nova Senha",confirmPasswordPlaceholder:"Confirme sua nova senha",cancel:"Cancelar",submit:"Atualizar Senha"},success:"Senha atualizada com sucesso",errors:{required:"Preencha todos os campos obrigatórios",mismatch:"As novas senhas não coincidem",minLength:"A senha deve ter pelo menos 8 caracteres",failed:"Falha ao atualizar a senha. Tente novamente."}},deleteAccount:{title:"Excluir Conta",description:"Exclua permanentemente sua conta e todos os dados associados",button:"Excluir Conta",confirmTitle:"Excluir Conta",confirmDescription:"Tem certeza absoluta de que deseja excluir sua conta?",warning:"⚠️ Esta ação não pode ser desfeita",consequences:{data:"Todos os seus dados pessoais serão excluídos permanentemente",subscriptions:"As assinaturas ativas serão canceladas",access:"Você perderá o acesso a todos os recursos premium"},form:{cancel:"Cancelar",confirm:"Sim, Excluir Minha Conta"},success:"Conta excluída com sucesso",errors:{failed:"Falha ao excluir a conta. Tente novamente."}}},roles:{admin:"Administrador",user:"Usuário"}},home:{metadata:{title:"Preparatório para o Exame Claude Certified Architect (CCAR-F) — Cursos, Simulados e Guias de Estudo",description:"Passe no exame Claude Certified Architect — Foundations com cursos alinhados ao conteúdo oficial, simulados completos com cronômetro, guias de estudo por domínio e flashcards com repetição espaçada. Disponível em 5 idiomas.",keywords:"Claude Certified Architect, CCAR-F, certificação Claude, exame Claude, certificação Anthropic, certificação Claude Code, certificação MCP, simulado de exame, CCA-F"},hero:{titlePrefix:"Passe no exame ",titleHighlight:"Claude Certified Architect",titleSuffix:"",subtitle:"Cursos alinhados ao conteúdo oficial, simulados completos com cronômetro, guias de estudo por domínio e flashcards com repetição espaçada — criados com base no exame oficial de 5 domínios da CCAR-F. Estude no seu idioma.",buttons:{purchase:"Obter o Passe do Exame",demo:"Tente um diagnóstico gratuito"},features:{lifetime:"Alinhado ao conteúdo oficial de 5 domínios",earlyBird:"Guias de estudo e teste de diagnóstico gratuitos"}},features:{title:"Tudo o que você precisa para passar na CCAR-F",subtitle:"Domine todos os cinco domínios do exame com cursos estruturados e prove sua preparação com simulados realistas com cronômetro.",items:[{title:"Arquitetura Agêntica & Orquestração",description:"O domínio mais pesado (27%): o loop agêntico e stop_reason, topologias multiagente, isolamento de subagentes, sessões e padrões de decomposição.",className:"col-span-2 row-span-1"},{title:"Design de Ferramentas & Integração com MCP",description:"Domínio 2 (18%): descrições de ferramentas como mecanismo de seleção, tool_choice, erros estruturados e o Model Context Protocol de ponta a ponta.",className:"col-span-1 row-span-1"},{title:"Fluxos de Trabalho do Claude Code",description:"Domínio 3 (20%): hierarquia do CLAUDE.md, comandos slash e Skills, modelos de permissão e uso de CI/CD headless.",className:"col-span-1 row-span-1"},{title:"Engenharia de Prompt & Saída Estruturada",description:"Domínio 4 (20%): few-shot e chain-of-thought, uso de ferramentas JSON Schema, loops de validação e repetição e a Message Batches API.",className:"col-span-1 row-span-1"},{title:"Gerenciamento de Contexto & Confiabilidade",description:"Domínio 5 (15%): lost-in-the-middle, scratchpads através de limites de contexto, proveniência, cache de prompt e orçamentos de token.",className:"col-span-1 row-span-1"},{title:"Simulados completos com cronômetro",description:"60 perguntas baseadas em cenários em 120 minutos, ponderadas de acordo com o conteúdo real, com detalhamento de pontuação por domínio.",className:"col-span-2 row-span-1"},{title:"Flashcards com repetição espaçada",description:"Fixe os fatos essenciais com baralhos de flashcards do método Leitner para cada domínio, além de um baralho de glossário.",className:"col-span-1 row-span-1"},{title:"Cinco idiomas",description:"Estude em English, 日本語, 한국어, Português (BR) ou 简体中文.",className:"col-span-1 row-span-1"}],techStack:{title:"Criado com base no conteúdo oficial do exame",items:["Arquitetura Agêntica","Ferramentas & MCP","Claude Code","Engenharia de Prompt","Contexto & Confiabilidade","60 MCQs de cenários · 120 min","Pontuação mínima ≥ 720"]}},applicationFeatures:{title:"Como funciona a Preparação para a CCA",subtitle:"Um caminho claro do plano de estudos ao certificado.",items:[{title:"Estude o conteúdo oficial",subtitle:"Guias de estudo gratuitos por domínio",description:"Comece com o conteúdo oficial de 5 domínios. Cada domínio tem um guia de estudo gratuito e detalhado com dicas de exames, antipadrões e links para as lições completas do curs
18o.",highlights:["5 domínios de exame ponderados","Dicas de exames e antipadrões","Plano de estudo de 12 semanas","Sempre gratuito"],imageTitle:"Conteúdo Oficial do Exame"},{title:"Faça os cursos",subtitle:"Lições estruturadas e alinhadas ao conteúdo",description:"Seis cursos que vão desde os fundamentos da plataforma Claude até cada domínio do exame. Lições em Markdown, tempos estimados de leitura e um glossário que cruza os principais termos.",highlights:["6 cursos: fundamentos + 1 por domínio","O Módulo 1 de cada curso é gratuito","Acompanhe a conclusão das lições","Links cruzados no glossário"],imageTitle:"Cursos e Lições"},{title:"Pratique com simulados",subtitle:"Realistas, cronometrados e ponderados",description:"Simulados completos de 60 perguntas replicam o formato e a ponderação reais, além de questionários por domínio e um diagnóstico gratuito. Cada pergunta possui uma explicação detalhada.",highlights:["Simulados completos cronometrados","Questionários por domínio","Explicações detalhadas das respostas","Pontuação com base na nota de corte de 720"],imageTitle:"Exames de Prática"},{title:"Acompanhe seu progresso",subtitle:"Saiba quando estiver pronto",description:"Seu painel mostra o histórico de tentativas, pontos fortes e lacunas por domínio, e a porcentagem de conclusão das lições, para que você faça o exame real com confiança.",highlights:["Histórico de tentativas","Detalhamento por domínio","% de conclusão das lições","Datas de vencimento dos flashcards"],imageTitle:"Painel de Progresso"}]},stats:{title:"Desenvolvido para o exame",items:{questions:"Perguntas práticas",domains:"Domínios do exame",languages:"Idiomas",passScore:"Nota de corte"}},testimonials:{title:"De candidatos aprovados",items:[{quote:"O detalhamento por domínio após cada simulado mostrou exatamente onde eu estava fraco. Foquei minha última semana no Domínio 1 e passei com tranquilidade.",author:"Priya N.",role:"Arquiteta de Soluções"},{quote:"Os guias de estudo são genuinamente melhores do que a documentação dispersa que eu estava juntando. Tudo se alinha perfeitamente ao conteúdo oficial.",author:"Marco S.",role:"Engenheiro de IA"},{quote:"Os simulados cronometrados fizeram o exame real parecer familiar. As explicações me ensinaram coisas que a pergunta sozinha não ensinaria.",author:"Daniel K.",role:"Engenheiro Staff"}]},finalCta:{title:"Pronto para se certificar?",subtitle:"Comece com o diagnóstico gratuito e os guias de estudo. Atualize para o Passe do Exame para obter simulados completos, todas as lições premium, flashcards e acompanhamento de progresso.",buttons:{purchase:"Obter o Passe do Exame",demo:"Iniciar diagnóstico gratuito"}},footer:{copyright:"© {year} Claude Certified Architect. Todos os direitos reservados.",description:"Preparação independente para a certificação Claude Certified Architect.",disclaimer:"Recurso de estudo independente. Não afiliado, endossado ou patrocinado pela Anthropic. Claude e Anthropic são marcas registradas da Anthropic, PBC.",support:"Dúvidas ou problemas de acesso? Escreva para {email}"},common:{demoInterface:"Visualização",techArchitecture:"Preparatório independente, alinhado ao conteúdo oficial",learnMore:"Saiba mais"}},ai:{metadata:{title:"Claude Certified Architect - Assistente de IA",description:"Interaja com modelos potentes de IA, incluindo GPT-4, Qwen e DeepSeek. Obtenha assistência de IA para codificação, redação e resolução de problemas.",keywords:"IA, assistente, chatbot, GPT-4, inteligência artificial, aprendizado de máquina, conversa"},chat:{title:"Assistente de IA",description:"Uma implementação simples de conversa com modelo de linguagem grande com design extensível, usando as tecnologias mais recentes ai-sdk / ai-elements / streamdown para obter efeitos de chat muito fluidos, podendo ser estendida para funções mais complexas conforme necessário",placeholder:"Como posso ajudar você?",sending:"Enviando...",thinking:"A IA está pensando...",noMessages:"Inicie uma conversa com o assistente de IA",welcomeMessage:"Olá! Eu sou seu assistente de IA. Como posso ajudar você hoje?",toolCall:"Chamada de Ferramenta",providers:{title:"Provedor de IA",openai:"OpenAI",qwen:"Qwen",deepseek:"DeepSeek"},models:{"gpt-5":"GPT-5","gpt-5-codex":"GPT-5 Codex","gpt-5-pro":"GPT-5 Pro","qwen-max":"Qwen Max","qwen-plus":"Qwen Plus","qwen-turbo":"Qwe
18n Turbo","deepseek-chat":"DeepSeek Chat","deepseek-coder":"DeepSeek Coder"},actions:{send:"Enviar",copy:"Copiar",copied:"Copiado!",retry:"Tentar novamente",dismiss:"Descartar",newChat:"Novo Chat",clearHistory:"Limpar Histórico"},errors:{failedToSend:"Falha ao enviar a mensagem. Tente novamente.",networkError:"Erro de rede. Verifique sua conexão.",invalidResponse:"Resposta inválida da IA. Tente novamente.",rateLimited:"Muitas solicitações. Aguarde um momento.",subscriptionRequired:"Os recursos de IA exigem uma assinatura ativa",subscriptionRequiredDescription:"Faça upgrade para um plano premium para acessar os recursos de chat de IA",insufficientCredits:"Créditos Insuficientes",insufficientCreditsDescription:"Você precisa de créditos ou de uma assinatura para usar o chat de IA. Compre créditos para continuar."},history:{title:"Histórico de Chat",empty:"Nenhum histórico de chat",today:"Hoje",yesterday:"Ontem",thisWeek:"Esta semana",older:"Mais antigo"}},image:{metadata:{title:"Claude Certified Architect - Geração de Imagens por IA",description:"Gere imagens impressionantes usando IA. Equipado com Qwen-Image, fal.ai Flux, OpenAI DALL-E e Google Gemini.",keywords:"IA, geração de imagens, DALL-E, Flux, Qwen, Gemini, texto para imagem, arte, criativo"},title:"Geração de Imagens por IA",description:"Gere imagens impressionantes a partir de prompts de texto usando vários provedores de IA",defaultPrompt:"Um Labrador amarelo vestindo óculos de sol redondos pretos e dourados bebendo chá com dois gatos amarelos e brancos em um local em Chengdu",prompt:"Prompt",promptPlaceholder:"Descreva a imagem que você deseja gerar...",negativePrompt:"Prompt Negativo",negativePromptPlaceholder:"Descreva o que você não quer na imagem...",negativePromptHint:"Descreva elementos a serem evitados na imagem gerada",generate:"Gerar",generating:"Gerando...",generatedSuccessfully:"Imagem gerada com sucesso!",download:"Baixar",result:"Resultado",idle:"Inativo",preview:"Visualização",json:"JSON",whatNext:"O que você gostaria de fazer a seguir?",costInfo:"Sua solicitação custará",perMegapixel:"por megapixel",credits:"créditos",providers:{title:"Provedor",qwen:"Aliyun BaiLian",fal:"fal.ai",openai:"OpenAI",gemini:"Google Gemini"},models:{"qwen-image-plus":"Qwen Image Plus","qwen-image-max":"Qwen Image Max","fal-ai/qwen-image-2512/lora":"Qwen Image 2512 Lora","fal-ai/nano-banana-pro":"Nano Banana Pro","fal-ai/flux/dev":"Flux Dev","fal-ai/recraft/v3/text-to-image":"Recraft V3 Text to Image","fal-ai/flux-pro/kontext":"Flux Pro Kontext","fal-ai/bytedance/seedream/v3/text-to-image":"Bytedance Seedream V3 Text to Image","dall-e-3":"DALL-E 3","dall-e-2":"DALL-E 2","gemini-3.1-flash-image-preview":"Nano Banana 2","gemini-3-pro-image-preview":"Nano Banana Pro","gemini-2.5-flash-image":"Nano Banana"},settings:{title:"Configurações Adicionais",showMore:"Mais",showLess:"Menos",imageSize:"Tamanho da Imagem",imageSizeHint:"Selecione a proporção e a resolução",numInferenceSteps:"Passos de Inferência",numInferenceStepsHint:"Mais passos = maior qualidade, mas mais lento",guidanceScale:"Escala de Orientação",guidanceScaleHint:"O quão fielmente seguir o prompt",seed:"Semente",seedHint:"Use a mesma semente para reproduzir os resultados",random:"aleatório",randomize:"Aleatorizar",promptExtend:"Expandir Prompt",promptExtendHint:"A IA aprimorará e expandirá seu prompt",watermark:"Marca d'água",watermarkHint:"Adicionar marca d'água do Qwen-Image à imagem gerada",syncMode:"Modo Sincronizado",syncModeHint:"Retornar dados em base64 em vez da URL"},errors:{generationFailed:"Falha na geração de imagem",invalidPrompt:"Insira um prompt válido",insufficientCredits:"Créditos Insuficientes",insufficientCreditsDescription:"Você precisa de créditos para gerar imagens. Compre créditos para continuar.",networkError:"Erro de rede. Verifique sua conexão.",unknownError:"Ocorreu um erro desconhecido"}},video:{metadata:{title:"Claude Certified Architect - Geração de Vídeo por IA",description:"Gere vídeos impressionantes usando IA. Equipado com fal.ai, Volcengine Seedance e Aliyun Wanxiang.",keywords:"IA, geração de vídeo, texto para vídeo, Seedance, Wanxiang, Luma, criativo"},title:"Geração de Vídeo por IA",description:"Gere vídeos impressionantes a partir de prompts de texto usando vários provedores de IA",defaultPrompt:"Um gato pula diretamente do colo de alguém para o sofá",prompt:"Prompt",model:"Modelo",promptPlaceholder:"Descreva o vídeo que você deseja gerar...",generate:"Gerar Vídeo",generating:"Gerando vídeo...",generatedSuccessfully:"Vídeo gerado com sucesso!",download:"Baixar Vídeo",result:"Resultado",idle:"Insira um prompt para gerar um vídeo",whatNext:"O que você gostaria de fazer a seguir?",credits:"Créditos",providers:{title:"Provedor",fal:"fal.ai",volcengine:"Volcengine",aliyun:"Aliyun Wanxiang"}
18,models:{"kling-video/v2.5-turbo/pro/text-to-video":"Kling 2.5 Turbo Pro (Text to Video)","kling-video/v2.5-turbo/pro/image-to-video":"Kling 2.5 Turbo Pro (Image to Video)","doubao-seedance-1-5-pro-251215":"Doubao Seedance 1.5 Pro","doubao-seedance-1-0-pro-250528":"Doubao Seedance 1.0 Pro","wan2.6-t2v":"Wanxiang 2.6 T2V","wan2.5-t2v-turbo":"Wanxiang 2.5 T2V Turbo","wan2.6-i2v-flash":"Wanxiang 2.6 I2V Flash"},inputMode:{label:"Modo de Geração",text:"Texto para Vídeo",firstFrame:"Primeiro Quadro",firstLastFrame:"Primeiro + Último Quadro",firstLastFrameUnsupported:"O provedor atual suporta apenas o primeiro quadro"},frameInput:{title:"Imagens de Quadros",hint:"Use a URL diretamente ou faça o upload para o Cloudflare R2.",firstFrameUrl:"URL do Primeiro Quadro",lastFrameUrl:"URL do Último Quadro",upload:"Upload",uploadedToR2:"Quadro enviado para o R2",preview:"Visualização da Imagem",previewAlt:"Visualização do primeiro quadro"},settings:{title:"Configurações Adicionais",videoSize:"Tamanho do Vídeo / Proporção de Tela",videoSizePlaceholder:"Selecionar tamanho",videoSizeHint:"Selecione a resolução ou proporção de tela",duration:"Duração (segundos)",durationHint:"Comprimento do vídeo gerado",seed:"Semente",seedHint:"Use a mesma semente para reproduzir os resultados",random:"aleatório",loop:"Loop",loopHint:"Se o vídeo deve se repetir continuamente",motionStrength:"Intensidade do Movimento",motionStrengthHint:"Controla a quantidade de movimento que aparece no vídeo",promptExtend:"Expandir Prompt",promptExtendHint:"A IA aprimorará e expandirá seu prompt",watermark:"Marca d'água",watermarkHint:"Adicionar marca d'água ao vídeo gerado"},errors:{generationFailed:"Falha na geração del vídeo",invalidPrompt:"Insira um prompt válido",firstFrameRequired:"Forneça a URL do primeiro quadro",lastFrameRequired:"Forneça a URL do último quadro",unsupportedImageType:"Apenas imagens JPEG/JPG/PNG/WEBP/BMP são suportadas",imageTooLarge:"O tamanho da imagem deve ser menor ou igual a 10MB",uploadFailed:"Falha no upload",unsupportedModeForProvider:"O provedor atual não suporta este modo de geração",insufficientCredits:"Créditos Insuficientes",insufficientCreditsDescription:"Você precisa de créditos para gerar vídeos. Compre créditos para continuar.",networkError:"Erro de rede. Verifique sua conexão.",unknownError:"Ocorreu um erro desconhecido",timeout:"A geração do vídeo expirou. Tente novamente."},resultPanel:{generatingHint:"A geração do vídeo pode levar de 1 a 5 minutos...",videoTagUnsupported:"Seu navegador não suporta a tag de vídeo."}}},premiumFeatures:{metadata:{title:"Claude Certified Architect - Recursos Premium",description:"Explore todos os recursos premium disponíveis com sua assinatura. Acesse ferramentas avançadas, assistência de IA e funcionalidade aprimorada.",keywords:"premium, recursos, avançados, ferramentas, assinatura, benefícios, aprimorado"},title:"Recursos Premium",description:"Obrigado por sua assinatura! Aqui estão todos os recursos premium que você agora pode acessar.",loading:"Carregando...",subscription:{title:"Sua Assinatura",description:"Status atual da assinatura e detalhes",status:"Status da Assinatura",type:"Tipo de Assinatura",expiresAt:"Expira em",active:"Ativa",inactive:"Inativa",lifetime:"Membro Vitalício",recurring:"Assinatura Recorrente"},badges:{lifetime:"Membro Vitalício"},demoNotice:{title:"🎯 Página de Demonstração de Modelo SaaS",description:"Esta é uma página de demonstração para testar a proteção de rotas. Apenas usuários pagantes podem acessar esta página, demonstrando como implementar o controle de acesso por nível de assinatura em seu aplicativo SaaS."},features:{userManagement:{title:"Gerenciamento Avançado de Usuários",description:"Gerenciamento completo de perfil de usuário e configurações personalizadas"},aiAssistant:{title:"Assistente Inteligente de IA",description:"Recursos avançados de inteligência artificial para aumentar a produtividade"},documentProcessing:{title:"Processamento Ilimitado de Documentos",description:"Processe qualquer quantidade e tamanho de arquivos de documentos"},dataAnalytics:{title:"Análise de Dados Detalhada",description:"Relatórios a
18profundados de análise de dados e visualização"}},actions:{accessFeature:"Acessar Recurso"}},validators:{user:{name:{minLength:"O nome deve ter pelo menos {min} caracteres",maxLength:"O nome deve ter menos de {max} caracteres"},email:{invalid:"Insira um endereço de e-mail válido"},image:{invalidUrl:"Insira uma URL válida"},password:{minLength:"A senha deve ter pelo menos {min} caracteres",maxLength:"A senha deve ter menos de {max} caracteres",mismatch:"As senhas não coincidem"},countryCode:{required:"Selecione o país/região"},phoneNumber:{required:"Insira o número de telefone",invalid:"Formato de número de telefone inválido"},verificationCode:{invalidLength:"O código de verificação deve ter {length} caracteres"},id:{required:"O ID do usuário é obrigatório"},currentPassword:{required:"A senha atual é obrigatória"},confirmPassword:{required:"Confirme sua senha"},deleteAccount:{confirmRequired:"Você deve confirmar a exclusão da conta"}},blog:{title:{required:"O título é obrigatório",maxLength:"O título deve ter menos de {max} caracteres"},slug:{maxLength:"O slug deve ter menos de {max} caracteres",invalid:"O slug só pode conter letras minúsculas, números e hifens"},excerpt:{maxLength:"O resumo deve ter menos de {max} caracteres"},coverImage:{invalidUrl:"Insira uma URL válida para a imagem de capa"},status:{invalid:"O status deve ser rascunho ou publicado"}}},countries:{china:"China",usa:"Estados Unidos",uk:"Reino Unido",japan:"Japão",korea:"Coreia do Sul",singapore:"Singapura",hongkong:"Hong Kong",macau:"Macau",australia:"Austrália",france:"França",germany:"Alemanha",india:"Índia",malaysia:"Malásia",thailand:"Tailândia"},header:{navigation:{ai:"Demonstração de IA",premiumFeatures:"Recursos Premium",pricing:"Preços",upload:"Upload",demos:"Demonstrações",demosDescription:"Explore exemplos de recursos",blog:"Blog",courses:"Cursos",studyGuide:"Guia de Estudo",practice:"Praticar",flashcards:"Flashcards"},demos:{ai:{title:"AI Chat",description:"Chat de LLM com design extensível, suporte multi-provedor. Login necessário."},aiImage:{title:"Geração de Imagens por IA",description:"Geração de imagens por IA com design extensível, suporte multi-provedor. Login necessário."},aiVideo:{title:"Geração de Vídeo por IA",description:"Geração de vídeo por IA com design extensível, suporte multi-provedor. Login necessário."},premium:{title:"Recursos Premium",description:"Demonstração de proteção de rota. Apenas usuários pagos podem acessar esta página."},upload:{title:"Upload de Arquivo",description:"Upload de arquivo com design extensível, suporte multi-provedor. Login necessário."}},auth:{signIn:"Entrar",getStarted:"Começar",signOut:"Sair"},userMenu:{dashboard:"Painel",profile:"Perfil",settings:"Configurações",personalSettings:"Configurações Pessoais",adminPanel:"Painel do Administrador"},language:{switchLanguage:"Mudar idioma",english:"English",chinese:"中文",japanese:"日本語",korean:"한국어",portuguese:"Português (BR)"},mobile:{themeSettings:"Configurações do Tema",languageSelection:"Seleção de Idioma"}},docs:{home:{title:"Documentação do Claude Certified Architect",subtitle:"Criado com Fumadocs",description:"Um projeto de site estático baseado no Fumadocs, perfeito para documentação, blogs e páginas estáticas.",cta:{docs:"Ler a Documentação",blog:"Visitar o Blog"}},nav:{docs:"Documentação",blog:"Blog"},blog:{title:"Blog",description:"Artigos recentes e atualizações da equipe Claude Certified Architect",allPosts:"Todas as Publicações",previousPage:"← Anterior",nextPage:"Próxima →",back:"← Voltar para o Blog",noPosts:"Nenhuma publicação ainda"}},upload:{title:"Upload de Arquivos",description:"Faça upload de imagens para armazenamento em nuvem",providerTitle:"Provedor de Armazenamento",providerDescription:"Selecione seu provedor de armazenamento em nuvem preferido",providers:{oss:"Alibaba Cloud OSS",ossDescription:"Armazenamento otimizado para a China",s3:"Amazon S3",s3Description:"Armazenamento em nuvem global",r2:"Cloudflare R2",r2Description:"Sem taxas de saída",cos:"Tencent Cloud COS",cosDescription:"Armazenamento em nuvem na China"},uploadTitle:"Fazer Upload de Imagem",uploadDescription:"Arraste e solte a imagem ou clique para navegar. Máx. 1MB.",dragDrop:"Arraste e solte o arquivo aqui",orClick:"Ou clique para navegar (máx. 1MB)",browseFiles:"Navegar pelos arquivos",clearAll:"Limpar tudo",uploadedTitle:"Arquivos Enviados",uploadedDescription:"{count} arquivo(s) enviado(s) com sucesso",uploading:"Enviando...",viewFile:"Visualizar",uploaded:"Enviado",errors:{maxFiles:"Você só pode enviar 1 arquivo",imageOnly:"Apenas arquivos de imagem são permitidos",fileTooLarge:"O tamanho do arquivo deve ser menor que 1MB"}},blog:{metadata:{title:"Claude Certified Architect - Blog",description:"Leia os artigos e atualizações mais recentes da equipe Claude Certified Architect.",keywords:"blog, artigos, atualizações, Claude Certified Architect, SaaS"}
18,title:"Blog",subtitle:"Artigos e atualizações mais recentes",readMore:"Ler Mais",publishedOn:"Publicado em",by:"por",noPosts:"Nenhuma publicação ainda. Volte em breve!",backToBlog:"Voltar para o Blog"},courses:{metadata:{title:"Cursos — Preparatório Claude Certified Architect",description:"Cursos alinhados ao conteúdo oficial cobrindo cada domínio do exame CCAR-F, desde os fundamentos da plataforma Claude até engenharia de contexto.",keywords:"cursos Claude, curso CCAR-F, treinamento Claude Certified Architect"},title:"Cursos",subtitle:"Seis cursos que vão desde os fundamentos da plataforma Claude até cada domínio do exame.",startCourse:"Iniciar curso",continueCourse:"Continuar",modules:"Módulos",lessons:"Lições",viewCourse:"Visualizar curso",locked:"Passe do Exame",free:"Gratuito",estMinutes:"{minutes} min",moduleLabel:"Módulo",lessonsCount:"{count} lições",domainLabel:"Domínio {number}",empty:"Os cursos estarão disponíveis em breve."},lesson:{metadata:{title:"Lição — Preparatório Claude Certified Architect",description:"Uma lição preparatória para o exame CCAR-F.",keywords:"lição Claude, CCAR-F"},prev:"Anterior",next:"Próximo",markComplete:"Marcar como concluída",completed:"Concluída",backToCourse:"Voltar para o curso",estMinutes:"{minutes} min de leitura",inThisModule:"Neste módulo",premiumGate:{title:"Esta lição faz parte do Passe do Exame",description:"Desbloqueie todas as lições premium, simulados completos, flashcards e acompanhamento de progresso.",cta:"Ver preços",signInCta:"Entrar"}},studyGuide:{metadata:{title:"Conteúdo Oficial do Exame & Guias de Estudo — Claude Certified Architect",description:"Guias de estudo detalhados e gratuitos para todos os cinco domínios do exame CCAR-F, além de um plano de estudo de 12 semanas e folha de dicas sobre antipadrões.",keywords:"guia de estudo CCAR-F, conteúdo do exame Claude, domínios do Claude Certified Architect"},title:"Conteúdo oficial do exame & guias de estudo",subtitle:"Os cinco domínios oficiais, suas ponderações e um guia detalhado e gratuito para cada um.",domains:"Domínios do exame",weighting:"Ponderação",weightOfExam:"{weight}% do exame",examTips:"Dicas para o exame",antiPatterns:"Antipadrões",objectives:"O que será testado",relatedLessons:"Lições relacionadas",studyPlan:"Plano de estudo de 12 semanas",studyPlanDesc:"Um plano semana a semana para ir do zero à preparação completa para o exame.",antiPatternsTitle:"Folha de dicas de antipadrões",antiPatternsDesc:"As respostas incorretas que o exame adora testar — e por que estão erradas.",readGuide:"Ler guia",backToGuides:"Voltar para os guias de estudo"},scenarios:{metadata:{title:"Passo a Passo de Cenários — Claude Certified Architect",description:"Passo a passo dos seis cenários oficiais do exame CCAR-F, mais dois cenários de prática extra.",keywords:"cenários CCAR-F, cenários do exame Claude"},title:"Passo a passo de cenários",subtitle:"O exame apresenta 4 cenários sorteados de um banco oficial de 6. Veja como raciocinar em cada um — mais dois cenários de prática extra.",walkthrough:"Passo a passo",ofEight:"Cenário {number}",relatedDomains:"Domínios relacionados",readWalkthrough:"Ler passo a passo",backToScenarios:"Voltar para os cenários"},practice:{metadata:{title:"Simulados e Questionários — Claude Certified Architect",description:"Simulados completos com cronômetro da CCAR-F, questionários por domínio e um teste diagnóstico gratuito — com explicações detalhadas.",keywords:"simulado CCAR-F, simulado Claude, perguntas de prática Claude"},title:"Simulados",subtitle:"Prática realista, cronometrada e alinhada ao conteúdo do exame — com revisão de todas as respostas.",startExam:"Iniciar",resume:"Retomar",questionsCount:"{count} perguntas",timeLimit:"{minutes} min",untimed:"Sem limite de tempo",examMode:"Simulado completo",quizMode:"Questionário do domínio",diagnostic:"Diagnóstico gratuito",scenario:"Cenário",free:"Gratuito",premium:"Passe do Exame",premiumGate:{title:"Os simulados completos fazem parte do Passe do Exame",description:"Desbloqueie simulados completos com cronômetro, o banco de perguntas completo e explicações detalhadas.",cta:"Ver preços"},rules:{title:"Antes de começar",questions:"Perguntas",time:"Tempo limite",scoring:"Pontuação",scoringValue:"Escala de 100 a 1000, aprovação com 720",note:"Você pode sinalizar perguntas e revisá-las antes de enviar."},begin:"Iniciar exame",signInToSave:"Entre para salvar seus resultados.",catalogEmpty:"Os simulados estarão disponíveis em breve."},quiz:{question:"Pergunta",of:"de",next:"Próxima",previous:"Anterior",submit:"Enviar",flag:"Sinalizar para revisão",flagged:"Sinalizada",timeRemaining:"Tempo restante",finishExam:"Finalizar exame",confirmSubmit:"Enviar seu exame?",confirmSubmitDesc:"V
18ocê tem {count} pergunta(s) sem resposta. Você não poderá alterar as respostas após o envio.",unanswered:"Sem resposta",answered:"Respondidas",cancel:"Continuar fazendo",confirm:"Enviar",timeUp:"O tempo acabou — seu exame foi enviado.",saving:"Salvando…",loadError:"Não foi possível carregar este exame. Tente novamente."},results:{metadata:{title:"Resultados do Exame — Claude Certified Architect",description:"Seus resultados do simulado da CCAR-F.",keywords:"resultados CCAR-F"},title:"Seus resultados",score:"Pontuação",scaledScore:"Pontuação na escala",passed:"Aprovado",failed:"Ainda não",passingScore:"Pontuação para aprovação: 720",yourScore:"Sua pontuação: {score}",byDomain:"Detalhamento por domínio",correctOf:"{correct} de {total} corretas",retake:"Refazer",reviewAnswers:"Revisar respostas",backToPractice:"Voltar para a prática",correct:"Correta",incorrect:"Incorreta",yourAnswer:"Sua resposta",correctAnswer:"Resposta correta",explanation:"Explicação",notFound:"Resultados não encontrados.",completedOn:"Concluído em {date}"},flashcards:{metadata:{title:"Flashcards — Claude Certified Architect",description:"Baralhos de flashcards com repetição espaçada para cada domínio do exame CCAR-F.",keywords:"flashcards CCAR-F, flashcards Claude, repetição espaçada"},title:"Flashcards",subtitle:"Fixe os fatos essenciais com repetição espaçada. Um baralho por domínio, além de um baralho de glossário.",decks:"Baralhos",cards:"{count} cartões",studyDeck:"Estudar",flip:"Virar",showAnswer:"Mostrar resposta",again:"Novamente",good:"Bom",easy:"Fácil",dueToday:"{count} vencendo hoje",mastered:"Dominados",deckComplete:"Baralho concluído por hoje!",noDue:"Nada vencendo no momento — volte mais tarde.",premium:"Passe do Exame",progressSaved:"Progresso salvo na sua conta.",progressLocal:"Progresso salvo neste dispositivo. Entre para sincronizar."},glossary:{metadata:{title:"Glossário — Claude Certified Architect",description:"Definições de termos importantes para o exame Claude Certified Architect.",keywords:"glossário Claude, termos CCAR-F, glossário MCP"},title:"Glossário",subtitle:"Termos importantes para o exame CCAR-F, com links cruzados nas lições e guias de estudo.",search:"Buscar termos…",seeAlso:"Veja também",noResults:"Nenhum termo corresponde à sua busca.",backToGlossary:"Voltar para o glossário"},faq:{metadata:{title:"FAQ — Preparatório para o Exame Claude Certified Architect",description:"Respostas a perguntas comuns sobre o exame Claude Certified Architect e como se preparar.",keywords:"FAQ CCAR-F, dúvidas sobre certificação Claude, elegibilidade CCAR-F, preço CCAR-F"},title:"Perguntas frequentes",subtitle:"Tudo sobre o exame e como este site ajuda você a se preparar.",items:[{q:"O que é o exame Claude Certified Architect – Foundations (CCAR-F)?",a:"É a certificação fundamental da Anthropic para profissionais que projetam e constroem sistemas com o Claude — cobrindo arquitetura agêntica, ferramentas e MCP, fluxos de trabalho do Claude Code, engenharia de prompt e gerenciamento de contexto. O exame tem 60 questões de múltipla escolha e de múltiplas respostas, agrupadas em 4 cenários sorteados de um banco oficial de 6, em 120 minutos, pontuadas em uma escala de 100 a 1000 com nota de aprovação de 720."},{q:"É CCAR-F ou CCAR-F?",a:"O código oficial do exame é CCAR-F (Guia do Exame v1.0, julho de 2026); CCAR-F era a abreviação usada antes pela comunidade e se refere ao mesmo exame. A Pearson VUE e a Credly usam CCAR-F."},{q:"Quem pode fazer o exame?",a:"Somente pessoas de organizações da Claude Partner Network. A inscrição é feita na Anthropic Partner Academy com o e-mail da empresa parceira (endereços pessoais são recusados); é preciso ter 18 anos ou mais e o nome no documento oficial deve corresponder ao da inscrição. Qualquer empresa pode se candidatar à Partner Network — o nível Registered é gratuito."},{q:"Quanto custa o exame e por quanto tempo vale?",a:"US$ 125 por tentativa desde 2026-06-30 (era US$ 99 no lançamento). Parceiros Select, Preferred e Global Premier têm 50% de desconto; Global Premier é gratuito até 2026-12-31. A credencial vale por 12 meses e é renovada por meio de uma avaliação de renovação gratuita e sem supervisão na Partner Academy."},{q:"O que acontece se eu for reprovado?",a:"Você espera 14 dias após a primeira reprovação, 30 dias após a segunda e 90 dias após a terceira, com no máximo 4 tentativas por exame em qualquer período de 12 meses. A taxa integral é cobrada em cada tentativa."},{q:"O exame está disponível em português?",a:"Não. O exame e o conteúdo oficial de preparação são somente em inglês, e ferramentas de tradução do navegador são proibidas durante o exame. Por isso nossas lições estão em cinco idiomas, mas nossos simulados são em inglês — para treinar a velocidade de leitura com o vocabulário do exame real."},{q:"Há questões de múltiplas respostas?",a:"Sim. O exame usa questões de múltipla escolha e de múltiplas respostas, e cada questão informa quantas respostas selecionar. Nossas questões práticas incluem itens de múltiplas respostas corrigidos da mesma forma."},{q:"Este é um site oficial da Anthropic?",a:"Não. Este é um recurso de estudo independente. Não é afiliado, endossado ou patrocinado pela Anthropic. Alinhamos nosso currículo ao guia oficial do exame e o verificamos na data indicada em cada página."},{q:"O que é gratuito e o que é pago?",a:"Todos os guias de estudo, o conteúdo oficial do exame, a logística e elegibilidade do exame, o plano de estudo de 12 semanas, a folha de dicas de antipadrões, o passo a passo dos cenários, o glossário e um teste diagnóstico gratuito são gratuitos. O Passe do Exame desbloqueia simulados completos com cronômetro, o banco de questões completo com explicações, todos os baralhos de flashcards, cada lição premium e o acompanhamento de progresso."},{q:"Quantas questões práticas existem?",a:"O banco de questões de lançamento possui mais de 120 questões nos cinco domínios, ponderadas para corresponder ao exame real, com mais simulados sendo adicionados ao longo do tempo."},{q:"Quais idiomas este site suporta?",a:"Inglês, japonês (日本語), coreano (한국어), português brasileiro e chinês simplificado (简体中文) para lições e guias de estudo; os simulados são somente em inglês, como o exame real."},{q:"Como o simulado é pontuado?",a:"Assim como no exame real: sua pontuação bruta é mapeada para uma escala de 100 a 1000, sendo 720 a linha de aprovação. Após cada tentativa, você recebe um detalhamento por domínio — a mesma visão de percentual de acertos por domínio do relatório oficial."},{q:"Como entro em contato com o suporte?",a:"Envie um e-mail para [email protected] informando o e-mail usado no login. Problemas de compra ou acesso são resolvidos no mesmo dia."}]},about:{metadata:{title:"Sobre — Preparatório para o Exame Claude Certified Architect",description:"Sobre este recurso preparatório independente para o exame Claude Certified Architect.",keywords:"sobre, preparatório Claude Certified Architect"},title:"Sobre",body:"Oferecemos uma preparação focada e alinhada ao conteúdo oficial do exame Claude Certified Architect — Foundations. Nossos cursos, guias de estudo e simulados são escritos por profissionais que constroem sistemas de produção com o Claude, e cada parte do conteúdo mapeia um domínio de exame específico para que seu tempo de estudo seja direcionado ao que realmente importa.",missionTitle:"Nossa missão",mission:"Tornar simples e direto para qualquer desenvolvedor ou arquiteto se preparar — e passar — no exame Claude Certified Architect, em seu próprio idioma.",disclaimerTitle:"Isenção de Responsabilidade",disclaimer:"Este é um recurso de estudo independente. Não é afiliado, endossado ou patrocinado pela Anthropic, PBC. Claude e Anthropic são marcas registradas da Anthropic, PBC. Todos os detalhes do exame são baseados em informações disponíveis publicamente e podem mudar; sempre confirme os detalhes atuais do exame com a fonte oficial."},certification:{name:"Claude Certified Architect – Foundations",shortName:"CCAR-F",examFormat:"60 questões baseadas em cenários, de múltipla escolha e de múltiplas respostas",questionsLabel:"Perguntas",questionsValue:"60 questões (múltipla escolha e múltiplas respostas), 4 cenários sorteados de um banco de 6",timeLimit:"Tempo limite",timeLimitValue:"120 minutos",passingScore:"Pontuação para aprovação",passingScoreValue:"720 (escala de 100 a 1000)",validity:"Validade",validityValue:"12 meses (avaliação de renovação gratuita)",cost:"Custo",costValue:"US$ 125 (desde 2026-06-30)",level:"Nível",levelValue:"Fundamental"},progress:{tabTitle:"Meu Progresso",tabDescription:"Suas tentativas de exames, conclusão de lições e flashcards",title:"Seu progresso",examAttempts:"Tentativas de exames",noAttempts:"Nenhuma tentativa ainda — faça um simulado para ver suas pontuações aqui.",lessonsCompleted:"Lições concluídas",noLessons:"Nenhuma lição concluída ainda.",flashcardsTitle:"Flashcards",cardsDue:"{count} vencendo",cardsMastered:"{count} dominados",attempt:"Tentativa",score:"Pontuação",passed:"Aprovado",failed:"Não aprovado",date:"Data",completedLabel:"{count} concluídas",signInPrompt:"Entre para acompanhar seu progresso em diferentes dispositivos.",loading:"Carregando…"},courseUx:Ur["pt-BR"],examInfo:wn["pt-BR"],quizUx:Mr["pt-BR"]};var Nd={};function We(i){return Nd[i]}function Gw(i,o){console.warn(`Warning: Missing environment variable ${i} for ${o} service. This service will not be available.`)}function at(i,o){const r=We(i);return r||Gw(i,o),r}function He(i,o,r){const l=We(i);if(!l){if(Nd.BUILD_TIME==="true")return console.warn(`Warning: Missing ${i} for ${o} service during build. This will be validated at runtime.`),`__BUILD_TIME_PLACEHOLDER_${i}__`;throw new Error(`Missing required environment variable: ${i} for ${o} service. This service is required for the application to function.`)}return l}function Ar(i,o){for(const r of i){const l=We(r);if(l)return l}if(Nd.BUILD_TIME==="true")return console.warn(`Warning: Missing ${i.join(" or ")} for ${o} service during build. This will be validated at runtime.`),`__BUILD_TIME_PLACEHOLDER_${i[0]}__`;throw new Error(`Missing ${i.join(" or ")} for ${o}`)}const Yw={requireEmailVerification:!1,socialProviders:{google:{get clientId(){return at("GOOG
18LE_CLIENT_ID","Google Auth")},get clientSecret(){return at("GOOGLE_CLIENT_SECRET","Google Auth")}},github:{get clientId(){return at("GITHUB_CLIENT_ID","GitHub Auth")},get clientSecret(){return at("GITHUB_CLIENT_SECRET","GitHub Auth")}},wechat:{get appId(){return at("NEXT_PUBLIC_WECHAT_APP_ID","WeChat Auth")},get appSecret(){return at("WECHAT_APP_SECRET","WeChat Auth")}}}},Qw={providers:{wechat:{get appId(){return He("WECHAT_PAY_APP_ID","WeChat Pay")},get mchId(){return He("WECHAT_PAY_MCH_ID","WeChat Pay")},get apiKey(){return He("WECHAT_PAY_API_KEY","WeChat Pay")},get notifyUrl(){return He("WECHAT_PAY_NOTIFY_URL","WeChat Pay")},get privateKey(){const i=He("WECHAT_PAY_PRIVATE_KEY","WeChat Pay");return Buffer.from(i,"utf8")},get publicKey(){const i=He("WECHAT_PAY_PUBLIC_KEY","WeChat Pay");return Buffer.from(i,"utf8")},get paymentPublicKey(){const i=at("WECHAT_PAY_PAYMENT_PUBLIC_KEY","WeChat Pay Payment Public Key");return i?Buffer.from(i,"utf8"):void 0},get publicKeyId(){return at("WECHAT_PAY_PUBLIC_KEY_ID","WeChat Pay Public Key ID")}},stripe:{get secretKey(){return He("STRIPE_SECRET_KEY","Stripe")},get publicKey(){return He("STRIPE_PUBLIC_KEY","Stripe")},get webhookSecret(){return He("STRIPE_WEBHOOK_SECRET","Stripe")}},creem:{get apiKey(){return He("CREEM_API_KEY","Creem")},get serverUrl(){return We("CREEM_SERVER_URL")||"https://test-api.creem.io"},get webhookSecret(){return He("CREEM_WEBHOOK_SECRET","Creem")}},alipay:{get appId(){return He("ALIPAY_APP_ID","Alipay")},get appPrivateKey(){return He("ALIPAY_APP_PRIVATE_KEY","Alipay")},get alipayPublicKey(){return He("ALIPAY_PUBLIC_KEY","Alipay")},get notifyUrl(){return He("ALIPAY_NOTIFY_URL","Alipay")},get sandbox(){return We("ALIPAY_SANDBOX")==="true"},get gateway(){return We("ALIPAY_SANDBOX")==="true"?"https://openapi-sandbox.dl.alipaydev.com/gateway.do":"https://openapi.alipay.com/gateway.do"}},paypal:{get clientId(){return He("PAYPAL_CLIENT_ID","PayPal")},get clientSecret(){return He("PAYPAL_CLIENT_SECRET","PayPal")},get webhookId(){return He("PAYPAL_WEBHOOK_ID","PayPal")},get sandbox(){return We("PAYPAL_SANDBOX")==="true"},get apiBaseUrl(){return We("PAYPAL_SANDBOX")==="true"?"https://api-m.sandbox.paypal.com":"https://api-m.paypal.com"}},dodo:{get apiKey(){return He("DODO_PAYMENTS_API_KEY","Dodo Payments")},get webhookSecret(){return He("DODO_PAYMENTS_WEBHOOK_KEY","Dodo Payments")},get testMode(){return We("DODO_PAYMENTS_TEST_MODE")==="true"}}},plans:{monthlyWechat:{provider:"wechat",id:"monthlyWechat",amount:.01,currency:"CNY",duration:{months:1,type:"one_time"},i18n:{en:{name:"Wechat Monthly Plan",description:"Monthly one time pay via WeChat Pay",duration:"month",features:["All premium features","Priority support"]},"zh-CN":{name:"微信支付月度",description:"通过微信支付的月度一次性支付",duration:"月",features:["所有高级功能","优先支持"]}}},monthlyAlipay:{provider:"alipay",id:"monthlyAlipay",amount:.01,currency:"CNY",duration:{months:1,type:"one_time"},i18n:{en:{name:"Alipay Monthly Plan",description:"Monthly one time pay via Alipay",duration:"month",features:["All premium features","Priority support"]},"zh-CN":{name:"支付宝月度",description:"通过支付宝的月度一次性支付",duration:"月",features:["所有高级功能","优先支持"]}}},monthly:{provider:"stripe",id:"monthly",amount:10,currency:"USD",duration:{months:1,type:"recurring"},stripePriceId:"price_1RL2GgDjHLfDWeHDBHjoZaap",i18n:{en:{name:"Stripe Monthly Plan",description:"Monthly recurring subscription via Stripe",duration:"month",features:["All premium features","Priority support"]},"zh-CN":{name:"Stripe 月度订阅",description:"通过 Stripe 的月度循环订阅",duration:"月",features:["所有高级功能","优先支持"]}}},lifetime:{provider:"stripe",id:"lifetime",amount:999,currency:"USD",recommended:!0,duration:{months:999999,type:"one_time"},stripePriceId:"price_1RL2IcDjHLfDWeHDMCmobkzb",i18n:{en:{name:"Stripe Lifetime",description:"One-time payment for permanent access",duration:"lifetime",features:["All premium features","Priority support","Free lifetime updates"]},"zh-CN":{name:"Stripe 终身会员",description:"一次性付费永久访问",duration:"终身",features:["所有高级功能","优先支持","终身免费更新"]}}},monthlyPaypal:{provider:"paypal",id:"monthlyPaypal",amount:10,currency:"USD",duration:{months:1,type:"recurring"},paypalPlanId:"P-5BS42806151539909NF3VZMQ",i18n:{en:{name:"PayPal Monthly Plan",description:"Monthly recurring subscription via PayPal",duration:"month",features:["All premium features","Priority support","Cancel anytime"]},"zh-CN":{name:"PayPal 月度订阅",description:"通过 PayPal 的月度循环订阅",duration:"月",features:["所有高级功能","优先支持","随时取消"]}}},monthlyPaypalOneTime:{provider:"paypal",id:"monthlyPaypalOneTime",amount:10,currency:"USD",duration:{months:1,type:"one_time"},i18n:{en:{name:"PayPal Monthly (One Time)",description:"One-time payment for monthly access via PayPal",duration:"month",features:["All premium features","Priority support"]},"zh-CN":{name:"PayPal 月度 (一次性)",description:"通过 PayPal 的一次性月度付费",duration:"月",features:["所有高级功能","优先支持"]}}},monthlyCreem:{provider:"creem",id:"monthlyCreem",amount:10,currency:"USD",duration:{months:1,type:"recurring"},creemProductId:"prod_1M1c4ktVmvLgrNtpVB9oQf",i18n:{en:{name:"Creem Monthly Plan",description:"Monthly recurring subscription via Creem",duration:"month",features:["All premium features","Priority support"]},"zh-CN":{name:"Creem 月度订阅",description:"通过Creem的月度循环订阅",duration:"月",features:["所有高级功能","优先支持"]}}},monthlyCreemOneTime:{provider:"creem",id:"monthlyCreemOneTime",amount:10,currency:"USD",duration:{months:1,type:"one_time"},creemProductId:"prod_5BeCtf2LS6KcOvtLuPIpHz",i18n:{en:{name:"Creem Monthly Plan (One Time)",description:"One-time payment for monthly access via Creem",duration:"month",features:["All premium features","Priority support"]},"zh-CN":{name:"Creem 月度订阅 (一次性)",description:"通过Creem的一次性月度付费",duration:"月",features:["所有高级功能","优先支持"]}}},credits100:{provider:"stripe",id:"credits100",amount:5,currency:"USD",duration:{type:"credits"},credits:100,stripePriceId:"price_1SiVbxDjHLfDWeHDQ4BNtUNT",i18n:{en:{name:"100 Credits Stripe",description:"Purchase 100 AI credits for on-demand usage",duration:"one-time",features:["100 AI conversations","Credits never expire","Pay as you go"]}
18,"zh-CN":{name:"100 积分包 Stripe",description:"通过 Stripe 购买的 100 个 AI 积分,按需使用",duration:"一次性",features:["100 次 AI 对话","积分永不过期","按需付费"]}}},credits500:{provider:"wechat",id:"credits500",amount:.01,currency:"CNY",recommended:!0,duration:{type:"credits"},credits:550,i18n:{en:{name:"500 Credits + 50 Bonus Wechat Pay",description:"Best value! Get 550 credits for the price of 500",duration:"one-time",features:["550 AI conversations (50 bonus)","Credits never expire","Best value package"]},"zh-CN":{name:"500 积分包 + 50 赠送 微信支付",description:"超值优惠!以 500 积分的价格获得 550 积分",duration:"一次性",features:["550 次 AI 对话 (含 50 赠送)","积分永不过期","最超值套餐"]}}},creditsPaypal:{provider:"paypal",id:"creditsPaypal",amount:5,currency:"USD",duration:{type:"credits"},credits:100,i18n:{en:{name:"100 Credits PayPal",description:"Purchase 100 AI credits via PayPal",duration:"one-time",features:["100 AI conversations","Credits never expire","Pay as you go"]},"zh-CN":{name:"100 积分包 PayPal",description:"通过 PayPal 购买的 100 个 AI 积分",duration:"一次性",features:["100 次 AI 对话","积分永不过期","按需付费"]}}},monthlyDodo:{provider:"dodo",id:"monthlyDodo",amount:10,currency:"USD",duration:{months:1,type:"recurring"},dodoProductId:"pdt_0Nfs0wseuWrL3JU1oDb7q",i18n:{en:{name:"Dodo Monthly Plan",description:"Monthly recurring subscription via Dodo Payments",duration:"month",features:["All premium features","Priority support"]},"zh-CN":{name:"Dodo 月度订阅",description:"通过 Dodo Payments 的月度循环订阅",duration:"月",features:["所有高级功能","优先支持"]}}},monthlyDodoOneTime:{provider:"dodo",id:"monthlyDodoOneTime",amount:10,currency:"USD",duration:{months:1,type:"one_time"},dodoProductId:"pdt_0Nfs1N0wskciXrN3Oo82c",i18n:{en:{name:"Dodo Monthly Plan (One Time)",description:"One-time payment for monthly access via Dodo Payments",duration:"month",features:["All premium features","Priority support"]},"zh-CN":{name:"Dodo 月度 (一次性)",description:"通过 Dodo Payments 的一次性月度付费",duration:"月",features:["所有高级功能","优先支持"]}}},creditsDodo:{provider:"dodo",id:"creditsDodo",amount:5,currency:"USD",duration:{type:"credits"},credits:100,dodoProductId:"pdt_0Nfs1WwY1J0Vz4KYZNlEi",i18n:{en:{name:"100 Credits Dodo",description:"Purchase 100 AI credits via Dodo Payments",duration:"one-time",features:["100 AI conversations","Credits never expire","Pay as you go"]},"zh-CN":{name:"100 积分包 Dodo",description:"通过 Dodo Payments 购买的 100 个 AI 积分",duration:"一次性",features:["100 次 AI 对话","积分永不过期","按需付费"]}}},examPassStripe:{provider:"stripe",id:"examPassStripe",amount:49,currency:"USD",duration:{months:24,type:"one_time"},stripePriceId:"price_1Tgbe8BTdAHu7g3M2Xi7pCCC",i18n:{en:{name:"CCAR-F Exam Pass",description:"Everything you need to pass — one-time payment, valid ~2 years.",duration:"one-time",features:["All full mock exams","Full question bank with explanations","All flashcard decks + spaced repetition","Progress tracking & attempt history"]},"zh-CN":{name:"CCAR-F 考试通行证",description:"通过考试所需的一切——一次性付费,有效期约 2 年。",duration:"一次性",features:["全部全真模拟考试","含解析的完整题库","全部记忆卡组 + 间隔重复","进度追踪与答题历史"]}}},architectPassStripe:{provider:"stripe",id:"architectPassStripe",amount:79,currency:"USD",recommended:!0,duration:{months:24,type:"one_time"},stripePriceId:"price_1TgbeSBTdAHu7g3Msy85KAh1",i18n:{en:{name:"Architect Pass",description:"The Exam Pass in all 5 languages, plus priority access to future cert tracks.",duration:"one-time",features:["Everything in the Exam Pass","All 5 languages","Priority access to future cert tracks","Valid ~2 years"]},"zh-CN":{name:"架构师通行证",description:"涵盖全部 5 种语言的考试通行证,并优先体验未来的认证方向。",duration:"一次性",features:["考试通行证的全部内容","全部 5 种语言","优先体验未来è
18®¤è¯æ–¹å‘","有效期约 2 å¹´"]}}}}},Kw={consumptionMode:"dynamic",fixedConsumption:{aiChat:1,aiImage:{default:10,models:{"qwen-image-max":8,"qwen-image-plus":5,"fal-ai/flux/schnell":6,"fal-ai/flux/dev":10,"fal-ai/flux-pro":12,"fal-ai/qwen-image-2512/lora":8,"fal-ai/nano-banana-pro":6,"dall-e-3":15,"dall-e-2":8,"gemini-3.1-flash-image-preview":10,"gemini-3-pro-image-preview":15,"gemini-2.5-flash-image":10}},aiVideo:{default:30,models:{"kling-video/v2.5-turbo/pro/text-to-video":30,"kling-video/v2.5-turbo/pro/image-to-video":30,"doubao-seedance-1-5-pro-251215":35,"doubao-seedance-1-0-pro-250528":25,"wan2.6-t2v":20,"wan2.5-t2v-turbo":15,"wan2.6-i2v-flash":15}}},dynamicConsumption:{tokensPerCredit:1e3,modelMultipliers:{"gpt-4":2,"gpt-4-turbo":1.5,"qwen-max":1.2,"gpt-3.5-turbo":1,"qwen-plus":1,"deepseek-chat":.8,"qwen-turbo":.5,default:1}}},$w={defaultProvider:"aliyun",aliyun:{get accessKeyId(){return at("ALIYUN_ACCESS_KEY_ID","Aliyun SMS")},get accessKeySecret(){return at("ALIYUN_ACCESS_KEY_SECRET","Aliyun SMS")},get endpoint(){return We("ALIYUN_SMS_ENDPOINT")||"dysmsapi.aliyuncs.com"},get signName(){return at("ALIYUN_SMS_SIGN_NAME","Aliyun SMS")},get templateCode(){return at("ALIYUN_SMS_TEMPLATE_CODE","Aliyun SMS")}},twilio:{get accountSid(){return at("TWILIO_ACCOUNT_SID","Twilio SMS")},get authToken(){return at("TWILIO_AUTH_TOKEN","Twilio SMS")},get defaultFrom(){return at("TWILIO_DEFAULT_FROM","Twilio SMS")}}},Xw={defaultProvider:"resend",get defaultFrom(){return at("EMAIL_DEFAULT_FROM","Email Service")},resend:{get apiKey(){return at("RESEND_API_KEY","Resend Email")}},cloudflare:{get accountId(){return at("CLOUDFLARE_ACCOUNT_ID","Cloudflare Email")},get apiToken(){return at("CLOUDFLARE_API_TOKEN","Cloudflare Email")}}};var Ww={};const Zw={enabled:!1,defaultProvider:"cloudflare-turnstile",cloudflare:{get secretKey(){return at("TURNSTILE_SECRET_KEY","Cloudflare Turnstile")},get siteKey(){const i=Ww.NEXT_PUBLIC_TURNSTILE_SITE_KEY;return i||at("TURNSTILE_SITE_KEY","Cloudflare Turnstile")}}},Jw="./data/local.sqlite";function eR(){const i=We("DB_DIALECT")??"pg";if(i!=="pg"&&i!=="sqlite"&&i!=="d1")throw new Error(`Invalid DB_DIALECT: ${i}. Expected "pg", "sqlite", or "d1".`);return i}const tR={get dialect(){return eR()},get usesSqlite(){return this.dialect==="sqlite"||this.dialect==="d1"},get pgUrl(){if(this.dialect==="pg")return He("DATABASE_URL","Database")},get sqlitePath(){return We("SQLITE_DB_PATH")||Jw},get d1BindingName(){return We("D1_BINDING_NAME")||"DB"},get url(){return this.dialect==="pg"?He("DATABASE_URL","Database"):this.sqlitePath}},aR={get defaultProvider(){const i=We("STORAGE_PROVIDER");return i&&["oss","s3","r2","cos"].includes(i)?i:"oss"},oss:{get region(){return We("OSS_REGION")||"oss-cn-shanghai"},get accessKeyId(){return Ar(["OSS_ACCESS_KEY_ID","ALIYUN_ACCESS_KEY_ID"],"Alibaba Cloud OSS")},get accessKeySecret(){return Ar(["OSS_ACCESS_KEY_SECRET","ALIYUN_ACCESS_KEY_SECRET"],"Alibaba Cloud OSS")},get bucket(){return We("OSS_BUCKET")||"tanstarter"},get endpoint(){return We("OSS_ENDPOINT")||"oss-cn-shanghai.aliyuncs.com"},defaultExpiration:60},s3:{get region(){return We("S3_REGION")||"us-east-1"},get accessKeyId(){return He("S3_ACCESS_KEY_ID","AWS S3")},get accessKeySecret(){return He("S3_ACCESS_KEY_SECRET","AWS S3")},get bucket(){return We("S3_BUCKET")||"tanstarter"},get endpoint(){return at("S3_ENDPOINT","AWS S3")},get forcePathStyle(){return We("S3_FORCE_PATH_STYLE")==="true"},defaultExpiration:3600},r2:{get accountId(){return Ar(["R2_ACCOUNT_ID","CLOUDFLARE_ACCOUNT_ID"],"Cloudflare R2")},get accessKeyId(){return He("R2_ACCESS_KEY_ID","Cloudflare R2")},get accessKeySecret(){return He("R2_ACCESS_KEY_SECRET","Cloudflare R2")},get bucket(){return We("R2_BUCKET")||"tanstarter"},get publicUrl(){return We("R2_PUBLIC_URL")||""},defaultExpiration:3600},cos:{get secretId(){return Ar(["COS_SECRET_ID","TENCENT_SECRET_ID"],"Tencent Cloud COS")},get secretKey(){return Ar(["COS_SECRET_KEY","TENCENT_SECRET_KEY"],"Tencent Cloud COS")},get bucket(){return We("COS_BUCKET")||"tanstarter-1250000000"},get region(){return We("COS_REGION")||"ap-guangzhou"},defaultExpiration:3600}},iR={defaultProvider:"qwen",defaultModels:{qwen:"qwen-turbo",deepseek:"deepseek-chat",openai:"gpt-5"},availableModels:{qwen:["qwen-max","qwen-plus","qwen-turbo"],deepseek:["deepseek-chat","deepseek-coder"],openai:["gpt-5","gpt-5-codex","gpt-5-pro"]}},Er={defaultProvider:"qwen",defaultModels:{qwen:"qwen-image-plus",fal:"fal-ai/qwen-image-2512/lora",openai:"dall-e-3",gemini:"gemini-2.5-flash-image"},availableModels:{qwen:["qwen-image-plus","qwen-image-max"],fal:["fal-ai/qwen-image-2512/lora","fal-ai/nano-banana-pro","fal-ai/recraft/v3/text-to-image","fal-ai/flux/dev"],openai:["dall-e-3","dall-e-2"],gemini:["gemini-3.1-flash-image-preview","gemini-3-pro-image-preview","gemini-2.5-flash-image"]},qwenSizes:[{value:"1664*928",label:"16:9"},{value:"1472*1104",label:"4:3"},{value:"1328*1328",label:"1:1"},{value:"1104*1472",label:"3:4"},{value:"928*1664",label:"9:16"}],falAspectRatios:[{value:"21:9",label:"21:9"},{value:"16:9",label:"16:9"},{value:"4:3",label:"4:3"},{value:"1:1",label:"1:1"},{value:"3:4",label:"3:4"},{value:"9:16",label:"9:16"},{value:"9:21",label:"9:21"}
18],openaiSizes:[{value:"1024x1024",label:"1:1"},{value:"1792x1024",label:"16:9"},{value:"1024x1792",label:"9:16"}],geminiAspectRatios:[{value:"21:9",label:"21:9"},{value:"16:9",label:"16:9"},{value:"5:4",label:"5:4"},{value:"4:3",label:"4:3"},{value:"3:2",label:"3:2"},{value:"1:1",label:"1:1"},{value:"2:3",label:"2:3"},{value:"3:4",label:"3:4"},{value:"4:5",label:"4:5"},{value:"9:16",label:"9:16"}],defaults:{numInferenceSteps:28,guidanceScale:4,promptExtend:!0,watermark:!1}};function ix(i){switch(i){case"qwen":return Er.qwenSizes;case"fal":return Er.falAspectRatios;case"openai":return Er.openaiSizes;case"gemini":return Er.geminiAspectRatios;default:return[]}}const Tr={defaultProvider:"volcengine",defaultModels:{fal:"kling-video/v2.5-turbo/pro/text-to-video",volcengine:"doubao-seedance-1-5-pro-251215",aliyun:"wan2.6-t2v"},availableModels:{fal:["kling-video/v2.5-turbo/pro/text-to-video","kling-video/v2.5-turbo/pro/image-to-video"],volcengine:["doubao-seedance-1-5-pro-251215","doubao-seedance-1-0-pro-250528"],aliyun:["wan2.6-t2v","wan2.5-t2v-turbo","wan2.6-i2v-flash"]},falAspectRatios:[{value:"16:9",label:"16:9"},{value:"9:16",label:"9:16"},{value:"1:1",label:"1:1"},{value:"4:3",label:"4:3"},{value:"3:4",label:"3:4"},{value:"21:9",label:"21:9"},{value:"9:21",label:"9:21"}],volcengineSizes:[{value:"1920x1080",label:"1080P 16:9"},{value:"1080x1920",label:"1080P 9:16"},{value:"1280x720",label:"720P 16:9"},{value:"720x1280",label:"720P 9:16"}],aliyunSizes:[{value:"1280*720",label:"720P 16:9"},{value:"720*1280",label:"720P 9:16"},{value:"960*960",label:"960P 1:1"}],durationOptions:{fal:[5,10],volcengine:[5,10],aliyun:[5,10]},defaults:{duration:5,promptExtend:!0,watermark:!1},polling:{intervalMs:3e3,maxTimeoutMs:6e5}};function nx(i){switch(i){case"fal":return Tr.falAspectRatios;case"volcengine":return Tr.volcengineSizes;case"aliyun":return Tr.aliyunSizes;default:return[]}}function ox(i){return Tr.durationOptions[i]||[5]}const ot={app:{name:"Claude Certified Architect",supportEmail:"[email protected]",logo:{iconUrl:"/logo.svg",fullLogoUrl:"",iconClassName:"bg-chart-1 rounded-full p-2"},get baseUrl(){return typeof window<"u"?window.location.origin:He("APP_BASE_URL","Application")},theme:{defaultTheme:"light",defaultColorScheme:"claude",storageKey:"cca-ui-theme"},i18n:{defaultLocale:"en",locales:["en","ja","ko","pt-BR","zh-CN"],cookieKey:"NEXT_LOCALE",autoDetect:!1},payment:{get successUrl(){return`${ot.app.baseUrl}/payment-success`},get cancelUrl(){return`${ot.app.baseUrl}/payment-cancel`}}},auth:Yw,payment:Qw,credits:Kw,sms:$w,email:Xw,captcha:Zw,database:tR,storage:aR,ai:iR,aiImage:Er,aiVideo:Tr},Md=["en","ja","ko","pt-BR","zh-CN"],dd={en:zw,ja:Vw,ko:Hw,"pt-BR":jw,"zh-CN":Fw};function nR(i){return Md.includes(i)}function rx(i){return dd[i]}const oR=["light","dark"],rR=["default","claude","cosmic-night","modern-minimal","ocean-breeze","perplexity"],sR={dark:"dark"},Fy={default:"",claude:"theme-claude","cosmic-night":"theme-cosmic-night","modern-minimal":"theme-modern-minimal","ocean-breeze":"theme-ocean-breeze",perplexity:"theme-perplexity"},Vy=["light","dark","theme-default","theme-claude","theme-cosmic-night","theme-modern-minimal","theme-ocean-breeze","theme-perplexity"],sx={default:{name:"Default",color:"#343434"},claude:{name:"Claude",color:"#b45309"},perplexity:{name:"Perplexity",color:"#0d9488"},"cosmic-night":{name:"Cosmic Night",color:"#7c3aed"},"modern-minimal":{name:"Modern Minimal",color:"#6366f1"},"ocean-breeze":{name:"Ocean Breeze",color:"#10b981"}};function lR(i,o){if(typeof document>"u")return;const r=document.documentElement;r.classList.remove(...Vy),i==="dark"&&r.classList.add(sR.dark),o!=="default"&&r.classList.add(Fy[o])}function cR(i){if(typeof localStorage>"u")return null;try{const o=localStorage.getItem(i);if(!o)return null;const r=JSON.parse(o);return oR.includes(r.theme)&&rR.includes(r.colorScheme)?r:null}catch(o){return console.warn("Failed to parse stored theme preferences:",o),null}}function _g(i,o){if(!(typeof localStorage>"u"))try{localStorage.setItem(i,JSON.stringify(o))}catch(r){console.warn("Failed to save theme preference to localStorage:",r)}}const uR={theme:ot.app.theme.defaultTheme,colorScheme:ot.app.theme.defaultColorScheme,setTheme:()=>null,setColorScheme:()=>null},Hy=ne.createContext(uR);function dR({children:i,defaultTheme:o=ot.app.theme.defaultTheme,defaultColorScheme:r=ot.app.theme.defaultColorScheme,storageKey:l=ot.app.theme.storageKey,...u}){const[d,p]=ne.useState(o),[y,g]=ne.useState(r);ne.useEffect(()=>{const v=cR(l);if(v)v.theme!==d&&p(v.theme),v.colorScheme!==y&&g(v.colorScheme);
18else{const h={theme:o,colorScheme:r};o!==d&&p(o),r!==y&&g(r),_g(l,h)}},[l,o,r]),ne.useEffect(()=>{lR(d,y),_g(l,{theme:d,colorScheme:y})},[d,y,l]);const m={theme:d,colorScheme:y,setTheme:p,setColorScheme:g};return X.jsx(Hy.Provider,{...u,value:m,children:i})}const fR=()=>{const i=ne.useContext(Hy);if(i===void 0)throw new Error("useTheme must be used within a ThemeProvider");return i};function mR(){const i=`
19    (function() {
20      try {
21        var storageKey = '${ot.app.theme.storageKey}';
22        var defaultTheme = '${ot.app.theme.defaultTheme}';
23        var defaultColorScheme = '${ot.app.theme.defaultColorScheme}';
24        var allThemeClasses = ${JSON.stringify(Vy)};
25        var colorSchemeClasses = ${JSON.stringify(Fy)};
26        var theme = defaultTheme;
27        var colorScheme = defaultColorScheme;
28        try {
29          var stored = localStorage.getItem(storageKey);
30          if (stored) {
31            var parsed = JSON.parse(stored);
32            if (parsed.theme) theme = parsed.theme;
33            if (parsed.colorScheme) colorScheme = parsed.colorScheme;
34          }
35        } catch (e) {}
36        var root = document.documentElement;
37        root.classList.remove.apply(root.classList, allThemeClasses);
38        if (theme === 'dark') {
39          root.classList.add('dark');
40        }
41        if (colorScheme !== 'default') {
42          var cls = colorSchemeClasses[colorScheme];
43          if (cls) root.classList.add(cls);
44        }
45      } catch (error) {}
46    })();
47  `;return X.jsx("script",{dangerouslySetInnerHTML:{__html:i},suppressHydrationWarning:!0})}function pR(i){if(typeof document>"u")return;let o=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css",o.appendChild(r),r.styleSheet?r.styleSheet.cssText=i:r.appendChild(document.createTextNode(i))}const hR=i=>{switch(i){case"success":return vR;case"info":return CR;case"warning":return bR;case"error":return SR;default:return null}},gR=Array(12).fill(0),yR=({visible:i,className:o})=>$.createElement("div",{className:["sonner-loading-wrapper",o].filter(Boolean).join(" "),"data-visible":i},$.createElement("div",{className:"sonner-spinner"},gR.map((r,l)=>$.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${l}`})))),vR=$.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},$.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),bR=$.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},$.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),CR=$.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},$.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),SR=$.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},$.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),AR=$.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},$.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),$.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),ER=()=>{const[i,o]=$.useState(document.hidden);return $.useEffect(()=>{const r=()=>{o(document.hidden)};return document.addEventListener("visibilitychange",r),()=>window.removeEventListener("visibilitychange",r)},[]),i};let fd=1;class wR{constructor(){this.subscribe=o=>(this.subscribers.push(o),()=>{const r=this.subscribers.indexOf(o);this.subscribers.splice(r,1)}),this.publish=o=>
vendor: 3,612 bytes, line 47
47{this.subscribers.forEach(r=>r(o))},this.addToast=o=>{this.publish(o),this.toasts=[...this.toasts,o]},this.create=o=>{var r;const{message:l,...u}=o,d=typeof o?.id=="number"||((r=o.id)==null?void 0:r.length)>0?o.id:fd++,p=this.toasts.find(g=>g.id===d),y=o.dismissible===void 0?!0:o.dismissible;return this.dismissedToasts.has(d)&&this.dismissedToasts.delete(d),p?this.toasts=this.toasts.map(g=>g.id===d?(this.publish({...g,...o,id:d,title:l}),{...g,...o,id:d,dismissible:y,title:l}):g):this.addToast({title:l,...u,dismissible:y,id:d}),d},this.dismiss=o=>(o?(this.dismissedToasts.add(o),requestAnimationFrame(()=>this.subscribers.forEach(r=>r({id:o,dismiss:!0})))):this.toasts.forEach(r=>{this.subscribers.forEach(l=>l({id:r.id,dismiss:!0}))}),o),this.message=(o,r)=>this.create({...r,message:o}),this.error=(o,r)=>this.create({...r,message:o,type:"error"}),this.success=(o,r)=>this.create({...r,type:"success",message:o}),this.info=(o,r)=>this.create({...r,type:"info",message:o}),this.warning=(o,r)=>this.create({...r,type:"warning",message:o}),this.loading=(o,r)=>this.create({...r,type:"loading",message:o}),this.promise=(o,r)=>{if(!r)return;let l;r.loading!==void 0&&(l=this.create({...r,promise:o,type:"loading",message:r.loading,description:typeof r.description!="function"?r.description:void 0}));const u=Promise.resolve(o instanceof Function?o():o);let d=l!==void 0,p;const y=u.then(async m=>{if(p=["resolve",m],$.isValidElement(m))d=!1,this.create({id:l,type:"default",message:m});else if(_R(m)&&!m.ok){d=!1;const h=typeof r.error=="function"?await r.error(`HTTP error! status: ${m.status}`):r.error,C=typeof r.description=="function"?await r.description(`HTTP error! status: ${m.status}`):r.description,R=typeof h=="object"&&!$.isValidElement(h)?h:{message:h};this.create({id:l,type:"error",description:C,...R})}else if(m instanceof Error){d=!1;const h=typeof r.error=="function"?await r.error(m):r.error,C=typeof r.description=="function"?await r.description(m):r.description,R=typeof h=="object"&&!$.isValidElement(h)?h:{message:h};this.create({id:l,type:"error",description:C,...R})}else if(r.success!==void 0){d=!1;const h=typeof r.success=="function"?await r.success(m):r.success,C=typeof r.description=="function"?await r.description(m):r.description,R=typeof h=="object"&&!$.isValidElement(h)?h:{message:h};this.create({id:l,type:"success",description:C,...R})}}).catch(async m=>{if(p=["reject",m],r.error!==void 0){d=!1;const v=typeof r.error=="function"?await r.error(m):r.error,h=typeof r.description=="function"?await r.description(m):r.description,A=typeof v=="object"&&!$.isValidElement(v)?v:{message:v};this.create({id:l,type:"error",description:h,...A})}}).finally(()=>{d&&(this.dismiss(l),l=void 0),r.finally==null||r.finally.call(r)}),g=()=>new Promise((m,v)=>y.then(()=>p[0]==="reject"?v(p[1]):m(p[1])).catch(v));return typeof l!="string"&&typeof l!="number"?{unwrap:g}:Object.assign(l,{unwrap:g})},this.custom=(o,r)=>{const l=r?.id||fd++;return this.create({jsx:o(l),id:l,...r}),l},this.getActiveToasts=()=>this.toasts.filter(o=>!this.dismissedToasts.has(o.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}}const Kt=new wR,RR=(i,o)=>{const r=o?.id||fd++;return Kt.addToast({title:i,...o,id:r}),r},_R=i=>i&&typeof i=="object"&&"ok"in i&&typeof i.ok=="boolean"&&"status"in i&&typeof i.status=="number",TR=RR,xR=()=>Kt.toasts,PR=()=>Kt.getActiveToasts(),lx=Object.assign(TR,{success:Kt.success,info:Kt.info,warning:Kt.warning,error:Kt.error,custom:Kt.custom,message:Kt.message,promise:Kt.promise,dismiss:Kt.dismiss,loading:Kt.loading},{getHistory:xR,getToasts:PR});pR
vendor: 14,873 bytes, line 47
47("[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}");function 
vendor: 938 bytes, line 47
47tl(i){return i.label!==void 0}const DR=3,OR="24px",LR="16px",Tg=4e3,IR=356,NR=14,MR=45,UR=200;function Da(...i){return i.filter(Boolean).join(" ")}function kR(i){const[o,r]=i.split("-"),l=[];return o&&l.push(o),r&&l.push(r),l}const BR=i=>{var o,r,l,u,d,p,y,g,m;const{invert:v,toast:h,unstyled:C,interacting:A,setHeights:R,visibleToasts:P,heights:w,index:O,toasts:q,expanded:V,removeToast:j,defaultRichColors:J,closeButton:ee,style:G,cancelButtonStyle:z,actionButtonStyle:W,className:me="",descriptionClassName:re="",duration:ae,position:Te,gap:xe,expandByDefault:Ge,classNames:L,icons:Q,closeButtonAriaLabel:oe="Close toast"}=i,[Se,ye]=$.useState(null),[_,F]=$.useState(null),[Y,K]=$.useState(!1),[Z,le]=$.useState(!1),[Ce,pe]=$.useState(!1),[De,Mt]=$.useState(!1),[Ut,Ot]=$.useState(!1),[Vi,kt]=$.useState(0),[Hi,Ia]=$.useState(0),Ea=$.useRef(h.duration||ae||Tg),na=$.useRef(null),vt=$.useRef(null),$t=O===0,ji=O+1<=P,bt=h.type,ga=h.dism
vendor: 6,896 bytes, line 47
47issible!==!1,Ct=h.className||"",xn=h.descriptionClassName||"",Oe=$.useMemo(()=>w.findIndex(he=>he.toastId===h.id)||0,[w,h.id]),Je=$.useMemo(()=>{var he;return(he=h.closeButton)!=null?he:ee},[h.closeButton,ee]),dt=$.useMemo(()=>h.duration||ae||Tg,[h.duration,ae]),oi=$.useRef(0),Na=$.useRef(0),Br=$.useRef(0),ri=$.useRef(null),[Gi,Lt]=Te.split("-"),ya=$.useMemo(()=>w.reduce((he,Ke,ht)=>ht>=Oe?he:he+Ke.height,0),[w,Oe]),Tt=ER(),Tl=h.invert||v,_o=bt==="loading";Na.current=$.useMemo(()=>Oe*xe+ya,[Oe,ya]),$.useEffect(()=>{Ea.current=dt},[dt]),$.useEffect(()=>{K(!0)},[]),$.useEffect(()=>{const he=vt.current;if(he){const Ke=he.getBoundingClientRect().height;return Ia(Ke),R(ht=>[{toastId:h.id,height:Ke,position:h.position},...ht]),()=>R(ht=>ht.filter(xt=>xt.toastId!==h.id))}},[R,h.id]),$.useLayoutEffect(()=>{if(!Y)return;const he=vt.current,Ke=he.style.height;he.style.height="auto";const ht=he.getBoundingClientRect().height;he.style.height=Ke,Ia(ht),R(xt=>xt.find(Ze=>Ze.toastId===h.id)?xt.map(Ze=>Ze.toastId===h.id?{...Ze,height:ht}:Ze):[{toastId:h.id,height:ht,position:h.position},...xt])},[Y,h.title,h.description,R,h.id,h.jsx,h.action,h.cancel]);const wa=$.useCallback(()=>{le(!0),kt(Na.current),R(he=>he.filter(Ke=>Ke.toastId!==h.id)),setTimeout(()=>{j(h)},UR)},[h,j,R,Na]);$.useEffect(()=>{if(h.promise&&bt==="loading"||h.duration===1/0||h.type==="loading")return;let he;return V||A||Tt?(()=>{if(Br.current<oi.current){const xt=new Date().getTime()-oi.current;Ea.current=Ea.current-xt}Br.current=new Date().getTime()})():Ea.current!==1/0&&(oi.current=new Date().getTime(),he=setTimeout(()=>{h.onAutoClose==null||h.onAutoClose.call(h,h),wa()},Ea.current)),()=>clearTimeout(he)},[V,A,h,bt,Tt,wa]),$.useEffect(()=>{h.delete&&(wa(),h.onDismiss==null||h.onDismiss.call(h,h))},[wa,h.delete]);function Pn(){var he;if(Q?.loading){var Ke;return $.createElement("div",{className:Da(L?.loader,h==null||(Ke=h.classNames)==null?void 0:Ke.loader,"sonner-loader"),"data-visible":bt==="loading"},Q.loading)}return $.createElement(yR,{className:Da(L?.loader,h==null||(he=h.classNames)==null?void 0:he.loader),visible:bt==="loading"})}const Dn=h.icon||Q?.[bt]||hR(bt);var Yi,Ra;return $.createElement("li",{tabIndex:0,ref:vt,className:Da(me,Ct,L?.toast,h==null||(o=h.classNames)==null?void 0:o.toast,L?.default,L?.[bt],h==null||(r=h.classNames)==null?void 0:r[bt]),"data-sonner-toast":"","data-rich-colors":(Yi=h.richColors)!=null?Yi:J,"data-styled":!(h.jsx||h.unstyled||C),"data-mounted":Y,"data-promise":!!h.promise,"data-swiped":Ut,"data-removed":Z,"data-visible":ji,"data-y-position":Gi,"data-x-position":Lt,"data-index":O,"data-front":$t,"data-swiping":Ce,"data-dismissible":ga,"data-type":bt,"data-invert":Tl,"data-swipe-out":De,"data-swipe-direction":_,"data-expanded":!!(V||Ge&&Y),"data-testid":h.testId,style:{"--index":O,"--toasts-before":O,"--z-index":q.length-O,"--offset":`${Z?Vi:Na.current}px`,"--initial-height":Ge?"auto":`${Hi}px`,...G,...h.style},onDragEnd:()=>{pe(!1),ye(null),ri.current=null},onPointerDown:he=>{he.button!==2&&(_o||!ga||(na.current=new Date,kt(Na.current),he.target.setPointerCapture(he.pointerId),he.target.tagName!=="BUTTON"&&(pe(!0),ri.current={x:he.clientX,y:he.clientY})))},onPointerUp:()=>{var he,Ke,ht;if(De||!ga)return;ri.current=null;const xt=Number(((he=vt.current)==null?void 0:he.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),si=Number(((Ke=vt.current)==null?void 0:Ke.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),Ze=new Date().getTime()-((ht=na.current)==null?void 0:ht.getTime()),Bt=Se==="x"?xt:si,Qi=Math.abs(Bt)/Ze;if(Math.abs(Bt)>=MR||Qi>.11){kt(Na.current),h.onDismiss==null||h.onDismiss.call(h,h),F(Se==="x"?xt>0?"right":"left":si>0?"down":"up"),wa(),Mt(!0);return}else{var qt,zt;(qt=vt.current)==null||qt.style.setProperty("--swipe-amount-x","0px"),(zt=vt.current)==null||zt.style.setProperty("--swipe-amount-y","0px")}Ot(!1),pe(!1),ye(null)},onPointerMove:he=>{var Ke,ht,xt;if(!ri.current||!ga||((Ke=window.getSelection())==null?void 0:Ke.toString().length)>0)return;const Ze=he.clientY-ri.current.y,Bt=he.clientX-ri.current.x;var Qi;const qt=(Qi=i.swipeDirections)!=null?Qi:kR(Te);!Se&&(Math.abs(Bt)>1||Math.abs(Ze)>1)&&ye(Math.abs(Bt)>Math.abs(Ze)?"x":"y");let zt={x:0,y:0};const On=va=>1/(1.5+Math.abs(va)/20);if(Se==="y"){if(qt.includes("top")||qt.includes("bottom"))if(qt.includes("top")&&Ze<0||qt.includes("bottom")&&Ze>0)zt.y=Ze;else{const va=Ze*On(Ze);zt.y=Math.abs(va)<Math.abs(Ze)?va:Ze}}else if(Se==="x"&&(qt.includes("left")||qt.includes("right")))if(qt.includes("left")&&Bt<0||qt.includes("right")&&Bt>0)zt.x=Bt;else{const va=Bt*On(Bt);zt.x=Math.abs(va)<Math.abs(Bt)?va:Bt}(Math.abs(zt.x)>0||Math.abs(zt.y)>0)&&Ot(!0),(ht=vt.current)==null||ht.style.setProperty("--swipe-amount-x",`${zt.x}px`),(xt=vt.current)==null||xt.style.setProperty("--swipe-amount-y",`${zt.y}px`)}},Je&&!h.jsx&&bt!=="loading"?$.createElement("button",{"aria-label":oe,"data-disabled":_o,"data-close-button":!0,onClick:_o||!ga?()=>{}:()=>{wa(),h.onDismiss==null||h.onDismiss.call(h,h)},className:Da(L?.closeButton,h==null||(l=h.classNames)==null?void 0:l.closeButton)},(Ra=Q?.close)!=null?Ra:AR):null,(bt||h.icon||h.promise)&&h.icon!==null&&(Q?.[bt]!==null||h.icon)?$.createElement("div",{"data-icon":"",className:Da(L?.icon,h==null||(u=h.classNames)==null?void 0:u.icon)},h.promise||h.type==="loading"&&!h.icon?h.icon||Pn():null,h.type!=="loading"?Dn:null):null,$.createElement("div",{"data-content":"",className:Da(L?.content,h==null||(d=h.classNames)==null?void 0:d.content)},$.createElement("div",{"data-title":"",className:Da(L?.title,h==null||(p=h.classNames)==null?void 0:p.title)},h.jsx?h.jsx:typeof h.title=="function"?h.title():h.title),h.description?$.createElement("div",{"data-description":"",className:Da(re,xn,L?.description,h==null||(y=h.classNames)==null?void 0:y.description)},typeof h.description=="function"?h.description():h.description):null),$.isValidElement(h.cancel)?h.cancel:h.cancel&&tl(h.cancel)?$.createElement("button",{"data-button":!0,"data-cancel":!0,style:h.cancelButtonStyle||z,onClick:he=>{tl(h.cancel)&&ga&&(h.cancel.onClick==null||h.cancel.onClick.call(h.cancel,he),wa())},className:Da(L?.cancelButton,h==null||(g=h.classNames)==null?void 0:g.cancelButton)},h.cancel.label):null,$.isValidElement(h.action)?h.action:h.action&&tl(h.action)?$.createElement("button",{"data-button":!0,"data-action":!0,style:h.actionButtonStyle||W,onClick:he=>{tl(h.action)&&(h.action.onClick==null||h.action.onClick.call(h.action,he),!he.defaultPrevented&&wa())},className:Da(L?.actionButton,h==null||(m=h.classNames)==null?void 0:m.actionButton)},h.action.label):null)};function xg(){if(typeof window>"u"||typeof document>"u")return"ltr";const i=document.documentElement.getAttribute("dir");return i==="auto"||!i?window.getComputedStyle(document.documentElement).direction:i}function qR(i,o){const r={};
vendor: 5,303 bytes, line 47
47return[i,o].forEach((l,u)=>{const d=u===1,p=d?"--mobile-offset":"--offset",y=d?LR:OR;function g(m){["top","right","bottom","left"].forEach(v=>{r[`${p}-${v}`]=typeof m=="number"?`${m}px`:m})}typeof l=="number"||typeof l=="string"?g(l):typeof l=="object"?["top","right","bottom","left"].forEach(m=>{l[m]===void 0?r[`${p}-${m}`]=y:r[`${p}-${m}`]=typeof l[m]=="number"?`${l[m]}px`:l[m]}):g(y)}),r}const zR=$.forwardRef(function(o,r){const{id:l,invert:u,position:d="bottom-right",hotkey:p=["altKey","KeyT"],expand:y,closeButton:g,className:m,offset:v,mobileOffset:h,theme:C="light",richColors:A,duration:R,style:P,visibleToasts:w=DR,toastOptions:O,dir:q=xg(),gap:V=NR,icons:j,containerAriaLabel:J="Notifications"}=o,[ee,G]=$.useState([]),z=$.useMemo(()=>l?ee.filter(Y=>Y.toasterId===l):ee.filter(Y=>!Y.toasterId),[ee,l]),W=$.useMemo(()=>Array.from(new Set([d].concat(z.filter(Y=>Y.position).map(Y=>Y.position)))),[z,d]),[me,re]=$.useState([]),[ae,Te]=$.useState(!1),[xe,Ge]=$.useState(!1),[L,Q]=$.useState(C!=="system"?C:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),oe=$.useRef(null),Se=p.join("+").replace(/Key/g,"").replace(/Digit/g,""),ye=$.useRef(null),_=$.useRef(!1),F=$.useCallback(Y=>{G(K=>{var Z;return(Z=K.find(le=>le.id===Y.id))!=null&&Z.delete||Kt.dismiss(Y.id),K.filter(({id:le})=>le!==Y.id)})},[]);return $.useEffect(()=>Kt.subscribe(Y=>{if(Y.dismiss){requestAnimationFrame(()=>{G(K=>K.map(Z=>Z.id===Y.id?{...Z,delete:!0}:Z))});return}setTimeout(()=>{jE.flushSync(()=>{G(K=>{const Z=K.findIndex(le=>le.id===Y.id);return Z!==-1?[...K.slice(0,Z),{...K[Z],...Y},...K.slice(Z+1)]:[Y,...K]})})})}),[ee]),$.useEffect(()=>{if(C!=="system"){Q(C);return}if(C==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?Q("dark"):Q("light")),typeof window>"u")return;const Y=window.matchMedia("(prefers-color-scheme: dark)");try{Y.addEventListener("change",({matches:K})=>{Q(K?"dark":"light")})}catch{Y.addListener(({matches:Z})=>{try{Q(Z?"dark":"light")}catch(le){console.error(le)}})}},[C]),$.useEffect(()=>{ee.length<=1&&Te(!1)},[ee]),$.useEffect(()=>{const Y=K=>{var Z;if(p.every(pe=>K[pe]||K.code===pe)){var Ce;Te(!0),(Ce=oe.current)==null||Ce.focus()}K.code==="Escape"&&(document.activeElement===oe.current||(Z=oe.current)!=null&&Z.contains(document.activeElement))&&Te(!1)};return document.addEventListener("keydown",Y),()=>document.removeEventListener("keydown",Y)},[p]),$.useEffect(()=>{if(oe.current)return()=>{ye.current&&(ye.current.focus({preventScroll:!0}),ye.current=null,_.current=!1)}},[oe.current]),$.createElement("section",{ref:r,"aria-label":`${J} ${Se}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},W.map((Y,K)=>{var Z;const[le,Ce]=Y.split("-");return z.length?$.createElement("ol",{key:Y,dir:q==="auto"?xg():q,tabIndex:-1,ref:oe,className:m,"data-sonner-toaster":!0,"data-sonner-theme":L,"data-y-position":le,"data-x-position":Ce,style:{"--front-toast-height":`${((Z=me[0])==null?void 0:Z.height)||0}px`,"--width":`${IR}px`,"--gap":`${V}px`,...P,...qR(v,h)},onBlur:pe=>{_.current&&!pe.currentTarget.contains(pe.relatedTarget)&&(_.current=!1,ye.current&&(ye.current.focus({preventScroll:!0}),ye.current=null))},onFocus:pe=>{pe.target instanceof HTMLElement&&pe.target.dataset.dismissible==="false"||_.current||(_.current=!0,ye.current=pe.relatedTarget)},onMouseEnter:()=>Te(!0),onMouseMove:()=>Te(!0),onMouseLeave:()=>{xe||Te(!1)},onDragEnd:()=>Te(!1),onPointerDown:pe=>{pe.target instanceof HTMLElement&&pe.target.dataset.dismissible==="false"||Ge(!0)},onPointerUp:()=>Ge(!1)},z.filter(pe=>!pe.position&&K===0||pe.position===Y).map((pe,De)=>{var Mt,Ut;return $.createElement(BR,{key:pe.id,icons:j,index:De,toast:pe,defaultRichColors:A,duration:(Mt=O?.duration)!=null?Mt:R,className:O?.className,descriptionClassName:O?.descriptionClassName,invert:u,visibleToasts:w,closeButton:(Ut=O?.closeButton)!=null?Ut:g,interacting:xe,position:Y,style:O?.style,unstyled:O?.unstyled,classNames:O?.classNames,cancelButtonStyle:O?.cancelButtonStyle,actionButtonStyle:O?.actionButtonStyle,closeButtonAriaLabel:O?.closeButtonAriaLabel,removeToast:F,toasts:z.filter(Ot=>Ot.position==pe.position),heights:me.filter(Ot=>Ot.position==pe.position),setHeights:re,expandByDefault:y,gap:V,expanded:ae,swipeDirections:o.swipeDirections})})):null}))}),FR=({...i})=>{const{theme:o}=fR();return X.jsx(zR,{theme:o,className:"toaster group",toastOptions:{unstyled:!0,style:{width:"356px",minWidth:"356px",padding:"16px"},classNames:{toast:"bg-popover text-popover-foreground border border-border rounded-lg shadow-[0px_4px_12px_rgba(0,0,0,0.1)] flex items-center text-[13px] leading-normal gap-1.5",title:"font-medium leading-[1.5]",description:"text-muted-foreground font-normal leading-[1.4] mt-0.5",actionButton:"bg-primary text-primary-foreground hover:bg-primary/90 px-2 py-1.5 rounded text-xs font-medium ml-auto mr-0",cancelButton:"bg-secondary text-secondary-foreground hover:bg-secondary/80 px-2 py-1.5 rounded text-xs font-medium",closeButton:"absolute top-0 right-0 h-5 w-5 flex justify-center items-center p-0 bg-popover border border-border rounded-full cursor-pointer z-[1] transition-all duration-100 transform translate-x-[35%] 
47-translate-y-[35%] hover:bg-accent hover:border-accent-foreground/20"}},...i})},kr=iw({head:()=>({meta:[{charSet:"utf-8"},{name:"viewport",content:"width=device-width, initial-scale=1"},{title:"Claude Certified Architect"}],links:[{rel:"icon",href:"/favicon.ico",sizes:"32x32"},{rel:"icon",href:"/favicon.svg",type:"image/svg+xml"},{rel:"apple-touch-icon",href:"/apple-touch-icon.png"},{rel:"manifest",href:"/site.webmanifest"}],scripts:[{children:'(function(c,l,a,r,i,t,y){c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);})(window, document, "clarity", "script", "x4blwg52o6");'}]}),component:VR});function VR(){return X.jsx(jR,{children:X.jsx(Ny,{})})}function HR(){const o=ut({select:r=>r.location.pathname}).split("/")[1]??"";return Md.includes(o)?o==="zh-CN"?"zh-CN":o:"en"}function jR({children:i}){const o=HR();return X.jsxs("html",{lang:o,suppressHydrationWarning:!0,children:[X.jsxs("head",{children:[X.jsx(vw,{}),X.jsx(mR,{})]}),X.jsxs("body",{className:"antialiased",children:[X.jsxs(dR,{children:[i,X.jsx(FR,{})]}),X.jsx(bw,{})]})]})}const GR=ce("/payment-success")({beforeLoad:({location:i})=>{const o=ot.app.i18n.defaultLocale;throw Aa({to:"/$lang/payment-success",params:{lang:o},search:Object.fromEntries(new URLSearchParams(i.search))})}}),YR=ce("/payment-cancel")({beforeLoad:({location:i})=>{const o=ot.app.i18n.defaultLocale;throw Aa({to:"/$lang/payment-cancel",params:{lang:o},search:Object.fromEntries(new URLSearchParams(i.search))})}}),QR="modulepreload",KR=function(i){return"/"+i},Pg={},de=function(o,r,l){let u=Promise.resolve();if(r&&r.length>0){let g=function(m){return Promise.all(m.map(v=>Promise.resolve(v).then(h=>({status:"fulfilled",value:h}),h=>({status:"rejected",reason:h}))))};document.getElementsByTagName("link");const p=document.querySelector("meta[property=csp-nonce]"),y=p?.nonce||p?.getAttribute("nonce");u=g(r.map(m=>{if(m=KR(m),m in Pg)return;Pg[m]=!0;const v=m.endsWith(".css"),h=v?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${m}"]${h}`))return;const C=document.createElement("link");if(C.rel=v?"stylesheet":QR,v||(C.as="script"),C.crossOrigin="",C.href=m,y&&C.setAttribute("nonce",y),document.head.appendChild(C),v)return new Promise((A,R)=>{C.addEventListener("load",A),C.addEventListener("error",()=>R(new Error(`Unable to preload CSS for ${m}`)))})}))}function d(p){const y=new Event("vite:preloadError",{cancelable:!0});if(y.payload=p,window.dispatchEvent(y),!y.defaultPrevented)throw p}return u.then(p=>{for(const y of p||[])y.status==="rejected"&&d(y.reason);return o().catch(d)})},$R=()=>de(()=>import("./_lang-BpUv8FMg.js"),__vite__mapDeps([0,1,2])),XR=ce("/$lang")({beforeLoad:({params:i,location:o})=>{if(!nR(i.lang)){const r=o.href.replace(/^\/[^/]+/,`/${ot.app.i18n.defaultLocale}`);throw Aa({href:r})}},component:fe($R,"component")}),WR=ce("/")({beforeLoad:()=>{throw Aa({to:"/$lang",params:{lang:ot.app.i18n.defaultLocale}})}}),jy=()=>{throw new Error("createServerOnlyFn() functions can only be called on the server!")};function Dg(i){return i!=="__proto__"&&i!=="constructor"&&i!=="prototype"}function md(i,o){const r=Object.create(null);if(i)for(const l of Object.keys(i))Dg(l)&&(r[l]=i[l]);if(o&&typeof o=="object")for(const l of Object.keys(o))Dg(l)&&(r[l]=o[l]);return r}function Gy(i){return Object.create(null)}const xr=(i,o)=>{const r=o||i||{};return typeof r.method>"u"&&(r.method="GET"),Object.assign(d=>{const p={...r,...d};return xr(void 0,p)},{options:r,middleware:d=>{const p=[...r.middleware||[]];d.map(m=>{vg in m?m.options.middleware&&p.push(...m.options.middleware):p.push(m)});const y={...r,middleware:p},g=xr(void 0,y);return g[vg]=!0,g},inputValidator:d=>{const p={...r,inputValidator:d};return xr(void 0,p)},handler:(...d)=>{const[p,y]=d,g={...r,extractedFn:p,serverFn:y},m=[...g.middleware||[],e_(g)];return p.method=r.method,Object.assign(async v=>{const h=await Og(m,"client",{...p,...g,data:v?.data,headers:v?.headers,signal:v?.signal,fetch:v?.fetch,context:Gy()}),C=jg(h.error);if(C)throw C;if(h.error)throw h.error;return h.result},{...p,method:r.method,__executeServer:async v=>{const h=jy(),C=h.contextAfterGlobalMiddlewares,A={...p,...v,serverFnMeta:p.serverFnMeta,context:md(C,v.context),request:h.request};return await Og(m,"server",A).then(P=>({result:P.result,error:P.error,context:P.sendContext}))}})}})};async function Og(i,o,r){const l=Ld()?.functionMiddleware||[];let u=ZR([...l,...i]);if(o==="server"){const p=jy();p?.executedRequestMiddlewares&&(u=u.filter(y=>!p.executedRequestMiddlewares.has(y)))}const d=async p=>{const y=u.shift();if(!y)return p;try{"inputValidator"in y.options&&y.options.inputValidator&&o==="server"&&(p.data=await JR(y.options.inputValidator,p.data));let g;if(o==="client"?"client"in y.options&&(g=y.options.client):"server"in y.options&&(g=y.options.server),g){const v=await g({...p,next:async(h={})=>{const C={...p,...h,context:md(p.context,h.context),sendContext:md(p.sendContext,h.sendContext),headers:Sw(p.headers,h.headers),_callSiteFetch:p._callSiteFetch,fetch:p._callSiteFetch??h.fetch??p.fetch,result:h.result!==void 0?h.result:h instanceof Response?h:p.result,error:h.error??p.error},A=await d(C);if(A.error)throw A.error;return A}});if(Nt(v))return{...p,error:v};if(v instanceof Response)return{...p,result:v};if(!v)throw new Error("User middleware returned undefined. You must call next() or return a result in your middlewares.");return v}return d(p)}catch(g){return{...p,error:g}}};return d({...r,headers:r.headers||{},sendContext:r.sendContext||{},context:r.context||Gy(),_callSiteFetch:r.fetch})}function ZR(i,o=100){const r=new Set,l=[],u=(d,p)=>{if(p>o)throw new Error(`Middleware nesting depth exceeded maximum of ${o}. Check for circular references.`);d.forEach(y=>{y.options.middleware&&u(y.options.middleware,p+1),r.has(y)||(r.add(y),l.push(y))})};return u(i,0),l}async function JR(i,o){if(i==null)return{};if("~standard"in i){const r=await i["~standard"].validate(o);if(r.issues)throw new Error(JSON.stringify(r.issues,void 0,2));return r.value}if("parse"in i)return i.parse(o);if(typeof i=="function")return i(o);throw new Error("Invalid validator type!")}function e_(i){return{"~types":void 0,options:{inputValidator:i.inputValidator,client:async({next:o,sendContext:r,fetch:l,...u})=>{const d={...u,context:r,fetch:l},p=await i.extractedFn?.(d);return o(p)},server:async({next:o,...r})=>{const l=await i.serverFn?.(r);return o({...r,result:l})}}}}const Yy=xr({method:"GET"}).handler(Id("5a2ce56351643cc0c0553a0eee184e25255510f3ce26766ad58b6d265dce44d8")),t_=xr({method:"GET"}).handler(Id("ab7b6cc68e15b3ecac0393a08e6c86461a366ce19a96e3a46d7ce7da909bfbfb"));async function a_({params:i}){if((await Yy())?.user)throw Aa({to:"/$lang/dashboard",params:{lang:i.lang}})}async function Ud({params:i}){const r=(await Yy())?.user;if(!r)throw Aa({to:"/$lang/signin",params:{lang:i.lang}});return{user:r}}async function i_({params:i}){const{user:o}=await Ud({params:i}),{can:r,Action:l,Subject:u,Role:d}=await de(async()=>{const{can:y,Action:g,Subject:m,Role:v}=await import("./index-w4zGtSdZ.js");return{can:y,Action:g,Subject:m,Role:v}},[]),p={...o,role:o.role||d.NORMAL};if(!r(p,l.MANAGE,u.ALL))throw Aa({to:"/$lang",params:{lang:i.lang}});return{user:o}}async function n_({params:i}){const o=await t_();if(!o?.user)throw Aa({to:"/$lang/signin",params:{lang:i.lang}});if(!o.hasSubscription)throw Aa({to:"/$lang/pricing",params:{lang:i.lang}});return{user:o.user}}const o_=()=>de(()=>import("./admin-DpQYyj86.js"),__vite__mapDeps([3,4,5,6,7,8,9,10,11,12,13,14,2,15,16,17,18,19])),r_=ce("/$lang/admin")({beforeLoad:async({params:i})=>{await i_({params:i})},component:fe(o_,"component")}),s_=()=>de(()=>import("./route-Bo1t8kcn.js"),__vite__mapDeps([20,21,4,5,15,22,23,7,8,24,13,9,25,2,11,26,27]
47)),l_=ce("/$lang/(root)")({component:fe(s_,"component")}),c_=()=>de(()=>import("./route-B607q9eU.js"),__vite__mapDeps([28,15])),u_=ce("/$lang/(auth)")({beforeLoad:async({params:i})=>{await a_({params:i})},component:fe(c_,"component")});function Qy(i){return dd[i]||dd[ot.app.i18n.defaultLocale]}function _e(i,o,r={}){const l=Qy(i),u=o(l),d=ot.app.baseUrl.replace(/\/$/,""),p=[{title:u.title}];u.description&&p.push({name:"description",content:u.description}),u.keywords&&p.push({name:"keywords",content:u.keywords}),p.push({property:"og:title",content:u.title}),u.description&&p.push({property:"og:description",content:u.description}),p.push({property:"og:type",content:"website"}),p.push({property:"og:site_name",content:ot.app.name}),p.push({name:"twitter:card",content:r.image?"summary_large_image":"summary"}),r.image&&(p.push({property:"og:image",content:r.image}),p.push({name:"twitter:image",content:r.image}));const y=[];if(r.path!==void 0){const m=`${d}/${i}${r.path}`;p.push({property:"og:url",content:m}),y.push({rel:"canonical",href:m});for(const v of Md)y.push({rel:"alternate",hreflang:v,href:`${d}/${v}${r.path}`});y.push({rel:"alternate",hreflang:"x-default",href:`${d}/en${r.path}`})}const g={meta:p};return y.length&&(g.links=y),r.jsonLd&&(g.scripts=[{type:"application/ld+json",children:JSON.stringify(r.jsonLd)}]),g}const d_=()=>de(()=>import("./index-3hzfs289.js"),__vite__mapDeps([29,2,4,5,30,18,11,16,31,32,33,34,35,36,37,38,39,40,41,42,43,44])),f_=ce("/$lang/admin/")({head:({params:i})=>_e(i.lang,o=>o.admin.metadata),component:fe(d_,"component")}),m_=()=>de(()=>import("./index-CHuwp56C.js"),__vite__mapDeps([45,46,4,5,47,2,15,48,11,26,49,27])),p_=ce("/$lang/(root)/")({head:({params:i})=>_e(i.lang,o=>o.home.metadata,{path:"",jsonLd:[{"@context":"https://schema.org","@type":"Organization",name:ot.app.name,url:ot.app.baseUrl},{"@context":"https://schema.org","@type":"WebSite",name:ot.app.name,url:ot.app.baseUrl}]}),component:fe(m_,"component")}),h_=()=>de(()=>import("./video-generate-BQ7l_cki.js"),__vite__mapDeps([50,2,4,5,51,52,8,53,54,7,55,24,13,14,56,11,26,57,58,59])),g_=ce("/$lang/(root)/video-generate")({head:({params:i})=>_e(i.lang,o=>o.ai.video.metadata),component:fe(h_,"component")}),y_=()=>de(()=>import("./upload-CtodSSk9.js"),__vite__mapDeps([60,2,4,5,61,55,7,8,24,13,14,56,11,26,62,59,19,10,36])),v_=ce("/$lang/(root)/upload")({beforeLoad:async({params:i})=>{await Ud({params:i})},head:({params:i})=>_e(i.lang,o=>({title:o.upload.title,description:o.upload.description})),component:fe(y_,"component")}),b_=()=>de(()=>import("./pricing-aUr4wfZN.js"),__vite__mapDeps([63,2,21,22,64,6,7,8,4,5,9,10,11,65,48,66,17,26,36,67])),C_=ce("/$lang/(root)/pricing")({head:({params:i})=>_e(i.lang,o=>o.pricing.metadata),component:fe(b_,"component")}),S_=()=>de(()=>import("./premium-features-DVnEdUja.js"),__vite__mapDeps([68,2,4,5,61,30,16,11,66,19,36])),A_=ce("/$lang/(root)/premium-features")({beforeLoad:async({params:i})=>{await n_({params:i})},head:({params:i})=>_e(i.lang,o=>o.premiumFeatures.metadata),component:fe(S_,"component")}),E_=()=>de(()=>import("./payment-success-CdvlGmIj.js"),__vite__mapDeps([69,2,4,5,36,11,70])),w_=ce("/$lang/(root)/payment-success")({head:({params:i})=>_e(i.lang,o=>o.payment.metadata.success),component:fe(E_,"component")}),R_=()=>de(()=>import("./payment-cancel-D96JpkJs.js"),__vite__mapDeps([71,2,4,5,33,11])),__=ce("/$lang/(root)/payment-cancel")({head:({params:i})=>_e(i.lang,o=>o.payment.metadata.cancel),component:fe(R_,"component")}),T_=()=>de(()=>import("./image-generate-HEcU5SZN.js"),__vite__mapDeps([72,2,4,5,51,52,8,53,54,7,55,24,13,14,56,11,26,57,58,59])),x_=ce("/$lang/(root)/image-generate")({head:({params:i})=>_e(i.lang,o=>o.ai.image.metadata),component:fe(T_,"component")}),P_=()=>de(()=>import("./faq-ggYImbL2.js"),__vite__mapDeps([73,2,56,11])),D_=ce("/$lang/(root)/faq")({head:({params:i})=>{const o=Qy(i.lang).faq.items??[];return _e(i.lang,r=>r.faq.metadata,{path:"/faq",jsonLd:{"@context":"https://schema.org","@type":"FAQPage",mainEntity:o.map(r=>({"@type":"Question",name:r.q,acceptedAnswer:{"@type":"Answer",text:r.a}}))}})},component:fe(P_,"component")}),O_=()=>de(()=>import("./dashboard-DA9u1IJr.js"),__vite__mapDeps([74,2,22,61,5,4,53,52,8,30,25,7,75,76,46,77,36,11,78,79,67,70,33,80,58,17,81,31,82,83,84,37,34,85,18,32,35,86,64,6,9,10,87,88,16,89])),L_=ce("/$lang/(root)/dashboard")({beforeLoad:async({params:i})=>{await Ud({params:i})},head:({params:i})=>_e(i.lang,o=>o.dashboard.metadata),component:fe(O_,"component")}),I_=()=>de(()=>import("./ai-D00zHRIR.js"),__vite__mapDeps([90,2,4,5,91,11,92,93,94,95,96,51,55,7,8,24,13,14,56,26,36,10])),N_=ce("/$lang/(root)/ai")({head:({params:i})=>_e(i.lang,o=>o.ai.metadata),component:fe(I_,"component")}),M_=()=>de(()=>
47import("./about-CFQ--Uha.js"),__vite__mapDeps([97,2,98,76,11,67])),U_=ce("/$lang/(root)/about")({head:({params:i})=>_e(i.lang,o=>o.about.metadata,{path:"/about"}),component:fe(M_,"component")}),k_=()=>de(()=>import("./wechat-CvV5siPt.js"),__vite__mapDeps([99,2,61,5])),B_=ce("/$lang/(auth)/wechat")({head:({params:i})=>_e(i.lang,o=>o.auth.metadata.wechat),component:fe(k_,"component")}),q_=()=>de(()=>import("./signup-4TjzbRNV.js"),__vite__mapDeps([100,101,4,5,1,36,11,22,2,61])),z_=ce("/$lang/(auth)/signup")({head:({params:i})=>_e(i.lang,o=>o.auth.metadata.signup),component:fe(q_,"component")}),F_=()=>de(()=>import("./signin-CQNiiO-B.js"),__vite__mapDeps([102,101,4,5,1,36,11,22,2,61])),V_=ce("/$lang/(auth)/signin")({head:({params:i})=>_e(i.lang,o=>o.auth.metadata.signin),component:fe(F_,"component")}),H_=()=>de(()=>import("./reset-password-DNKfJ3bh.js"),__vite__mapDeps([103,86,2,61,5,4,53,52,8,104,47,1,22,36,11])),j_=ce("/$lang/(auth)/reset-password")({head:({params:i})=>_e(i.lang,o=>o.auth.metadata.resetPassword),component:fe(H_,"component")}),G_=()=>de(()=>import("./forgot-password-CEC001DE.js"),__vite__mapDeps([105,86,2,61,5,4,53,52,8,104,47,1,106,22,36,11])),Y_=ce("/$lang/(auth)/forgot-password")({head:({params:i})=>_e(i.lang,o=>o.auth.metadata.forgotPassword),component:fe(G_,"component")}),Q_=()=>de(()=>import("./cellphone-DmTgPeOn.js"),__vite__mapDeps([107,86,2,5,4,22,53,52,8,104,47,1,106,55,7,24,13,14,56,11,26,36,61])),K_=ce("/$lang/(auth)/cellphone")({head:({params:i})=>_e(i.lang,o=>o.auth.metadata.phone),component:fe(Q_,"component")}),$_=()=>de(()=>import("./index-Ud3s0gGK.js"),__vite__mapDeps([108,2,4,5,109,11,82,83,84,23,7,8,24,13,9,110,26,53,55,14,56,111,10,54,87,6,22,112,91])),X_=ce("/$lang/admin/users/")({component:fe($_,"component")}),W_=()=>de(()=>import("./index-CWgY1KXG.js"),__vite__mapDeps([113,2,109,11,5,82,4,83,84,53,55,7,8,24,13,14,56,26,111,10,23,9,30,112,91])),Z_=ce("/$lang/admin/subscriptions/")({component:fe(W_,"component")}),J_=()=>de(()=>import("./index-IB023Qor.js"),__vite__mapDeps([114,2,109,11,5,82,4,83,84,53,55,7,8,24,13,14,56,26,111,10,23,9,110,30,112,91])),eT=ce("/$lang/admin/orders/")({component:fe(J_,"component")}),tT=()=>de(()=>import("./index-ClkB7ewn.js"),__vite__mapDeps([115,2,109,11,5,82,4,83,84,53,55,7,8,24,13,14,56,26,111,10,23,9,110,30,12,112,37,91,85,34])),aT=ce("/$lang/admin/credits/")({component:fe(tT,"component")}),iT=()=>de(()=>import("./index-CLIfsDAd.js"),__vite__mapDeps([116,2,4,5,109,11,82,83,84,53,55,7,8,24,13,14,56,26,111,10,30,23,9,88,91])),nT=ce("/$lang/admin/blog/")({component:fe(iT,"component")}),oT=()=>de(()=>import("./index-Cx3hEeAc.js"),__vite__mapDeps([117,2,75,76,46,98,11,67,79,81])),rT=ce("/$lang/(root)/study-guide/")({head:({params:i})=>_e(i.lang,o=>o.studyGuide.metadata,{path:"/study-guide"}),component:fe(oT,"component")}),sT=()=>de(()=>import("./index-CHfAgIhQ.js"),__vite__mapDeps([118,2,75,76,46,67,11])),lT=ce("/$lang/(root)/scenarios/")({head:({params:i})=>_e(i.lang,o=>o.scenarios.metadata,{path:"/scenarios"}),component:fe(sT,"component")}),cT=()=>de(()=>import("./index-CLpeQY6i.js"),__vite__mapDeps([119,2,75,76,46,120,11,79,35,121])),uT=ce("/$lang/(root)/practice/")({head:({params:i})=>_e(i.lang,o=>o.practice.metadata,{path:"/practice"}),component:fe(cT,"component")}),dT=()=>de(()=>import("./index-CQvjxRLD.js"),__vite__mapDeps([122,2,75,76,46,111,11])),fT=ce("/$lang/(root)/glossary/")({head:({params:i})=>_e(i.lang,o=>o.glossary.metadata,{path:"/glossary"}),component:fe(dT,"component")}),mT=()=>de(()=>import("./index-KmnXSrk4.js"),__vite__mapDeps([123,22,124,5,2,75,76,46,125,77,126,65,49,11,121])),pT=ce("/$lang/(root)/flashcards/")({head:({params:i})=>_e(i.lang,o=>o.flashcards.metadata,{path:"/flashcards"}),component:fe(mT,"component")}),hT=()=>de(()=>import("./index-BykdfnGd.js"),__vite__mapDeps([127,22,80,58,5,2,75,76,46,77,78,11])),gT=ce("/$lang/(root)/courses/")({head:({params:i})=>_e(i.lang,o=>o.courses.metadata,{path:"/courses"}),component:fe(hT,"component")}),yT=()=>de(()=>import("./index-pHTeC7jA.js"),__vite__mapDeps([128,2,4,5,124,83,11,84])),vT=ce("/$lang/(root)/blog/")({head:({params:i})=>_e(i.lang,o=>o.blog.metadata),validateSearch:i=>({page:Number(i.page)||1}),component:fe(yT,"component")}),bT=()=>de(()=>import("./study-plan-DjmnlB8z.js"),__vite__mapDeps([129,2,130,92,5,93,94,95,96])),CT=ce("/$lang/(root)/study-guide/study-plan")({head:({params:i})=>_e(i.lang,o=>o.studyGuide.metadata),component:fe(bT,"component")}),ST=()=>de(()=>
47import("./exam-info-rh_ohyo0.js"),__vite__mapDeps([131,2,75,76,46,98,11,31])),AT=ce("/$lang/(root)/study-guide/exam-info")({head:({params:i})=>{const o=Rg(i.lang);return _e(i.lang,r=>Rg(i.lang,r).metadata,{path:"/study-guide/exam-info",jsonLd:{"@context":"https://schema.org","@type":"FAQPage",mainEntity:o.eligibility.map(r=>({"@type":"Question",name:r.q,acceptedAnswer:{"@type":"Answer",text:r.a}}))}})},component:fe(ST,"component")}),ET=()=>de(()=>import("./anti-patterns-BK2DbtN5.js"),__vite__mapDeps([132,2,75,76,46])),wT=ce("/$lang/(root)/study-guide/anti-patterns")({head:({params:i})=>_e(i.lang,o=>o.studyGuide.metadata),component:fe(ET,"component")}),RT=()=>de(()=>import("./_domainId-D9dAhJ8_.js"),__vite__mapDeps([133,2,75,76,46,130,92,5,93,94,95,96,134])),_T=ce("/$lang/(root)/study-guide/$domainId")({head:({params:i})=>_e(i.lang,o=>o.studyGuide.metadata),component:fe(RT,"component")}),TT=()=>de(()=>import("./_scenarioId-BuFQ2VhB.js"),__vite__mapDeps([135,2,75,76,46,130,92,5,93,94,95,96,134])),xT=ce("/$lang/(root)/scenarios/$scenarioId")({head:({params:i})=>_e(i.lang,o=>o.scenarios.metadata),component:fe(TT,"component")}),PT=()=>de(()=>import("./_examId-CudrwzDy.js"),__vite__mapDeps([136,130,92,5,93,94,95,96,22,2,75,76,46,77,126,65,120,137,4,121,11,134,36,78,70,33,35,83,84])),DT=ce("/$lang/(root)/practice/$examId")({head:({params:i})=>_e(i.lang,o=>o.practice.metadata),component:fe(PT,"component")}),OT=()=>de(()=>import("./_deckId-BaNRzQqd.js"),__vite__mapDeps([138,22,4,5,2,75,76,46,125,77,139,126,65,130,92,93,94,95,96,137,121,11,134,36,34])),LT=ce("/$lang/(root)/flashcards/$deckId")({head:({params:i})=>_e(i.lang,o=>o.flashcards.metadata),component:fe(OT,"component")}),IT=()=>de(()=>import("./_slug-CXgbXMKV.js"),__vite__mapDeps([140,2,124,5,83,11,95,94])),NT=ce("/$lang/(root)/blog/$slug")({head:({params:i})=>_e(i.lang,o=>o.blog.metadata),component:fe(IT,"component")}),MT=()=>de(()=>import("./index-B1ErwQOn.js"),__vite__mapDeps([141,61,5,4,53,54,7,8,55,24,13,14,56,11,26,52,2,22,86,87,6,9,124,89,88])),UT=ce("/$lang/admin/users/$id/")({component:fe(MT,"component")}),kT=()=>de(()=>import("./index-DrcF4wFU.js"),__vite__mapDeps([142,61,5,4,53,55,7,8,24,13,14,56,11,26,52,62,59,19,86,2,87,6,9,124,10,89,88])),BT=ce("/$lang/admin/blog/$id/")({component:fe(kT,"component")}),qT=()=>de(()=>import("./index-BV4pNxkw.js"),__vite__mapDeps([143,22,4,5,80,58,124,2,75,76,46,77,126,65,134,121,11,70,19,79])),zT=ce("/$lang/(root)/courses/$courseId/")({head:({params:i})=>_e(i.lang,o=>o.courses.metadata),component:fe(qT,"component")}),FT=()=>de(()=>import("./_lessonId-D32y6TF8.js"),__vite__mapDeps([144,22,4,5,124,2,75,76,46,77,139,126,65,130,92,93,94,95,96,137,121,11,134,70])),VT=ce("/$lang/(root)/courses/$courseId/lessons/$lessonId")({head:({params:i})=>_e(i.lang,o=>o.lesson.metadata),component:fe(FT,"component")}),HT=GR.update({id:"/payment-success",path:"/payment-success",getParentRoute:()=>kr}),jT=YR.update({id:"/payment-cancel",path:"/payment-cancel",getParentRoute:()=>kr}),_l=XR.update({id:"/$lang",path:"/$lang",getParentRoute:()=>kr}),GT=WR.update({id:"/",path:"/",getParentRoute:()=>kr}),ni=r_.update({id:"/admin",path:"/admin",getParentRoute:()=>_l}),Ue=l_.update({id:"/(root)",getParentRoute:()=>_l}),Tn=u_.update({id:"/(auth)",getParentRoute:()=>_l}),YT=f_.update({id:"/",path:"/",getParentRoute:()=>ni}),QT=p_.update({id:"/",path:"/",getParentRoute:()=>Ue}),KT=g_.update({id:"/video-generate",path:"/video-generate",getParentRoute:()=>Ue}),$T=v_.update({id:"/upload",path:"/upload",getParentRoute:()=>Ue}),XT=C_.update({id:"/pricing",path:"/pricing",getParentRoute:()=>Ue}),WT=A_.update({id:"/premium-features",path:"/premium-features",getParentRoute:()=>Ue}),ZT=w_.update({id:"/payment-success",path:"/payment-success",getParentRoute:()=>Ue}),JT=__.update({id:"/payment-cancel",path:"/payment-cancel",getParentRoute:()=>Ue}),e1=x_.update({id:"/image-generate",path:"/image-generate",getParentRoute:()=>Ue}),t1=D_.update({id:"/faq",path:"/faq",getParentRoute:()=>Ue}),a1=L_.update({id:"/dashboard",path:"/dashboard",getParentRoute:()=>Ue}),i1=N_.update({id:"/ai",path:"/ai",getParentRoute:()=>Ue}),n1=U_.update({id:"/about",path:"/about",getParentRoute:()=>Ue}),o1=B_.update({id:"/wechat",path:"/wechat",getParentRoute:()=>Tn}),r1=z_.update({id:"/signup",path:"/signup",getParentRoute:()=>Tn}),s1=V_.update({id:"/signin",path:"/signin",getParentRoute:()=>Tn}),l1=j_.update({id:"/reset-password",path:"/reset-password",getParentRoute:()=>Tn}),c1=Y_.update({id:"/forgot-password",path:"/forgot-password",getParentRoute:()=>Tn}),u1=K_.update({id:"/cellphone",path:"/cellphone",getParentRoute:()=>Tn}),d1=X_.update({id:"/users/",path:"/users/",getParentRoute:()=>ni}),f1=Z_.update({id:"/subscriptions/",path:"/subscriptions/",getParentRoute:()=>ni}),m1=eT.update({id:"/orders/",path:"/orders/",getParentRoute:()=>ni}),p1=aT.update({id:"/credits/",path:"/credits/",getParentRoute:()=>ni}),h1=nT.update({id:"/blog/",path:"/blog/",getParentRoute:()=>ni}),g1=rT.update({id:"/study-guide/",path:"/study-guide/",getParentRoute:()=>Ue}),y1=lT.update({id:"/scenarios/",path:"/scenarios/",getParentRoute:()=>Ue}),v1=uT.update({id:"/practice/",path:"/practice/",getParentRoute:()=>Ue}),b1=fT.update({id:"/glossary/",path:"/glossary/",getParentRoute:()=>Ue}),C1=pT.update({id:"/flashcards/",path:"/flashcards/",getParentRoute:()=>Ue}),S1=gT.update({id:"/courses/",path:"/courses/",getParentRoute:()=>Ue}),A1=vT.update({id:"/blog/",path:"/blog/",getParentRoute:()=>Ue}),E1=CT.update({id:"/study-guide/study-plan",path:"/study-guide/study-plan",getParentRoute:()=>Ue}),w1=AT.update({id:"/study-guide/exam-info",path:"/study-guide/exam-info",getParentRoute:()=>Ue}),R1=wT.update({id:"/study-guide/anti-patterns",path:"/study-guide/anti-patterns",getParentRoute:()=>Ue}),_1=_T.update({id:"/study-guide/$domainId",path:"/study-guide/$domainId",getParentRoute:()=>Ue}),T1=xT.update({id:"/scenarios/$scenarioId",path:"/scenarios/$scenarioId",getParentRoute:()=>Ue}),x1=DT.update({id:"/practice/$examId",path:"/practice/$examId",getParentRoute:()=>Ue}),P1=LT.update({id:"/flashcards/$deckId",path:"/flashcards/$deckId",getParentRoute:()=>Ue}),D1=NT.update({id:"/blog/$slug",path:"/blog/$slug",getParentRoute:()=>Ue}),O1=UT.update({id:"/users/$id/",path:"/users/$id/",getParentRoute:()=>ni}),L1=BT.update({id:"/blog/$id/",path:"/blog/$id/",getParentRoute:()=>ni}),I1=zT.update({id:"/courses/$courseId/",path:"/courses/$courseId/",getParentRoute:()=>Ue}),N1=VT.update({id:"/courses/$courseId/lessons/$lessonId",path:"/courses/$courseId/lessons/$lessonId",getParentRoute:()=>Ue}),M1={LangauthCellphoneRoute:u1,LangauthForgotPasswordRoute:c1,LangauthResetPasswordRoute:l1,LangauthSigninRoute:s1,LangauthSignupRoute:r1,LangauthWechatRoute:o1},U1=Tn._addFileChildren(M1),k1={LangrootAboutRoute:n1,LangrootAiRoute:i1,LangrootDashboardRoute:a1,LangrootFaqRoute:t1,LangrootImageGenerateRoute:e1,LangrootPaymentCancelRoute:JT,LangrootPaymentSuccessRoute:ZT,LangrootPremiumFeaturesRoute:WT,LangrootPricingRoute:XT,LangrootUploadRoute:$T,LangrootVideoGenerateRoute:KT,LangrootIndexRoute:QT,LangrootBlogSlugRoute:D1,LangrootFlas
47hcardsDeckIdRoute:P1,LangrootPracticeExamIdRoute:x1,LangrootScenariosScenarioIdRoute:T1,LangrootStudyGuideDomainIdRoute:_1,LangrootStudyGuideAntiPatternsRoute:R1,LangrootStudyGuideExamInfoRoute:w1,LangrootStudyGuideStudyPlanRoute:E1,LangrootBlogIndexRoute:A1,LangrootCoursesIndexRoute:S1,LangrootFlashcardsIndexRoute:C1,LangrootGlossaryIndexRoute:b1,LangrootPracticeIndexRoute:v1,LangrootScenariosIndexRoute:y1,LangrootStudyGuideIndexRoute:g1,LangrootCoursesCourseIdIndexRoute:I1,LangrootCoursesCourseIdLessonsLessonIdRoute:N1},B1=Ue._addFileChildren(k1),q1={LangAdminIndexRoute:YT,LangAdminBlogIndexRoute:h1,LangAdminCreditsIndexRoute:p1,LangAdminOrdersIndexRoute:m1,LangAdminSubscriptionsIndexRoute:f1,LangAdminUsersIndexRoute:d1,LangAdminBlogIdIndexRoute:L1,LangAdminUsersIdIndexRoute:O1},z1=ni._addFileChildren(q1),F1={LangauthRouteRoute:U1,LangrootRouteRoute:B1,LangAdminRoute:z1},V1=_l._addFileChildren(F1),H1={IndexRoute:GT,LangRoute:V1,PaymentCancelRoute:jT,PaymentSuccessRoute:HT},j1=kr._addFileChildren(H1);function G1(){return dw({routeTree:j1,scrollRestoration:!0})}async function Y1(){const i=await G1();let o;return o=[],window.__TSS_START_OPTIONS__={serializationAdapters:o},o.push(qw),i.options.serializationAdapters&&o.push(...i.options.serializationAdapters),i.update({basepath:"",serializationAdapters:o}),i.state.matches.length||await Ew(i),i}async function Q1(){const i=await Y1();return window.$_TSR?.h(),i}let id;function K1(){return id||(id=Q1()),X.jsx(OE,{promise:id,children:i=>X.jsx(pw,{router:i})})}ne.startTransition(()=>{hC.hydrateRoot(document,X.jsx(ne.StrictMode,{children:X.jsx(K1,{})}))});export{Lg as A,Rg as B,ix as C,rx as D,ox as E,nx as F,ia as G,X as H,Md as I,Mr as J,Dy as K,Oy as L,ne as M,lx as N,Ny as O,dd as P,Dd as Q,$ as R,xd as S,sx as T,ut as U,fR as V,de as _,cC as a,jE as b,u_ as c,U_ as d,lT as e,pT as f,gT as g,vT as h,CT as i,wT as j,_T as k,xT as l,LT as m,NT as n,UT as o,zT as p,rT as q,BT as r,VT as s,uT as t,DT as u,$1 as v,ot as w,Ur as x,Id as y,xr as z};

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.