@objectstack/account 5.1.0 → 5.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/en-BM3I2v7J.js +2 -0
- package/dist/assets/index-Bdj8EUtE.css +2 -0
- package/dist/assets/index-mLKtvFJI.js +118 -0
- package/dist/assets/zh-CN-f2PfHJHM.js +2 -0
- package/dist/index.html +50 -3
- package/package.json +5 -5
- package/dist/assets/en-CuO7DiqH.js +0 -2
- package/dist/assets/index-B9xsZR8o.css +0 -2
- package/dist/assets/index-CD2Yppqx.js +0 -118
- package/dist/assets/zh-CN-DhlJn7Oy.js +0 -2
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,a)=>(a=n==null?{}:e(i(n)),s(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n)),l=(e=>typeof require<`u`?require:typeof Proxy<`u`?new Proxy(e,{get:(e,t)=>(typeof require<`u`?require:e)[t]}):e)(function(e){if(typeof require<`u`)return require.apply(this,arguments);throw Error('Calling `require` for "'+e+"\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.")});(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var u=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,_={};function v(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=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,e,t,`setState`)},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function y(){}y.prototype=v.prototype;function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}var x=b.prototype=new y;x.constructor=b,g(x,v.prototype),x.isPureReactComponent=!0;var S=Array.isArray;function C(){}var w={H:null,A:null,T:null,S:null},T=Object.prototype.hasOwnProperty;function E(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function D(e,t){return E(e.type,t,e.props)}function O(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function ee(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var te=/\/+/g;function ne(e,t){return typeof e==`object`&&e&&e.key!=null?ee(``+e.key):t.toString(36)}function re(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(C,C):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function ie(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,ie(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+ne(e,0):a,S(o)?(i=``,c!=null&&(i=c.replace(te,`$&/`)+`/`),ie(o,r,i,``,function(e){return e})):o!=null&&(O(o)&&(o=D(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(te,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(S(e))for(var u=0;u<e.length;u++)a=e[u],s=l+ne(a,u),c+=ie(a,r,i,s,o);else if(u=m(e),typeof u==`function`)for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,s=l+ne(a,u++),c+=ie(a,r,i,s,o);else if(s===`object`){if(typeof e.then==`function`)return ie(re(e),r,i,a,o);throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`)}return c}function ae(e,t,n){if(e==null)return e;var r=[],i=0;return ie(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function oe(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var k=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&&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)},se={map:ae,forEach:function(e,t,n){ae(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return ae(e,function(){t++}),t},toArray:function(e){return ae(e,function(e){return e})||[]},only:function(e){if(!O(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}};e.Activity=f,e.Children=se,e.Component=v,e.Fragment=r,e.Profiler=a,e.PureComponent=b,e.StrictMode=i,e.Suspense=l,e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=w,e.__COMPILER_RUNTIME={__proto__:null,c:function(e){return w.H.useMemoCache(e)}},e.cache=function(e){return function(){return e.apply(null,arguments)}},e.cacheSignal=function(){return null},e.cloneElement=function(e,t,n){if(e==null)throw Error(`The argument must be a React element, but you passed `+e+`.`);var r=g({},e.props),i=e.key;if(t!=null)for(a in t.key!==void 0&&(i=``+t.key),t)!T.call(t,a)||a===`key`||a===`__self`||a===`__source`||a===`ref`&&t.ref===void 0||(r[a]=t[a]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var o=Array(a),s=0;s<a;s++)o[s]=arguments[s+2];r.children=o}return E(e.type,i,r)},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:o,_context:e},e},e.createElement=function(e,t,n){var r,i={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=``+t.key),t)T.call(t,r)&&r!==`key`&&r!==`__self`&&r!==`__source`&&(i[r]=t[r]);var o=arguments.length-2;if(o===1)i.children=n;else if(1<o){for(var s=Array(o),c=0;c<o;c++)s[c]=arguments[c+2];i.children=s}if(e&&e.defaultProps)for(r in o=e.defaultProps,o)i[r]===void 0&&(i[r]=o[r]);return E(e,a,i)},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=O,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:oe}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=w.T,n={};w.T=n;try{var r=e(),i=w.S;i!==null&&i(n,r),typeof r==`object`&&r&&typeof r.then==`function`&&r.then(C,k)}catch(e){k(e)}finally{t!==null&&n.types!==null&&(t.types=n.types),w.T=t}},e.unstable_useCacheRefresh=function(){return w.H.useCacheRefresh()},e.use=function(e){return w.H.use(e)},e.useActionState=function(e,t,n){return w.H.useActionState(e,t,n)},e.useCallback=function(e,t){return w.H.useCallback(e,t)},e.useContext=function(e){return w.H.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e,t){return w.H.useDeferredValue(e,t)},e.useEffect=function(e,t){return w.H.useEffect(e,t)},e.useEffectEvent=function(e){return w.H.useEffectEvent(e)},e.useId=function(){return w.H.useId()},e.useImperativeHandle=function(e,t,n){return w.H.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return w.H.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return w.H.useLayoutEffect(e,t)},e.useMemo=function(e,t){return w.H.useMemo(e,t)},e.useOptimistic=function(e,t){return w.H.useOptimistic(e,t)},e.useReducer=function(e,t,n){return w.H.useReducer(e,t,n)},e.useRef=function(e){return w.H.useRef(e)},e.useState=function(e){return w.H.useState(e)},e.useSyncExternalStore=function(e,t,n){return w.H.useSyncExternalStore(e,t,n)},e.useTransition=function(){return w.H.useTransition()},e.version=`19.2.6`})),d=o(((e,t)=>{t.exports=u()})),f=o((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m)if(n(c)!==null)m=!0,S||(S=!0,O());else{var t=n(l);t!==null&&ne(x,t.startTime-e)}}var S=!1,C=-1,w=5,T=-1;function E(){return g?!0:!(e.unstable_now()-T<w)}function D(){if(g=!1,S){var t=e.unstable_now();T=t;var i=!0;try{a:{m=!1,h&&(h=!1,v(C),C=-1),p=!0;var a=f;try{b:{for(b(t),d=n(c);d!==null&&!(d.expirationTime>t&&E());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&ne(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?O():S=!1}}}var O;if(typeof y==`function`)O=function(){y(D)};else if(typeof MessageChannel<`u`){var ee=new MessageChannel,te=ee.port2;ee.port1.onmessage=D,O=function(){te.postMessage(null)}}else O=function(){_(D,0)};function ne(t,n){C=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):w=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_requestPaint=function(){g=!0},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(C),C=-1):h=!0,ne(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,S||(S=!0,O()))),r},e.unstable_shouldYield=E,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),p=o(((e,t)=>{t.exports=f()})),m=o((e=>{var t=d();function n(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}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 r(){}var i={d:{f:r,r:function(){throw Error(n(522))},D:r,C:r,L:r,m:r,X:r,S:r,M:r},p:0,findDOMNode:null},a=Symbol.for(`react.portal`);function o(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:a,key:r==null?null:``+r,children:e,containerInfo:t,implementation:n}}var s=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function c(e,t){if(e===`font`)return``;if(typeof t==`string`)return t===`use-credentials`?t:``}e.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=i,e.createPortal=function(e,t){var r=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(n(299));return o(e,t,null,r)},e.flushSync=function(e){var t=s.T,n=i.p;try{if(s.T=null,i.p=2,e)return e()}finally{s.T=t,i.p=n,i.d.f()}},e.preconnect=function(e,t){typeof e==`string`&&(t?(t=t.crossOrigin,t=typeof t==`string`?t===`use-credentials`?t:``:void 0):t=null,i.d.C(e,t))},e.prefetchDNS=function(e){typeof e==`string`&&i.d.D(e)},e.preinit=function(e,t){if(typeof e==`string`&&t&&typeof t.as==`string`){var n=t.as,r=c(n,t.crossOrigin),a=typeof t.integrity==`string`?t.integrity:void 0,o=typeof t.fetchPriority==`string`?t.fetchPriority:void 0;n===`style`?i.d.S(e,typeof t.precedence==`string`?t.precedence:void 0,{crossOrigin:r,integrity:a,fetchPriority:o}):n===`script`&&i.d.X(e,{crossOrigin:r,integrity:a,fetchPriority:o,nonce:typeof t.nonce==`string`?t.nonce:void 0})}},e.preinitModule=function(e,t){if(typeof e==`string`)if(typeof t==`object`&&t){if(t.as==null||t.as===`script`){var n=c(t.as,t.crossOrigin);i.d.M(e,{crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0})}}else t??i.d.M(e)},e.preload=function(e,t){if(typeof e==`string`&&typeof t==`object`&&t&&typeof t.as==`string`){var n=t.as,r=c(n,t.crossOrigin);i.d.L(e,n,{crossOrigin:r,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0,type:typeof t.type==`string`?t.type:void 0,fetchPriority:typeof t.fetchPriority==`string`?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy==`string`?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet==`string`?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes==`string`?t.imageSizes:void 0,media:typeof t.media==`string`?t.media:void 0})}},e.preloadModule=function(e,t){if(typeof e==`string`)if(t){var n=c(t.as,t.crossOrigin);i.d.m(e,{as:typeof t.as==`string`&&t.as!==`script`?t.as:void 0,crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0})}else i.d.m(e)},e.requestFormReset=function(e){i.d.r(e)},e.unstable_batchedUpdates=function(e,t){return e(t)},e.useFormState=function(e,t,n){return s.H.useFormState(e,t,n)},e.useFormStatus=function(){return s.H.useHostTransitionStatus()},e.version=`19.2.6`})),h=o(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=m()})),g=o((e=>{var t=p(),n=d(),r=h();function i(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}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 a(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function o(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function s(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 c(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 l(e){if(o(e)!==e)throw Error(i(188))}function u(e){var t=e.alternate;if(!t){if(t=o(e),t===null)throw Error(i(188));return t===e?e:null}for(var n=e,r=t;;){var a=n.return;if(a===null)break;var s=a.alternate;if(s===null){if(r=a.return,r!==null){n=r;continue}break}if(a.child===s.child){for(s=a.child;s;){if(s===n)return l(a),e;if(s===r)return l(a),t;s=s.sibling}throw Error(i(188))}if(n.return!==r.return)n=a,r=s;else{for(var c=!1,u=a.child;u;){if(u===n){c=!0,n=a,r=s;break}if(u===r){c=!0,r=a,n=s;break}u=u.sibling}if(!c){for(u=s.child;u;){if(u===n){c=!0,n=s,r=a;break}if(u===r){c=!0,r=s,n=a;break}u=u.sibling}if(!c)throw Error(i(189))}}if(n.alternate!==r)throw Error(i(190))}if(n.tag!==3)throw Error(i(188));return n.stateNode.current===n?e:t}function f(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=f(e),t!==null)return t;e=e.sibling}return null}var m=Object.assign,g=Symbol.for(`react.element`),_=Symbol.for(`react.transitional.element`),v=Symbol.for(`react.portal`),y=Symbol.for(`react.fragment`),b=Symbol.for(`react.strict_mode`),x=Symbol.for(`react.profiler`),S=Symbol.for(`react.consumer`),C=Symbol.for(`react.context`),w=Symbol.for(`react.forward_ref`),T=Symbol.for(`react.suspense`),E=Symbol.for(`react.suspense_list`),D=Symbol.for(`react.memo`),O=Symbol.for(`react.lazy`),ee=Symbol.for(`react.activity`),te=Symbol.for(`react.memo_cache_sentinel`),ne=Symbol.iterator;function re(e){return typeof e!=`object`||!e?null:(e=ne&&e[ne]||e[`@@iterator`],typeof e==`function`?e:null)}var ie=Symbol.for(`react.client.reference`);function ae(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===ie?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case y:return`Fragment`;case x:return`Profiler`;case b:return`StrictMode`;case T:return`Suspense`;case E:return`SuspenseList`;case ee:return`Activity`}if(typeof e==`object`)switch(e.$$typeof){case v:return`Portal`;case C:return e.displayName||`Context`;case S:return(e._context.displayName||`Context`)+`.Consumer`;case w:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case D:return t=e.displayName||null,t===null?ae(e.type)||`Memo`:t;case O:t=e._payload,e=e._init;try{return ae(e(t))}catch{}}return null}var oe=Array.isArray,k=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,se=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ce={pending:!1,data:null,method:null,action:null},le=[],ue=-1;function A(e){return{current:e}}function de(e){0>ue||(e.current=le[ue],le[ue]=null,ue--)}function fe(e,t){ue++,le[ue]=e.current,e.current=t}var pe=A(null),me=A(null),he=A(null),ge=A(null);function _e(e,t){switch(fe(he,t),fe(me,e),fe(pe,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?tf(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=tf(t),e=nf(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}de(pe),fe(pe,e)}function ve(){de(pe),de(me),de(he)}function ye(e){e.memoizedState!==null&&fe(ge,e);var t=pe.current,n=nf(t,e.type);t!==n&&(fe(me,e),fe(pe,n))}function be(e){me.current===e&&(de(pe),de(me)),ge.current===e&&(de(ge),ap._currentValue=ce)}var xe,Se;function Ce(e){if(xe===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);xe=t&&t[1]||``,Se=-1<e.stack.indexOf(`
|
|
2
|
-
at`)?` (<anonymous>)`:-1<e.stack.indexOf(`@`)?`@unknown:0:0`:``}return`
|
|
3
|
-
`+xe+e+Se}var we=!1;function Te(e,t){if(!e||we)return``;we=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={DetermineComponentFrameRoot:function(){try{if(t){var n=function(){throw Error()};if(Object.defineProperty(n.prototype,"props",{set:function(){throw Error()}}),typeof Reflect==`object`&&Reflect.construct){try{Reflect.construct(n,[])}catch(e){var r=e}Reflect.construct(e,[],n)}else{try{n.call()}catch(e){r=e}e.call(n.prototype)}}else{try{throw Error()}catch(e){r=e}(n=e())&&typeof n.catch==`function`&&n.catch(function(){})}}catch(e){if(e&&r&&typeof e.stack==`string`)return[e.stack,r.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName=`DetermineComponentFrameRoot`;var i=Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,`name`);i&&i.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,"name",{value:`DetermineComponentFrameRoot`});var a=r.DetermineComponentFrameRoot(),o=a[0],s=a[1];if(o&&s){var c=o.split(`
|
|
4
|
-
`),l=s.split(`
|
|
5
|
-
`);for(i=r=0;r<c.length&&!c[r].includes(`DetermineComponentFrameRoot`);)r++;for(;i<l.length&&!l[i].includes(`DetermineComponentFrameRoot`);)i++;if(r===c.length||i===l.length)for(r=c.length-1,i=l.length-1;1<=r&&0<=i&&c[r]!==l[i];)i--;for(;1<=r&&0<=i;r--,i--)if(c[r]!==l[i]){if(r!==1||i!==1)do if(r--,i--,0>i||c[r]!==l[i]){var u=`
|
|
6
|
-
`+c[r].replace(` at new `,` at `);return e.displayName&&u.includes(`<anonymous>`)&&(u=u.replace(`<anonymous>`,e.displayName)),u}while(1<=r&&0<=i);break}}}finally{we=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:``)?Ce(n):``}function Ee(e,t){switch(e.tag){case 26:case 27:case 5:return Ce(e.type);case 16:return Ce(`Lazy`);case 13:return e.child!==t&&t!==null?Ce(`Suspense Fallback`):Ce(`Suspense`);case 19:return Ce(`SuspenseList`);case 0:case 15:return Te(e.type,!1);case 11:return Te(e.type.render,!1);case 1:return Te(e.type,!0);case 31:return Ce(`Activity`);default:return``}}function De(e){try{var t=``,n=null;do t+=Ee(e,n),n=e,e=e.return;while(e);return t}catch(e){return`
|
|
7
|
-
Error generating stack: `+e.message+`
|
|
8
|
-
`+e.stack}}var Oe=Object.prototype.hasOwnProperty,ke=t.unstable_scheduleCallback,Ae=t.unstable_cancelCallback,je=t.unstable_shouldYield,Me=t.unstable_requestPaint,Ne=t.unstable_now,Pe=t.unstable_getCurrentPriorityLevel,Fe=t.unstable_ImmediatePriority,Ie=t.unstable_UserBlockingPriority,Le=t.unstable_NormalPriority,Re=t.unstable_LowPriority,ze=t.unstable_IdlePriority,Be=t.log,Ve=t.unstable_setDisableYieldValue,He=null,Ue=null;function We(e){if(typeof Be==`function`&&Ve(e),Ue&&typeof Ue.setStrictMode==`function`)try{Ue.setStrictMode(He,e)}catch{}}var Ge=Math.clz32?Math.clz32:Je,Ke=Math.log,qe=Math.LN2;function Je(e){return e>>>=0,e===0?32:31-(Ke(e)/qe|0)|0}var Ye=256,Xe=262144,Ze=4194304;function Qe(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 $e(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var s=r&134217727;return s===0?(s=r&~a,s===0?o===0?n||(n=r&~e,n!==0&&(i=Qe(n))):i=Qe(o):i=Qe(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=Qe(n))):i=Qe(o)):i=Qe(r)),i===0?0:t!==0&&t!==i&&(t&a)===0&&(a=i&-i,n=t&-t,a>=n||a===32&&n&4194048)?t:i}function et(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function tt(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 j(){var e=Ze;return Ze<<=1,!(Ze&62914560)&&(Ze=4194304),e}function nt(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function rt(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function it(e,t,n,r,i,a){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var s=e.entanglements,c=e.expirationTimes,l=e.hiddenUpdates;for(n=o&~n;0<n;){var u=31-Ge(n),d=1<<u;s[u]=0,c[u]=-1;var f=l[u];if(f!==null)for(l[u]=null,u=0;u<f.length;u++){var p=f[u];p!==null&&(p.lane&=-536870913)}n&=~d}r!==0&&at(e,r,0),a!==0&&i===0&&e.tag!==0&&(e.suspendedLanes|=a&~(o&~t))}function at(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-Ge(t);e.entangledLanes|=t,e.entanglements[r]=e.entanglements[r]|1073741824|n&261930}function ot(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-Ge(n),i=1<<r;i&t|e[r]&t&&(e[r]|=t),n&=~i}}function st(e,t){var n=t&-t;return n=n&42?1:ct(n),(n&(e.suspendedLanes|t))===0?n:0}function ct(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 lt(e){return e&=-e,2<e?8<e?e&134217727?32:268435456:8:2}function ut(){var e=se.p;return e===0?(e=window.event,e===void 0?32:xp(e.type)):e}function dt(e,t){var n=se.p;try{return se.p=e,t()}finally{se.p=n}}var ft=Math.random().toString(36).slice(2),pt=`__reactFiber$`+ft,mt=`__reactProps$`+ft,ht=`__reactContainer$`+ft,gt=`__reactEvents$`+ft,_t=`__reactListeners$`+ft,vt=`__reactHandles$`+ft,yt=`__reactResources$`+ft,bt=`__reactMarker$`+ft;function xt(e){delete e[pt],delete e[mt],delete e[gt],delete e[_t],delete e[vt]}function St(e){var t=e[pt];if(t)return t;for(var n=e.parentNode;n;){if(t=n[ht]||n[pt]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=yf(e);e!==null;){if(n=e[pt])return n;e=yf(e)}return t}e=n,n=e.parentNode}return null}function Ct(e){if(e=e[pt]||e[ht]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function wt(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(i(33))}function Tt(e){var t=e[yt];return t||=e[yt]={hoistableStyles:new Map,hoistableScripts:new Map},t}function Et(e){e[bt]=!0}var Dt=new Set,Ot={};function kt(e,t){At(e,t),At(e+`Capture`,t)}function At(e,t){for(Ot[e]=t,e=0;e<t.length;e++)Dt.add(t[e])}var jt=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]*$`),Mt={},Nt={};function Pt(e){return Oe.call(Nt,e)?!0:Oe.call(Mt,e)?!1:jt.test(e)?Nt[e]=!0:(Mt[e]=!0,!1)}function Ft(e,t,n){if(Pt(t))if(n===null)e.removeAttribute(t);else{switch(typeof n){case`undefined`:case`function`:case`symbol`:e.removeAttribute(t);return;case`boolean`:var r=t.toLowerCase().slice(0,5);if(r!==`data-`&&r!==`aria-`){e.removeAttribute(t);return}}e.setAttribute(t,``+n)}}function It(e,t,n){if(n===null)e.removeAttribute(t);else{switch(typeof n){case`undefined`:case`function`:case`symbol`:case`boolean`:e.removeAttribute(t);return}e.setAttribute(t,``+n)}}function Lt(e,t,n,r){if(r===null)e.removeAttribute(n);else{switch(typeof r){case`undefined`:case`function`:case`symbol`:case`boolean`:e.removeAttribute(n);return}e.setAttributeNS(t,n,``+r)}}function Rt(e){switch(typeof e){case`bigint`:case`boolean`:case`number`:case`string`:case`undefined`:return e;case`object`:return e;default:return``}}function zt(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()===`input`&&(t===`checkbox`||t===`radio`)}function Bt(e,t,n){var r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&r!==void 0&&typeof r.get==`function`&&typeof r.set==`function`){var i=r.get,a=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(e){n=``+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(e){n=``+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Vt(e){if(!e._valueTracker){var t=zt(e)?`checked`:`value`;e._valueTracker=Bt(e,t,``+e[t])}}function Ht(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r=``;return e&&(r=zt(e)?e.checked?`true`:`false`:e.value),e=r,e===n?!1:(t.setValue(e),!0)}function Ut(e){if(e||=typeof document<`u`?document:void 0,e===void 0)return null;try{return e.activeElement||e.body}catch{return e.body}}var Wt=/[\n"\\]/g;function Gt(e){return e.replace(Wt,function(e){return`\\`+e.charCodeAt(0).toString(16)+` `})}function Kt(e,t,n,r,i,a,o,s){e.name=``,o!=null&&typeof o!=`function`&&typeof o!=`symbol`&&typeof o!=`boolean`?e.type=o:e.removeAttribute(`type`),t==null?o!==`submit`&&o!==`reset`||e.removeAttribute(`value`):o===`number`?(t===0&&e.value===``||e.value!=t)&&(e.value=``+Rt(t)):e.value!==``+Rt(t)&&(e.value=``+Rt(t)),t==null?n==null?r!=null&&e.removeAttribute(`value`):Jt(e,o,Rt(n)):Jt(e,o,Rt(t)),i==null&&a!=null&&(e.defaultChecked=!!a),i!=null&&(e.checked=i&&typeof i!=`function`&&typeof i!=`symbol`),s!=null&&typeof s!=`function`&&typeof s!=`symbol`&&typeof s!=`boolean`?e.name=``+Rt(s):e.removeAttribute(`name`)}function qt(e,t,n,r,i,a,o,s){if(a!=null&&typeof a!=`function`&&typeof a!=`symbol`&&typeof a!=`boolean`&&(e.type=a),t!=null||n!=null){if(!(a!==`submit`&&a!==`reset`||t!=null)){Vt(e);return}n=n==null?``:``+Rt(n),t=t==null?n:``+Rt(t),s||t===e.value||(e.value=t),e.defaultValue=t}r??=i,r=typeof r!=`function`&&typeof r!=`symbol`&&!!r,e.checked=s?e.checked:!!r,e.defaultChecked=!!r,o!=null&&typeof o!=`function`&&typeof o!=`symbol`&&typeof o!=`boolean`&&(e.name=o),Vt(e)}function Jt(e,t,n){t===`number`&&Ut(e.ownerDocument)===e||e.defaultValue===``+n||(e.defaultValue=``+n)}function Yt(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i<n.length;i++)t[`$`+n[i]]=!0;for(n=0;n<e.length;n++)i=t.hasOwnProperty(`$`+e[n].value),e[n].selected!==i&&(e[n].selected=i),i&&r&&(e[n].defaultSelected=!0)}else{for(n=``+Rt(n),t=null,i=0;i<e.length;i++){if(e[i].value===n){e[i].selected=!0,r&&(e[i].defaultSelected=!0);return}t!==null||e[i].disabled||(t=e[i])}t!==null&&(t.selected=!0)}}function Xt(e,t,n){if(t!=null&&(t=``+Rt(t),t!==e.value&&(e.value=t),n==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=n==null?``:``+Rt(n)}function Zt(e,t,n,r){if(t==null){if(r!=null){if(n!=null)throw Error(i(92));if(oe(r)){if(1<r.length)throw Error(i(93));r=r[0]}n=r}n??=``,t=n}n=Rt(t),e.defaultValue=n,r=e.textContent,r===n&&r!==``&&r!==null&&(e.value=r),Vt(e)}function Qt(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var $t=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 en(e,t,n){var r=t.indexOf(`--`)===0;n==null||typeof n==`boolean`||n===``?r?e.setProperty(t,``):t===`float`?e.cssFloat=``:e[t]=``:r?e.setProperty(t,n):typeof n!=`number`||n===0||$t.has(t)?t===`float`?e.cssFloat=n:e[t]=(``+n).trim():e[t]=n+`px`}function tn(e,t,n){if(t!=null&&typeof t!=`object`)throw Error(i(62));if(e=e.style,n!=null){for(var r in n)!n.hasOwnProperty(r)||t!=null&&t.hasOwnProperty(r)||(r.indexOf(`--`)===0?e.setProperty(r,``):r===`float`?e.cssFloat=``:e[r]=``);for(var a in t)r=t[a],t.hasOwnProperty(a)&&n[a]!==r&&en(e,a,r)}else for(var o in t)t.hasOwnProperty(o)&&en(e,o,t[o])}function nn(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 rn=new Map([[`acceptCharset`,`accept-charset`],[`htmlFor`,`for`],[`httpEquiv`,`http-equiv`],[`crossOrigin`,`crossorigin`],[`accentHeight`,`accent-height`],[`alignmentBaseline`,`alignment-baseline`],[`arabicForm`,`arabic-form`],[`baselineShift`,`baseline-shift`],[`capHeight`,`cap-height`],[`clipPath`,`clip-path`],[`clipRule`,`clip-rule`],[`colorInterpolation`,`color-interpolation`],[`colorInterpolationFilters`,`color-interpolation-filters`],[`colorProfile`,`color-profile`],[`colorRendering`,`color-rendering`],[`dominantBaseline`,`dominant-baseline`],[`enableBackground`,`enable-background`],[`fillOpacity`,`fill-opacity`],[`fillRule`,`fill-rule`],[`floodColor`,`flood-color`],[`floodOpacity`,`flood-opacity`],[`fontFamily`,`font-family`],[`fontSize`,`font-size`],[`fontSizeAdjust`,`font-size-adjust`],[`fontStretch`,`font-stretch`],[`fontStyle`,`font-style`],[`fontVariant`,`font-variant`],[`fontWeight`,`font-weight`],[`glyphName`,`glyph-name`],[`glyphOrientationHorizontal`,`glyph-orientation-horizontal`],[`glyphOrientationVertical`,`glyph-orientation-vertical`],[`horizAdvX`,`horiz-adv-x`],[`horizOriginX`,`horiz-origin-x`],[`imageRendering`,`image-rendering`],[`letterSpacing`,`letter-spacing`],[`lightingColor`,`lighting-color`],[`markerEnd`,`marker-end`],[`markerMid`,`marker-mid`],[`markerStart`,`marker-start`],[`overlinePosition`,`overline-position`],[`overlineThickness`,`overline-thickness`],[`paintOrder`,`paint-order`],[`panose-1`,`panose-1`],[`pointerEvents`,`pointer-events`],[`renderingIntent`,`rendering-intent`],[`shapeRendering`,`shape-rendering`],[`stopColor`,`stop-color`],[`stopOpacity`,`stop-opacity`],[`strikethroughPosition`,`strikethrough-position`],[`strikethroughThickness`,`strikethrough-thickness`],[`strokeDasharray`,`stroke-dasharray`],[`strokeDashoffset`,`stroke-dashoffset`],[`strokeLinecap`,`stroke-linecap`],[`strokeLinejoin`,`stroke-linejoin`],[`strokeMiterlimit`,`stroke-miterlimit`],[`strokeOpacity`,`stroke-opacity`],[`strokeWidth`,`stroke-width`],[`textAnchor`,`text-anchor`],[`textDecoration`,`text-decoration`],[`textRendering`,`text-rendering`],[`transformOrigin`,`transform-origin`],[`underlinePosition`,`underline-position`],[`underlineThickness`,`underline-thickness`],[`unicodeBidi`,`unicode-bidi`],[`unicodeRange`,`unicode-range`],[`unitsPerEm`,`units-per-em`],[`vAlphabetic`,`v-alphabetic`],[`vHanging`,`v-hanging`],[`vIdeographic`,`v-ideographic`],[`vMathematical`,`v-mathematical`],[`vectorEffect`,`vector-effect`],[`vertAdvY`,`vert-adv-y`],[`vertOriginX`,`vert-origin-x`],[`vertOriginY`,`vert-origin-y`],[`wordSpacing`,`word-spacing`],[`writingMode`,`writing-mode`],[`xmlnsXlink`,`xmlns:xlink`],[`xHeight`,`x-height`]]),an=/^[\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 on(e){return an.test(``+e)?`javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')`:e}function sn(){}var cn=null;function ln(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var un=null,dn=null;function fn(e){var t=Ct(e);if(t&&(e=t.stateNode)){var n=e[mt]||null;a:switch(e=t.stateNode,t.type){case`input`:if(Kt(e,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),t=n.name,n.type===`radio`&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll(`input[name="`+Gt(``+t)+`"][type="radio"]`),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var a=r[mt]||null;if(!a)throw Error(i(90));Kt(r,a.value,a.defaultValue,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name)}}for(t=0;t<n.length;t++)r=n[t],r.form===e.form&&Ht(r)}break a;case`textarea`:Xt(e,n.value,n.defaultValue);break a;case`select`:t=n.value,t!=null&&Yt(e,!!n.multiple,t,!1)}}}var pn=!1;function mn(e,t,n){if(pn)return e(t,n);pn=!0;try{return e(t)}finally{if(pn=!1,(un!==null||dn!==null)&&(Fu(),un&&(t=un,e=dn,dn=un=null,fn(t),e)))for(t=0;t<e.length;t++)fn(e[t])}}function hn(e,t){var n=e.stateNode;if(n===null)return null;var r=n[mt]||null;if(r===null)return null;n=r[t];a:switch(t){case`onClick`:case`onClickCapture`:case`onDoubleClick`:case`onDoubleClickCapture`:case`onMouseDown`:case`onMouseDownCapture`:case`onMouseMove`:case`onMouseMoveCapture`:case`onMouseUp`:case`onMouseUpCapture`:case`onMouseEnter`:(r=!r.disabled)||(e=e.type,r=!(e===`button`||e===`input`||e===`select`||e===`textarea`)),e=!r;break a;default:e=!1}if(e)return null;if(n&&typeof n!=`function`)throw Error(i(231,t,typeof n));return n}var gn=!(typeof window>`u`||window.document===void 0||window.document.createElement===void 0),_n=!1;if(gn)try{var vn={};Object.defineProperty(vn,"passive",{get:function(){_n=!0}}),window.addEventListener(`test`,vn,vn),window.removeEventListener(`test`,vn,vn)}catch{_n=!1}var yn=null,bn=null,xn=null;function Sn(){if(xn)return xn;var e,t=bn,n=t.length,r,i=`value`in yn?yn.value:yn.textContent,a=i.length;for(e=0;e<n&&t[e]===i[e];e++);var o=n-e;for(r=1;r<=o&&t[n-r]===i[a-r];r++);return xn=i.slice(e,1<r?1-r:void 0)}function Cn(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 wn(){return!0}function Tn(){return!1}function En(e){function t(t,n,r,i,a){for(var o in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=i,this.target=a,this.currentTarget=null,e)e.hasOwnProperty(o)&&(t=e[o],this[o]=t?t(i):i[o]);return this.isDefaultPrevented=(i.defaultPrevented==null?!1===i.returnValue:i.defaultPrevented)?wn:Tn,this.isPropagationStopped=Tn,this}return m(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():typeof e.returnValue!=`unknown`&&(e.returnValue=!1),this.isDefaultPrevented=wn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():typeof e.cancelBubble!=`unknown`&&(e.cancelBubble=!0),this.isPropagationStopped=wn)},persist:function(){},isPersistent:wn}),t}var Dn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},On=En(Dn),kn=m({},Dn,{view:0,detail:0}),An=En(kn),jn,Mn,Nn,Pn=m({},kn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Gn,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!==Nn&&(Nn&&e.type===`mousemove`?(jn=e.screenX-Nn.screenX,Mn=e.screenY-Nn.screenY):Mn=jn=0,Nn=e),jn)},movementY:function(e){return`movementY`in e?e.movementY:Mn}}),Fn=En(Pn),In=En(m({},Pn,{dataTransfer:0})),Ln=En(m({},kn,{relatedTarget:0})),Rn=En(m({},Dn,{animationName:0,elapsedTime:0,pseudoElement:0})),zn=En(m({},Dn,{clipboardData:function(e){return`clipboardData`in e?e.clipboardData:window.clipboardData}})),Bn=En(m({},Dn,{data:0})),Vn={Esc:`Escape`,Spacebar:` `,Left:`ArrowLeft`,Up:`ArrowUp`,Right:`ArrowRight`,Down:`ArrowDown`,Del:`Delete`,Win:`OS`,Menu:`ContextMenu`,Apps:`ContextMenu`,Scroll:`ScrollLock`,MozPrintableKey:`Unidentified`},Hn={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`},Un={Alt:`altKey`,Control:`ctrlKey`,Meta:`metaKey`,Shift:`shiftKey`};function Wn(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=Un[e])?!!t[e]:!1}function Gn(){return Wn}var Kn=En(m({},kn,{key:function(e){if(e.key){var t=Vn[e.key]||e.key;if(t!==`Unidentified`)return t}return e.type===`keypress`?(e=Cn(e),e===13?`Enter`:String.fromCharCode(e)):e.type===`keydown`||e.type===`keyup`?Hn[e.keyCode]||`Unidentified`:``},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Gn,charCode:function(e){return e.type===`keypress`?Cn(e):0},keyCode:function(e){return e.type===`keydown`||e.type===`keyup`?e.keyCode:0},which:function(e){return e.type===`keypress`?Cn(e):e.type===`keydown`||e.type===`keyup`?e.keyCode:0}})),qn=En(m({},Pn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),Jn=En(m({},kn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Gn})),Yn=En(m({},Dn,{propertyName:0,elapsedTime:0,pseudoElement:0})),Xn=En(m({},Pn,{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})),Zn=En(m({},Dn,{newState:0,oldState:0})),Qn=[9,13,27,32],$n=gn&&`CompositionEvent`in window,er=null;gn&&`documentMode`in document&&(er=document.documentMode);var tr=gn&&`TextEvent`in window&&!er,nr=gn&&(!$n||er&&8<er&&11>=er),rr=` `,ir=!1;function ar(e,t){switch(e){case`keyup`:return Qn.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function or(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var sr=!1;function cr(e,t){switch(e){case`compositionend`:return or(t);case`keypress`:return t.which===32?(ir=!0,rr):null;case`textInput`:return e=t.data,e===rr&&ir?null:e;default:return null}}function lr(e,t){if(sr)return e===`compositionend`||!$n&&ar(e,t)?(e=Sn(),xn=bn=yn=null,sr=!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 nr&&t.locale!==`ko`?null:t.data;default:return null}}var ur={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 dr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t===`input`?!!ur[e.type]:t===`textarea`}function fr(e,t,n,r){un?dn?dn.push(r):dn=[r]:un=r,t=Hd(t,`onChange`),0<t.length&&(n=new On(`onChange`,`change`,null,n,r),e.push({event:n,listeners:t}))}var pr=null,mr=null;function hr(e){Pd(e,0)}function gr(e){if(Ht(wt(e)))return e}function _r(e,t){if(e===`change`)return t}var vr=!1;if(gn){var yr;if(gn){var br=`oninput`in document;if(!br){var xr=document.createElement(`div`);xr.setAttribute(`oninput`,`return;`),br=typeof xr.oninput==`function`}yr=br}else yr=!1;vr=yr&&(!document.documentMode||9<document.documentMode)}function Sr(){pr&&(pr.detachEvent(`onpropertychange`,Cr),mr=pr=null)}function Cr(e){if(e.propertyName===`value`&&gr(mr)){var t=[];fr(t,mr,e,ln(e)),mn(hr,t)}}function wr(e,t,n){e===`focusin`?(Sr(),pr=t,mr=n,pr.attachEvent(`onpropertychange`,Cr)):e===`focusout`&&Sr()}function Tr(e){if(e===`selectionchange`||e===`keyup`||e===`keydown`)return gr(mr)}function Er(e,t){if(e===`click`)return gr(t)}function Dr(e,t){if(e===`input`||e===`change`)return gr(t)}function Or(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var kr=typeof Object.is==`function`?Object.is:Or;function Ar(e,t){if(kr(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var i=n[r];if(!Oe.call(t,i)||!kr(e[i],t[i]))return!1}return!0}function jr(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Mr(e,t){var n=jr(e);e=0;for(var r;n;){if(n.nodeType===3){if(r=e+n.textContent.length,e<=t&&r>=t)return{node:n,offset:t-e};e=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=jr(n)}}function Nr(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Nr(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Pr(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Ut(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=Ut(e.document)}return t}function Fr(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 Ir=gn&&`documentMode`in document&&11>=document.documentMode,Lr=null,Rr=null,zr=null,Br=!1;function Vr(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Br||Lr==null||Lr!==Ut(r)||(r=Lr,`selectionStart`in r&&Fr(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),zr&&Ar(zr,r)||(zr=r,r=Hd(Rr,`onSelect`),0<r.length&&(t=new On(`onSelect`,`select`,null,t,n),e.push({event:t,listeners:r}),t.target=Lr)))}function Hr(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n[`Webkit`+e]=`webkit`+t,n[`Moz`+e]=`moz`+t,n}var Ur={animationend:Hr(`Animation`,`AnimationEnd`),animationiteration:Hr(`Animation`,`AnimationIteration`),animationstart:Hr(`Animation`,`AnimationStart`),transitionrun:Hr(`Transition`,`TransitionRun`),transitionstart:Hr(`Transition`,`TransitionStart`),transitioncancel:Hr(`Transition`,`TransitionCancel`),transitionend:Hr(`Transition`,`TransitionEnd`)},Wr={},Gr={};gn&&(Gr=document.createElement(`div`).style,`AnimationEvent`in window||(delete Ur.animationend.animation,delete Ur.animationiteration.animation,delete Ur.animationstart.animation),`TransitionEvent`in window||delete Ur.transitionend.transition);function Kr(e){if(Wr[e])return Wr[e];if(!Ur[e])return e;var t=Ur[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in Gr)return Wr[e]=t[n];return e}var qr=Kr(`animationend`),Jr=Kr(`animationiteration`),Yr=Kr(`animationstart`),Xr=Kr(`transitionrun`),Zr=Kr(`transitionstart`),Qr=Kr(`transitioncancel`),$r=Kr(`transitionend`),ei=new Map,ti=`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(` `);ti.push(`scrollEnd`);function M(e,t){ei.set(e,t),kt(t,[e])}var ni=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&&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)},ri=[],ii=0,ai=0;function oi(){for(var e=ii,t=ai=ii=0;t<e;){var n=ri[t];ri[t++]=null;var r=ri[t];ri[t++]=null;var i=ri[t];ri[t++]=null;var a=ri[t];if(ri[t++]=null,r!==null&&i!==null){var o=r.pending;o===null?i.next=i:(i.next=o.next,o.next=i),r.pending=i}a!==0&&ui(n,i,a)}}function si(e,t,n,r){ri[ii++]=e,ri[ii++]=t,ri[ii++]=n,ri[ii++]=r,ai|=r,e.lanes|=r,e=e.alternate,e!==null&&(e.lanes|=r)}function ci(e,t,n,r){return si(e,t,n,r),di(e)}function li(e,t){return si(e,null,null,t),di(e)}function ui(e,t,n){e.lanes|=n;var r=e.alternate;r!==null&&(r.lanes|=n);for(var i=!1,a=e.return;a!==null;)a.childLanes|=n,r=a.alternate,r!==null&&(r.childLanes|=n),a.tag===22&&(e=a.stateNode,e===null||e._visibility&1||(i=!0)),e=a,a=a.return;return e.tag===3?(a=e.stateNode,i&&t!==null&&(i=31-Ge(n),e=a.hiddenUpdates,r=e[i],r===null?e[i]=[t]:r.push(t),t.lane=n|536870912),a):null}function di(e){if(50<Eu)throw Eu=0,Du=null,Error(i(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var fi={};function pi(e,t,n,r){this.tag=e,this.key=n,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=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function mi(e,t,n,r){return new pi(e,t,n,r)}function hi(e){return e=e.prototype,!(!e||!e.isReactComponent)}function gi(e,t){var n=e.alternate;return n===null?(n=mi(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&65011712,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.refCleanup=e.refCleanup,n}function _i(e,t){e.flags&=65011714;var n=e.alternate;return n===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=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type,t=n.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function vi(e,t,n,r,a,o){var s=0;if(r=e,typeof e==`function`)hi(e)&&(s=1);else if(typeof e==`string`)s=Xf(e,n,pe.current)?26:e===`html`||e===`head`||e===`body`?27:5;else a:switch(e){case ee:return e=mi(31,n,t,a),e.elementType=ee,e.lanes=o,e;case y:return yi(n.children,a,o,t);case b:s=8,a|=24;break;case x:return e=mi(12,n,t,a|2),e.elementType=x,e.lanes=o,e;case T:return e=mi(13,n,t,a),e.elementType=T,e.lanes=o,e;case E:return e=mi(19,n,t,a),e.elementType=E,e.lanes=o,e;default:if(typeof e==`object`&&e)switch(e.$$typeof){case C:s=10;break a;case S:s=9;break a;case w:s=11;break a;case D:s=14;break a;case O:s=16,r=null;break a}s=29,n=Error(i(130,e===null?`null`:typeof e,``)),r=null}return t=mi(s,n,t,a),t.elementType=e,t.type=r,t.lanes=o,t}function yi(e,t,n,r){return e=mi(7,e,r,t),e.lanes=n,e}function bi(e,t,n){return e=mi(6,e,null,t),e.lanes=n,e}function xi(e){var t=mi(18,null,null,0);return t.stateNode=e,t}function Si(e,t,n){return t=mi(4,e.children===null?[]:e.children,e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var Ci=new WeakMap;function wi(e,t){if(typeof e==`object`&&e){var n=Ci.get(e);return n===void 0?(t={value:e,source:t,stack:De(t)},Ci.set(e,t),t):n}return{value:e,source:t,stack:De(t)}}var Ti=[],Ei=0,Di=null,Oi=0,ki=[],Ai=0,ji=null,Mi=1,Ni=``;function Pi(e,t){Ti[Ei++]=Oi,Ti[Ei++]=Di,Di=e,Oi=t}function Fi(e,t,n){ki[Ai++]=Mi,ki[Ai++]=Ni,ki[Ai++]=ji,ji=e;var r=Mi;e=Ni;var i=32-Ge(r)-1;r&=~(1<<i),n+=1;var a=32-Ge(t)+i;if(30<a){var o=i-i%5;a=(r&(1<<o)-1).toString(32),r>>=o,i-=o,Mi=1<<32-Ge(t)+i|n<<i|r,Ni=a+e}else Mi=1<<a|n<<i|r,Ni=e}function Ii(e){e.return!==null&&(Pi(e,1),Fi(e,1,0))}function Li(e){for(;e===Di;)Di=Ti[--Ei],Ti[Ei]=null,Oi=Ti[--Ei],Ti[Ei]=null;for(;e===ji;)ji=ki[--Ai],ki[Ai]=null,Ni=ki[--Ai],ki[Ai]=null,Mi=ki[--Ai],ki[Ai]=null}function Ri(e,t){ki[Ai++]=Mi,ki[Ai++]=Ni,ki[Ai++]=ji,Mi=t.id,Ni=t.overflow,ji=e}var zi=null,Bi=null,N=!1,Vi=null,Hi=!1,Ui=Error(i(519));function Wi(e){throw Xi(wi(Error(i(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?`text`:`HTML`,``)),e)),Ui}function Gi(e){var t=e.stateNode,n=e.type,r=e.memoizedProps;switch(t[pt]=e,t[mt]=r,n){case`dialog`:Fd(`cancel`,t),Fd(`close`,t);break;case`iframe`:case`object`:case`embed`:Fd(`load`,t);break;case`video`:case`audio`:for(n=0;n<Md.length;n++)Fd(Md[n],t);break;case`source`:Fd(`error`,t);break;case`img`:case`image`:case`link`:Fd(`error`,t),Fd(`load`,t);break;case`details`:Fd(`toggle`,t);break;case`input`:Fd(`invalid`,t),qt(t,r.value,r.defaultValue,r.checked,r.defaultChecked,r.type,r.name,!0);break;case`select`:Fd(`invalid`,t);break;case`textarea`:Fd(`invalid`,t),Zt(t,r.value,r.defaultValue,r.children)}n=r.children,typeof n!=`string`&&typeof n!=`number`&&typeof n!=`bigint`||t.textContent===``+n||!0===r.suppressHydrationWarning||Kd(t.textContent,n)?(r.popover!=null&&(Fd(`beforetoggle`,t),Fd(`toggle`,t)),r.onScroll!=null&&Fd(`scroll`,t),r.onScrollEnd!=null&&Fd(`scrollend`,t),r.onClick!=null&&(t.onclick=sn),t=!0):t=!1,t||Wi(e,!0)}function Ki(e){for(zi=e.return;zi;)switch(zi.tag){case 5:case 31:case 13:Hi=!1;return;case 27:case 3:Hi=!0;return;default:zi=zi.return}}function qi(e){if(e!==zi)return!1;if(!N)return Ki(e),N=!0,!1;var t=e.tag,n;if((n=t!==3&&t!==27)&&((n=t===5)&&(n=e.type,n=!(n!==`form`&&n!==`button`)||rf(e.type,e.memoizedProps)),n=!n),n&&Bi&&Wi(e),Ki(e),t===13){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(i(317));Bi=vf(e)}else if(t===31){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(i(317));Bi=vf(e)}else t===27?(t=Bi,lf(e.type)?(e=_f,_f=null,Bi=e):Bi=t):Bi=zi?gf(e.stateNode.nextSibling):null;return!0}function Ji(){Bi=zi=null,N=!1}function Yi(){var e=Vi;return e!==null&&(fu===null?fu=e:fu.push.apply(fu,e),Vi=null),e}function Xi(e){Vi===null?Vi=[e]:Vi.push(e)}var Zi=A(null),Qi=null,$i=null;function ea(e,t,n){fe(Zi,t._currentValue),t._currentValue=n}function ta(e){e._currentValue=Zi.current,de(Zi)}function na(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)===t?r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t):(e.childLanes|=t,r!==null&&(r.childLanes|=t)),e===n)break;e=e.return}}function ra(e,t,n,r){var a=e.child;for(a!==null&&(a.return=e);a!==null;){var o=a.dependencies;if(o!==null){var s=a.child;o=o.firstContext;a:for(;o!==null;){var c=o;o=a;for(var l=0;l<t.length;l++)if(c.context===t[l]){o.lanes|=n,c=o.alternate,c!==null&&(c.lanes|=n),na(o.return,n,e),r||(s=null);break a}o=c.next}}else if(a.tag===18){if(s=a.return,s===null)throw Error(i(341));s.lanes|=n,o=s.alternate,o!==null&&(o.lanes|=n),na(s,n,e),s=null}else s=a.child;if(s!==null)s.return=a;else for(s=a;s!==null;){if(s===e){s=null;break}if(a=s.sibling,a!==null){a.return=s.return,s=a;break}s=s.return}a=s}}function ia(e,t,n,r){e=null;for(var a=t,o=!1;a!==null;){if(!o){if(a.flags&524288)o=!0;else if(a.flags&262144)break}if(a.tag===10){var s=a.alternate;if(s===null)throw Error(i(387));if(s=s.memoizedProps,s!==null){var c=a.type;kr(a.pendingProps.value,s.value)||(e===null?e=[c]:e.push(c))}}else if(a===ge.current){if(s=a.alternate,s===null)throw Error(i(387));s.memoizedState.memoizedState!==a.memoizedState.memoizedState&&(e===null?e=[ap]:e.push(ap))}a=a.return}e!==null&&ra(t,e,n,r),t.flags|=262144}function aa(e){for(e=e.firstContext;e!==null;){if(!kr(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function oa(e){Qi=e,$i=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function sa(e){return la(Qi,e)}function ca(e,t){return Qi===null&&oa(e),la(e,t)}function la(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},$i===null){if(e===null)throw Error(i(308));$i=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else $i=$i.next=t;return n}var ua=typeof AbortController<`u`?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(t,n){e.push(n)}};this.abort=function(){t.aborted=!0,e.forEach(function(e){return e()})}},da=t.unstable_scheduleCallback,fa=t.unstable_NormalPriority,pa={$$typeof:C,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function ma(){return{controller:new ua,data:new Map,refCount:0}}function ha(e){e.refCount--,e.refCount===0&&da(fa,function(){e.controller.abort()})}var ga=null,_a=0,va=0,ya=null;function ba(e,t){if(ga===null){var n=ga=[];_a=0,va=Ed(),ya={status:`pending`,value:void 0,then:function(e){n.push(e)}}}return _a++,t.then(xa,xa),t}function xa(){if(--_a===0&&ga!==null){ya!==null&&(ya.status=`fulfilled`);var e=ga;ga=null,va=0,ya=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function Sa(e,t){var n=[],r={status:`pending`,value:null,reason:null,then:function(e){n.push(e)}};return e.then(function(){r.status=`fulfilled`,r.value=t;for(var e=0;e<n.length;e++)(0,n[e])(t)},function(e){for(r.status=`rejected`,r.reason=e,e=0;e<n.length;e++)(0,n[e])(void 0)}),r}var Ca=k.S;k.S=function(e,t){hu=Ne(),typeof t==`object`&&t&&typeof t.then==`function`&&ba(e,t),Ca!==null&&Ca(e,t)};var wa=A(null);function Ta(){var e=wa.current;return e===null?Xl.pooledCache:e}function Ea(e,t){t===null?fe(wa,wa.current):fe(wa,t.pool)}function Da(){var e=Ta();return e===null?null:{parent:pa._currentValue,pool:e}}var P=Error(i(460)),Oa=Error(i(474)),ka=Error(i(542)),Aa={then:function(){}};function ja(e){return e=e.status,e===`fulfilled`||e===`rejected`}function Ma(e,t,n){switch(n=e[n],n===void 0?e.push(t):n!==t&&(t.then(sn,sn),t=n),t.status){case`fulfilled`:return t.value;case`rejected`:throw e=t.reason,Ia(e),e;default:if(typeof t.status==`string`)t.then(sn,sn);else{if(e=Xl,e!==null&&100<e.shellSuspendCounter)throw Error(i(482));e=t,e.status=`pending`,e.then(function(e){if(t.status===`pending`){var n=t;n.status=`fulfilled`,n.value=e}},function(e){if(t.status===`pending`){var n=t;n.status=`rejected`,n.reason=e}})}switch(t.status){case`fulfilled`:return t.value;case`rejected`:throw e=t.reason,Ia(e),e}throw Pa=t,P}}function Na(e){try{var t=e._init;return t(e._payload)}catch(e){throw typeof e==`object`&&e&&typeof e.then==`function`?(Pa=e,P):e}}var Pa=null;function Fa(){if(Pa===null)throw Error(i(459));var e=Pa;return Pa=null,e}function Ia(e){if(e===P||e===ka)throw Error(i(483))}var La=null,Ra=0;function za(e){var t=Ra;return Ra+=1,La===null&&(La=[]),Ma(La,e,t)}function Ba(e,t){t=t.props.ref,e.ref=t===void 0?null:t}function Va(e,t){throw t.$$typeof===g?Error(i(525)):(e=Object.prototype.toString.call(t),Error(i(31,e===`[object Object]`?`object with keys {`+Object.keys(t).join(`, `)+`}`:e)))}function Ha(e){function t(t,n){if(e){var r=t.deletions;r===null?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;r!==null;)t(n,r),r=r.sibling;return null}function r(e){for(var t=new Map;e!==null;)e.key===null?t.set(e.index,e):t.set(e.key,e),e=e.sibling;return t}function a(e,t){return e=gi(e,t),e.index=0,e.sibling=null,e}function o(t,n,r){return t.index=r,e?(r=t.alternate,r===null?(t.flags|=67108866,n):(r=r.index,r<n?(t.flags|=67108866,n):r)):(t.flags|=1048576,n)}function s(t){return e&&t.alternate===null&&(t.flags|=67108866),t}function c(e,t,n,r){return t===null||t.tag!==6?(t=bi(n,e.mode,r),t.return=e,t):(t=a(t,n),t.return=e,t)}function l(e,t,n,r){var i=n.type;return i===y?d(e,t,n.props.children,r,n.key):t!==null&&(t.elementType===i||typeof i==`object`&&i&&i.$$typeof===O&&Na(i)===t.type)?(t=a(t,n.props),Ba(t,n),t.return=e,t):(t=vi(n.type,n.key,n.props,null,e.mode,r),Ba(t,n),t.return=e,t)}function u(e,t,n,r){return t===null||t.tag!==4||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?(t=Si(n,e.mode,r),t.return=e,t):(t=a(t,n.children||[]),t.return=e,t)}function d(e,t,n,r,i){return t===null||t.tag!==7?(t=yi(n,e.mode,r,i),t.return=e,t):(t=a(t,n),t.return=e,t)}function f(e,t,n){if(typeof t==`string`&&t!==``||typeof t==`number`||typeof t==`bigint`)return t=bi(``+t,e.mode,n),t.return=e,t;if(typeof t==`object`&&t){switch(t.$$typeof){case _:return n=vi(t.type,t.key,t.props,null,e.mode,n),Ba(n,t),n.return=e,n;case v:return t=Si(t,e.mode,n),t.return=e,t;case O:return t=Na(t),f(e,t,n)}if(oe(t)||re(t))return t=yi(t,e.mode,n,null),t.return=e,t;if(typeof t.then==`function`)return f(e,za(t),n);if(t.$$typeof===C)return f(e,ca(e,t),n);Va(e,t)}return null}function p(e,t,n,r){var i=t===null?null:t.key;if(typeof n==`string`&&n!==``||typeof n==`number`||typeof n==`bigint`)return i===null?c(e,t,``+n,r):null;if(typeof n==`object`&&n){switch(n.$$typeof){case _:return n.key===i?l(e,t,n,r):null;case v:return n.key===i?u(e,t,n,r):null;case O:return n=Na(n),p(e,t,n,r)}if(oe(n)||re(n))return i===null?d(e,t,n,r,null):null;if(typeof n.then==`function`)return p(e,t,za(n),r);if(n.$$typeof===C)return p(e,t,ca(e,n),r);Va(e,n)}return null}function m(e,t,n,r,i){if(typeof r==`string`&&r!==``||typeof r==`number`||typeof r==`bigint`)return e=e.get(n)||null,c(t,e,``+r,i);if(typeof r==`object`&&r){switch(r.$$typeof){case _:return e=e.get(r.key===null?n:r.key)||null,l(t,e,r,i);case v:return e=e.get(r.key===null?n:r.key)||null,u(t,e,r,i);case O:return r=Na(r),m(e,t,n,r,i)}if(oe(r)||re(r))return e=e.get(n)||null,d(t,e,r,i,null);if(typeof r.then==`function`)return m(e,t,n,za(r),i);if(r.$$typeof===C)return m(e,t,n,ca(t,r),i);Va(t,r)}return null}function h(i,a,s,c){for(var l=null,u=null,d=a,h=a=0,g=null;d!==null&&h<s.length;h++){d.index>h?(g=d,d=null):g=d.sibling;var _=p(i,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(i,d),a=o(_,a,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(i,d),N&&Pi(i,h),l;if(d===null){for(;h<s.length;h++)d=f(i,s[h],c),d!==null&&(a=o(d,a,h),u===null?l=d:u.sibling=d,u=d);return N&&Pi(i,h),l}for(d=r(d);h<s.length;h++)g=m(d,i,h,s[h],c),g!==null&&(e&&g.alternate!==null&&d.delete(g.key===null?h:g.key),a=o(g,a,h),u===null?l=g:u.sibling=g,u=g);return e&&d.forEach(function(e){return t(i,e)}),N&&Pi(i,h),l}function g(a,s,c,l){if(c==null)throw Error(i(151));for(var u=null,d=null,h=s,g=s=0,_=null,v=c.next();h!==null&&!v.done;g++,v=c.next()){h.index>g?(_=h,h=null):_=h.sibling;var y=p(a,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(a,h),s=o(y,s,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(a,h),N&&Pi(a,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(a,v.value,l),v!==null&&(s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return N&&Pi(a,g),u}for(h=r(h);!v.done;g++,v=c.next())v=m(h,a,g,v.value,l),v!==null&&(e&&v.alternate!==null&&h.delete(v.key===null?g:v.key),s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(a,e)}),N&&Pi(a,g),u}function b(e,r,o,c){if(typeof o==`object`&&o&&o.type===y&&o.key===null&&(o=o.props.children),typeof o==`object`&&o){switch(o.$$typeof){case _:a:{for(var l=o.key;r!==null;){if(r.key===l){if(l=o.type,l===y){if(r.tag===7){n(e,r.sibling),c=a(r,o.props.children),c.return=e,e=c;break a}}else if(r.elementType===l||typeof l==`object`&&l&&l.$$typeof===O&&Na(l)===r.type){n(e,r.sibling),c=a(r,o.props),Ba(c,o),c.return=e,e=c;break a}n(e,r);break}else t(e,r);r=r.sibling}o.type===y?(c=yi(o.props.children,e.mode,c,o.key),c.return=e,e=c):(c=vi(o.type,o.key,o.props,null,e.mode,c),Ba(c,o),c.return=e,e=c)}return s(e);case v:a:{for(l=o.key;r!==null;){if(r.key===l)if(r.tag===4&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),c=a(r,o.children||[]),c.return=e,e=c;break a}else{n(e,r);break}else t(e,r);r=r.sibling}c=Si(o,e.mode,c),c.return=e,e=c}return s(e);case O:return o=Na(o),b(e,r,o,c)}if(oe(o))return h(e,r,o,c);if(re(o)){if(l=re(o),typeof l!=`function`)throw Error(i(150));return o=l.call(o),g(e,r,o,c)}if(typeof o.then==`function`)return b(e,r,za(o),c);if(o.$$typeof===C)return b(e,r,ca(e,o),c);Va(e,o)}return typeof o==`string`&&o!==``||typeof o==`number`||typeof o==`bigint`?(o=``+o,r!==null&&r.tag===6?(n(e,r.sibling),c=a(r,o),c.return=e,e=c):(n(e,r),c=bi(o,e.mode,c),c.return=e,e=c),s(e)):n(e,r)}return function(e,t,n,r){try{Ra=0;var i=b(e,t,n,r);return La=null,i}catch(t){if(t===P||t===ka)throw t;var a=mi(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var Ua=Ha(!0),Wa=Ha(!1),Ga=!1;function Ka(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function qa(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 Ja(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Ya(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,Yl&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=di(e),ui(e,null,n),t}return si(e,r,t,n),di(e)}function Xa(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194048)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,ot(e,n)}}function Za(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var F=!1;function Qa(){if(F){var e=ya;if(e!==null)throw e}}function $a(e,t,n,r){F=!1;var i=e.updateQueue;Ga=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane&-536870913,p=f!==s.lane;if(p?(Ql&f)===f:(r&f)===f){f!==0&&f===va&&(F=!0),u!==null&&(u=u.next={lane:0,tag:s.tag,payload:s.payload,callback:null,next:null});a:{var h=e,g=s;f=t;var _=n;switch(g.tag){case 1:if(h=g.payload,typeof h==`function`){d=h.call(_,d,f);break a}d=h;break a;case 3:h.flags=h.flags&-65537|128;case 0:if(h=g.payload,f=typeof h==`function`?h.call(_,d,f):h,f==null)break a;d=m({},d,f);break a;case 2:Ga=!0}}f=s.callback,f!==null&&(e.flags|=64,p&&(e.flags|=8192),p=i.callbacks,p===null?i.callbacks=[f]:p.push(f))}else p={lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=p,c=d):u=u.next=p,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;p=s,s=p.next,p.next=null,i.lastBaseUpdate=p,i.shared.pending=null}}while(1);u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,a===null&&(i.shared.lanes=0),ou|=o,e.lanes=o,e.memoizedState=d}}function eo(e,t){if(typeof e!=`function`)throw Error(i(191,e));e.call(t)}function to(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;e<n.length;e++)eo(n[e],t)}var no=A(null),ro=A(0);function io(e,t){e=iu,fe(ro,e),fe(no,t),iu=e|t.baseLanes}function ao(){fe(ro,iu),fe(no,no.current)}function oo(){iu=ro.current,de(no),de(ro)}var so=A(null),co=null;function lo(e){var t=e.alternate;fe(ho,ho.current&1),fe(so,e),co===null&&(t===null||no.current!==null||t.memoizedState!==null)&&(co=e)}function uo(e){fe(ho,ho.current),fe(so,e),co===null&&(co=e)}function fo(e){e.tag===22?(fe(ho,ho.current),fe(so,e),co===null&&(co=e)):po(e)}function po(){fe(ho,ho.current),fe(so,so.current)}function mo(e){de(so),co===e&&(co=null),de(ho)}var ho=A(0);function go(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||W(n)||hf(n)))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)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 _o=0,vo=null,yo=null,bo=null,xo=!1,So=!1,Co=!1,wo=0,To=0,Eo=null,Do=0;function Oo(){throw Error(i(321))}function ko(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!kr(e[n],t[n]))return!1;return!0}function Ao(e,t,n,r,i,a){return _o=a,vo=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,k.H=e===null||e.memoizedState===null?qs:Js,Co=!1,a=n(r,i),Co=!1,So&&(a=Mo(t,n,r,i)),jo(e),a}function jo(e){k.H=Ks;var t=yo!==null&&yo.next!==null;if(_o=0,bo=yo=vo=null,xo=!1,To=0,Eo=null,t)throw Error(i(300));e===null||dc||(e=e.dependencies,e!==null&&aa(e)&&(dc=!0))}function Mo(e,t,n,r){vo=e;var a=0;do{if(So&&(Eo=null),To=0,So=!1,25<=a)throw Error(i(301));if(a+=1,bo=yo=null,e.updateQueue!=null){var o=e.updateQueue;o.lastEffect=null,o.events=null,o.stores=null,o.memoCache!=null&&(o.memoCache.index=0)}k.H=Ys,o=t(n,r)}while(So);return o}function No(){var e=k.H,t=e.useState()[0];return t=typeof t.then==`function`?Bo(t):t,e=e.useState()[0],(yo===null?null:yo.memoizedState)!==e&&(vo.flags|=1024),t}function Po(){var e=wo!==0;return wo=0,e}function Fo(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function Io(e){if(xo){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}xo=!1}_o=0,bo=yo=vo=null,So=!1,To=wo=0,Eo=null}function Lo(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return bo===null?vo.memoizedState=bo=e:bo=bo.next=e,bo}function Ro(){if(yo===null){var e=vo.alternate;e=e===null?null:e.memoizedState}else e=yo.next;var t=bo===null?vo.memoizedState:bo.next;if(t!==null)bo=t,yo=e;else{if(e===null)throw vo.alternate===null?Error(i(467)):Error(i(310));yo=e,e={memoizedState:yo.memoizedState,baseState:yo.baseState,baseQueue:yo.baseQueue,queue:yo.queue,next:null},bo===null?vo.memoizedState=bo=e:bo=bo.next=e}return bo}function zo(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Bo(e){var t=To;return To+=1,Eo===null&&(Eo=[]),e=Ma(Eo,e,t),t=vo,(bo===null?t.memoizedState:bo.next)===null&&(t=t.alternate,k.H=t===null||t.memoizedState===null?qs:Js),e}function Vo(e){if(typeof e==`object`&&e){if(typeof e.then==`function`)return Bo(e);if(e.$$typeof===C)return sa(e)}throw Error(i(438,String(e)))}function Ho(e){var t=null,n=vo.updateQueue;if(n!==null&&(t=n.memoCache),t==null){var r=vo.alternate;r!==null&&(r=r.updateQueue,r!==null&&(r=r.memoCache,r!=null&&(t={data:r.data.map(function(e){return e.slice()}),index:0})))}if(t??={data:[],index:0},n===null&&(n=zo(),vo.updateQueue=n),n.memoCache=t,n=t.data[t.index],n===void 0)for(n=t.data[t.index]=Array(e),r=0;r<e;r++)n[r]=te;return t.index++,n}function Uo(e,t){return typeof t==`function`?t(e):t}function Wo(e){return Go(Ro(),yo,e)}function Go(e,t,n){var r=e.queue;if(r===null)throw Error(i(311));r.lastRenderedReducer=n;var a=e.baseQueue,o=r.pending;if(o!==null){if(a!==null){var s=a.next;a.next=o.next,o.next=s}t.baseQueue=a=o,r.pending=null}if(o=e.baseState,a===null)e.memoizedState=o;else{t=a.next;var c=s=null,l=null,u=t,d=!1;do{var f=u.lane&-536870913;if(f===u.lane?(_o&f)===f:(Ql&f)===f){var p=u.revertLane;if(p===0)l!==null&&(l=l.next={lane:0,revertLane:0,gesture:null,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),f===va&&(d=!0);else if((_o&p)===p){u=u.next,p===va&&(d=!0);continue}else f={lane:0,revertLane:u.revertLane,gesture:null,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null},l===null?(c=l=f,s=o):l=l.next=f,vo.lanes|=p,ou|=p;f=u.action,Co&&n(o,f),o=u.hasEagerState?u.eagerState:n(o,f)}else p={lane:f,revertLane:u.revertLane,gesture:u.gesture,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null},l===null?(c=l=p,s=o):l=l.next=p,vo.lanes|=f,ou|=f;u=u.next}while(u!==null&&u!==t);if(l===null?s=o:l.next=c,!kr(o,e.memoizedState)&&(dc=!0,d&&(n=ya,n!==null)))throw n;e.memoizedState=o,e.baseState=s,e.baseQueue=l,r.lastRenderedState=o}return a===null&&(r.lanes=0),[e.memoizedState,r.dispatch]}function Ko(e){var t=Ro(),n=t.queue;if(n===null)throw Error(i(311));n.lastRenderedReducer=e;var r=n.dispatch,a=n.pending,o=t.memoizedState;if(a!==null){n.pending=null;var s=a=a.next;do o=e(o,s.action),s=s.next;while(s!==a);kr(o,t.memoizedState)||(dc=!0),t.memoizedState=o,t.baseQueue===null&&(t.baseState=o),n.lastRenderedState=o}return[o,r]}function qo(e,t,n){var r=vo,a=Ro(),o=N;if(o){if(n===void 0)throw Error(i(407));n=n()}else n=t();var s=!kr((yo||a).memoizedState,n);if(s&&(a.memoizedState=n,dc=!0),a=a.queue,vs(Xo.bind(null,r,a,e),[e]),a.getSnapshot!==t||s||bo!==null&&bo.memoizedState.tag&1){if(r.flags|=2048,ps(9,{destroy:void 0},Yo.bind(null,r,a,n,t),null),Xl===null)throw Error(i(349));o||_o&127||Jo(r,t,n)}return n}function Jo(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=vo.updateQueue,t===null?(t=zo(),vo.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function Yo(e,t,n,r){t.value=n,t.getSnapshot=r,Zo(t)&&Qo(e)}function Xo(e,t,n){return n(function(){Zo(t)&&Qo(e)})}function Zo(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!kr(e,n)}catch{return!0}}function Qo(e){var t=li(e,2);t!==null&&Au(t,e,2)}function $o(e){var t=Lo();if(typeof e==`function`){var n=e;if(e=n(),Co){We(!0);try{n()}finally{We(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Uo,lastRenderedState:e},t}function es(e,t,n,r){return e.baseState=n,Go(e,yo,typeof r==`function`?r:Uo)}function ts(e,t,n,r,a){if(Us(e))throw Error(i(485));if(e=t.action,e!==null){var o={payload:a,action:e,next:null,isTransition:!0,status:`pending`,value:null,reason:null,listeners:[],then:function(e){o.listeners.push(e)}};k.T===null?o.isTransition=!1:n(!0),r(o),n=t.pending,n===null?(o.next=t.pending=o,ns(t,o)):(o.next=n.next,t.pending=n.next=o)}}function ns(e,t){var n=t.action,r=t.payload,i=e.state;if(t.isTransition){var a=k.T,o={};k.T=o;try{var s=n(i,r),c=k.S;c!==null&&c(o,s),rs(e,t,s)}catch(n){as(e,t,n)}finally{a!==null&&o.types!==null&&(a.types=o.types),k.T=a}}else try{a=n(i,r),rs(e,t,a)}catch(n){as(e,t,n)}}function rs(e,t,n){typeof n==`object`&&n&&typeof n.then==`function`?n.then(function(n){is(e,t,n)},function(n){return as(e,t,n)}):is(e,t,n)}function is(e,t,n){t.status=`fulfilled`,t.value=n,os(t),e.state=n,t=e.pending,t!==null&&(n=t.next,n===t?e.pending=null:(n=n.next,t.next=n,ns(e,n)))}function as(e,t,n){var r=e.pending;if(e.pending=null,r!==null){r=r.next;do t.status=`rejected`,t.reason=n,os(t),t=t.next;while(t!==r)}e.action=null}function os(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function ss(e,t){return t}function cs(e,t){if(N){var n=Xl.formState;if(n!==null){a:{var r=vo;if(N){if(Bi){b:{for(var i=Bi,a=Hi;i.nodeType!==8;){if(!a){i=null;break b}if(i=gf(i.nextSibling),i===null){i=null;break b}}a=i.data,i=a===`F!`||a===`F`?i:null}if(i){Bi=gf(i.nextSibling),r=i.data===`F!`;break a}}Wi(r)}r=!1}r&&(t=n[0])}}return n=Lo(),n.memoizedState=n.baseState=t,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:ss,lastRenderedState:t},n.queue=r,n=Bs.bind(null,vo,r),r.dispatch=n,r=$o(!1),a=Hs.bind(null,vo,!1,r.queue),r=Lo(),i={state:t,dispatch:null,action:e,pending:null},r.queue=i,n=ts.bind(null,vo,i,a,n),i.dispatch=n,r.memoizedState=e,[t,n,!1]}function ls(e){return us(Ro(),yo,e)}function us(e,t,n){if(t=Go(e,t,ss)[0],e=Wo(Uo)[0],typeof t==`object`&&t&&typeof t.then==`function`)try{var r=Bo(t)}catch(e){throw e===P?ka:e}else r=t;t=Ro();var i=t.queue,a=i.dispatch;return n!==t.memoizedState&&(vo.flags|=2048,ps(9,{destroy:void 0},ds.bind(null,i,n),null)),[r,a,e]}function ds(e,t){e.action=t}function fs(e){var t=Ro(),n=yo;if(n!==null)return us(t,n,e);Ro(),t=t.memoizedState,n=Ro();var r=n.queue.dispatch;return n.memoizedState=e,[t,r,!1]}function ps(e,t,n,r){return e={tag:e,create:n,deps:r,inst:t,next:null},t=vo.updateQueue,t===null&&(t=zo(),vo.updateQueue=t),n=t.lastEffect,n===null?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function ms(){return Ro().memoizedState}function hs(e,t,n,r){var i=Lo();vo.flags|=e,i.memoizedState=ps(1|t,{destroy:void 0},n,r===void 0?null:r)}function gs(e,t,n,r){var i=Ro();r=r===void 0?null:r;var a=i.memoizedState.inst;yo!==null&&r!==null&&ko(r,yo.memoizedState.deps)?i.memoizedState=ps(t,a,n,r):(vo.flags|=e,i.memoizedState=ps(1|t,a,n,r))}function _s(e,t){hs(8390656,8,e,t)}function vs(e,t){gs(2048,8,e,t)}function ys(e){vo.flags|=4;var t=vo.updateQueue;if(t===null)t=zo(),vo.updateQueue=t,t.events=[e];else{var n=t.events;n===null?t.events=[e]:n.push(e)}}function bs(e){var t=Ro().memoizedState;return ys({ref:t,nextImpl:e}),function(){if(Yl&2)throw Error(i(440));return t.impl.apply(void 0,arguments)}}function xs(e,t){return gs(4,2,e,t)}function Ss(e,t){return gs(4,4,e,t)}function Cs(e,t){if(typeof t==`function`){e=e();var n=t(e);return function(){typeof n==`function`?n():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function ws(e,t,n){n=n==null?null:n.concat([e]),gs(4,4,Cs.bind(null,t,e),n)}function Ts(){}function Es(e,t){var n=Ro();t=t===void 0?null:t;var r=n.memoizedState;return t!==null&&ko(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Ds(e,t){var n=Ro();t=t===void 0?null:t;var r=n.memoizedState;if(t!==null&&ko(t,r[1]))return r[0];if(r=e(),Co){We(!0);try{e()}finally{We(!1)}}return n.memoizedState=[r,t],r}function Os(e,t,n){return n===void 0||_o&1073741824&&!(Ql&261930)?e.memoizedState=t:(e.memoizedState=n,e=ku(),vo.lanes|=e,ou|=e,n)}function ks(e,t,n,r){return kr(n,t)?n:no.current===null?!(_o&42)||_o&1073741824&&!(Ql&261930)?(dc=!0,e.memoizedState=n):(e=ku(),vo.lanes|=e,ou|=e,t):(e=Os(e,n,r),kr(e,t)||(dc=!0),e)}function As(e,t,n,r,i){var a=se.p;se.p=a!==0&&8>a?a:8;var o=k.T,s={};k.T=s,Hs(e,!1,t,n);try{var c=i(),l=k.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?Vs(e,t,Sa(c,r),Ou(e)):Vs(e,t,r,Ou(e))}catch(n){Vs(e,t,{then:function(){},status:`rejected`,reason:n},Ou())}finally{se.p=a,o!==null&&s.types!==null&&(o.types=s.types),k.T=o}}function js(){}function Ms(e,t,n,r){if(e.tag!==5)throw Error(i(476));var a=Ns(e).queue;As(e,a,t,ce,n===null?js:function(){return Ps(e),n(r)})}function Ns(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:ce,baseState:ce,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Uo,lastRenderedState:ce},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Uo,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Ps(e){var t=Ns(e);t.next===null&&(t=e.alternate.memoizedState),Vs(e,t.next.queue,{},Ou())}function Fs(){return sa(ap)}function Is(){return Ro().memoizedState}function Ls(){return Ro().memoizedState}function Rs(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=Ou();e=Ja(n);var r=Ya(t,e,n);r!==null&&(Au(r,t,n),Xa(r,t,n)),t={cache:ma()},e.payload=t;return}t=t.return}}function zs(e,t,n){var r=Ou();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Us(e)?Ws(t,n):(n=ci(e,t,n,r),n!==null&&(Au(n,e,r),Gs(n,t,r)))}function Bs(e,t,n){Vs(e,t,n,Ou())}function Vs(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(Us(e))Ws(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,kr(s,o))return si(e,t,i,0),Xl===null&&oi(),!1}catch{}if(n=ci(e,t,i,r),n!==null)return Au(n,e,r),Gs(n,t,r),!0}return!1}function Hs(e,t,n,r){if(r={lane:2,revertLane:Ed(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},Us(e)){if(t)throw Error(i(479))}else t=ci(e,n,r,2),t!==null&&Au(t,e,2)}function Us(e){var t=e.alternate;return e===vo||t!==null&&t===vo}function Ws(e,t){So=xo=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Gs(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,ot(e,n)}}var Ks={readContext:sa,use:Vo,useCallback:Oo,useContext:Oo,useEffect:Oo,useImperativeHandle:Oo,useLayoutEffect:Oo,useInsertionEffect:Oo,useMemo:Oo,useReducer:Oo,useRef:Oo,useState:Oo,useDebugValue:Oo,useDeferredValue:Oo,useTransition:Oo,useSyncExternalStore:Oo,useId:Oo,useHostTransitionStatus:Oo,useFormState:Oo,useActionState:Oo,useOptimistic:Oo,useMemoCache:Oo,useCacheRefresh:Oo};Ks.useEffectEvent=Oo;var qs={readContext:sa,use:Vo,useCallback:function(e,t){return Lo().memoizedState=[e,t===void 0?null:t],e},useContext:sa,useEffect:_s,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),hs(4194308,4,Cs.bind(null,t,e),n)},useLayoutEffect:function(e,t){return hs(4194308,4,e,t)},useInsertionEffect:function(e,t){hs(4,2,e,t)},useMemo:function(e,t){var n=Lo();t=t===void 0?null:t;var r=e();if(Co){We(!0);try{e()}finally{We(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=Lo();if(n!==void 0){var i=n(t);if(Co){We(!0);try{n(t)}finally{We(!1)}}}else i=t;return r.memoizedState=r.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},r.queue=e,e=e.dispatch=zs.bind(null,vo,e),[r.memoizedState,e]},useRef:function(e){var t=Lo();return e={current:e},t.memoizedState=e},useState:function(e){e=$o(e);var t=e.queue,n=Bs.bind(null,vo,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:Ts,useDeferredValue:function(e,t){return Os(Lo(),e,t)},useTransition:function(){var e=$o(!1);return e=As.bind(null,vo,e.queue,!0,!1),Lo().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=vo,a=Lo();if(N){if(n===void 0)throw Error(i(407));n=n()}else{if(n=t(),Xl===null)throw Error(i(349));Ql&127||Jo(r,t,n)}a.memoizedState=n;var o={value:n,getSnapshot:t};return a.queue=o,_s(Xo.bind(null,r,o,e),[e]),r.flags|=2048,ps(9,{destroy:void 0},Yo.bind(null,r,o,n,t),null),n},useId:function(){var e=Lo(),t=Xl.identifierPrefix;if(N){var n=Ni,r=Mi;n=(r&~(1<<32-Ge(r)-1)).toString(32)+n,t=`_`+t+`R_`+n,n=wo++,0<n&&(t+=`H`+n.toString(32)),t+=`_`}else n=Do++,t=`_`+t+`r_`+n.toString(32)+`_`;return e.memoizedState=t},useHostTransitionStatus:Fs,useFormState:cs,useActionState:cs,useOptimistic:function(e){var t=Lo();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=Hs.bind(null,vo,!0,n),n.dispatch=t,[e,t]},useMemoCache:Ho,useCacheRefresh:function(){return Lo().memoizedState=Rs.bind(null,vo)},useEffectEvent:function(e){var t=Lo(),n={impl:e};return t.memoizedState=n,function(){if(Yl&2)throw Error(i(440));return n.impl.apply(void 0,arguments)}}},Js={readContext:sa,use:Vo,useCallback:Es,useContext:sa,useEffect:vs,useImperativeHandle:ws,useInsertionEffect:xs,useLayoutEffect:Ss,useMemo:Ds,useReducer:Wo,useRef:ms,useState:function(){return Wo(Uo)},useDebugValue:Ts,useDeferredValue:function(e,t){return ks(Ro(),yo.memoizedState,e,t)},useTransition:function(){var e=Wo(Uo)[0],t=Ro().memoizedState;return[typeof e==`boolean`?e:Bo(e),t]},useSyncExternalStore:qo,useId:Is,useHostTransitionStatus:Fs,useFormState:ls,useActionState:ls,useOptimistic:function(e,t){return es(Ro(),yo,e,t)},useMemoCache:Ho,useCacheRefresh:Ls};Js.useEffectEvent=bs;var Ys={readContext:sa,use:Vo,useCallback:Es,useContext:sa,useEffect:vs,useImperativeHandle:ws,useInsertionEffect:xs,useLayoutEffect:Ss,useMemo:Ds,useReducer:Ko,useRef:ms,useState:function(){return Ko(Uo)},useDebugValue:Ts,useDeferredValue:function(e,t){var n=Ro();return yo===null?Os(n,e,t):ks(n,yo.memoizedState,e,t)},useTransition:function(){var e=Ko(Uo)[0],t=Ro().memoizedState;return[typeof e==`boolean`?e:Bo(e),t]},useSyncExternalStore:qo,useId:Is,useHostTransitionStatus:Fs,useFormState:fs,useActionState:fs,useOptimistic:function(e,t){var n=Ro();return yo===null?(n.baseState=e,[e,n.queue.dispatch]):es(n,yo,e,t)},useMemoCache:Ho,useCacheRefresh:Ls};Ys.useEffectEvent=bs;function Xs(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:m({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var Zs={enqueueSetState:function(e,t,n){e=e._reactInternals;var r=Ou(),i=Ja(r);i.payload=t,n!=null&&(i.callback=n),t=Ya(e,i,r),t!==null&&(Au(t,e,r),Xa(t,e,r))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=Ou(),i=Ja(r);i.tag=1,i.payload=t,n!=null&&(i.callback=n),t=Ya(e,i,r),t!==null&&(Au(t,e,r),Xa(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=Ou(),r=Ja(n);r.tag=2,t!=null&&(r.callback=t),t=Ya(e,r,n),t!==null&&(Au(t,e,n),Xa(t,e,n))}};function Qs(e,t,n,r,i,a,o){return e=e.stateNode,typeof e.shouldComponentUpdate==`function`?e.shouldComponentUpdate(r,a,o):t.prototype&&t.prototype.isPureReactComponent?!Ar(n,r)||!Ar(i,a):!0}function $s(e,t,n,r){e=t.state,typeof t.componentWillReceiveProps==`function`&&t.componentWillReceiveProps(n,r),typeof t.UNSAFE_componentWillReceiveProps==`function`&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&Zs.enqueueReplaceState(t,t.state,null)}function ec(e,t){var n=t;if(`ref`in t)for(var r in n={},t)r!==`ref`&&(n[r]=t[r]);if(e=e.defaultProps)for(var i in n===t&&(n=m({},n)),e)n[i]===void 0&&(n[i]=e[i]);return n}function tc(e){ni(e)}function nc(e){console.error(e)}function rc(e){ni(e)}function ic(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(e){setTimeout(function(){throw e})}}function ac(e,t,n){try{var r=e.onCaughtError;r(n.value,{componentStack:n.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(e){setTimeout(function(){throw e})}}function oc(e,t,n){return n=Ja(n),n.tag=3,n.payload={element:null},n.callback=function(){ic(e,t)},n}function sc(e){return e=Ja(e),e.tag=3,e}function cc(e,t,n,r){var i=n.type.getDerivedStateFromError;if(typeof i==`function`){var a=r.value;e.payload=function(){return i(a)},e.callback=function(){ac(t,n,r)}}var o=n.stateNode;o!==null&&typeof o.componentDidCatch==`function`&&(e.callback=function(){ac(t,n,r),typeof i!=`function`&&(vu===null?vu=new Set([this]):vu.add(this));var e=r.stack;this.componentDidCatch(r.value,{componentStack:e===null?``:e})})}function lc(e,t,n,r,a){if(n.flags|=32768,typeof r==`object`&&r&&typeof r.then==`function`){if(t=n.alternate,t!==null&&ia(t,n,a,!0),n=so.current,n!==null){switch(n.tag){case 31:case 13:return co===null?Hu():n.alternate===null&&au===0&&(au=3),n.flags&=-257,n.flags|=65536,n.lanes=a,r===Aa?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([r]):t.add(r),sd(e,r,a)),!1;case 22:return n.flags|=65536,r===Aa?n.flags|=16384:(t=n.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([r])},n.updateQueue=t):(n=t.retryQueue,n===null?t.retryQueue=new Set([r]):n.add(r)),sd(e,r,a)),!1}throw Error(i(435,n.tag))}return sd(e,r,a),Hu(),!1}if(N)return t=so.current,t===null?(r!==Ui&&(t=Error(i(423),{cause:r}),Xi(wi(t,n))),e=e.current.alternate,e.flags|=65536,a&=-a,e.lanes|=a,r=wi(r,n),a=oc(e.stateNode,r,a),Za(e,a),au!==4&&(au=2)):(!(t.flags&65536)&&(t.flags|=256),t.flags|=65536,t.lanes=a,r!==Ui&&(e=Error(i(422),{cause:r}),Xi(wi(e,n)))),!1;var o=Error(i(520),{cause:r});if(o=wi(o,n),du===null?du=[o]:du.push(o),au!==4&&(au=2),t===null)return!0;r=wi(r,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=a&-a,n.lanes|=e,e=oc(n.stateNode,r,e),Za(n,e),!1;case 1:if(t=n.type,o=n.stateNode,!(n.flags&128)&&(typeof t.getDerivedStateFromError==`function`||o!==null&&typeof o.componentDidCatch==`function`&&(vu===null||!vu.has(o))))return n.flags|=65536,a&=-a,n.lanes|=a,a=sc(a),cc(a,e,n,r),Za(n,a),!1}n=n.return}while(n!==null);return!1}var uc=Error(i(461)),dc=!1;function fc(e,t,n,r){t.child=e===null?Wa(t,null,n,r):Ua(t,e.child,n,r)}function pc(e,t,n,r,i){n=n.render;var a=t.ref;if(`ref`in r){var o={};for(var s in r)s!==`ref`&&(o[s]=r[s])}else o=r;return oa(t),r=Ao(e,t,n,o,a,i),s=Po(),e!==null&&!dc?(Fo(e,t,i),Lc(e,t,i)):(N&&s&&Ii(t),t.flags|=1,fc(e,t,r,i),t.child)}function mc(e,t,n,r,i){if(e===null){var a=n.type;return typeof a==`function`&&!hi(a)&&a.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=a,hc(e,t,a,r,i)):(e=vi(n.type,null,r,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(a=e.child,!Rc(e,i)){var o=a.memoizedProps;if(n=n.compare,n=n===null?Ar:n,n(o,r)&&e.ref===t.ref)return Lc(e,t,i)}return t.flags|=1,e=gi(a,r),e.ref=t.ref,e.return=t,t.child=e}function hc(e,t,n,r,i){if(e!==null){var a=e.memoizedProps;if(Ar(a,r)&&e.ref===t.ref)if(dc=!1,t.pendingProps=r=a,Rc(e,i))e.flags&131072&&(dc=!0);else return t.lanes=e.lanes,Lc(e,t,i)}return Cc(e,t,n,r,i)}function gc(e,t,n,r){var i=r.children,a=e===null?null:e.memoizedState;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),r.mode===`hidden`){if(t.flags&128){if(a=a===null?n:a.baseLanes|n,e!==null){for(r=t.child=e.child,i=0;r!==null;)i=i|r.lanes|r.childLanes,r=r.sibling;r=i&~a}else r=0,t.child=null;return vc(e,t,a,n,r)}if(n&536870912)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&Ea(t,a===null?null:a.cachePool),a===null?ao():io(t,a),fo(t);else return r=t.lanes=536870912,vc(e,t,a===null?n:a.baseLanes|n,n,r)}else a===null?(e!==null&&Ea(t,null),ao(),po(t)):(Ea(t,a.cachePool),io(t,a),po(t),t.memoizedState=null);return fc(e,t,i,n),t.child}function _c(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function vc(e,t,n,r,i){var a=Ta();return a=a===null?null:{parent:pa._currentValue,pool:a},t.memoizedState={baseLanes:n,cachePool:a},e!==null&&Ea(t,null),ao(),fo(t),e!==null&&ia(e,t,r,!0),t.childLanes=i,null}function yc(e,t){return t=Mc({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function bc(e,t,n){return Ua(t,e.child,null,n),e=yc(t,t.pendingProps),e.flags|=2,mo(t),t.memoizedState=null,e}function xc(e,t,n){var r=t.pendingProps,a=(t.flags&128)!=0;if(t.flags&=-129,e===null){if(N){if(r.mode===`hidden`)return e=yc(t,r),t.lanes=536870912,_c(null,e);if(uo(t),(e=Bi)?(e=mf(e,Hi),e=e!==null&&e.data===`&`?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:ji===null?null:{id:Mi,overflow:Ni},retryLane:536870912,hydrationErrors:null},n=xi(e),n.return=t,t.child=n,zi=t,Bi=null)):e=null,e===null)throw Wi(t);return t.lanes=536870912,null}return yc(t,r)}var o=e.memoizedState;if(o!==null){var s=o.dehydrated;if(uo(t),a)if(t.flags&256)t.flags&=-257,t=bc(e,t,n);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(i(558));else if(dc||ia(e,t,n,!1),a=(n&e.childLanes)!==0,dc||a){if(r=Xl,r!==null&&(s=st(r,n),s!==0&&s!==o.retryLane))throw o.retryLane=s,li(e,s),Au(r,e,s),uc;Hu(),t=bc(e,t,n)}else e=o.treeContext,Bi=gf(s.nextSibling),zi=t,N=!0,Vi=null,Hi=!1,e!==null&&Ri(t,e),t=yc(t,r),t.flags|=4096;return t}return e=gi(e.child,{mode:r.mode,children:r.children}),e.ref=t.ref,t.child=e,e.return=t,e}function Sc(e,t){var n=t.ref;if(n===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof n!=`function`&&typeof n!=`object`)throw Error(i(284));(e===null||e.ref!==n)&&(t.flags|=4194816)}}function Cc(e,t,n,r,i){return oa(t),n=Ao(e,t,n,r,void 0,i),r=Po(),e!==null&&!dc?(Fo(e,t,i),Lc(e,t,i)):(N&&r&&Ii(t),t.flags|=1,fc(e,t,n,i),t.child)}function wc(e,t,n,r,i,a){return oa(t),t.updateQueue=null,n=Mo(t,r,n,i),jo(e),r=Po(),e!==null&&!dc?(Fo(e,t,a),Lc(e,t,a)):(N&&r&&Ii(t),t.flags|=1,fc(e,t,n,a),t.child)}function Tc(e,t,n,r,i){if(oa(t),t.stateNode===null){var a=fi,o=n.contextType;typeof o==`object`&&o&&(a=sa(o)),a=new n(r,a),t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,a.updater=Zs,t.stateNode=a,a._reactInternals=t,a=t.stateNode,a.props=r,a.state=t.memoizedState,a.refs={},Ka(t),o=n.contextType,a.context=typeof o==`object`&&o?sa(o):fi,a.state=t.memoizedState,o=n.getDerivedStateFromProps,typeof o==`function`&&(Xs(t,n,o,r),a.state=t.memoizedState),typeof n.getDerivedStateFromProps==`function`||typeof a.getSnapshotBeforeUpdate==`function`||typeof a.UNSAFE_componentWillMount!=`function`&&typeof a.componentWillMount!=`function`||(o=a.state,typeof a.componentWillMount==`function`&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount==`function`&&a.UNSAFE_componentWillMount(),o!==a.state&&Zs.enqueueReplaceState(a,a.state,null),$a(t,r,a,i),Qa(),a.state=t.memoizedState),typeof a.componentDidMount==`function`&&(t.flags|=4194308),r=!0}else if(e===null){a=t.stateNode;var s=t.memoizedProps,c=ec(n,s);a.props=c;var l=a.context,u=n.contextType;o=fi,typeof u==`object`&&u&&(o=sa(u));var d=n.getDerivedStateFromProps;u=typeof d==`function`||typeof a.getSnapshotBeforeUpdate==`function`,s=t.pendingProps!==s,u||typeof a.UNSAFE_componentWillReceiveProps!=`function`&&typeof a.componentWillReceiveProps!=`function`||(s||l!==o)&&$s(t,a,r,o),Ga=!1;var f=t.memoizedState;a.state=f,$a(t,r,a,i),Qa(),l=t.memoizedState,s||f!==l||Ga?(typeof d==`function`&&(Xs(t,n,d,r),l=t.memoizedState),(c=Ga||Qs(t,n,c,r,f,l,o))?(u||typeof a.UNSAFE_componentWillMount!=`function`&&typeof a.componentWillMount!=`function`||(typeof a.componentWillMount==`function`&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount==`function`&&a.UNSAFE_componentWillMount()),typeof a.componentDidMount==`function`&&(t.flags|=4194308)):(typeof a.componentDidMount==`function`&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),a.props=r,a.state=l,a.context=o,r=c):(typeof a.componentDidMount==`function`&&(t.flags|=4194308),r=!1)}else{a=t.stateNode,qa(e,t),o=t.memoizedProps,u=ec(n,o),a.props=u,d=t.pendingProps,f=a.context,l=n.contextType,c=fi,typeof l==`object`&&l&&(c=sa(l)),s=n.getDerivedStateFromProps,(l=typeof s==`function`||typeof a.getSnapshotBeforeUpdate==`function`)||typeof a.UNSAFE_componentWillReceiveProps!=`function`&&typeof a.componentWillReceiveProps!=`function`||(o!==d||f!==c)&&$s(t,a,r,c),Ga=!1,f=t.memoizedState,a.state=f,$a(t,r,a,i),Qa();var p=t.memoizedState;o!==d||f!==p||Ga||e!==null&&e.dependencies!==null&&aa(e.dependencies)?(typeof s==`function`&&(Xs(t,n,s,r),p=t.memoizedState),(u=Ga||Qs(t,n,u,r,f,p,c)||e!==null&&e.dependencies!==null&&aa(e.dependencies))?(l||typeof a.UNSAFE_componentWillUpdate!=`function`&&typeof a.componentWillUpdate!=`function`||(typeof a.componentWillUpdate==`function`&&a.componentWillUpdate(r,p,c),typeof a.UNSAFE_componentWillUpdate==`function`&&a.UNSAFE_componentWillUpdate(r,p,c)),typeof a.componentDidUpdate==`function`&&(t.flags|=4),typeof a.getSnapshotBeforeUpdate==`function`&&(t.flags|=1024)):(typeof a.componentDidUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=p),a.props=r,a.state=p,a.context=c,r=u):(typeof a.componentDidUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return a=r,Sc(e,t),r=(t.flags&128)!=0,a||r?(a=t.stateNode,n=r&&typeof n.getDerivedStateFromError!=`function`?null:a.render(),t.flags|=1,e!==null&&r?(t.child=Ua(t,e.child,null,i),t.child=Ua(t,null,n,i)):fc(e,t,n,i),t.memoizedState=a.state,e=t.child):e=Lc(e,t,i),e}function Ec(e,t,n,r){return Ji(),t.flags|=256,fc(e,t,n,r),t.child}var Dc={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Oc(e){return{baseLanes:e,cachePool:Da()}}function kc(e,t,n){return e=e===null?0:e.childLanes&~n,t&&(e|=lu),e}function Ac(e,t,n){var r=t.pendingProps,a=!1,o=(t.flags&128)!=0,s;if((s=o)||(s=e!==null&&e.memoizedState===null?!1:(ho.current&2)!=0),s&&(a=!0,t.flags&=-129),s=(t.flags&32)!=0,t.flags&=-33,e===null){if(N){if(a?lo(t):po(t),(e=Bi)?(e=mf(e,Hi),e=e!==null&&e.data!==`&`?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:ji===null?null:{id:Mi,overflow:Ni},retryLane:536870912,hydrationErrors:null},n=xi(e),n.return=t,t.child=n,zi=t,Bi=null)):e=null,e===null)throw Wi(t);return hf(e)?t.lanes=32:t.lanes=536870912,null}var c=r.children;return r=r.fallback,a?(po(t),a=t.mode,c=Mc({mode:`hidden`,children:c},a),r=yi(r,a,n,null),c.return=t,r.return=t,c.sibling=r,t.child=c,r=t.child,r.memoizedState=Oc(n),r.childLanes=kc(e,s,n),t.memoizedState=Dc,_c(null,r)):(lo(t),jc(t,c))}var l=e.memoizedState;if(l!==null&&(c=l.dehydrated,c!==null)){if(o)t.flags&256?(lo(t),t.flags&=-257,t=Nc(e,t,n)):t.memoizedState===null?(po(t),c=r.fallback,a=t.mode,r=Mc({mode:`visible`,children:r.children},a),c=yi(c,a,n,null),c.flags|=2,r.return=t,c.return=t,r.sibling=c,t.child=r,Ua(t,e.child,null,n),r=t.child,r.memoizedState=Oc(n),r.childLanes=kc(e,s,n),t.memoizedState=Dc,t=_c(null,r)):(po(t),t.child=e.child,t.flags|=128,t=null);else if(lo(t),hf(c)){if(s=c.nextSibling&&c.nextSibling.dataset,s)var u=s.dgst;s=u,r=Error(i(419)),r.stack=``,r.digest=s,Xi({value:r,source:null,stack:null}),t=Nc(e,t,n)}else if(dc||ia(e,t,n,!1),s=(n&e.childLanes)!==0,dc||s){if(s=Xl,s!==null&&(r=st(s,n),r!==0&&r!==l.retryLane))throw l.retryLane=r,li(e,r),Au(s,e,r),uc;W(c)||Hu(),t=Nc(e,t,n)}else W(c)?(t.flags|=192,t.child=e.child,t=null):(e=l.treeContext,Bi=gf(c.nextSibling),zi=t,N=!0,Vi=null,Hi=!1,e!==null&&Ri(t,e),t=jc(t,r.children),t.flags|=4096);return t}return a?(po(t),c=r.fallback,a=t.mode,l=e.child,u=l.sibling,r=gi(l,{mode:`hidden`,children:r.children}),r.subtreeFlags=l.subtreeFlags&65011712,u===null?(c=yi(c,a,n,null),c.flags|=2):c=gi(u,c),c.return=t,r.return=t,r.sibling=c,t.child=r,_c(null,r),r=t.child,c=e.child.memoizedState,c===null?c=Oc(n):(a=c.cachePool,a===null?a=Da():(l=pa._currentValue,a=a.parent===l?a:{parent:l,pool:l}),c={baseLanes:c.baseLanes|n,cachePool:a}),r.memoizedState=c,r.childLanes=kc(e,s,n),t.memoizedState=Dc,_c(e.child,r)):(lo(t),n=e.child,e=n.sibling,n=gi(n,{mode:`visible`,children:r.children}),n.return=t,n.sibling=null,e!==null&&(s=t.deletions,s===null?(t.deletions=[e],t.flags|=16):s.push(e)),t.child=n,t.memoizedState=null,n)}function jc(e,t){return t=Mc({mode:`visible`,children:t},e.mode),t.return=e,e.child=t}function Mc(e,t){return e=mi(22,e,null,t),e.lanes=0,e}function Nc(e,t,n){return Ua(t,e.child,null,n),e=jc(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Pc(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),na(e.return,t,n)}function Fc(e,t,n,r,i,a){var o=e.memoizedState;o===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:i,treeForkCount:a}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=r,o.tail=n,o.tailMode=i,o.treeForkCount=a)}function Ic(e,t,n){var r=t.pendingProps,i=r.revealOrder,a=r.tail;r=r.children;var o=ho.current,s=(o&2)!=0;if(s?(o=o&1|2,t.flags|=128):o&=1,fe(ho,o),fc(e,t,r,n),r=N?Oi:0,!s&&e!==null&&e.flags&128)a:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Pc(e,n,t);else if(e.tag===19)Pc(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break a;for(;e.sibling===null;){if(e.return===null||e.return===t)break a;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(i){case`forwards`:for(n=t.child,i=null;n!==null;)e=n.alternate,e!==null&&go(e)===null&&(i=n),n=n.sibling;n=i,n===null?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),Fc(t,!1,i,n,a,r);break;case`backwards`:case`unstable_legacy-backwards`:for(n=null,i=t.child,t.child=null;i!==null;){if(e=i.alternate,e!==null&&go(e)===null){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}Fc(t,!0,n,null,a,r);break;case`together`:Fc(t,!1,null,null,void 0,r);break;default:t.memoizedState=null}return t.child}function Lc(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),ou|=t.lanes,(n&t.childLanes)===0)if(e!==null){if(ia(e,t,n,!1),(n&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(i(153));if(t.child!==null){for(e=t.child,n=gi(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=gi(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function Rc(e,t){return(e.lanes&t)===0?(e=e.dependencies,!!(e!==null&&aa(e))):!0}function zc(e,t,n){switch(t.tag){case 3:_e(t,t.stateNode.containerInfo),ea(t,pa,e.memoizedState.cache),Ji();break;case 27:case 5:ye(t);break;case 4:_e(t,t.stateNode.containerInfo);break;case 10:ea(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,uo(t),null;break;case 13:var r=t.memoizedState;if(r!==null)return r.dehydrated===null?(n&t.child.childLanes)===0?(lo(t),e=Lc(e,t,n),e===null?null:e.sibling):Ac(e,t,n):(lo(t),t.flags|=128,null);lo(t);break;case 19:var i=(e.flags&128)!=0;if(r=(n&t.childLanes)!==0,r||=(ia(e,t,n,!1),(n&t.childLanes)!==0),i){if(r)return Ic(e,t,n);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),fe(ho,ho.current),r)break;return null;case 22:return t.lanes=0,gc(e,t,n,t.pendingProps);case 24:ea(t,pa,e.memoizedState.cache)}return Lc(e,t,n)}function Bc(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps)dc=!0;else{if(!Rc(e,n)&&!(t.flags&128))return dc=!1,zc(e,t,n);dc=!!(e.flags&131072)}else dc=!1,N&&t.flags&1048576&&Fi(t,Oi,t.index);switch(t.lanes=0,t.tag){case 16:a:{var r=t.pendingProps;if(e=Na(t.elementType),t.type=e,typeof e==`function`)hi(e)?(r=ec(e,r),t.tag=1,t=Tc(null,t,e,r,n)):(t.tag=0,t=Cc(null,t,e,r,n));else{if(e!=null){var a=e.$$typeof;if(a===w){t.tag=11,t=pc(null,t,e,r,n);break a}else if(a===D){t.tag=14,t=mc(null,t,e,r,n);break a}}throw t=ae(e)||e,Error(i(306,t,``))}}return t;case 0:return Cc(e,t,t.type,t.pendingProps,n);case 1:return r=t.type,a=ec(r,t.pendingProps),Tc(e,t,r,a,n);case 3:a:{if(_e(t,t.stateNode.containerInfo),e===null)throw Error(i(387));r=t.pendingProps;var o=t.memoizedState;a=o.element,qa(e,t),$a(t,r,null,n);var s=t.memoizedState;if(r=s.cache,ea(t,pa,r),r!==o.cache&&ra(t,[pa],n,!0),Qa(),r=s.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:s.cache},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){t=Ec(e,t,r,n);break a}else if(r!==a){a=wi(Error(i(424)),t),Xi(a),t=Ec(e,t,r,n);break a}else{switch(e=t.stateNode.containerInfo,e.nodeType){case 9:e=e.body;break;default:e=e.nodeName===`HTML`?e.ownerDocument.body:e}for(Bi=gf(e.firstChild),zi=t,N=!0,Vi=null,Hi=!0,n=Wa(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling}else{if(Ji(),r===a){t=Lc(e,t,n);break a}fc(e,t,r,n)}t=t.child}return t;case 26:return Sc(e,t),e===null?(n=Lf(t.type,null,t.pendingProps,null))?t.memoizedState=n:N||(n=t.type,e=t.pendingProps,r=ef(he.current).createElement(n),r[pt]=t,r[mt]=e,Yd(r,n,e),Et(r),t.stateNode=r):t.memoizedState=Lf(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return ye(t),e===null&&N&&(r=t.stateNode=bf(t.type,t.pendingProps,he.current),zi=t,Hi=!0,a=Bi,lf(t.type)?(_f=a,Bi=gf(r.firstChild)):Bi=a),fc(e,t,t.pendingProps.children,n),Sc(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&N&&((a=r=Bi)&&(r=pf(r,t.type,t.pendingProps,Hi),r===null?a=!1:(t.stateNode=r,zi=t,Bi=gf(r.firstChild),Hi=!1,a=!0)),a||Wi(t)),ye(t),a=t.type,o=t.pendingProps,s=e===null?null:e.memoizedProps,r=o.children,rf(a,o)?r=null:s!==null&&rf(a,s)&&(t.flags|=32),t.memoizedState!==null&&(a=Ao(e,t,No,null,null,n),ap._currentValue=a),Sc(e,t),fc(e,t,r,n),t.child;case 6:return e===null&&N&&((e=n=Bi)&&(n=U(n,t.pendingProps,Hi),n===null?e=!1:(t.stateNode=n,zi=t,Bi=null,e=!0)),e||Wi(t)),null;case 13:return Ac(e,t,n);case 4:return _e(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Ua(t,null,r,n):fc(e,t,r,n),t.child;case 11:return pc(e,t,t.type,t.pendingProps,n);case 7:return fc(e,t,t.pendingProps,n),t.child;case 8:return fc(e,t,t.pendingProps.children,n),t.child;case 12:return fc(e,t,t.pendingProps.children,n),t.child;case 10:return r=t.pendingProps,ea(t,t.type,r.value),fc(e,t,r.children,n),t.child;case 9:return a=t.type._context,r=t.pendingProps.children,oa(t),a=sa(a),r=r(a),t.flags|=1,fc(e,t,r,n),t.child;case 14:return mc(e,t,t.type,t.pendingProps,n);case 15:return hc(e,t,t.type,t.pendingProps,n);case 19:return Ic(e,t,n);case 31:return xc(e,t,n);case 22:return gc(e,t,n,t.pendingProps);case 24:return oa(t),r=sa(pa),e===null?(a=Ta(),a===null&&(a=Xl,o=ma(),a.pooledCache=o,o.refCount++,o!==null&&(a.pooledCacheLanes|=n),a=o),t.memoizedState={parent:r,cache:a},Ka(t),ea(t,pa,a)):((e.lanes&n)!==0&&(qa(e,t),$a(t,null,null,n),Qa()),a=e.memoizedState,o=t.memoizedState,a.parent===r?(r=o.cache,ea(t,pa,r),r!==a.cache&&ra(t,[pa],n,!0)):(a={parent:r,cache:r},t.memoizedState=a,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=a),ea(t,pa,r))),fc(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(i(156,t.tag))}function Vc(e){e.flags|=4}function Hc(e,t,n,r,i){if((t=(e.mode&32)!=0)&&(t=!1),t){if(e.flags|=16777216,(i&335544128)===i)if(e.stateNode.complete)e.flags|=8192;else if(zu())e.flags|=8192;else throw Pa=Aa,Oa}else e.flags&=-16777217}function Uc(e,t){if(t.type!==`stylesheet`||t.state.loading&4)e.flags&=-16777217;else if(e.flags|=16777216,!Zf(t))if(zu())e.flags|=8192;else throw Pa=Aa,Oa}function Wc(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag===22?536870912:j(),e.lanes|=t,uu|=t)}function Gc(e,t){if(!N)switch(e.tailMode){case`hidden`:t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case`collapsed`:n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Kc(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags&65011712,r|=i.flags&65011712,i.return=e,i=i.sibling;else for(i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function qc(e,t,n){var r=t.pendingProps;switch(Li(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Kc(t),null;case 1:return Kc(t),null;case 3:return n=t.stateNode,r=null,e!==null&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),ta(pa),ve(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(qi(t)?Vc(t):e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,Yi())),Kc(t),null;case 26:var a=t.type,o=t.memoizedState;return e===null?(Vc(t),o===null?(Kc(t),Hc(t,a,null,r,n)):(Kc(t),Uc(t,o))):o?o===e.memoizedState?(Kc(t),t.flags&=-16777217):(Vc(t),Kc(t),Uc(t,o)):(e=e.memoizedProps,e!==r&&Vc(t),Kc(t),Hc(t,a,e,r,n)),null;case 27:if(be(t),n=he.current,a=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Vc(t);else{if(!r){if(t.stateNode===null)throw Error(i(166));return Kc(t),null}e=pe.current,qi(t)?Gi(t,e):(e=bf(a,r,n),t.stateNode=e,Vc(t))}return Kc(t),null;case 5:if(be(t),a=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Vc(t);else{if(!r){if(t.stateNode===null)throw Error(i(166));return Kc(t),null}if(o=pe.current,qi(t))Gi(t,o);else{var s=ef(he.current);switch(o){case 1:o=s.createElementNS(`http://www.w3.org/2000/svg`,a);break;case 2:o=s.createElementNS(`http://www.w3.org/1998/Math/MathML`,a);break;default:switch(a){case`svg`:o=s.createElementNS(`http://www.w3.org/2000/svg`,a);break;case`math`:o=s.createElementNS(`http://www.w3.org/1998/Math/MathML`,a);break;case`script`:o=s.createElement(`div`),o.innerHTML=`<script><\/script>`,o=o.removeChild(o.firstChild);break;case`select`:o=typeof r.is==`string`?s.createElement(`select`,{is:r.is}):s.createElement(`select`),r.multiple?o.multiple=!0:r.size&&(o.size=r.size);break;default:o=typeof r.is==`string`?s.createElement(a,{is:r.is}):s.createElement(a)}}o[pt]=t,o[mt]=r;a:for(s=t.child;s!==null;){if(s.tag===5||s.tag===6)o.appendChild(s.stateNode);else if(s.tag!==4&&s.tag!==27&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break a;for(;s.sibling===null;){if(s.return===null||s.return===t)break a;s=s.return}s.sibling.return=s.return,s=s.sibling}t.stateNode=o;a:switch(Yd(o,a,r),a){case`button`:case`input`:case`select`:case`textarea`:r=!!r.autoFocus;break a;case`img`:r=!0;break a;default:r=!1}r&&Vc(t)}}return Kc(t),Hc(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&Vc(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(i(166));if(e=he.current,qi(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,a=zi,a!==null)switch(a.tag){case 27:case 5:r=a.memoizedProps}e[pt]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||Kd(e.nodeValue,n)),e||Wi(t,!0)}else e=ef(e).createTextNode(r),e[pt]=t,t.stateNode=e}return Kc(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=qi(t),n!==null){if(e===null){if(!r)throw Error(i(318));if(e=t.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(i(557));e[pt]=t}else Ji(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Kc(t),e=!1}else n=Yi(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(mo(t),t):(mo(t),null);if(t.flags&128)throw Error(i(558))}return Kc(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(a=qi(t),r!==null&&r.dehydrated!==null){if(e===null){if(!a)throw Error(i(318));if(a=t.memoizedState,a=a===null?null:a.dehydrated,!a)throw Error(i(317));a[pt]=t}else Ji(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Kc(t),a=!1}else a=Yi(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),a=!0;if(!a)return t.flags&256?(mo(t),t):(mo(t),null)}return mo(t),t.flags&128?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,a=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(a=r.alternate.memoizedState.cachePool.pool),o=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(o=r.memoizedState.cachePool.pool),o!==a&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Wc(t,t.updateQueue),Kc(t),null);case 4:return ve(),e===null&&Rd(t.stateNode.containerInfo),Kc(t),null;case 10:return ta(t.type),Kc(t),null;case 19:if(de(ho),r=t.memoizedState,r===null)return Kc(t),null;if(a=(t.flags&128)!=0,o=r.rendering,o===null)if(a)Gc(r,!1);else{if(au!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=go(e),o!==null){for(t.flags|=128,Gc(r,!1),e=o.updateQueue,t.updateQueue=e,Wc(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)_i(n,e),n=n.sibling;return fe(ho,ho.current&1|2),N&&Pi(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&Ne()>gu&&(t.flags|=128,a=!0,Gc(r,!1),t.lanes=4194304)}else{if(!a)if(e=go(o),e!==null){if(t.flags|=128,a=!0,e=e.updateQueue,t.updateQueue=e,Wc(t,e),Gc(r,!0),r.tail===null&&r.tailMode===`hidden`&&!o.alternate&&!N)return Kc(t),null}else 2*Ne()-r.renderingStartTime>gu&&n!==536870912&&(t.flags|=128,a=!0,Gc(r,!1),t.lanes=4194304);r.isBackwards?(o.sibling=t.child,t.child=o):(e=r.last,e===null?t.child=o:e.sibling=o,r.last=o)}return r.tail===null?(Kc(t),null):(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=Ne(),e.sibling=null,n=ho.current,fe(ho,a?n&1|2:n&1),N&&Pi(t,r.treeForkCount),e);case 22:case 23:return mo(t),oo(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(Kc(t),t.subtreeFlags&6&&(t.flags|=8192)):Kc(t),n=t.updateQueue,n!==null&&Wc(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&de(wa),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),ta(pa),Kc(t),null;case 25:return null;case 30:return null}throw Error(i(156,t.tag))}function Jc(e,t){switch(Li(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ta(pa),ve(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return be(t),null;case 31:if(t.memoizedState!==null){if(mo(t),t.alternate===null)throw Error(i(340));Ji()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(mo(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(i(340));Ji()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return de(ho),null;case 4:return ve(),null;case 10:return ta(t.type),null;case 22:case 23:return mo(t),oo(),e!==null&&de(wa),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return ta(pa),null;case 25:return null;default:return null}}function Yc(e,t){switch(Li(t),t.tag){case 3:ta(pa),ve();break;case 26:case 27:case 5:be(t);break;case 4:ve();break;case 31:t.memoizedState!==null&&mo(t);break;case 13:mo(t);break;case 19:de(ho);break;case 10:ta(t.type);break;case 22:case 23:mo(t),oo(),e!==null&&de(wa);break;case 24:ta(pa)}}function Xc(e,t){try{var n=t.updateQueue,r=n===null?null:n.lastEffect;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e){r=void 0;var a=n.create,o=n.inst;r=a(),o.destroy=r}n=n.next}while(n!==i)}}catch(e){od(t,t.return,e)}}function Zc(e,t,n){try{var r=t.updateQueue,i=r===null?null:r.lastEffect;if(i!==null){var a=i.next;r=a;do{if((r.tag&e)===e){var o=r.inst,s=o.destroy;if(s!==void 0){o.destroy=void 0,i=t;var c=n,l=s;try{l()}catch(e){od(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){od(t,t.return,e)}}function Qc(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{to(t,n)}catch(t){od(e,e.return,t)}}}function $c(e,t,n){n.props=ec(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){od(e,t,n)}}function el(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:r=e.stateNode;break;default:r=e.stateNode}typeof n==`function`?e.refCleanup=n(r):n.current=r}}catch(n){od(e,t,n)}}function tl(e,t){var n=e.ref,r=e.refCleanup;if(n!==null)if(typeof r==`function`)try{r()}catch(n){od(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==`function`)try{n(null)}catch(n){od(e,t,n)}else n.current=null}function nl(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{a:switch(t){case`button`:case`input`:case`select`:case`textarea`:n.autoFocus&&r.focus();break a;case`img`:n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(t){od(e,e.return,t)}}function rl(e,t,n){try{var r=e.stateNode;Xd(r,e.type,n,t),r[mt]=t}catch(t){od(e,e.return,t)}}function il(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&lf(e.type)||e.tag===4}function al(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||il(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&&lf(e.type)||e.flags&2||e.child===null||e.tag===4)continue a;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function ol(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=sn));else if(r!==4&&(r===27&&lf(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(ol(e,t,n),e=e.sibling;e!==null;)ol(e,t,n),e=e.sibling}function sl(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(r===27&&lf(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(sl(e,t,n),e=e.sibling;e!==null;)sl(e,t,n),e=e.sibling}function cl(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);Yd(t,r,n),t[pt]=e,t[mt]=n}catch(t){od(e,e.return,t)}}var ll=!1,ul=!1,dl=!1,fl=typeof WeakSet==`function`?WeakSet:Set,pl=null;function ml(e,t){if(e=e.containerInfo,Qd=mp,e=Pr(e),Fr(e)){if(`selectionStart`in e)var n={start:e.selectionStart,end:e.selectionEnd};else a:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var a=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break a}var s=0,c=-1,l=-1,u=0,d=0,f=e,p=null;b:for(;;){for(var m;f!==n||a!==0&&f.nodeType!==3||(c=s+a),f!==o||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(m=f.firstChild)!==null;)p=f,f=m;for(;;){if(f===e)break b;if(p===n&&++u===a&&(c=s),p===o&&++d===r&&(l=s),(m=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=m}n=c===-1||l===-1?null:{start:c,end:l}}else n=null}n||={start:0,end:0}}else n=null;for($d={focusedElem:e,selectionRange:n},mp=!1,pl=t;pl!==null;)if(t=pl,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,pl=e;else for(;pl!==null;){switch(t=pl,o=t.alternate,e=t.flags,t.tag){case 0:if(e&4&&(e=t.updateQueue,e=e===null?null:e.events,e!==null))for(n=0;n<e.length;n++)a=e[n],a.ref.impl=a.nextImpl;break;case 11:case 15:break;case 1:if(e&1024&&o!==null){e=void 0,n=t,a=o.memoizedProps,o=o.memoizedState,r=n.stateNode;try{var h=ec(n.type,a);e=r.getSnapshotBeforeUpdate(h,o),r.__reactInternalSnapshotBeforeUpdate=e}catch(e){od(n,n.return,e)}}break;case 3:if(e&1024){if(e=t.stateNode.containerInfo,n=e.nodeType,n===9)ff(e);else if(n===1)switch(e.nodeName){case`HEAD`:case`HTML`:case`BODY`:ff(e);break;default:e.textContent=``}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if(e&1024)throw Error(i(163))}if(e=t.sibling,e!==null){e.return=t.return,pl=e;break}pl=t.return}}function hl(e,t,n){var r=n.flags;switch(n.tag){case 0:case 11:case 15:Al(e,n),r&4&&Xc(5,n);break;case 1:if(Al(e,n),r&4)if(e=n.stateNode,t===null)try{e.componentDidMount()}catch(e){od(n,n.return,e)}else{var i=ec(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(i,t,e.__reactInternalSnapshotBeforeUpdate)}catch(e){od(n,n.return,e)}}r&64&&Qc(n),r&512&&el(n,n.return);break;case 3:if(Al(e,n),r&64&&(e=n.updateQueue,e!==null)){if(t=null,n.child!==null)switch(n.child.tag){case 27:case 5:t=n.child.stateNode;break;case 1:t=n.child.stateNode}try{to(e,t)}catch(e){od(n,n.return,e)}}break;case 27:t===null&&r&4&&cl(n);case 26:case 5:Al(e,n),t===null&&r&4&&nl(n),r&512&&el(n,n.return);break;case 12:Al(e,n);break;case 31:Al(e,n),r&4&&xl(e,n);break;case 13:Al(e,n),r&4&&Sl(e,n),r&64&&(e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(n=ud.bind(null,n),G(e,n))));break;case 22:if(r=n.memoizedState!==null||ll,!r){t=t!==null&&t.memoizedState!==null||ul,i=ll;var a=ul;ll=r,(ul=t)&&!a?Ml(e,n,(n.subtreeFlags&8772)!=0):Al(e,n),ll=i,ul=a}break;case 30:break;default:Al(e,n)}}function gl(e){var t=e.alternate;t!==null&&(e.alternate=null,gl(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&xt(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 _l=null,vl=!1;function yl(e,t,n){for(n=n.child;n!==null;)bl(e,t,n),n=n.sibling}function bl(e,t,n){if(Ue&&typeof Ue.onCommitFiberUnmount==`function`)try{Ue.onCommitFiberUnmount(He,n)}catch{}switch(n.tag){case 26:ul||tl(n,t),yl(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:ul||tl(n,t);var r=_l,i=vl;lf(n.type)&&(_l=n.stateNode,vl=!1),yl(e,t,n),xf(n.stateNode),_l=r,vl=i;break;case 5:ul||tl(n,t);case 6:if(r=_l,i=vl,_l=null,yl(e,t,n),_l=r,vl=i,_l!==null)if(vl)try{(_l.nodeType===9?_l.body:_l.nodeName===`HTML`?_l.ownerDocument.body:_l).removeChild(n.stateNode)}catch(e){od(n,t,e)}else try{_l.removeChild(n.stateNode)}catch(e){od(n,t,e)}break;case 18:_l!==null&&(vl?(e=_l,uf(e.nodeType===9?e.body:e.nodeName===`HTML`?e.ownerDocument.body:e,n.stateNode),Bp(e)):uf(_l,n.stateNode));break;case 4:r=_l,i=vl,_l=n.stateNode.containerInfo,vl=!0,yl(e,t,n),_l=r,vl=i;break;case 0:case 11:case 14:case 15:Zc(2,n,t),ul||Zc(4,n,t),yl(e,t,n);break;case 1:ul||(tl(n,t),r=n.stateNode,typeof r.componentWillUnmount==`function`&&$c(n,t,r)),yl(e,t,n);break;case 21:yl(e,t,n);break;case 22:ul=(r=ul)||n.memoizedState!==null,yl(e,t,n),ul=r;break;default:yl(e,t,n)}}function xl(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{Bp(e)}catch(e){od(t,t.return,e)}}}function Sl(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{Bp(e)}catch(e){od(t,t.return,e)}}function Cl(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new fl),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new fl),t;default:throw Error(i(435,e.tag))}}function wl(e,t){var n=Cl(e);t.forEach(function(t){if(!n.has(t)){n.add(t);var r=dd.bind(null,e,t);t.then(r,r)}})}function Tl(e,t){var n=t.deletions;if(n!==null)for(var r=0;r<n.length;r++){var a=n[r],o=e,s=t,c=s;a:for(;c!==null;){switch(c.tag){case 27:if(lf(c.type)){_l=c.stateNode,vl=!1;break a}break;case 5:_l=c.stateNode,vl=!1;break a;case 3:case 4:_l=c.stateNode.containerInfo,vl=!0;break a}c=c.return}if(_l===null)throw Error(i(160));bl(o,s,a),_l=null,vl=!1,o=a.alternate,o!==null&&(o.return=null),a.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)Dl(t,e),t=t.sibling}var El=null;function Dl(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:Tl(t,e),Ol(e),r&4&&(Zc(3,e,e.return),Xc(3,e),Zc(5,e,e.return));break;case 1:Tl(t,e),Ol(e),r&512&&(ul||n===null||tl(n,n.return)),r&64&&ll&&(e=e.updateQueue,e!==null&&(r=e.callbacks,r!==null&&(n=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=n===null?r:n.concat(r))));break;case 26:var a=El;if(Tl(t,e),Ol(e),r&512&&(ul||n===null||tl(n,n.return)),r&4){var o=n===null?null:n.memoizedState;if(r=e.memoizedState,n===null)if(r===null)if(e.stateNode===null){a:{r=e.type,n=e.memoizedProps,a=a.ownerDocument||a;b:switch(r){case`title`:o=a.getElementsByTagName(`title`)[0],(!o||o[bt]||o[pt]||o.namespaceURI===`http://www.w3.org/2000/svg`||o.hasAttribute(`itemprop`))&&(o=a.createElement(r),a.head.insertBefore(o,a.querySelector(`head > title`))),Yd(o,r,n),o[pt]=e,Et(o),r=o;break a;case`link`:var s=Jf(`link`,`href`,a).get(r+(n.href||``));if(s){for(var c=0;c<s.length;c++)if(o=s[c],o.getAttribute(`href`)===(n.href==null||n.href===``?null:n.href)&&o.getAttribute(`rel`)===(n.rel==null?null:n.rel)&&o.getAttribute(`title`)===(n.title==null?null:n.title)&&o.getAttribute(`crossorigin`)===(n.crossOrigin==null?null:n.crossOrigin)){s.splice(c,1);break b}}o=a.createElement(r),Yd(o,r,n),a.head.appendChild(o);break;case`meta`:if(s=Jf(`meta`,`content`,a).get(r+(n.content||``))){for(c=0;c<s.length;c++)if(o=s[c],o.getAttribute(`content`)===(n.content==null?null:``+n.content)&&o.getAttribute(`name`)===(n.name==null?null:n.name)&&o.getAttribute(`property`)===(n.property==null?null:n.property)&&o.getAttribute(`http-equiv`)===(n.httpEquiv==null?null:n.httpEquiv)&&o.getAttribute(`charset`)===(n.charSet==null?null:n.charSet)){s.splice(c,1);break b}}o=a.createElement(r),Yd(o,r,n),a.head.appendChild(o);break;default:throw Error(i(468,r))}o[pt]=e,Et(o),r=o}e.stateNode=r}else Yf(a,e.type,e.stateNode);else e.stateNode=Wf(a,r,e.memoizedProps);else o===r?r===null&&e.stateNode!==null&&rl(e,e.memoizedProps,n.memoizedProps):(o===null?n.stateNode!==null&&(n=n.stateNode,n.parentNode.removeChild(n)):o.count--,r===null?Yf(a,e.type,e.stateNode):Wf(a,r,e.memoizedProps))}break;case 27:Tl(t,e),Ol(e),r&512&&(ul||n===null||tl(n,n.return)),n!==null&&r&4&&rl(e,e.memoizedProps,n.memoizedProps);break;case 5:if(Tl(t,e),Ol(e),r&512&&(ul||n===null||tl(n,n.return)),e.flags&32){a=e.stateNode;try{Qt(a,``)}catch(t){od(e,e.return,t)}}r&4&&e.stateNode!=null&&(a=e.memoizedProps,rl(e,a,n===null?a:n.memoizedProps)),r&1024&&(dl=!0);break;case 6:if(Tl(t,e),Ol(e),r&4){if(e.stateNode===null)throw Error(i(162));r=e.memoizedProps,n=e.stateNode;try{n.nodeValue=r}catch(t){od(e,e.return,t)}}break;case 3:if(qf=null,a=El,El=wf(t.containerInfo),Tl(t,e),El=a,Ol(e),r&4&&n!==null&&n.memoizedState.isDehydrated)try{Bp(t.containerInfo)}catch(t){od(e,e.return,t)}dl&&(dl=!1,kl(e));break;case 4:r=El,El=wf(e.stateNode.containerInfo),Tl(t,e),Ol(e),El=r;break;case 12:Tl(t,e),Ol(e);break;case 31:Tl(t,e),Ol(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,wl(e,r)));break;case 13:Tl(t,e),Ol(e),e.child.flags&8192&&e.memoizedState!==null!=(n!==null&&n.memoizedState!==null)&&(mu=Ne()),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,wl(e,r)));break;case 22:a=e.memoizedState!==null;var l=n!==null&&n.memoizedState!==null,u=ll,d=ul;if(ll=u||a,ul=d||l,Tl(t,e),ul=d,ll=u,Ol(e),r&8192)a:for(t=e.stateNode,t._visibility=a?t._visibility&-2:t._visibility|1,a&&(n===null||l||ll||ul||jl(e)),n=null,t=e;;){if(t.tag===5||t.tag===26){if(n===null){l=n=t;try{if(o=l.stateNode,a)s=o.style,typeof s.setProperty==`function`?s.setProperty(`display`,`none`,`important`):s.display=`none`;else{c=l.stateNode;var f=l.memoizedProps.style,p=f!=null&&f.hasOwnProperty(`display`)?f.display:null;c.style.display=p==null||typeof p==`boolean`?``:(``+p).trim()}}catch(e){od(l,l.return,e)}}}else if(t.tag===6){if(n===null){l=t;try{l.stateNode.nodeValue=a?``:l.memoizedProps}catch(e){od(l,l.return,e)}}}else if(t.tag===18){if(n===null){l=t;try{var m=l.stateNode;a?df(m,!0):df(l.stateNode,!1)}catch(e){od(l,l.return,e)}}}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 a;for(;t.sibling===null;){if(t.return===null||t.return===e)break a;n===t&&(n=null),t=t.return}n===t&&(n=null),t.sibling.return=t.return,t=t.sibling}r&4&&(r=e.updateQueue,r!==null&&(n=r.retryQueue,n!==null&&(r.retryQueue=null,wl(e,n))));break;case 19:Tl(t,e),Ol(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,wl(e,r)));break;case 30:break;case 21:break;default:Tl(t,e),Ol(e)}}function Ol(e){var t=e.flags;if(t&2){try{for(var n,r=e.return;r!==null;){if(il(r)){n=r;break}r=r.return}if(n==null)throw Error(i(160));switch(n.tag){case 27:var a=n.stateNode;sl(e,al(e),a);break;case 5:var o=n.stateNode;n.flags&32&&(Qt(o,``),n.flags&=-33),sl(e,al(e),o);break;case 3:case 4:var s=n.stateNode.containerInfo;ol(e,al(e),s);break;default:throw Error(i(161))}}catch(t){od(e,e.return,t)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function kl(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;kl(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function Al(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)hl(e,t.alternate,t),t=t.sibling}function jl(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:Zc(4,t,t.return),jl(t);break;case 1:tl(t,t.return);var n=t.stateNode;typeof n.componentWillUnmount==`function`&&$c(t,t.return,n),jl(t);break;case 27:xf(t.stateNode);case 26:case 5:tl(t,t.return),jl(t);break;case 22:t.memoizedState===null&&jl(t);break;case 30:jl(t);break;default:jl(t)}e=e.sibling}}function Ml(e,t,n){for(n&&=(t.subtreeFlags&8772)!=0,t=t.child;t!==null;){var r=t.alternate,i=e,a=t,o=a.flags;switch(a.tag){case 0:case 11:case 15:Ml(i,a,n),Xc(4,a);break;case 1:if(Ml(i,a,n),r=a,i=r.stateNode,typeof i.componentDidMount==`function`)try{i.componentDidMount()}catch(e){od(r,r.return,e)}if(r=a,i=r.updateQueue,i!==null){var s=r.stateNode;try{var c=i.shared.hiddenCallbacks;if(c!==null)for(i.shared.hiddenCallbacks=null,i=0;i<c.length;i++)eo(c[i],s)}catch(e){od(r,r.return,e)}}n&&o&64&&Qc(a),el(a,a.return);break;case 27:cl(a);case 26:case 5:Ml(i,a,n),n&&r===null&&o&4&&nl(a),el(a,a.return);break;case 12:Ml(i,a,n);break;case 31:Ml(i,a,n),n&&o&4&&xl(i,a);break;case 13:Ml(i,a,n),n&&o&4&&Sl(i,a);break;case 22:a.memoizedState===null&&Ml(i,a,n),el(a,a.return);break;case 30:break;default:Ml(i,a,n)}t=t.sibling}}function Nl(e,t){var n=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==n&&(e!=null&&e.refCount++,n!=null&&ha(n))}function Pl(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&ha(e))}function Fl(e,t,n,r){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)Il(e,t,n,r),t=t.sibling}function Il(e,t,n,r){var i=t.flags;switch(t.tag){case 0:case 11:case 15:Fl(e,t,n,r),i&2048&&Xc(9,t);break;case 1:Fl(e,t,n,r);break;case 3:Fl(e,t,n,r),i&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&ha(e)));break;case 12:if(i&2048){Fl(e,t,n,r),e=t.stateNode;try{var a=t.memoizedProps,o=a.id,s=a.onPostCommit;typeof s==`function`&&s(o,t.alternate===null?`mount`:`update`,e.passiveEffectDuration,-0)}catch(e){od(t,t.return,e)}}else Fl(e,t,n,r);break;case 31:Fl(e,t,n,r);break;case 13:Fl(e,t,n,r);break;case 23:break;case 22:a=t.stateNode,o=t.alternate,t.memoizedState===null?a._visibility&2?Fl(e,t,n,r):(a._visibility|=2,Ll(e,t,n,r,(t.subtreeFlags&10256)!=0||!1)):a._visibility&2?Fl(e,t,n,r):Rl(e,t),i&2048&&Nl(o,t);break;case 24:Fl(e,t,n,r),i&2048&&Pl(t.alternate,t);break;default:Fl(e,t,n,r)}}function Ll(e,t,n,r,i){for(i&&=(t.subtreeFlags&10256)!=0||!1,t=t.child;t!==null;){var a=e,o=t,s=n,c=r,l=o.flags;switch(o.tag){case 0:case 11:case 15:Ll(a,o,s,c,i),Xc(8,o);break;case 23:break;case 22:var u=o.stateNode;o.memoizedState===null?(u._visibility|=2,Ll(a,o,s,c,i)):u._visibility&2?Ll(a,o,s,c,i):Rl(a,o),i&&l&2048&&Nl(o.alternate,o);break;case 24:Ll(a,o,s,c,i),i&&l&2048&&Pl(o.alternate,o);break;default:Ll(a,o,s,c,i)}t=t.sibling}}function Rl(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var n=e,r=t,i=r.flags;switch(r.tag){case 22:Rl(n,r),i&2048&&Nl(r.alternate,r);break;case 24:Rl(n,r),i&2048&&Pl(r.alternate,r);break;default:Rl(n,r)}t=t.sibling}}var zl=8192;function Bl(e,t,n){if(e.subtreeFlags&zl)for(e=e.child;e!==null;)Vl(e,t,n),e=e.sibling}function Vl(e,t,n){switch(e.tag){case 26:Bl(e,t,n),e.flags&zl&&e.memoizedState!==null&&Qf(n,El,e.memoizedState,e.memoizedProps);break;case 5:Bl(e,t,n);break;case 3:case 4:var r=El;El=wf(e.stateNode.containerInfo),Bl(e,t,n),El=r;break;case 22:e.memoizedState===null&&(r=e.alternate,r!==null&&r.memoizedState!==null?(r=zl,zl=16777216,Bl(e,t,n),zl=r):Bl(e,t,n));break;default:Bl(e,t,n)}}function Hl(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 Ul(e){var t=e.deletions;if(e.flags&16){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];pl=r,Kl(r,e)}Hl(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)Wl(e),e=e.sibling}function Wl(e){switch(e.tag){case 0:case 11:case 15:Ul(e),e.flags&2048&&Zc(9,e,e.return);break;case 3:Ul(e);break;case 12:Ul(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,Gl(e)):Ul(e);break;default:Ul(e)}}function Gl(e){var t=e.deletions;if(e.flags&16){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];pl=r,Kl(r,e)}Hl(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:Zc(8,t,t.return),Gl(t);break;case 22:n=t.stateNode,n._visibility&2&&(n._visibility&=-3,Gl(t));break;default:Gl(t)}e=e.sibling}}function Kl(e,t){for(;pl!==null;){var n=pl;switch(n.tag){case 0:case 11:case 15:Zc(8,n,t);break;case 23:case 22:if(n.memoizedState!==null&&n.memoizedState.cachePool!==null){var r=n.memoizedState.cachePool.pool;r!=null&&r.refCount++}break;case 24:ha(n.memoizedState.cache)}if(r=n.child,r!==null)r.return=n,pl=r;else a:for(n=e;pl!==null;){r=pl;var i=r.sibling,a=r.return;if(gl(r),r===n){pl=null;break a}if(i!==null){i.return=a,pl=i;break a}pl=a}}}var ql={getCacheForType:function(e){var t=sa(pa),n=t.data.get(e);return n===void 0&&(n=e(),t.data.set(e,n)),n},cacheSignal:function(){return sa(pa).controller.signal}},Jl=typeof WeakMap==`function`?WeakMap:Map,Yl=0,Xl=null,Zl=null,Ql=0,$l=0,eu=null,tu=!1,nu=!1,ru=!1,iu=0,au=0,ou=0,su=0,cu=0,lu=0,uu=0,du=null,fu=null,pu=!1,mu=0,hu=0,gu=1/0,_u=null,vu=null,yu=0,bu=null,xu=null,Su=0,Cu=0,wu=null,Tu=null,Eu=0,Du=null;function Ou(){return Yl&2&&Ql!==0?Ql&-Ql:k.T===null?ut():Ed()}function ku(){if(lu===0)if(!(Ql&536870912)||N){var e=Xe;Xe<<=1,!(Xe&3932160)&&(Xe=262144),lu=e}else lu=536870912;return e=so.current,e!==null&&(e.flags|=32),lu}function Au(e,t,n){(e===Xl&&($l===2||$l===9)||e.cancelPendingCommit!==null)&&(Lu(e,0),Pu(e,Ql,lu,!1)),rt(e,n),(!(Yl&2)||e!==Xl)&&(e===Xl&&(!(Yl&2)&&(su|=n),au===4&&Pu(e,Ql,lu,!1)),yd(e))}function ju(e,t,n){if(Yl&6)throw Error(i(327));var r=!n&&(t&127)==0&&(t&e.expiredLanes)===0||et(e,t),a=r?Gu(e,t):Uu(e,t,!0),o=r;do{if(a===0){nu&&!r&&Pu(e,t,0,!1);break}else{if(n=e.current.alternate,o&&!Nu(n)){a=Uu(e,t,!1),o=!1;continue}if(a===2){if(o=t,e.errorRecoveryDisabledLanes&o)var s=0;else s=e.pendingLanes&-536870913,s=s===0?s&536870912?536870912:0:s;if(s!==0){t=s;a:{var c=e;a=du;var l=c.current.memoizedState.isDehydrated;if(l&&(Lu(c,s).flags|=256),s=Uu(c,s,!1),s!==2){if(ru&&!l){c.errorRecoveryDisabledLanes|=o,su|=o,a=4;break a}o=fu,fu=a,o!==null&&(fu===null?fu=o:fu.push.apply(fu,o))}a=s}if(o=!1,a!==2)continue}}if(a===1){Lu(e,0),Pu(e,t,0,!0);break}a:{switch(r=e,o=a,o){case 0:case 1:throw Error(i(345));case 4:if((t&4194048)!==t)break;case 6:Pu(r,t,lu,!tu);break a;case 2:fu=null;break;case 3:case 5:break;default:throw Error(i(329))}if((t&62914560)===t&&(a=mu+300-Ne(),10<a)){if(Pu(r,t,lu,!tu),$e(r,0,!0)!==0)break a;Su=t,r.timeoutHandle=V(Mu.bind(null,r,n,fu,_u,pu,t,lu,su,uu,tu,o,`Throttled`,-0,0),a);break a}Mu(r,n,fu,_u,pu,t,lu,su,uu,tu,o,null,-0,0)}}break}while(1);yd(e)}function Mu(e,t,n,r,i,a,o,s,c,l,u,d,f,p){if(e.timeoutHandle=-1,d=t.subtreeFlags,d&8192||(d&16785408)==16785408){d={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:sn},Vl(t,a,d);var m=(a&62914560)===a?mu-Ne():(a&4194048)===a?hu-Ne():0;if(m=ep(d,m),m!==null){Su=a,e.cancelPendingCommit=m(Qu.bind(null,e,t,a,n,r,i,o,s,c,u,d,null,f,p)),Pu(e,a,o,!l);return}}Qu(e,t,a,n,r,i,o,s,c)}function Nu(e){for(var t=e;;){var n=t.tag;if((n===0||n===11||n===15)&&t.flags&16384&&(n=t.updateQueue,n!==null&&(n=n.stores,n!==null)))for(var r=0;r<n.length;r++){var i=n[r],a=i.getSnapshot;i=i.value;try{if(!kr(a(),i))return!1}catch{return!1}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;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 Pu(e,t,n,r){t&=~cu,t&=~su,e.suspendedLanes|=t,e.pingedLanes&=~t,r&&(e.warmLanes|=t),r=e.expirationTimes;for(var i=t;0<i;){var a=31-Ge(i),o=1<<a;r[a]=-1,i&=~o}n!==0&&at(e,n,t)}function Fu(){return Yl&6?!0:(bd(0,!1),!1)}function Iu(){if(Zl!==null){if($l===0)var e=Zl.return;else e=Zl,$i=Qi=null,Io(e),La=null,Ra=0,e=Zl;for(;e!==null;)Yc(e.alternate,e),e=e.return;Zl=null}}function Lu(e,t){var n=e.timeoutHandle;n!==-1&&(e.timeoutHandle=-1,of(n)),n=e.cancelPendingCommit,n!==null&&(e.cancelPendingCommit=null,n()),Su=0,Iu(),Xl=e,Zl=n=gi(e.current,null),Ql=t,$l=0,eu=null,tu=!1,nu=et(e,t),ru=!1,uu=lu=cu=su=ou=au=0,fu=du=null,pu=!1,t&8&&(t|=t&32);var r=e.entangledLanes;if(r!==0)for(e=e.entanglements,r&=t;0<r;){var i=31-Ge(r),a=1<<i;t|=e[i],r&=~a}return iu=t,oi(),n}function Ru(e,t){vo=null,k.H=Ks,t===P||t===ka?(t=Fa(),$l=3):t===Oa?(t=Fa(),$l=4):$l=t===uc?8:typeof t==`object`&&t&&typeof t.then==`function`?6:1,eu=t,Zl===null&&(au=1,ic(e,wi(t,e.current)))}function zu(){var e=so.current;return e===null?!0:(Ql&4194048)===Ql?co===null:(Ql&62914560)===Ql||Ql&536870912?e===co:!1}function Bu(){var e=k.H;return k.H=Ks,e===null?Ks:e}function Vu(){var e=k.A;return k.A=ql,e}function Hu(){au=4,tu||(Ql&4194048)!==Ql&&so.current!==null||(nu=!0),!(ou&134217727)&&!(su&134217727)||Xl===null||Pu(Xl,Ql,lu,!1)}function Uu(e,t,n){var r=Yl;Yl|=2;var i=Bu(),a=Vu();(Xl!==e||Ql!==t)&&(_u=null,Lu(e,t)),t=!1;var o=au;a:do try{if($l!==0&&Zl!==null){var s=Zl,c=eu;switch($l){case 8:Iu(),o=6;break a;case 3:case 2:case 9:case 6:so.current===null&&(t=!0);var l=$l;if($l=0,eu=null,Yu(e,s,c,l),n&&nu){o=0;break a}break;default:l=$l,$l=0,eu=null,Yu(e,s,c,l)}}Wu(),o=au;break}catch(t){Ru(e,t)}while(1);return t&&e.shellSuspendCounter++,$i=Qi=null,Yl=r,k.H=i,k.A=a,Zl===null&&(Xl=null,Ql=0,oi()),o}function Wu(){for(;Zl!==null;)qu(Zl)}function Gu(e,t){var n=Yl;Yl|=2;var r=Bu(),a=Vu();Xl!==e||Ql!==t?(_u=null,gu=Ne()+500,Lu(e,t)):nu=et(e,t);a:do try{if($l!==0&&Zl!==null){t=Zl;var o=eu;b:switch($l){case 1:$l=0,eu=null,Yu(e,t,o,1);break;case 2:case 9:if(ja(o)){$l=0,eu=null,Ju(t);break}t=function(){$l!==2&&$l!==9||Xl!==e||($l=7),yd(e)},o.then(t,t);break a;case 3:$l=7;break a;case 4:$l=5;break a;case 7:ja(o)?($l=0,eu=null,Ju(t)):($l=0,eu=null,Yu(e,t,o,7));break;case 5:var s=null;switch(Zl.tag){case 26:s=Zl.memoizedState;case 5:case 27:var c=Zl;if(s?Zf(s):c.stateNode.complete){$l=0,eu=null;var l=c.sibling;if(l!==null)Zl=l;else{var u=c.return;u===null?Zl=null:(Zl=u,Xu(u))}break b}}$l=0,eu=null,Yu(e,t,o,5);break;case 6:$l=0,eu=null,Yu(e,t,o,6);break;case 8:Iu(),au=6;break a;default:throw Error(i(462))}}Ku();break}catch(t){Ru(e,t)}while(1);return $i=Qi=null,k.H=r,k.A=a,Yl=n,Zl===null?(Xl=null,Ql=0,oi(),au):0}function Ku(){for(;Zl!==null&&!je();)qu(Zl)}function qu(e){var t=Bc(e.alternate,e,iu);e.memoizedProps=e.pendingProps,t===null?Xu(e):Zl=t}function Ju(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=wc(n,t,t.pendingProps,t.type,void 0,Ql);break;case 11:t=wc(n,t,t.pendingProps,t.type.render,t.ref,Ql);break;case 5:Io(t);default:Yc(n,t),t=Zl=_i(t,iu),t=Bc(n,t,iu)}e.memoizedProps=e.pendingProps,t===null?Xu(e):Zl=t}function Yu(e,t,n,r){$i=Qi=null,Io(t),La=null,Ra=0;var i=t.return;try{if(lc(e,i,t,n,Ql)){au=1,ic(e,wi(n,e.current)),Zl=null;return}}catch(t){if(i!==null)throw Zl=i,t;au=1,ic(e,wi(n,e.current)),Zl=null;return}t.flags&32768?(N||r===1?e=!0:nu||Ql&536870912?e=!1:(tu=e=!0,(r===2||r===9||r===3||r===6)&&(r=so.current,r!==null&&r.tag===13&&(r.flags|=16384))),Zu(t,e)):Xu(t)}function Xu(e){var t=e;do{if(t.flags&32768){Zu(t,tu);return}e=t.return;var n=qc(t.alternate,t,iu);if(n!==null){Zl=n;return}if(t=t.sibling,t!==null){Zl=t;return}Zl=t=e}while(t!==null);au===0&&(au=5)}function Zu(e,t){do{var n=Jc(e.alternate,e);if(n!==null){n.flags&=32767,Zl=n;return}if(n=e.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&(e=e.sibling,e!==null)){Zl=e;return}Zl=e=n}while(e!==null);au=6,Zl=null}function Qu(e,t,n,r,a,o,s,c,l){e.cancelPendingCommit=null;do rd();while(yu!==0);if(Yl&6)throw Error(i(327));if(t!==null){if(t===e.current)throw Error(i(177));if(o=t.lanes|t.childLanes,o|=ai,it(e,n,o,s,c,l),e===Xl&&(Zl=Xl=null,Ql=0),xu=t,bu=e,Su=n,Cu=o,wu=a,Tu=r,t.subtreeFlags&10256||t.flags&10256?(e.callbackNode=null,e.callbackPriority=0,fd(Le,function(){return id(),null})):(e.callbackNode=null,e.callbackPriority=0),r=(t.flags&13878)!=0,t.subtreeFlags&13878||r){r=k.T,k.T=null,a=se.p,se.p=2,s=Yl,Yl|=4;try{ml(e,t,n)}finally{Yl=s,se.p=a,k.T=r}}yu=1,$u(),ed(),td()}}function $u(){if(yu===1){yu=0;var e=bu,t=xu,n=(t.flags&13878)!=0;if(t.subtreeFlags&13878||n){n=k.T,k.T=null;var r=se.p;se.p=2;var i=Yl;Yl|=4;try{Dl(t,e);var a=$d,o=Pr(e.containerInfo),s=a.focusedElem,c=a.selectionRange;if(o!==s&&s&&s.ownerDocument&&Nr(s.ownerDocument.documentElement,s)){if(c!==null&&Fr(s)){var l=c.start,u=c.end;if(u===void 0&&(u=l),`selectionStart`in s)s.selectionStart=l,s.selectionEnd=Math.min(u,s.value.length);else{var d=s.ownerDocument||document,f=d&&d.defaultView||window;if(f.getSelection){var p=f.getSelection(),m=s.textContent.length,h=Math.min(c.start,m),g=c.end===void 0?h:Math.min(c.end,m);!p.extend&&h>g&&(o=g,g=h,h=o);var _=Mr(s,h),v=Mr(s,g);if(_&&v&&(p.rangeCount!==1||p.anchorNode!==_.node||p.anchorOffset!==_.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var y=d.createRange();y.setStart(_.node,_.offset),p.removeAllRanges(),h>g?(p.addRange(y),p.extend(v.node,v.offset)):(y.setEnd(v.node,v.offset),p.addRange(y))}}}}for(d=[],p=s;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof s.focus==`function`&&s.focus(),s=0;s<d.length;s++){var b=d[s];b.element.scrollLeft=b.left,b.element.scrollTop=b.top}}mp=!!Qd,$d=Qd=null}finally{Yl=i,se.p=r,k.T=n}}e.current=t,yu=2}}function ed(){if(yu===2){yu=0;var e=bu,t=xu,n=(t.flags&8772)!=0;if(t.subtreeFlags&8772||n){n=k.T,k.T=null;var r=se.p;se.p=2;var i=Yl;Yl|=4;try{hl(e,t.alternate,t)}finally{Yl=i,se.p=r,k.T=n}}yu=3}}function td(){if(yu===4||yu===3){yu=0,Me();var e=bu,t=xu,n=Su,r=Tu;t.subtreeFlags&10256||t.flags&10256?yu=5:(yu=0,xu=bu=null,nd(e,e.pendingLanes));var i=e.pendingLanes;if(i===0&&(vu=null),lt(n),t=t.stateNode,Ue&&typeof Ue.onCommitFiberRoot==`function`)try{Ue.onCommitFiberRoot(He,t,void 0,(t.current.flags&128)==128)}catch{}if(r!==null){t=k.T,i=se.p,se.p=2,k.T=null;try{for(var a=e.onRecoverableError,o=0;o<r.length;o++){var s=r[o];a(s.value,{componentStack:s.stack})}}finally{k.T=t,se.p=i}}Su&3&&rd(),yd(e),i=e.pendingLanes,n&261930&&i&42?e===Du?Eu++:(Eu=0,Du=e):Eu=0,bd(0,!1)}}function nd(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,ha(t)))}function rd(){return $u(),ed(),td(),id()}function id(){if(yu!==5)return!1;var e=bu,t=Cu;Cu=0;var n=lt(Su),r=k.T,a=se.p;try{se.p=32>n?32:n,k.T=null,n=wu,wu=null;var o=bu,s=Su;if(yu=0,xu=bu=null,Su=0,Yl&6)throw Error(i(331));var c=Yl;if(Yl|=4,Wl(o.current),Il(o,o.current,s,n),Yl=c,bd(0,!1),Ue&&typeof Ue.onPostCommitFiberRoot==`function`)try{Ue.onPostCommitFiberRoot(He,o)}catch{}return!0}finally{se.p=a,k.T=r,nd(e,t)}}function ad(e,t,n){t=wi(n,t),t=oc(e.stateNode,t,2),e=Ya(e,t,2),e!==null&&(rt(e,2),yd(e))}function od(e,t,n){if(e.tag===3)ad(e,e,n);else for(;t!==null;){if(t.tag===3){ad(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(vu===null||!vu.has(r))){e=wi(n,e),n=sc(2),r=Ya(t,n,2),r!==null&&(cc(n,r,t,e),rt(r,2),yd(r));break}}t=t.return}}function sd(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Jl;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(ru=!0,i.add(n),e=cd.bind(null,e,t,n),t.then(e,e))}function cd(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,Xl===e&&(Ql&n)===n&&(au===4||au===3&&(Ql&62914560)===Ql&&300>Ne()-mu?!(Yl&2)&&Lu(e,0):cu|=n,uu===Ql&&(uu=0)),yd(e)}function ld(e,t){t===0&&(t=j()),e=li(e,t),e!==null&&(rt(e,t),yd(e))}function ud(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),ld(e,n)}function dd(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,a=e.memoizedState;a!==null&&(n=a.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(i(314))}r!==null&&r.delete(t),ld(e,n)}function fd(e,t){return ke(e,t)}var pd=null,md=null,hd=!1,gd=!1,_d=!1,vd=0;function yd(e){e!==md&&e.next===null&&(md===null?pd=md=e:md=md.next=e),gd=!0,hd||(hd=!0,Td())}function bd(e,t){if(!_d&&gd){_d=!0;do for(var n=!1,r=pd;r!==null;){if(!t)if(e!==0){var i=r.pendingLanes;if(i===0)var a=0;else{var o=r.suspendedLanes,s=r.pingedLanes;a=(1<<31-Ge(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,wd(r,a))}else a=Ql,a=$e(r,r===Xl?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||et(r,a)||(n=!0,wd(r,a));r=r.next}while(n);_d=!1}}function xd(){I()}function I(){gd=hd=!1;var e=0;vd!==0&&af()&&(e=vd);for(var t=Ne(),n=null,r=pd;r!==null;){var i=r.next,a=Sd(r,t);a===0?(r.next=null,n===null?pd=i:n.next=i,i===null&&(md=n)):(n=r,(e!==0||a&3)&&(gd=!0)),r=i}yu!==0&&yu!==5||bd(e,!1),vd!==0&&(vd=0)}function Sd(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes&-62914561;0<a;){var o=31-Ge(a),s=1<<o,c=i[o];c===-1?((s&n)===0||(s&r)!==0)&&(i[o]=tt(s,t)):c<=t&&(e.expiredLanes|=s),a&=~s}if(t=Xl,n=Ql,n=$e(e,e===t?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r=e.callbackNode,n===0||e===t&&($l===2||$l===9)||e.cancelPendingCommit!==null)return r!==null&&r!==null&&Ae(r),e.callbackNode=null,e.callbackPriority=0;if(!(n&3)||et(e,n)){if(t=n&-n,t===e.callbackPriority)return t;switch(r!==null&&Ae(r),lt(n)){case 2:case 8:n=Ie;break;case 32:n=Le;break;case 268435456:n=ze;break;default:n=Le}return r=Cd.bind(null,e),n=ke(n,r),e.callbackPriority=t,e.callbackNode=n,t}return r!==null&&r!==null&&Ae(r),e.callbackPriority=2,e.callbackNode=null,2}function Cd(e,t){if(yu!==0&&yu!==5)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(rd()&&e.callbackNode!==n)return null;var r=Ql;return r=$e(e,e===Xl?r:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r===0?null:(ju(e,r,t),Sd(e,Ne()),e.callbackNode!=null&&e.callbackNode===n?Cd.bind(null,e):null)}function wd(e,t){if(rd())return null;ju(e,t,!0)}function Td(){sf(function(){Yl&6?ke(Fe,xd):I()})}function Ed(){if(vd===0){var e=va;e===0&&(e=Ye,Ye<<=1,!(Ye&261888)&&(Ye=256)),vd=e}return vd}function Dd(e){return e==null||typeof e==`symbol`||typeof e==`boolean`?null:typeof e==`function`?e:on(``+e)}function Od(e,t){var n=t.ownerDocument.createElement(`input`);return n.name=t.name,n.value=t.value,e.id&&n.setAttribute(`form`,e.id),t.parentNode.insertBefore(n,t),e=new FormData(e),n.parentNode.removeChild(n),e}function kd(e,t,n,r,i){if(t===`submit`&&n&&n.stateNode===i){var a=Dd((i[mt]||null).action),o=r.submitter;o&&(t=(t=o[mt]||null)?Dd(t.formAction):o.getAttribute(`formAction`),t!==null&&(a=t,o=null));var s=new On(`action`,`action`,null,r,i);e.push({event:s,listeners:[{instance:null,listener:function(){if(r.defaultPrevented){if(vd!==0){var e=o?Od(i,o):new FormData(i);Ms(n,{pending:!0,data:e,method:i.method,action:a},null,e)}}else typeof a==`function`&&(s.preventDefault(),e=o?Od(i,o):new FormData(i),Ms(n,{pending:!0,data:e,method:i.method,action:a},a,e))},currentTarget:i}]})}}for(var Ad=0;Ad<ti.length;Ad++){var jd=ti[Ad];M(jd.toLowerCase(),`on`+(jd[0].toUpperCase()+jd.slice(1)))}M(qr,`onAnimationEnd`),M(Jr,`onAnimationIteration`),M(Yr,`onAnimationStart`),M(`dblclick`,`onDoubleClick`),M(`focusin`,`onFocus`),M(`focusout`,`onBlur`),M(Xr,`onTransitionRun`),M(Zr,`onTransitionStart`),M(Qr,`onTransitionCancel`),M($r,`onTransitionEnd`),At(`onMouseEnter`,[`mouseout`,`mouseover`]),At(`onMouseLeave`,[`mouseout`,`mouseover`]),At(`onPointerEnter`,[`pointerout`,`pointerover`]),At(`onPointerLeave`,[`pointerout`,`pointerover`]),kt(`onChange`,`change click focusin focusout input keydown keyup selectionchange`.split(` `)),kt(`onSelect`,`focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange`.split(` `)),kt(`onBeforeInput`,[`compositionend`,`keypress`,`textInput`,`paste`]),kt(`onCompositionEnd`,`compositionend focusout keydown keypress keyup mousedown`.split(` `)),kt(`onCompositionStart`,`compositionstart focusout keydown keypress keyup mousedown`.split(` `)),kt(`onCompositionUpdate`,`compositionupdate focusout keydown keypress keyup mousedown`.split(` `));var Md=`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(` `),Nd=new Set(`beforetoggle cancel close invalid load scroll scrollend toggle`.split(` `).concat(Md));function Pd(e,t){t=(t&4)!=0;for(var n=0;n<e.length;n++){var r=e[n],i=r.event;r=r.listeners;a:{var a=void 0;if(t)for(var o=r.length-1;0<=o;o--){var s=r[o],c=s.instance,l=s.currentTarget;if(s=s.listener,c!==a&&i.isPropagationStopped())break a;a=s,i.currentTarget=l;try{a(i)}catch(e){ni(e)}i.currentTarget=null,a=c}else for(o=0;o<r.length;o++){if(s=r[o],c=s.instance,l=s.currentTarget,s=s.listener,c!==a&&i.isPropagationStopped())break a;a=s,i.currentTarget=l;try{a(i)}catch(e){ni(e)}i.currentTarget=null,a=c}}}}function Fd(e,t){var n=t[gt];n===void 0&&(n=t[gt]=new Set);var r=e+`__bubble`;n.has(r)||(zd(t,e,2,!1),n.add(r))}function Id(e,t,n){var r=0;t&&(r|=4),zd(n,e,r,t)}var Ld=`_reactListening`+Math.random().toString(36).slice(2);function Rd(e){if(!e[Ld]){e[Ld]=!0,Dt.forEach(function(t){t!==`selectionchange`&&(Nd.has(t)||Id(t,!1,e),Id(t,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Ld]||(t[Ld]=!0,Id(`selectionchange`,!1,t))}}function zd(e,t,n,r){switch(xp(t)){case 2:var i=hp;break;case 8:i=gp;break;default:i=_p}n=i.bind(null,t,n,e),i=void 0,!_n||t!==`touchstart`&&t!==`touchmove`&&t!==`wheel`||(i=!0),r?i===void 0?e.addEventListener(t,n,!0):e.addEventListener(t,n,{capture:!0,passive:i}):i===void 0?e.addEventListener(t,n,!1):e.addEventListener(t,n,{passive:i})}function Bd(e,t,n,r,i){var a=r;if(!(t&1)&&!(t&2)&&r!==null)a:for(;;){if(r===null)return;var s=r.tag;if(s===3||s===4){var c=r.stateNode.containerInfo;if(c===i)break;if(s===4)for(s=r.return;s!==null;){var l=s.tag;if((l===3||l===4)&&s.stateNode.containerInfo===i)return;s=s.return}for(;c!==null;){if(s=St(c),s===null)return;if(l=s.tag,l===5||l===6||l===26||l===27){r=a=s;continue a}c=c.parentNode}}r=r.return}mn(function(){var r=a,i=ln(n),s=[];a:{var c=ei.get(e);if(c!==void 0){var l=On,u=e;switch(e){case`keypress`:if(Cn(n)===0)break a;case`keydown`:case`keyup`:l=Kn;break;case`focusin`:u=`focus`,l=Ln;break;case`focusout`:u=`blur`,l=Ln;break;case`beforeblur`:case`afterblur`:l=Ln;break;case`click`:if(n.button===2)break a;case`auxclick`:case`dblclick`:case`mousedown`:case`mousemove`:case`mouseup`:case`mouseout`:case`mouseover`:case`contextmenu`:l=Fn;break;case`drag`:case`dragend`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`dragstart`:case`drop`:l=In;break;case`touchcancel`:case`touchend`:case`touchmove`:case`touchstart`:l=Jn;break;case qr:case Jr:case Yr:l=Rn;break;case $r:l=Yn;break;case`scroll`:case`scrollend`:l=An;break;case`wheel`:l=Xn;break;case`copy`:case`cut`:case`paste`:l=zn;break;case`gotpointercapture`:case`lostpointercapture`:case`pointercancel`:case`pointerdown`:case`pointermove`:case`pointerout`:case`pointerover`:case`pointerup`:l=qn;break;case`toggle`:case`beforetoggle`:l=Zn}var d=(t&4)!=0,f=!d&&(e===`scroll`||e===`scrollend`),p=d?c===null?null:c+`Capture`:c;d=[];for(var m=r,h;m!==null;){var g=m;if(h=g.stateNode,g=g.tag,g!==5&&g!==26&&g!==27||h===null||p===null||(g=hn(m,p),g!=null&&d.push(Vd(m,g,h))),f)break;m=m.return}0<d.length&&(c=new l(c,u,null,n,i),s.push({event:c,listeners:d}))}}if(!(t&7)){a:{if(c=e===`mouseover`||e===`pointerover`,l=e===`mouseout`||e===`pointerout`,c&&n!==cn&&(u=n.relatedTarget||n.fromElement)&&(St(u)||u[ht]))break a;if((l||c)&&(c=i.window===i?i:(c=i.ownerDocument)?c.defaultView||c.parentWindow:window,l?(u=n.relatedTarget||n.toElement,l=r,u=u?St(u):null,u!==null&&(f=o(u),d=u.tag,u!==f||d!==5&&d!==27&&d!==6)&&(u=null)):(l=null,u=r),l!==u)){if(d=Fn,g=`onMouseLeave`,p=`onMouseEnter`,m=`mouse`,(e===`pointerout`||e===`pointerover`)&&(d=qn,g=`onPointerLeave`,p=`onPointerEnter`,m=`pointer`),f=l==null?c:wt(l),h=u==null?c:wt(u),c=new d(g,m+`leave`,l,n,i),c.target=f,c.relatedTarget=h,g=null,St(i)===r&&(d=new d(p,m+`enter`,u,n,i),d.target=h,d.relatedTarget=f,g=d),f=g,l&&u)b:{for(d=L,p=l,m=u,h=0,g=p;g;g=d(g))h++;g=0;for(var _=m;_;_=d(_))g++;for(;0<h-g;)p=d(p),h--;for(;0<g-h;)m=d(m),g--;for(;h--;){if(p===m||m!==null&&p===m.alternate){d=p;break b}p=d(p),m=d(m)}d=null}else d=null;l!==null&&Ud(s,c,l,d,!1),u!==null&&f!==null&&Ud(s,f,u,d,!0)}}a:{if(c=r?wt(r):window,l=c.nodeName&&c.nodeName.toLowerCase(),l===`select`||l===`input`&&c.type===`file`)var v=_r;else if(dr(c))if(vr)v=Dr;else{v=Tr;var y=wr}else l=c.nodeName,!l||l.toLowerCase()!==`input`||c.type!==`checkbox`&&c.type!==`radio`?r&&nn(r.elementType)&&(v=_r):v=Er;if(v&&=v(e,r)){fr(s,v,n,i);break a}y&&y(e,c,r),e===`focusout`&&r&&c.type===`number`&&r.memoizedProps.value!=null&&Jt(c,`number`,c.value)}switch(y=r?wt(r):window,e){case`focusin`:(dr(y)||y.contentEditable===`true`)&&(Lr=y,Rr=r,zr=null);break;case`focusout`:zr=Rr=Lr=null;break;case`mousedown`:Br=!0;break;case`contextmenu`:case`mouseup`:case`dragend`:Br=!1,Vr(s,n,i);break;case`selectionchange`:if(Ir)break;case`keydown`:case`keyup`:Vr(s,n,i)}var b;if($n)b:{switch(e){case`compositionstart`:var x=`onCompositionStart`;break b;case`compositionend`:x=`onCompositionEnd`;break b;case`compositionupdate`:x=`onCompositionUpdate`;break b}x=void 0}else sr?ar(e,n)&&(x=`onCompositionEnd`):e===`keydown`&&n.keyCode===229&&(x=`onCompositionStart`);x&&(nr&&n.locale!==`ko`&&(sr||x!==`onCompositionStart`?x===`onCompositionEnd`&&sr&&(b=Sn()):(yn=i,bn=`value`in yn?yn.value:yn.textContent,sr=!0)),y=Hd(r,x),0<y.length&&(x=new Bn(x,e,null,n,i),s.push({event:x,listeners:y}),b?x.data=b:(b=or(n),b!==null&&(x.data=b)))),(b=tr?cr(e,n):lr(e,n))&&(x=Hd(r,`onBeforeInput`),0<x.length&&(y=new Bn(`onBeforeInput`,`beforeinput`,null,n,i),s.push({event:y,listeners:x}),y.data=b)),kd(s,e,r,n,i)}Pd(s,t)})}function Vd(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Hd(e,t){for(var n=t+`Capture`,r=[];e!==null;){var i=e,a=i.stateNode;if(i=i.tag,i!==5&&i!==26&&i!==27||a===null||(i=hn(e,n),i!=null&&r.unshift(Vd(e,i,a)),i=hn(e,t),i!=null&&r.push(Vd(e,i,a))),e.tag===3)return r;e=e.return}return[]}function L(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Ud(e,t,n,r,i){for(var a=t._reactName,o=[];n!==null&&n!==r;){var s=n,c=s.alternate,l=s.stateNode;if(s=s.tag,c!==null&&c===r)break;s!==5&&s!==26&&s!==27||l===null||(c=l,i?(l=hn(n,a),l!=null&&o.unshift(Vd(n,l,c))):i||(l=hn(n,a),l!=null&&o.push(Vd(n,l,c)))),n=n.return}o.length!==0&&e.push({event:t,listeners:o})}var Wd=/\r\n?/g,Gd=/\u0000|\uFFFD/g;function R(e){return(typeof e==`string`?e:``+e).replace(Wd,`
|
|
9
|
-
`).replace(Gd,``)}function Kd(e,t){return t=R(t),R(e)===t}function qd(e,t,n,r,a,o){switch(n){case`children`:typeof r==`string`?t===`body`||t===`textarea`&&r===``||Qt(e,r):(typeof r==`number`||typeof r==`bigint`)&&t!==`body`&&Qt(e,``+r);break;case`className`:It(e,`class`,r);break;case`tabIndex`:It(e,`tabindex`,r);break;case`dir`:case`role`:case`viewBox`:case`width`:case`height`:It(e,n,r);break;case`style`:tn(e,r,o);break;case`data`:if(t!==`object`){It(e,`data`,r);break}case`src`:case`href`:if(r===``&&(t!==`a`||n!==`href`)){e.removeAttribute(n);break}if(r==null||typeof r==`function`||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}r=on(``+r),e.setAttribute(n,r);break;case`action`:case`formAction`:if(typeof r==`function`){e.setAttribute(n,`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 o==`function`&&(n===`formAction`?(t!==`input`&&qd(e,t,`name`,a.name,a,null),qd(e,t,`formEncType`,a.formEncType,a,null),qd(e,t,`formMethod`,a.formMethod,a,null),qd(e,t,`formTarget`,a.formTarget,a,null)):(qd(e,t,`encType`,a.encType,a,null),qd(e,t,`method`,a.method,a,null),qd(e,t,`target`,a.target,a,null)));if(r==null||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}r=on(``+r),e.setAttribute(n,r);break;case`onClick`:r!=null&&(e.onclick=sn);break;case`onScroll`:r!=null&&Fd(`scroll`,e);break;case`onScrollEnd`:r!=null&&Fd(`scrollend`,e);break;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(i(61));if(n=r.__html,n!=null){if(a.children!=null)throw Error(i(60));e.innerHTML=n}}break;case`multiple`:e.multiple=r&&typeof r!=`function`&&typeof r!=`symbol`;break;case`muted`:e.muted=r&&typeof r!=`function`&&typeof r!=`symbol`;break;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`defaultValue`:case`defaultChecked`:case`innerHTML`:case`ref`:break;case`autoFocus`:break;case`xlinkHref`:if(r==null||typeof r==`function`||typeof r==`boolean`||typeof r==`symbol`){e.removeAttribute(`xlink:href`);break}n=on(``+r),e.setAttributeNS(`http://www.w3.org/1999/xlink`,`xlink:href`,n);break;case`contentEditable`:case`spellCheck`:case`draggable`:case`value`:case`autoReverse`:case`externalResourcesRequired`:case`focusable`:case`preserveAlpha`:r!=null&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,``+r):e.removeAttribute(n);break;case`inert`:case`allowFullScreen`:case`async`:case`autoPlay`:case`controls`:case`default`:case`defer`:case`disabled`:case`disablePictureInPicture`:case`disableRemotePlayback`:case`formNoValidate`:case`hidden`:case`loop`:case`noModule`:case`noValidate`:case`open`:case`playsInline`:case`readOnly`:case`required`:case`reversed`:case`scoped`:case`seamless`:case`itemScope`:r&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,``):e.removeAttribute(n);break;case`capture`:case`download`:!0===r?e.setAttribute(n,``):!1!==r&&r!=null&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,r):e.removeAttribute(n);break;case`cols`:case`rows`:case`size`:case`span`:r!=null&&typeof r!=`function`&&typeof r!=`symbol`&&!isNaN(r)&&1<=r?e.setAttribute(n,r):e.removeAttribute(n);break;case`rowSpan`:case`start`:r==null||typeof r==`function`||typeof r==`symbol`||isNaN(r)?e.removeAttribute(n):e.setAttribute(n,r);break;case`popover`:Fd(`beforetoggle`,e),Fd(`toggle`,e),Ft(e,`popover`,r);break;case`xlinkActuate`:Lt(e,`http://www.w3.org/1999/xlink`,`xlink:actuate`,r);break;case`xlinkArcrole`:Lt(e,`http://www.w3.org/1999/xlink`,`xlink:arcrole`,r);break;case`xlinkRole`:Lt(e,`http://www.w3.org/1999/xlink`,`xlink:role`,r);break;case`xlinkShow`:Lt(e,`http://www.w3.org/1999/xlink`,`xlink:show`,r);break;case`xlinkTitle`:Lt(e,`http://www.w3.org/1999/xlink`,`xlink:title`,r);break;case`xlinkType`:Lt(e,`http://www.w3.org/1999/xlink`,`xlink:type`,r);break;case`xmlBase`:Lt(e,`http://www.w3.org/XML/1998/namespace`,`xml:base`,r);break;case`xmlLang`:Lt(e,`http://www.w3.org/XML/1998/namespace`,`xml:lang`,r);break;case`xmlSpace`:Lt(e,`http://www.w3.org/XML/1998/namespace`,`xml:space`,r);break;case`is`:Ft(e,`is`,r);break;case`innerText`:case`textContent`:break;default:(!(2<n.length)||n[0]!==`o`&&n[0]!==`O`||n[1]!==`n`&&n[1]!==`N`)&&(n=rn.get(n)||n,Ft(e,n,r))}}function Jd(e,t,n,r,a,o){switch(n){case`style`:tn(e,r,o);break;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(i(61));if(n=r.__html,n!=null){if(a.children!=null)throw Error(i(60));e.innerHTML=n}}break;case`children`:typeof r==`string`?Qt(e,r):(typeof r==`number`||typeof r==`bigint`)&&Qt(e,``+r);break;case`onScroll`:r!=null&&Fd(`scroll`,e);break;case`onScrollEnd`:r!=null&&Fd(`scrollend`,e);break;case`onClick`:r!=null&&(e.onclick=sn);break;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`innerHTML`:case`ref`:break;case`innerText`:case`textContent`:break;default:if(!Ot.hasOwnProperty(n))a:{if(n[0]===`o`&&n[1]===`n`&&(a=n.endsWith(`Capture`),t=n.slice(2,a?n.length-7:void 0),o=e[mt]||null,o=o==null?null:o[n],typeof o==`function`&&e.removeEventListener(t,o,a),typeof r==`function`)){typeof o!=`function`&&o!==null&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(t,r,a);break a}n in e?e[n]=r:!0===r?e.setAttribute(n,``):Ft(e,n,r)}}}function Yd(e,t,n){switch(t){case`div`:case`span`:case`svg`:case`path`:case`a`:case`g`:case`p`:case`li`:break;case`img`:Fd(`error`,e),Fd(`load`,e);var r=!1,a=!1,o;for(o in n)if(n.hasOwnProperty(o)){var s=n[o];if(s!=null)switch(o){case`src`:r=!0;break;case`srcSet`:a=!0;break;case`children`:case`dangerouslySetInnerHTML`:throw Error(i(137,t));default:qd(e,t,o,s,n,null)}}a&&qd(e,t,`srcSet`,n.srcSet,n,null),r&&qd(e,t,`src`,n.src,n,null);return;case`input`:Fd(`invalid`,e);var c=o=s=a=null,l=null,u=null;for(r in n)if(n.hasOwnProperty(r)){var d=n[r];if(d!=null)switch(r){case`name`:a=d;break;case`type`:s=d;break;case`checked`:l=d;break;case`defaultChecked`:u=d;break;case`value`:o=d;break;case`defaultValue`:c=d;break;case`children`:case`dangerouslySetInnerHTML`:if(d!=null)throw Error(i(137,t));break;default:qd(e,t,r,d,n,null)}}qt(e,o,c,l,u,s,a,!1);return;case`select`:for(a in Fd(`invalid`,e),r=s=o=null,n)if(n.hasOwnProperty(a)&&(c=n[a],c!=null))switch(a){case`value`:o=c;break;case`defaultValue`:s=c;break;case`multiple`:r=c;default:qd(e,t,a,c,n,null)}t=o,n=s,e.multiple=!!r,t==null?n!=null&&Yt(e,!!r,n,!0):Yt(e,!!r,t,!1);return;case`textarea`:for(s in Fd(`invalid`,e),o=a=r=null,n)if(n.hasOwnProperty(s)&&(c=n[s],c!=null))switch(s){case`value`:r=c;break;case`defaultValue`:a=c;break;case`children`:o=c;break;case`dangerouslySetInnerHTML`:if(c!=null)throw Error(i(91));break;default:qd(e,t,s,c,n,null)}Zt(e,r,a,o);return;case`option`:for(l in n)if(n.hasOwnProperty(l)&&(r=n[l],r!=null))switch(l){case`selected`:e.selected=r&&typeof r!=`function`&&typeof r!=`symbol`;break;default:qd(e,t,l,r,n,null)}return;case`dialog`:Fd(`beforetoggle`,e),Fd(`toggle`,e),Fd(`cancel`,e),Fd(`close`,e);break;case`iframe`:case`object`:Fd(`load`,e);break;case`video`:case`audio`:for(r=0;r<Md.length;r++)Fd(Md[r],e);break;case`image`:Fd(`error`,e),Fd(`load`,e);break;case`details`:Fd(`toggle`,e);break;case`embed`:case`source`:case`link`:Fd(`error`,e),Fd(`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(u in n)if(n.hasOwnProperty(u)&&(r=n[u],r!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:throw Error(i(137,t));default:qd(e,t,u,r,n,null)}return;default:if(nn(t)){for(d in n)n.hasOwnProperty(d)&&(r=n[d],r!==void 0&&Jd(e,t,d,r,n,void 0));return}}for(c in n)n.hasOwnProperty(c)&&(r=n[c],r!=null&&qd(e,t,c,r,n,null))}function Xd(e,t,n,r){switch(t){case`div`:case`span`:case`svg`:case`path`:case`a`:case`g`:case`p`:case`li`:break;case`input`:var a=null,o=null,s=null,c=null,l=null,u=null,d=null;for(m in n){var f=n[m];if(n.hasOwnProperty(m)&&f!=null)switch(m){case`checked`:break;case`value`:break;case`defaultValue`:l=f;default:r.hasOwnProperty(m)||qd(e,t,m,null,r,f)}}for(var p in r){var m=r[p];if(f=n[p],r.hasOwnProperty(p)&&(m!=null||f!=null))switch(p){case`type`:o=m;break;case`name`:a=m;break;case`checked`:u=m;break;case`defaultChecked`:d=m;break;case`value`:s=m;break;case`defaultValue`:c=m;break;case`children`:case`dangerouslySetInnerHTML`:if(m!=null)throw Error(i(137,t));break;default:m!==f&&qd(e,t,p,m,r,f)}}Kt(e,s,c,l,u,d,o,a);return;case`select`:for(o in m=s=c=p=null,n)if(l=n[o],n.hasOwnProperty(o)&&l!=null)switch(o){case`value`:break;case`multiple`:m=l;default:r.hasOwnProperty(o)||qd(e,t,o,null,r,l)}for(a in r)if(o=r[a],l=n[a],r.hasOwnProperty(a)&&(o!=null||l!=null))switch(a){case`value`:p=o;break;case`defaultValue`:c=o;break;case`multiple`:s=o;default:o!==l&&qd(e,t,a,o,r,l)}t=c,n=s,r=m,p==null?!!r!=!!n&&(t==null?Yt(e,!!n,n?[]:``,!1):Yt(e,!!n,t,!0)):Yt(e,!!n,p,!1);return;case`textarea`:for(c in m=p=null,n)if(a=n[c],n.hasOwnProperty(c)&&a!=null&&!r.hasOwnProperty(c))switch(c){case`value`:break;case`children`:break;default:qd(e,t,c,null,r,a)}for(s in r)if(a=r[s],o=n[s],r.hasOwnProperty(s)&&(a!=null||o!=null))switch(s){case`value`:p=a;break;case`defaultValue`:m=a;break;case`children`:break;case`dangerouslySetInnerHTML`:if(a!=null)throw Error(i(91));break;default:a!==o&&qd(e,t,s,a,r,o)}Xt(e,p,m);return;case`option`:for(var h in n)if(p=n[h],n.hasOwnProperty(h)&&p!=null&&!r.hasOwnProperty(h))switch(h){case`selected`:e.selected=!1;break;default:qd(e,t,h,null,r,p)}for(l in r)if(p=r[l],m=n[l],r.hasOwnProperty(l)&&p!==m&&(p!=null||m!=null))switch(l){case`selected`:e.selected=p&&typeof p!=`function`&&typeof p!=`symbol`;break;default:qd(e,t,l,p,r,m)}return;case`img`:case`link`:case`area`:case`base`:case`br`:case`col`:case`embed`:case`hr`:case`keygen`:case`meta`:case`param`:case`source`:case`track`:case`wbr`:case`menuitem`:for(var g in n)p=n[g],n.hasOwnProperty(g)&&p!=null&&!r.hasOwnProperty(g)&&qd(e,t,g,null,r,p);for(u in r)if(p=r[u],m=n[u],r.hasOwnProperty(u)&&p!==m&&(p!=null||m!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:if(p!=null)throw Error(i(137,t));break;default:qd(e,t,u,p,r,m)}return;default:if(nn(t)){for(var _ in n)p=n[_],n.hasOwnProperty(_)&&p!==void 0&&!r.hasOwnProperty(_)&&Jd(e,t,_,void 0,r,p);for(d in r)p=r[d],m=n[d],!r.hasOwnProperty(d)||p===m||p===void 0&&m===void 0||Jd(e,t,d,p,r,m);return}}for(var v in n)p=n[v],n.hasOwnProperty(v)&&p!=null&&!r.hasOwnProperty(v)&&qd(e,t,v,null,r,p);for(f in r)p=r[f],m=n[f],!r.hasOwnProperty(f)||p===m||p==null&&m==null||qd(e,t,f,p,r,m)}function z(e){switch(e){case`css`:case`script`:case`font`:case`img`:case`image`:case`input`:case`link`:return!0;default:return!1}}function Zd(){if(typeof performance.getEntriesByType==`function`){for(var e=0,t=0,n=performance.getEntriesByType(`resource`),r=0;r<n.length;r++){var i=n[r],a=i.transferSize,o=i.initiatorType,s=i.duration;if(a&&s&&z(o)){for(o=0,s=i.responseEnd,r+=1;r<n.length;r++){var c=n[r],l=c.startTime;if(l>s)break;var u=c.transferSize,d=c.initiatorType;u&&z(d)&&(c=c.responseEnd,o+=u*(c<s?1:(s-l)/(c-l)))}if(--r,t+=8*(a+o)/(i.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e==`number`)?e:5}var Qd=null,$d=null;function ef(e){return e.nodeType===9?e:e.ownerDocument}function tf(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 nf(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 rf(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 B=null;function af(){var e=window.event;return e&&e.type===`popstate`?e===B?!1:(B=e,!0):(B=null,!1)}var V=typeof setTimeout==`function`?setTimeout:void 0,of=typeof clearTimeout==`function`?clearTimeout:void 0,H=typeof Promise==`function`?Promise:void 0,sf=typeof queueMicrotask==`function`?queueMicrotask:H===void 0?V:function(e){return H.resolve(null).then(e).catch(cf)};function cf(e){setTimeout(function(){throw e})}function lf(e){return e===`head`}function uf(e,t){var n=t,r=0;do{var i=n.nextSibling;if(e.removeChild(n),i&&i.nodeType===8)if(n=i.data,n===`/$`||n===`/&`){if(r===0){e.removeChild(i),Bp(t);return}r--}else if(n===`$`||n===`$?`||n===`$~`||n===`$!`||n===`&`)r++;else if(n===`html`)xf(e.ownerDocument.documentElement);else if(n===`head`){n=e.ownerDocument.head,xf(n);for(var a=n.firstChild;a;){var o=a.nextSibling,s=a.nodeName;a[bt]||s===`SCRIPT`||s===`STYLE`||s===`LINK`&&a.rel.toLowerCase()===`stylesheet`||n.removeChild(a),a=o}}else n===`body`&&xf(e.ownerDocument.body);n=i}while(n);Bp(t)}function df(e,t){var n=e;e=0;do{var r=n.nextSibling;if(n.nodeType===1?t?(n._stashedDisplay=n.style.display,n.style.display=`none`):(n.style.display=n._stashedDisplay||``,n.getAttribute(`style`)===``&&n.removeAttribute(`style`)):n.nodeType===3&&(t?(n._stashedText=n.nodeValue,n.nodeValue=``):n.nodeValue=n._stashedText||``),r&&r.nodeType===8)if(n=r.data,n===`/$`){if(e===0)break;e--}else n!==`$`&&n!==`$?`&&n!==`$~`&&n!==`$!`||e++;n=r}while(n)}function ff(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case`HTML`:case`HEAD`:case`BODY`:ff(n),xt(n);continue;case`SCRIPT`:case`STYLE`:continue;case`LINK`:if(n.rel.toLowerCase()===`stylesheet`)continue}e.removeChild(n)}}function pf(e,t,n,r){for(;e.nodeType===1;){var i=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!r&&(e.nodeName!==`INPUT`||e.type!==`hidden`))break}else if(!r)if(t===`input`&&e.type===`hidden`){var a=i.name==null?null:``+i.name;if(i.type===`hidden`&&e.getAttribute(`name`)===a)return e}else return e;else if(!e[bt])switch(t){case`meta`:if(!e.hasAttribute(`itemprop`))break;return e;case`link`:if(a=e.getAttribute(`rel`),a===`stylesheet`&&e.hasAttribute(`data-precedence`)||a!==i.rel||e.getAttribute(`href`)!==(i.href==null||i.href===``?null:i.href)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin)||e.getAttribute(`title`)!==(i.title==null?null:i.title))break;return e;case`style`:if(e.hasAttribute(`data-precedence`))break;return e;case`script`:if(a=e.getAttribute(`src`),(a!==(i.src==null?null:i.src)||e.getAttribute(`type`)!==(i.type==null?null:i.type)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin))&&a&&e.hasAttribute(`async`)&&!e.hasAttribute(`itemprop`))break;return e;default:return e}if(e=gf(e.nextSibling),e===null)break}return null}function U(e,t,n){if(t===``)return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!n||(e=gf(e.nextSibling),e===null))return null;return e}function mf(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!t||(e=gf(e.nextSibling),e===null))return null;return e}function W(e){return e.data===`$?`||e.data===`$~`}function hf(e){return e.data===`$!`||e.data===`$?`&&e.ownerDocument.readyState!==`loading`}function G(e,t){var n=e.ownerDocument;if(e.data===`$~`)e._reactRetry=t;else if(e.data!==`$?`||n.readyState!==`loading`)t();else{var r=function(){t(),n.removeEventListener(`DOMContentLoaded`,r)};n.addEventListener(`DOMContentLoaded`,r),e._reactRetry=r}}function gf(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 _f=null;function vf(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`/$`||n===`/&`){if(t===0)return gf(e.nextSibling);t--}else n!==`$`&&n!==`$!`&&n!==`$?`&&n!==`$~`&&n!==`&`||t++}e=e.nextSibling}return null}function yf(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`$`||n===`$!`||n===`$?`||n===`$~`||n===`&`){if(t===0)return e;t--}else n!==`/$`&&n!==`/&`||t++}e=e.previousSibling}return null}function bf(e,t,n){switch(t=ef(n),e){case`html`:if(e=t.documentElement,!e)throw Error(i(452));return e;case`head`:if(e=t.head,!e)throw Error(i(453));return e;case`body`:if(e=t.body,!e)throw Error(i(454));return e;default:throw Error(i(451))}}function xf(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);xt(e)}var Sf=new Map,Cf=new Set;function wf(e){return typeof e.getRootNode==`function`?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var Tf=se.d;se.d={f:Ef,r:Df,D:Af,C:jf,L:Mf,m:Nf,X:Ff,S:Pf,M:If};function Ef(){var e=Tf.f(),t=Fu();return e||t}function Df(e){var t=Ct(e);t!==null&&t.tag===5&&t.type===`form`?Ps(t):Tf.r(e)}var Of=typeof document>`u`?null:document;function kf(e,t,n){var r=Of;if(r&&typeof t==`string`&&t){var i=Gt(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),Cf.has(i)||(Cf.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),Yd(t,`link`,e),Et(t),r.head.appendChild(t)))}}function Af(e){Tf.D(e),kf(`dns-prefetch`,e,null)}function jf(e,t){Tf.C(e,t),kf(`preconnect`,e,t)}function Mf(e,t,n){Tf.L(e,t,n);var r=Of;if(r&&e&&t){var i=`link[rel="preload"][as="`+Gt(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+Gt(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+Gt(n.imageSizes)+`"]`)):i+=`[href="`+Gt(e)+`"]`;var a=i;switch(t){case`style`:a=Rf(e);break;case`script`:a=Hf(e)}Sf.has(a)||(e=m({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),Sf.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(zf(a))||t===`script`&&r.querySelector(Uf(a))||(t=r.createElement(`link`),Yd(t,`link`,e),Et(t),r.head.appendChild(t)))}}function Nf(e,t){Tf.m(e,t);var n=Of;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+Gt(r)+`"][href="`+Gt(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Hf(e)}if(!Sf.has(a)&&(e=m({rel:`modulepreload`,href:e},t),Sf.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(Uf(a)))return}r=n.createElement(`link`),Yd(r,`link`,e),Et(r),n.head.appendChild(r)}}}function Pf(e,t,n){Tf.S(e,t,n);var r=Of;if(r&&e){var i=Tt(r).hoistableStyles,a=Rf(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(zf(a)))s.loading=5;else{e=m({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=Sf.get(a))&&Kf(e,n);var c=o=r.createElement(`link`);Et(c),Yd(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,Gf(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function Ff(e,t){Tf.X(e,t);var n=Of;if(n&&e){var r=Tt(n).hoistableScripts,i=Hf(e),a=r.get(i);a||(a=n.querySelector(Uf(i)),a||(e=m({src:e,async:!0},t),(t=Sf.get(i))&&K(e,t),a=n.createElement(`script`),Et(a),Yd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function If(e,t){Tf.M(e,t);var n=Of;if(n&&e){var r=Tt(n).hoistableScripts,i=Hf(e),a=r.get(i);a||(a=n.querySelector(Uf(i)),a||(e=m({src:e,async:!0,type:`module`},t),(t=Sf.get(i))&&K(e,t),a=n.createElement(`script`),Et(a),Yd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Lf(e,t,n,r){var a=(a=he.current)?wf(a):null;if(!a)throw Error(i(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(t=Rf(n.href),n=Tt(a).hoistableStyles,r=n.get(t),r||(r={type:`style`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};case`link`:if(n.rel===`stylesheet`&&typeof n.href==`string`&&typeof n.precedence==`string`){e=Rf(n.href);var o=Tt(a).hoistableStyles,s=o.get(e);if(s||(a=a.ownerDocument||a,s={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},o.set(e,s),(o=a.querySelector(zf(e)))&&!o._p&&(s.instance=o,s.state.loading=5),Sf.has(e)||(n={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},Sf.set(e,n),o||Vf(a,e,n,s.state))),t&&r===null)throw Error(i(528,``));return s}if(t&&r!==null)throw Error(i(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(t=Hf(n),n=Tt(a).hoistableScripts,r=n.get(t),r||(r={type:`script`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(i(444,e))}}function Rf(e){return`href="`+Gt(e)+`"`}function zf(e){return`link[rel="stylesheet"][`+e+`]`}function Bf(e){return m({},e,{"data-precedence":e.precedence,precedence:null})}function Vf(e,t,n,r){e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)?r.loading=1:(t=e.createElement(`link`),r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2}),Yd(t,`link`,n),Et(t),e.head.appendChild(t))}function Hf(e){return`[src="`+Gt(e)+`"]`}function Uf(e){return`script[async]`+e}function Wf(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+Gt(n.href)+`"]`);if(r)return t.instance=r,Et(r),r;var a=m({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),Et(r),Yd(r,`style`,a),Gf(r,n.precedence,e),t.instance=r;case`stylesheet`:a=Rf(n.href);var o=e.querySelector(zf(a));if(o)return t.state.loading|=4,t.instance=o,Et(o),o;r=Bf(n),(a=Sf.get(a))&&Kf(r,a),o=(e.ownerDocument||e).createElement(`link`),Et(o);var s=o;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),Yd(o,`link`,r),t.state.loading|=4,Gf(o,n.precedence,e),t.instance=o;case`script`:return o=Hf(n.src),(a=e.querySelector(Uf(o)))?(t.instance=a,Et(a),a):(r=n,(a=Sf.get(o))&&(r=m({},n),K(r,a)),e=e.ownerDocument||e,a=e.createElement(`script`),Et(a),Yd(a,`link`,r),e.head.appendChild(a),t.instance=a);case`void`:return null;default:throw Error(i(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,Gf(r,n.precedence,e));return t.instance}function Gf(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o<r.length;o++){var s=r[o];if(s.dataset.precedence===t)a=s;else if(a!==i)break}a?a.parentNode.insertBefore(e,a.nextSibling):(t=n.nodeType===9?n.head:n,t.insertBefore(e,t.firstChild))}function Kf(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.title??=t.title}function K(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.integrity??=t.integrity}var qf=null;function Jf(e,t,n){if(qf===null){var r=new Map,i=qf=new Map;i.set(n,r)}else i=qf,r=i.get(n),r||(r=new Map,i.set(n,r));if(r.has(e))return r;for(r.set(e,null),n=n.getElementsByTagName(e),i=0;i<n.length;i++){var a=n[i];if(!(a[bt]||a[pt]||e===`link`&&a.getAttribute(`rel`)===`stylesheet`)&&a.namespaceURI!==`http://www.w3.org/2000/svg`){var o=a.getAttribute(t)||``;o=e+o;var s=r.get(o);s?s.push(a):r.set(o,[a])}}return r}function Yf(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t===`title`?e.querySelector(`head > title`):null)}function Xf(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function Zf(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function Qf(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=Rf(r.href),a=t.querySelector(zf(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=tp.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,Et(a);return}a=t.ownerDocument||t,r=Bf(r),(i=Sf.get(i))&&Kf(r,i),a=a.createElement(`link`),Et(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),Yd(a,`link`,r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=tp.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var $f=0;function ep(e,t){return e.stylesheets&&e.count===0&&rp(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var r=setTimeout(function(){if(e.stylesheets&&rp(e,e.stylesheets),e.unsuspend){var t=e.unsuspend;e.unsuspend=null,t()}},6e4+t);0<e.imgBytes&&$f===0&&($f=62500*Zd());var i=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&rp(e,e.stylesheets),e.unsuspend)){var t=e.unsuspend;e.unsuspend=null,t()}},(e.imgBytes>$f?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function tp(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)rp(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var np=null;function rp(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,np=new Map,t.forEach(ip,e),np=null,tp.call(e))}function ip(e,t){if(!(t.state.loading&4)){var n=np.get(e);if(n)var r=n.get(null);else{n=new Map,np.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a<i.length;a++){var o=i[a];(o.nodeName===`LINK`||o.getAttribute(`media`)!==`not all`)&&(n.set(o.dataset.precedence,o),r=o)}r&&n.set(null,r)}i=t.instance,o=i.getAttribute(`data-precedence`),a=n.get(o)||r,a===r&&n.set(null,i),n.set(o,i),this.count++,r=tp.bind(this),i.addEventListener(`load`,r),i.addEventListener(`error`,r),a?a.parentNode.insertBefore(i,a.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(i,e.firstChild)),t.state.loading|=4}}var ap={$$typeof:C,Provider:null,Consumer:null,_currentValue:ce,_currentValue2:ce,_threadCount:0};function op(e,t,n,r,i,a,o,s,c){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=nt(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=nt(0),this.hiddenUpdates=nt(null),this.identifierPrefix=r,this.onUncaughtError=i,this.onCaughtError=a,this.onRecoverableError=o,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=c,this.incompleteTransitions=new Map}function sp(e,t,n,r,i,a,o,s,c,l,u,d){return e=new op(e,t,n,o,c,l,u,d,s),t=1,!0===a&&(t|=24),a=mi(3,null,null,t),e.current=a,a.stateNode=e,t=ma(),t.refCount++,e.pooledCache=t,t.refCount++,a.memoizedState={element:r,isDehydrated:n,cache:t},Ka(a),e}function cp(e){return e?(e=fi,e):fi}function lp(e,t,n,r,i,a){i=cp(i),r.context===null?r.context=i:r.pendingContext=i,r=Ja(t),r.payload={element:n},a=a===void 0?null:a,a!==null&&(r.callback=a),n=Ya(e,r,t),n!==null&&(Au(n,e,t),Xa(n,e,t))}function up(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function dp(e,t){up(e,t),(e=e.alternate)&&up(e,t)}function fp(e){if(e.tag===13||e.tag===31){var t=li(e,67108864);t!==null&&Au(t,e,67108864),dp(e,67108864)}}function pp(e){if(e.tag===13||e.tag===31){var t=Ou();t=ct(t);var n=li(e,t);n!==null&&Au(n,e,t),dp(e,t)}}var mp=!0;function hp(e,t,n,r){var i=k.T;k.T=null;var a=se.p;try{se.p=2,_p(e,t,n,r)}finally{se.p=a,k.T=i}}function gp(e,t,n,r){var i=k.T;k.T=null;var a=se.p;try{se.p=8,_p(e,t,n,r)}finally{se.p=a,k.T=i}}function _p(e,t,n,r){if(mp){var i=vp(r);if(i===null)Bd(e,t,r,yp,n),Ap(e,r);else if(Mp(i,e,t,n,r))r.stopPropagation();else if(Ap(e,r),t&4&&-1<kp.indexOf(e)){for(;i!==null;){var a=Ct(i);if(a!==null)switch(a.tag){case 3:if(a=a.stateNode,a.current.memoizedState.isDehydrated){var o=Qe(a.pendingLanes);if(o!==0){var s=a;for(s.pendingLanes|=2,s.entangledLanes|=2;o;){var c=1<<31-Ge(o);s.entanglements[1]|=c,o&=~c}yd(a),!(Yl&6)&&(gu=Ne()+500,bd(0,!1))}}break;case 31:case 13:s=li(a,2),s!==null&&Au(s,a,2),Fu(),dp(a,2)}if(a=vp(r),a===null&&Bd(e,t,r,yp,n),a===i)break;i=a}i!==null&&r.stopPropagation()}else Bd(e,t,r,null,n)}}function vp(e){return e=ln(e),bp(e)}var yp=null;function bp(e){if(yp=null,e=St(e),e!==null){var t=o(e);if(t===null)e=null;else{var n=t.tag;if(n===13){if(e=s(t),e!==null)return e;e=null}else if(n===31){if(e=c(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return yp=e,null}function xp(e){switch(e){case`beforetoggle`:case`cancel`:case`click`:case`close`:case`contextmenu`:case`copy`:case`cut`:case`auxclick`:case`dblclick`:case`dragend`:case`dragstart`:case`drop`:case`focusin`:case`focusout`:case`input`:case`invalid`:case`keydown`:case`keypress`:case`keyup`:case`mousedown`:case`mouseup`:case`paste`:case`pause`:case`play`:case`pointercancel`:case`pointerdown`:case`pointerup`:case`ratechange`:case`reset`:case`resize`:case`seeked`:case`submit`:case`toggle`:case`touchcancel`:case`touchend`:case`touchstart`:case`volumechange`:case`change`:case`selectionchange`:case`textInput`:case`compositionstart`:case`compositionend`:case`compositionupdate`:case`beforeblur`:case`afterblur`:case`beforeinput`:case`blur`:case`fullscreenchange`:case`focus`:case`hashchange`:case`popstate`:case`select`:case`selectstart`:return 2;case`drag`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`mousemove`:case`mouseout`:case`mouseover`:case`pointermove`:case`pointerout`:case`pointerover`:case`scroll`:case`touchmove`:case`wheel`:case`mouseenter`:case`mouseleave`:case`pointerenter`:case`pointerleave`:return 8;case`message`:switch(Pe()){case Fe:return 2;case Ie:return 8;case Le:case Re:return 32;case ze:return 268435456;default:return 32}default:return 32}}var Sp=!1,Cp=null,wp=null,Tp=null,Ep=new Map,Dp=new Map,Op=[],kp=`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 Ap(e,t){switch(e){case`focusin`:case`focusout`:Cp=null;break;case`dragenter`:case`dragleave`:wp=null;break;case`mouseover`:case`mouseout`:Tp=null;break;case`pointerover`:case`pointerout`:Ep.delete(t.pointerId);break;case`gotpointercapture`:case`lostpointercapture`:Dp.delete(t.pointerId)}}function jp(e,t,n,r,i,a){return e===null||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:a,targetContainers:[i]},t!==null&&(t=Ct(t),t!==null&&fp(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,i!==null&&t.indexOf(i)===-1&&t.push(i),e)}function Mp(e,t,n,r,i){switch(t){case`focusin`:return Cp=jp(Cp,e,t,n,r,i),!0;case`dragenter`:return wp=jp(wp,e,t,n,r,i),!0;case`mouseover`:return Tp=jp(Tp,e,t,n,r,i),!0;case`pointerover`:var a=i.pointerId;return Ep.set(a,jp(Ep.get(a)||null,e,t,n,r,i)),!0;case`gotpointercapture`:return a=i.pointerId,Dp.set(a,jp(Dp.get(a)||null,e,t,n,r,i)),!0}return!1}function Np(e){var t=St(e.target);if(t!==null){var n=o(t);if(n!==null){if(t=n.tag,t===13){if(t=s(n),t!==null){e.blockedOn=t,dt(e.priority,function(){pp(n)});return}}else if(t===31){if(t=c(n),t!==null){e.blockedOn=t,dt(e.priority,function(){pp(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Pp(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=vp(e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);cn=r,n.target.dispatchEvent(r),cn=null}else return t=Ct(n),t!==null&&fp(t),e.blockedOn=n,!1;t.shift()}return!0}function Fp(e,t,n){Pp(e)&&n.delete(t)}function Ip(){Sp=!1,Cp!==null&&Pp(Cp)&&(Cp=null),wp!==null&&Pp(wp)&&(wp=null),Tp!==null&&Pp(Tp)&&(Tp=null),Ep.forEach(Fp),Dp.forEach(Fp)}function Lp(e,n){e.blockedOn===n&&(e.blockedOn=null,Sp||(Sp=!0,t.unstable_scheduleCallback(t.unstable_NormalPriority,Ip)))}var Rp=null;function zp(e){Rp!==e&&(Rp=e,t.unstable_scheduleCallback(t.unstable_NormalPriority,function(){Rp===e&&(Rp=null);for(var t=0;t<e.length;t+=3){var n=e[t],r=e[t+1],i=e[t+2];if(typeof r!=`function`){if(bp(r||n)===null)continue;break}var a=Ct(n);a!==null&&(e.splice(t,3),t-=3,Ms(a,{pending:!0,data:i,method:n.method,action:r},r,i))}}))}function Bp(e){function t(t){return Lp(t,e)}Cp!==null&&Lp(Cp,e),wp!==null&&Lp(wp,e),Tp!==null&&Lp(Tp,e),Ep.forEach(t),Dp.forEach(t);for(var n=0;n<Op.length;n++){var r=Op[n];r.blockedOn===e&&(r.blockedOn=null)}for(;0<Op.length&&(n=Op[0],n.blockedOn===null);)Np(n),n.blockedOn===null&&Op.shift();if(n=(e.ownerDocument||e).$$reactFormReplay,n!=null)for(r=0;r<n.length;r+=3){var i=n[r],a=n[r+1],o=i[mt]||null;if(typeof a==`function`)o||zp(n);else if(o){var s=null;if(a&&a.hasAttribute(`formAction`)){if(i=a,o=a[mt]||null)s=o.formAction;else if(bp(i)!==null)continue}else s=o.action;typeof s==`function`?n[r+1]=s:(n.splice(r,3),r-=3),zp(n)}}}function Vp(){function e(e){e.canIntercept&&e.info===`react-transition`&&e.intercept({handler:function(){return new Promise(function(e){return i=e})},focusReset:`manual`,scroll:`manual`})}function t(){i!==null&&(i(),i=null),r||setTimeout(n,20)}function n(){if(!r&&!navigation.transition){var e=navigation.currentEntry;e&&e.url!=null&&navigation.navigate(e.url,{state:e.getState(),info:`react-transition`,history:`replace`})}}if(typeof navigation==`object`){var r=!1,i=null;return navigation.addEventListener(`navigate`,e),navigation.addEventListener(`navigatesuccess`,t),navigation.addEventListener(`navigateerror`,t),setTimeout(n,100),function(){r=!0,navigation.removeEventListener(`navigate`,e),navigation.removeEventListener(`navigatesuccess`,t),navigation.removeEventListener(`navigateerror`,t),i!==null&&(i(),i=null)}}}function Hp(e){this._internalRoot=e}Up.prototype.render=Hp.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(i(409));var n=t.current;lp(n,Ou(),e,t,null,null)},Up.prototype.unmount=Hp.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;lp(e.current,2,null,e,null,null),Fu(),t[ht]=null}};function Up(e){this._internalRoot=e}Up.prototype.unstable_scheduleHydration=function(e){if(e){var t=ut();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Op.length&&t!==0&&t<Op[n].priority;n++);Op.splice(n,0,e),n===0&&Np(e)}};var Wp=n.version;if(Wp!==`19.2.6`)throw Error(i(527,Wp,`19.2.6`));se.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render==`function`?Error(i(188)):(e=Object.keys(e).join(`,`),Error(i(268,e)));return e=u(t),e=e===null?null:f(e),e=e===null?null:e.stateNode,e};var Gp={bundleType:0,version:`19.2.6`,rendererPackageName:`react-dom`,currentDispatcherRef:k,reconcilerVersion:`19.2.6`};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`){var Kp=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Kp.isDisabled&&Kp.supportsFiber)try{He=Kp.inject(Gp),Ue=Kp}catch{}}e.createRoot=function(e,t){if(!a(e))throw Error(i(299));var n=!1,r=``,o=tc,s=nc,c=rc;return t!=null&&(!0===t.unstable_strictMode&&(n=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onUncaughtError!==void 0&&(o=t.onUncaughtError),t.onCaughtError!==void 0&&(s=t.onCaughtError),t.onRecoverableError!==void 0&&(c=t.onRecoverableError)),t=sp(e,1,!1,null,null,n,r,null,o,s,c,Vp),e[ht]=t.current,Rd(e),new Hp(t)}})),_=o(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=g()})),v=e=>typeof e==`string`,y=()=>{let e,t,n=new Promise((n,r)=>{e=n,t=r});return n.resolve=e,n.reject=t,n},b=e=>e==null?``:String(e),x=(e,t,n)=>{e.forEach(e=>{t[e]&&(n[e]=t[e])})},S=/###/g,C=e=>e&&e.includes(`###`)?e.replace(S,`.`):e,w=e=>!e||v(e),T=(e,t,n)=>{let r=v(t)?t.split(`.`):t,i=0;for(;i<r.length-1;){if(w(e))return{};let t=C(r[i]);!e[t]&&n&&(e[t]=new n),e=Object.prototype.hasOwnProperty.call(e,t)?e[t]:{},++i}return w(e)?{}:{obj:e,k:C(r[i])}},E=(e,t,n)=>{let{obj:r,k:i}=T(e,t,Object);if(r!==void 0||t.length===1){r[i]=n;return}let a=t[t.length-1],o=t.slice(0,t.length-1),s=T(e,o,Object);for(;s.obj===void 0&&o.length;)a=`${o[o.length-1]}.${a}`,o=o.slice(0,o.length-1),s=T(e,o,Object),s?.obj&&s.obj[`${s.k}.${a}`]!==void 0&&(s.obj=void 0);s.obj[`${s.k}.${a}`]=n},D=(e,t,n,r)=>{let{obj:i,k:a}=T(e,t,Object);i[a]=i[a]||[],i[a].push(n)},O=(e,t)=>{let{obj:n,k:r}=T(e,t);if(n&&Object.prototype.hasOwnProperty.call(n,r))return n[r]},ee=(e,t,n)=>{let r=O(e,n);return r===void 0?O(t,n):r},te=(e,t,n)=>{for(let r in t)r!==`__proto__`&&r!==`constructor`&&(r in e?v(e[r])||e[r]instanceof String||v(t[r])||t[r]instanceof String?n&&(e[r]=t[r]):te(e[r],t[r],n):e[r]=t[r]);return e},ne=e=>e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,`\\$&`),re={"&":`&`,"<":`<`,">":`>`,'"':`"`,"'":`'`,"/":`/`},ie=e=>v(e)?e.replace(/[&<>"'\/]/g,e=>re[e]):e,ae=class{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){let t=this.regExpMap.get(e);if(t!==void 0)return t;let n=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,n),this.regExpQueue.push(e),n}},oe=[` `,`,`,`?`,`!`,`;`],k=new ae(20),se=(e,t,n)=>{t||=``,n||=``;let r=oe.filter(e=>!t.includes(e)&&!n.includes(e));if(r.length===0)return!0;let i=k.getRegExp(`(${r.map(e=>e===`?`?`\\?`:e).join(`|`)})`),a=!i.test(e);if(!a){let t=e.indexOf(n);t>0&&!i.test(e.substring(0,t))&&(a=!0)}return a},ce=(e,t,n=`.`)=>{if(!e)return;if(e[t])return Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0;let r=t.split(n),i=e;for(let e=0;e<r.length;){if(!i||typeof i!=`object`)return;let t,a=``;for(let o=e;o<r.length;++o)if(o!==e&&(a+=n),a+=r[o],t=i[a],t!==void 0){if([`string`,`number`,`boolean`].includes(typeof t)&&o<r.length-1)continue;e+=o-e+1;break}i=t}return i},le=e=>e?.replace(/_/g,`-`),ue={type:`logger`,log(e){this.output(`log`,e)},warn(e){this.output(`warn`,e)},error(e){this.output(`error`,e)},output(e,t){console?.[e]?.apply?.(console,t)}},A=new class e{constructor(e,t={}){this.init(e,t)}init(e,t={}){this.prefix=t.prefix||`i18next:`,this.logger=e||ue,this.options=t,this.debug=t.debug}log(...e){return this.forward(e,`log`,``,!0)}warn(...e){return this.forward(e,`warn`,``,!0)}error(...e){return this.forward(e,`error`,``)}deprecate(...e){return this.forward(e,`warn`,`WARNING DEPRECATED: `,!0)}forward(e,t,n,r){return r&&!this.debug?null:(e=e.map(e=>v(e)?e.replace(/[\r\n\x00-\x1F\x7F]/g,` `):e),v(e[0])&&(e[0]=`${n}${this.prefix} ${e[0]}`),this.logger[t](e))}create(t){return new e(this.logger,{prefix:`${this.prefix}:${t}:`,...this.options})}clone(t){return t||=this.options,t.prefix=t.prefix||this.prefix,new e(this.logger,t)}},de=class{constructor(){this.observers={}}on(e,t){return e.split(` `).forEach(e=>{this.observers[e]||(this.observers[e]=new Map);let n=this.observers[e].get(t)||0;this.observers[e].set(t,n+1)}),this}off(e,t){if(this.observers[e]){if(!t){delete this.observers[e];return}this.observers[e].delete(t)}}once(e,t){let n=(...r)=>{t(...r),this.off(e,n)};return this.on(e,n),this}emit(e,...t){this.observers[e]&&Array.from(this.observers[e].entries()).forEach(([e,n])=>{for(let r=0;r<n;r++)e(...t)}),this.observers[`*`]&&Array.from(this.observers[`*`].entries()).forEach(([n,r])=>{for(let i=0;i<r;i++)n(e,...t)})}},fe=class extends de{constructor(e,t={ns:[`translation`],defaultNS:`translation`}){super(),this.data=e||{},this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator=`.`),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){this.options.ns.includes(e)||this.options.ns.push(e)}removeNamespaces(e){let t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}getResource(e,t,n,r={}){let i=r.keySeparator===void 0?this.options.keySeparator:r.keySeparator,a=r.ignoreJSONStructure===void 0?this.options.ignoreJSONStructure:r.ignoreJSONStructure,o;e.includes(`.`)?o=e.split(`.`):(o=[e,t],n&&(Array.isArray(n)?o.push(...n):v(n)&&i?o.push(...n.split(i)):o.push(n)));let s=O(this.data,o);return!s&&!t&&!n&&e.includes(`.`)&&(e=o[0],t=o[1],n=o.slice(2).join(`.`)),s||!a||!v(n)?s:ce(this.data?.[e]?.[t],n,i)}addResource(e,t,n,r,i={silent:!1}){let a=i.keySeparator===void 0?this.options.keySeparator:i.keySeparator,o=[e,t];n&&(o=o.concat(a?n.split(a):n)),e.includes(`.`)&&(o=e.split(`.`),r=t,t=o[1]),this.addNamespaces(t),E(this.data,o,r),i.silent||this.emit(`added`,e,t,n,r)}addResources(e,t,n,r={silent:!1}){for(let r in n)(v(n[r])||Array.isArray(n[r]))&&this.addResource(e,t,r,n[r],{silent:!0});r.silent||this.emit(`added`,e,t,n)}addResourceBundle(e,t,n,r,i,a={silent:!1,skipCopy:!1}){let o=[e,t];e.includes(`.`)&&(o=e.split(`.`),r=n,n=t,t=o[1]),this.addNamespaces(t);let s=O(this.data,o)||{};a.skipCopy||(n=JSON.parse(JSON.stringify(n))),r?te(s,n,i):s={...s,...n},E(this.data,o,s),a.silent||this.emit(`added`,e,t,n)}removeResourceBundle(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit(`removed`,e,t)}hasResourceBundle(e,t){return this.getResource(e,t)!==void 0}getResourceBundle(e,t){return t||=this.options.defaultNS,this.getResource(e,t)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){let t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find(e=>t[e]&&Object.keys(t[e]).length>0)}toJSON(){return this.data}},pe={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,n,r,i){return e.forEach(e=>{t=this.processors[e]?.process(t,n,r,i)??t}),t}},me=Symbol(`i18next/PATH_KEY`);function he(){let e=[],t=Object.create(null),n;return t.get=(r,i)=>(n?.revoke?.(),i===me?e:(e.push(i),n=Proxy.revocable(r,t),n.proxy)),Proxy.revocable(Object.create(null),t).proxy}function ge(e,t){let{[me]:n}=e(he()),r=t?.keySeparator??`.`,i=t?.nsSeparator??`:`,a=t?.enableSelector===`strict`;if(n.length>1&&i){let e=t?.ns,o=a?Array.isArray(e)?e:e?[e]:null:Array.isArray(e)?e:null;if(o&&(a?o:o.length>1?o.slice(1):[]).includes(n[0]))return`${n[0]}${i}${n.slice(1).join(r)}`}return n.join(r)}var _e=e=>!v(e)&&typeof e!=`boolean`&&typeof e!=`number`,ve=class e extends de{constructor(e,t={}){super(),x([`resourceStore`,`languageUtils`,`pluralResolver`,`interpolator`,`backendConnector`,`i18nFormat`,`utils`],e,this),this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator=`.`),this.logger=A.create(`translator`),this.checkedLoadedFor={}}changeLanguage(e){e&&(this.language=e)}exists(e,t={interpolation:{}}){let n={...t};if(e==null)return!1;let r=this.resolve(e,n);if(r?.res===void 0)return!1;let i=_e(r.res);return!(n.returnObjects===!1&&i)}extractFromKey(e,t){let n=t.nsSeparator===void 0?this.options.nsSeparator:t.nsSeparator;n===void 0&&(n=`:`);let r=t.keySeparator===void 0?this.options.keySeparator:t.keySeparator,i=t.ns||this.options.defaultNS||[],a=n&&e.includes(n),o=!this.options.userDefinedKeySeparator&&!t.keySeparator&&!this.options.userDefinedNsSeparator&&!t.nsSeparator&&!se(e,n,r);if(a&&!o){let t=e.match(this.interpolator.nestingRegexp);if(t&&t.length>0)return{key:e,namespaces:v(i)?[i]:i};let a=e.split(n);(n!==r||n===r&&this.options.ns.includes(a[0]))&&(i=a.shift()),e=a.join(r)}return{key:e,namespaces:v(i)?[i]:i}}translate(t,n,r){let i=typeof n==`object`?{...n}:n;if(typeof i!=`object`&&this.options.overloadTranslationOptionHandler&&(i=this.options.overloadTranslationOptionHandler(arguments)),typeof i==`object`&&(i={...i}),i||={},t==null)return``;typeof t==`function`&&(t=ge(t,{...this.options,...i})),Array.isArray(t)||(t=[String(t)]),t=t.map(e=>typeof e==`function`?ge(e,{...this.options,...i}):String(e));let a=i.returnDetails===void 0?this.options.returnDetails:i.returnDetails,o=i.keySeparator===void 0?this.options.keySeparator:i.keySeparator,{key:s,namespaces:c}=this.extractFromKey(t[t.length-1],i),l=c[c.length-1],u=i.nsSeparator===void 0?this.options.nsSeparator:i.nsSeparator;u===void 0&&(u=`:`);let d=i.lng||this.language,f=i.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(d?.toLowerCase()===`cimode`)return f?a?{res:`${l}${u}${s}`,usedKey:s,exactUsedKey:s,usedLng:d,usedNS:l,usedParams:this.getUsedParamsDetails(i)}:`${l}${u}${s}`:a?{res:s,usedKey:s,exactUsedKey:s,usedLng:d,usedNS:l,usedParams:this.getUsedParamsDetails(i)}:s;let p=this.resolve(t,i),m=p?.res,h=p?.usedKey||s,g=p?.exactUsedKey||s,_=[`[object Number]`,`[object Function]`,`[object RegExp]`],y=i.joinArrays===void 0?this.options.joinArrays:i.joinArrays,b=!this.i18nFormat||this.i18nFormat.handleAsObject,x=i.count!==void 0&&!v(i.count),S=e.hasDefaultValue(i),C=x?this.pluralResolver.getSuffix(d,i.count,i):``,w=i.ordinal&&x?this.pluralResolver.getSuffix(d,i.count,{ordinal:!1}):``,T=x&&!i.ordinal&&i.count===0,E=T&&i[`defaultValue${this.options.pluralSeparator}zero`]||i[`defaultValue${C}`]||i[`defaultValue${w}`]||i.defaultValue,D=m;b&&!m&&S&&(D=E);let O=_e(D),ee=Object.prototype.toString.apply(D);if(b&&D&&O&&!_.includes(ee)&&!(v(y)&&Array.isArray(D))){if(!i.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn(`accessing an object - but returnObjects options is not enabled!`);let e=this.options.returnedObjectHandler?this.options.returnedObjectHandler(h,D,{...i,ns:c}):`key '${s} (${this.language})' returned an object instead of string.`;return a?(p.res=e,p.usedParams=this.getUsedParamsDetails(i),p):e}if(o){let e=Array.isArray(D),t=e?[]:{},n=e?g:h;for(let e in D)if(Object.prototype.hasOwnProperty.call(D,e)){let r=`${n}${o}${e}`;S&&!m?t[e]=this.translate(r,{...i,defaultValue:_e(E)?E[e]:void 0,joinArrays:!1,ns:c}):t[e]=this.translate(r,{...i,joinArrays:!1,ns:c}),t[e]===r&&(t[e]=D[e])}m=t}}else if(b&&v(y)&&Array.isArray(m))m=m.join(y),m&&=this.extendTranslation(m,t,i,r);else{let e=!1,n=!1;!this.isValidLookup(m)&&S&&(e=!0,m=E),this.isValidLookup(m)||(n=!0,m=s);let a=(i.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&n?void 0:m,c=S&&E!==m&&this.options.updateMissing;if(n||e||c){if(this.logger.log(c?`updateKey`:`missingKey`,d,l,x&&!c?`${s}${this.pluralResolver.getSuffix(d,i.count,i)}`:s,c?E:m),o){let e=this.resolve(s,{...i,keySeparator:!1});e&&e.res&&this.logger.warn(`Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.`)}let e=[],t=this.languageUtils.getFallbackCodes(this.options.fallbackLng,i.lng||this.language);if(this.options.saveMissingTo===`fallback`&&t&&t[0])for(let n=0;n<t.length;n++)e.push(t[n]);else this.options.saveMissingTo===`all`?e=this.languageUtils.toResolveHierarchy(i.lng||this.language):e.push(i.lng||this.language);let n=(e,t,n)=>{let r=S&&n!==m?n:a;this.options.missingKeyHandler?this.options.missingKeyHandler(e,l,t,r,c,i):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(e,l,t,r,c,i),this.emit(`missingKey`,e,l,t,m)};this.options.saveMissing&&(this.options.saveMissingPlurals&&x?e.forEach(e=>{let t=this.pluralResolver.getSuffixes(e,i);T&&i[`defaultValue${this.options.pluralSeparator}zero`]&&!t.includes(`${this.options.pluralSeparator}zero`)&&t.push(`${this.options.pluralSeparator}zero`),t.forEach(t=>{n([e],s+t,i[`defaultValue${t}`]||E)})}):n(e,s,E))}m=this.extendTranslation(m,t,i,p,r),n&&m===s&&this.options.appendNamespaceToMissingKey&&(m=`${l}${u}${s}`),(n||e)&&this.options.parseMissingKeyHandler&&(m=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}${u}${s}`:s,e?m:void 0,i))}return a?(p.res=m,p.usedParams=this.getUsedParamsDetails(i),p):m}extendTranslation(e,t,n,r,i){if(this.i18nFormat?.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...n},n.lng||this.language||r.usedLng,r.usedNS,r.usedKey,{resolved:r});else if(!n.skipInterpolation){n.interpolation&&this.interpolator.init({...n,interpolation:{...this.options.interpolation,...n.interpolation}});let a=v(e)&&(n?.interpolation?.skipOnVariables===void 0?this.options.interpolation.skipOnVariables:n.interpolation.skipOnVariables),o;if(a){let t=e.match(this.interpolator.nestingRegexp);o=t&&t.length}let s=n.replace&&!v(n.replace)?n.replace:n;if(this.options.interpolation.defaultVariables&&(s={...this.options.interpolation.defaultVariables,...s}),e=this.interpolator.interpolate(e,s,n.lng||this.language||r.usedLng,n),a){let t=e.match(this.interpolator.nestingRegexp),r=t&&t.length;o<r&&(n.nest=!1)}!n.lng&&r&&r.res&&(n.lng=this.language||r.usedLng),n.nest!==!1&&(e=this.interpolator.nest(e,(...e)=>i?.[0]===e[0]&&!n.context?(this.logger.warn(`It seems you are nesting recursively key: ${e[0]} in key: ${t[0]}`),null):this.translate(...e,t),n)),n.interpolation&&this.interpolator.reset()}let a=n.postProcess||this.options.postProcess,o=v(a)?[a]:a;return e!=null&&o?.length&&n.applyPostProcessor!==!1&&(e=pe.handle(o,e,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...r,usedParams:this.getUsedParamsDetails(n)},...n}:n,this)),e}resolve(e,t={}){let n,r,i,a,o;return v(e)&&(e=[e]),Array.isArray(e)&&(e=e.map(e=>typeof e==`function`?ge(e,{...this.options,...t}):e)),e.forEach(e=>{if(this.isValidLookup(n))return;let s=this.extractFromKey(e,t),c=s.key;r=c;let l=s.namespaces;this.options.fallbackNS&&(l=l.concat(this.options.fallbackNS));let u=t.count!==void 0&&!v(t.count),d=u&&!t.ordinal&&t.count===0,f=t.context!==void 0&&(v(t.context)||typeof t.context==`number`)&&t.context!==``,p=t.lngs?t.lngs:this.languageUtils.toResolveHierarchy(t.lng||this.language,t.fallbackLng);l.forEach(e=>{this.isValidLookup(n)||(o=e,!this.checkedLoadedFor[`${p[0]}-${e}`]&&this.utils?.hasLoadedNamespace&&!this.utils?.hasLoadedNamespace(o)&&(this.checkedLoadedFor[`${p[0]}-${e}`]=!0,this.logger.warn(`key "${r}" for languages "${p.join(`, `)}" won't get resolved as namespace "${o}" was not yet loaded`,`This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!`)),p.forEach(r=>{if(this.isValidLookup(n))return;a=r;let o=[c];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(o,c,r,e,t);else{let e;u&&(e=this.pluralResolver.getSuffix(r,t.count,t));let n=`${this.options.pluralSeparator}zero`,i=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(u&&(t.ordinal&&e.startsWith(i)&&o.push(c+e.replace(i,this.options.pluralSeparator)),o.push(c+e),d&&o.push(c+n)),f){let r=`${c}${this.options.contextSeparator||`_`}${t.context}`;o.push(r),u&&(t.ordinal&&e.startsWith(i)&&o.push(r+e.replace(i,this.options.pluralSeparator)),o.push(r+e),d&&o.push(r+n))}}let s;for(;s=o.pop();)this.isValidLookup(n)||(i=s,n=this.getResource(r,e,s,t))}))})}),{res:n,usedKey:r,exactUsedKey:i,usedLng:a,usedNS:o}}isValidLookup(e){return e!==void 0&&!(!this.options.returnNull&&e===null)&&!(!this.options.returnEmptyString&&e===``)}getResource(e,t,n,r={}){return this.i18nFormat?.getResource?this.i18nFormat.getResource(e,t,n,r):this.resourceStore.getResource(e,t,n,r)}getUsedParamsDetails(e={}){let t=[`defaultValue`,`ordinal`,`context`,`replace`,`lng`,`lngs`,`fallbackLng`,`ns`,`keySeparator`,`nsSeparator`,`returnObjects`,`returnDetails`,`joinArrays`,`postProcess`,`interpolation`],n=e.replace&&!v(e.replace),r=n?e.replace:e;if(n&&e.count!==void 0&&(r.count=e.count),this.options.interpolation.defaultVariables&&(r={...this.options.interpolation.defaultVariables,...r}),!n){r={...r};for(let e of t)delete r[e]}return r}static hasDefaultValue(e){for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&t.startsWith(`defaultValue`)&&e[t]!==void 0)return!0;return!1}},ye=class{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=A.create(`languageUtils`)}getScriptPartFromCode(e){if(e=le(e),!e||!e.includes(`-`))return null;let t=e.split(`-`);return t.length===2||(t.pop(),t[t.length-1].toLowerCase()===`x`)?null:this.formatLanguageCode(t.join(`-`))}getLanguagePartFromCode(e){if(e=le(e),!e||!e.includes(`-`))return e;let t=e.split(`-`);return this.formatLanguageCode(t[0])}formatLanguageCode(e){if(v(e)&&e.includes(`-`)){let t;try{t=Intl.getCanonicalLocales(e)[0]}catch{}return t&&this.options.lowerCaseLng&&(t=t.toLowerCase()),t||(this.options.lowerCaseLng?e.toLowerCase():e)}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return(this.options.load===`languageOnly`||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.includes(e)}getBestMatchFromCodes(e){if(!e)return null;let t;return e.forEach(e=>{if(t)return;let n=this.formatLanguageCode(e);(!this.options.supportedLngs||this.isSupportedCode(n))&&(t=n)}),!t&&this.options.supportedLngs&&e.forEach(e=>{if(t)return;let n=this.getScriptPartFromCode(e);if(this.isSupportedCode(n))return t=n;let r=this.getLanguagePartFromCode(e);if(this.isSupportedCode(r))return t=r;t=this.options.supportedLngs.find(e=>e===r?!0:!e.includes(`-`)&&!r.includes(`-`)?!1:!!(e.includes(`-`)&&!r.includes(`-`)&&e.slice(0,e.indexOf(`-`))===r||e.startsWith(r)&&r.length>1))}),t||=this.getFallbackCodes(this.options.fallbackLng)[0],t}getFallbackCodes(e,t){if(!e)return[];if(typeof e==`function`&&(e=e(t)),v(e)&&(e=[e]),Array.isArray(e))return e;if(!t)return e.default||[];let n=e[t];return n||=e[this.getScriptPartFromCode(t)],n||=e[this.formatLanguageCode(t)],n||=e[this.getLanguagePartFromCode(t)],n||=e.default,n||[]}toResolveHierarchy(e,t){let n=this.getFallbackCodes((t===!1?[]:t)||this.options.fallbackLng||[],e),r=[],i=e=>{e&&(this.isSupportedCode(e)?r.push(e):this.logger.warn(`rejecting language code not found in supportedLngs: ${e}`))};return v(e)&&(e.includes(`-`)||e.includes(`_`))?(this.options.load!==`languageOnly`&&i(this.formatLanguageCode(e)),this.options.load!==`languageOnly`&&this.options.load!==`currentOnly`&&i(this.getScriptPartFromCode(e)),this.options.load!==`currentOnly`&&i(this.getLanguagePartFromCode(e))):v(e)&&i(this.formatLanguageCode(e)),n.forEach(e=>{r.includes(e)||i(this.formatLanguageCode(e))}),r}},be={zero:0,one:1,two:2,few:3,many:4,other:5},xe={select:e=>e===1?`one`:`other`,resolvedOptions:()=>({pluralCategories:[`one`,`other`]})},Se=class{constructor(e,t={}){this.languageUtils=e,this.options=t,this.logger=A.create(`pluralResolver`),this.pluralRulesCache={}}clearCache(){this.pluralRulesCache={}}getRule(e,t={}){let n=le(e===`dev`?`en`:e),r=t.ordinal?`ordinal`:`cardinal`,i=JSON.stringify({cleanedCode:n,type:r});if(i in this.pluralRulesCache)return this.pluralRulesCache[i];let a;try{a=new Intl.PluralRules(n,{type:r})}catch{if(typeof Intl>`u`)return this.logger.error(`No Intl support, please use an Intl polyfill!`),xe;if(!e.match(/-|_/))return xe;let n=this.languageUtils.getLanguagePartFromCode(e);a=this.getRule(n,t)}return this.pluralRulesCache[i]=a,a}needsPlural(e,t={}){let n=this.getRule(e,t);return n||=this.getRule(`dev`,t),n?.resolvedOptions().pluralCategories.length>1}getPluralFormsOfKey(e,t,n={}){return this.getSuffixes(e,n).map(e=>`${t}${e}`)}getSuffixes(e,t={}){let n=this.getRule(e,t);return n||=this.getRule(`dev`,t),n?n.resolvedOptions().pluralCategories.sort((e,t)=>be[e]-be[t]).map(e=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:``}${e}`):[]}getSuffix(e,t,n={}){let r=this.getRule(e,n);return r?`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:``}${r.select(t)}`:(this.logger.warn(`no plural rule found for: ${e}`),this.getSuffix(`dev`,t,n))}},Ce=(e,t,n,r=`.`,i=!0)=>{let a=ee(e,t,n);return!a&&i&&v(n)&&(a=ce(e,n,r),a===void 0&&(a=ce(t,n,r))),a},we=e=>e.replace(/\$/g,`$$$$`),Te=class{constructor(e={}){this.logger=A.create(`interpolator`),this.options=e,this.format=e?.interpolation?.format||(e=>e),this.init(e)}init(e={}){e.interpolation||={escapeValue:!0};let{escape:t,escapeValue:n,useRawValueToEscape:r,prefix:i,prefixEscaped:a,suffix:o,suffixEscaped:s,formatSeparator:c,unescapeSuffix:l,unescapePrefix:u,nestingPrefix:d,nestingPrefixEscaped:f,nestingSuffix:p,nestingSuffixEscaped:m,nestingOptionsSeparator:h,maxReplaces:g,alwaysFormat:_}=e.interpolation;this.escape=t===void 0?ie:t,this.escapeValue=n===void 0?!0:n,this.useRawValueToEscape=r===void 0?!1:r,this.prefix=i?ne(i):a||`{{`,this.suffix=o?ne(o):s||`}}`,this.formatSeparator=c||`,`,this.unescapePrefix=l?``:u?ne(u):`-`,this.unescapeSuffix=this.unescapePrefix?``:l?ne(l):``,this.nestingPrefix=d?ne(d):f||ne(`$t(`),this.nestingSuffix=p?ne(p):m||ne(`)`),this.nestingOptionsSeparator=h||`,`,this.maxReplaces=g||1e3,this.alwaysFormat=_===void 0?!1:_,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){let e=(e,t)=>e?.source===t?(e.lastIndex=0,e):new RegExp(t,`g`);this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}((?:[^()"']+|"[^"]*"|'[^']*'|\\((?:[^()]|"[^"]*"|'[^']*')*\\))*?)${this.nestingSuffix}`)}interpolate(e,t,n,r){let i,a,o,s=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},c=e=>{if(!e.includes(this.formatSeparator)){let i=Ce(t,s,e,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(i,void 0,n,{...r,...t,interpolationkey:e}):i}let i=e.split(this.formatSeparator),a=i.shift().trim(),o=i.join(this.formatSeparator).trim();return this.format(Ce(t,s,a,this.options.keySeparator,this.options.ignoreJSONStructure),o,n,{...r,...t,interpolationkey:a})};this.resetRegExp(),!this.escapeValue&&typeof e==`string`&&/\$t\([^)]*\{[^}]*\{\{/.test(e)&&this.logger.warn(`nesting options string contains interpolated variables with escapeValue: false — if any of those values are attacker-controlled they can inject additional nesting options (e.g. redirect lng/ns). Sanitise untrusted input before passing it to t(), or keep escapeValue: true.`);let l=r?.missingInterpolationHandler||this.options.missingInterpolationHandler,u=r?.interpolation?.skipOnVariables===void 0?this.options.interpolation.skipOnVariables:r.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:e=>we(e)},{regex:this.regexp,safeValue:e=>this.escapeValue?we(this.escape(e)):we(e)}].forEach(t=>{for(o=0;i=t.regex.exec(e);){let n=i[1].trim();if(a=c(n),a===void 0)if(typeof l==`function`){let t=l(e,i,r);a=v(t)?t:``}else if(r&&Object.prototype.hasOwnProperty.call(r,n))a=``;else if(u){a=i[0];continue}else this.logger.warn(`missed to pass in variable ${n} for interpolating ${e}`),a=``;else !v(a)&&!this.useRawValueToEscape&&(a=b(a));let s=t.safeValue(a);if(e=e.replace(i[0],s),u?(t.regex.lastIndex+=a.length,t.regex.lastIndex-=i[0].length):t.regex.lastIndex=0,o++,o>=this.maxReplaces)break}}),e}nest(e,t,n={}){let r,i,a,o=(e,t)=>{let n=this.nestingOptionsSeparator;if(!e.includes(n))return e;let r=e.split(RegExp(`${ne(n)}[ ]*{`)),i=`{${r[1]}`;e=r[0],i=this.interpolate(i,a);let o=i.match(/'/g),s=i.match(/"/g);((o?.length??0)%2==0&&!s||(s?.length??0)%2!=0)&&(i=i.replace(/'/g,`"`));try{a=JSON.parse(i),t&&(a={...t,...a})}catch(t){return this.logger.warn(`failed parsing options string in nesting for key ${e}`,t),`${e}${n}${i}`}return a.defaultValue&&a.defaultValue.includes(this.prefix)&&delete a.defaultValue,e};for(;r=this.nestingRegexp.exec(e);){let s=[];a={...n},a=a.replace&&!v(a.replace)?a.replace:a,a.applyPostProcessor=!1,delete a.defaultValue;let c=/{.*}/.test(r[1])?r[1].lastIndexOf(`}`)+1:r[1].indexOf(this.formatSeparator);if(c!==-1&&(s=r[1].slice(c).split(this.formatSeparator).map(e=>e.trim()).filter(Boolean),r[1]=r[1].slice(0,c)),i=t(o.call(this,r[1].trim(),a),a),i&&r[0]===e&&!v(i))return i;v(i)||(i=b(i)),i||=(this.logger.warn(`missed to resolve ${r[1]} for nesting ${e}`),``),s.length&&(i=s.reduce((e,t)=>this.format(e,t,n.lng,{...n,interpolationkey:r[1].trim()}),i.trim())),e=e.replace(r[0],i),this.regexp.lastIndex=0}return e}},Ee=e=>{let t=e.toLowerCase().trim(),n={};if(e.includes(`(`)){let r=e.split(`(`);t=r[0].toLowerCase().trim();let i=r[1].slice(0,-1);t===`currency`&&!i.includes(`:`)?n.currency||=i.trim():t===`relativetime`&&!i.includes(`:`)?n.range||=i.trim():i.split(`;`).forEach(e=>{if(e){let[t,...r]=e.split(`:`),i=r.join(`:`).trim().replace(/^'+|'+$/g,``),a=t.trim();n[a]||(n[a]=i),i===`false`&&(n[a]=!1),i===`true`&&(n[a]=!0),isNaN(i)||(n[a]=parseInt(i,10))}})}return{formatName:t,formatOptions:n}},De=e=>{let t={};return(n,r,i)=>{let a=i;i&&i.interpolationkey&&i.formatParams&&i.formatParams[i.interpolationkey]&&i[i.interpolationkey]&&(a={...a,[i.interpolationkey]:void 0});let o=r+JSON.stringify(a),s=t[o];return s||(s=e(le(r),i),t[o]=s),s(n)}},Oe=e=>(t,n,r)=>e(le(n),r)(t),ke=class{constructor(e={}){this.logger=A.create(`formatter`),this.options=e,this.init(e)}init(e,t={interpolation:{}}){this.formatSeparator=t.interpolation.formatSeparator||`,`;let n=t.cacheInBuiltFormats?De:Oe;this.formats={number:n((e,t)=>{let n=new Intl.NumberFormat(e,{...t});return e=>n.format(e)}),currency:n((e,t)=>{let n=new Intl.NumberFormat(e,{...t,style:`currency`});return e=>n.format(e)}),datetime:n((e,t)=>{let n=new Intl.DateTimeFormat(e,{...t});return e=>n.format(e)}),relativetime:n((e,t)=>{let n=new Intl.RelativeTimeFormat(e,{...t});return e=>n.format(e,t.range||`day`)}),list:n((e,t)=>{let n=new Intl.ListFormat(e,{...t});return e=>n.format(e)})}}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=De(t)}format(e,t,n,r={}){if(!t||e==null)return e;let i=t.split(this.formatSeparator);if(i.length>1&&i[0].indexOf(`(`)>1&&!i[0].includes(`)`)&&i.find(e=>e.includes(`)`))){let e=i.findIndex(e=>e.includes(`)`));i[0]=[i[0],...i.splice(1,e)].join(this.formatSeparator)}return i.reduce((e,t)=>{let{formatName:i,formatOptions:a}=Ee(t);if(this.formats[i]){let t=e;try{let o=r?.formatParams?.[r.interpolationkey]||{},s=o.locale||o.lng||r.locale||r.lng||n;t=this.formats[i](e,s,{...a,...r,...o})}catch(e){this.logger.warn(e)}return t}else this.logger.warn(`there was no format function for ${i}`);return e},e)}},Ae=(e,t)=>{e.pending[t]!==void 0&&(delete e.pending[t],e.pendingCount--)},je=class extends de{constructor(e,t,n,r={}){super(),this.backend=e,this.store=t,this.services=n,this.languageUtils=n.languageUtils,this.options=r,this.logger=A.create(`backendConnector`),this.waitingReads=[],this.maxParallelReads=r.maxParallelReads||10,this.readingCalls=0,this.maxRetries=r.maxRetries>=0?r.maxRetries:5,this.retryTimeout=r.retryTimeout>=1?r.retryTimeout:350,this.state={},this.queue=[],this.backend?.init?.(n,r.backend,r)}queueLoad(e,t,n,r){let i={},a={},o={},s={};return e.forEach(e=>{let r=!0;t.forEach(t=>{let o=`${e}|${t}`;!n.reload&&this.store.hasResourceBundle(e,t)?this.state[o]=2:this.state[o]<0||(this.state[o]===1?a[o]===void 0&&(a[o]=!0):(this.state[o]=1,r=!1,a[o]===void 0&&(a[o]=!0),i[o]===void 0&&(i[o]=!0),s[t]===void 0&&(s[t]=!0)))}),r||(o[e]=!0)}),(Object.keys(i).length||Object.keys(a).length)&&this.queue.push({pending:a,pendingCount:Object.keys(a).length,loaded:{},errors:[],callback:r}),{toLoad:Object.keys(i),pending:Object.keys(a),toLoadLanguages:Object.keys(o),toLoadNamespaces:Object.keys(s)}}loaded(e,t,n){let r=e.split(`|`),i=r[0],a=r[1];t&&this.emit(`failedLoading`,i,a,t),!t&&n&&this.store.addResourceBundle(i,a,n,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,t&&n&&(this.state[e]=0);let o={};this.queue.forEach(n=>{D(n.loaded,[i],a),Ae(n,e),t&&n.errors.push(t),n.pendingCount===0&&!n.done&&(Object.keys(n.loaded).forEach(e=>{o[e]||(o[e]={});let t=n.loaded[e];t.length&&t.forEach(t=>{o[e][t]===void 0&&(o[e][t]=!0)})}),n.done=!0,n.errors.length?n.callback(n.errors):n.callback())}),this.emit(`loaded`,o),this.queue=this.queue.filter(e=>!e.done)}read(e,t,n,r=0,i=this.retryTimeout,a){if(!e.length)return a(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:e,ns:t,fcName:n,tried:r,wait:i,callback:a});return}this.readingCalls++;let o=(o,s)=>{if(this.readingCalls--,this.waitingReads.length>0){let e=this.waitingReads.shift();this.read(e.lng,e.ns,e.fcName,e.tried,e.wait,e.callback)}if(o&&s&&r<this.maxRetries){setTimeout(()=>{this.read(e,t,n,r+1,i*2,a)},i);return}a(o,s)},s=this.backend[n].bind(this.backend);if(s.length===2){try{let n=s(e,t);n&&typeof n.then==`function`?n.then(e=>o(null,e)).catch(o):o(null,n)}catch(e){o(e)}return}return s(e,t,o)}prepareLoading(e,t,n={},r){if(!this.backend)return this.logger.warn(`No backend was added via i18next.use. Will not load resources.`),r&&r();v(e)&&(e=this.languageUtils.toResolveHierarchy(e)),v(t)&&(t=[t]);let i=this.queueLoad(e,t,n,r);if(!i.toLoad.length)return i.pending.length||r(),null;i.toLoad.forEach(e=>{this.loadOne(e)})}load(e,t,n){this.prepareLoading(e,t,{},n)}reload(e,t,n){this.prepareLoading(e,t,{reload:!0},n)}loadOne(e,t=``){let n=e.split(`|`),r=n[0],i=n[1];this.read(r,i,`read`,void 0,void 0,(n,a)=>{n&&this.logger.warn(`${t}loading namespace ${i} for language ${r} failed`,n),!n&&a&&this.logger.log(`${t}loaded namespace ${i} for language ${r}`,a),this.loaded(e,n,a)})}saveMissing(e,t,n,r,i,a={},o=()=>{}){if(this.services?.utils?.hasLoadedNamespace&&!this.services?.utils?.hasLoadedNamespace(t)){this.logger.warn(`did not save key "${n}" as the namespace "${t}" was not yet loaded`,`This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!`);return}if(!(n==null||n===``)){if(this.backend?.create){let s={...a,isUpdate:i},c=this.backend.create.bind(this.backend);if(c.length<6)try{let i;i=c.length===5?c(e,t,n,r,s):c(e,t,n,r),i&&typeof i.then==`function`?i.then(e=>o(null,e)).catch(o):o(null,i)}catch(e){o(e)}else c(e,t,n,r,o,s)}!e||!e[0]||this.store.addResource(e[0],t,n,r)}}},Me=()=>({debug:!1,initAsync:!0,ns:[`translation`],defaultNS:[`translation`],fallbackLng:[`dev`],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:`all`,preload:!1,keySeparator:`.`,nsSeparator:`:`,pluralSeparator:`_`,contextSeparator:`_`,enableSelector:!1,partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:`fallback`,saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:e=>{let t={};if(typeof e[1]==`object`&&(t=e[1]),v(e[1])&&(t.defaultValue=e[1]),v(e[2])&&(t.tDescription=e[2]),typeof e[2]==`object`||typeof e[3]==`object`){let n=e[3]||e[2];Object.keys(n).forEach(e=>{t[e]=n[e]})}return t},interpolation:{escapeValue:!0,prefix:`{{`,suffix:`}}`,formatSeparator:`,`,unescapePrefix:`-`,nestingPrefix:`$t(`,nestingSuffix:`)`,nestingOptionsSeparator:`,`,maxReplaces:1e3,skipOnVariables:!0},cacheInBuiltFormats:!0}),Ne=e=>(v(e.ns)&&(e.ns=[e.ns]),v(e.fallbackLng)&&(e.fallbackLng=[e.fallbackLng]),v(e.fallbackNS)&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&!e.supportedLngs.includes(`cimode`)&&(e.supportedLngs=e.supportedLngs.concat([`cimode`])),e),Pe=()=>{},Fe=e=>{Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(t=>{typeof e[t]==`function`&&(e[t]=e[t].bind(e))})},Ie=class e extends de{constructor(e={},t){if(super(),this.options=Ne(e),this.services={},this.logger=A,this.modules={external:[]},Fe(this),t&&!this.isInitialized&&!e.isClone){if(!this.options.initAsync)return this.init(e,t),this;setTimeout(()=>{this.init(e,t)},0)}}init(e={},t){this.isInitializing=!0,typeof e==`function`&&(t=e,e={}),e.defaultNS==null&&e.ns&&(v(e.ns)?e.defaultNS=e.ns:e.ns.includes(`translation`)||(e.defaultNS=e.ns[0]));let n=Me();this.options={...n,...this.options,...Ne(e)},this.options.interpolation={...n.interpolation,...this.options.interpolation},e.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=e.keySeparator),e.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=e.nsSeparator),typeof this.options.overloadTranslationOptionHandler!=`function`&&(this.options.overloadTranslationOptionHandler=n.overloadTranslationOptionHandler);let r=e=>e?typeof e==`function`?new e:e:null;if(!this.options.isClone){this.modules.logger?A.init(r(this.modules.logger),this.options):A.init(null,this.options);let e;e=this.modules.formatter?this.modules.formatter:ke;let t=new ye(this.options);this.store=new fe(this.options.resources,this.options);let n=this.services;n.logger=A,n.resourceStore=this.store,n.languageUtils=t,n.pluralResolver=new Se(t,{prepend:this.options.pluralSeparator}),e&&(n.formatter=r(e),n.formatter.init&&n.formatter.init(n,this.options),this.options.interpolation.format=n.formatter.format.bind(n.formatter)),n.interpolator=new Te(this.options),n.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},n.backendConnector=new je(r(this.modules.backend),n.resourceStore,n,this.options),n.backendConnector.on(`*`,(e,...t)=>{this.emit(e,...t)}),this.modules.languageDetector&&(n.languageDetector=r(this.modules.languageDetector),n.languageDetector.init&&n.languageDetector.init(n,this.options.detection,this.options)),this.modules.i18nFormat&&(n.i18nFormat=r(this.modules.i18nFormat),n.i18nFormat.init&&n.i18nFormat.init(this)),this.translator=new ve(this.services,this.options),this.translator.on(`*`,(e,...t)=>{this.emit(e,...t)}),this.modules.external.forEach(e=>{e.init&&e.init(this)})}if(this.format=this.options.interpolation.format,t||=Pe,this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){let e=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);e.length>0&&e[0]!==`dev`&&(this.options.lng=e[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn(`init: no languageDetector is used and no lng is defined`),[`getResource`,`hasResourceBundle`,`getResourceBundle`,`getDataByLanguage`].forEach(e=>{this[e]=(...t)=>this.store[e](...t)}),[`addResource`,`addResources`,`addResourceBundle`,`removeResourceBundle`].forEach(e=>{this[e]=(...t)=>(this.store[e](...t),this)});let i=y(),a=()=>{let e=(e,n)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn(`init: i18next is already initialized. You should call init just once!`),this.isInitialized=!0,this.options.isClone||this.logger.log(`initialized`,this.options),this.emit(`initialized`,this.options),i.resolve(n),t(e,n)};if((this.languages||this.isLanguageChangingTo)&&!this.isInitialized)return e(null,this.t.bind(this));this.changeLanguage(this.options.lng,e)};return this.options.resources||!this.options.initAsync?a():setTimeout(a,0),i}loadResources(e,t=Pe){let n=t,r=v(e)?e:this.language;if(typeof e==`function`&&(n=e),!this.options.resources||this.options.partialBundledLanguages){if(r?.toLowerCase()===`cimode`&&(!this.options.preload||this.options.preload.length===0))return n();let e=[],t=t=>{t&&t!==`cimode`&&this.services.languageUtils.toResolveHierarchy(t).forEach(t=>{t!==`cimode`&&(e.includes(t)||e.push(t))})};r?t(r):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(e=>t(e)),this.options.preload?.forEach?.(e=>t(e)),this.services.backendConnector.load(e,this.options.ns,e=>{!e&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),n(e)})}else n(null)}reloadResources(e,t,n){let r=y();return typeof e==`function`&&(n=e,e=void 0),typeof t==`function`&&(n=t,t=void 0),e||=this.languages,t||=this.options.ns,n||=Pe,this.services.backendConnector.reload(e,t,e=>{r.resolve(),n(e)}),r}use(e){if(!e)throw Error(`You are passing an undefined module! Please check the object you are passing to i18next.use()`);if(!e.type)throw Error(`You are passing a wrong module! Please check the object you are passing to i18next.use()`);return e.type===`backend`&&(this.modules.backend=e),(e.type===`logger`||e.log&&e.warn&&e.error)&&(this.modules.logger=e),e.type===`languageDetector`&&(this.modules.languageDetector=e),e.type===`i18nFormat`&&(this.modules.i18nFormat=e),e.type===`postProcessor`&&pe.addPostProcessor(e),e.type===`formatter`&&(this.modules.formatter=e),e.type===`3rdParty`&&this.modules.external.push(e),this}setResolvedLanguage(e){if(!(!e||!this.languages)&&![`cimode`,`dev`].includes(e)){for(let e=0;e<this.languages.length;e++){let t=this.languages[e];if(![`cimode`,`dev`].includes(t)&&this.store.hasLanguageSomeTranslations(t)){this.resolvedLanguage=t;break}}!this.resolvedLanguage&&!this.languages.includes(e)&&this.store.hasLanguageSomeTranslations(e)&&(this.resolvedLanguage=e,this.languages.unshift(e))}}changeLanguage(e,t){this.isLanguageChangingTo=e;let n=y();this.emit(`languageChanging`,e);let r=e=>{this.language=e,this.languages=this.services.languageUtils.toResolveHierarchy(e),this.resolvedLanguage=void 0,this.setResolvedLanguage(e)},i=(i,a)=>{a?this.isLanguageChangingTo===e&&(r(a),this.translator.changeLanguage(a),this.isLanguageChangingTo=void 0,this.emit(`languageChanged`,a),this.logger.log(`languageChanged`,a)):this.isLanguageChangingTo=void 0,n.resolve((...e)=>this.t(...e)),t&&t(i,(...e)=>this.t(...e))},a=t=>{!e&&!t&&this.services.languageDetector&&(t=[]);let n=v(t)?t:t&&t[0],a=this.store.hasLanguageSomeTranslations(n)?n:this.services.languageUtils.getBestMatchFromCodes(v(t)?[t]:t);a&&(this.language||r(a),this.translator.language||this.translator.changeLanguage(a),this.services.languageDetector?.cacheUserLanguage?.(a)),this.loadResources(a,e=>{i(e,a)})};return!e&&this.services.languageDetector&&!this.services.languageDetector.async?a(this.services.languageDetector.detect()):!e&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(a):this.services.languageDetector.detect(a):a(e),n}getFixedT(e,t,n,r){let i=r?.scopeNs,a=(e,t,...r)=>{let o;o=typeof t==`object`?{...t}:this.options.overloadTranslationOptionHandler([e,t].concat(r)),o.lng=o.lng||a.lng,o.lngs=o.lngs||a.lngs;let s=o.ns!==void 0&&o.ns!==null;o.ns=o.ns||a.ns,o.keyPrefix!==``&&(o.keyPrefix=o.keyPrefix||n||a.keyPrefix);let c={...this.options,...o};Array.isArray(i)&&!s&&(c.ns=i),typeof o.keyPrefix==`function`&&(o.keyPrefix=ge(o.keyPrefix,c));let l=this.options.keySeparator||`.`,u;return o.keyPrefix&&Array.isArray(e)?u=e.map(e=>(typeof e==`function`&&(e=ge(e,c)),`${o.keyPrefix}${l}${e}`)):(typeof e==`function`&&(e=ge(e,c)),u=o.keyPrefix?`${o.keyPrefix}${l}${e}`:e),this.t(u,o)};return v(e)?a.lng=e:a.lngs=e,a.ns=t,a.keyPrefix=n,a}t(...e){return this.translator?.translate(...e)}exists(...e){return this.translator?.exists(...e)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e,t={}){if(!this.isInitialized)return this.logger.warn(`hasLoadedNamespace: i18next was not initialized`,this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn(`hasLoadedNamespace: i18n.languages were undefined or empty`,this.languages),!1;let n=t.lng||this.resolvedLanguage||this.languages[0],r=this.options?this.options.fallbackLng:!1,i=this.languages[this.languages.length-1];if(n.toLowerCase()===`cimode`)return!0;let a=(e,t)=>{let n=this.services.backendConnector.state[`${e}|${t}`];return n===-1||n===0||n===2};if(t.precheck){let e=t.precheck(this,a);if(e!==void 0)return e}return!!(this.hasResourceBundle(n,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||a(n,e)&&(!r||a(i,e)))}loadNamespaces(e,t){let n=y();return this.options.ns?(v(e)&&(e=[e]),e.forEach(e=>{this.options.ns.includes(e)||this.options.ns.push(e)}),this.loadResources(e=>{n.resolve(),t&&t(e)}),n):(t&&t(),Promise.resolve())}loadLanguages(e,t){let n=y();v(e)&&(e=[e]);let r=this.options.preload||[],i=e.filter(e=>!r.includes(e)&&this.services.languageUtils.isSupportedCode(e));return i.length?(this.options.preload=r.concat(i),this.loadResources(e=>{n.resolve(),t&&t(e)}),n):(t&&t(),Promise.resolve())}dir(e){if(e||=this.resolvedLanguage||(this.languages?.length>0?this.languages[0]:this.language),!e)return`rtl`;try{let t=new Intl.Locale(e);if(t&&t.getTextInfo){let e=t.getTextInfo();if(e&&e.direction)return e.direction}}catch{}let t=`ar.shu.sqr.ssh.xaa.yhd.yud.aao.abh.abv.acm.acq.acw.acx.acy.adf.ads.aeb.aec.afb.ajp.apc.apd.arb.arq.ars.ary.arz.auz.avl.ayh.ayl.ayn.ayp.bbz.pga.he.iw.ps.pbt.pbu.pst.prp.prd.ug.ur.ydd.yds.yih.ji.yi.hbo.men.xmn.fa.jpr.peo.pes.prs.dv.sam.ckb`.split(`.`),n=this.services?.languageUtils||new ye(Me());return e.toLowerCase().indexOf(`-latn`)>1?`ltr`:t.includes(n.getLanguagePartFromCode(e))||e.toLowerCase().indexOf(`-arab`)>1?`rtl`:`ltr`}static createInstance(t={},n){let r=new e(t,n);return r.createInstance=e.createInstance,r}cloneInstance(t={},n=Pe){let r=t.forkResourceStore;r&&delete t.forkResourceStore;let i={...this.options,...t,isClone:!0},a=new e(i);if((t.debug!==void 0||t.prefix!==void 0)&&(a.logger=a.logger.clone(t)),[`store`,`services`,`language`].forEach(e=>{a[e]=this[e]}),a.services={...this.services},a.services.utils={hasLoadedNamespace:a.hasLoadedNamespace.bind(a)},r&&(a.store=new fe(Object.keys(this.store.data).reduce((e,t)=>(e[t]={...this.store.data[t]},e[t]=Object.keys(e[t]).reduce((n,r)=>(n[r]={...e[t][r]},n),e[t]),e),{}),i),a.services.resourceStore=a.store),t.interpolation){let e={...Me().interpolation,...this.options.interpolation,...t.interpolation},n={...i,interpolation:e};a.services.interpolator=new Te(n)}return a.translator=new ve(a.services,i),a.translator.on(`*`,(e,...t)=>{a.emit(e,...t)}),a.init(i,n),a.translator.options=i,a.translator.backendConnector.services.utils={hasLoadedNamespace:a.hasLoadedNamespace.bind(a)},a}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}.createInstance();Ie.createInstance,Ie.dir,Ie.init,Ie.loadResources,Ie.reloadResources,Ie.use,Ie.changeLanguage,Ie.getFixedT,Ie.t,Ie.exists,Ie.setDefaultNamespace,Ie.hasLoadedNamespace,Ie.loadNamespaces,Ie.loadLanguages;var Le=(e,t,n,r)=>{let i=[n,{code:t,...r||{}}];if(e?.services?.logger?.forward)return e.services.logger.forward(i,`warn`,`react-i18next::`,!0);We(i[0])&&(i[0]=`react-i18next:: ${i[0]}`),e?.services?.logger?.warn?e.services.logger.warn(...i):console?.warn&&console.warn(...i)},Re={},ze=(e,t,n,r)=>{We(n)&&Re[n]||(We(n)&&(Re[n]=new Date),Le(e,t,n,r))},Be=(e,t)=>()=>{if(e.isInitialized)t();else{let n=()=>{setTimeout(()=>{e.off(`initialized`,n)},0),t()};e.on(`initialized`,n)}},Ve=(e,t,n)=>{e.loadNamespaces(t,Be(e,n))},He=(e,t,n,r)=>{if(We(n)&&(n=[n]),e.options.preload&&e.options.preload.indexOf(t)>-1)return Ve(e,n,r);n.forEach(t=>{e.options.ns.indexOf(t)<0&&e.options.ns.push(t)}),e.loadLanguages(t,Be(e,r))},Ue=(e,t,n={})=>!t.languages||!t.languages.length?(ze(t,`NO_LANGUAGES`,`i18n.languages were undefined or empty`,{languages:t.languages}),!0):t.hasLoadedNamespace(e,{lng:n.lng,precheck:(t,r)=>{if(n.bindI18n&&n.bindI18n.indexOf(`languageChanging`)>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!r(t.isLanguageChangingTo,e))return!1}}),We=e=>typeof e==`string`,Ge=e=>typeof e==`object`&&!!e,Ke=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,qe={"&":`&`,"&":`&`,"<":`<`,"<":`<`,">":`>`,">":`>`,"'":`'`,"'":`'`,""":`"`,""":`"`," ":` `," ":` `,"©":`©`,"©":`©`,"®":`®`,"®":`®`,"…":`…`,"…":`…`,"/":`/`,"/":`/`},Je=e=>qe[e],Ye={bindI18n:`languageChanged`,bindI18nStore:``,transEmptyNodeValue:``,transSupportBasicHtmlNodes:!0,transWrapTextNodes:``,transKeepBasicHtmlNodesFor:[`br`,`strong`,`i`,`p`],useSuspense:!0,unescape:e=>e.replace(Ke,Je),transDefaultProps:void 0},Xe=(e={})=>{Ye={...Ye,...e}},Ze=()=>Ye,Qe,$e=e=>{Qe=e},et=()=>Qe,tt={type:`3rdParty`,init(e){Xe(e.options.react),$e(e)}},j=c(d()),nt=(0,j.createContext)(),rt=class{constructor(){this.usedNamespaces={}}addUsedNamespaces(e){e.forEach(e=>{this.usedNamespaces[e]||(this.usedNamespaces[e]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}},it=o((e=>{var t=d();function n(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var r=typeof Object.is==`function`?Object.is:n,i=t.useState,a=t.useEffect,o=t.useLayoutEffect,s=t.useDebugValue;function c(e,t){var n=t(),r=i({inst:{value:n,getSnapshot:t}}),c=r[0].inst,u=r[1];return o(function(){c.value=n,c.getSnapshot=t,l(c)&&u({inst:c})},[e,n,t]),a(function(){return l(c)&&u({inst:c}),e(function(){l(c)&&u({inst:c})})},[e]),s(n),n}function l(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!r(e,n)}catch{return!0}}function u(e,t){return t()}var f=typeof window>`u`||window.document===void 0||window.document.createElement===void 0?u:c;e.useSyncExternalStore=t.useSyncExternalStore===void 0?f:t.useSyncExternalStore})),at=o(((e,t)=>{t.exports=it()})),ot=at(),st={t:(e,t)=>{if(We(t))return t;if(Ge(t)&&We(t.defaultValue))return t.defaultValue;if(typeof e==`function`)return``;if(Array.isArray(e)){let t=e[e.length-1];return typeof t==`function`?``:t}return e},ready:!1},ct=()=>()=>{},lt=(e,t={})=>{let{i18n:n}=t,{i18n:r,defaultNS:i}=(0,j.useContext)(nt)||{},a=n||r||et();a&&!a.reportNamespaces&&(a.reportNamespaces=new rt),a||ze(a,`NO_I18NEXT_INSTANCE`,`useTranslation: You will need to pass in an i18next instance by using initReactI18next`);let o=(0,j.useMemo)(()=>({...Ze(),...a?.options?.react,...t}),[a,t]),{useSuspense:s,keyPrefix:c}=o,l=e||i||a?.options?.defaultNS,u=We(l)?[l]:l||[`translation`],d=(0,j.useMemo)(()=>u,u);a?.reportNamespaces?.addUsedNamespaces?.(d);let f=(0,j.useRef)(0),p=(0,j.useCallback)(e=>{if(!a)return ct;let{bindI18n:t,bindI18nStore:n}=o,r=()=>{f.current+=1,e()};return t&&a.on(t,r),n&&a.store.on(n,r),()=>{t&&t.split(` `).forEach(e=>a.off(e,r)),n&&n.split(` `).forEach(e=>a.store.off(e,r))}},[a,o]),m=(0,j.useRef)(),h=(0,j.useCallback)(()=>{if(!a)return st;let e=!!(a.isInitialized||a.initializedStoreOnce)&&d.every(e=>Ue(e,a,o)),n=t.lng||a.language,r=f.current,i=m.current;if(i&&i.ready===e&&i.lng===n&&i.keyPrefix===c&&i.revision===r)return i;let s={t:a.getFixedT(n,o.nsMode===`fallback`?d:d[0],c,{scopeNs:d}),ready:e,lng:n,keyPrefix:c,revision:r};return m.current=s,s},[a,d,c,o,t.lng]),[g,_]=(0,j.useState)(0),{t:v,ready:y}=(0,ot.useSyncExternalStore)(p,h,h);(0,j.useEffect)(()=>{if(a&&!y&&!s){let e=()=>_(e=>e+1);t.lng?He(a,t.lng,d,e):Ve(a,d,e)}},[a,t.lng,d,y,s,g]);let b=a||{},x=(0,j.useRef)(null),S=(0,j.useRef)(),C=e=>{let t=Object.getOwnPropertyDescriptors(e);t.__original&&delete t.__original;let n=Object.create(Object.getPrototypeOf(e),t);if(!Object.prototype.hasOwnProperty.call(n,`__original`))try{Object.defineProperty(n,"__original",{value:e,writable:!1,enumerable:!1,configurable:!1})}catch{}return n},w=(0,j.useMemo)(()=>{let e=b,t=e?.language,n=e;e&&(x.current&&x.current.__original===e&&S.current===t?n=x.current:(n=C(e),x.current=n,S.current=t));let r=!y&&!s?(...e)=>(ze(a,`USE_T_BEFORE_READY`,`useTranslation: t was called before ready. When using useSuspense: false, make sure to check the ready flag before using t.`),v(...e)):v,i=[r,n,y];return i.t=r,i.i18n=n,i.ready=y,i},[v,b,y,b.resolvedLanguage,b.language,b.languages]);if(a&&s&&!y)throw new Promise(e=>{let n=()=>e();t.lng?He(a,t.lng,d,n):Ve(a,d,n)});return w};function ut({i18n:e,defaultNS:t,children:n}){let r=(0,j.useMemo)(()=>({i18n:e,defaultNS:t}),[e,t]);return(0,j.createElement)(nt.Provider,{value:r},n)}var dt={en:{common:{loading:`Loading...`,save:`Save`,cancel:`Cancel`,delete:`Delete`,edit:`Edit`,create:`Create`,search:`Search`,filter:`Filter`,reset:`Reset`,confirm:`Confirm`,close:`Close`,back:`Back`,next:`Next`,previous:`Previous`,submit:`Submit`,refresh:`Refresh`,export:`Export`,import:`Import`,yes:`Yes`,no:`No`,ok:`OK`,actions:`Actions`,more:`More`,selectAll:`Select All`,clearAll:`Clear All`,addToFavorites:`Add to favorites`,removeFromFavorites:`Remove from favorites`,noData:`No data`,noResults:`No results found`,required:`Required`,optional:`Optional`,selectOption:`Select an option`,select:`Select...`,openChat:`Open chat`,closeChat:`Close chat`,toggleSidebar:`Toggle sidebar`},validation:{required:`{{field}} is required`,minLength:`{{field}} must be at least {{min}} characters`,maxLength:`{{field}} must be at most {{max}} characters`,min:`{{field}} must be at least {{min}}`,max:`{{field}} must be at most {{max}}`,email:`Please enter a valid email address`,url:`Please enter a valid URL`,pattern:`{{field}} format is invalid`,unique:`{{field}} must be unique`,type:`{{field}} must be a valid {{type}}`},form:{addItem:`Add item`,removeItem:`Remove item`,fieldRequired:`This field is required`,invalidFormat:`Invalid format`,saveSuccess:`Saved successfully`,saveError:`Failed to save`,unsavedChanges:`You have unsaved changes. Are you sure you want to leave?`,stepOf:`Step {{current}} of {{total}}`,createTitle:`Create {{object}}`,editTitle:`Edit {{object}}`,createDescription:`Add a new {{object}} to your database.`,editDescription:`Update details for {{object}}`,saveRecord:`Save`,create:`Create`,update:`Update`,createSuccess:`{{object}} created successfully`,updateSuccess:`{{object}} updated successfully`,deleteSuccess:`{{object}} deleted successfully`},table:{rowsPerPage:`Rows per page`,showing:`Showing {{from}} to {{to}} of {{total}}`,noRows:`No rows to display`,sortAsc:`Sort ascending`,sortDesc:`Sort descending`,filterColumn:`Filter {{column}}`,columns:`Columns`,exportCSV:`Export CSV`,exportExcel:`Export Excel`,selectRow:`Select row`,selectAllRows:`Select all rows`,expandRow:`Expand row`,collapseRow:`Collapse row`,hideColumn:`Hide column`,freezeColumn:`Freeze column`,unfreezeColumn:`Unfreeze column`,pageInfo:`Page {{current}} of {{total}}`,totalRecords:`{{count}} total`,noResults:`No results found`,noResultsHint:`Try adjusting your filters or search query.`,cancelAll:`Cancel All`,saveAll:`Save All ({{count}})`,addRecord:`Add record`,open:`Open`,search:`Search...`,modified:`{{count}} row modified`,selected:`{{count}} selected`,edit:`Edit`,delete:`Delete`},grid:{actions:`Actions`,edit:`Edit`,delete:`Delete`,export:`Export`,exportAs:`Export as {{format}}`,loading:`Loading grid...`,errorLoading:`Error loading grid`,pullToRefresh:`Pull to refresh`,refreshing:`Refreshing…`,openRecord:`Open record`,openMenu:`Open menu`,rowHeight:`Row height: {{mode}}`,empty:`Empty`,yes:`Yes`,no:`No`,systemFields:`System`,toolbar:{densityMode:`Density`,densityCompact:`Compact`,densityComfortable:`Comfortable`,densitySpacious:`Spacious`,densityCycleHint:`{{label}} (click to cycle)`,densityCycleShortHint:`Click to cycle`},import:{title:`Import {{object}}`,stepUpload:`Upload`,stepMapping:`Mapping`,stepPreview:`Preview`,uploadDescription:`Upload a CSV file to get started.`,mappingDescription:`Map CSV columns to object fields.`,previewDescription:`Review data before importing.`,dragDrop:`Drag & drop a CSV file here, or click to browse`,browseFiles:`Browse Files`,onlyCsv:`Only CSV files are supported.`,fileNeedsHeader:`File must contain a header row and at least one data row.`,mappingTemplate:`Mapping template:`,chooseTemplate:`Choose template…`,noSavedTemplates:`No saved templates`,noneOption:`— None —`,saveCurrent:`Save current`,templateName:`Template name`,save:`Save`,deleteTemplate:`Delete template`,csvColumn:`CSV Column`,mapsTo:`Maps To`,status:`Status`,skipColumn:`Skip column`,skip:`— Skip —`,mapped:`Mapped`,skipped:`Skipped`,rowsWithErrors:`{{count}} row(s) with errors`,rowsCorrected:`{{count}} row(s) corrected`,clickToFix:`— click a highlighted cell to fix it inline.`,showingRows:`Showing {{shown}} of {{total}} rows`,importing:`Importing… {{progress}}%`,importComplete:`Import Complete`,imported:`{{count}} imported`,skippedCount:`{{count}} skipped`,moreErrors:`…and {{count}} more errors`,cancel:`Cancel`,back:`Back`,next:`Next`,close:`Close`,importNRows:`Import {{count}} Rows`,importingProgress:`Importing…`,requiredMark:`*`,required:`Required`,invalidType:`Invalid {{type}}`}},calendar:{today:`Today`,month:`Month`,week:`Week`,day:`Day`,agenda:`Agenda`,allDay:`All Day`,noEvents:`No events`,newEvent:`New event`,moreEvents:`+{{count}} more`},list:{recordCount:`{{count}} records`,recordCountOne:`{{count}} record`,addRecord:`Add record`,tabs:`Tabs`,allRecords:`All Records`,search:`Search`,filter:`Filter`,filterRecords:`Filter Records`,sort:`Sort`,sortRecords:`Sort Records`,group:`Group`,groupBy:`Group By`,export:`Export`,exportAs:`Export as {{format}}`,color:`Color`,rowColor:`Row Color`,colorByField:`Color by field`,clear:`Clear`,none:`None`,hideFields:`Hide fields`,noItems:`No items found`,noItemsMessage:`There are no records to display. Try adjusting your filters or adding new data.`,showAll:`Show all`,pullToRefresh:`Pull to refresh`,refreshing:`Refreshing…`,share:`Share`,print:`Print`,hideFieldsTitle:`Hide Fields`,dataLimitReached:`Showing first {{limit}} records. More data may be available.`,viewSettings:`View settings`,viewSettingsHint:`Grouping, color, density, and visible fields.`,addGroup:`Add group field`,collapsedByDefault:`Collapsed by default`,removeGroup:`Remove`},kanban:{addCard:`Add card`,addColumn:`Add column`,moveCard:`Move card`,deleteCard:`Delete card`,deleteColumn:`Delete column`,noCards:`No cards`,cardTitlePlaceholder:`Enter card title...`},timeline:{bucket:{overdue:`Overdue`,today:`Today`,tomorrow:`Tomorrow`,thisWeek:`This week`,nextWeek:`Next week`,later:`Later`,noDate:`No date`,unassigned:`Unassigned`}},gantt:{column:{taskName:`Task Name`,start:`Start`,end:`End`},toolbar:{prevPeriod:`Previous period`,nextPeriod:`Next period`,zoomIn:`Zoom in`,zoomOut:`Zoom out`,jumpToToday:`Jump to today`,today:`Today`,showTaskList:`Show task list`,hideTaskList:`Hide task list`}},view:{rename:`Rename`,duplicateView:`Duplicate View`,shareView:`Share View`,setAsDefault:`Set as Default`,pinView:`Pin View`,unpinView:`Unpin View`,changeViewType:`Change View Type`,deleteView:`Delete View`,addView:`Add View`,unsavedChanges:`Unsaved changes`,saveAsView:`Save as View`,moreViews:`{{count}} more`,activeFilters:`Active filters`,activeSort:`Active sort`,manageViews:`Manage views`,manageAllViews:`Manage all views…`,searchViews:`Search views`,addNewView:`Add new view`,done:`Done`,noViewsFound:`No views match your search.`,dragToReorder:`Drag to reorder`,defaultView:`Default view`,tabActionsFor:`View actions for {{name}}`,readonlyAriaLabel:`Read-only view`,readonlyTooltip:`System view — duplicate to customize.`},detail:{back:`Back`,edit:`Edit`,editInline:`Edit`,save:`Save`,saveChanges:`Save changes`,saving:`Saving…`,editFieldsInline:`Edit fields`,lockedByApproval:`Locked for approval`,lockedTooltip:`This record has a pending approval request; editing is locked`,cancelApproval:`Recall approval`,cancelApprovalInFlight:`Recalling…`,cancelApprovalTooltip:`Recall the pending approval request to unlock this record`,cancelApprovalFailed:`Failed to recall approval`,cancelApprovalUnavailable:`Recalling approvals is not supported on this data source`,linkCopied:`Link copied to clipboard`,linkCopyFailed:`Failed to copy link`,cancel:`Cancel`,cancelEdit:`Discard changes`,sectionMoreDetails:`More details`,concurrentUpdateTitle:`This record was modified by someone else`,concurrentUpdateDescription:`Another user saved a newer version of {{field}} while you were editing. To prevent silently overwriting their change, please choose how to resolve the conflict.`,concurrentUpdateYourEdit:`Your edit`,concurrentUpdateCurrentValue:`Current value`,concurrentUpdateUpdatedBy:`Updated by {{name}}`,concurrentUpdateUpdatedAt:`Updated at {{when}}`,concurrentUpdateReload:`Reload latest`,concurrentUpdateOverwrite:`Overwrite anyway`,concurrentUpdateCancel:`Cancel`,openInNewTab:`Open in new tab`,share:`Share`,duplicate:`Duplicate`,export:`Export`,viewHistory:`View history`,delete:`Delete`,moreActions:`More actions`,addToFavorites:`Add to favorites`,removeFromFavorites:`Remove from favorites`,previousRecord:`Previous record`,nextRecord:`Next record`,recordOf:`{{current}} of {{total}}`,recordNotFound:`Record not found`,recordNotFoundDescription:`The record you are looking for does not exist or may have been deleted.`,goBack:`Go back`,details:`Details`,related:`Related`,relatedRecords:`{{count}} records`,relatedRecordOne:`{{count}} record`,noRelatedRecords:`No related records found`,loading:`Loading...`,copyToClipboard:`Copy to clipboard`,copied:`Copied!`,deleteConfirmation:`Are you sure you want to delete this record?`,editRecord:`Edit record`,viewAll:`View All`,new:`New`,emptyValue:`—`,activity:`Activity`,history:`History`,editRow:`Edit`,deleteRow:`Delete`,deleteRowConfirmation:`Are you sure you want to delete this record?`,deleteRowTitle:`Delete record`,actions:`Actions`,previousPage:`Previous`,nextPage:`Next`,pageOf:`Page {{current}} of {{total}}`,sortBy:`Sort by`,filterPlaceholder:`Filter...`,highlightFields:`Key Fields`,comments:`Comments`,searchComments:`Search comments…`,addCommentPlaceholder:`Add a comment… (Ctrl+Enter to submit)`,noMatchingComments:`No matching comments`,noCommentsYet:`No comments yet`,pinned:`Pinned`,pin:`Pin`,unpin:`Unpin`,justNow:`just now`,minutesAgo:`{{count}}m ago`,hoursAgo:`{{count}}h ago`,daysAgo:`{{count}}d ago`,createdBy:`Created by`,updatedBy:`Updated by`,dropFilesToUpload:`Drop files here or click to upload`,attachmentCount:`{{count}} attachment`,attachmentCountPlural:`{{count}} attachments`,removeAttachment:`Remove attachment`,unifiedDiff:`Unified diff`,sideBySideDiff:`Side-by-side diff`,noChanges:`No changes`,previousVersion:`Previous`,currentVersion:`Current`,discussion:`Discussion`,showDiscussion:`Show Discussion ({{count}})`,hideDiscussion:`Hide discussion`,bold:`Bold (Ctrl+B)`,italic:`Italic (Ctrl+I)`,listFormat:`List`,inlineCode:`Inline code`,mentionSomeone:`Mention someone`,preview:`Preview`,submitComment:`Submit (Ctrl+Enter)`,sendComment:`Send`,writeComment:`Write a comment…`,subscribedTooltip:`Subscribed — click to unsubscribe`,unsubscribedTooltip:`Subscribe to notifications`,firstRecord:`First record (Home)`,previousRecordKey:`Previous record (←)`,nextRecordKey:`Next record (→)`,lastRecord:`Last record (End)`,noRecords:`No records`,searchWhileNavigating:`Search while navigating`,searchRecords:`Search records…`,allActivity:`All Activity`,commentsOnly:`Comments Only`,fieldChangesFilter:`Field Changes`,tasksOnly:`Tasks Only`,leaveCommentPlaceholder:`Leave a comment… (Ctrl+Enter to submit)`,noActivity:`No activity recorded`,loadMore:`Load more`,edited:`(edited)`,via:`via {{source}}`,replyCount:`{{count}} reply`,replyCountPlural:`{{count}} replies`,replyPlaceholder:`Reply…`,filterActivity:`Filter activity`,openDiscussion:`Open discussion panel`,closeDiscussion:`Close discussion panel`,subscribeAriaLabel:`Subscribe to notifications`,unsubscribeAriaLabel:`Unsubscribe from notifications`,clearSearch:`Clear search`,copyEmail:`Copy email`,copyPhone:`Copy phone number`,copyRecordId:`Copy record ID`,showEmptyFields:`Show {{count}} empty fields`,hideEmptyFields:`Hide empty fields`,noValue:`No value`},chart:{noData:`No chart data available`,loading:`Loading chart...`},report:{rowTotal:`Row Total`,columnTotal:`Column Total`,grandTotal:`Grand Total`,totals:`Totals`,rowsLabel:`Row`,columnsLabel:`Column`,allLabel:`(All)`,emptyLabel:`(Empty)`,loading:`Loading…`,failedToLoad:`Failed to load matrix: {{message}}`,needsAcross:"Matrix report requires at least one `groupingsAcross` field.",aggregate:{count:`Count`,countDistinct:`Distinct Count`,sum:`Sum`,avg:`Average`,min:`Min`,max:`Max`,first:`First`},editor:{breadcrumb:`Configuration`,basic:`Basic`,title:`Title`,titlePlaceholder:`e.g. Pipeline by Quarter`,description:`Description`,descriptionPlaceholder:`What does this report show?`,type:`Report type`,typeTabular:`Tabular — flat list`,typeSummary:`Summary — grouped with totals`,typeMatrix:`Matrix — pivot rows × columns`,typeJoined:`Joined — multiple blocks`,typeHelp:`Pick the layout that matches what you want to see.`,data:`Data`,objectName:`Data source`,objectNamePlaceholder:`e.g. opportunity`,objectNameHelp:`Which object should this report query?`,limit:`Row limit`,limitPlaceholder:`e.g. 100`,columns:`Columns`,columnsHint:`Pick which fields appear as columns. Add an aggregate (Sum, Count…) on Summary or Matrix reports.`,filters:`Filters`,filtersHint:`Limit the rows that go into this report.`,filtersComplex:`This report uses an advanced filter that cannot be edited here. Save will keep it unchanged.`,groupBy:`Group by`,groupByHint:`Group the data and compute subtotals.`,rows:`Rows`,rowsHint:`Group rows by these fields.`,columnsAxis:`Columns`,columnsAxisHint:`Pivot these fields across the top.`,values:`Values`,valuesHint:`Numbers shown in each cell. Pick one or more fields and add an aggregate (Sum, Count…).`,grouping:`Grouping`,addGrouping:`Add grouping`,dateGranularity:`Date bucket`,dateGranularityNone:`(use raw value)`,day:`Day`,week:`Week`,month:`Month`,quarter:`Quarter`,year:`Year`,sortAsc:`Ascending`,sortDesc:`Descending`,chart:`Chart`,chartHint:`Optional visualization rendered alongside the table.`,chartType:`Chart type`,chartTitle:`Chart title`,chartTitlePlaceholder:`Defaults to the report title`,chartXAxis:`X-axis (category)`,chartYAxis:`Y-axis (value)`,chartShowLegend:`Show legend`,chartShowDataLabels:`Show data labels`,chartNone:`(no chart)`,chartBar:`Bar`,chartLine:`Line`,chartArea:`Area`,chartPie:`Pie`,chartDonut:`Donut`,chartFunnel:`Funnel`,validationNeedsObject:`Pick a data source before adding columns.`,validationMatrixNeedsRowsCols:`Matrix reports need at least one Row and one Column.`,validationSummaryNeedsRows:`Summary reports need at least one grouping field.`,blocks:`Blocks`,blocksHint:`Each block is its own table or chart. Block-level filters are ANDed with the report filter.`,addBlock:`Add block`,removeBlock:`Remove block`,blockName:`Block name`,blockNamePlaceholder:`unique_block_name`,blockLabel:`Display label`,blockLabelPlaceholder:`Shown above the block`,blockDescription:`Description`,blockDescriptionPlaceholder:`Optional context for this block`,validationJoinedNeedsBlocks:`Joined reports need at least one block.`,validationBlockNameRequired:`Every block needs a non-empty name.`,validationBlockNameDuplicate:`Block names must be unique within the report.`,validationBlockNeedsColumns:`Every block needs at least one column.`,noneOption:`(none)`,addCondition:`Add condition`,combineLogic:`Combine with`,opContains:`contains`,opIsEmpty:`is empty`,opIsNotEmpty:`is not empty`,formatAuto:`Auto`,formatCurrency:`Currency`,formatPercent:`Percent`,formatInteger:`Integer`,formatDate:`Date`,formatDatetime:`Date & time`,columnLabelPlaceholder:`Label override`,aggregateColumn:`Aggregate`,formatColumn:`Format`,addColumns:`Add fields`,searchFields:`Search fields…`,noMatchingFields:`No fields match your search.`,noFieldsAvailable:`No fields available.`,columnsCount:`{n} column(s) selected`,columnsEmpty:`No columns selected yet.`,fieldPickerTitle:`Select fields`,fieldPickerDescription:`Pick one or more fields to add. Use the search box to narrow the list.`,fieldPickerChangeTitle:`Change field`,fieldPickerAddGroupingTitle:`Add grouping`,fieldPickerEmpty:`(pick field)`,fieldPickerSelected:`{n} selected`,fieldPickerClear:`Clear selection`,fieldPickerAdd:`Add`,fieldPickerAddN:`Add {n}`}},map:{searchLocations:`Search locations…`,locationDetails:`Location Details`,markersCount:`{{count}} markers`,invalidCoordinates:`{{count}} record with missing or invalid coordinates excluded from the map.`,invalidCoordinatesPlural:`{{count}} records with missing or invalid coordinates excluded from the map.`},workflow:{draft:`Draft`,active:`Active`,paused:`Paused`,completed:`Completed`,cancelled:`Cancelled`,save:`Save`,publish:`Publish`,addNode:`Add Node`,workflowFlow:`Workflow Flow`,properties:`Properties`,connections:`Connections`,quickConnect:`Quick Connect`,fromPlaceholder:`From...`,toPlaceholder:`To...`,connect:`Connect`,label:`Label`,type:`Type`,description:`Description`,assignee:`Assignee`,assigneeType:`Assignee Type`,user:`User`,role:`Role`,group:`Group`,expression:`Expression`,timeoutMinutes:`Timeout (minutes)`,selectNodeToEdit:`Select a node to edit its properties`,workflowTitle:`Workflow Title`,newWorkflow:`New Workflow`,outConnections:`{{count}} out`,start:`Start`,end:`End`,task:`Task`,userTask:`User Task`,serviceTask:`Service Task`,scriptTask:`Script Task`,approval:`Approval`,condition:`Condition`,parallelGateway:`Parallel Gateway`,joinGateway:`Join Gateway`,boundaryEvent:`Boundary Event`,delay:`Delay`,notification:`Notification`,webhook:`Webhook`,allowConcurrency:`Allow (run concurrently)`,forbidConcurrency:`Forbid (skip new)`,replaceConcurrency:`Replace (cancel existing)`,queueConcurrency:`Queue (run after current)`,conditionEvent:`Condition`,manualEvent:`Manual`,webhookEvent:`Webhook`,timerEvent:`Timer`,signalEvent:`Signal`,versionHistory:`Version History`,importBpmn:`Import BPMN`,exportBpmn:`Export BPMN`,undo:`Undo`,redo:`Redo`,resetZoom:`Reset zoom`},dashboard:{addWidget:`Add widget`,removeWidget:`Remove widget`,editLayout:`Edit layout`,saveLayout:`Save layout`,resetLayout:`Reset layout`,total:`Total`,noDataAvailable:`No data available`,noDataSourceFor:`No data source available for`,trend:{vsLastQuarter:`vs last quarter`,vsLastMonth:`vs last month`,vsLastWeek:`vs last week`,vsLastYear:`vs last year`,vsYesterday:`vs yesterday`,vsPreviousPeriod:`vs previous period`}},configPanel:{save:`Save`,discard:`Discard`,close:`Close`,layout:`Layout`,columns:`Columns`,gap:`Gap`,rowHeight:`Row height`,data:`Data`,refreshInterval:`Refresh interval`,appearance:`Appearance`,title:`Title`,showDescription:`Show description`,theme:`Theme`,configuration:`Configuration`,general:`General`,advanced:`Advanced`},appDesigner:{createApp:`Create Application`,editApp:`Edit Application`,basicInfo:`Basic Info`,objects:`Objects`,navigation:`Navigation`,branding:`Branding`,appName:`App Name`,appTitle:`Title`,appDescription:`Description`,appIcon:`Icon`,template:`Template`,layout:`Layout`,layoutSidebar:`Sidebar`,layoutHeader:`Header`,layoutEmpty:`Empty`,selectObjects:`Select Objects`,searchObjects:`Search objects…`,selectAll:`Select All`,deselectAll:`Deselect All`,navBuilder:`Navigation Builder`,addGroup:`Add Group`,addUrl:`Add URL`,addSeparator:`Add Separator`,noNavItems:`No navigation items yet.`,logoUrl:`Logo URL`,primaryColor:`Primary Color`,faviconUrl:`Favicon URL`,preview:`Preview`,complete:`Complete`,snakeCaseHint:`Must be snake_case (e.g. my_app)`,modeEdit:`Edit`,modePreview:`Preview`,modeCode:`Code`,addWidget:`Add Widget`,widgetProperties:`Widget Properties`,dataSource:`Data Source`,valueField:`Value Field`,aggregate:`Aggregate`,colorVariant:`Color Variant`,addComponent:`Add Component`,componentProperties:`Component Properties`,viewType:`View Type`,fields:`Fields`,toolbar:`Toolbar`,showSearch:`Show Search`,showFilters:`Show Filters`,showSort:`Show Sort`,appearance:`Appearance`,rowHeight:`Row Height`,stripedRows:`Striped Rows`,bordered:`Bordered`,livePreview:`Live Preview`,stepBasicDesc:`Name, title, and layout`,stepObjectsDesc:`Select business objects`,stepNavigationDesc:`Build navigation tree`,stepBrandingDesc:`Logo, colors, and favicon`,noObjectsFound:`No objects found.`,noNavItemsHint:`No navigation items yet. Select objects in the previous step or add items manually.`,separator:`Separator`,separatorLabel:`— Separator —`,newGroup:`New Group`,newLink:`New Link`,saveDraft:`Save Draft`,cancelConfirmTitle:`Discard changes?`,cancelConfirmMessage:`You have unsaved changes. Are you sure you want to cancel?`,confirmDiscard:`Discard`,keepEditing:`Keep Editing`,navNoItems:`No navigation items. Click buttons above to add items.`,navNoPreviewItems:`No items`,navLivePreview:`Live Preview`,navCollapseGroup:`Collapse group`,navExpandGroup:`Expand group`,navAddChild:`Add child`,navMoveUp:`Move up`,navMoveDown:`Move down`,navRemove:`Remove`,navObjectPage:`Object Page`,navDashboard:`Dashboard`,navPage:`Page`,navReport:`Report`,navGroup:`Group`,navUrl:`URL`,navSeparator:`Separator`,navTypeObject:`Object`,navTypeDashboard:`Dashboard`,navTypePage:`Page`,navTypeReport:`Report`,navTypeUrl:`URL`,navTypeGroup:`Group`,navTypeSeparator:`Separator`,navTypeAction:`Action`,navEditIcon:`Edit icon`,navToggleVisible:`Toggle visibility`,navHidden:`Hidden`,navExportSchema:`Export JSON`,navImportSchema:`Import JSON`,navExportSuccess:`Navigation schema exported`,navImportSuccess:`Navigation schema imported`,navImportError:`Invalid navigation JSON`,navIconPlaceholder:`Icon name (e.g. Users)`,dashboardEditor:`Dashboard Editor`,noWidgets:`No widgets. Click a button above to add one.`,widgetLayoutSize:`Layout Size`,widgetWidth:`Width`,widgetHeight:`Height`,dashboardPreview:`Dashboard Preview`,noWidgetsPreview:`No widgets to preview`,pageCanvasEditor:`Page Canvas Editor`,emptyPage:`Empty page. Click a button above to add a component.`,pagePreview:`Page Preview`,noComponentsPreview:`No components to preview`,modePage:`Page`,modeDashboard:`Dashboard`,undo:`Undo`,redo:`Redo`,brandingEditor:`Branding Editor`,brandingExport:`Export JSON`,brandingImport:`Import JSON`,brandingPreview:`Preview`,brandingSampleButton:`Sample Button`,brandingSampleText:`This is how your brand theme will look.`,colorPalette:`Color Palette`,fontFamily:`Font Family`,fontDefault:`Default (System)`,modeLight:`Light`,modeDark:`Dark`,mobilePreview:`Mobile Preview`,objectManager:{title:`Object Manager`,addObject:`New Object`,searchPlaceholder:`Search objects…`,noObjects:`No objects found.`,objectName:`API Name`,objectLabel:`Label`,pluralLabel:`Plural Label`,icon:`Icon`,selectIcon:`Select icon…`,group:`Group`,noGroup:`No Group`,sortOrder:`Sort Order`,enabled:`Enabled`,relationships:`Relationships`,systemBadge:`System`,fieldCount:`{{count}} fields`,ungrouped:`Ungrouped`,deleteConfirmTitle:`Delete Object?`,deleteConfirmMessage:`This will permanently delete the object and all its fields. This action cannot be undone.`},fieldDesigner:{title:`Field Designer`,addField:`New Field`,searchPlaceholder:`Search fields…`,allTypes:`All Types`,noFields:`No fields found.`,fieldName:`API Name`,fieldLabel:`Label`,fieldType:`Type`,fieldGroup:`Group`,description:`Description`,required:`Required`,unique:`Unique`,readOnly:`Read Only`,hidden:`Hidden`,indexed:`Indexed`,externalId:`External ID`,trackHistory:`Track History`,defaultValue:`Default Value`,placeholder:`Placeholder`,referenceTo:`Reference To`,formula:`Formula`,options:`Options`,addOption:`Add Option`,validationRules:`Validation Rules`,addRule:`Add Rule`,systemBadge:`System`,ungrouped:`General`,deleteConfirmTitle:`Delete Field?`,deleteConfirmMessage:`This will permanently delete the field. Existing data in this field will be lost.`,basicSection:`Basic`,typeSpecificSection:`Type Settings`,advancedSection:`Advanced`,typeCategory:{text:`Text`,number:`Number`,date:`Date & Time`,choice:`Choice`,relation:`Relation`,advanced:`Advanced`}}},console:{title:`ObjectStack Console`,initializing:`Initializing application...`,search:`Search…`,breadcrumb:{dashboards:`Dashboards`,pages:`Pages`,reports:`Reports`,system:`System`},nav:{pinItem:`Pin {{name}}`,unpinItem:`Unpin {{name}}`,dragToReorder:`Drag to reorder`,favorites:`Favorites`},loadingSteps:{connecting:`Connecting to data source`,loadingConfig:`Loading configuration`,preparingWorkspace:`Preparing workspace`},error:{connectionFailed:`Cannot connect to server`,serverUnreachable:`The server at {{url}} is unreachable.`,checkServer:`Please check your network connection or that the backend is running.`,timeout:`Connection timed out after 10 seconds.`},actions:{retry:`Retry`,retrying:`Retrying…`},shortcuts:{title:`Keyboard Shortcuts`,description:`Quick reference for all available keyboard shortcuts.`,groups:{general:`General`,navigation:`Navigation`,dataViews:`Data Views`,preferences:`Preferences`},openCommandPalette:`Open command palette`,showShortcuts:`Show keyboard shortcuts`,closeDialog:`Close dialog / panel`,toggleSidebar:`Toggle sidebar`,focusSearch:`Focus search`,createRecord:`Create new record`,refreshData:`Refresh data`,editRecord:`Edit selected record`,toggleDarkMode:`Toggle dark mode`},commandPalette:{placeholder:`Type a command or search...`,noResults:`No results found.`,objects:`Objects`,dashboards:`Dashboards`,pages:`Pages`,reports:`Reports`,switchApp:`Switch App`,current:`Current`,preferences:`Preferences`,lightTheme:`Light Theme`,darkTheme:`Dark Theme`,systemTheme:`System Theme`,actions:`Actions`,openFullSearch:`Open Full Search Page`,createApp:`Create New App`},errors:{somethingWentWrong:`Something went wrong`,unexpectedError:`An unexpected error occurred while rendering this view.`,tryAgain:`Try Again`,goHome:`Go Home`,errorDetails:`Error Details (dev only)`},theme:{toggle:`Toggle theme`,light:`Light`,dark:`Dark`,system:`System`},objectView:{objectNotFound:`Object Not Found`,objectNotFoundDescription:`The object "{{objectName}}" does not exist in the current configuration.`,objectNotFoundHint:`Check your app navigation settings or select a different object from the sidebar.`,allRecords:`All Records`,exitDesignMode:`Exit Design Mode`,enterDesignMode:`Enter Design Mode`,metadataInspector:`Metadata Inspector`,editView:`Edit View`,addView:`Add View`,designTools:`Design tools`,new:`New`,import:`Import`,importTitle:`Import from CSV`,importedToast:`Imported {{count}} row(s).`,importedWithSkipped:`Imported {{ok}} row(s); skipped {{skipped}}.`,configureView:`Configure View`,closePanel:`Close panel`,showAdvancedSettings:`Show advanced settings`,showFewerSettings:`Show fewer settings`,page:`Page`,pageConfigHint:`Toolbar, navigation & view shell settings`,listConfigHint:`Data rendering, columns & appearance for this list type`,general:`General`,generalHint:`View title, description, and type`,toolbar:`Toolbar`,toolbarHint:`Search, filter, sort, group, and density toggles`,toolbarEnabledCount:`{{count}} of {{total}} enabled`,navigationSection:`Navigation`,navigationHint:`Row click behavior and detail view settings`,records:`Records`,recordsHint:`Selection mode, add record, and inline editing`,exportPrint:`Export & Print`,exportPrintHint:`Export formats, printing, and record count display`,showAllFields:`Show All`,hideAllFields:`Hide All`,searchFields:`Search fields...`,title:`Title`,description:`Description`,data:`Data`,source:`Source`,columns:`Columns`,filterBy:`Filter by`,sortBy:`Sort by`,appearance:`Appearance`,showDescription:`Show description`,viewType:`View type`,userFilters:`User filters`,enableSearch:`Enable search`,enableFilter:`Enable filter`,enableSort:`Enable sort`,enableHideFields:`Enable hide fields`,enableGroup:`Enable group`,enableColor:`Enable color`,enableDensity:`Enable density`,userActions:`User actions`,addRecordViaForm:`Add records through a form`,advanced:`Advanced`,allowExport:`Allow export`,recordCount:`{{count}} records`,noDescription:`No description`,none:`None`,columnsConfigured:`{{count}} columns`,save:`Save`,discard:`Discard`,createView:`Create View`,createViewDesc:`Pick a view type, then give it a name. You can change every setting afterwards.`,cancel:`Cancel`,create:`Create`,delete:`Delete`,deleteViewTitle:`Delete view`,deleteViewConfirm:`Are you sure you want to delete the view "{{name}}"? This cannot be undone.`,bulkDeleteConfirm:`Delete {{count}} selected records? This cannot be undone.`,duplicateViewName:`A view with this name already exists.`,viewTypeGrid:`Grid`,viewTypeGridDesc:`A spreadsheet-style table of records.`,viewTypeKanban:`Kanban`,viewTypeKanbanDesc:`Cards grouped into columns by a single-select field.`,viewTypeCalendar:`Calendar`,viewTypeCalendarDesc:`Records placed on a monthly calendar by date.`,viewTypeGallery:`Gallery`,viewTypeGalleryDesc:`Large image cards driven by an attachment field.`,viewTypeTimeline:`Timeline`,viewTypeTimelineDesc:`Records along a horizontal time axis.`,viewTypeGantt:`Gantt`,viewTypeGanttDesc:`Project bars with start / end and dependencies.`,viewTypeMap:`Map`,viewTypeMapDesc:`Geographic markers from latitude / longitude fields.`,viewTypeChart:`Chart`,viewTypeChartDesc:`Aggregated bar / line / pie visualisations.`,newView:`New View`,typeOptions:`Type Options`,groupByField:`Group by field`,groupByFieldHelp:`The kanban groups records into columns by this field's values.`,startDateField:`Start date field`,startDateFieldHelp:`The calendar places records on the cell matching this date.`,ganttStartDateFieldHelp:`The left edge of each Gantt bar uses this date.`,ganttEndDateFieldHelp:`The right edge of each Gantt bar uses this date.`,timelineDateFieldHelp:`Records are placed on the timeline by this date.`,titleField:`Title field`,latitudeField:`Latitude field`,latitudeFieldHelp:`Field providing the latitude coordinate (geo fields only).`,longitudeField:`Longitude field`,longitudeFieldHelp:`Field providing the longitude coordinate (geo fields only).`,imageField:`Image field`,imageFieldHelp:`The gallery cover comes from this image or attachment field.`,dateField:`Date field`,selectField:`Select field...`,selectOption:`Select...`,noEligibleFieldForType:`No eligible field of this type. Add one to the object first.`,viewTypeUnavailable:`This object has no field that can serve as "{{field}}".`,viewTypeUnavailableShort:`Not supported by this object.`,chartType:`Chart type`,chartTypeHelp:`Determines how the data is rendered.`,chartTypeBar:`Bar chart`,chartTypeLine:`Line chart`,chartTypePie:`Pie chart`,chartTypeArea:`Area chart`,chartTypeScatter:`Scatter chart`,xAxisField:`X-axis field`,xAxisFieldHelp:`The categorical or time dimension.`,yAxisField:`Y-axis field`,yAxisFieldHelp:`The numeric field to aggregate.`,gridOptionsHint:`Grid view uses the columns configured above.`,groupBy:`Group by`,prefixField:`Prefix field`,fields:`Fields`,fieldsVisible:`{{count}} visible`,sortsCount:`{{count}} sorts`,filtersCount:`{{count}} filters`,endDateField:`End date field`,color:`Color`,fieldTextColor:`Field text color`,rowHeight:`Row height`,wrapHeaders:`Wrap headers`,showFieldDescriptions:`Show field descriptions`,collapseAllByDefault:`Collapse all by default`,striped:`Striped rows`,bordered:`Bordered cells`,inlineEdit:`Edit records inline`,addDeleteRecordsInline:`Add/delete records inline`,clickIntoRecordDetails:`Click into record details`,navigationMode:`Navigation mode`,navigationWidth:`Navigation width`,navigationWidthHint:`Available for drawer, modal, and split navigation modes`,openNewTab:`Open in new tab`,openNewTabHint:`Available for page and new window navigation modes`,selectionMode:`Selection mode`,selectionNone:`None`,selectionSingle:`Single`,selectionMultiple:`Multiple`,pageSize:`Page size`,pageSizeOptions:`Page size options`,exportFormats:`Export formats`,exportMaxRecords:`Max records`,exportIncludeHeaders:`Include headers`,exportFileNamePrefix:`File name prefix`,searchableFields:`Searchable fields`,filterableFields:`Filterable fields`,resizableColumns:`Resizable columns`,densityCompact:`Compact`,densityComfortable:`Comfortable`,densitySpacious:`Spacious`,densityMode:`Density mode`,hiddenFields:`Hidden fields`,rowActions:`Row actions`,bulkActions:`Bulk actions`,sharing:`Sharing`,sharingEnabled:`Enable sharing`,sharingVisibility:`Visibility`,addRecordEnabled:`Enable add record`,addRecordPosition:`Position`,addRecordMode:`Mode`,addRecordFormView:`Form view`,conditionalFormatting:`Conditional formatting`,addRule:`Add rule`,quickFilters:`Quick filters`,addQuickFilter:`Add quick filter`,ufElements:`Elements`,ufDropdown:`Dropdown`,ufTabs:`Tabs`,ufToggle:`Toggle`,ufAddField:`+ Add filter field...`,ufNoFields:`No fields available`,ufAddTab:`+ Add tab`,ufTabLabel:`Label`,ufShowAllRecords:`Show "All records" tab`,ufAllowAddTab:`Allow adding tabs`,showRecordCount:`Show record count`,allowPrinting:`Allow printing`,virtualScroll:`Virtual scroll`,emptyStateTitle:`Empty state title`,emptyStateMessage:`Empty state message`,emptyStateIcon:`Empty state icon`,ariaLabel:`ARIA label`,ariaDescribedBy:`ARIA described by`,ariaLive:`ARIA live`,accessibility:`Accessibility`,viewTabs:`View Tabs`},localeSwitcher:{label:`Language`}},auth:{login:{title:`Sign in to your account`,description:`Enter your email and password to continue`,emailLabel:`Email`,emailPlaceholder:`name@example.com`,passwordLabel:`Password`,passwordPlaceholder:`Enter your password`,forgotPasswordText:`Forgot password?`,submitButton:`Sign In`,submittingButton:`Signing in...`,noAccountText:`Don't have an account?`,signUpText:`Sign up`},register:{title:`Create an account`,description:`Enter your information to get started`,nameLabel:`Name`,namePlaceholder:`John Doe`,emailLabel:`Email`,emailPlaceholder:`name@example.com`,passwordLabel:`Password`,passwordPlaceholder:`Create a password (min. 8 characters)`,confirmPasswordLabel:`Confirm Password`,confirmPasswordPlaceholder:`Confirm your password`,passwordMismatchError:`Passwords do not match`,passwordTooShortError:`Password must be at least 8 characters`,submitButton:`Create Account`,submittingButton:`Creating account...`,hasAccountText:`Already have an account?`,signInText:`Sign in`},forgotPassword:{title:`Reset your password`,description:`Enter your email address and we'll send you a link to reset your password`,emailLabel:`Email`,emailPlaceholder:`name@example.com`,submitButton:`Send Reset Link`,submittingButton:`Sending...`,successTitle:`Check your email`,successDescription:`We've sent a password reset link to {{email}}. Please check your inbox.`,backToSignInText:`Back to sign in`,rememberPasswordText:`Remember your password?`,signInText:`Sign in`}},errors:{networkError:`Network error. Please check your connection.`,serverError:`Server error. Please try again later.`,notFound:`Resource not found.`,unauthorized:`You are not authorized to perform this action.`,forbidden:`Access denied.`,timeout:`Request timed out. Please try again.`,unknown:`An unexpected error occurred.`},workspace:{label:`Workspaces`,default:`My Workspace`,switch:`Switch workspace`,create:`Create workspace`,createTitle:`Create a workspace`,createDescription:`A workspace is a shared space for your team to collaborate.`,createButton:`Create workspace`,nameLabel:`Workspace name`,namePlaceholder:`e.g., Acme Inc`,slugLabel:`URL slug`,slugHint:`Used in URLs. Only lowercase letters, numbers, and hyphens.`,invite:`Invite member`,members:`Members`,settings:`Workspace settings`},sidebar:{settings:`Settings`,help:`Help`,helpTooltip:`Help & Documentation`,activityFeed:`Activity feed`,notifications:`Notifications`,approvals:`Approvals`,inbox:`Inbox`,inboxAriaLabel:`Open inbox`,area:`Area`,recent:`Recent`,favorites:`Favorites`,starred:`Starred`,removeFromFavorites:`Remove {{name}} from favorites`},home:{title:`Home`,subtitle:`Your workspace dashboard`,nav:`Home`,allApps:`All Applications`,greetingMorning:`Good morning`,greetingAfternoon:`Good afternoon`,greetingEvening:`Good evening`,greetingNight:`Working late`,heroTagline:`Pick up where you left off, or explore something new.`,open:`Open`,stats:{apps:`Applications`,starred:`Starred`,recent:`Recent items`},loading:`Loading workspace...`,recent:`Recent`,starred:`Starred`,welcome:`Welcome to ObjectUI`,welcomeDescription:`Get started by creating your first application or configure your system settings.`,createFirstApp:`Create Your First App`,systemSettings:`System Settings`,quickActions:{title:`Quick Actions`,createApp:`Create App`,createAppDesc:`Start with a new application`,manageObjects:`Manage Objects`,manageObjectsDesc:`Configure data models`,systemSettings:`System Settings`,systemSettingsDesc:`Configure your workspace`},recentApps:{title:`Recently Accessed`,itemType:{object:`Object`,dashboard:`Dashboard`,page:`Page`,record:`Record`}},starredApps:{title:`Starred`},gettingStarted:{title:`Make this home yours`,description:`Star an app to pin it here for one-click access. Anything you open will show up under Recently Accessed automatically.`,cta:`Browse all applications`},appCard:{noDescription:`No description`,default:`Default`}},layout:{appSwitcher:{home:`Home`,addApp:`Add App`,editApp:`Edit App`,manageAllApps:`Manage All Apps`,systemConsole:`System Console`,noAppsConfigured:`No apps configured`},activityFeed:{title:`Recent Activity`,filter:`Filter`,empty:`No recent activity`,viewAll:`View all activity`,ariaLabel:`Activity feed`,typeCreate:`Create`,typeUpdate:`Update`,typeDelete:`Delete`,typeComment:`Comment`,relativeJustNow:`just now`,relativeSecondsAgo:`{{count}}s ago`,relativeMinutesAgo:`{{count}}m ago`,relativeHoursAgo:`{{count}}h ago`,relativeDaysAgo:`{{count}}d ago`},metadata:{label:`Metadata`,toggleTitle:`Toggle Metadata Inspector`,panelTitle:`Metadata Inspector`,jsonBadge:`JSON`,copyJson:`Copy JSON`}},search:{title:`Search`,back:`Back`,placeholder:`Search objects, dashboards, pages, reports...`,inputAriaLabel:`Search objects, dashboards, pages, reports`,resultsCount:`{{count}} result for "{{query}}"`,resultsCountPlural:`{{count}} results for "{{query}}"`,itemsAvailable:`{{count}} items available`,noResults:`No results found`,noResultsHint:`Try adjusting your search terms`,typeObjects:`Objects`,typeDashboards:`Dashboards`,typePages:`Pages`,typeReports:`Reports`,badgeObject:`object`,badgeDashboard:`dashboard`,badgePage:`page`,badgeReport:`report`},empty:{objectNotFound:`Object Not Found`,objectNotFoundDescription:`Object "{{name}}" definition missing. Check your configuration or navigate back to select a valid object.`,pageNotFound:`Page Not Found`,pageNotFoundDescription:`The page "{{name}}" could not be found. It may have been removed or renamed.`,dashboardNotFound:`Dashboard Not Found`,dashboardNotFoundDescription:`The dashboard "{{name}}" could not be found. It may have been removed or renamed.`,reportNotFound:`Report Not Found`,reportNotFoundDescription:`The report "{{name}}" could not be found. It may have been removed or renamed.`,noAppsConfigured:`No Apps Configured`,noAppsConfiguredDescription:`No applications have been registered. Create your first app or visit System Settings to configure your environment.`,createFirstApp:`Create Your First App`,systemSettings:`System Settings`,back:`Back`},renderer:{noPageSchema:`No page schema provided`,noFormSchema:`No form schema provided`,noDashboardSchema:`No dashboard schema provided`,pageRendering:`Page rendering: {{name}}`,dashboardRendering:`Dashboard rendering: {{name}}`,formRenderingMode:`Form rendering in {{mode}} mode`,formRenderingFor:`for record {{id}}`,createRecord:`Create Record`,editRecord:`Edit Record`,page:`Page`,dashboard:`Dashboard`,save:`Save`,cancel:`Cancel`},actionDialog:{title:`Action Parameters`,description:`Please provide the required information to continue.`,selectPlaceholder:`Select {{label}}`,requiredError:`{{label}} is required`,lookupPlaceholder:`Paste the {{label}} record id (UUID)`,lookupHelpText:`Enter the record id of the referenced object. A picker is coming soon.`,cancel:`Cancel`,confirm:`Confirm`,defaultActionTitle:`Action`,ok:`OK`},rowAction:{openMenu:`Open menu`,edit:`Edit`,delete:`Delete`},navigationSync:{addedPage:`Navigation updated: added page "{{name}}"`,addedDashboard:`Navigation updated: added dashboard "{{name}}"`,removedPage:`Navigation updated: removed page "{{name}}"`,removedDashboard:`Navigation updated: removed dashboard "{{name}}"`,renamedPage:`Navigation updated: renamed page "{{oldName}}" → "{{newName}}"`,renamedDashboard:`Navigation updated: renamed dashboard "{{oldName}}" → "{{newName}}"`,undoLabel:`Undo`,undone:`Navigation change undone`,undoFailed:`Failed to undo navigation change`,updateFailed:`Failed to update navigation`},objectActions:{deleteSuccess:`{{label}} deleted successfully`,deleteFailed:`Failed to delete {{label}}`,noRecordId:`No record ID provided`,deleteConfirm:`Are you sure you want to delete this record?`,bulkDeleteSuccess:`Deleted {{count}} {{label}} records`,bulkDeletePartial:`{{succeeded}} deleted, {{failed}} failed`},objectViewActions:{renameFailed:`Failed to rename view`,deleteFailed:`Failed to delete view`},dashboardActions:{pdfPreparing:`Preparing PDF export…`,exportFailed:`Export failed: {{message}}`,forecastSoon:`Forecast view coming soon`},recordDetail:{viewersTooltip:`Users viewing this record`},cellRender:{empty:`Empty`,yes:`Yes`,no:`No`,systemFields:`System`},user:{profile:`Profile`,settings:`Settings`,logout:`Log out`,preferences:`Preferences`,theme:`Theme`,language:`Language`},organizations:{mine:`My Organizations`,title:`Organizations`,heading:`Your Organizations`,subtitle:`Select an organization to continue, or create a new one.`,searchPlaceholder:`Search for an organization`,new:`New organization`,current:`Current organization`,manage:`Manage`,emptyTitle:`No organizations yet`,emptyDescription:`Create your first organization to get started.`,noMatches:`No organizations match your search.`},notifications:{empty:`No notifications`,markAllRead:`Mark all read`,viewAll:`View all notifications`,approvalsPending:`{{count}} pending approvals`,viewApprovals:`View approvals`,noPendingApprovals:`No pending approvals`,openApprovalsInbox:`Open Approvals Inbox`},publicForm:{submit:`Submit`,submitting:`Submitting…`,submitAnother:`Submit another response`,poweredBy:`Powered by ObjectStack`,secureNotice:`Your information is transmitted securely and only used to respond to your request.`,thankYouTitle:`Thank you!`,thankYouMessage:`Your submission has been received successfully.`,redirecting:`Redirecting in {{seconds}} seconds…`,unavailableTitle:`Form unavailable`,unavailableDescription:`No public form is available at this URL. Make sure the underlying view has anonymous sharing enabled and matches this slug.`,tryDemo:`Try the demo`,retry:`Retry`,loading:`Loading form…`,requiredHint:`* Required field`,consentLabelDefault:`I agree to the privacy policy and consent to my data being processed for this request.`,consentLink:`Privacy policy`,consentRequired:`Please accept the privacy policy to continue.`,rateLimited:`Please take a moment to review your answers before submitting.`,redirectBlocked:`Submission accepted, but the redirect URL was blocked for security.`,demo:{contactTitle:`Contact us`,contactDescription:`Tell us about your project and a sales representative will get back to you within one business day.`,supportTitle:`Submit a support request`,supportDescription:`Tell us what is going wrong — our team responds within one business day.`,thankYouSalesTitle:`Thanks — we received your message!`,thankYouSalesMessage:`A sales representative will be in touch within one business day.`,thankYouSupportTitle:`Got it — your request is in the queue.`,thankYouSupportMessage:`A support engineer will follow up shortly. Save this page if you have more screenshots to add.`,field:{firstName:`First name`,lastName:`Last name`,email:`Work email`,phone:`Phone`,jobTitle:`Job title`,company:`Company`,website:`Website`,industry:`Industry`,companySize:`Company size`,howCanWeHelp:`How can we help?`,subject:`Subject`,description:`Description`,issueType:`Issue type`,priority:`Priority`},industry:{technology:`Technology`,software:`Software / SaaS`,finance:`Finance`,healthcare:`Healthcare`,retail:`Retail`,other:`Other`},issueType:{question:`Question`,problem:`Problem`,bug:`Bug`,feature_request:`Feature request`},priority:{low:`Low`,medium:`Medium`,high:`High`,critical:`Critical`}}}},zh:{common:{loading:`加载中...`,save:`保存`,cancel:`取消`,delete:`删除`,edit:`编辑`,create:`新建`,search:`搜索`,filter:`筛选`,reset:`重置`,confirm:`确认`,close:`关闭`,back:`返回`,next:`下一步`,previous:`上一步`,submit:`提交`,refresh:`刷新`,export:`导出`,import:`导入`,yes:`是`,no:`否`,ok:`确定`,actions:`操作`,more:`更多`,selectAll:`全选`,clearAll:`清除全部`,addToFavorites:`添加到收藏`,removeFromFavorites:`从收藏中移除`,noData:`暂无数据`,noResults:`未找到结果`,required:`必填`,optional:`选填`,selectOption:`请选择`,select:`选择...`,openChat:`打开聊天`,closeChat:`关闭聊天`,toggleSidebar:`切换侧边栏`},validation:{required:`{{field}}不能为空`,minLength:`{{field}}至少需要{{min}}个字符`,maxLength:`{{field}}最多{{max}}个字符`,min:`{{field}}不能小于{{min}}`,max:`{{field}}不能大于{{max}}`,email:`请输入有效的邮箱地址`,url:`请输入有效的URL`,pattern:`{{field}}格式不正确`,unique:`{{field}}必须唯一`,type:`{{field}}必须是有效的{{type}}`},form:{addItem:`添加项目`,removeItem:`移除项目`,fieldRequired:`此字段为必填项`,invalidFormat:`格式不正确`,saveSuccess:`保存成功`,saveError:`保存失败`,unsavedChanges:`您有未保存的更改,确定要离开吗?`,stepOf:`第{{current}}步,共{{total}}步`,createTitle:`新建{{object}}`,editTitle:`编辑{{object}}`,createDescription:`向数据库添加新的{{object}}。`,editDescription:`更新{{object}}的详情`,saveRecord:`保存`,create:`创建`,update:`更新`,createSuccess:`{{object}}创建成功`,updateSuccess:`{{object}}更新成功`,deleteSuccess:`{{object}}删除成功`},table:{rowsPerPage:`每页行数`,showing:`显示第{{from}}到{{to}}条,共{{total}}条`,noRows:`暂无数据`,sortAsc:`升序排列`,sortDesc:`降序排列`,filterColumn:`筛选{{column}}`,columns:`列`,exportCSV:`导出CSV`,exportExcel:`导出Excel`,selectRow:`选择行`,selectAllRows:`选择所有行`,expandRow:`展开行`,collapseRow:`折叠行`,hideColumn:`隐藏列`,freezeColumn:`冻结列`,unfreezeColumn:`取消冻结列`,pageInfo:`第 {{current}} 页,共 {{total}} 页`,totalRecords:`共 {{count}} 条`,noResults:`未找到结果`,noResultsHint:`请尝试调整筛选条件或搜索关键词。`,cancelAll:`全部取消`,saveAll:`全部保存 ({{count}})`,addRecord:`添加记录`,open:`打开`,search:`搜索...`,modified:`{{count}} 行已修改`,selected:`已选择 {{count}} 项`,edit:`编辑`,delete:`删除`},grid:{actions:`操作`,edit:`编辑`,delete:`删除`,export:`导出`,exportAs:`导出为 {{format}}`,loading:`加载数据中...`,errorLoading:`数据加载失败`,pullToRefresh:`下拉刷新`,refreshing:`刷新中…`,openRecord:`打开记录`,openMenu:`更多操作`,rowHeight:`行高: {{mode}}`,empty:`空`,yes:`是`,no:`否`,systemFields:`系统字段`,toolbar:{densityMode:`密度`,densityCompact:`紧凑`,densityComfortable:`舒适`,densitySpacious:`宽松`,densityCycleHint:`{{label}}(点击切换)`,densityCycleShortHint:`点击切换`},import:{title:`导入{{object}}`,stepUpload:`上传`,stepMapping:`字段映射`,stepPreview:`预览`,uploadDescription:`上传 CSV 文件以开始导入。`,mappingDescription:`将 CSV 列映射到对象字段。`,previewDescription:`导入前预览数据。`,dragDrop:`拖拽 CSV 文件到此处,或点击选择文件`,browseFiles:`选择文件`,onlyCsv:`仅支持 CSV 文件。`,fileNeedsHeader:`文件必须包含表头行和至少一行数据。`,mappingTemplate:`映射模板:`,chooseTemplate:`选择模板…`,noSavedTemplates:`暂无保存的模板`,noneOption:`— 无 —`,saveCurrent:`保存当前映射`,templateName:`模板名称`,save:`保存`,deleteTemplate:`删除模板`,csvColumn:`CSV 列`,mapsTo:`映射到`,status:`状态`,skipColumn:`跳过此列`,skip:`— 跳过 —`,mapped:`已映射`,skipped:`已跳过`,rowsWithErrors:`{{count}} 行有错误`,rowsCorrected:`已修正 {{count}} 行`,clickToFix:`— 点击高亮单元格可直接修改。`,showingRows:`显示第 {{shown}} 行,共 {{total}} 行`,importing:`导入中… {{progress}}%`,importComplete:`导入完成`,imported:`已导入 {{count}} 条`,skippedCount:`已跳过 {{count}} 条`,moreErrors:`…还有 {{count}} 个错误`,cancel:`取消`,back:`上一步`,next:`下一步`,close:`关闭`,importNRows:`导入 {{count}} 行`,importingProgress:`导入中…`,requiredMark:`*`,required:`必填`,invalidType:`{{type}} 格式无效`}},calendar:{today:`今天`,month:`月`,week:`周`,day:`日`,agenda:`日程`,allDay:`全天`,noEvents:`暂无事件`,newEvent:`新建事件`,moreEvents:`+{{count}} 更多`},list:{recordCount:`{{count}} 条记录`,recordCountOne:`{{count}} 条记录`,addRecord:`添加记录`,tabs:`标签页`,allRecords:`全部记录`,search:`搜索`,filter:`筛选`,filterRecords:`筛选记录`,sort:`排序`,sortRecords:`排序记录`,group:`分组`,groupBy:`分组依据`,export:`导出`,exportAs:`导出为 {{format}}`,color:`颜色`,rowColor:`行颜色`,colorByField:`按字段着色`,clear:`清除`,none:`无`,hideFields:`隐藏字段`,noItems:`暂无数据`,noItemsMessage:`当前没有可显示的记录。请尝试调整筛选条件或新建一条数据。`,showAll:`显示全部`,pullToRefresh:`下拉刷新`,refreshing:`刷新中…`,share:`分享`,print:`打印`,hideFieldsTitle:`隐藏字段`,dataLimitReached:`显示前 {{limit}} 条记录。可能有更多数据。`,viewSettings:`视图设置`,viewSettingsHint:`分组、行颜色、密度与可见字段。`,addGroup:`添加分组字段`,collapsedByDefault:`默认折叠`,removeGroup:`删除`},kanban:{addCard:`添加卡片`,addColumn:`添加列`,moveCard:`移动卡片`,deleteCard:`删除卡片`,deleteColumn:`删除列`,noCards:`暂无卡片`,cardTitlePlaceholder:`输入卡片标题...`},timeline:{bucket:{overdue:`已逾期`,today:`今天`,tomorrow:`明天`,thisWeek:`本周`,nextWeek:`下周`,later:`更晚`,noDate:`无日期`,unassigned:`未分配`}},gantt:{column:{taskName:`任务名称`,start:`开始`,end:`结束`},toolbar:{prevPeriod:`上一周期`,nextPeriod:`下一周期`,zoomIn:`放大`,zoomOut:`缩小`,jumpToToday:`跳到今天`,today:`今天`,showTaskList:`展开任务列表`,hideTaskList:`收起任务列表`}},view:{rename:`重命名`,duplicateView:`复制视图`,shareView:`共享视图`,setAsDefault:`设为默认`,pinView:`固定视图`,unpinView:`取消固定`,changeViewType:`更改视图类型`,deleteView:`删除视图`,addView:`添加视图`,unsavedChanges:`未保存的更改`,saveAsView:`另存为视图`,moreViews:`还有 {{count}} 个`,activeFilters:`筛选条件生效中`,activeSort:`排序生效中`,manageViews:`管理视图`,manageAllViews:`管理所有视图…`,searchViews:`搜索视图`,addNewView:`新建视图`,done:`完成`,noViewsFound:`没有匹配的视图。`,dragToReorder:`拖动排序`,defaultView:`默认视图`,tabActionsFor:`{{name}} 的视图操作`,readonlyAriaLabel:`只读视图`,readonlyTooltip:`系统视图 — 复制后可自定义。`},detail:{back:`返回`,edit:`编辑`,editInline:`编辑`,save:`保存`,saveChanges:`保存更改`,saving:`保存中…`,editFieldsInline:`编辑字段`,lockedByApproval:`审批中已锁定`,lockedTooltip:`该记录有待审批的请求,编辑已被锁定`,cancelApproval:`撤回审批`,cancelApprovalInFlight:`撤回中…`,cancelApprovalTooltip:`撤回当前的待审批请求以解除记录锁定`,cancelApprovalFailed:`撤回审批失败`,cancelApprovalUnavailable:`当前数据源不支持撤回审批`,linkCopied:`链接已复制到剪贴板`,linkCopyFailed:`复制链接失败`,cancel:`取消`,cancelEdit:`放弃更改`,sectionMoreDetails:`更多详情`,concurrentUpdateTitle:`该记录已被他人修改`,concurrentUpdateDescription:`在你编辑期间,另一位用户保存了 {{field}} 的新版本。为避免无声覆盖对方的改动,请选择如何处理该冲突。`,concurrentUpdateYourEdit:`你的修改`,concurrentUpdateCurrentValue:`当前值`,concurrentUpdateUpdatedBy:`由 {{name}} 更新`,concurrentUpdateUpdatedAt:`更新于 {{when}}`,concurrentUpdateReload:`加载最新`,concurrentUpdateOverwrite:`仍然覆盖`,concurrentUpdateCancel:`取消`,openInNewTab:`在新标签页打开`,share:`分享`,duplicate:`复制`,export:`导出`,viewHistory:`查看历史`,delete:`删除`,moreActions:`更多操作`,addToFavorites:`添加到收藏`,removeFromFavorites:`从收藏中移除`,previousRecord:`上一条记录`,nextRecord:`下一条记录`,recordOf:`第 {{current}} 条,共 {{total}} 条`,recordNotFound:`未找到记录`,recordNotFoundDescription:`您查找的记录不存在或已被删除。`,goBack:`返回`,details:`详情`,related:`相关`,relatedRecords:`{{count}} 条记录`,relatedRecordOne:`{{count}} 条记录`,noRelatedRecords:`暂无相关记录`,loading:`加载中...`,copyToClipboard:`复制到剪贴板`,copied:`已复制!`,deleteConfirmation:`确定要删除此记录吗?`,editRecord:`编辑记录`,viewAll:`查看全部`,new:`新建`,emptyValue:`—`,activity:`活动`,history:`历史`,editRow:`编辑`,deleteRow:`删除`,deleteRowConfirmation:`确定要删除此记录吗?`,deleteRowTitle:`删除记录`,actions:`操作`,previousPage:`上一页`,nextPage:`下一页`,pageOf:`第 {{current}} 页,共 {{total}} 页`,sortBy:`排序`,filterPlaceholder:`筛选...`,highlightFields:`关键字段`,comments:`评论`,searchComments:`搜索评论…`,addCommentPlaceholder:`添加评论… (Ctrl+Enter 提交)`,noMatchingComments:`没有匹配的评论`,noCommentsYet:`暂无评论`,pinned:`已置顶`,pin:`置顶`,unpin:`取消置顶`,justNow:`刚刚`,minutesAgo:`{{count}}分钟前`,hoursAgo:`{{count}}小时前`,daysAgo:`{{count}}天前`,createdBy:`创建于`,updatedBy:`更新于`,dropFilesToUpload:`拖拽文件到此处或点击上传`,attachmentCount:`{{count}} 个附件`,attachmentCountPlural:`{{count}} 个附件`,removeAttachment:`移除附件`,unifiedDiff:`统一视图`,sideBySideDiff:`并排视图`,noChanges:`无变更`,previousVersion:`旧版本`,currentVersion:`新版本`,discussion:`讨论`,showDiscussion:`显示讨论 ({{count}})`,hideDiscussion:`隐藏讨论`,bold:`粗体 (Ctrl+B)`,italic:`斜体 (Ctrl+I)`,listFormat:`列表`,inlineCode:`行内代码`,mentionSomeone:`提及某人`,preview:`预览`,submitComment:`提交 (Ctrl+Enter)`,sendComment:`发送`,writeComment:`写评论…`,subscribedTooltip:`已订阅 — 点击取消订阅`,unsubscribedTooltip:`订阅通知`,firstRecord:`第一条记录 (Home)`,previousRecordKey:`上一条记录 (←)`,nextRecordKey:`下一条记录 (→)`,lastRecord:`最后一条记录 (End)`,noRecords:`无记录`,searchWhileNavigating:`导航时搜索`,searchRecords:`搜索记录…`,allActivity:`全部动态`,commentsOnly:`仅评论`,fieldChangesFilter:`字段变更`,tasksOnly:`仅任务`,leaveCommentPlaceholder:`留下评论… (Ctrl+Enter 提交)`,noActivity:`暂无活动记录`,loadMore:`加载更多`,edited:`(已编辑)`,via:`通过 {{source}}`,replyCount:`{{count}} 条回复`,replyCountPlural:`{{count}} 条回复`,replyPlaceholder:`回复…`,filterActivity:`筛选活动`,openDiscussion:`打开讨论面板`,closeDiscussion:`关闭讨论面板`,subscribeAriaLabel:`订阅通知`,unsubscribeAriaLabel:`取消订阅通知`,clearSearch:`清除搜索`,copyEmail:`复制邮箱`,copyPhone:`复制电话号码`,copyRecordId:`复制记录 ID`,showEmptyFields:`显示 {{count}} 个空字段`,hideEmptyFields:`隐藏空字段`,noValue:`无`},chart:{noData:`暂无图表数据`,loading:`图表加载中...`},report:{rowTotal:`行合计`,columnTotal:`列合计`,grandTotal:`总计`,totals:`汇总`,rowsLabel:`行`,columnsLabel:`列`,allLabel:`(全部)`,emptyLabel:`(空)`,loading:`加载中…`,failedToLoad:`矩阵报表加载失败:{{message}}`,needsAcross:"矩阵报表至少需要一个 `groupingsAcross` 字段。",aggregate:{count:`计数`,countDistinct:`去重计数`,sum:`求和`,avg:`平均`,min:`最小值`,max:`最大值`,first:`首个`},editor:{breadcrumb:`配置`,basic:`基础`,title:`标题`,titlePlaceholder:`例如:按季度的销售管道`,description:`描述`,descriptionPlaceholder:`此报表展示什么?`,type:`报表类型`,typeTabular:`表格 — 平铺列表`,typeSummary:`汇总 — 分组带合计`,typeMatrix:`矩阵 — 行列透视`,typeJoined:`拼接 — 多块组合`,typeHelp:`选择最贴合需求的布局方式。`,data:`数据`,objectName:`数据源`,objectNamePlaceholder:`例如:opportunity`,objectNameHelp:`此报表应查询哪个对象?`,limit:`行数上限`,limitPlaceholder:`例如:100`,columns:`列`,columnsHint:`选择要展示的字段。汇总或矩阵报表可添加聚合(求和、计数…)。`,filters:`筛选`,filtersHint:`限定参与报表的数据行。`,filtersComplex:`此报表使用了高级筛选条件,此处无法编辑。保存时将原样保留。`,groupBy:`分组`,groupByHint:`按字段分组并计算小计。`,rows:`行`,rowsHint:`按这些字段对行分组。`,columnsAxis:`列`,columnsAxisHint:`将这些字段透视到顶部。`,values:`度量`,valuesHint:`每个单元格里展示的数字。选择一个或多个字段并设置聚合方式(求和、计数…)。`,grouping:`分组`,addGrouping:`添加分组`,dateGranularity:`日期粒度`,dateGranularityNone:`(使用原始值)`,day:`日`,week:`周`,month:`月`,quarter:`季度`,year:`年`,sortAsc:`升序`,sortDesc:`降序`,chart:`图表`,chartHint:`在表格旁可选展示的可视化。`,chartType:`图表类型`,chartTitle:`图表标题`,chartTitlePlaceholder:`默认使用报表标题`,chartXAxis:`X 轴(类别)`,chartYAxis:`Y 轴(数值)`,chartShowLegend:`显示图例`,chartShowDataLabels:`显示数据标签`,chartNone:`(无图表)`,chartBar:`柱状图`,chartLine:`折线图`,chartArea:`面积图`,chartPie:`饼图`,chartDonut:`环形图`,chartFunnel:`漏斗图`,validationNeedsObject:`请先选择数据源,再添加列。`,validationMatrixNeedsRowsCols:`矩阵报表至少需要一个行字段和一个列字段。`,validationSummaryNeedsRows:`汇总报表至少需要一个分组字段。`,blocks:`区块`,blocksHint:`每个区块都是独立的表格或图表。区块筛选会与报表筛选合并(AND)。`,addBlock:`添加区块`,removeBlock:`删除区块`,blockName:`区块名称`,blockNamePlaceholder:`唯一的区块名`,blockLabel:`显示标题`,blockLabelPlaceholder:`显示在区块上方`,blockDescription:`说明`,blockDescriptionPlaceholder:`该区块的可选说明`,validationJoinedNeedsBlocks:`组合报表至少需要一个区块。`,validationBlockNameRequired:`每个区块都必须有非空的名称。`,validationBlockNameDuplicate:`区块名称在报表内必须唯一。`,validationBlockNeedsColumns:`每个区块至少需要一列。`,noneOption:`(无)`,addCondition:`添加条件`,combineLogic:`组合方式`,opContains:`包含`,opIsEmpty:`为空`,opIsNotEmpty:`不为空`,formatAuto:`自动`,formatCurrency:`货币`,formatPercent:`百分比`,formatInteger:`整数`,formatDate:`日期`,formatDatetime:`日期 + 时间`,columnLabelPlaceholder:`自定义标签`,aggregateColumn:`聚合`,formatColumn:`格式`,addColumns:`添加字段`,searchFields:`搜索字段…`,noMatchingFields:`没有匹配的字段。`,noFieldsAvailable:`暂无可用字段。`,columnsCount:`已选择 {n} 个列`,columnsEmpty:`尚未选择任何列。`,fieldPickerTitle:`选择字段`,fieldPickerDescription:`可选择一个或多个字段添加到报表,输入关键字可快速筛选。`,fieldPickerChangeTitle:`更换字段`,fieldPickerAddGroupingTitle:`添加分组`,fieldPickerEmpty:`(请选择字段)`,fieldPickerSelected:`已选 {n} 个`,fieldPickerClear:`清空选择`,fieldPickerAdd:`添加`,fieldPickerAddN:`添加 {n} 个`}},map:{searchLocations:`搜索位置…`,locationDetails:`位置详情`,markersCount:`{{count}} 个标记`,invalidCoordinates:`{{count}} 条记录因坐标缺失或无效已从地图中排除。`,invalidCoordinatesPlural:`{{count}} 条记录因坐标缺失或无效已从地图中排除。`},workflow:{draft:`草稿`,active:`活跃`,paused:`已暂停`,completed:`已完成`,cancelled:`已取消`,save:`保存`,publish:`发布`,addNode:`添加节点`,workflowFlow:`工作流程`,properties:`属性`,connections:`连接`,quickConnect:`快速连接`,fromPlaceholder:`从...`,toPlaceholder:`到...`,connect:`连接`,label:`标签`,type:`类型`,description:`描述`,assignee:`负责人`,assigneeType:`负责人类型`,user:`用户`,role:`角色`,group:`组`,expression:`表达式`,timeoutMinutes:`超时时间(分钟)`,selectNodeToEdit:`选择节点以编辑其属性`,workflowTitle:`工作流标题`,newWorkflow:`新工作流`,outConnections:`{{count}} 个输出`,start:`开始`,end:`结束`,task:`任务`,userTask:`用户任务`,serviceTask:`服务任务`,scriptTask:`脚本任务`,approval:`审批`,condition:`条件`,parallelGateway:`并行网关`,joinGateway:`合并网关`,boundaryEvent:`边界事件`,delay:`延迟`,notification:`通知`,webhook:`Webhook`,allowConcurrency:`允许(并发执行)`,forbidConcurrency:`禁止(跳过新任务)`,replaceConcurrency:`替换(取消现有任务)`,queueConcurrency:`排队(等待当前完成)`,conditionEvent:`条件`,manualEvent:`手动`,webhookEvent:`Webhook`,timerEvent:`定时器`,signalEvent:`信号`,versionHistory:`版本历史`,importBpmn:`导入 BPMN`,exportBpmn:`导出 BPMN`,undo:`撤销`,redo:`重做`,resetZoom:`重置缩放`},dashboard:{addWidget:`添加组件`,removeWidget:`移除组件`,editLayout:`编辑布局`,saveLayout:`保存布局`,resetLayout:`重置布局`,total:`总计`,noDataAvailable:`暂无数据`,noDataSourceFor:`没有可用的数据源:`,trend:{vsLastQuarter:`较上季度`,vsLastMonth:`较上月`,vsLastWeek:`较上周`,vsLastYear:`较去年`,vsYesterday:`较昨日`,vsPreviousPeriod:`较上期`}},configPanel:{save:`保存`,discard:`丢弃`,close:`关闭`,layout:`布局`,columns:`列数`,gap:`间距`,rowHeight:`行高`,data:`数据`,refreshInterval:`刷新间隔`,appearance:`外观`,title:`标题`,showDescription:`显示描述`,theme:`主题`,configuration:`配置`,general:`基本`,advanced:`高级`},appDesigner:{createApp:`创建应用`,editApp:`编辑应用`,basicInfo:`基本信息`,objects:`业务对象`,navigation:`导航`,branding:`品牌`,appName:`应用名称`,appTitle:`标题`,appDescription:`描述`,appIcon:`图标`,template:`模板`,layout:`布局`,layoutSidebar:`侧边栏`,layoutHeader:`顶部导航`,layoutEmpty:`空白`,selectObjects:`选择对象`,searchObjects:`搜索对象…`,selectAll:`全选`,deselectAll:`取消全选`,navBuilder:`导航构建器`,addGroup:`添加分组`,addUrl:`添加链接`,addSeparator:`添加分隔线`,noNavItems:`暂无导航项。`,logoUrl:`Logo 链接`,primaryColor:`主色调`,faviconUrl:`网站图标链接`,preview:`预览`,complete:`完成`,snakeCaseHint:`必须使用 snake_case 格式(如 my_app)`,modeEdit:`编辑`,modePreview:`预览`,modeCode:`代码`,addWidget:`添加组件`,widgetProperties:`组件属性`,dataSource:`数据源`,valueField:`数值字段`,aggregate:`聚合`,colorVariant:`颜色`,addComponent:`添加组件`,componentProperties:`组件属性`,viewType:`视图类型`,fields:`字段`,toolbar:`工具栏`,showSearch:`显示搜索`,showFilters:`显示筛选`,showSort:`显示排序`,appearance:`外观`,rowHeight:`行高`,stripedRows:`斑马纹`,bordered:`边框`,livePreview:`实时预览`,stepBasicDesc:`名称、标题和布局`,stepObjectsDesc:`选择业务对象`,stepNavigationDesc:`构建导航树`,stepBrandingDesc:`Logo、颜色和图标`,noObjectsFound:`未找到对象。`,noNavItemsHint:`暂无导航项。请在上一步选择对象或手动添加项目。`,separator:`分隔线`,separatorLabel:`— 分隔线 —`,newGroup:`新建分组`,newLink:`新建链接`,saveDraft:`保存草稿`,cancelConfirmTitle:`放弃更改?`,cancelConfirmMessage:`您有未保存的更改。确定要取消吗?`,confirmDiscard:`放弃`,keepEditing:`继续编辑`,navNoItems:`暂无导航项。点击上方按钮添加项目。`,navNoPreviewItems:`无项目`,navLivePreview:`实时预览`,navCollapseGroup:`折叠分组`,navExpandGroup:`展开分组`,navAddChild:`添加子项`,navMoveUp:`上移`,navMoveDown:`下移`,navRemove:`移除`,navObjectPage:`对象页面`,navDashboard:`仪表盘`,navPage:`页面`,navReport:`报表`,navGroup:`分组`,navUrl:`链接`,navSeparator:`分隔线`,navTypeObject:`对象`,navTypeDashboard:`仪表盘`,navTypePage:`页面`,navTypeReport:`报表`,navTypeUrl:`链接`,navTypeGroup:`分组`,navTypeSeparator:`分隔线`,navTypeAction:`操作`,navEditIcon:`编辑图标`,navToggleVisible:`切换可见性`,navHidden:`已隐藏`,navExportSchema:`导出 JSON`,navImportSchema:`导入 JSON`,navExportSuccess:`导航结构已导出`,navImportSuccess:`导航结构已导入`,navImportError:`无效的导航 JSON`,navIconPlaceholder:`图标名称(如 Users)`,dashboardEditor:`仪表盘编辑器`,noWidgets:`暂无小组件。点击上方按钮添加。`,widgetLayoutSize:`布局尺寸`,widgetWidth:`宽度`,widgetHeight:`高度`,dashboardPreview:`仪表盘预览`,noWidgetsPreview:`暂无可预览的小组件`,pageCanvasEditor:`页面画布编辑器`,emptyPage:`空白页面。点击上方按钮添加组件。`,pagePreview:`页面预览`,noComponentsPreview:`暂无可预览的组件`,modePage:`页面`,modeDashboard:`仪表盘`,undo:`撤销`,redo:`重做`,brandingEditor:`品牌编辑器`,brandingExport:`导出 JSON`,brandingImport:`导入 JSON`,brandingPreview:`预览`,brandingSampleButton:`示例按钮`,brandingSampleText:`这是您的品牌主题效果预览。`,colorPalette:`颜色面板`,fontFamily:`字体`,fontDefault:`默认(系统)`,modeLight:`浅色`,modeDark:`深色`,mobilePreview:`移动端预览`,objectManager:{title:`对象管理器`,addObject:`新建对象`,searchPlaceholder:`搜索对象…`,noObjects:`未找到对象。`,objectName:`API 名称`,objectLabel:`标签`,pluralLabel:`复数标签`,icon:`图标`,selectIcon:`选择图标…`,group:`分组`,noGroup:`无分组`,sortOrder:`排序`,enabled:`启用`,relationships:`关系`,systemBadge:`系统`,fieldCount:`{{count}} 个字段`,ungrouped:`未分组`,deleteConfirmTitle:`删除对象?`,deleteConfirmMessage:`这将永久删除该对象及其所有字段。此操作无法撤销。`},fieldDesigner:{title:`字段设计器`,addField:`新建字段`,searchPlaceholder:`搜索字段…`,allTypes:`所有类型`,noFields:`未找到字段。`,fieldName:`API 名称`,fieldLabel:`标签`,fieldType:`类型`,fieldGroup:`分组`,description:`描述`,required:`必填`,unique:`唯一`,readOnly:`只读`,hidden:`隐藏`,indexed:`索引`,externalId:`外部 ID`,trackHistory:`追踪历史`,defaultValue:`默认值`,placeholder:`占位文本`,referenceTo:`引用对象`,formula:`公式`,options:`选项`,addOption:`添加选项`,validationRules:`验证规则`,addRule:`添加规则`,systemBadge:`系统`,ungrouped:`通用`,deleteConfirmTitle:`删除字段?`,deleteConfirmMessage:`这将永久删除该字段。此字段中的现有数据将丢失。`,basicSection:`基础`,typeSpecificSection:`类型设置`,advancedSection:`高级`,typeCategory:{text:`文本`,number:`数字`,date:`日期时间`,choice:`选择`,relation:`关联`,advanced:`高级`}}},console:{title:`ObjectStack 控制台`,initializing:`正在初始化应用程序...`,search:`搜索…`,breadcrumb:{dashboards:`仪表盘`,pages:`页面`,reports:`报告`,system:`系统`},nav:{pinItem:`固定 {{name}}`,unpinItem:`取消固定 {{name}}`,dragToReorder:`拖动以重新排序`,favorites:`收藏`},loadingSteps:{connecting:`正在连接数据源`,loadingConfig:`正在加载配置`,preparingWorkspace:`正在准备工作区`},error:{connectionFailed:`无法连接到服务器`,serverUnreachable:`无法访问服务器 {{url}}。`,checkServer:`请检查网络连接,或确认后端服务正在运行。`,timeout:`连接超时(10 秒)。`},actions:{retry:`重试`,retrying:`正在重试…`},shortcuts:{title:`键盘快捷键`,description:`所有可用键盘快捷键的快速参考。`,groups:{general:`通用`,navigation:`导航`,dataViews:`数据视图`,preferences:`偏好设置`},openCommandPalette:`打开命令面板`,showShortcuts:`显示键盘快捷键`,closeDialog:`关闭对话框/面板`,toggleSidebar:`切换侧边栏`,focusSearch:`聚焦搜索`,createRecord:`新建记录`,refreshData:`刷新数据`,editRecord:`编辑选中记录`,toggleDarkMode:`切换深色模式`},commandPalette:{placeholder:`输入命令或搜索...`,noResults:`未找到结果。`,objects:`对象`,dashboards:`仪表盘`,pages:`页面`,reports:`报表`,switchApp:`切换应用`,current:`当前`,preferences:`偏好设置`,lightTheme:`浅色主题`,darkTheme:`深色主题`,systemTheme:`系统主题`,actions:`操作`,openFullSearch:`打开完整搜索页面`,createApp:`创建新应用`},errors:{somethingWentWrong:`出错了`,unexpectedError:`渲染此视图时发生意外错误。`,tryAgain:`重试`,goHome:`返回首页`,errorDetails:`错误详情(仅开发模式)`},theme:{toggle:`切换主题`,light:`浅色`,dark:`深色`,system:`系统`},objectView:{objectNotFound:`未找到对象`,objectNotFoundDescription:`对象"{{objectName}}"在当前配置中不存在。`,objectNotFoundHint:`请检查您的应用导航设置或从侧边栏选择其他对象。`,allRecords:`所有记录`,exitDesignMode:`退出设计模式`,enterDesignMode:`进入设计模式`,metadataInspector:`元数据检查器`,editView:`编辑视图`,addView:`添加视图`,designTools:`设计工具`,new:`新建`,import:`导入`,importTitle:`从 CSV 文件导入`,importedToast:`成功导入 {{count}} 行。`,importedWithSkipped:`已导入 {{ok}} 行;跳过 {{skipped}} 行。`,configureView:`配置视图`,closePanel:`关闭面板`,showAdvancedSettings:`显示高级设置`,showFewerSettings:`显示精简设置`,page:`页面`,pageConfigHint:`工具栏、导航与视图外壳设置`,listConfigHint:`此列表类型的数据渲染、列与外观`,general:`常规`,generalHint:`视图标题、描述和类型`,toolbar:`工具栏`,toolbarHint:`搜索、筛选、排序、分组和密度切换`,toolbarEnabledCount:`已启用 {{count}}/{{total}} 项`,navigationSection:`导航`,navigationHint:`行点击行为和详情视图设置`,records:`记录`,recordsHint:`选择模式、添加记录和内联编辑`,exportPrint:`导出与打印`,exportPrintHint:`导出格式、打印和记录数显示`,showAllFields:`全部显示`,hideAllFields:`全部隐藏`,searchFields:`搜索字段...`,title:`标题`,description:`描述`,data:`数据`,source:`数据源`,columns:`列`,filterBy:`筛选条件`,sortBy:`排序条件`,appearance:`外观`,showDescription:`显示描述`,viewType:`视图类型`,userFilters:`用户筛选器`,enableSearch:`启用搜索`,enableFilter:`启用筛选`,enableSort:`启用排序`,enableHideFields:`启用隐藏字段`,enableGroup:`启用分组`,enableColor:`启用颜色`,enableDensity:`启用密度`,userActions:`用户操作`,addRecordViaForm:`通过表单添加记录`,advanced:`高级`,allowExport:`允许导出`,recordCount:`{{count}} 条记录`,noDescription:`无描述`,none:`无`,columnsConfigured:`{{count}} 列`,save:`保存`,discard:`丢弃`,createView:`创建视图`,createViewDesc:`先选择视图类型,再为它命名。所有设置之后都可以修改。`,cancel:`取消`,create:`创建`,delete:`删除`,deleteViewTitle:`删除视图`,deleteViewConfirm:`确定要删除视图 "{{name}}" 吗?此操作无法撤销。`,bulkDeleteConfirm:`确定要删除选中的 {{count}} 条记录吗?此操作无法撤销。`,duplicateViewName:`已存在同名视图。`,viewTypeGrid:`表格`,viewTypeGridDesc:`电子表格风格的记录表格。`,viewTypeKanban:`看板`,viewTypeKanbanDesc:`按单选字段分列的卡片视图。`,viewTypeCalendar:`日历`,viewTypeCalendarDesc:`按日期把记录放到月历上。`,viewTypeGallery:`画廊`,viewTypeGalleryDesc:`由附件字段驱动的大图卡片。`,viewTypeTimeline:`时间线`,viewTypeTimelineDesc:`记录按横向时间轴展开。`,viewTypeGantt:`甘特图`,viewTypeGanttDesc:`展示项目起止时间和依赖。`,viewTypeMap:`地图`,viewTypeMapDesc:`根据经纬度字段显示地理标记。`,viewTypeChart:`图表`,viewTypeChartDesc:`聚合的柱状/折线/饼状图。`,newView:`新视图`,typeOptions:`类型选项`,groupByField:`分组字段`,groupByFieldHelp:`看板会按该字段的不同取值分列。`,startDateField:`开始日期字段`,startDateFieldHelp:`日历将按该日期把记录放到对应日期格。`,ganttStartDateFieldHelp:`甘特条形图的左端使用该日期。`,ganttEndDateFieldHelp:`甘特条形图的右端使用该日期。`,timelineDateFieldHelp:`记录在时间轴上按该日期定位。`,titleField:`标题字段`,latitudeField:`纬度字段`,latitudeFieldHelp:`提供纬度坐标的字段(仅地理坐标字段可选)。`,longitudeField:`经度字段`,longitudeFieldHelp:`提供经度坐标的字段(仅地理坐标字段可选)。`,imageField:`图片字段`,imageFieldHelp:`画廊封面来自该图片或附件字段。`,dateField:`日期字段`,selectField:`选择字段...`,selectOption:`选择...`,noEligibleFieldForType:`没有符合条件的字段。请先在对象上添加该类型字段。`,viewTypeUnavailable:`该对象缺少所需的“{{field}}”字段。`,viewTypeUnavailableShort:`当前对象不支持。`,chartType:`图表类型`,chartTypeHelp:`决定数据如何呈现。`,chartTypeBar:`柱状图`,chartTypeLine:`折线图`,chartTypePie:`饼图`,chartTypeArea:`面积图`,chartTypeScatter:`散点图`,xAxisField:`X 轴字段`,xAxisFieldHelp:`用于分类或时间维度的字段。`,yAxisField:`Y 轴字段`,yAxisFieldHelp:`用于数值聚合的字段。`,gridOptionsHint:`网格视图使用上方配置的列。`,groupBy:`分组依据`,prefixField:`前缀字段`,fields:`字段`,fieldsVisible:`{{count}} 个可见`,sortsCount:`{{count}} 个排序`,filtersCount:`{{count}} 个筛选`,endDateField:`结束日期字段`,color:`颜色`,fieldTextColor:`字段文字颜色`,rowHeight:`行高`,wrapHeaders:`自动换行标题`,showFieldDescriptions:`显示字段描述`,collapseAllByDefault:`默认全部折叠`,striped:`斑马纹行`,bordered:`边框单元格`,inlineEdit:`内联编辑记录`,addDeleteRecordsInline:`内联添加/删除记录`,clickIntoRecordDetails:`点击进入记录详情`,navigationMode:`导航模式`,navigationWidth:`导航宽度`,navigationWidthHint:`适用于抽屉、弹窗和分屏导航模式`,openNewTab:`在新标签页打开`,openNewTabHint:`适用于页面和新窗口导航模式`,selectionMode:`选择模式`,selectionNone:`无`,selectionSingle:`单选`,selectionMultiple:`多选`,pageSize:`每页记录数`,pageSizeOptions:`每页选项`,exportFormats:`导出格式`,exportMaxRecords:`最大记录数`,exportIncludeHeaders:`包含表头`,exportFileNamePrefix:`文件名前缀`,searchableFields:`可搜索字段`,filterableFields:`可筛选字段`,resizableColumns:`可调整列宽`,densityCompact:`紧凑`,densityComfortable:`舒适`,densitySpacious:`宽松`,densityMode:`密度模式`,hiddenFields:`隐藏字段`,rowActions:`行操作`,bulkActions:`批量操作`,sharing:`共享`,sharingEnabled:`启用共享`,sharingVisibility:`可见性`,addRecordEnabled:`启用添加记录`,addRecordPosition:`位置`,addRecordMode:`模式`,addRecordFormView:`表单视图`,conditionalFormatting:`条件格式`,addRule:`添加规则`,quickFilters:`快速筛选`,addQuickFilter:`添加快速筛选`,ufElements:`元素类型`,ufDropdown:`下拉菜单`,ufTabs:`标签页`,ufToggle:`开关`,ufAddField:`+ 添加筛选字段...`,ufNoFields:`无可用字段`,ufAddTab:`+ 添加标签页`,ufTabLabel:`标签`,ufShowAllRecords:`显示"全部记录"标签页`,ufAllowAddTab:`允许添加标签页`,showRecordCount:`显示记录计数`,allowPrinting:`允许打印`,virtualScroll:`虚拟滚动`,emptyStateTitle:`空状态标题`,emptyStateMessage:`空状态消息`,emptyStateIcon:`空状态图标`,ariaLabel:`ARIA 标签`,ariaDescribedBy:`ARIA 描述`,ariaLive:`ARIA 实时区域`,accessibility:`无障碍`,viewTabs:`视图标签`},localeSwitcher:{label:`语言`}},auth:{login:{title:`登录您的账户`,description:`输入您的邮箱和密码以继续`,emailLabel:`邮箱`,emailPlaceholder:`name@example.com`,passwordLabel:`密码`,passwordPlaceholder:`输入您的密码`,forgotPasswordText:`忘记密码?`,submitButton:`登录`,submittingButton:`登录中...`,noAccountText:`还没有账户?`,signUpText:`注册`},register:{title:`创建账户`,description:`输入您的信息以开始使用`,nameLabel:`姓名`,namePlaceholder:`张三`,emailLabel:`邮箱`,emailPlaceholder:`name@example.com`,passwordLabel:`密码`,passwordPlaceholder:`创建密码(至少8个字符)`,confirmPasswordLabel:`确认密码`,confirmPasswordPlaceholder:`确认您的密码`,passwordMismatchError:`两次输入的密码不一致`,passwordTooShortError:`密码至少需要8个字符`,submitButton:`创建账户`,submittingButton:`创建中...`,hasAccountText:`已有账户?`,signInText:`登录`},forgotPassword:{title:`重置密码`,description:`输入您的邮箱地址,我们将发送重置密码链接`,emailLabel:`邮箱`,emailPlaceholder:`name@example.com`,submitButton:`发送重置链接`,submittingButton:`发送中...`,successTitle:`请查看您的邮箱`,successDescription:`我们已将密码重置链接发送至 {{email}},请检查您的收件箱。`,backToSignInText:`返回登录`,rememberPasswordText:`记住密码了?`,signInText:`登录`}},errors:{networkError:`网络错误,请检查网络连接。`,serverError:`服务器错误,请稍后重试。`,notFound:`资源未找到。`,unauthorized:`您没有权限执行此操作。`,forbidden:`访问被拒绝。`,timeout:`请求超时,请重试。`,unknown:`发生未知错误。`},workspace:{label:`工作区`,default:`我的工作区`,switch:`切换工作区`,create:`创建工作区`,createTitle:`创建工作区`,createDescription:`工作区是团队协作的共享空间。`,createButton:`创建工作区`,nameLabel:`工作区名称`,namePlaceholder:`例如:极客科技`,slugLabel:`URL 标识`,slugHint:`用于 URL 中,仅支持小写字母、数字和连字符。`,invite:`邀请成员`,members:`成员`,settings:`工作区设置`},sidebar:{settings:`设置`,help:`帮助`,helpTooltip:`帮助与文档`,activityFeed:`活动动态`,notifications:`通知`,approvals:`审批`,inbox:`消息中心`,inboxAriaLabel:`打开消息中心`,area:`区域`,recent:`最近使用`,favorites:`收藏`,starred:`已收藏`,removeFromFavorites:`从收藏中移除 {{name}}`},home:{title:`首页`,subtitle:`您的工作区仪表盘`,nav:`首页`,allApps:`全部应用`,greetingMorning:`早上好`,greetingAfternoon:`下午好`,greetingEvening:`晚上好`,greetingNight:`夜深了`,heroTagline:`从上次离开的地方继续,或者探索新的内容。`,open:`打开`,stats:{apps:`应用`,starred:`收藏`,recent:`最近访问`},loading:`正在加载工作区...`,recent:`最近使用`,starred:`收藏`,welcome:`欢迎使用 ObjectUI`,welcomeDescription:`从创建您的第一个应用开始,或者先完成系统设置。`,createFirstApp:`创建您的第一个应用`,systemSettings:`系统设置`,quickActions:{title:`快捷操作`,createApp:`创建应用`,createAppDesc:`从新应用开始`,manageObjects:`管理对象`,manageObjectsDesc:`配置数据模型`,systemSettings:`系统设置`,systemSettingsDesc:`配置您的工作区`},recentApps:{title:`最近访问`,itemType:{object:`对象`,dashboard:`仪表盘`,page:`页面`,record:`记录`}},starredApps:{title:`收藏`},gettingStarted:{title:`把首页布置成你喜欢的样子`,description:`收藏一个应用即可固定到此处,一键直达。打开过的内容会自动出现在「最近访问」中。`,cta:`浏览全部应用`},appCard:{noDescription:`暂无描述`,default:`默认`}},layout:{appSwitcher:{home:`首页`,addApp:`新增应用`,editApp:`编辑应用`,manageAllApps:`管理所有应用`,systemConsole:`系统控制台`,noAppsConfigured:`尚未配置任何应用`},activityFeed:{title:`最近动态`,filter:`筛选`,empty:`暂无最近动态`,viewAll:`查看全部动态`,ariaLabel:`动态消息`,typeCreate:`创建`,typeUpdate:`更新`,typeDelete:`删除`,typeComment:`评论`,relativeJustNow:`刚刚`,relativeSecondsAgo:`{{count}} 秒前`,relativeMinutesAgo:`{{count}} 分钟前`,relativeHoursAgo:`{{count}} 小时前`,relativeDaysAgo:`{{count}} 天前`},metadata:{label:`元数据`,toggleTitle:`切换元数据检视器`,panelTitle:`元数据检视器`,jsonBadge:`JSON`,copyJson:`复制 JSON`}},search:{title:`搜索`,back:`返回`,placeholder:`搜索对象、仪表板、页面、报表…`,inputAriaLabel:`搜索对象、仪表板、页面、报表`,resultsCount:`找到 {{count}} 条与“{{query}}”相关的结果`,resultsCountPlural:`找到 {{count}} 条与“{{query}}”相关的结果`,itemsAvailable:`共 {{count}} 项可搜索`,noResults:`未找到结果`,noResultsHint:`请尝试调整搜索关键字`,typeObjects:`对象`,typeDashboards:`仪表板`,typePages:`页面`,typeReports:`报表`,badgeObject:`对象`,badgeDashboard:`仪表板`,badgePage:`页面`,badgeReport:`报表`},empty:{objectNotFound:`未找到对象`,objectNotFoundDescription:`对象 “{{name}}” 的定义不存在。请检查配置或返回选择有效的对象。`,pageNotFound:`未找到页面`,pageNotFoundDescription:`未找到页面 “{{name}}”,可能已被删除或重命名。`,dashboardNotFound:`未找到仪表板`,dashboardNotFoundDescription:`未找到仪表板 “{{name}}”,可能已被删除或重命名。`,reportNotFound:`未找到报表`,reportNotFoundDescription:`未找到报表 “{{name}}”,可能已被删除或重命名。`,noAppsConfigured:`尚未配置应用`,noAppsConfiguredDescription:`当前没有任何已注册的应用。请创建您的第一个应用,或前往系统设置进行配置。`,createFirstApp:`创建您的第一个应用`,systemSettings:`系统设置`,back:`返回`},renderer:{noPageSchema:`未提供页面 schema`,noFormSchema:`未提供表单 schema`,noDashboardSchema:`未提供仪表板 schema`,pageRendering:`页面渲染中:{{name}}`,dashboardRendering:`仪表板渲染中:{{name}}`,formRenderingMode:`正在以 {{mode}} 模式渲染表单`,formRenderingFor:`记录 {{id}}`,createRecord:`新建记录`,editRecord:`编辑记录`,page:`页面`,dashboard:`仪表板`,save:`保存`,cancel:`取消`},actionDialog:{title:`操作参数`,description:`请填写以下信息以继续操作。`,selectPlaceholder:`请选择 {{label}}`,requiredError:`{{label}} 为必填项`,lookupPlaceholder:`粘贴 {{label}} 的记录 ID(UUID)`,lookupHelpText:`请输入引用记录的 ID。可视化选择器即将上线。`,cancel:`取消`,confirm:`确认`,defaultActionTitle:`操作`,ok:`确定`},rowAction:{openMenu:`更多操作`,edit:`编辑`,delete:`删除`},navigationSync:{addedPage:`导航已更新:已添加页面 “{{name}}”`,addedDashboard:`导航已更新:已添加仪表板 “{{name}}”`,removedPage:`导航已更新:已移除页面 “{{name}}”`,removedDashboard:`导航已更新:已移除仪表板 “{{name}}”`,renamedPage:`导航已更新:页面 “{{oldName}}” 已重命名为 “{{newName}}”`,renamedDashboard:`导航已更新:仪表板 “{{oldName}}” 已重命名为 “{{newName}}”`,undoLabel:`撤销`,undone:`已撤销导航变更`,undoFailed:`撤销导航变更失败`,updateFailed:`更新导航失败`},objectActions:{deleteSuccess:`{{label}} 删除成功`,deleteFailed:`删除 {{label}} 失败`,noRecordId:`未提供记录 ID`,deleteConfirm:`确定要删除此记录吗?`,bulkDeleteSuccess:`已删除 {{count}} 条 {{label}} 记录`,bulkDeletePartial:`成功 {{succeeded}} 条,失败 {{failed}} 条`},objectViewActions:{renameFailed:`重命名视图失败`,deleteFailed:`删除视图失败`},dashboardActions:{pdfPreparing:`正在准备 PDF 导出…`,exportFailed:`导出失败:{{message}}`,forecastSoon:`预测视图即将上线`},recordDetail:{viewersTooltip:`正在查看此记录的用户`},cellRender:{empty:`空`,yes:`是`,no:`否`,systemFields:`系统字段`},user:{profile:`个人资料`,settings:`设置`,logout:`注销`,preferences:`偏好设置`,theme:`主题`,language:`语言`},organizations:{mine:`我的组织`,title:`组织`,heading:`您的组织`,subtitle:`选择一个组织以继续,或新建一个组织。`,searchPlaceholder:`搜索组织`,new:`新建组织`,current:`当前组织`,manage:`管理`,emptyTitle:`尚无组织`,emptyDescription:`创建您的第一个组织以开始使用。`,noMatches:`没有匹配的组织。`},notifications:{empty:`暂无通知`,markAllRead:`全部标记为已读`,viewAll:`查看全部通知`,approvalsPending:`{{count}} 条待审批`,viewApprovals:`查看审批`,noPendingApprovals:`暂无待审批事项`,openApprovalsInbox:`打开审批中心`},publicForm:{submit:`提交`,submitting:`提交中…`,submitAnother:`再填一份`,poweredBy:`由 ObjectStack 提供技术支持`,secureNotice:`您的信息将通过安全通道传输,仅用于回复您本次请求。`,thankYouTitle:`感谢您的提交!`,thankYouMessage:`我们已成功收到您的信息。`,redirecting:`将在 {{seconds}} 秒后跳转…`,unavailableTitle:`表单不可用`,unavailableDescription:`该链接当前没有可用的公开表单。请确认对应视图已启用匿名分享并匹配此 slug。`,tryDemo:`试用演示`,retry:`重试`,loading:`正在加载表单…`,requiredHint:`* 为必填项`,consentLabelDefault:`我已阅读并同意隐私政策,授权对本次请求所提供的信息进行处理。`,consentLink:`隐私政策`,consentRequired:`请先勾选同意隐私政策。`,rateLimited:`请再花点时间核对一下您的填写内容,再点击提交。`,redirectBlocked:`提交成功,但出于安全考虑,跳转链接已被阻止。`,demo:{contactTitle:`联系我们`,contactDescription:`告诉我们您的项目需求,销售代表将在一个工作日内与您联系。`,supportTitle:`提交支持请求`,supportDescription:`描述您遇到的问题,我们的团队会在一个工作日内回复。`,thankYouSalesTitle:`已收到您的信息,感谢联系!`,thankYouSalesMessage:`我们的销售代表将在一个工作日内与您取得联系。`,thankYouSupportTitle:`您的请求已进入处理队列。`,thankYouSupportMessage:`支持工程师将尽快跟进。如需补充截图,请保留此页面。`,field:{firstName:`名字`,lastName:`姓氏`,email:`工作邮箱`,phone:`电话`,jobTitle:`职位`,company:`公司`,website:`官网`,industry:`行业`,companySize:`公司规模`,howCanWeHelp:`我们可以为您做些什么?`,subject:`主题`,description:`问题描述`,issueType:`问题类型`,priority:`优先级`},industry:{technology:`科技`,software:`软件 / SaaS`,finance:`金融`,healthcare:`医疗健康`,retail:`零售`,other:`其他`},issueType:{question:`咨询`,problem:`问题`,bug:`缺陷`,feature_request:`功能建议`},priority:{low:`低`,medium:`中`,high:`高`,critical:`紧急`}}}},ja:{common:{addToFavorites:`お気に入りに追加`,removeFromFavorites:`お気に入りから削除`,loading:`読み込み中...`,save:`保存`,cancel:`キャンセル`,delete:`削除`,edit:`編集`,create:`作成`,search:`検索`,filter:`フィルター`,reset:`リセット`,confirm:`確認`,close:`閉じる`,back:`戻る`,next:`次へ`,previous:`前へ`,submit:`送信`,refresh:`更新`,export:`エクスポート`,import:`インポート`,yes:`はい`,no:`いいえ`,ok:`OK`,actions:`操作`,more:`もっと見る`,selectAll:`すべて選択`,clearAll:`すべてクリア`,noData:`データがありません`,noResults:`結果が見つかりません`,required:`必須`,optional:`任意`,selectOption:`選択してください`,select:`選択...`,openChat:`チャットを開く`,closeChat:`チャットを閉じる`,toggleSidebar:`サイドバーを切り替え`},validation:{required:`{{field}}は必須です`,minLength:`{{field}}は{{min}}文字以上で入力してください`,maxLength:`{{field}}は{{max}}文字以下で入力してください`,min:`{{field}}は{{min}}以上にしてください`,max:`{{field}}は{{max}}以下にしてください`,email:`有効なメールアドレスを入力してください`,url:`有効なURLを入力してください`,pattern:`{{field}}の形式が正しくありません`,unique:`{{field}}は一意である必要があります`,type:`{{field}}は有効な{{type}}である必要があります`},form:{addItem:`項目を追加`,removeItem:`項目を削除`,fieldRequired:`この項目は必須です`,invalidFormat:`形式が正しくありません`,saveSuccess:`保存しました`,saveError:`保存に失敗しました`,unsavedChanges:`保存されていない変更があります。このページを離れますか?`,stepOf:`ステップ {{current}} / {{total}}`,createTitle:`{{object}}を作成`,editTitle:`{{object}}を編集`,createDescription:`新しい{{object}}をデータベースに追加します。`,editDescription:`{{object}}の詳細を更新`,saveRecord:`レコードを保存`},table:{rowsPerPage:`1ページの行数`,showing:`{{total}}件中{{from}}〜{{to}}件を表示`,noRows:`表示するデータがありません`,sortAsc:`昇順`,sortDesc:`降順`,filterColumn:`{{column}}でフィルター`,columns:`列`,exportCSV:`CSVエクスポート`,exportExcel:`Excelエクスポート`,selectRow:`行を選択`,selectAllRows:`すべての行を選択`,expandRow:`行を展開`,collapseRow:`行を折りたたむ`,hideColumn:`列を非表示`,freezeColumn:`列を固定`,unfreezeColumn:`列の固定を解除`,pageInfo:`{{total}}ページ中{{current}}ページ`,totalRecords:`合計{{count}}件`},grid:{actions:`アクション`,edit:`編集`,delete:`削除`,export:`エクスポート`,exportAs:`{{format}}でエクスポート`,loading:`グリッドを読み込み中...`,errorLoading:`グリッドの読み込みエラー`,pullToRefresh:`引っ張って更新`,refreshing:`更新中…`,openRecord:`レコードを開く`,rowHeight:`行の高さ: {{mode}}`},calendar:{today:`今日`,month:`月`,week:`週`,day:`日`,agenda:`予定表`,allDay:`終日`,noEvents:`予定はありません`,newEvent:`新しい予定`,moreEvents:`+{{count}} 件`},list:{recordCount:`{{count}} 件のレコード`,recordCountOne:`{{count}} 件のレコード`,addRecord:`レコードを追加`,tabs:`タブ`,allRecords:`すべてのレコード`,search:`検索`,filter:`フィルター`,filterRecords:`レコードをフィルター`,sort:`並べ替え`,sortRecords:`レコードを並べ替え`,group:`グループ`,groupBy:`グループ化`,export:`エクスポート`,exportAs:`{{format}}としてエクスポート`,color:`色`,rowColor:`行の色`,colorByField:`フィールドで色分け`,clear:`クリア`,none:`なし`,hideFields:`フィールドを非表示`,noItems:`項目が見つかりません`,noItemsMessage:`表示するレコードがありません。フィルターを調整するか、新しいデータを追加してください。`},kanban:{addCard:`カードを追加`,addColumn:`カラムを追加`,moveCard:`カードを移動`,deleteCard:`カードを削除`,deleteColumn:`カラムを削除`},timeline:{bucket:{overdue:`期限超過`,today:`今日`,tomorrow:`明日`,thisWeek:`今週`,nextWeek:`来週`,later:`後ほど`,noDate:`日付なし`,unassigned:`未割当`}},gantt:{column:{taskName:`Task Name`,start:`Start`,end:`End`},toolbar:{prevPeriod:`Previous period`,nextPeriod:`Next period`,zoomIn:`Zoom in`,zoomOut:`Zoom out`,jumpToToday:`Jump to today`,today:`Today`,showTaskList:`Show task list`,hideTaskList:`Hide task list`}},view:{rename:`名前を変更`,duplicateView:`ビューを複製`,shareView:`ビューを共有`,setAsDefault:`デフォルトに設定`,pinView:`ビューをピン留め`,unpinView:`ピン解除`,changeViewType:`ビュータイプを変更`,deleteView:`ビューを削除`,addView:`ビューを追加`,unsavedChanges:`未保存の変更`,saveAsView:`ビューとして保存`,moreViews:`あと {{count}} 件`,activeFilters:`フィルター適用中`,activeSort:`ソート適用中`},detail:{back:`戻る`,edit:`編集`,editInline:`編集`,save:`保存`,saveChanges:`変更を保存`,editFieldsInline:`フィールドを編集`,share:`共有`,duplicate:`複製`,export:`エクスポート`,viewHistory:`履歴を表示`,delete:`削除`,moreActions:`その他の操作`,addToFavorites:`お気に入りに追加`,removeFromFavorites:`お気に入りから削除`,previousRecord:`前のレコード`,nextRecord:`次のレコード`,recordOf:`{{current}} / {{total}}`,recordNotFound:`レコードが見つかりません`,recordNotFoundDescription:`お探しのレコードは存在しないか、削除された可能性があります。`,goBack:`戻る`,details:`詳細`,related:`関連`,relatedRecords:`{{count}} 件のレコード`,relatedRecordOne:`{{count}} 件のレコード`,noRelatedRecords:`関連レコードが見つかりません`,loading:`読み込み中...`,copyToClipboard:`クリップボードにコピー`,copied:`コピーしました!`,deleteConfirmation:`このレコードを削除してもよろしいですか?`,editRecord:`レコードを編集`,viewAll:`すべて表示`,new:`新規`,emptyValue:`—`,activity:`アクティビティ`,editRow:`編集`,deleteRow:`削除`,deleteRowConfirmation:`このレコードを削除してもよろしいですか?`,actions:`操作`,previousPage:`前へ`,nextPage:`次へ`,pageOf:`ページ {{current}} / {{total}}`,sortBy:`並べ替え`,filterPlaceholder:`フィルター...`,highlightFields:`主要フィールド`,comments:`コメント`,searchComments:`コメントを検索…`,addCommentPlaceholder:`コメントを追加… (Ctrl+Enterで送信)`,noMatchingComments:`一致するコメントがありません`,noCommentsYet:`コメントはまだありません`,pinned:`ピン留め`,pin:`ピン留め`,unpin:`ピン解除`,justNow:`たった今`,minutesAgo:`{{count}}分前`,hoursAgo:`{{count}}時間前`,daysAgo:`{{count}}日前`,dropFilesToUpload:`ファイルをここにドロップまたはクリックしてアップロード`,attachmentCount:`{{count}} 件の添付ファイル`,attachmentCountPlural:`{{count}} 件の添付ファイル`,removeAttachment:`添付ファイルを削除`,unifiedDiff:`統合差分`,sideBySideDiff:`横並び差分`,noChanges:`変更なし`,previousVersion:`前のバージョン`,currentVersion:`現在のバージョン`,discussion:`ディスカッション`,showDiscussion:`ディスカッションを表示 ({{count}})`,hideDiscussion:`ディスカッションを非表示`,bold:`太字 (Ctrl+B)`,italic:`斜体 (Ctrl+I)`,listFormat:`リスト`,inlineCode:`インラインコード`,mentionSomeone:`メンションする`,preview:`プレビュー`,submitComment:`送信 (Ctrl+Enter)`,sendComment:`送信`,writeComment:`コメントを入力…`,subscribedTooltip:`購読中 — クリックで解除`,unsubscribedTooltip:`通知を購読`,firstRecord:`最初のレコード (Home)`,previousRecordKey:`前のレコード (←)`,nextRecordKey:`次のレコード (→)`,lastRecord:`最後のレコード (End)`,noRecords:`レコードなし`,searchWhileNavigating:`ナビゲーション中に検索`,searchRecords:`レコードを検索…`,allActivity:`すべてのアクティビティ`,commentsOnly:`コメントのみ`,fieldChangesFilter:`フィールド変更`,tasksOnly:`タスクのみ`,leaveCommentPlaceholder:`コメントを入力… (Ctrl+Enterで送信)`,noActivity:`アクティビティの記録なし`,loadMore:`さらに読み込む`,edited:`(編集済み)`,via:`{{source}} 経由`,replyCount:`{{count}} 件の返信`,replyCountPlural:`{{count}} 件の返信`,replyPlaceholder:`返信…`,filterActivity:`アクティビティをフィルター`,openDiscussion:`ディスカッションパネルを開く`,closeDiscussion:`ディスカッションパネルを閉じる`,subscribeAriaLabel:`通知を購読`,unsubscribeAriaLabel:`通知の購読を解除`,clearSearch:`検索をクリア`},chart:{noData:`チャートデータがありません`,loading:`チャート読み込み中...`},map:{searchLocations:`場所を検索…`,locationDetails:`場所の詳細`,markersCount:`{{count}} 個のマーカー`,invalidCoordinates:`座標が欠落または無効なため、{{count}} 件のレコードが地図から除外されました。`,invalidCoordinatesPlural:`座標が欠落または無効なため、{{count}} 件のレコードが地図から除外されました。`},workflow:{draft:`下書き`,active:`アクティブ`,paused:`一時停止`,completed:`完了`,cancelled:`キャンセル`,save:`保存`,publish:`公開`,addNode:`ノードを追加`,workflowFlow:`ワークフロー`,properties:`プロパティ`,connections:`接続`,quickConnect:`クイック接続`,fromPlaceholder:`開始...`,toPlaceholder:`終了...`,connect:`接続`,label:`ラベル`,type:`タイプ`,description:`説明`,assignee:`担当者`,assigneeType:`担当者タイプ`,user:`ユーザー`,role:`ロール`,group:`グループ`,expression:`式`,timeoutMinutes:`タイムアウト(分)`,selectNodeToEdit:`ノードを選択してプロパティを編集`,workflowTitle:`ワークフロータイトル`,newWorkflow:`新規ワークフロー`,outConnections:`{{count}} 個の出力`,start:`開始`,end:`終了`,task:`タスク`,userTask:`ユーザータスク`,serviceTask:`サービスタスク`,scriptTask:`スクリプトタスク`,approval:`承認`,condition:`条件`,parallelGateway:`並列ゲートウェイ`,joinGateway:`結合ゲートウェイ`,boundaryEvent:`境界イベント`,delay:`遅延`,notification:`通知`,webhook:`Webhook`,allowConcurrency:`許可(並行実行)`,forbidConcurrency:`禁止(新規スキップ)`,replaceConcurrency:`置換(既存キャンセル)`,queueConcurrency:`キュー(完了後に実行)`,conditionEvent:`条件`,manualEvent:`手動`,webhookEvent:`Webhook`,timerEvent:`タイマー`,signalEvent:`シグナル`,versionHistory:`バージョン履歴`,importBpmn:`BPMNをインポート`,exportBpmn:`BPMNをエクスポート`,undo:`元に戻す`,redo:`やり直す`,resetZoom:`ズームをリセット`},dashboard:{addWidget:`ウィジェットを追加`,removeWidget:`ウィジェットを削除`,editLayout:`レイアウトを編集`,saveLayout:`レイアウトを保存`,resetLayout:`レイアウトをリセット`},configPanel:{save:`保存`,discard:`破棄`,close:`閉じる`,layout:`レイアウト`,columns:`列数`,gap:`間隔`,rowHeight:`行の高さ`,data:`データ`,refreshInterval:`更新間隔`,appearance:`外観`,title:`タイトル`,showDescription:`説明を表示`,theme:`テーマ`,configuration:`設定`,general:`基本`,advanced:`詳細`},appDesigner:{createApp:`アプリを作成`,editApp:`アプリを編集`,basicInfo:`基本情報`,objects:`オブジェクト`,navigation:`ナビゲーション`,branding:`ブランディング`,appName:`アプリ名`,appTitle:`タイトル`,appDescription:`説明`,appIcon:`アイコン`,template:`テンプレート`,layout:`レイアウト`,layoutSidebar:`サイドバー`,layoutHeader:`ヘッダー`,layoutEmpty:`空白`,selectObjects:`オブジェクトを選択`,searchObjects:`オブジェクトを検索…`,selectAll:`すべて選択`,deselectAll:`すべて解除`,navBuilder:`ナビビルダー`,addGroup:`グループを追加`,addUrl:`URLを追加`,addSeparator:`区切りを追加`,noNavItems:`ナビゲーション項目がありません。`,logoUrl:`ロゴURL`,primaryColor:`プライマリカラー`,faviconUrl:`ファビコンURL`,preview:`プレビュー`,complete:`完了`,snakeCaseHint:`snake_case形式が必要です(例: my_app)`,modeEdit:`編集`,modePreview:`プレビュー`,modeCode:`コード`,addWidget:`ウィジェット追加`,widgetProperties:`ウィジェット設定`,dataSource:`データソース`,valueField:`値フィールド`,aggregate:`集計`,colorVariant:`カラー`,addComponent:`コンポーネント追加`,componentProperties:`コンポーネント設定`,viewType:`ビュータイプ`,fields:`フィールド`,toolbar:`ツールバー`,showSearch:`検索を表示`,showFilters:`フィルタを表示`,showSort:`ソートを表示`,appearance:`外観`,rowHeight:`行の高さ`,stripedRows:`ストライプ`,bordered:`ボーダー`,livePreview:`ライブプレビュー`,stepBasicDesc:`名前、タイトル、レイアウト`,stepObjectsDesc:`ビジネスオブジェクトを選択`,stepNavigationDesc:`ナビゲーションツリーを構築`,stepBrandingDesc:`ロゴ、色、ファビコン`,noObjectsFound:`オブジェクトが見つかりません。`,noNavItemsHint:`ナビゲーション項目がありません。前のステップでオブジェクトを選択するか、手動で追加してください。`,separator:`セパレーター`,separatorLabel:`— セパレーター —`,newGroup:`新しいグループ`,newLink:`新しいリンク`,saveDraft:`下書き保存`,cancelConfirmTitle:`変更を破棄しますか?`,cancelConfirmMessage:`保存されていない変更があります。キャンセルしてもよろしいですか?`,confirmDiscard:`破棄`,keepEditing:`編集を続ける`,navNoItems:`ナビゲーション項目がありません。上のボタンをクリックして追加してください。`,navNoPreviewItems:`項目なし`,navLivePreview:`ライブプレビュー`,navCollapseGroup:`グループを折りたたむ`,navExpandGroup:`グループを展開`,navAddChild:`子項目を追加`,navMoveUp:`上に移動`,navMoveDown:`下に移動`,navRemove:`削除`,navObjectPage:`オブジェクトページ`,navDashboard:`ダッシュボード`,navPage:`ページ`,navReport:`レポート`,navGroup:`グループ`,navUrl:`URL`,navSeparator:`セパレーター`,navTypeObject:`オブジェクト`,navTypeDashboard:`ダッシュボード`,navTypePage:`ページ`,navTypeReport:`レポート`,navTypeUrl:`URL`,navTypeGroup:`グループ`,navTypeSeparator:`セパレーター`,navTypeAction:`アクション`,navEditIcon:`アイコン編集`,navToggleVisible:`表示切替`,navHidden:`非表示`,navExportSchema:`JSON エクスポート`,navImportSchema:`JSON インポート`,navExportSuccess:`ナビゲーション構造をエクスポートしました`,navImportSuccess:`ナビゲーション構造をインポートしました`,navImportError:`無効なナビゲーション JSON`,navIconPlaceholder:`アイコン名(例: Users)`,dashboardEditor:`ダッシュボードエディター`,noWidgets:`ウィジェットがありません。上のボタンをクリックして追加してください。`,widgetLayoutSize:`レイアウトサイズ`,widgetWidth:`幅`,widgetHeight:`高さ`,dashboardPreview:`ダッシュボードプレビュー`,noWidgetsPreview:`プレビューするウィジェットがありません`,pageCanvasEditor:`ページキャンバスエディター`,emptyPage:`空のページです。上のボタンをクリックしてコンポーネントを追加してください。`,pagePreview:`ページプレビュー`,noComponentsPreview:`プレビューするコンポーネントがありません`,modePage:`ページ`,modeDashboard:`ダッシュボード`,undo:`元に戻す`,redo:`やり直し`,brandingEditor:`ブランドエディター`,brandingExport:`JSON エクスポート`,brandingImport:`JSON インポート`,brandingPreview:`プレビュー`,brandingSampleButton:`サンプルボタン`,brandingSampleText:`ブランドテーマの表示イメージです。`,colorPalette:`カラーパレット`,fontFamily:`フォント`,fontDefault:`デフォルト(システム)`,modeLight:`ライト`,modeDark:`ダーク`,mobilePreview:`モバイルプレビュー`,objectManager:{title:`オブジェクトマネージャー`,addObject:`新規オブジェクト`,searchPlaceholder:`オブジェクトを検索…`,noObjects:`オブジェクトが見つかりません。`,objectName:`API名`,objectLabel:`ラベル`,pluralLabel:`複数形ラベル`,icon:`アイコン`,selectIcon:`アイコンを選択…`,group:`グループ`,noGroup:`グループなし`,sortOrder:`並び順`,enabled:`有効`,relationships:`リレーション`,systemBadge:`システム`,fieldCount:`{{count}} フィールド`,ungrouped:`未分類`,deleteConfirmTitle:`オブジェクトを削除しますか?`,deleteConfirmMessage:`このオブジェクトとそのすべてのフィールドが完全に削除されます。この操作は元に戻せません。`},fieldDesigner:{title:`フィールドデザイナー`,addField:`新規フィールド`,searchPlaceholder:`フィールドを検索…`,allTypes:`すべてのタイプ`,noFields:`フィールドが見つかりません。`,fieldName:`API名`,fieldLabel:`ラベル`,fieldType:`タイプ`,fieldGroup:`グループ`,description:`説明`,required:`必須`,unique:`ユニーク`,readOnly:`読み取り専用`,hidden:`非表示`,indexed:`インデックス`,externalId:`外部ID`,trackHistory:`履歴追跡`,defaultValue:`デフォルト値`,placeholder:`プレースホルダー`,referenceTo:`参照先`,formula:`数式`,options:`オプション`,addOption:`オプション追加`,validationRules:`入力規則`,addRule:`ルール追加`,systemBadge:`システム`,ungrouped:`一般`,deleteConfirmTitle:`フィールドを削除しますか?`,deleteConfirmMessage:`このフィールドは完全に削除されます。既存のデータは失われます。`}},console:{title:`ObjectStack コンソール`,initializing:`アプリケーションを初期化中...`,breadcrumb:{dashboards:`ダッシュボード`,pages:`ページ`,reports:`レポート`,system:`システム`},loadingSteps:{connecting:`データソースに接続中`,loadingConfig:`設定を読み込み中`,preparingWorkspace:`ワークスペースを準備中`},error:{connectionFailed:`サーバーに接続できません`,serverUnreachable:`サーバー {{url}} に接続できません。`,checkServer:`ネットワーク接続、またはバックエンドが稼働していることを確認してください。`,timeout:`接続がタイムアウトしました(10秒)。`},actions:{retry:`再試行`,retrying:`再試行中…`},shortcuts:{title:`キーボードショートカット`,description:`利用可能なすべてのキーボードショートカットのクイックリファレンス。`,groups:{general:`一般`,navigation:`ナビゲーション`,dataViews:`データビュー`,preferences:`設定`},openCommandPalette:`コマンドパレットを開く`,showShortcuts:`キーボードショートカットを表示`,closeDialog:`ダイアログ / パネルを閉じる`,toggleSidebar:`サイドバーを切り替え`,focusSearch:`検索にフォーカス`,createRecord:`新しいレコードを作成`,refreshData:`データを更新`,editRecord:`選択したレコードを編集`,toggleDarkMode:`ダークモードを切り替え`},commandPalette:{placeholder:`コマンドを入力または検索...`,noResults:`結果が見つかりません。`,objects:`オブジェクト`,dashboards:`ダッシュボード`,pages:`ページ`,reports:`レポート`,switchApp:`アプリを切り替え`,current:`現在`,preferences:`設定`,lightTheme:`ライトテーマ`,darkTheme:`ダークテーマ`,systemTheme:`システムテーマ`,actions:`アクション`,openFullSearch:`完全な検索ページを開く`,createApp:`新しいアプリを作成`},errors:{somethingWentWrong:`問題が発生しました`,unexpectedError:`このビューのレンダリング中に予期しないエラーが発生しました。`,tryAgain:`再試行`,goHome:`ホームに戻る`,errorDetails:`エラー詳細(開発モードのみ)`},theme:{toggle:`テーマを切り替え`,light:`ライト`,dark:`ダーク`,system:`システム`},objectView:{objectNotFound:`オブジェクトが見つかりません`,objectNotFoundDescription:`オブジェクト「{{objectName}}」は現在の設定に存在しません。`,objectNotFoundHint:`アプリのナビゲーション設定を確認するか、サイドバーから別のオブジェクトを選択してください。`,allRecords:`すべてのレコード`,exitDesignMode:`デザインモードを終了`,enterDesignMode:`デザインモードに入る`,metadataInspector:`メタデータインスペクター`,editView:`ビューを編集`,addView:`ビューを追加`,designTools:`デザインツール`,new:`新規`,configureView:`ビューを設定`,closePanel:`パネルを閉じる`,page:`ページ`,pageConfigHint:`ツールバー、ナビゲーション、ビューシェル設定`,listConfigHint:`このリストタイプのデータレンダリング、列、外観`,general:`一般`,generalHint:`ビューのタイトル、説明、タイプ`,toolbar:`ツールバー`,toolbarHint:`検索、フィルター、ソート、グループ、密度の切り替え`,toolbarEnabledCount:`{{total}} 件中 {{count}} 件有効`,navigationSection:`ナビゲーション`,navigationHint:`行クリック時の動作と詳細ビューの設定`,records:`レコード`,recordsHint:`選択モード、レコード追加、インライン編集`,exportPrint:`エクスポートと印刷`,exportPrintHint:`エクスポート形式、印刷、レコード数の表示`,showAllFields:`すべて表示`,hideAllFields:`すべて非表示`,searchFields:`フィールドを検索...`,title:`タイトル`,description:`説明`,data:`データ`,source:`ソース`,columns:`列`,filterBy:`フィルター条件`,sortBy:`並べ替え条件`,appearance:`外観`,showDescription:`説明を表示`,viewType:`ビュータイプ`,userFilters:`ユーザーフィルター`,enableSearch:`検索を有効化`,enableFilter:`フィルターを有効化`,enableSort:`並べ替えを有効化`,enableHideFields:`フィールド非表示を有効化`,enableGroup:`グループを有効化`,enableColor:`カラーを有効化`,enableDensity:`密度を有効化`,userActions:`ユーザーアクション`,addRecordViaForm:`フォームからレコードを追加`,advanced:`詳細設定`,allowExport:`エクスポートを許可`,recordCount:`{{count}} 件のレコード`,noDescription:`説明なし`,none:`なし`,columnsConfigured:`{{count}} 列`,save:`保存`,discard:`破棄`,createView:`ビューを作成`,newView:`新しいビュー`,typeOptions:`タイプオプション`,groupByField:`グループ化フィールド`,startDateField:`開始日フィールド`,titleField:`タイトルフィールド`,latitudeField:`緯度フィールド`,longitudeField:`経度フィールド`,imageField:`画像フィールド`,dateField:`日付フィールド`,selectField:`フィールドを選択...`,gridOptionsHint:`グリッドビューは上記で設定された列を使用します。`,groupBy:`グループ化`,prefixField:`プレフィックスフィールド`,fields:`フィールド`,fieldsVisible:`{{count}} 件表示`,sortsCount:`{{count}} 件の並べ替え`,filtersCount:`{{count}} 件のフィルター`,endDateField:`終了日フィールド`,color:`カラー`,fieldTextColor:`フィールドテキストカラー`,rowHeight:`行の高さ`,wrapHeaders:`ヘッダーの折り返し`,showFieldDescriptions:`フィールド説明を表示`,collapseAllByDefault:`デフォルトですべて折りたたむ`,striped:`ストライプ行`,bordered:`ボーダーセル`,inlineEdit:`インラインでレコードを編集`,addDeleteRecordsInline:`インラインでレコードを追加/削除`,clickIntoRecordDetails:`レコード詳細をクリックで表示`,navigationMode:`ナビゲーションモード`,navigationWidth:`ナビゲーション幅`,navigationWidthHint:`ドロワー、モーダル、スプリットナビゲーションモードで使用可能`,openNewTab:`新しいタブで開く`,openNewTabHint:`ページおよび新しいウィンドウナビゲーションモードで使用可能`},localeSwitcher:{label:`言語`}},auth:{login:{title:`アカウントにサインイン`,description:`メールアドレスとパスワードを入力してください`,emailLabel:`メールアドレス`,emailPlaceholder:`name@example.com`,passwordLabel:`パスワード`,passwordPlaceholder:`パスワードを入力`,forgotPasswordText:`パスワードをお忘れですか?`,submitButton:`サインイン`,submittingButton:`サインイン中...`,noAccountText:`アカウントをお持ちでないですか?`,signUpText:`新規登録`},register:{title:`アカウントを作成`,description:`情報を入力して始めましょう`,nameLabel:`名前`,namePlaceholder:`田中太郎`,emailLabel:`メールアドレス`,emailPlaceholder:`name@example.com`,passwordLabel:`パスワード`,passwordPlaceholder:`パスワードを作成(8文字以上)`,confirmPasswordLabel:`パスワード確認`,confirmPasswordPlaceholder:`パスワードを再入力`,passwordMismatchError:`パスワードが一致しません`,passwordTooShortError:`パスワードは8文字以上必要です`,submitButton:`アカウント作成`,submittingButton:`アカウント作成中...`,hasAccountText:`すでにアカウントをお持ちですか?`,signInText:`サインイン`},forgotPassword:{title:`パスワードをリセット`,description:`メールアドレスを入力してください。パスワードリセットリンクをお送りします`,emailLabel:`メールアドレス`,emailPlaceholder:`name@example.com`,submitButton:`リセットリンクを送信`,submittingButton:`送信中...`,successTitle:`メールをご確認ください`,successDescription:`{{email}} にパスワードリセットリンクを送信しました。受信箱をご確認ください。`,backToSignInText:`サインインに戻る`,rememberPasswordText:`パスワードを覚えていますか?`,signInText:`サインイン`}},errors:{networkError:`ネットワークエラーです。接続を確認してください。`,serverError:`サーバーエラーです。後でもう一度お試しください。`,notFound:`リソースが見つかりません。`,unauthorized:`この操作を実行する権限がありません。`,forbidden:`アクセスが拒否されました。`,timeout:`リクエストがタイムアウトしました。もう一度お試しください。`,unknown:`予期しないエラーが発生しました。`},workspace:{label:`ワークスペース`,default:`マイワークスペース`,switch:`ワークスペースを切り替え`,create:`ワークスペースを作成`,createTitle:`ワークスペースの作成`,createDescription:`ワークスペースはチームで協力するための共有スペースです。`,createButton:`ワークスペースを作成`,nameLabel:`ワークスペース名`,namePlaceholder:`例: Acme Inc`,slugLabel:`URL スラッグ`,slugHint:`URL に使用されます。小文字、数字、ハイフンのみ。`,invite:`メンバーを招待`,members:`メンバー`,settings:`ワークスペース設定`},sidebar:{settings:`設定`,help:`ヘルプ`,helpTooltip:`ヘルプとドキュメント`,activityFeed:`アクティビティフィード`},home:{title:`ホーム`,subtitle:`ワークスペースのダッシュボード`,nav:`ホーム`,allApps:`すべてのアプリケーション`,loading:`ワークスペースを読み込み中...`,recent:`最近`,starred:`スター付き`,welcome:`ObjectUI へようこそ`,welcomeDescription:`最初のアプリケーションを作成するか、システム設定を行ってください。`,createFirstApp:`最初のアプリを作成`,systemSettings:`システム設定`,quickActions:{title:`クイックアクション`,createApp:`アプリを作成`,createAppDesc:`新しいアプリケーションを開始`,manageObjects:`オブジェクトを管理`,manageObjectsDesc:`データモデルを設定`,systemSettings:`システム設定`,systemSettingsDesc:`ワークスペースを設定`},appCard:{noDescription:`説明なし`,default:`デフォルト`}},layout:{appSwitcher:{home:`Home`,addApp:`Add App`,editApp:`Edit App`,manageAllApps:`Manage All Apps`,systemConsole:`System Console`,noAppsConfigured:`No apps configured`},activityFeed:{title:`Recent Activity`,filter:`Filter`,empty:`No recent activity`,ariaLabel:`Activity feed`,typeCreate:`Create`,typeUpdate:`Update`,typeDelete:`Delete`,typeComment:`Comment`,relativeJustNow:`just now`,relativeSecondsAgo:`{{count}}s ago`,relativeMinutesAgo:`{{count}}m ago`,relativeHoursAgo:`{{count}}h ago`,relativeDaysAgo:`{{count}}d ago`},metadata:{label:`Metadata`,toggleTitle:`Toggle Metadata Inspector`,panelTitle:`Metadata Inspector`,jsonBadge:`JSON`,copyJson:`Copy JSON`}},search:{title:`Search`,back:`Back`,placeholder:`Search objects, dashboards, pages, reports...`,inputAriaLabel:`Search objects, dashboards, pages, reports`,resultsCount:`{{count}} result for "{{query}}"`,resultsCountPlural:`{{count}} results for "{{query}}"`,itemsAvailable:`{{count}} items available`,noResults:`No results found`,noResultsHint:`Try adjusting your search terms`,typeObjects:`Objects`,typeDashboards:`Dashboards`,typePages:`Pages`,typeReports:`Reports`,badgeObject:`object`,badgeDashboard:`dashboard`,badgePage:`page`,badgeReport:`report`},empty:{objectNotFound:`Object Not Found`,objectNotFoundDescription:`Object "{{name}}" definition missing. Check your configuration or navigate back to select a valid object.`,pageNotFound:`Page Not Found`,pageNotFoundDescription:`The page "{{name}}" could not be found. It may have been removed or renamed.`,dashboardNotFound:`Dashboard Not Found`,dashboardNotFoundDescription:`The dashboard "{{name}}" could not be found. It may have been removed or renamed.`,reportNotFound:`Report Not Found`,reportNotFoundDescription:`The report "{{name}}" could not be found. It may have been removed or renamed.`,noAppsConfigured:`No Apps Configured`,noAppsConfiguredDescription:`No applications have been registered. Create your first app or visit System Settings to configure your environment.`,createFirstApp:`Create Your First App`,systemSettings:`System Settings`,back:`Back`},renderer:{noPageSchema:`No page schema provided`,noFormSchema:`No form schema provided`,noDashboardSchema:`No dashboard schema provided`,pageRendering:`Page rendering: {{name}}`,dashboardRendering:`Dashboard rendering: {{name}}`,formRenderingMode:`Form rendering in {{mode}} mode`,formRenderingFor:`for record {{id}}`,createRecord:`Create Record`,editRecord:`Edit Record`,page:`Page`,dashboard:`Dashboard`,save:`Save`,cancel:`Cancel`},actionDialog:{title:`Action Parameters`,description:`Please provide the required information to continue.`,selectPlaceholder:`Select {{label}}`,requiredError:`{{label}} is required`,cancel:`Cancel`,confirm:`Confirm`,defaultActionTitle:`Action`,ok:`OK`},rowAction:{openMenu:`Open menu`,edit:`Edit`,delete:`Delete`},navigationSync:{addedPage:`Navigation updated: added page "{{name}}"`,addedDashboard:`Navigation updated: added dashboard "{{name}}"`,removedPage:`Navigation updated: removed page "{{name}}"`,removedDashboard:`Navigation updated: removed dashboard "{{name}}"`,renamedPage:`Navigation updated: renamed page "{{oldName}}" → "{{newName}}"`,renamedDashboard:`Navigation updated: renamed dashboard "{{oldName}}" → "{{newName}}"`,undoLabel:`Undo`,undone:`Navigation change undone`,undoFailed:`Failed to undo navigation change`,updateFailed:`Failed to update navigation`},objectActions:{deleteSuccess:`{{label}} deleted successfully`,deleteFailed:`Failed to delete {{label}}`,noRecordId:`No record ID provided`,deleteConfirm:`Are you sure you want to delete this record?`},objectViewActions:{renameFailed:`Failed to rename view`,deleteFailed:`Failed to delete view`},dashboardActions:{pdfPreparing:`Preparing PDF export…`,exportFailed:`Export failed: {{message}}`,forecastSoon:`Forecast view coming soon`},recordDetail:{viewersTooltip:`Users viewing this record`},cellRender:{empty:`Empty`,yes:`Yes`,no:`No`,systemFields:`System`},user:{profile:`Profile`,settings:`Settings`,logout:`Log out`},report:{rowTotal:`Row Total`,columnTotal:`Column Total`,grandTotal:`Grand Total`,totals:`Totals`,rowsLabel:`Row`,columnsLabel:`Column`,allLabel:`(All)`,emptyLabel:`(Empty)`,loading:`Loading…`,failedToLoad:`Failed to load matrix: {{message}}`,needsAcross:"Matrix report requires at least one `groupingsAcross` field.",aggregate:{count:`Count`,countDistinct:`Distinct Count`,sum:`Sum`,avg:`Average`,min:`Min`,max:`Max`,first:`First`},editor:{breadcrumb:`設定`,basic:`基本`,title:`タイトル`,titlePlaceholder:`例:四半期別パイプライン`,description:`説明`,descriptionPlaceholder:`このレポートは何を示しますか?`,type:`レポートタイプ`,typeTabular:`テーブル — フラットなリスト`,typeSummary:`サマリー — 合計付きグループ化`,typeMatrix:`マトリックス — 行 × 列のピボット`,typeJoined:`結合 — 複数ブロック`,typeHelp:`表示したい内容に合うレイアウトを選択してください。`,data:`データ`,objectName:`データソース`,objectNamePlaceholder:`例:opportunity`,objectNameHelp:`このレポートはどのオブジェクトを照会しますか?`,limit:`行数の上限`,limitPlaceholder:`例:100`,columns:`列`,columnsHint:`列として表示するフィールドを選択します。サマリーやマトリックスでは集計(合計、件数…)を追加できます。`,filters:`フィルタ`,filtersHint:`このレポートに含める行を絞り込みます。`,filtersComplex:`このレポートには高度なフィルタが含まれており、ここでは編集できません。保存時は変更されません。`,groupBy:`グループ化`,groupByHint:`データをグループ化して小計を計算します。`,rows:`行`,rowsHint:`これらのフィールドで行をグループ化します。`,columnsAxis:`列`,columnsAxisHint:`これらのフィールドを上部でピボット表示します。`,values:`値`,valuesHint:`各セルに表示される数値です。1 つ以上のフィールドを選び、集計(合計、件数…)を指定してください。`,grouping:`グループ化項目`,addGrouping:`グループ化を追加`,dateGranularity:`日付の粒度`,dateGranularityNone:`(元の値を使用)`,day:`日`,week:`週`,month:`月`,quarter:`四半期`,year:`年`,sortAsc:`昇順`,sortDesc:`降順`,chart:`チャート`,chartHint:`テーブルの横に表示できる任意の可視化です。`,chartType:`チャートの種類`,chartTitle:`チャートのタイトル`,chartTitlePlaceholder:`未指定の場合はレポートのタイトル`,chartXAxis:`X 軸(カテゴリ)`,chartYAxis:`Y 軸(値)`,chartShowLegend:`凡例を表示`,chartShowDataLabels:`データラベルを表示`,chartNone:`(チャートなし)`,chartBar:`棒`,chartLine:`折れ線`,chartArea:`エリア`,chartPie:`円`,chartDonut:`ドーナツ`,chartFunnel:`ファネル`,validationNeedsObject:`列を追加する前にデータソースを選択してください。`,validationMatrixNeedsRowsCols:`マトリックスレポートには少なくとも 1 つの行と 1 つの列が必要です。`,validationSummaryNeedsRows:`サマリーレポートには少なくとも 1 つのグループ化フィールドが必要です。`,blocks:`ブロック`,blocksHint:`各ブロックは独立したテーブルまたはチャートです。ブロックのフィルタはレポートのフィルタと AND で結合されます。`,addBlock:`ブロックを追加`,removeBlock:`ブロックを削除`,blockName:`ブロック名`,blockNamePlaceholder:`一意のブロック名`,blockLabel:`表示ラベル`,blockLabelPlaceholder:`ブロックの上に表示されます`,blockDescription:`説明`,blockDescriptionPlaceholder:`このブロックの任意の補足説明`,validationJoinedNeedsBlocks:`結合レポートには少なくとも 1 つのブロックが必要です。`,validationBlockNameRequired:`各ブロックには空でない名前が必要です。`,validationBlockNameDuplicate:`ブロック名はレポート内で一意である必要があります。`,validationBlockNeedsColumns:`各ブロックには少なくとも 1 つの列が必要です。`,noneOption:`(なし)`,addCondition:`条件を追加`,combineLogic:`結合方法`,opContains:`含む`,opIsEmpty:`空である`,opIsNotEmpty:`空でない`,formatAuto:`自動`,formatCurrency:`通貨`,formatPercent:`パーセント`,formatInteger:`整数`,formatDate:`日付`,formatDatetime:`日付と時刻`,columnLabelPlaceholder:`ラベルを上書き`,aggregateColumn:`集計`,formatColumn:`フォーマット`,addColumns:`列を追加`,searchFields:`フィールドを検索…`,noMatchingFields:`検索条件に一致するフィールドはありません。`,noFieldsAvailable:`利用可能なフィールドがありません。`}},organizations:{mine:`マイ組織`,title:`組織`,heading:`あなたの組織`,subtitle:`続行する組織を選択するか、新しい組織を作成してください。`,searchPlaceholder:`組織を検索`,new:`新しい組織`,current:`現在の組織`,manage:`管理`,emptyTitle:`まだ組織がありません`,emptyDescription:`最初の組織を作成して開始してください。`,noMatches:`検索条件に一致する組織がありません。`},notifications:{empty:`通知はありません`,markAllRead:`すべて既読にする`,viewAll:`すべての通知を表示`,approvalsPending:`{{count}} 件の承認待ち`,viewApprovals:`承認を表示`,noPendingApprovals:`承認待ちはありません`,openApprovalsInbox:`承認ボックスを開く`},publicForm:{submit:`Submit`,submitting:`Submitting…`,submitAnother:`Submit another response`,poweredBy:`Powered by ObjectStack`,secureNotice:`Your information is transmitted securely and only used to respond to your request.`,thankYouTitle:`Thank you!`,thankYouMessage:`Your submission has been received successfully.`,redirecting:`Redirecting in {{seconds}} seconds…`,unavailableTitle:`Form unavailable`,unavailableDescription:`No public form is available at this URL. Make sure the underlying view has anonymous sharing enabled and matches this slug.`,tryDemo:`Try the demo`,retry:`Retry`,loading:`Loading form…`,requiredHint:`* Required field`,consentLabelDefault:`I agree to the privacy policy and consent to my data being processed for this request.`,consentLink:`Privacy policy`,consentRequired:`Please accept the privacy policy to continue.`,rateLimited:`Please take a moment to review your answers before submitting.`,redirectBlocked:`Submission accepted, but the redirect URL was blocked for security.`,demo:{contactTitle:`Contact us`,contactDescription:`Tell us about your project and a sales representative will get back to you within one business day.`,supportTitle:`Submit a support request`,supportDescription:`Tell us what is going wrong — our team responds within one business day.`,thankYouSalesTitle:`Thanks — we received your message!`,thankYouSalesMessage:`A sales representative will be in touch within one business day.`,thankYouSupportTitle:`Got it — your request is in the queue.`,thankYouSupportMessage:`A support engineer will follow up shortly. Save this page if you have more screenshots to add.`,field:{firstName:`First name`,lastName:`Last name`,email:`Work email`,phone:`Phone`,jobTitle:`Job title`,company:`Company`,website:`Website`,industry:`Industry`,companySize:`Company size`,howCanWeHelp:`How can we help?`,subject:`Subject`,description:`Description`,issueType:`Issue type`,priority:`Priority`},industry:{technology:`Technology`,software:`Software / SaaS`,finance:`Finance`,healthcare:`Healthcare`,retail:`Retail`,other:`Other`},issueType:{question:`Question`,problem:`Problem`,bug:`Bug`,feature_request:`Feature request`},priority:{low:`Low`,medium:`Medium`,high:`High`,critical:`Critical`}}}},ko:{common:{addToFavorites:`즐겨찾기에 추가`,removeFromFavorites:`즐겨찾기에서 제거`,loading:`로딩 중...`,save:`저장`,cancel:`취소`,delete:`삭제`,edit:`편집`,create:`생성`,search:`검색`,filter:`필터`,reset:`초기화`,confirm:`확인`,close:`닫기`,back:`뒤로`,next:`다음`,previous:`이전`,submit:`제출`,refresh:`새로고침`,export:`내보내기`,import:`가져오기`,yes:`예`,no:`아니오`,ok:`확인`,actions:`작업`,more:`더보기`,selectAll:`모두 선택`,clearAll:`모두 지우기`,noData:`데이터 없음`,noResults:`결과를 찾을 수 없습니다`,required:`필수`,optional:`선택`,selectOption:`옵션을 선택하세요`,select:`선택...`,openChat:`채팅 열기`,closeChat:`채팅 닫기`,toggleSidebar:`사이드바 전환`},validation:{required:`{{field}}은(는) 필수입니다`,minLength:`{{field}}은(는) 최소 {{min}}자 이상이어야 합니다`,maxLength:`{{field}}은(는) 최대 {{max}}자까지 가능합니다`,min:`{{field}}은(는) {{min}} 이상이어야 합니다`,max:`{{field}}은(는) {{max}} 이하여야 합니다`,email:`유효한 이메일 주소를 입력해주세요`,url:`유효한 URL을 입력해주세요`,pattern:`{{field}} 형식이 올바르지 않습니다`,unique:`{{field}}은(는) 고유해야 합니다`,type:`{{field}}은(는) 유효한 {{type}}이어야 합니다`},form:{addItem:`항목 추가`,removeItem:`항목 제거`,fieldRequired:`이 필드는 필수입니다`,invalidFormat:`형식이 올바르지 않습니다`,saveSuccess:`저장되었습니다`,saveError:`저장에 실패했습니다`,unsavedChanges:`저장하지 않은 변경사항이 있습니다. 페이지를 떠나시겠습니까?`,stepOf:`{{total}}단계 중 {{current}}단계`,createTitle:`{{object}} 생성`,editTitle:`{{object}} 편집`,createDescription:`새 {{object}}을(를) 데이터베이스에 추가합니다.`,editDescription:`{{object}} 세부 정보 업데이트`,saveRecord:`레코드 저장`},table:{rowsPerPage:`페이지당 행 수`,showing:`{{total}}개 중 {{from}}~{{to}} 표시`,noRows:`표시할 데이터가 없습니다`,sortAsc:`오름차순 정렬`,sortDesc:`내림차순 정렬`,filterColumn:`{{column}} 필터`,columns:`열`,exportCSV:`CSV 내보내기`,exportExcel:`Excel 내보내기`,selectRow:`행 선택`,selectAllRows:`모든 행 선택`,expandRow:`행 펼치기`,collapseRow:`행 접기`,hideColumn:`열 숨기기`,freezeColumn:`열 고정`,unfreezeColumn:`열 고정 해제`,pageInfo:`{{total}} 페이지 중 {{current}} 페이지`,totalRecords:`총 {{count}}개`},grid:{actions:`작업`,edit:`편집`,delete:`삭제`,export:`내보내기`,exportAs:`{{format}}으로 내보내기`,loading:`그리드 로딩 중...`,errorLoading:`그리드 로딩 오류`,pullToRefresh:`당겨서 새로고침`,refreshing:`새로고침 중…`,openRecord:`레코드 열기`,rowHeight:`행 높이: {{mode}}`},calendar:{today:`오늘`,month:`월`,week:`주`,day:`일`,agenda:`일정`,allDay:`종일`,noEvents:`일정이 없습니다`,newEvent:`새 일정`,moreEvents:`+{{count}} 더보기`},list:{recordCount:`{{count}}개 레코드`,recordCountOne:`{{count}}개 레코드`,addRecord:`레코드 추가`,tabs:`탭`,allRecords:`전체 레코드`,search:`검색`,filter:`필터`,filterRecords:`레코드 필터`,sort:`정렬`,sortRecords:`레코드 정렬`,group:`그룹`,groupBy:`그룹 기준`,export:`내보내기`,exportAs:`{{format}}으로 내보내기`,color:`색상`,rowColor:`행 색상`,colorByField:`필드별 색상`,clear:`지우기`,none:`없음`,hideFields:`필드 숨기기`,noItems:`항목을 찾을 수 없습니다`,noItemsMessage:`표시할 레코드가 없습니다. 필터를 조정하거나 새 데이터를 추가해 보세요.`},kanban:{addCard:`카드 추가`,addColumn:`열 추가`,moveCard:`카드 이동`,deleteCard:`카드 삭제`,deleteColumn:`열 삭제`},timeline:{bucket:{overdue:`기한 초과`,today:`오늘`,tomorrow:`내일`,thisWeek:`이번 주`,nextWeek:`다음 주`,later:`나중`,noDate:`날짜 없음`,unassigned:`미할당`}},gantt:{column:{taskName:`Task Name`,start:`Start`,end:`End`},toolbar:{prevPeriod:`Previous period`,nextPeriod:`Next period`,zoomIn:`Zoom in`,zoomOut:`Zoom out`,jumpToToday:`Jump to today`,today:`Today`,showTaskList:`Show task list`,hideTaskList:`Hide task list`}},view:{rename:`이름 변경`,duplicateView:`뷰 복제`,shareView:`뷰 공유`,setAsDefault:`기본값으로 설정`,pinView:`뷰 고정`,unpinView:`고정 해제`,changeViewType:`뷰 유형 변경`,deleteView:`뷰 삭제`,addView:`뷰 추가`,unsavedChanges:`저장되지 않은 변경`,saveAsView:`뷰로 저장`,moreViews:`{{count}}개 더`,activeFilters:`필터 적용 중`,activeSort:`정렬 적용 중`},detail:{back:`뒤로`,edit:`편집`,editInline:`편집`,save:`저장`,saveChanges:`변경사항 저장`,editFieldsInline:`필드 편집`,share:`공유`,duplicate:`복제`,export:`내보내기`,viewHistory:`기록 보기`,delete:`삭제`,moreActions:`더 많은 작업`,addToFavorites:`즐겨찾기에 추가`,removeFromFavorites:`즐겨찾기에서 제거`,previousRecord:`이전 레코드`,nextRecord:`다음 레코드`,recordOf:`{{current}} / {{total}}`,recordNotFound:`레코드를 찾을 수 없음`,recordNotFoundDescription:`찾으시는 레코드가 존재하지 않거나 삭제되었을 수 있습니다.`,goBack:`뒤로`,details:`상세정보`,related:`관련`,relatedRecords:`{{count}}개 레코드`,relatedRecordOne:`{{count}}개 레코드`,noRelatedRecords:`관련 레코드를 찾을 수 없습니다`,loading:`로딩 중...`,copyToClipboard:`클립보드에 복사`,copied:`복사됨!`,deleteConfirmation:`이 레코드를 삭제하시겠습니까?`,editRecord:`레코드 편집`,viewAll:`모두 보기`,new:`새로 만들기`,emptyValue:`—`,comments:`댓글`,searchComments:`댓글 검색…`,addCommentPlaceholder:`댓글 추가… (Ctrl+Enter로 제출)`,noMatchingComments:`일치하는 댓글이 없습니다`,noCommentsYet:`아직 댓글이 없습니다`,pinned:`고정됨`,pin:`고정`,unpin:`고정 해제`,justNow:`방금`,minutesAgo:`{{count}}분 전`,hoursAgo:`{{count}}시간 전`,daysAgo:`{{count}}일 전`,dropFilesToUpload:`파일을 여기에 끌어놓거나 클릭하여 업로드`,attachmentCount:`첨부파일 {{count}}개`,attachmentCountPlural:`첨부파일 {{count}}개`,removeAttachment:`첨부파일 제거`,unifiedDiff:`통합 보기`,sideBySideDiff:`나란히 보기`,noChanges:`변경 없음`,previousVersion:`이전 버전`,currentVersion:`현재 버전`,discussion:`토론`,showDiscussion:`토론 보기 ({{count}})`,hideDiscussion:`토론 숨기기`,bold:`굵게 (Ctrl+B)`,italic:`기울임 (Ctrl+I)`,listFormat:`목록`,inlineCode:`인라인 코드`,mentionSomeone:`멘션하기`,preview:`미리보기`,submitComment:`제출 (Ctrl+Enter)`,sendComment:`보내기`,writeComment:`댓글 작성…`,subscribedTooltip:`구독 중 — 클릭하여 구독 취소`,unsubscribedTooltip:`알림 구독`,firstRecord:`첫 번째 레코드 (Home)`,previousRecordKey:`이전 레코드 (←)`,nextRecordKey:`다음 레코드 (→)`,lastRecord:`마지막 레코드 (End)`,noRecords:`레코드 없음`,searchWhileNavigating:`탐색 중 검색`,searchRecords:`레코드 검색…`,allActivity:`모든 활동`,commentsOnly:`댓글만`,fieldChangesFilter:`필드 변경`,tasksOnly:`작업만`,leaveCommentPlaceholder:`댓글 남기기… (Ctrl+Enter로 제출)`,noActivity:`기록된 활동 없음`,loadMore:`더 보기`,edited:`(수정됨)`,via:`{{source}} 통해`,replyCount:`답글 {{count}}개`,replyCountPlural:`답글 {{count}}개`,replyPlaceholder:`답글…`,filterActivity:`활동 필터`,openDiscussion:`토론 패널 열기`,closeDiscussion:`토론 패널 닫기`,subscribeAriaLabel:`알림 구독`,unsubscribeAriaLabel:`알림 구독 취소`,clearSearch:`검색 지우기`},chart:{noData:`차트 데이터가 없습니다`,loading:`차트 로딩 중...`},map:{searchLocations:`위치 검색…`,locationDetails:`위치 상세`,markersCount:`마커 {{count}}개`,invalidCoordinates:`좌표가 누락되었거나 유효하지 않아 {{count}}개 레코드가 지도에서 제외되었습니다.`,invalidCoordinatesPlural:`좌표가 누락되었거나 유효하지 않아 {{count}}개 레코드가 지도에서 제외되었습니다.`},workflow:{draft:`초안`,active:`활성`,paused:`일시 중지`,completed:`완료`,cancelled:`취소됨`,save:`저장`,publish:`게시`,addNode:`노드 추가`,workflowFlow:`워크플로우`,properties:`속성`,connections:`연결`,quickConnect:`빠른 연결`,fromPlaceholder:`시작...`,toPlaceholder:`종료...`,connect:`연결`,label:`라벨`,type:`유형`,description:`설명`,assignee:`담당자`,assigneeType:`담당자 유형`,user:`사용자`,role:`역할`,group:`그룹`,expression:`수식`,timeoutMinutes:`제한 시간(분)`,selectNodeToEdit:`속성을 편집할 노드를 선택하세요`,workflowTitle:`워크플로우 제목`,newWorkflow:`새 워크플로우`,outConnections:`{{count}}개 출력`,start:`시작`,end:`종료`,task:`작업`,userTask:`사용자 작업`,serviceTask:`서비스 작업`,scriptTask:`스크립트 작업`,approval:`승인`,condition:`조건`,parallelGateway:`병렬 게이트웨이`,joinGateway:`합류 게이트웨이`,boundaryEvent:`경계 이벤트`,delay:`지연`,notification:`알림`,webhook:`Webhook`,allowConcurrency:`허용 (동시 실행)`,forbidConcurrency:`금지 (새 작업 건너뛰기)`,replaceConcurrency:`대체 (기존 취소)`,queueConcurrency:`대기열 (현재 완료 후 실행)`,conditionEvent:`조건`,manualEvent:`수동`,webhookEvent:`Webhook`,timerEvent:`타이머`,signalEvent:`시그널`,versionHistory:`버전 기록`,importBpmn:`BPMN 가져오기`,exportBpmn:`BPMN 내보내기`,undo:`실행 취소`,redo:`다시 실행`,resetZoom:`확대/축소 초기화`},dashboard:{addWidget:`위젯 추가`,removeWidget:`위젯 제거`,editLayout:`레이아웃 편집`,saveLayout:`레이아웃 저장`,resetLayout:`레이아웃 초기화`},configPanel:{save:`저장`,discard:`취소`,close:`닫기`,layout:`레이아웃`,columns:`열`,gap:`간격`,rowHeight:`행 높이`,data:`데이터`,refreshInterval:`새로고침 간격`,appearance:`모양`,title:`제목`,showDescription:`설명 표시`,theme:`테마`,configuration:`구성`,general:`일반`,advanced:`고급`},appDesigner:{createApp:`Create Application`,editApp:`Edit Application`,basicInfo:`Basic Info`,objects:`Objects`,navigation:`Navigation`,branding:`Branding`,appName:`App Name`,appTitle:`Title`,appDescription:`Description`,appIcon:`Icon`,template:`Template`,layout:`Layout`,layoutSidebar:`Sidebar`,layoutHeader:`Header`,layoutEmpty:`Empty`,selectObjects:`Select Objects`,searchObjects:`Search objects…`,selectAll:`Select All`,deselectAll:`Deselect All`,navBuilder:`Navigation Builder`,addGroup:`Add Group`,addUrl:`Add URL`,addSeparator:`Add Separator`,noNavItems:`No navigation items yet.`,logoUrl:`Logo URL`,primaryColor:`Primary Color`,faviconUrl:`Favicon URL`,preview:`Preview`,complete:`Complete`,snakeCaseHint:`Must be snake_case (e.g. my_app)`,modeEdit:`Edit`,modePreview:`Preview`,modeCode:`Code`,addWidget:`Add Widget`,widgetProperties:`Widget Properties`,dataSource:`Data Source`,valueField:`Value Field`,aggregate:`Aggregate`,colorVariant:`Color Variant`,addComponent:`Add Component`,componentProperties:`Component Properties`,viewType:`View Type`,fields:`Fields`,toolbar:`Toolbar`,showSearch:`Show Search`,showFilters:`Show Filters`,showSort:`Show Sort`,appearance:`Appearance`,rowHeight:`Row Height`,stripedRows:`Striped Rows`,bordered:`Bordered`,livePreview:`Live Preview`,stepBasicDesc:`이름, 제목 및 레이아웃`,stepObjectsDesc:`비즈니스 객체 선택`,stepNavigationDesc:`네비게이션 트리 구성`,stepBrandingDesc:`로고, 색상 및 파비콘`,noObjectsFound:`객체를 찾을 수 없습니다.`,noNavItemsHint:`네비게이션 항목이 없습니다. 이전 단계에서 객체를 선택하거나 수동으로 추가하세요.`,separator:`구분선`,separatorLabel:`— 구분선 —`,newGroup:`새 그룹`,newLink:`새 링크`,saveDraft:`임시 저장`,cancelConfirmTitle:`변경 사항을 폐기하시겠습니까?`,cancelConfirmMessage:`저장되지 않은 변경 사항이 있습니다. 취소하시겠습니까?`,confirmDiscard:`폐기`,keepEditing:`편집 계속`,navNoItems:`네비게이션 항목이 없습니다. 위 버튼을 클릭하여 항목을 추가하세요.`,navNoPreviewItems:`항목 없음`,navLivePreview:`실시간 미리보기`,navCollapseGroup:`그룹 접기`,navExpandGroup:`그룹 펼치기`,navAddChild:`하위 항목 추가`,navMoveUp:`위로 이동`,navMoveDown:`아래로 이동`,navRemove:`제거`,navObjectPage:`객체 페이지`,navDashboard:`대시보드`,navPage:`페이지`,navReport:`리포트`,navGroup:`그룹`,navUrl:`URL`,navSeparator:`구분선`,navTypeObject:`객체`,navTypeDashboard:`대시보드`,navTypePage:`페이지`,navTypeReport:`리포트`,navTypeUrl:`URL`,navTypeGroup:`그룹`,navTypeSeparator:`구분선`,navTypeAction:`액션`,navEditIcon:`아이콘 편집`,navToggleVisible:`표시 전환`,navHidden:`숨김`,navExportSchema:`JSON 내보내기`,navImportSchema:`JSON 가져오기`,navExportSuccess:`내비게이션 구조를 내보냈습니다`,navImportSuccess:`내비게이션 구조를 가져왔습니다`,navImportError:`잘못된 내비게이션 JSON`,navIconPlaceholder:`아이콘 이름 (예: Users)`,dashboardEditor:`대시보드 편집기`,noWidgets:`위젯이 없습니다. 위의 버튼을 클릭하여 추가하세요.`,widgetLayoutSize:`레이아웃 크기`,widgetWidth:`너비`,widgetHeight:`높이`,dashboardPreview:`대시보드 미리보기`,noWidgetsPreview:`미리볼 위젯이 없습니다`,pageCanvasEditor:`페이지 캔버스 편집기`,emptyPage:`빈 페이지입니다. 위의 버튼을 클릭하여 컴포넌트를 추가하세요.`,pagePreview:`페이지 미리보기`,noComponentsPreview:`미리볼 컴포넌트가 없습니다`,modePage:`페이지`,modeDashboard:`대시보드`,undo:`실행 취소`,redo:`다시 실행`,brandingEditor:`브랜딩 편집기`,brandingExport:`JSON 내보내기`,brandingImport:`JSON 가져오기`,brandingPreview:`미리보기`,brandingSampleButton:`샘플 버튼`,brandingSampleText:`브랜드 테마가 이렇게 보입니다.`,colorPalette:`색상 팔레트`,fontFamily:`글꼴`,fontDefault:`기본 (시스템)`,modeLight:`라이트`,modeDark:`다크`,mobilePreview:`모바일 미리보기`,objectManager:{title:`개체 관리자`,addObject:`새 개체`,searchPlaceholder:`개체 검색…`,noObjects:`개체를 찾을 수 없습니다.`,objectName:`API 이름`,objectLabel:`레이블`,pluralLabel:`복수 레이블`,icon:`아이콘`,selectIcon:`아이콘 선택…`,group:`그룹`,noGroup:`그룹 없음`,sortOrder:`정렬 순서`,enabled:`활성화`,relationships:`관계`,systemBadge:`시스템`,fieldCount:`{{count}} 필드`,ungrouped:`미분류`,deleteConfirmTitle:`개체를 삭제하시겠습니까?`,deleteConfirmMessage:`이 개체와 모든 필드가 영구적으로 삭제됩니다. 이 작업은 되돌릴 수 없습니다.`},fieldDesigner:{title:`필드 디자이너`,addField:`새 필드`,searchPlaceholder:`필드 검색…`,allTypes:`모든 유형`,noFields:`필드를 찾을 수 없습니다.`,fieldName:`API 이름`,fieldLabel:`레이블`,fieldType:`유형`,fieldGroup:`그룹`,description:`설명`,required:`필수`,unique:`고유`,readOnly:`읽기 전용`,hidden:`숨김`,indexed:`인덱스`,externalId:`외부 ID`,trackHistory:`이력 추적`,defaultValue:`기본값`,placeholder:`플레이스홀더`,referenceTo:`참조 대상`,formula:`수식`,options:`옵션`,addOption:`옵션 추가`,validationRules:`유효성 규칙`,addRule:`규칙 추가`,systemBadge:`시스템`,ungrouped:`일반`,deleteConfirmTitle:`필드를 삭제하시겠습니까?`,deleteConfirmMessage:`이 필드가 영구적으로 삭제됩니다. 기존 데이터가 손실됩니다.`}},console:{title:`ObjectStack 콘솔`,initializing:`애플리케이션 초기화 중...`,breadcrumb:{dashboards:`대시보드`,pages:`페이지`,reports:`보고서`,system:`시스템`},loadingSteps:{connecting:`데이터 소스에 연결 중`,loadingConfig:`설정 로드 중`,preparingWorkspace:`워크스페이스 준비 중`},error:{connectionFailed:`서버에 연결할 수 없습니다`,serverUnreachable:`서버 {{url}}에 연결할 수 없습니다.`,checkServer:`네트워크 연결을 확인하거나 백엔드가 실행 중인지 확인하세요.`,timeout:`연결 시간이 초과되었습니다 (10초).`},actions:{retry:`재시도`,retrying:`재시도 중…`},shortcuts:{title:`키보드 단축키`,description:`사용 가능한 모든 키보드 단축키 빠른 참조.`,groups:{general:`일반`,navigation:`탐색`,dataViews:`데이터 뷰`,preferences:`환경설정`},openCommandPalette:`명령 팔레트 열기`,showShortcuts:`키보드 단축키 표시`,closeDialog:`대화상자 / 패널 닫기`,toggleSidebar:`사이드바 전환`,focusSearch:`검색에 포커스`,createRecord:`새 레코드 생성`,refreshData:`데이터 새로고침`,editRecord:`선택한 레코드 편집`,toggleDarkMode:`다크 모드 전환`},commandPalette:{placeholder:`명령어를 입력하거나 검색...`,noResults:`결과를 찾을 수 없습니다.`,objects:`객체`,dashboards:`대시보드`,pages:`페이지`,reports:`보고서`,switchApp:`앱 전환`,current:`현재`,preferences:`환경설정`,lightTheme:`라이트 테마`,darkTheme:`다크 테마`,systemTheme:`시스템 테마`,actions:`작업`,openFullSearch:`전체 검색 페이지 열기`,createApp:`새 앱 만들기`},errors:{somethingWentWrong:`문제가 발생했습니다`,unexpectedError:`이 뷰를 렌더링하는 중 예기치 않은 오류가 발생했습니다.`,tryAgain:`다시 시도`,goHome:`홈으로 이동`,errorDetails:`오류 상세정보 (개발 모드 전용)`},theme:{toggle:`테마 전환`,light:`라이트`,dark:`다크`,system:`시스템`},objectView:{objectNotFound:`객체를 찾을 수 없음`,objectNotFoundDescription:`객체 "{{objectName}}"이(가) 현재 구성에 존재하지 않습니다.`,objectNotFoundHint:`앱 탐색 설정을 확인하거나 사이드바에서 다른 객체를 선택하세요.`,allRecords:`모든 레코드`,exitDesignMode:`디자인 모드 종료`,enterDesignMode:`디자인 모드 시작`,metadataInspector:`메타데이터 인스펙터`,editView:`뷰 편집`,addView:`뷰 추가`,designTools:`디자인 도구`,new:`새로 만들기`,configureView:`뷰 구성`,closePanel:`패널 닫기`,page:`페이지`,pageConfigHint:`도구 모음, 탐색 및 뷰 셸 설정`,listConfigHint:`이 목록 유형의 데이터 렌더링, 열 및 모양`,general:`일반`,generalHint:`보기 제목, 설명 및 유형`,toolbar:`도구 모음`,toolbarHint:`검색, 필터, 정렬, 그룹화 및 밀도 전환`,toolbarEnabledCount:`{{total}}개 중 {{count}}개 활성화`,navigationSection:`탐색`,navigationHint:`행 클릭 동작 및 상세 보기 설정`,records:`레코드`,recordsHint:`선택 모드, 레코드 추가 및 인라인 편집`,exportPrint:`내보내기 및 인쇄`,exportPrintHint:`내보내기 형식, 인쇄 및 레코드 수 표시`,showAllFields:`모두 표시`,hideAllFields:`모두 숨기기`,searchFields:`필드 검색...`,title:`제목`,description:`설명`,data:`데이터`,source:`소스`,columns:`열`,filterBy:`필터 기준`,sortBy:`정렬 기준`,appearance:`외관`,showDescription:`설명 표시`,viewType:`뷰 유형`,userFilters:`사용자 필터`,enableSearch:`검색 활성화`,enableFilter:`필터 활성화`,enableSort:`정렬 활성화`,enableHideFields:`필드 숨기기 활성화`,enableGroup:`그룹 활성화`,enableColor:`색상 활성화`,enableDensity:`밀도 활성화`,userActions:`사용자 작업`,addRecordViaForm:`양식으로 레코드 추가`,advanced:`고급`,allowExport:`내보내기 허용`,recordCount:`{{count}}개 레코드`,noDescription:`설명 없음`,none:`없음`,columnsConfigured:`{{count}}개 열`,save:`저장`,discard:`취소`,createView:`뷰 생성`,newView:`새 뷰`,typeOptions:`유형 옵션`,groupByField:`그룹화 필드`,startDateField:`시작 날짜 필드`,titleField:`제목 필드`,latitudeField:`위도 필드`,longitudeField:`경도 필드`,imageField:`이미지 필드`,dateField:`날짜 필드`,selectField:`필드 선택...`,gridOptionsHint:`그리드 뷰는 위에서 구성된 열을 사용합니다.`,groupBy:`그룹화 기준`,prefixField:`접두사 필드`,fields:`필드`,fieldsVisible:`{{count}}개 표시`,sortsCount:`{{count}}개 정렬`,filtersCount:`{{count}}개 필터`,endDateField:`종료 날짜 필드`,color:`색상`,fieldTextColor:`필드 텍스트 색상`,rowHeight:`행 높이`,wrapHeaders:`헤더 줄바꿈`,showFieldDescriptions:`필드 설명 표시`,collapseAllByDefault:`기본적으로 모두 접기`,striped:`줄무늬 행`,bordered:`테두리 셀`,inlineEdit:`인라인으로 레코드 편집`,addDeleteRecordsInline:`인라인으로 레코드 추가/삭제`,clickIntoRecordDetails:`레코드 상세 보기 클릭`,navigationMode:`탐색 모드`,navigationWidth:`탐색 너비`,navigationWidthHint:`서랍, 모달, 분할 탐색 모드에서 사용 가능`,openNewTab:`새 탭에서 열기`,openNewTabHint:`페이지 및 새 창 탐색 모드에서 사용 가능`},localeSwitcher:{label:`언어`}},auth:{login:{title:`계정에 로그인`,description:`이메일과 비밀번호를 입력하세요`,emailLabel:`이메일`,emailPlaceholder:`name@example.com`,passwordLabel:`비밀번호`,passwordPlaceholder:`비밀번호를 입력하세요`,forgotPasswordText:`비밀번호를 잊으셨나요?`,submitButton:`로그인`,submittingButton:`로그인 중...`,noAccountText:`계정이 없으신가요?`,signUpText:`회원가입`},register:{title:`계정 만들기`,description:`정보를 입력하여 시작하세요`,nameLabel:`이름`,namePlaceholder:`홍길동`,emailLabel:`이메일`,emailPlaceholder:`name@example.com`,passwordLabel:`비밀번호`,passwordPlaceholder:`비밀번호 생성 (최소 8자)`,confirmPasswordLabel:`비밀번호 확인`,confirmPasswordPlaceholder:`비밀번호를 다시 입력하세요`,passwordMismatchError:`비밀번호가 일치하지 않습니다`,passwordTooShortError:`비밀번호는 최소 8자 이상이어야 합니다`,submitButton:`계정 만들기`,submittingButton:`계정 생성 중...`,hasAccountText:`이미 계정이 있으신가요?`,signInText:`로그인`},forgotPassword:{title:`비밀번호 재설정`,description:`이메일 주소를 입력하시면 비밀번호 재설정 링크를 보내드립니다`,emailLabel:`이메일`,emailPlaceholder:`name@example.com`,submitButton:`재설정 링크 보내기`,submittingButton:`전송 중...`,successTitle:`이메일을 확인하세요`,successDescription:`{{email}}(으)로 비밀번호 재설정 링크를 전송했습니다. 수신함을 확인해주세요.`,backToSignInText:`로그인으로 돌아가기`,rememberPasswordText:`비밀번호가 기억나시나요?`,signInText:`로그인`}},errors:{networkError:`네트워크 오류입니다. 연결을 확인해주세요.`,serverError:`서버 오류입니다. 나중에 다시 시도해주세요.`,notFound:`리소스를 찾을 수 없습니다.`,unauthorized:`이 작업을 수행할 권한이 없습니다.`,forbidden:`접근이 거부되었습니다.`,timeout:`요청 시간이 초과되었습니다. 다시 시도해주세요.`,unknown:`예기치 않은 오류가 발생했습니다.`},workspace:{label:`워크스페이스`,default:`내 워크스페이스`,switch:`워크스페이스 전환`,create:`워크스페이스 생성`,createTitle:`워크스페이스 만들기`,createDescription:`워크스페이스는 팀이 협업할 수 있는 공유 공간입니다.`,createButton:`워크스페이스 생성`,nameLabel:`워크스페이스 이름`,namePlaceholder:`예: Acme Inc`,slugLabel:`URL 슬러그`,slugHint:`URL에 사용됩니다. 소문자, 숫자, 하이픈만 사용 가능합니다.`,invite:`구성원 초대`,members:`구성원`,settings:`워크스페이스 설정`},sidebar:{settings:`설정`,help:`도움말`,helpTooltip:`도움말 및 문서`,activityFeed:`활동 피드`},home:{title:`홈`,subtitle:`워크스페이스 대시보드`,nav:`홈`,allApps:`모든 애플리케이션`,loading:`워크스페이스 로드 중...`,recent:`최근`,starred:`즐겨찾기`,welcome:`ObjectUI에 오신 것을 환영합니다`,welcomeDescription:`첫 애플리케이션을 만들거나 시스템 설정을 구성하여 시작하세요.`,createFirstApp:`첫 앱 만들기`,systemSettings:`시스템 설정`,quickActions:{title:`빠른 작업`,createApp:`앱 생성`,createAppDesc:`새 애플리케이션으로 시작`,manageObjects:`객체 관리`,manageObjectsDesc:`데이터 모델 구성`,systemSettings:`시스템 설정`,systemSettingsDesc:`워크스페이스 구성`},appCard:{noDescription:`설명 없음`,default:`기본값`}},layout:{appSwitcher:{home:`Home`,addApp:`Add App`,editApp:`Edit App`,manageAllApps:`Manage All Apps`,systemConsole:`System Console`,noAppsConfigured:`No apps configured`},activityFeed:{title:`Recent Activity`,filter:`Filter`,empty:`No recent activity`,ariaLabel:`Activity feed`,typeCreate:`Create`,typeUpdate:`Update`,typeDelete:`Delete`,typeComment:`Comment`,relativeJustNow:`just now`,relativeSecondsAgo:`{{count}}s ago`,relativeMinutesAgo:`{{count}}m ago`,relativeHoursAgo:`{{count}}h ago`,relativeDaysAgo:`{{count}}d ago`},metadata:{label:`Metadata`,toggleTitle:`Toggle Metadata Inspector`,panelTitle:`Metadata Inspector`,jsonBadge:`JSON`,copyJson:`Copy JSON`}},search:{title:`Search`,back:`Back`,placeholder:`Search objects, dashboards, pages, reports...`,inputAriaLabel:`Search objects, dashboards, pages, reports`,resultsCount:`{{count}} result for "{{query}}"`,resultsCountPlural:`{{count}} results for "{{query}}"`,itemsAvailable:`{{count}} items available`,noResults:`No results found`,noResultsHint:`Try adjusting your search terms`,typeObjects:`Objects`,typeDashboards:`Dashboards`,typePages:`Pages`,typeReports:`Reports`,badgeObject:`object`,badgeDashboard:`dashboard`,badgePage:`page`,badgeReport:`report`},empty:{objectNotFound:`Object Not Found`,objectNotFoundDescription:`Object "{{name}}" definition missing. Check your configuration or navigate back to select a valid object.`,pageNotFound:`Page Not Found`,pageNotFoundDescription:`The page "{{name}}" could not be found. It may have been removed or renamed.`,dashboardNotFound:`Dashboard Not Found`,dashboardNotFoundDescription:`The dashboard "{{name}}" could not be found. It may have been removed or renamed.`,reportNotFound:`Report Not Found`,reportNotFoundDescription:`The report "{{name}}" could not be found. It may have been removed or renamed.`,noAppsConfigured:`No Apps Configured`,noAppsConfiguredDescription:`No applications have been registered. Create your first app or visit System Settings to configure your environment.`,createFirstApp:`Create Your First App`,systemSettings:`System Settings`,back:`Back`},renderer:{noPageSchema:`No page schema provided`,noFormSchema:`No form schema provided`,noDashboardSchema:`No dashboard schema provided`,pageRendering:`Page rendering: {{name}}`,dashboardRendering:`Dashboard rendering: {{name}}`,formRenderingMode:`Form rendering in {{mode}} mode`,formRenderingFor:`for record {{id}}`,createRecord:`Create Record`,editRecord:`Edit Record`,page:`Page`,dashboard:`Dashboard`,save:`Save`,cancel:`Cancel`},actionDialog:{title:`Action Parameters`,description:`Please provide the required information to continue.`,selectPlaceholder:`Select {{label}}`,requiredError:`{{label}} is required`,cancel:`Cancel`,confirm:`Confirm`,defaultActionTitle:`Action`,ok:`OK`},rowAction:{openMenu:`Open menu`,edit:`Edit`,delete:`Delete`},navigationSync:{addedPage:`Navigation updated: added page "{{name}}"`,addedDashboard:`Navigation updated: added dashboard "{{name}}"`,removedPage:`Navigation updated: removed page "{{name}}"`,removedDashboard:`Navigation updated: removed dashboard "{{name}}"`,renamedPage:`Navigation updated: renamed page "{{oldName}}" → "{{newName}}"`,renamedDashboard:`Navigation updated: renamed dashboard "{{oldName}}" → "{{newName}}"`,undoLabel:`Undo`,undone:`Navigation change undone`,undoFailed:`Failed to undo navigation change`,updateFailed:`Failed to update navigation`},objectActions:{deleteSuccess:`{{label}} deleted successfully`,deleteFailed:`Failed to delete {{label}}`,noRecordId:`No record ID provided`,deleteConfirm:`Are you sure you want to delete this record?`},objectViewActions:{renameFailed:`Failed to rename view`,deleteFailed:`Failed to delete view`},dashboardActions:{pdfPreparing:`Preparing PDF export…`,exportFailed:`Export failed: {{message}}`,forecastSoon:`Forecast view coming soon`},recordDetail:{viewersTooltip:`Users viewing this record`},cellRender:{empty:`Empty`,yes:`Yes`,no:`No`,systemFields:`System`},user:{profile:`Profile`,settings:`Settings`,logout:`Log out`},report:{rowTotal:`Row Total`,columnTotal:`Column Total`,grandTotal:`Grand Total`,totals:`Totals`,rowsLabel:`Row`,columnsLabel:`Column`,allLabel:`(All)`,emptyLabel:`(Empty)`,loading:`Loading…`,failedToLoad:`Failed to load matrix: {{message}}`,needsAcross:"Matrix report requires at least one `groupingsAcross` field.",aggregate:{count:`Count`,countDistinct:`Distinct Count`,sum:`Sum`,avg:`Average`,min:`Min`,max:`Max`,first:`First`},editor:{breadcrumb:`구성`,basic:`기본`,title:`제목`,titlePlaceholder:`예: 분기별 파이프라인`,description:`설명`,descriptionPlaceholder:`이 보고서가 무엇을 보여주나요?`,type:`보고서 유형`,typeTabular:`표 — 평면 목록`,typeSummary:`요약 — 합계 포함 그룹화`,typeMatrix:`매트릭스 — 행 × 열 피벗`,typeJoined:`결합 — 여러 블록`,typeHelp:`보고 싶은 형태에 맞는 레이아웃을 선택하세요.`,data:`데이터`,objectName:`데이터 소스`,objectNamePlaceholder:`예: opportunity`,objectNameHelp:`이 보고서가 조회할 객체는 무엇인가요?`,limit:`행 수 제한`,limitPlaceholder:`예: 100`,columns:`열`,columnsHint:`열로 표시할 필드를 선택하세요. 요약 또는 매트릭스 보고서에서는 집계(합계, 개수…)를 추가할 수 있습니다.`,filters:`필터`,filtersHint:`이 보고서에 포함되는 행을 제한합니다.`,filtersComplex:`이 보고서는 여기서 편집할 수 없는 고급 필터를 사용합니다. 저장 시 그대로 유지됩니다.`,groupBy:`그룹화 기준`,groupByHint:`데이터를 그룹화하고 소계를 계산합니다.`,rows:`행`,rowsHint:`이 필드들로 행을 그룹화합니다.`,columnsAxis:`열`,columnsAxisHint:`이 필드들을 상단에 피벗합니다.`,values:`값`,valuesHint:`각 셀에 표시되는 숫자입니다. 하나 이상의 필드를 선택하고 집계(합계, 개수…)를 지정하세요.`,grouping:`그룹화`,addGrouping:`그룹화 추가`,dateGranularity:`날짜 단위`,dateGranularityNone:`(원래 값 사용)`,day:`일`,week:`주`,month:`월`,quarter:`분기`,year:`연도`,sortAsc:`오름차순`,sortDesc:`내림차순`,chart:`차트`,chartHint:`표 옆에 표시되는 선택 시각화입니다.`,chartType:`차트 유형`,chartTitle:`차트 제목`,chartTitlePlaceholder:`기본값은 보고서 제목`,chartXAxis:`X축 (범주)`,chartYAxis:`Y축 (값)`,chartShowLegend:`범례 표시`,chartShowDataLabels:`데이터 레이블 표시`,chartNone:`(차트 없음)`,chartBar:`막대`,chartLine:`선`,chartArea:`영역`,chartPie:`원형`,chartDonut:`도넛`,chartFunnel:`퍼널`,validationNeedsObject:`열을 추가하기 전에 데이터 소스를 선택하세요.`,validationMatrixNeedsRowsCols:`매트릭스 보고서에는 최소 한 개의 행과 한 개의 열이 필요합니다.`,validationSummaryNeedsRows:`요약 보고서에는 최소 한 개의 그룹화 필드가 필요합니다.`,blocks:`블록`,blocksHint:`각 블록은 독립적인 표 또는 차트입니다. 블록 필터는 보고서 필터와 AND로 결합됩니다.`,addBlock:`블록 추가`,removeBlock:`블록 삭제`,blockName:`블록 이름`,blockNamePlaceholder:`고유한_블록_이름`,blockLabel:`표시 레이블`,blockLabelPlaceholder:`블록 위에 표시됩니다`,blockDescription:`설명`,blockDescriptionPlaceholder:`이 블록의 선택적 설명`,validationJoinedNeedsBlocks:`결합 보고서에는 최소 한 개의 블록이 필요합니다.`,validationBlockNameRequired:`각 블록에는 비어 있지 않은 이름이 필요합니다.`,validationBlockNameDuplicate:`블록 이름은 보고서 내에서 고유해야 합니다.`,validationBlockNeedsColumns:`각 블록에는 최소 한 개의 열이 필요합니다.`,noneOption:`(없음)`,addCondition:`조건 추가`,combineLogic:`결합 방식`,opContains:`포함`,opIsEmpty:`비어 있음`,opIsNotEmpty:`비어 있지 않음`,formatAuto:`자동`,formatCurrency:`통화`,formatPercent:`백분율`,formatInteger:`정수`,formatDate:`날짜`,formatDatetime:`날짜 및 시간`,columnLabelPlaceholder:`레이블 재정의`,aggregateColumn:`집계`,formatColumn:`형식`,addColumns:`열 추가`,searchFields:`필드 검색…`,noMatchingFields:`검색과 일치하는 필드가 없습니다.`,noFieldsAvailable:`사용 가능한 필드가 없습니다.`}},organizations:{mine:`내 조직`,title:`조직`,heading:`내 조직`,subtitle:`계속할 조직을 선택하거나 새 조직을 만드세요.`,searchPlaceholder:`조직 검색`,new:`새 조직`,current:`현재 조직`,manage:`관리`,emptyTitle:`아직 조직이 없습니다`,emptyDescription:`시작하려면 첫 번째 조직을 만드세요.`,noMatches:`검색과 일치하는 조직이 없습니다.`},notifications:{empty:`알림 없음`,markAllRead:`모두 읽음으로 표시`,viewAll:`모든 알림 보기`,approvalsPending:`{{count}}건의 승인 대기 중`,viewApprovals:`승인 보기`,noPendingApprovals:`대기 중인 승인 없음`,openApprovalsInbox:`승인 보관함 열기`},publicForm:{submit:`Submit`,submitting:`Submitting…`,submitAnother:`Submit another response`,poweredBy:`Powered by ObjectStack`,secureNotice:`Your information is transmitted securely and only used to respond to your request.`,thankYouTitle:`Thank you!`,thankYouMessage:`Your submission has been received successfully.`,redirecting:`Redirecting in {{seconds}} seconds…`,unavailableTitle:`Form unavailable`,unavailableDescription:`No public form is available at this URL. Make sure the underlying view has anonymous sharing enabled and matches this slug.`,tryDemo:`Try the demo`,retry:`Retry`,loading:`Loading form…`,requiredHint:`* Required field`,consentLabelDefault:`I agree to the privacy policy and consent to my data being processed for this request.`,consentLink:`Privacy policy`,consentRequired:`Please accept the privacy policy to continue.`,rateLimited:`Please take a moment to review your answers before submitting.`,redirectBlocked:`Submission accepted, but the redirect URL was blocked for security.`,demo:{contactTitle:`Contact us`,contactDescription:`Tell us about your project and a sales representative will get back to you within one business day.`,supportTitle:`Submit a support request`,supportDescription:`Tell us what is going wrong — our team responds within one business day.`,thankYouSalesTitle:`Thanks — we received your message!`,thankYouSalesMessage:`A sales representative will be in touch within one business day.`,thankYouSupportTitle:`Got it — your request is in the queue.`,thankYouSupportMessage:`A support engineer will follow up shortly. Save this page if you have more screenshots to add.`,field:{firstName:`First name`,lastName:`Last name`,email:`Work email`,phone:`Phone`,jobTitle:`Job title`,company:`Company`,website:`Website`,industry:`Industry`,companySize:`Company size`,howCanWeHelp:`How can we help?`,subject:`Subject`,description:`Description`,issueType:`Issue type`,priority:`Priority`},industry:{technology:`Technology`,software:`Software / SaaS`,finance:`Finance`,healthcare:`Healthcare`,retail:`Retail`,other:`Other`},issueType:{question:`Question`,problem:`Problem`,bug:`Bug`,feature_request:`Feature request`},priority:{low:`Low`,medium:`Medium`,high:`High`,critical:`Critical`}}}},de:{common:{addToFavorites:`Zu Favoriten hinzufügen`,removeFromFavorites:`Aus Favoriten entfernen`,loading:`Wird geladen...`,save:`Speichern`,cancel:`Abbrechen`,delete:`Löschen`,edit:`Bearbeiten`,create:`Erstellen`,search:`Suchen`,filter:`Filtern`,reset:`Zurücksetzen`,confirm:`Bestätigen`,close:`Schließen`,back:`Zurück`,next:`Weiter`,previous:`Zurück`,submit:`Absenden`,refresh:`Aktualisieren`,export:`Exportieren`,import:`Importieren`,yes:`Ja`,no:`Nein`,ok:`OK`,actions:`Aktionen`,more:`Mehr`,selectAll:`Alle auswählen`,clearAll:`Alle löschen`,noData:`Keine Daten`,noResults:`Keine Ergebnisse gefunden`,required:`Erforderlich`,optional:`Optional`,selectOption:`Option auswählen`,select:`Auswählen...`,openChat:`Chat öffnen`,closeChat:`Chat schließen`,toggleSidebar:`Seitenleiste umschalten`},validation:{required:`{{field}} ist erforderlich`,minLength:`{{field}} muss mindestens {{min}} Zeichen lang sein`,maxLength:`{{field}} darf höchstens {{max}} Zeichen lang sein`,min:`{{field}} muss mindestens {{min}} sein`,max:`{{field}} darf höchstens {{max}} sein`,email:`Bitte geben Sie eine gültige E-Mail-Adresse ein`,url:`Bitte geben Sie eine gültige URL ein`,pattern:`{{field}} hat ein ungültiges Format`,unique:`{{field}} muss eindeutig sein`,type:`{{field}} muss ein gültiger {{type}} sein`},form:{addItem:`Element hinzufügen`,removeItem:`Element entfernen`,fieldRequired:`Dieses Feld ist erforderlich`,invalidFormat:`Ungültiges Format`,saveSuccess:`Erfolgreich gespeichert`,saveError:`Speichern fehlgeschlagen`,unsavedChanges:`Sie haben nicht gespeicherte Änderungen. Möchten Sie die Seite wirklich verlassen?`,stepOf:`Schritt {{current}} von {{total}}`,createTitle:`{{object}} erstellen`,editTitle:`{{object}} bearbeiten`,createDescription:`Neues {{object}} zur Datenbank hinzufügen.`,editDescription:`Details für {{object}} aktualisieren`,saveRecord:`Datensatz speichern`},table:{rowsPerPage:`Zeilen pro Seite`,showing:`{{from}} bis {{to}} von {{total}} angezeigt`,noRows:`Keine Zeilen vorhanden`,sortAsc:`Aufsteigend sortieren`,sortDesc:`Absteigend sortieren`,filterColumn:`{{column}} filtern`,columns:`Spalten`,exportCSV:`CSV exportieren`,exportExcel:`Excel exportieren`,selectRow:`Zeile auswählen`,selectAllRows:`Alle Zeilen auswählen`,expandRow:`Zeile erweitern`,collapseRow:`Zeile reduzieren`,hideColumn:`Spalte ausblenden`,freezeColumn:`Spalte fixieren`,unfreezeColumn:`Spalte lösen`,pageInfo:`Seite {{current}} von {{total}}`,totalRecords:`{{count}} gesamt`},grid:{actions:`Aktionen`,edit:`Bearbeiten`,delete:`Löschen`,export:`Exportieren`,exportAs:`Exportieren als {{format}}`,loading:`Raster wird geladen...`,errorLoading:`Fehler beim Laden des Rasters`,pullToRefresh:`Zum Aktualisieren ziehen`,refreshing:`Wird aktualisiert…`,openRecord:`Datensatz öffnen`,rowHeight:`Zeilenhöhe: {{mode}}`},calendar:{today:`Heute`,month:`Monat`,week:`Woche`,day:`Tag`,agenda:`Agenda`,allDay:`Ganztägig`,noEvents:`Keine Termine`,newEvent:`Neuer Termin`,moreEvents:`+{{count}} weitere`},list:{recordCount:`{{count}} Datensätze`,recordCountOne:`{{count}} Datensatz`,addRecord:`Datensatz hinzufügen`,tabs:`Tabs`,allRecords:`Alle Datensätze`,search:`Suche`,filter:`Filtern`,filterRecords:`Datensätze filtern`,sort:`Sortieren`,sortRecords:`Datensätze sortieren`,group:`Gruppieren`,groupBy:`Gruppieren nach`,export:`Exportieren`,exportAs:`Exportieren als {{format}}`,color:`Farbe`,rowColor:`Zeilenfarbe`,colorByField:`Nach Feld einfärben`,clear:`Löschen`,none:`Keine`,hideFields:`Felder ausblenden`,noItems:`Keine Einträge gefunden`,noItemsMessage:`Es gibt keine Datensätze. Versuchen Sie, die Filter anzupassen oder neue Daten hinzuzufügen.`},kanban:{addCard:`Karte hinzufügen`,addColumn:`Spalte hinzufügen`,moveCard:`Karte verschieben`,deleteCard:`Karte löschen`,deleteColumn:`Spalte löschen`},timeline:{bucket:{overdue:`Überfällig`,today:`Heute`,tomorrow:`Morgen`,thisWeek:`Diese Woche`,nextWeek:`Nächste Woche`,later:`Später`,noDate:`Kein Datum`,unassigned:`Nicht zugewiesen`}},gantt:{column:{taskName:`Task Name`,start:`Start`,end:`End`},toolbar:{prevPeriod:`Previous period`,nextPeriod:`Next period`,zoomIn:`Zoom in`,zoomOut:`Zoom out`,jumpToToday:`Jump to today`,today:`Today`,showTaskList:`Show task list`,hideTaskList:`Hide task list`}},view:{rename:`Umbenennen`,duplicateView:`Ansicht duplizieren`,shareView:`Ansicht teilen`,setAsDefault:`Als Standard festlegen`,pinView:`Ansicht anheften`,unpinView:`Ansicht lösen`,changeViewType:`Ansichtstyp ändern`,deleteView:`Ansicht löschen`,addView:`Ansicht hinzufügen`,unsavedChanges:`Ungespeicherte Änderungen`,saveAsView:`Als Ansicht speichern`,moreViews:`{{count}} weitere`,activeFilters:`Filter aktiv`,activeSort:`Sortierung aktiv`},detail:{back:`Zurück`,edit:`Bearbeiten`,editInline:`Bearbeiten`,save:`Speichern`,saveChanges:`Änderungen speichern`,editFieldsInline:`Felder bearbeiten`,share:`Teilen`,duplicate:`Duplizieren`,export:`Exportieren`,viewHistory:`Verlauf anzeigen`,delete:`Löschen`,moreActions:`Weitere Aktionen`,addToFavorites:`Zu Favoriten hinzufügen`,removeFromFavorites:`Aus Favoriten entfernen`,previousRecord:`Vorheriger Datensatz`,nextRecord:`Nächster Datensatz`,recordOf:`{{current}} von {{total}}`,recordNotFound:`Datensatz nicht gefunden`,recordNotFoundDescription:`Der gesuchte Datensatz existiert nicht oder wurde möglicherweise gelöscht.`,goBack:`Zurück`,details:`Details`,related:`Verknüpft`,relatedRecords:`{{count}} Datensätze`,relatedRecordOne:`{{count}} Datensatz`,noRelatedRecords:`Keine verknüpften Datensätze gefunden`,loading:`Laden...`,copyToClipboard:`In Zwischenablage kopieren`,copied:`Kopiert!`,deleteConfirmation:`Sind Sie sicher, dass Sie diesen Datensatz löschen möchten?`,editRecord:`Datensatz bearbeiten`,viewAll:`Alle anzeigen`,new:`Neu`,emptyValue:`—`,comments:`Kommentare`,searchComments:`Kommentare suchen…`,addCommentPlaceholder:`Kommentar hinzufügen… (Strg+Enter zum Senden)`,noMatchingComments:`Keine passenden Kommentare`,noCommentsYet:`Noch keine Kommentare`,pinned:`Angeheftet`,pin:`Anheften`,unpin:`Lösen`,justNow:`gerade eben`,minutesAgo:`vor {{count}} Min.`,hoursAgo:`vor {{count}} Std.`,daysAgo:`vor {{count}} Tg.`,dropFilesToUpload:`Dateien hierher ziehen oder klicken zum Hochladen`,attachmentCount:`{{count}} Anhang`,attachmentCountPlural:`{{count}} Anhänge`,removeAttachment:`Anhang entfernen`,unifiedDiff:`Einheitliche Ansicht`,sideBySideDiff:`Nebeneinander-Ansicht`,noChanges:`Keine Änderungen`,previousVersion:`Vorherige`,currentVersion:`Aktuelle`,discussion:`Diskussion`,showDiscussion:`Diskussion anzeigen ({{count}})`,hideDiscussion:`Diskussion ausblenden`,bold:`Fett (Strg+B)`,italic:`Kursiv (Strg+I)`,listFormat:`Liste`,inlineCode:`Inline-Code`,mentionSomeone:`Jemanden erwähnen`,preview:`Vorschau`,submitComment:`Senden (Strg+Enter)`,sendComment:`Senden`,writeComment:`Kommentar schreiben…`,subscribedTooltip:`Abonniert — Klicken zum Abbestellen`,unsubscribedTooltip:`Benachrichtigungen abonnieren`,firstRecord:`Erster Datensatz (Pos1)`,previousRecordKey:`Vorheriger Datensatz (←)`,nextRecordKey:`Nächster Datensatz (→)`,lastRecord:`Letzter Datensatz (Ende)`,noRecords:`Keine Datensätze`,searchWhileNavigating:`Während der Navigation suchen`,searchRecords:`Datensätze suchen…`,allActivity:`Alle Aktivitäten`,commentsOnly:`Nur Kommentare`,fieldChangesFilter:`Feldänderungen`,tasksOnly:`Nur Aufgaben`,leaveCommentPlaceholder:`Kommentar hinterlassen… (Strg+Enter zum Senden)`,noActivity:`Keine Aktivitäten aufgezeichnet`,loadMore:`Mehr laden`,edited:`(bearbeitet)`,via:`über {{source}}`,replyCount:`{{count}} Antwort`,replyCountPlural:`{{count}} Antworten`,replyPlaceholder:`Antworten…`,filterActivity:`Aktivität filtern`,openDiscussion:`Diskussionspanel öffnen`,closeDiscussion:`Diskussionspanel schließen`,subscribeAriaLabel:`Benachrichtigungen abonnieren`,unsubscribeAriaLabel:`Benachrichtigungen abbestellen`,clearSearch:`Suche löschen`},chart:{noData:`Keine Diagrammdaten verfügbar`,loading:`Diagramm wird geladen...`},map:{searchLocations:`Orte suchen…`,locationDetails:`Standortdetails`,markersCount:`{{count}} Markierungen`,invalidCoordinates:`{{count}} Datensatz mit fehlenden oder ungültigen Koordinaten von der Karte ausgeschlossen.`,invalidCoordinatesPlural:`{{count}} Datensätze mit fehlenden oder ungültigen Koordinaten von der Karte ausgeschlossen.`},workflow:{draft:`Entwurf`,active:`Aktiv`,paused:`Pausiert`,completed:`Abgeschlossen`,cancelled:`Abgebrochen`,save:`Speichern`,publish:`Veröffentlichen`,addNode:`Knoten hinzufügen`,workflowFlow:`Workflow-Ablauf`,properties:`Eigenschaften`,connections:`Verbindungen`,quickConnect:`Schnellverbindung`,fromPlaceholder:`Von...`,toPlaceholder:`Nach...`,connect:`Verbinden`,label:`Bezeichnung`,type:`Typ`,description:`Beschreibung`,assignee:`Zuständiger`,assigneeType:`Zuständigkeitstyp`,user:`Benutzer`,role:`Rolle`,group:`Gruppe`,expression:`Ausdruck`,timeoutMinutes:`Zeitlimit (Minuten)`,selectNodeToEdit:`Knoten auswählen, um Eigenschaften zu bearbeiten`,workflowTitle:`Workflow-Titel`,newWorkflow:`Neuer Workflow`,outConnections:`{{count}} Ausgänge`,start:`Start`,end:`Ende`,task:`Aufgabe`,userTask:`Benutzeraufgabe`,serviceTask:`Serviceaufgabe`,scriptTask:`Skriptaufgabe`,approval:`Genehmigung`,condition:`Bedingung`,parallelGateway:`Paralleles Gateway`,joinGateway:`Zusammenführungs-Gateway`,boundaryEvent:`Grenzereignis`,delay:`Verzögerung`,notification:`Benachrichtigung`,webhook:`Webhook`,allowConcurrency:`Erlauben (gleichzeitig ausführen)`,forbidConcurrency:`Verbieten (neue überspringen)`,replaceConcurrency:`Ersetzen (bestehende abbrechen)`,queueConcurrency:`Warteschlange (nach aktuellem ausführen)`,conditionEvent:`Bedingung`,manualEvent:`Manuell`,webhookEvent:`Webhook`,timerEvent:`Timer`,signalEvent:`Signal`,versionHistory:`Versionshistorie`,importBpmn:`BPMN importieren`,exportBpmn:`BPMN exportieren`,undo:`Rückgängig`,redo:`Wiederholen`,resetZoom:`Zoom zurücksetzen`},dashboard:{addWidget:`Widget hinzufügen`,removeWidget:`Widget entfernen`,editLayout:`Layout bearbeiten`,saveLayout:`Layout speichern`,resetLayout:`Layout zurücksetzen`},configPanel:{save:`Speichern`,discard:`Verwerfen`,close:`Schließen`,layout:`Layout`,columns:`Spalten`,gap:`Abstand`,rowHeight:`Zeilenhöhe`,data:`Daten`,refreshInterval:`Aktualisierungsintervall`,appearance:`Darstellung`,title:`Titel`,showDescription:`Beschreibung anzeigen`,theme:`Design`,configuration:`Konfiguration`,general:`Allgemein`,advanced:`Erweitert`},appDesigner:{createApp:`App erstellen`,editApp:`App bearbeiten`,basicInfo:`Grundinformationen`,objects:`Objekte`,navigation:`Navigation`,branding:`Branding`,appName:`App-Name`,appTitle:`Titel`,appDescription:`Beschreibung`,appIcon:`Symbol`,template:`Vorlage`,layout:`Layout`,layoutSidebar:`Seitenleiste`,layoutHeader:`Kopfzeile`,layoutEmpty:`Leer`,selectObjects:`Objekte auswählen`,searchObjects:`Objekte suchen…`,selectAll:`Alle auswählen`,deselectAll:`Alle abwählen`,navBuilder:`Navigations-Builder`,addGroup:`Gruppe hinzufügen`,addUrl:`URL hinzufügen`,addSeparator:`Trenner hinzufügen`,noNavItems:`Noch keine Navigationselemente.`,logoUrl:`Logo-URL`,primaryColor:`Primärfarbe`,faviconUrl:`Favicon-URL`,preview:`Vorschau`,complete:`Fertigstellen`,snakeCaseHint:`Muss snake_case sein (z.B. my_app)`,modeEdit:`Bearbeiten`,modePreview:`Vorschau`,modeCode:`Code`,addWidget:`Widget hinzufügen`,widgetProperties:`Widget-Eigenschaften`,dataSource:`Datenquelle`,valueField:`Wertfeld`,aggregate:`Aggregat`,colorVariant:`Farbvariante`,addComponent:`Komponente hinzufügen`,componentProperties:`Komponenteneigenschaften`,viewType:`Ansichtstyp`,fields:`Felder`,toolbar:`Symbolleiste`,showSearch:`Suche anzeigen`,showFilters:`Filter anzeigen`,showSort:`Sortierung anzeigen`,appearance:`Erscheinung`,rowHeight:`Zeilenhöhe`,stripedRows:`Gestreifte Zeilen`,bordered:`Umrandet`,livePreview:`Live-Vorschau`,stepBasicDesc:`Name, Titel und Layout`,stepObjectsDesc:`Geschäftsobjekte auswählen`,stepNavigationDesc:`Navigationsbaum erstellen`,stepBrandingDesc:`Logo, Farben und Favicon`,noObjectsFound:`Keine Objekte gefunden.`,noNavItemsHint:`Noch keine Navigationselemente. Wählen Sie Objekte im vorherigen Schritt aus oder fügen Sie manuell hinzu.`,separator:`Trennlinie`,separatorLabel:`— Trennlinie —`,newGroup:`Neue Gruppe`,newLink:`Neuer Link`,saveDraft:`Entwurf speichern`,cancelConfirmTitle:`Änderungen verwerfen?`,cancelConfirmMessage:`Sie haben ungespeicherte Änderungen. Möchten Sie wirklich abbrechen?`,confirmDiscard:`Verwerfen`,keepEditing:`Weiter bearbeiten`,navNoItems:`Keine Navigationselemente. Klicken Sie auf die Schaltflächen oben, um Elemente hinzuzufügen.`,navNoPreviewItems:`Keine Elemente`,navLivePreview:`Live-Vorschau`,navCollapseGroup:`Gruppe einklappen`,navExpandGroup:`Gruppe ausklappen`,navAddChild:`Unterelement hinzufügen`,navMoveUp:`Nach oben`,navMoveDown:`Nach unten`,navRemove:`Entfernen`,navObjectPage:`Objektseite`,navDashboard:`Dashboard`,navPage:`Seite`,navReport:`Bericht`,navGroup:`Gruppe`,navUrl:`URL`,navSeparator:`Trennlinie`,navTypeObject:`Objekt`,navTypeDashboard:`Dashboard`,navTypePage:`Seite`,navTypeReport:`Bericht`,navTypeUrl:`URL`,navTypeGroup:`Gruppe`,navTypeSeparator:`Trennlinie`,navTypeAction:`Aktion`,navEditIcon:`Symbol bearbeiten`,navToggleVisible:`Sichtbarkeit umschalten`,navHidden:`Ausgeblendet`,navExportSchema:`JSON exportieren`,navImportSchema:`JSON importieren`,navExportSuccess:`Navigationsstruktur exportiert`,navImportSuccess:`Navigationsstruktur importiert`,navImportError:`Ungültiges Navigations-JSON`,navIconPlaceholder:`Symbolname (z.B. Users)`,dashboardEditor:`Dashboard-Editor`,noWidgets:`Keine Widgets. Klicken Sie oben auf eine Schaltfläche, um eines hinzuzufügen.`,widgetLayoutSize:`Layoutgröße`,widgetWidth:`Breite`,widgetHeight:`Höhe`,dashboardPreview:`Dashboard-Vorschau`,noWidgetsPreview:`Keine Widgets zur Vorschau`,pageCanvasEditor:`Seiten-Canvas-Editor`,emptyPage:`Leere Seite. Klicken Sie oben auf eine Schaltfläche, um eine Komponente hinzuzufügen.`,pagePreview:`Seitenvorschau`,noComponentsPreview:`Keine Komponenten zur Vorschau`,modePage:`Seite`,modeDashboard:`Dashboard`,undo:`Rückgängig`,redo:`Wiederholen`,brandingEditor:`Branding-Editor`,brandingExport:`JSON exportieren`,brandingImport:`JSON importieren`,brandingPreview:`Vorschau`,brandingSampleButton:`Beispiel-Schaltfläche`,brandingSampleText:`So wird Ihr Markenthema aussehen.`,colorPalette:`Farbpalette`,fontFamily:`Schriftart`,fontDefault:`Standard (System)`,modeLight:`Hell`,modeDark:`Dunkel`,mobilePreview:`Mobile Vorschau`,objectManager:{title:`Objekt-Manager`,addObject:`Neues Objekt`,searchPlaceholder:`Objekte suchen…`,noObjects:`Keine Objekte gefunden.`,objectName:`API-Name`,objectLabel:`Bezeichnung`,pluralLabel:`Pluralbezeichnung`,icon:`Symbol`,selectIcon:`Symbol wählen…`,group:`Gruppe`,noGroup:`Keine Gruppe`,sortOrder:`Sortierung`,enabled:`Aktiviert`,relationships:`Beziehungen`,systemBadge:`System`,fieldCount:`{{count}} Felder`,ungrouped:`Nicht gruppiert`,deleteConfirmTitle:`Objekt löschen?`,deleteConfirmMessage:`Das Objekt und alle zugehörigen Felder werden dauerhaft gelöscht. Diese Aktion kann nicht rückgängig gemacht werden.`},fieldDesigner:{title:`Feld-Designer`,addField:`Neues Feld`,searchPlaceholder:`Felder suchen…`,allTypes:`Alle Typen`,noFields:`Keine Felder gefunden.`,fieldName:`API-Name`,fieldLabel:`Bezeichnung`,fieldType:`Typ`,fieldGroup:`Gruppe`,description:`Beschreibung`,required:`Erforderlich`,unique:`Eindeutig`,readOnly:`Schreibgeschützt`,hidden:`Ausgeblendet`,indexed:`Indiziert`,externalId:`Externe ID`,trackHistory:`Verlauf verfolgen`,defaultValue:`Standardwert`,placeholder:`Platzhalter`,referenceTo:`Verweis auf`,formula:`Formel`,options:`Optionen`,addOption:`Option hinzufügen`,validationRules:`Validierungsregeln`,addRule:`Regel hinzufügen`,systemBadge:`System`,ungrouped:`Allgemein`,deleteConfirmTitle:`Feld löschen?`,deleteConfirmMessage:`Das Feld wird dauerhaft gelöscht. Vorhandene Daten in diesem Feld gehen verloren.`}},console:{title:`ObjectStack Konsole`,initializing:`Anwendung wird initialisiert...`,breadcrumb:{dashboards:`Dashboards`,pages:`Seiten`,reports:`Berichte`,system:`System`},loadingSteps:{connecting:`Verbindung zur Datenquelle herstellen`,loadingConfig:`Konfiguration laden`,preparingWorkspace:`Arbeitsbereich vorbereiten`},error:{connectionFailed:`Verbindung zum Server nicht möglich`,serverUnreachable:`Der Server {{url}} ist nicht erreichbar.`,checkServer:`Bitte prüfen Sie Ihre Netzwerkverbindung oder ob das Backend läuft.`,timeout:`Zeitüberschreitung der Verbindung nach 10 Sekunden.`},actions:{retry:`Erneut versuchen`,retrying:`Wird wiederholt…`},shortcuts:{title:`Tastenkürzel`,description:`Kurzreferenz für alle verfügbaren Tastenkürzel.`,groups:{general:`Allgemein`,navigation:`Navigation`,dataViews:`Datenansichten`,preferences:`Einstellungen`},openCommandPalette:`Befehlspalette öffnen`,showShortcuts:`Tastenkürzel anzeigen`,closeDialog:`Dialog / Panel schließen`,toggleSidebar:`Seitenleiste umschalten`,focusSearch:`Suche fokussieren`,createRecord:`Neuen Datensatz erstellen`,refreshData:`Daten aktualisieren`,editRecord:`Ausgewählten Datensatz bearbeiten`,toggleDarkMode:`Dunkelmodus umschalten`},commandPalette:{placeholder:`Befehl eingeben oder suchen...`,noResults:`Keine Ergebnisse gefunden.`,objects:`Objekte`,dashboards:`Dashboards`,pages:`Seiten`,reports:`Berichte`,switchApp:`App wechseln`,current:`Aktuell`,preferences:`Einstellungen`,lightTheme:`Helles Design`,darkTheme:`Dunkles Design`,systemTheme:`Systemdesign`,actions:`Aktionen`,openFullSearch:`Vollständige Suchseite öffnen`,createApp:`Neue App erstellen`},errors:{somethingWentWrong:`Etwas ist schiefgelaufen`,unexpectedError:`Beim Rendern dieser Ansicht ist ein unerwarteter Fehler aufgetreten.`,tryAgain:`Erneut versuchen`,goHome:`Zur Startseite`,errorDetails:`Fehlerdetails (nur Entwicklung)`},theme:{toggle:`Design umschalten`,light:`Hell`,dark:`Dunkel`,system:`System`},objectView:{objectNotFound:`Objekt nicht gefunden`,objectNotFoundDescription:`Das Objekt „{{objectName}}" existiert in der aktuellen Konfiguration nicht.`,objectNotFoundHint:`Überprüfen Sie Ihre App-Navigationseinstellungen oder wählen Sie ein anderes Objekt aus der Seitenleiste.`,allRecords:`Alle Datensätze`,exitDesignMode:`Designmodus beenden`,enterDesignMode:`Designmodus starten`,metadataInspector:`Metadaten-Inspektor`,editView:`Ansicht bearbeiten`,addView:`Ansicht hinzufügen`,designTools:`Design-Werkzeuge`,new:`Neu`,configureView:`Ansicht konfigurieren`,closePanel:`Panel schließen`,page:`Seite`,pageConfigHint:`Symbolleiste, Navigation & Ansichts-Shell-Einstellungen`,listConfigHint:`Daten-Rendering, Spalten & Erscheinungsbild für diesen Listentyp`,general:`Allgemein`,generalHint:`Ansichtstitel, Beschreibung und Typ`,toolbar:`Symbolleiste`,toolbarHint:`Suche, Filter, Sortierung, Gruppierung und Dichteumschaltung`,toolbarEnabledCount:`{{count}} von {{total}} aktiviert`,navigationSection:`Navigation`,navigationHint:`Zeilenklickverhalten und Detailansichtseinstellungen`,records:`Datensätze`,recordsHint:`Auswahlmodus, Datensatz hinzufügen und Inline-Bearbeitung`,exportPrint:`Export & Drucken`,exportPrintHint:`Exportformate, Drucken und Anzeige der Datensatzanzahl`,showAllFields:`Alle anzeigen`,hideAllFields:`Alle ausblenden`,searchFields:`Felder suchen...`,title:`Titel`,description:`Beschreibung`,data:`Daten`,source:`Quelle`,columns:`Spalten`,filterBy:`Filtern nach`,sortBy:`Sortieren nach`,appearance:`Darstellung`,showDescription:`Beschreibung anzeigen`,viewType:`Ansichtstyp`,userFilters:`Benutzerfilter`,enableSearch:`Suche aktivieren`,enableFilter:`Filter aktivieren`,enableSort:`Sortierung aktivieren`,enableHideFields:`Felder ausblenden aktivieren`,enableGroup:`Gruppierung aktivieren`,enableColor:`Farbe aktivieren`,enableDensity:`Dichte aktivieren`,userActions:`Benutzeraktionen`,addRecordViaForm:`Datensätze über Formular hinzufügen`,advanced:`Erweitert`,allowExport:`Export erlauben`,recordCount:`{{count}} Datensätze`,noDescription:`Keine Beschreibung`,none:`Keine`,columnsConfigured:`{{count}} Spalten`,save:`Speichern`,discard:`Verwerfen`,createView:`Ansicht erstellen`,newView:`Neue Ansicht`,typeOptions:`Typoptionen`,groupByField:`Gruppierungsfeld`,startDateField:`Startdatumsfeld`,titleField:`Titelfeld`,latitudeField:`Breitengradfeld`,longitudeField:`Längengradfeld`,imageField:`Bildfeld`,dateField:`Datumsfeld`,selectField:`Feld auswählen...`,gridOptionsHint:`Die Tabellenansicht verwendet die oben konfigurierten Spalten.`,groupBy:`Gruppieren nach`,prefixField:`Präfixfeld`,fields:`Felder`,fieldsVisible:`{{count}} sichtbar`,sortsCount:`{{count}} Sortierungen`,filtersCount:`{{count}} Filter`,endDateField:`Enddatumsfeld`,color:`Farbe`,fieldTextColor:`Feldtextfarbe`,rowHeight:`Zeilenhöhe`,wrapHeaders:`Kopfzeilen umbrechen`,showFieldDescriptions:`Feldbeschreibungen anzeigen`,collapseAllByDefault:`Standardmäßig alle einklappen`,striped:`Gestreifte Zeilen`,bordered:`Umrandete Zellen`,inlineEdit:`Datensätze inline bearbeiten`,addDeleteRecordsInline:`Datensätze inline hinzufügen/löschen`,clickIntoRecordDetails:`Klicken für Datensatzdetails`,navigationMode:`Navigationsmodus`,navigationWidth:`Navigationsbreite`,navigationWidthHint:`Verfügbar für Schublade-, Modal- und Split-Navigationsmodi`,openNewTab:`In neuem Tab öffnen`,openNewTabHint:`Verfügbar für Seiten- und Neues-Fenster-Navigationsmodi`},localeSwitcher:{label:`Sprache`}},auth:{login:{title:`In Ihr Konto einloggen`,description:`Geben Sie Ihre E-Mail-Adresse und Ihr Passwort ein, um fortzufahren`,emailLabel:`E-Mail`,emailPlaceholder:`name@example.com`,passwordLabel:`Passwort`,passwordPlaceholder:`Passwort eingeben`,forgotPasswordText:`Passwort vergessen?`,submitButton:`Anmelden`,submittingButton:`Anmeldung läuft...`,noAccountText:`Noch kein Konto?`,signUpText:`Registrieren`},register:{title:`Konto erstellen`,description:`Geben Sie Ihre Daten ein, um loszulegen`,nameLabel:`Name`,namePlaceholder:`Max Mustermann`,emailLabel:`E-Mail`,emailPlaceholder:`name@example.com`,passwordLabel:`Passwort`,passwordPlaceholder:`Passwort erstellen (mind. 8 Zeichen)`,confirmPasswordLabel:`Passwort bestätigen`,confirmPasswordPlaceholder:`Passwort bestätigen`,passwordMismatchError:`Passwörter stimmen nicht überein`,passwordTooShortError:`Das Passwort muss mindestens 8 Zeichen lang sein`,submitButton:`Konto erstellen`,submittingButton:`Konto wird erstellt...`,hasAccountText:`Bereits ein Konto?`,signInText:`Anmelden`},forgotPassword:{title:`Passwort zurücksetzen`,description:`Geben Sie Ihre E-Mail-Adresse ein und wir senden Ihnen einen Link zum Zurücksetzen Ihres Passworts`,emailLabel:`E-Mail`,emailPlaceholder:`name@example.com`,submitButton:`Link zum Zurücksetzen senden`,submittingButton:`Wird gesendet...`,successTitle:`Überprüfen Sie Ihre E-Mails`,successDescription:`Wir haben einen Link zum Zurücksetzen des Passworts an {{email}} gesendet. Bitte überprüfen Sie Ihren Posteingang.`,backToSignInText:`Zurück zur Anmeldung`,rememberPasswordText:`Passwort doch bekannt?`,signInText:`Anmelden`}},errors:{networkError:`Netzwerkfehler. Bitte überprüfen Sie Ihre Verbindung.`,serverError:`Serverfehler. Bitte versuchen Sie es später erneut.`,notFound:`Ressource nicht gefunden.`,unauthorized:`Sie sind nicht berechtigt, diese Aktion auszuführen.`,forbidden:`Zugriff verweigert.`,timeout:`Zeitüberschreitung. Bitte versuchen Sie es erneut.`,unknown:`Ein unerwarteter Fehler ist aufgetreten.`},workspace:{label:`Arbeitsbereiche`,default:`Mein Arbeitsbereich`,switch:`Arbeitsbereich wechseln`,create:`Arbeitsbereich erstellen`,createTitle:`Arbeitsbereich erstellen`,createDescription:`Ein Arbeitsbereich ist ein gemeinsamer Raum für Ihr Team zur Zusammenarbeit.`,createButton:`Arbeitsbereich erstellen`,nameLabel:`Name des Arbeitsbereichs`,namePlaceholder:`z.B. Acme Inc`,slugLabel:`URL-Slug`,slugHint:`In URLs verwendet. Nur Kleinbuchstaben, Zahlen und Bindestriche.`,invite:`Mitglied einladen`,members:`Mitglieder`,settings:`Arbeitsbereichseinstellungen`},sidebar:{settings:`Einstellungen`,help:`Hilfe`,helpTooltip:`Hilfe und Dokumentation`,activityFeed:`Aktivitätsfeed`},home:{title:`Startseite`,subtitle:`Ihr Arbeitsbereich-Dashboard`,nav:`Startseite`,allApps:`Alle Anwendungen`,loading:`Arbeitsbereich wird geladen...`,recent:`Kürzlich`,starred:`Mit Stern`,welcome:`Willkommen bei ObjectUI`,welcomeDescription:`Erstellen Sie zunächst Ihre erste Anwendung oder konfigurieren Sie Ihre Systemeinstellungen.`,createFirstApp:`Erstellen Sie Ihre erste App`,systemSettings:`Systemeinstellungen`,quickActions:{title:`Schnellaktionen`,createApp:`App erstellen`,createAppDesc:`Beginnen Sie mit einer neuen Anwendung`,manageObjects:`Objekte verwalten`,manageObjectsDesc:`Datenmodelle konfigurieren`,systemSettings:`Systemeinstellungen`,systemSettingsDesc:`Konfigurieren Sie Ihren Arbeitsbereich`},appCard:{noDescription:`Keine Beschreibung`,default:`Standard`}},layout:{appSwitcher:{home:`Home`,addApp:`Add App`,editApp:`Edit App`,manageAllApps:`Manage All Apps`,systemConsole:`System Console`,noAppsConfigured:`No apps configured`},activityFeed:{title:`Recent Activity`,filter:`Filter`,empty:`No recent activity`,ariaLabel:`Activity feed`,typeCreate:`Create`,typeUpdate:`Update`,typeDelete:`Delete`,typeComment:`Comment`,relativeJustNow:`just now`,relativeSecondsAgo:`{{count}}s ago`,relativeMinutesAgo:`{{count}}m ago`,relativeHoursAgo:`{{count}}h ago`,relativeDaysAgo:`{{count}}d ago`},metadata:{label:`Metadata`,toggleTitle:`Toggle Metadata Inspector`,panelTitle:`Metadata Inspector`,jsonBadge:`JSON`,copyJson:`Copy JSON`}},search:{title:`Search`,back:`Back`,placeholder:`Search objects, dashboards, pages, reports...`,inputAriaLabel:`Search objects, dashboards, pages, reports`,resultsCount:`{{count}} result for "{{query}}"`,resultsCountPlural:`{{count}} results for "{{query}}"`,itemsAvailable:`{{count}} items available`,noResults:`No results found`,noResultsHint:`Try adjusting your search terms`,typeObjects:`Objects`,typeDashboards:`Dashboards`,typePages:`Pages`,typeReports:`Reports`,badgeObject:`object`,badgeDashboard:`dashboard`,badgePage:`page`,badgeReport:`report`},empty:{objectNotFound:`Object Not Found`,objectNotFoundDescription:`Object "{{name}}" definition missing. Check your configuration or navigate back to select a valid object.`,pageNotFound:`Page Not Found`,pageNotFoundDescription:`The page "{{name}}" could not be found. It may have been removed or renamed.`,dashboardNotFound:`Dashboard Not Found`,dashboardNotFoundDescription:`The dashboard "{{name}}" could not be found. It may have been removed or renamed.`,reportNotFound:`Report Not Found`,reportNotFoundDescription:`The report "{{name}}" could not be found. It may have been removed or renamed.`,noAppsConfigured:`No Apps Configured`,noAppsConfiguredDescription:`No applications have been registered. Create your first app or visit System Settings to configure your environment.`,createFirstApp:`Create Your First App`,systemSettings:`System Settings`,back:`Back`},renderer:{noPageSchema:`No page schema provided`,noFormSchema:`No form schema provided`,noDashboardSchema:`No dashboard schema provided`,pageRendering:`Page rendering: {{name}}`,dashboardRendering:`Dashboard rendering: {{name}}`,formRenderingMode:`Form rendering in {{mode}} mode`,formRenderingFor:`for record {{id}}`,createRecord:`Create Record`,editRecord:`Edit Record`,page:`Page`,dashboard:`Dashboard`,save:`Save`,cancel:`Cancel`},actionDialog:{title:`Action Parameters`,description:`Please provide the required information to continue.`,selectPlaceholder:`Select {{label}}`,requiredError:`{{label}} is required`,cancel:`Cancel`,confirm:`Confirm`,defaultActionTitle:`Action`,ok:`OK`},rowAction:{openMenu:`Open menu`,edit:`Edit`,delete:`Delete`},navigationSync:{addedPage:`Navigation updated: added page "{{name}}"`,addedDashboard:`Navigation updated: added dashboard "{{name}}"`,removedPage:`Navigation updated: removed page "{{name}}"`,removedDashboard:`Navigation updated: removed dashboard "{{name}}"`,renamedPage:`Navigation updated: renamed page "{{oldName}}" → "{{newName}}"`,renamedDashboard:`Navigation updated: renamed dashboard "{{oldName}}" → "{{newName}}"`,undoLabel:`Undo`,undone:`Navigation change undone`,undoFailed:`Failed to undo navigation change`,updateFailed:`Failed to update navigation`},objectActions:{deleteSuccess:`{{label}} deleted successfully`,deleteFailed:`Failed to delete {{label}}`,noRecordId:`No record ID provided`,deleteConfirm:`Are you sure you want to delete this record?`},objectViewActions:{renameFailed:`Failed to rename view`,deleteFailed:`Failed to delete view`},dashboardActions:{pdfPreparing:`Preparing PDF export…`,exportFailed:`Export failed: {{message}}`,forecastSoon:`Forecast view coming soon`},recordDetail:{viewersTooltip:`Users viewing this record`},cellRender:{empty:`Empty`,yes:`Yes`,no:`No`,systemFields:`System`},user:{profile:`Profile`,settings:`Settings`,logout:`Log out`},report:{rowTotal:`Row Total`,columnTotal:`Column Total`,grandTotal:`Grand Total`,totals:`Totals`,rowsLabel:`Row`,columnsLabel:`Column`,allLabel:`(All)`,emptyLabel:`(Empty)`,loading:`Loading…`,failedToLoad:`Failed to load matrix: {{message}}`,needsAcross:"Matrix report requires at least one `groupingsAcross` field.",aggregate:{count:`Count`,countDistinct:`Distinct Count`,sum:`Sum`,avg:`Average`,min:`Min`,max:`Max`,first:`First`},editor:{breadcrumb:`Konfiguration`,basic:`Allgemein`,title:`Titel`,titlePlaceholder:`z. B. Pipeline nach Quartal`,description:`Beschreibung`,descriptionPlaceholder:`Was zeigt dieser Bericht?`,type:`Berichtstyp`,typeTabular:`Tabellarisch — flache Liste`,typeSummary:`Zusammenfassung — gruppiert mit Summen`,typeMatrix:`Matrix — Pivot Zeilen × Spalten`,typeJoined:`Verbunden — mehrere Blöcke`,typeHelp:`Wählen Sie das Layout, das zu Ihrer gewünschten Ansicht passt.`,data:`Daten`,objectName:`Datenquelle`,objectNamePlaceholder:`z. B. opportunity`,objectNameHelp:`Welches Objekt soll dieser Bericht abfragen?`,limit:`Zeilenlimit`,limitPlaceholder:`z. B. 100`,columns:`Spalten`,columnsHint:`Wählen Sie die Felder, die als Spalten erscheinen. Fügen Sie in Zusammenfassungs- oder Matrixberichten Aggregationen (Summe, Anzahl …) hinzu.`,filters:`Filter`,filtersHint:`Schränken Sie die Zeilen ein, die in diesen Bericht aufgenommen werden.`,filtersComplex:`Dieser Bericht verwendet einen erweiterten Filter, der hier nicht bearbeitet werden kann. Beim Speichern bleibt er unverändert.`,groupBy:`Gruppieren nach`,groupByHint:`Daten gruppieren und Zwischensummen berechnen.`,rows:`Zeilen`,rowsHint:`Zeilen nach diesen Feldern gruppieren.`,columnsAxis:`Spalten`,columnsAxisHint:`Diese Felder oben als Pivot anordnen.`,values:`Werte`,valuesHint:`In jeder Zelle angezeigte Zahlen. Wählen Sie ein oder mehrere Felder und setzen Sie eine Aggregation (Summe, Anzahl …).`,grouping:`Gruppierung`,addGrouping:`Gruppierung hinzufügen`,dateGranularity:`Datumsgranularität`,dateGranularityNone:`(Rohwert verwenden)`,day:`Tag`,week:`Woche`,month:`Monat`,quarter:`Quartal`,year:`Jahr`,sortAsc:`Aufsteigend`,sortDesc:`Absteigend`,chart:`Diagramm`,chartHint:`Optionale Visualisierung neben der Tabelle.`,chartType:`Diagrammtyp`,chartTitle:`Diagrammtitel`,chartTitlePlaceholder:`Standardmäßig der Berichtstitel`,chartXAxis:`X-Achse (Kategorie)`,chartYAxis:`Y-Achse (Wert)`,chartShowLegend:`Legende anzeigen`,chartShowDataLabels:`Datenbeschriftungen anzeigen`,chartNone:`(kein Diagramm)`,chartBar:`Balken`,chartLine:`Linie`,chartArea:`Fläche`,chartPie:`Kreis`,chartDonut:`Donut`,chartFunnel:`Trichter`,validationNeedsObject:`Wählen Sie eine Datenquelle, bevor Sie Spalten hinzufügen.`,validationMatrixNeedsRowsCols:`Matrixberichte benötigen mindestens eine Zeile und eine Spalte.`,validationSummaryNeedsRows:`Zusammenfassungsberichte benötigen mindestens ein Gruppierungsfeld.`,blocks:`Blöcke`,blocksHint:`Jeder Block ist eine eigene Tabelle oder ein eigenes Diagramm. Blockfilter werden mit dem Berichtsfilter UND-verknüpft.`,addBlock:`Block hinzufügen`,removeBlock:`Block entfernen`,blockName:`Blockname`,blockNamePlaceholder:`eindeutiger_blockname`,blockLabel:`Anzeigename`,blockLabelPlaceholder:`Wird über dem Block angezeigt`,blockDescription:`Beschreibung`,blockDescriptionPlaceholder:`Optionaler Kontext für diesen Block`,validationJoinedNeedsBlocks:`Verbundene Berichte benötigen mindestens einen Block.`,validationBlockNameRequired:`Jeder Block benötigt einen nicht leeren Namen.`,validationBlockNameDuplicate:`Blocknamen müssen innerhalb des Berichts eindeutig sein.`,validationBlockNeedsColumns:`Jeder Block benötigt mindestens eine Spalte.`,noneOption:`(keine)`,addCondition:`Bedingung hinzufügen`,combineLogic:`Verknüpfen mit`,opContains:`enthält`,opIsEmpty:`ist leer`,opIsNotEmpty:`ist nicht leer`,formatAuto:`Automatisch`,formatCurrency:`Währung`,formatPercent:`Prozent`,formatInteger:`Ganzzahl`,formatDate:`Datum`,formatDatetime:`Datum und Uhrzeit`,columnLabelPlaceholder:`Bezeichnung überschreiben`,aggregateColumn:`Aggregation`,formatColumn:`Format`,addColumns:`Spalten hinzufügen`,searchFields:`Felder suchen…`,noMatchingFields:`Keine Felder entsprechen Ihrer Suche.`,noFieldsAvailable:`Keine Felder verfügbar.`}},organizations:{mine:`Meine Organisationen`,title:`Organisationen`,heading:`Ihre Organisationen`,subtitle:`Wählen Sie eine Organisation, um fortzufahren, oder erstellen Sie eine neue.`,searchPlaceholder:`Organisation suchen`,new:`Neue Organisation`,current:`Aktuelle Organisation`,manage:`Verwalten`,emptyTitle:`Noch keine Organisationen`,emptyDescription:`Erstellen Sie Ihre erste Organisation, um loszulegen.`,noMatches:`Keine Organisationen entsprechen Ihrer Suche.`},notifications:{empty:`Keine Benachrichtigungen`,markAllRead:`Alle als gelesen markieren`,viewAll:`Alle Benachrichtigungen anzeigen`,approvalsPending:`{{count}} ausstehende Genehmigungen`,viewApprovals:`Genehmigungen anzeigen`,noPendingApprovals:`Keine ausstehenden Genehmigungen`,openApprovalsInbox:`Genehmigungs-Posteingang öffnen`},publicForm:{submit:`Submit`,submitting:`Submitting…`,submitAnother:`Submit another response`,poweredBy:`Powered by ObjectStack`,secureNotice:`Your information is transmitted securely and only used to respond to your request.`,thankYouTitle:`Thank you!`,thankYouMessage:`Your submission has been received successfully.`,redirecting:`Redirecting in {{seconds}} seconds…`,unavailableTitle:`Form unavailable`,unavailableDescription:`No public form is available at this URL. Make sure the underlying view has anonymous sharing enabled and matches this slug.`,tryDemo:`Try the demo`,retry:`Retry`,loading:`Loading form…`,requiredHint:`* Required field`,consentLabelDefault:`I agree to the privacy policy and consent to my data being processed for this request.`,consentLink:`Privacy policy`,consentRequired:`Please accept the privacy policy to continue.`,rateLimited:`Please take a moment to review your answers before submitting.`,redirectBlocked:`Submission accepted, but the redirect URL was blocked for security.`,demo:{contactTitle:`Contact us`,contactDescription:`Tell us about your project and a sales representative will get back to you within one business day.`,supportTitle:`Submit a support request`,supportDescription:`Tell us what is going wrong — our team responds within one business day.`,thankYouSalesTitle:`Thanks — we received your message!`,thankYouSalesMessage:`A sales representative will be in touch within one business day.`,thankYouSupportTitle:`Got it — your request is in the queue.`,thankYouSupportMessage:`A support engineer will follow up shortly. Save this page if you have more screenshots to add.`,field:{firstName:`First name`,lastName:`Last name`,email:`Work email`,phone:`Phone`,jobTitle:`Job title`,company:`Company`,website:`Website`,industry:`Industry`,companySize:`Company size`,howCanWeHelp:`How can we help?`,subject:`Subject`,description:`Description`,issueType:`Issue type`,priority:`Priority`},industry:{technology:`Technology`,software:`Software / SaaS`,finance:`Finance`,healthcare:`Healthcare`,retail:`Retail`,other:`Other`},issueType:{question:`Question`,problem:`Problem`,bug:`Bug`,feature_request:`Feature request`},priority:{low:`Low`,medium:`Medium`,high:`High`,critical:`Critical`}}}},fr:{common:{addToFavorites:`Ajouter aux favoris`,removeFromFavorites:`Retirer des favoris`,loading:`Chargement...`,save:`Enregistrer`,cancel:`Annuler`,delete:`Supprimer`,edit:`Modifier`,create:`Créer`,search:`Rechercher`,filter:`Filtrer`,reset:`Réinitialiser`,confirm:`Confirmer`,close:`Fermer`,back:`Retour`,next:`Suivant`,previous:`Précédent`,submit:`Soumettre`,refresh:`Actualiser`,export:`Exporter`,import:`Importer`,yes:`Oui`,no:`Non`,ok:`OK`,actions:`Actions`,more:`Plus`,selectAll:`Tout sélectionner`,clearAll:`Tout effacer`,noData:`Aucune donnée`,noResults:`Aucun résultat trouvé`,required:`Obligatoire`,optional:`Facultatif`,selectOption:`Sélectionner une option`,select:`Sélectionner...`,openChat:`Ouvrir le chat`,closeChat:`Fermer le chat`,toggleSidebar:`Basculer la barre latérale`},validation:{required:`{{field}} est obligatoire`,minLength:`{{field}} doit contenir au moins {{min}} caractères`,maxLength:`{{field}} doit contenir au plus {{max}} caractères`,min:`{{field}} doit être au moins {{min}}`,max:`{{field}} doit être au plus {{max}}`,email:`Veuillez saisir une adresse e-mail valide`,url:`Veuillez saisir une URL valide`,pattern:`Le format de {{field}} est invalide`,unique:`{{field}} doit être unique`,type:`{{field}} doit être un {{type}} valide`},form:{addItem:`Ajouter un élément`,removeItem:`Supprimer un élément`,fieldRequired:`Ce champ est obligatoire`,invalidFormat:`Format invalide`,saveSuccess:`Enregistré avec succès`,saveError:`Échec de l'enregistrement`,unsavedChanges:`Vous avez des modifications non enregistrées. Voulez-vous vraiment quitter ?`,stepOf:`Étape {{current}} sur {{total}}`,createTitle:`Créer {{object}}`,editTitle:`Modifier {{object}}`,createDescription:`Ajouter un nouveau {{object}} à votre base de données.`,editDescription:`Mettre à jour les détails de {{object}}`,saveRecord:`Enregistrer`},table:{rowsPerPage:`Lignes par page`,showing:`Affichage de {{from}} à {{to}} sur {{total}}`,noRows:`Aucune ligne à afficher`,sortAsc:`Tri croissant`,sortDesc:`Tri décroissant`,filterColumn:`Filtrer {{column}}`,columns:`Colonnes`,exportCSV:`Exporter en CSV`,exportExcel:`Exporter en Excel`,selectRow:`Sélectionner la ligne`,selectAllRows:`Sélectionner toutes les lignes`,expandRow:`Développer la ligne`,collapseRow:`Réduire la ligne`,hideColumn:`Masquer la colonne`,freezeColumn:`Figer la colonne`,unfreezeColumn:`Libérer la colonne`,pageInfo:`Page {{current}} sur {{total}}`,totalRecords:`{{count}} au total`},grid:{actions:`Actions`,edit:`Modifier`,delete:`Supprimer`,export:`Exporter`,exportAs:`Exporter en {{format}}`,loading:`Chargement de la grille...`,errorLoading:`Erreur de chargement de la grille`,pullToRefresh:`Tirer pour actualiser`,refreshing:`Actualisation…`,openRecord:`Ouvrir l'enregistrement`,rowHeight:`Hauteur de ligne : {{mode}}`},calendar:{today:`Aujourd'hui`,month:`Mois`,week:`Semaine`,day:`Jour`,agenda:`Agenda`,allDay:`Toute la journée`,noEvents:`Aucun événement`,newEvent:`Nouvel événement`,moreEvents:`+{{count}} de plus`},list:{recordCount:`{{count}} enregistrements`,recordCountOne:`{{count}} enregistrement`,addRecord:`Ajouter un enregistrement`,tabs:`Onglets`,allRecords:`Tous les enregistrements`,search:`Rechercher`,filter:`Filtrer`,filterRecords:`Filtrer les enregistrements`,sort:`Trier`,sortRecords:`Trier les enregistrements`,group:`Grouper`,groupBy:`Grouper par`,export:`Exporter`,exportAs:`Exporter en {{format}}`,color:`Couleur`,rowColor:`Couleur de ligne`,colorByField:`Colorer par champ`,clear:`Effacer`,none:`Aucun`,hideFields:`Masquer les champs`,noItems:`Aucun élément trouvé`,noItemsMessage:`Il n'y a aucun enregistrement à afficher. Essayez d'ajuster les filtres ou d'ajouter de nouvelles données.`},kanban:{addCard:`Ajouter une carte`,addColumn:`Ajouter une colonne`,moveCard:`Déplacer la carte`,deleteCard:`Supprimer la carte`,deleteColumn:`Supprimer la colonne`},timeline:{bucket:{overdue:`En retard`,today:`Aujourd'hui`,tomorrow:`Demain`,thisWeek:`Cette semaine`,nextWeek:`Semaine prochaine`,later:`Plus tard`,noDate:`Sans date`,unassigned:`Non attribué`}},gantt:{column:{taskName:`Task Name`,start:`Start`,end:`End`},toolbar:{prevPeriod:`Previous period`,nextPeriod:`Next period`,zoomIn:`Zoom in`,zoomOut:`Zoom out`,jumpToToday:`Jump to today`,today:`Today`,showTaskList:`Show task list`,hideTaskList:`Hide task list`}},view:{rename:`Renommer`,duplicateView:`Dupliquer la vue`,shareView:`Partager la vue`,setAsDefault:`Définir par défaut`,pinView:`Épingler la vue`,unpinView:`Désépingler la vue`,changeViewType:`Changer le type de vue`,deleteView:`Supprimer la vue`,addView:`Ajouter une vue`,unsavedChanges:`Modifications non enregistrées`,saveAsView:`Enregistrer comme vue`,moreViews:`{{count}} de plus`,activeFilters:`Filtres actifs`,activeSort:`Tri actif`},detail:{back:`Retour`,edit:`Modifier`,editInline:`Modifier`,save:`Enregistrer`,saveChanges:`Enregistrer les modifications`,editFieldsInline:`Modifier les champs`,share:`Partager`,duplicate:`Dupliquer`,export:`Exporter`,viewHistory:`Voir l'historique`,delete:`Supprimer`,moreActions:`Plus d'actions`,addToFavorites:`Ajouter aux favoris`,removeFromFavorites:`Retirer des favoris`,previousRecord:`Enregistrement précédent`,nextRecord:`Enregistrement suivant`,recordOf:`{{current}} sur {{total}}`,recordNotFound:`Enregistrement introuvable`,recordNotFoundDescription:`L'enregistrement que vous recherchez n'existe pas ou a peut-être été supprimé.`,goBack:`Retour`,details:`Détails`,related:`Associés`,relatedRecords:`{{count}} enregistrements`,relatedRecordOne:`{{count}} enregistrement`,noRelatedRecords:`Aucun enregistrement associé trouvé`,loading:`Chargement...`,copyToClipboard:`Copier dans le presse-papiers`,copied:`Copié !`,deleteConfirmation:`Êtes-vous sûr de vouloir supprimer cet enregistrement ?`,editRecord:`Modifier l'enregistrement`,viewAll:`Tout afficher`,new:`Nouveau`,emptyValue:`—`,comments:`Commentaires`,searchComments:`Rechercher des commentaires…`,addCommentPlaceholder:`Ajouter un commentaire… (Ctrl+Entrée pour envoyer)`,noMatchingComments:`Aucun commentaire correspondant`,noCommentsYet:`Aucun commentaire pour le moment`,pinned:`Épinglé`,pin:`Épingler`,unpin:`Désépingler`,justNow:`à l'instant`,minutesAgo:`il y a {{count}} min`,hoursAgo:`il y a {{count}} h`,daysAgo:`il y a {{count}} j`,dropFilesToUpload:`Déposez les fichiers ici ou cliquez pour télécharger`,attachmentCount:`{{count}} pièce jointe`,attachmentCountPlural:`{{count}} pièces jointes`,removeAttachment:`Supprimer la pièce jointe`,unifiedDiff:`Vue unifiée`,sideBySideDiff:`Vue côte à côte`,noChanges:`Aucune modification`,previousVersion:`Précédent`,currentVersion:`Actuel`,discussion:`Discussion`,showDiscussion:`Afficher la discussion ({{count}})`,hideDiscussion:`Masquer la discussion`,bold:`Gras (Ctrl+B)`,italic:`Italique (Ctrl+I)`,listFormat:`Liste`,inlineCode:`Code en ligne`,mentionSomeone:`Mentionner quelqu'un`,preview:`Aperçu`,submitComment:`Envoyer (Ctrl+Entrée)`,sendComment:`Envoyer`,writeComment:`Écrire un commentaire…`,subscribedTooltip:`Abonné — cliquez pour vous désabonner`,unsubscribedTooltip:`S'abonner aux notifications`,firstRecord:`Premier enregistrement (Début)`,previousRecordKey:`Enregistrement précédent (←)`,nextRecordKey:`Enregistrement suivant (→)`,lastRecord:`Dernier enregistrement (Fin)`,noRecords:`Aucun enregistrement`,searchWhileNavigating:`Rechercher pendant la navigation`,searchRecords:`Rechercher des enregistrements…`,allActivity:`Toute l'activité`,commentsOnly:`Commentaires uniquement`,fieldChangesFilter:`Modifications de champs`,tasksOnly:`Tâches uniquement`,leaveCommentPlaceholder:`Laisser un commentaire… (Ctrl+Entrée pour envoyer)`,noActivity:`Aucune activité enregistrée`,loadMore:`Charger plus`,edited:`(modifié)`,via:`via {{source}}`,replyCount:`{{count}} réponse`,replyCountPlural:`{{count}} réponses`,replyPlaceholder:`Répondre…`,filterActivity:`Filtrer l'activité`,openDiscussion:`Ouvrir le panneau de discussion`,closeDiscussion:`Fermer le panneau de discussion`,subscribeAriaLabel:`S'abonner aux notifications`,unsubscribeAriaLabel:`Se désabonner des notifications`,clearSearch:`Effacer la recherche`},chart:{noData:`Aucune donnée de graphique disponible`,loading:`Chargement du graphique...`},map:{searchLocations:`Rechercher des lieux…`,locationDetails:`Détails du lieu`,markersCount:`{{count}} marqueurs`,invalidCoordinates:`{{count}} enregistrement avec des coordonnées manquantes ou invalides exclu de la carte.`,invalidCoordinatesPlural:`{{count}} enregistrements avec des coordonnées manquantes ou invalides exclus de la carte.`},workflow:{draft:`Brouillon`,active:`Actif`,paused:`En pause`,completed:`Terminé`,cancelled:`Annulé`,save:`Enregistrer`,publish:`Publier`,addNode:`Ajouter un nœud`,workflowFlow:`Flux de travail`,properties:`Propriétés`,connections:`Connexions`,quickConnect:`Connexion rapide`,fromPlaceholder:`De...`,toPlaceholder:`Vers...`,connect:`Connecter`,label:`Libellé`,type:`Type`,description:`Description`,assignee:`Responsable`,assigneeType:`Type de responsable`,user:`Utilisateur`,role:`Rôle`,group:`Groupe`,expression:`Expression`,timeoutMinutes:`Délai (minutes)`,selectNodeToEdit:`Sélectionnez un nœud pour modifier ses propriétés`,workflowTitle:`Titre du workflow`,newWorkflow:`Nouveau workflow`,outConnections:`{{count}} sortie(s)`,start:`Début`,end:`Fin`,task:`Tâche`,userTask:`Tâche utilisateur`,serviceTask:`Tâche service`,scriptTask:`Tâche script`,approval:`Approbation`,condition:`Condition`,parallelGateway:`Passerelle parallèle`,joinGateway:`Passerelle de jonction`,boundaryEvent:`Événement limite`,delay:`Délai`,notification:`Notification`,webhook:`Webhook`,allowConcurrency:`Autoriser (exécution simultanée)`,forbidConcurrency:`Interdire (ignorer les nouveaux)`,replaceConcurrency:`Remplacer (annuler les existants)`,queueConcurrency:`File d'attente (exécuter après)`,conditionEvent:`Condition`,manualEvent:`Manuel`,webhookEvent:`Webhook`,timerEvent:`Minuterie`,signalEvent:`Signal`,versionHistory:`Historique des versions`,importBpmn:`Importer BPMN`,exportBpmn:`Exporter BPMN`,undo:`Annuler`,redo:`Rétablir`,resetZoom:`Réinitialiser le zoom`},dashboard:{addWidget:`Ajouter un widget`,removeWidget:`Supprimer un widget`,editLayout:`Modifier la mise en page`,saveLayout:`Enregistrer la mise en page`,resetLayout:`Réinitialiser la mise en page`},configPanel:{save:`Enregistrer`,discard:`Annuler`,close:`Fermer`,layout:`Disposition`,columns:`Colonnes`,gap:`Espacement`,rowHeight:`Hauteur de ligne`,data:`Données`,refreshInterval:`Intervalle de rafraîchissement`,appearance:`Apparence`,title:`Titre`,showDescription:`Afficher la description`,theme:`Thème`,configuration:`Configuration`,general:`Général`,advanced:`Avancé`},appDesigner:{createApp:`Créer une application`,editApp:`Modifier l'application`,basicInfo:`Informations de base`,objects:`Objets`,navigation:`Navigation`,branding:`Marque`,appName:`Nom de l'application`,appTitle:`Titre`,appDescription:`Description`,appIcon:`Icône`,template:`Modèle`,layout:`Disposition`,layoutSidebar:`Barre latérale`,layoutHeader:`En-tête`,layoutEmpty:`Vide`,selectObjects:`Sélectionner les objets`,searchObjects:`Rechercher des objets…`,selectAll:`Tout sélectionner`,deselectAll:`Tout désélectionner`,navBuilder:`Constructeur de navigation`,addGroup:`Ajouter un groupe`,addUrl:`Ajouter un URL`,addSeparator:`Ajouter un séparateur`,noNavItems:`Aucun élément de navigation.`,logoUrl:`URL du logo`,primaryColor:`Couleur principale`,faviconUrl:`URL du favicon`,preview:`Aperçu`,complete:`Terminer`,snakeCaseHint:`Doit être en snake_case (ex. my_app)`,modeEdit:`Éditer`,modePreview:`Aperçu`,modeCode:`Code`,addWidget:`Ajouter un widget`,widgetProperties:`Propriétés du widget`,dataSource:`Source de données`,valueField:`Champ de valeur`,aggregate:`Agrégat`,colorVariant:`Variante de couleur`,addComponent:`Ajouter un composant`,componentProperties:`Propriétés du composant`,viewType:`Type de vue`,fields:`Champs`,toolbar:`Barre d'outils`,showSearch:`Afficher la recherche`,showFilters:`Afficher les filtres`,showSort:`Afficher le tri`,appearance:`Apparence`,rowHeight:`Hauteur de ligne`,stripedRows:`Lignes rayées`,bordered:`Bordé`,livePreview:`Aperçu en direct`,stepBasicDesc:`Nom, titre et mise en page`,stepObjectsDesc:`Sélectionner les objets métier`,stepNavigationDesc:`Construire l'arbre de navigation`,stepBrandingDesc:`Logo, couleurs et favicon`,noObjectsFound:`Aucun objet trouvé.`,noNavItemsHint:`Pas encore d'éléments de navigation. Sélectionnez des objets à l'étape précédente ou ajoutez-en manuellement.`,separator:`Séparateur`,separatorLabel:`— Séparateur —`,newGroup:`Nouveau groupe`,newLink:`Nouveau lien`,saveDraft:`Enregistrer le brouillon`,cancelConfirmTitle:`Abandonner les modifications ?`,cancelConfirmMessage:`Vous avez des modifications non enregistrées. Êtes-vous sûr de vouloir annuler ?`,confirmDiscard:`Abandonner`,keepEditing:`Continuer à éditer`,navNoItems:`Aucun élément de navigation. Cliquez sur les boutons ci-dessus pour ajouter des éléments.`,navNoPreviewItems:`Aucun élément`,navLivePreview:`Aperçu en direct`,navCollapseGroup:`Réduire le groupe`,navExpandGroup:`Développer le groupe`,navAddChild:`Ajouter un enfant`,navMoveUp:`Monter`,navMoveDown:`Descendre`,navRemove:`Supprimer`,navObjectPage:`Page d'objet`,navDashboard:`Tableau de bord`,navPage:`Page`,navReport:`Rapport`,navGroup:`Groupe`,navUrl:`URL`,navSeparator:`Séparateur`,navTypeObject:`Objet`,navTypeDashboard:`Tableau de bord`,navTypePage:`Page`,navTypeReport:`Rapport`,navTypeUrl:`URL`,navTypeGroup:`Groupe`,navTypeSeparator:`Séparateur`,navTypeAction:`Action`,navEditIcon:`Modifier l'icône`,navToggleVisible:`Basculer la visibilité`,navHidden:`Masqué`,navExportSchema:`Exporter JSON`,navImportSchema:`Importer JSON`,navExportSuccess:`Structure de navigation exportée`,navImportSuccess:`Structure de navigation importée`,navImportError:`JSON de navigation invalide`,navIconPlaceholder:`Nom d'icône (ex: Users)`,dashboardEditor:`Éditeur de tableau de bord`,noWidgets:`Aucun widget. Cliquez sur un bouton ci-dessus pour en ajouter un.`,widgetLayoutSize:`Taille de mise en page`,widgetWidth:`Largeur`,widgetHeight:`Hauteur`,dashboardPreview:`Aperçu du tableau de bord`,noWidgetsPreview:`Aucun widget à prévisualiser`,pageCanvasEditor:`Éditeur de canevas de page`,emptyPage:`Page vide. Cliquez sur un bouton ci-dessus pour ajouter un composant.`,pagePreview:`Aperçu de la page`,noComponentsPreview:`Aucun composant à prévisualiser`,modePage:`Page`,modeDashboard:`Tableau de bord`,undo:`Annuler`,redo:`Rétablir`,brandingEditor:`Éditeur de marque`,brandingExport:`Exporter JSON`,brandingImport:`Importer JSON`,brandingPreview:`Aperçu`,brandingSampleButton:`Bouton exemple`,brandingSampleText:`Voici à quoi ressemblera votre thème de marque.`,colorPalette:`Palette de couleurs`,fontFamily:`Police`,fontDefault:`Par défaut (Système)`,modeLight:`Clair`,modeDark:`Sombre`,mobilePreview:`Aperçu mobile`,objectManager:{title:`Gestionnaire d'objets`,addObject:`Nouvel objet`,searchPlaceholder:`Rechercher des objets…`,noObjects:`Aucun objet trouvé.`,objectName:`Nom API`,objectLabel:`Libellé`,pluralLabel:`Libellé pluriel`,icon:`Icône`,selectIcon:`Sélectionner une icône…`,group:`Groupe`,noGroup:`Aucun groupe`,sortOrder:`Ordre de tri`,enabled:`Activé`,relationships:`Relations`,systemBadge:`Système`,fieldCount:`{{count}} champs`,ungrouped:`Non groupé`,deleteConfirmTitle:`Supprimer l'objet ?`,deleteConfirmMessage:`L'objet et tous ses champs seront définitivement supprimés. Cette action est irréversible.`},fieldDesigner:{title:`Concepteur de champs`,addField:`Nouveau champ`,searchPlaceholder:`Rechercher des champs…`,allTypes:`Tous les types`,noFields:`Aucun champ trouvé.`,fieldName:`Nom API`,fieldLabel:`Libellé`,fieldType:`Type`,fieldGroup:`Groupe`,description:`Description`,required:`Obligatoire`,unique:`Unique`,readOnly:`Lecture seule`,hidden:`Masqué`,indexed:`Indexé`,externalId:`ID externe`,trackHistory:`Suivi de l'historique`,defaultValue:`Valeur par défaut`,placeholder:`Texte indicatif`,referenceTo:`Référence vers`,formula:`Formule`,options:`Options`,addOption:`Ajouter une option`,validationRules:`Règles de validation`,addRule:`Ajouter une règle`,systemBadge:`Système`,ungrouped:`Général`,deleteConfirmTitle:`Supprimer le champ ?`,deleteConfirmMessage:`Le champ sera définitivement supprimé. Les données existantes seront perdues.`}},console:{title:`Console ObjectStack`,initializing:`Initialisation de l'application...`,breadcrumb:{dashboards:`Tableaux de bord`,pages:`Pages`,reports:`Rapports`,system:`Système`},loadingSteps:{connecting:`Connexion à la source de données`,loadingConfig:`Chargement de la configuration`,preparingWorkspace:`Préparation de l'espace de travail`},error:{connectionFailed:`Impossible de se connecter au serveur`,serverUnreachable:`Le serveur {{url}} est inaccessible.`,checkServer:`Veuillez vérifier votre connexion réseau ou que le backend est en cours d’exécution.`,timeout:`Délai de connexion dépassé après 10 secondes.`},actions:{retry:`Réessayer`,retrying:`Nouvelle tentative…`},shortcuts:{title:`Raccourcis clavier`,description:`Référence rapide de tous les raccourcis clavier disponibles.`,groups:{general:`Général`,navigation:`Navigation`,dataViews:`Vues de données`,preferences:`Préférences`},openCommandPalette:`Ouvrir la palette de commandes`,showShortcuts:`Afficher les raccourcis clavier`,closeDialog:`Fermer le dialogue / panneau`,toggleSidebar:`Basculer la barre latérale`,focusSearch:`Focus sur la recherche`,createRecord:`Créer un nouvel enregistrement`,refreshData:`Actualiser les données`,editRecord:`Modifier l'enregistrement sélectionné`,toggleDarkMode:`Basculer le mode sombre`},commandPalette:{placeholder:`Tapez une commande ou recherchez...`,noResults:`Aucun résultat trouvé.`,objects:`Objets`,dashboards:`Tableaux de bord`,pages:`Pages`,reports:`Rapports`,switchApp:`Changer d'application`,current:`Actuel`,preferences:`Préférences`,lightTheme:`Thème clair`,darkTheme:`Thème sombre`,systemTheme:`Thème système`,actions:`Actions`,openFullSearch:`Ouvrir la page de recherche complète`,createApp:`Créer une nouvelle application`},errors:{somethingWentWrong:`Quelque chose s'est mal passé`,unexpectedError:`Une erreur inattendue est survenue lors du rendu de cette vue.`,tryAgain:`Réessayer`,goHome:`Retour à l'accueil`,errorDetails:`Détails de l'erreur (développement uniquement)`},theme:{toggle:`Changer de thème`,light:`Clair`,dark:`Sombre`,system:`Système`},objectView:{objectNotFound:`Objet introuvable`,objectNotFoundDescription:`L'objet « {{objectName}} » n'existe pas dans la configuration actuelle.`,objectNotFoundHint:`Vérifiez les paramètres de navigation de votre application ou sélectionnez un autre objet dans la barre latérale.`,allRecords:`Tous les enregistrements`,exitDesignMode:`Quitter le mode conception`,enterDesignMode:`Entrer en mode conception`,metadataInspector:`Inspecteur de métadonnées`,editView:`Modifier la vue`,addView:`Ajouter une vue`,designTools:`Outils de conception`,new:`Nouveau`,configureView:`Configurer la vue`,closePanel:`Fermer le panneau`,page:`Page`,pageConfigHint:`Barre d'outils, navigation et paramètres du shell de vue`,listConfigHint:`Rendu des données, colonnes et apparence pour ce type de liste`,general:`Général`,generalHint:`Titre, description et type de la vue`,toolbar:`Barre d'outils`,toolbarHint:`Recherche, filtre, tri, regroupement et bascule de densité`,toolbarEnabledCount:`{{count}} sur {{total}} activés`,navigationSection:`Navigation`,navigationHint:`Comportement au clic sur la ligne et paramètres de la vue détaillée`,records:`Enregistrements`,recordsHint:`Mode de sélection, ajout d'enregistrement et édition en ligne`,exportPrint:`Export et impression`,exportPrintHint:`Formats d'export, impression et affichage du nombre d'enregistrements`,showAllFields:`Tout afficher`,hideAllFields:`Tout masquer`,searchFields:`Rechercher des champs...`,title:`Titre`,description:`Description`,data:`Données`,source:`Source`,columns:`Colonnes`,filterBy:`Filtrer par`,sortBy:`Trier par`,appearance:`Apparence`,showDescription:`Afficher la description`,viewType:`Type de vue`,userFilters:`Filtres utilisateur`,enableSearch:`Activer la recherche`,enableFilter:`Activer le filtre`,enableSort:`Activer le tri`,enableHideFields:`Activer masquer les champs`,enableGroup:`Activer le regroupement`,enableColor:`Activer la couleur`,enableDensity:`Activer la densité`,userActions:`Actions utilisateur`,addRecordViaForm:`Ajouter des enregistrements via un formulaire`,advanced:`Avancé`,allowExport:`Autoriser l'exportation`,recordCount:`{{count}} enregistrements`,noDescription:`Aucune description`,none:`Aucun`,columnsConfigured:`{{count}} colonnes`,save:`Enregistrer`,discard:`Annuler`,createView:`Créer une vue`,newView:`Nouvelle vue`,typeOptions:`Options de type`,groupByField:`Champ de regroupement`,startDateField:`Champ de date de début`,titleField:`Champ de titre`,latitudeField:`Champ de latitude`,longitudeField:`Champ de longitude`,imageField:`Champ d'image`,dateField:`Champ de date`,selectField:`Sélectionner un champ...`,gridOptionsHint:`La vue grille utilise les colonnes configurées ci-dessus.`,groupBy:`Regrouper par`,prefixField:`Champ de préfixe`,fields:`Champs`,fieldsVisible:`{{count}} visibles`,sortsCount:`{{count}} tris`,filtersCount:`{{count}} filtres`,endDateField:`Champ de date de fin`,color:`Couleur`,fieldTextColor:`Couleur du texte du champ`,rowHeight:`Hauteur de ligne`,wrapHeaders:`Retour à la ligne des en-têtes`,showFieldDescriptions:`Afficher les descriptions des champs`,collapseAllByDefault:`Tout réduire par défaut`,striped:`Lignes rayées`,bordered:`Cellules bordées`,inlineEdit:`Modifier les enregistrements en ligne`,addDeleteRecordsInline:`Ajouter/supprimer des enregistrements en ligne`,clickIntoRecordDetails:`Cliquer pour les détails de l'enregistrement`,navigationMode:`Mode de navigation`,navigationWidth:`Largeur de navigation`,navigationWidthHint:`Disponible pour les modes de navigation tiroir, modale et partagée`,openNewTab:`Ouvrir dans un nouvel onglet`,openNewTabHint:`Disponible pour les modes de navigation page et nouvelle fenêtre`},localeSwitcher:{label:`Langue`}},auth:{login:{title:`Connectez-vous à votre compte`,description:`Entrez votre e-mail et votre mot de passe pour continuer`,emailLabel:`E-mail`,emailPlaceholder:`name@example.com`,passwordLabel:`Mot de passe`,passwordPlaceholder:`Entrez votre mot de passe`,forgotPasswordText:`Mot de passe oublié ?`,submitButton:`Se connecter`,submittingButton:`Connexion en cours...`,noAccountText:`Vous n'avez pas de compte ?`,signUpText:`S'inscrire`},register:{title:`Créer un compte`,description:`Entrez vos informations pour commencer`,nameLabel:`Nom`,namePlaceholder:`Jean Dupont`,emailLabel:`E-mail`,emailPlaceholder:`name@example.com`,passwordLabel:`Mot de passe`,passwordPlaceholder:`Créer un mot de passe (min. 8 caractères)`,confirmPasswordLabel:`Confirmer le mot de passe`,confirmPasswordPlaceholder:`Confirmez votre mot de passe`,passwordMismatchError:`Les mots de passe ne correspondent pas`,passwordTooShortError:`Le mot de passe doit contenir au moins 8 caractères`,submitButton:`Créer un compte`,submittingButton:`Création du compte...`,hasAccountText:`Vous avez déjà un compte ?`,signInText:`Se connecter`},forgotPassword:{title:`Réinitialiser votre mot de passe`,description:`Entrez votre adresse e-mail et nous vous enverrons un lien pour réinitialiser votre mot de passe`,emailLabel:`E-mail`,emailPlaceholder:`name@example.com`,submitButton:`Envoyer le lien de réinitialisation`,submittingButton:`Envoi en cours...`,successTitle:`Vérifiez vos e-mails`,successDescription:`Nous avons envoyé un lien de réinitialisation du mot de passe à {{email}}. Veuillez vérifier votre boîte de réception.`,backToSignInText:`Retour à la connexion`,rememberPasswordText:`Vous vous souvenez de votre mot de passe ?`,signInText:`Se connecter`}},errors:{networkError:`Erreur réseau. Veuillez vérifier votre connexion.`,serverError:`Erreur serveur. Veuillez réessayer plus tard.`,notFound:`Ressource introuvable.`,unauthorized:`Vous n'êtes pas autorisé à effectuer cette action.`,forbidden:`Accès refusé.`,timeout:`Délai d'attente dépassé. Veuillez réessayer.`,unknown:`Une erreur inattendue s'est produite.`},workspace:{label:`Espaces de travail`,default:`Mon espace de travail`,switch:`Changer d'espace de travail`,create:`Créer un espace de travail`,createTitle:`Créer un espace de travail`,createDescription:`Un espace de travail est un lieu partagé pour la collaboration de votre équipe.`,createButton:`Créer un espace de travail`,nameLabel:`Nom de l'espace de travail`,namePlaceholder:`p.ex., Acme Inc`,slugLabel:`Slug URL`,slugHint:`Utilisé dans les URL. Uniquement lettres minuscules, chiffres et tirets.`,invite:`Inviter un membre`,members:`Membres`,settings:`Paramètres de l'espace de travail`},sidebar:{settings:`Paramètres`,help:`Aide`,helpTooltip:`Aide et documentation`,activityFeed:`Flux d'activité`},home:{title:`Accueil`,subtitle:`Tableau de bord de votre espace de travail`,nav:`Accueil`,allApps:`Toutes les applications`,loading:`Chargement de l'espace de travail...`,recent:`Récent`,starred:`Favoris`,welcome:`Bienvenue dans ObjectUI`,welcomeDescription:`Commencez par créer votre première application ou configurer les paramètres système.`,createFirstApp:`Créez votre première app`,systemSettings:`Paramètres système`,quickActions:{title:`Actions rapides`,createApp:`Créer une app`,createAppDesc:`Commencez avec une nouvelle application`,manageObjects:`Gérer les objets`,manageObjectsDesc:`Configurer les modèles de données`,systemSettings:`Paramètres système`,systemSettingsDesc:`Configurez votre espace de travail`},appCard:{noDescription:`Aucune description`,default:`Par défaut`}},layout:{appSwitcher:{home:`Home`,addApp:`Add App`,editApp:`Edit App`,manageAllApps:`Manage All Apps`,systemConsole:`System Console`,noAppsConfigured:`No apps configured`},activityFeed:{title:`Recent Activity`,filter:`Filter`,empty:`No recent activity`,ariaLabel:`Activity feed`,typeCreate:`Create`,typeUpdate:`Update`,typeDelete:`Delete`,typeComment:`Comment`,relativeJustNow:`just now`,relativeSecondsAgo:`{{count}}s ago`,relativeMinutesAgo:`{{count}}m ago`,relativeHoursAgo:`{{count}}h ago`,relativeDaysAgo:`{{count}}d ago`},metadata:{label:`Metadata`,toggleTitle:`Toggle Metadata Inspector`,panelTitle:`Metadata Inspector`,jsonBadge:`JSON`,copyJson:`Copy JSON`}},search:{title:`Search`,back:`Back`,placeholder:`Search objects, dashboards, pages, reports...`,inputAriaLabel:`Search objects, dashboards, pages, reports`,resultsCount:`{{count}} result for "{{query}}"`,resultsCountPlural:`{{count}} results for "{{query}}"`,itemsAvailable:`{{count}} items available`,noResults:`No results found`,noResultsHint:`Try adjusting your search terms`,typeObjects:`Objects`,typeDashboards:`Dashboards`,typePages:`Pages`,typeReports:`Reports`,badgeObject:`object`,badgeDashboard:`dashboard`,badgePage:`page`,badgeReport:`report`},empty:{objectNotFound:`Object Not Found`,objectNotFoundDescription:`Object "{{name}}" definition missing. Check your configuration or navigate back to select a valid object.`,pageNotFound:`Page Not Found`,pageNotFoundDescription:`The page "{{name}}" could not be found. It may have been removed or renamed.`,dashboardNotFound:`Dashboard Not Found`,dashboardNotFoundDescription:`The dashboard "{{name}}" could not be found. It may have been removed or renamed.`,reportNotFound:`Report Not Found`,reportNotFoundDescription:`The report "{{name}}" could not be found. It may have been removed or renamed.`,noAppsConfigured:`No Apps Configured`,noAppsConfiguredDescription:`No applications have been registered. Create your first app or visit System Settings to configure your environment.`,createFirstApp:`Create Your First App`,systemSettings:`System Settings`,back:`Back`},renderer:{noPageSchema:`No page schema provided`,noFormSchema:`No form schema provided`,noDashboardSchema:`No dashboard schema provided`,pageRendering:`Page rendering: {{name}}`,dashboardRendering:`Dashboard rendering: {{name}}`,formRenderingMode:`Form rendering in {{mode}} mode`,formRenderingFor:`for record {{id}}`,createRecord:`Create Record`,editRecord:`Edit Record`,page:`Page`,dashboard:`Dashboard`,save:`Save`,cancel:`Cancel`},actionDialog:{title:`Action Parameters`,description:`Please provide the required information to continue.`,selectPlaceholder:`Select {{label}}`,requiredError:`{{label}} is required`,cancel:`Cancel`,confirm:`Confirm`,defaultActionTitle:`Action`,ok:`OK`},rowAction:{openMenu:`Open menu`,edit:`Edit`,delete:`Delete`},navigationSync:{addedPage:`Navigation updated: added page "{{name}}"`,addedDashboard:`Navigation updated: added dashboard "{{name}}"`,removedPage:`Navigation updated: removed page "{{name}}"`,removedDashboard:`Navigation updated: removed dashboard "{{name}}"`,renamedPage:`Navigation updated: renamed page "{{oldName}}" → "{{newName}}"`,renamedDashboard:`Navigation updated: renamed dashboard "{{oldName}}" → "{{newName}}"`,undoLabel:`Undo`,undone:`Navigation change undone`,undoFailed:`Failed to undo navigation change`,updateFailed:`Failed to update navigation`},objectActions:{deleteSuccess:`{{label}} deleted successfully`,deleteFailed:`Failed to delete {{label}}`,noRecordId:`No record ID provided`,deleteConfirm:`Are you sure you want to delete this record?`},objectViewActions:{renameFailed:`Failed to rename view`,deleteFailed:`Failed to delete view`},dashboardActions:{pdfPreparing:`Preparing PDF export…`,exportFailed:`Export failed: {{message}}`,forecastSoon:`Forecast view coming soon`},recordDetail:{viewersTooltip:`Users viewing this record`},cellRender:{empty:`Empty`,yes:`Yes`,no:`No`,systemFields:`System`},user:{profile:`Profile`,settings:`Settings`,logout:`Log out`},report:{rowTotal:`Row Total`,columnTotal:`Column Total`,grandTotal:`Grand Total`,totals:`Totals`,rowsLabel:`Row`,columnsLabel:`Column`,allLabel:`(All)`,emptyLabel:`(Empty)`,loading:`Loading…`,failedToLoad:`Failed to load matrix: {{message}}`,needsAcross:"Matrix report requires at least one `groupingsAcross` field.",aggregate:{count:`Count`,countDistinct:`Distinct Count`,sum:`Sum`,avg:`Average`,min:`Min`,max:`Max`,first:`First`},editor:{breadcrumb:`Configuration`,basic:`Général`,title:`Titre`,titlePlaceholder:`ex. Pipeline par trimestre`,description:`Description`,descriptionPlaceholder:`Que montre ce rapport ?`,type:`Type de rapport`,typeTabular:`Tableau — liste à plat`,typeSummary:`Résumé — regroupé avec totaux`,typeMatrix:`Matrice — pivot lignes × colonnes`,typeJoined:`Combiné — plusieurs blocs`,typeHelp:`Choisissez la mise en page correspondant à ce que vous voulez voir.`,data:`Données`,objectName:`Source de données`,objectNamePlaceholder:`ex. opportunity`,objectNameHelp:`Quel objet ce rapport doit-il interroger ?`,limit:`Limite de lignes`,limitPlaceholder:`ex. 100`,columns:`Colonnes`,columnsHint:`Choisissez les champs à afficher en colonnes. Ajoutez une agrégation (Somme, Nombre…) dans les rapports Résumé ou Matrice.`,filters:`Filtres`,filtersHint:`Limitez les lignes incluses dans ce rapport.`,filtersComplex:`Ce rapport utilise un filtre avancé qui ne peut pas être édité ici. L’enregistrement le conservera tel quel.`,groupBy:`Grouper par`,groupByHint:`Regrouper les données et calculer les sous-totaux.`,rows:`Lignes`,rowsHint:`Grouper les lignes par ces champs.`,columnsAxis:`Colonnes`,columnsAxisHint:`Pivoter ces champs en haut.`,values:`Valeurs`,valuesHint:`Nombres affichés dans chaque cellule. Choisissez un ou plusieurs champs et ajoutez une agrégation (Somme, Nombre…).`,grouping:`Groupement`,addGrouping:`Ajouter un groupement`,dateGranularity:`Granularité de la date`,dateGranularityNone:`(valeur brute)`,day:`Jour`,week:`Semaine`,month:`Mois`,quarter:`Trimestre`,year:`Année`,sortAsc:`Croissant`,sortDesc:`Décroissant`,chart:`Graphique`,chartHint:`Visualisation optionnelle affichée à côté du tableau.`,chartType:`Type de graphique`,chartTitle:`Titre du graphique`,chartTitlePlaceholder:`Par défaut, le titre du rapport`,chartXAxis:`Axe X (catégorie)`,chartYAxis:`Axe Y (valeur)`,chartShowLegend:`Afficher la légende`,chartShowDataLabels:`Afficher les étiquettes`,chartNone:`(aucun graphique)`,chartBar:`Barres`,chartLine:`Courbe`,chartArea:`Aires`,chartPie:`Camembert`,chartDonut:`Anneau`,chartFunnel:`Entonnoir`,validationNeedsObject:`Sélectionnez une source de données avant d’ajouter des colonnes.`,validationMatrixNeedsRowsCols:`Les rapports matriciels nécessitent au moins une ligne et une colonne.`,validationSummaryNeedsRows:`Les rapports résumés nécessitent au moins un champ de regroupement.`,blocks:`Blocs`,blocksHint:`Chaque bloc est son propre tableau ou graphique. Les filtres de bloc sont combinés (ET) avec le filtre du rapport.`,addBlock:`Ajouter un bloc`,removeBlock:`Supprimer le bloc`,blockName:`Nom du bloc`,blockNamePlaceholder:`nom_unique_du_bloc`,blockLabel:`Libellé d’affichage`,blockLabelPlaceholder:`Affiché au-dessus du bloc`,blockDescription:`Description`,blockDescriptionPlaceholder:`Contexte optionnel pour ce bloc`,validationJoinedNeedsBlocks:`Les rapports combinés nécessitent au moins un bloc.`,validationBlockNameRequired:`Chaque bloc doit avoir un nom non vide.`,validationBlockNameDuplicate:`Les noms de bloc doivent être uniques dans le rapport.`,validationBlockNeedsColumns:`Chaque bloc doit avoir au moins une colonne.`,noneOption:`(aucun)`,addCondition:`Ajouter une condition`,combineLogic:`Combiner avec`,opContains:`contient`,opIsEmpty:`est vide`,opIsNotEmpty:`n’est pas vide`,formatAuto:`Auto`,formatCurrency:`Devise`,formatPercent:`Pourcentage`,formatInteger:`Entier`,formatDate:`Date`,formatDatetime:`Date et heure`,columnLabelPlaceholder:`Remplacer le libellé`,aggregateColumn:`Agrégation`,formatColumn:`Format`,addColumns:`Ajouter des colonnes`,searchFields:`Rechercher des champs…`,noMatchingFields:`Aucun champ ne correspond à votre recherche.`,noFieldsAvailable:`Aucun champ disponible.`}},organizations:{mine:`Mes organisations`,title:`Organisations`,heading:`Vos organisations`,subtitle:`Sélectionnez une organisation pour continuer ou créez-en une nouvelle.`,searchPlaceholder:`Rechercher une organisation`,new:`Nouvelle organisation`,current:`Organisation actuelle`,manage:`Gérer`,emptyTitle:`Aucune organisation pour le moment`,emptyDescription:`Créez votre première organisation pour commencer.`,noMatches:`Aucune organisation ne correspond à votre recherche.`},notifications:{empty:`Aucune notification`,markAllRead:`Tout marquer comme lu`,viewAll:`Voir toutes les notifications`,approvalsPending:`{{count}} approbations en attente`,viewApprovals:`Voir les approbations`,noPendingApprovals:`Aucune approbation en attente`,openApprovalsInbox:`Ouvrir la boîte d'approbations`},publicForm:{submit:`Submit`,submitting:`Submitting…`,submitAnother:`Submit another response`,poweredBy:`Powered by ObjectStack`,secureNotice:`Your information is transmitted securely and only used to respond to your request.`,thankYouTitle:`Thank you!`,thankYouMessage:`Your submission has been received successfully.`,redirecting:`Redirecting in {{seconds}} seconds…`,unavailableTitle:`Form unavailable`,unavailableDescription:`No public form is available at this URL. Make sure the underlying view has anonymous sharing enabled and matches this slug.`,tryDemo:`Try the demo`,retry:`Retry`,loading:`Loading form…`,requiredHint:`* Required field`,consentLabelDefault:`I agree to the privacy policy and consent to my data being processed for this request.`,consentLink:`Privacy policy`,consentRequired:`Please accept the privacy policy to continue.`,rateLimited:`Please take a moment to review your answers before submitting.`,redirectBlocked:`Submission accepted, but the redirect URL was blocked for security.`,demo:{contactTitle:`Contact us`,contactDescription:`Tell us about your project and a sales representative will get back to you within one business day.`,supportTitle:`Submit a support request`,supportDescription:`Tell us what is going wrong — our team responds within one business day.`,thankYouSalesTitle:`Thanks — we received your message!`,thankYouSalesMessage:`A sales representative will be in touch within one business day.`,thankYouSupportTitle:`Got it — your request is in the queue.`,thankYouSupportMessage:`A support engineer will follow up shortly. Save this page if you have more screenshots to add.`,field:{firstName:`First name`,lastName:`Last name`,email:`Work email`,phone:`Phone`,jobTitle:`Job title`,company:`Company`,website:`Website`,industry:`Industry`,companySize:`Company size`,howCanWeHelp:`How can we help?`,subject:`Subject`,description:`Description`,issueType:`Issue type`,priority:`Priority`},industry:{technology:`Technology`,software:`Software / SaaS`,finance:`Finance`,healthcare:`Healthcare`,retail:`Retail`,other:`Other`},issueType:{question:`Question`,problem:`Problem`,bug:`Bug`,feature_request:`Feature request`},priority:{low:`Low`,medium:`Medium`,high:`High`,critical:`Critical`}}}},es:{common:{addToFavorites:`Añadir a favoritos`,removeFromFavorites:`Quitar de favoritos`,loading:`Cargando...`,save:`Guardar`,cancel:`Cancelar`,delete:`Eliminar`,edit:`Editar`,create:`Crear`,search:`Buscar`,filter:`Filtrar`,reset:`Restablecer`,confirm:`Confirmar`,close:`Cerrar`,back:`Atrás`,next:`Siguiente`,previous:`Anterior`,submit:`Enviar`,refresh:`Actualizar`,export:`Exportar`,import:`Importar`,yes:`Sí`,no:`No`,ok:`Aceptar`,actions:`Acciones`,more:`Más`,selectAll:`Seleccionar todo`,clearAll:`Borrar todo`,noData:`Sin datos`,noResults:`No se encontraron resultados`,required:`Obligatorio`,optional:`Opcional`,selectOption:`Seleccionar una opción`,select:`Seleccionar...`,openChat:`Abrir chat`,closeChat:`Cerrar chat`,toggleSidebar:`Alternar barra lateral`},validation:{required:`{{field}} es obligatorio`,minLength:`{{field}} debe tener al menos {{min}} caracteres`,maxLength:`{{field}} debe tener como máximo {{max}} caracteres`,min:`{{field}} debe ser al menos {{min}}`,max:`{{field}} debe ser como máximo {{max}}`,email:`Por favor, introduzca un correo electrónico válido`,url:`Por favor, introduzca una URL válida`,pattern:`El formato de {{field}} no es válido`,unique:`{{field}} debe ser único`,type:`{{field}} debe ser un {{type}} válido`},form:{addItem:`Añadir elemento`,removeItem:`Eliminar elemento`,fieldRequired:`Este campo es obligatorio`,invalidFormat:`Formato no válido`,saveSuccess:`Guardado correctamente`,saveError:`Error al guardar`,unsavedChanges:`Tiene cambios sin guardar. ¿Está seguro de que desea salir?`,stepOf:`Paso {{current}} de {{total}}`,createTitle:`Crear {{object}}`,editTitle:`Editar {{object}}`,createDescription:`Agregar un nuevo {{object}} a su base de datos.`,editDescription:`Actualizar detalles de {{object}}`,saveRecord:`Guardar registro`},table:{rowsPerPage:`Filas por página`,showing:`Mostrando {{from}} a {{to}} de {{total}}`,noRows:`No hay filas para mostrar`,sortAsc:`Ordenar ascendente`,sortDesc:`Ordenar descendente`,filterColumn:`Filtrar {{column}}`,columns:`Columnas`,exportCSV:`Exportar CSV`,exportExcel:`Exportar Excel`,selectRow:`Seleccionar fila`,selectAllRows:`Seleccionar todas las filas`,expandRow:`Expandir fila`,collapseRow:`Contraer fila`,hideColumn:`Ocultar columna`,freezeColumn:`Fijar columna`,unfreezeColumn:`Desfijar columna`,pageInfo:`Página {{current}} de {{total}}`,totalRecords:`{{count}} en total`},grid:{actions:`Acciones`,edit:`Editar`,delete:`Eliminar`,export:`Exportar`,exportAs:`Exportar como {{format}}`,loading:`Cargando cuadrícula...`,errorLoading:`Error al cargar la cuadrícula`,pullToRefresh:`Desliza para actualizar`,refreshing:`Actualizando…`,openRecord:`Abrir registro`,rowHeight:`Altura de fila: {{mode}}`},calendar:{today:`Hoy`,month:`Mes`,week:`Semana`,day:`Día`,agenda:`Agenda`,allDay:`Todo el día`,noEvents:`Sin eventos`,newEvent:`Nuevo evento`,moreEvents:`+{{count}} más`},list:{recordCount:`{{count}} registros`,recordCountOne:`{{count}} registro`,addRecord:`Agregar registro`,tabs:`Pestañas`,allRecords:`Todos los registros`,search:`Buscar`,filter:`Filtrar`,filterRecords:`Filtrar registros`,sort:`Ordenar`,sortRecords:`Ordenar registros`,group:`Agrupar`,groupBy:`Agrupar por`,export:`Exportar`,exportAs:`Exportar como {{format}}`,color:`Color`,rowColor:`Color de fila`,colorByField:`Colorear por campo`,clear:`Borrar`,none:`Ninguno`,hideFields:`Ocultar campos`,noItems:`No se encontraron elementos`,noItemsMessage:`No hay registros para mostrar. Intente ajustar los filtros o agregar nuevos datos.`},kanban:{addCard:`Añadir tarjeta`,addColumn:`Añadir columna`,moveCard:`Mover tarjeta`,deleteCard:`Eliminar tarjeta`,deleteColumn:`Eliminar columna`},timeline:{bucket:{overdue:`Atrasado`,today:`Hoy`,tomorrow:`Mañana`,thisWeek:`Esta semana`,nextWeek:`Próxima semana`,later:`Más tarde`,noDate:`Sin fecha`,unassigned:`Sin asignar`}},gantt:{column:{taskName:`Task Name`,start:`Start`,end:`End`},toolbar:{prevPeriod:`Previous period`,nextPeriod:`Next period`,zoomIn:`Zoom in`,zoomOut:`Zoom out`,jumpToToday:`Jump to today`,today:`Today`,showTaskList:`Show task list`,hideTaskList:`Hide task list`}},view:{rename:`Renombrar`,duplicateView:`Duplicar vista`,shareView:`Compartir vista`,setAsDefault:`Establecer como predeterminada`,pinView:`Fijar vista`,unpinView:`Desfijar vista`,changeViewType:`Cambiar tipo de vista`,deleteView:`Eliminar vista`,addView:`Añadir vista`,unsavedChanges:`Cambios sin guardar`,saveAsView:`Guardar como vista`,moreViews:`{{count}} más`,activeFilters:`Filtros activos`,activeSort:`Orden activo`},detail:{back:`Volver`,edit:`Editar`,editInline:`Editar`,save:`Guardar`,saveChanges:`Guardar cambios`,editFieldsInline:`Editar campos`,share:`Compartir`,duplicate:`Duplicar`,export:`Exportar`,viewHistory:`Ver historial`,delete:`Eliminar`,moreActions:`Más acciones`,addToFavorites:`Añadir a favoritos`,removeFromFavorites:`Quitar de favoritos`,previousRecord:`Registro anterior`,nextRecord:`Siguiente registro`,recordOf:`{{current}} de {{total}}`,recordNotFound:`Registro no encontrado`,recordNotFoundDescription:`El registro que busca no existe o puede haber sido eliminado.`,goBack:`Volver`,details:`Detalles`,related:`Relacionados`,relatedRecords:`{{count}} registros`,relatedRecordOne:`{{count}} registro`,noRelatedRecords:`No se encontraron registros relacionados`,loading:`Cargando...`,copyToClipboard:`Copiar al portapapeles`,copied:`¡Copiado!`,deleteConfirmation:`¿Está seguro de que desea eliminar este registro?`,editRecord:`Editar registro`,viewAll:`Ver todo`,new:`Nuevo`,emptyValue:`—`,comments:`Comentarios`,searchComments:`Buscar comentarios…`,addCommentPlaceholder:`Añadir comentario… (Ctrl+Enter para enviar)`,noMatchingComments:`No hay comentarios coincidentes`,noCommentsYet:`Aún no hay comentarios`,pinned:`Fijado`,pin:`Fijar`,unpin:`Desfijar`,justNow:`justo ahora`,minutesAgo:`hace {{count}} min`,hoursAgo:`hace {{count}} h`,daysAgo:`hace {{count}} d`,dropFilesToUpload:`Arrastra archivos aquí o haz clic para subir`,attachmentCount:`{{count}} archivo adjunto`,attachmentCountPlural:`{{count}} archivos adjuntos`,removeAttachment:`Eliminar adjunto`,unifiedDiff:`Vista unificada`,sideBySideDiff:`Vista lado a lado`,noChanges:`Sin cambios`,previousVersion:`Anterior`,currentVersion:`Actual`,discussion:`Discusión`,showDiscussion:`Mostrar discusión ({{count}})`,hideDiscussion:`Ocultar discusión`,bold:`Negrita (Ctrl+B)`,italic:`Cursiva (Ctrl+I)`,listFormat:`Lista`,inlineCode:`Código en línea`,mentionSomeone:`Mencionar a alguien`,preview:`Vista previa`,submitComment:`Enviar (Ctrl+Enter)`,sendComment:`Enviar`,writeComment:`Escribe un comentario…`,subscribedTooltip:`Suscrito — clic para cancelar suscripción`,unsubscribedTooltip:`Suscribirse a notificaciones`,firstRecord:`Primer registro (Inicio)`,previousRecordKey:`Registro anterior (←)`,nextRecordKey:`Siguiente registro (→)`,lastRecord:`Último registro (Fin)`,noRecords:`Sin registros`,searchWhileNavigating:`Buscar mientras navegas`,searchRecords:`Buscar registros…`,allActivity:`Toda la actividad`,commentsOnly:`Solo comentarios`,fieldChangesFilter:`Cambios de campo`,tasksOnly:`Solo tareas`,leaveCommentPlaceholder:`Deja un comentario… (Ctrl+Enter para enviar)`,noActivity:`Sin actividad registrada`,loadMore:`Cargar más`,edited:`(editado)`,via:`vía {{source}}`,replyCount:`{{count}} respuesta`,replyCountPlural:`{{count}} respuestas`,replyPlaceholder:`Responder…`,filterActivity:`Filtrar actividad`,openDiscussion:`Abrir panel de discusión`,closeDiscussion:`Cerrar panel de discusión`,subscribeAriaLabel:`Suscribirse a notificaciones`,unsubscribeAriaLabel:`Cancelar suscripción a notificaciones`,clearSearch:`Borrar búsqueda`},chart:{noData:`No hay datos de gráfico disponibles`,loading:`Cargando gráfico...`},map:{searchLocations:`Buscar ubicaciones…`,locationDetails:`Detalles de ubicación`,markersCount:`{{count}} marcadores`,invalidCoordinates:`{{count}} registro con coordenadas faltantes o inválidas excluido del mapa.`,invalidCoordinatesPlural:`{{count}} registros con coordenadas faltantes o inválidas excluidos del mapa.`},workflow:{draft:`Borrador`,active:`Activo`,paused:`En pausa`,completed:`Completado`,cancelled:`Cancelado`,save:`Guardar`,publish:`Publicar`,addNode:`Añadir nodo`,workflowFlow:`Flujo de trabajo`,properties:`Propiedades`,connections:`Conexiones`,quickConnect:`Conexión rápida`,fromPlaceholder:`Desde...`,toPlaceholder:`Hasta...`,connect:`Conectar`,label:`Etiqueta`,type:`Tipo`,description:`Descripción`,assignee:`Responsable`,assigneeType:`Tipo de responsable`,user:`Usuario`,role:`Rol`,group:`Grupo`,expression:`Expresión`,timeoutMinutes:`Tiempo límite (minutos)`,selectNodeToEdit:`Selecciona un nodo para editar sus propiedades`,workflowTitle:`Título del flujo de trabajo`,newWorkflow:`Nuevo flujo de trabajo`,outConnections:`{{count}} salida(s)`,start:`Inicio`,end:`Fin`,task:`Tarea`,userTask:`Tarea de usuario`,serviceTask:`Tarea de servicio`,scriptTask:`Tarea de script`,approval:`Aprobación`,condition:`Condición`,parallelGateway:`Compuerta paralela`,joinGateway:`Compuerta de unión`,boundaryEvent:`Evento límite`,delay:`Retraso`,notification:`Notificación`,webhook:`Webhook`,allowConcurrency:`Permitir (ejecución simultánea)`,forbidConcurrency:`Prohibir (omitir nuevos)`,replaceConcurrency:`Reemplazar (cancelar existentes)`,queueConcurrency:`Cola (ejecutar después)`,conditionEvent:`Condición`,manualEvent:`Manual`,webhookEvent:`Webhook`,timerEvent:`Temporizador`,signalEvent:`Señal`,versionHistory:`Historial de versiones`,importBpmn:`Importar BPMN`,exportBpmn:`Exportar BPMN`,undo:`Deshacer`,redo:`Rehacer`,resetZoom:`Restablecer zoom`},dashboard:{addWidget:`Añadir widget`,removeWidget:`Eliminar widget`,editLayout:`Editar diseño`,saveLayout:`Guardar diseño`,resetLayout:`Restablecer diseño`},configPanel:{save:`Guardar`,discard:`Descartar`,close:`Cerrar`,layout:`Diseño`,columns:`Columnas`,gap:`Espaciado`,rowHeight:`Altura de fila`,data:`Datos`,refreshInterval:`Intervalo de actualización`,appearance:`Apariencia`,title:`Título`,showDescription:`Mostrar descripción`,theme:`Tema`,configuration:`Configuración`,general:`General`,advanced:`Avanzado`},appDesigner:{createApp:`Crear aplicación`,editApp:`Editar aplicación`,basicInfo:`Información básica`,objects:`Objetos`,navigation:`Navegación`,branding:`Marca`,appName:`Nombre de la app`,appTitle:`Título`,appDescription:`Descripción`,appIcon:`Ícono`,template:`Plantilla`,layout:`Diseño`,layoutSidebar:`Barra lateral`,layoutHeader:`Encabezado`,layoutEmpty:`Vacío`,selectObjects:`Seleccionar objetos`,searchObjects:`Buscar objetos…`,selectAll:`Seleccionar todo`,deselectAll:`Deseleccionar todo`,navBuilder:`Constructor de navegación`,addGroup:`Agregar grupo`,addUrl:`Agregar URL`,addSeparator:`Agregar separador`,noNavItems:`Sin elementos de navegación.`,logoUrl:`URL del logo`,primaryColor:`Color principal`,faviconUrl:`URL del favicon`,preview:`Vista previa`,complete:`Completar`,snakeCaseHint:`Debe ser snake_case (ej. my_app)`,modeEdit:`Editar`,modePreview:`Vista previa`,modeCode:`Código`,addWidget:`Agregar widget`,widgetProperties:`Propiedades del widget`,dataSource:`Fuente de datos`,valueField:`Campo de valor`,aggregate:`Agregado`,colorVariant:`Variante de color`,addComponent:`Agregar componente`,componentProperties:`Propiedades del componente`,viewType:`Tipo de vista`,fields:`Campos`,toolbar:`Barra de herramientas`,showSearch:`Mostrar búsqueda`,showFilters:`Mostrar filtros`,showSort:`Mostrar orden`,appearance:`Apariencia`,rowHeight:`Altura de fila`,stripedRows:`Filas rayadas`,bordered:`Con borde`,livePreview:`Vista previa en vivo`,stepBasicDesc:`Nombre, título y diseño`,stepObjectsDesc:`Seleccionar objetos de negocio`,stepNavigationDesc:`Construir árbol de navegación`,stepBrandingDesc:`Logo, colores y favicon`,noObjectsFound:`No se encontraron objetos.`,noNavItemsHint:`Aún no hay elementos de navegación. Seleccione objetos en el paso anterior o agregue elementos manualmente.`,separator:`Separador`,separatorLabel:`— Separador —`,newGroup:`Nuevo grupo`,newLink:`Nuevo enlace`,saveDraft:`Guardar borrador`,cancelConfirmTitle:`¿Descartar cambios?`,cancelConfirmMessage:`Tiene cambios sin guardar. ¿Está seguro de que desea cancelar?`,confirmDiscard:`Descartar`,keepEditing:`Seguir editando`,navNoItems:`Sin elementos de navegación. Haga clic en los botones de arriba para agregar elementos.`,navNoPreviewItems:`Sin elementos`,navLivePreview:`Vista previa en vivo`,navCollapseGroup:`Contraer grupo`,navExpandGroup:`Expandir grupo`,navAddChild:`Agregar hijo`,navMoveUp:`Mover arriba`,navMoveDown:`Mover abajo`,navRemove:`Eliminar`,navObjectPage:`Página de objeto`,navDashboard:`Panel de control`,navPage:`Página`,navReport:`Informe`,navGroup:`Grupo`,navUrl:`URL`,navSeparator:`Separador`,navTypeObject:`Objeto`,navTypeDashboard:`Panel de control`,navTypePage:`Página`,navTypeReport:`Informe`,navTypeUrl:`URL`,navTypeGroup:`Grupo`,navTypeSeparator:`Separador`,navTypeAction:`Acción`,navEditIcon:`Editar icono`,navToggleVisible:`Alternar visibilidad`,navHidden:`Oculto`,navExportSchema:`Exportar JSON`,navImportSchema:`Importar JSON`,navExportSuccess:`Estructura de navegación exportada`,navImportSuccess:`Estructura de navegación importada`,navImportError:`JSON de navegación inválido`,navIconPlaceholder:`Nombre del icono (ej: Users)`,dashboardEditor:`Editor de panel`,noWidgets:`Sin widgets. Haz clic en un botón arriba para agregar uno.`,widgetLayoutSize:`Tamaño de diseño`,widgetWidth:`Ancho`,widgetHeight:`Alto`,dashboardPreview:`Vista previa del panel`,noWidgetsPreview:`Sin widgets para previsualizar`,pageCanvasEditor:`Editor de lienzo de página`,emptyPage:`Página vacía. Haz clic en un botón arriba para agregar un componente.`,pagePreview:`Vista previa de página`,noComponentsPreview:`Sin componentes para previsualizar`,modePage:`Página`,modeDashboard:`Panel`,undo:`Deshacer`,redo:`Rehacer`,brandingEditor:`Editor de marca`,brandingExport:`Exportar JSON`,brandingImport:`Importar JSON`,brandingPreview:`Vista previa`,brandingSampleButton:`Botón de ejemplo`,brandingSampleText:`Así se verá el tema de su marca.`,colorPalette:`Paleta de colores`,fontFamily:`Fuente`,fontDefault:`Predeterminada (Sistema)`,modeLight:`Claro`,modeDark:`Oscuro`,mobilePreview:`Vista previa móvil`,objectManager:{title:`Gestor de objetos`,addObject:`Nuevo objeto`,searchPlaceholder:`Buscar objetos…`,noObjects:`No se encontraron objetos.`,objectName:`Nombre API`,objectLabel:`Etiqueta`,pluralLabel:`Etiqueta plural`,icon:`Icono`,selectIcon:`Seleccionar icono…`,group:`Grupo`,noGroup:`Sin grupo`,sortOrder:`Orden`,enabled:`Habilitado`,relationships:`Relaciones`,systemBadge:`Sistema`,fieldCount:`{{count}} campos`,ungrouped:`Sin agrupar`,deleteConfirmTitle:`¿Eliminar objeto?`,deleteConfirmMessage:`El objeto y todos sus campos se eliminarán permanentemente. Esta acción no se puede deshacer.`},fieldDesigner:{title:`Diseñador de campos`,addField:`Nuevo campo`,searchPlaceholder:`Buscar campos…`,allTypes:`Todos los tipos`,noFields:`No se encontraron campos.`,fieldName:`Nombre API`,fieldLabel:`Etiqueta`,fieldType:`Tipo`,fieldGroup:`Grupo`,description:`Descripción`,required:`Obligatorio`,unique:`Único`,readOnly:`Solo lectura`,hidden:`Oculto`,indexed:`Indexado`,externalId:`ID externo`,trackHistory:`Rastrear historial`,defaultValue:`Valor predeterminado`,placeholder:`Texto de ejemplo`,referenceTo:`Referencia a`,formula:`Fórmula`,options:`Opciones`,addOption:`Agregar opción`,validationRules:`Reglas de validación`,addRule:`Agregar regla`,systemBadge:`Sistema`,ungrouped:`General`,deleteConfirmTitle:`¿Eliminar campo?`,deleteConfirmMessage:`El campo se eliminará permanentemente. Los datos existentes en este campo se perderán.`}},console:{title:`Consola ObjectStack`,initializing:`Inicializando aplicación...`,breadcrumb:{dashboards:`Paneles`,pages:`Páginas`,reports:`Informes`,system:`Sistema`},loadingSteps:{connecting:`Conectando a la fuente de datos`,loadingConfig:`Cargando configuración`,preparingWorkspace:`Preparando espacio de trabajo`},error:{connectionFailed:`No se puede conectar al servidor`,serverUnreachable:`El servidor {{url}} no está accesible.`,checkServer:`Compruebe su conexión de red o que el backend esté en ejecución.`,timeout:`Tiempo de conexión agotado tras 10 segundos.`},actions:{retry:`Reintentar`,retrying:`Reintentando…`},shortcuts:{title:`Atajos de teclado`,description:`Referencia rápida de todos los atajos de teclado disponibles.`,groups:{general:`General`,navigation:`Navegación`,dataViews:`Vistas de datos`,preferences:`Preferencias`},openCommandPalette:`Abrir paleta de comandos`,showShortcuts:`Mostrar atajos de teclado`,closeDialog:`Cerrar diálogo / panel`,toggleSidebar:`Alternar barra lateral`,focusSearch:`Enfocar búsqueda`,createRecord:`Crear nuevo registro`,refreshData:`Actualizar datos`,editRecord:`Editar registro seleccionado`,toggleDarkMode:`Alternar modo oscuro`},commandPalette:{placeholder:`Escriba un comando o busque...`,noResults:`No se encontraron resultados.`,objects:`Objetos`,dashboards:`Paneles`,pages:`Páginas`,reports:`Informes`,switchApp:`Cambiar aplicación`,current:`Actual`,preferences:`Preferencias`,lightTheme:`Tema claro`,darkTheme:`Tema oscuro`,systemTheme:`Tema del sistema`,actions:`Acciones`,openFullSearch:`Abrir página de búsqueda completa`,createApp:`Crear nueva aplicación`},errors:{somethingWentWrong:`Algo salió mal`,unexpectedError:`Ocurrió un error inesperado al renderizar esta vista.`,tryAgain:`Intentar de nuevo`,goHome:`Ir al inicio`,errorDetails:`Detalles del error (solo desarrollo)`},theme:{toggle:`Cambiar tema`,light:`Claro`,dark:`Oscuro`,system:`Sistema`},objectView:{objectNotFound:`Objeto no encontrado`,objectNotFoundDescription:`El objeto "{{objectName}}" no existe en la configuración actual.`,objectNotFoundHint:`Verifique la configuración de navegación de su aplicación o seleccione un objeto diferente en la barra lateral.`,allRecords:`Todos los registros`,exitDesignMode:`Salir del modo de diseño`,enterDesignMode:`Entrar en modo de diseño`,metadataInspector:`Inspector de metadatos`,editView:`Editar vista`,addView:`Agregar vista`,designTools:`Herramientas de diseño`,new:`Nuevo`,configureView:`Configurar vista`,closePanel:`Cerrar panel`,page:`Página`,pageConfigHint:`Barra de herramientas, navegación y configuración del shell de vista`,listConfigHint:`Renderizado de datos, columnas y apariencia para este tipo de lista`,general:`General`,generalHint:`Título, descripción y tipo de la vista`,toolbar:`Barra de herramientas`,toolbarHint:`Búsqueda, filtro, orden, agrupación y alternancia de densidad`,toolbarEnabledCount:`{{count}} de {{total}} habilitados`,navigationSection:`Navegación`,navigationHint:`Comportamiento al hacer clic en la fila y configuración de la vista detallada`,records:`Registros`,recordsHint:`Modo de selección, agregar registro y edición en línea`,exportPrint:`Exportar e imprimir`,exportPrintHint:`Formatos de exportación, impresión y visualización del recuento de registros`,showAllFields:`Mostrar todo`,hideAllFields:`Ocultar todo`,searchFields:`Buscar campos...`,title:`Título`,description:`Descripción`,data:`Datos`,source:`Fuente`,columns:`Columnas`,filterBy:`Filtrar por`,sortBy:`Ordenar por`,appearance:`Apariencia`,showDescription:`Mostrar descripción`,viewType:`Tipo de vista`,userFilters:`Filtros de usuario`,enableSearch:`Habilitar búsqueda`,enableFilter:`Habilitar filtro`,enableSort:`Habilitar ordenamiento`,enableHideFields:`Habilitar ocultar campos`,enableGroup:`Habilitar agrupación`,enableColor:`Habilitar color`,enableDensity:`Habilitar densidad`,userActions:`Acciones de usuario`,addRecordViaForm:`Agregar registros mediante formulario`,advanced:`Avanzado`,allowExport:`Permitir exportación`,recordCount:`{{count}} registros`,noDescription:`Sin descripción`,none:`Ninguno`,columnsConfigured:`{{count}} columnas`,save:`Guardar`,discard:`Descartar`,createView:`Crear vista`,newView:`Nueva vista`,typeOptions:`Opciones de tipo`,groupByField:`Campo de agrupación`,startDateField:`Campo de fecha de inicio`,titleField:`Campo de título`,latitudeField:`Campo de latitud`,longitudeField:`Campo de longitud`,imageField:`Campo de imagen`,dateField:`Campo de fecha`,selectField:`Seleccionar campo...`,gridOptionsHint:`La vista de cuadrícula usa las columnas configuradas arriba.`,groupBy:`Agrupar por`,prefixField:`Campo de prefijo`,fields:`Campos`,fieldsVisible:`{{count}} visibles`,sortsCount:`{{count}} ordenamientos`,filtersCount:`{{count}} filtros`,endDateField:`Campo de fecha de fin`,color:`Color`,fieldTextColor:`Color del texto del campo`,rowHeight:`Altura de fila`,wrapHeaders:`Ajustar encabezados`,showFieldDescriptions:`Mostrar descripciones de campos`,collapseAllByDefault:`Contraer todo por defecto`,striped:`Filas alternadas`,bordered:`Celdas con borde`,inlineEdit:`Editar registros en línea`,addDeleteRecordsInline:`Agregar/eliminar registros en línea`,clickIntoRecordDetails:`Clic para detalles del registro`,navigationMode:`Modo de navegación`,navigationWidth:`Ancho de navegación`,navigationWidthHint:`Disponible para los modos de navegación cajón, modal y dividido`,openNewTab:`Abrir en nueva pestaña`,openNewTabHint:`Disponible para los modos de navegación página y nueva ventana`},localeSwitcher:{label:`Idioma`}},auth:{login:{title:`Inicia sesión en tu cuenta`,description:`Ingresa tu correo electrónico y contraseña para continuar`,emailLabel:`Correo electrónico`,emailPlaceholder:`name@example.com`,passwordLabel:`Contraseña`,passwordPlaceholder:`Ingresa tu contraseña`,forgotPasswordText:`¿Olvidaste tu contraseña?`,submitButton:`Iniciar sesión`,submittingButton:`Iniciando sesión...`,noAccountText:`¿No tienes una cuenta?`,signUpText:`Regístrate`},register:{title:`Crear una cuenta`,description:`Ingresa tu información para comenzar`,nameLabel:`Nombre`,namePlaceholder:`Juan Pérez`,emailLabel:`Correo electrónico`,emailPlaceholder:`name@example.com`,passwordLabel:`Contraseña`,passwordPlaceholder:`Crear una contraseña (mín. 8 caracteres)`,confirmPasswordLabel:`Confirmar contraseña`,confirmPasswordPlaceholder:`Confirma tu contraseña`,passwordMismatchError:`Las contraseñas no coinciden`,passwordTooShortError:`La contraseña debe tener al menos 8 caracteres`,submitButton:`Crear cuenta`,submittingButton:`Creando cuenta...`,hasAccountText:`¿Ya tienes una cuenta?`,signInText:`Iniciar sesión`},forgotPassword:{title:`Restablecer tu contraseña`,description:`Ingresa tu dirección de correo electrónico y te enviaremos un enlace para restablecer tu contraseña`,emailLabel:`Correo electrónico`,emailPlaceholder:`name@example.com`,submitButton:`Enviar enlace de restablecimiento`,submittingButton:`Enviando...`,successTitle:`Revisa tu correo electrónico`,successDescription:`Hemos enviado un enlace para restablecer la contraseña a {{email}}. Por favor revisa tu bandeja de entrada.`,backToSignInText:`Volver a iniciar sesión`,rememberPasswordText:`¿Recuerdas tu contraseña?`,signInText:`Iniciar sesión`}},errors:{networkError:`Error de red. Por favor, compruebe su conexión.`,serverError:`Error del servidor. Por favor, inténtelo de nuevo más tarde.`,notFound:`Recurso no encontrado.`,unauthorized:`No está autorizado para realizar esta acción.`,forbidden:`Acceso denegado.`,timeout:`Tiempo de espera agotado. Por favor, inténtelo de nuevo.`,unknown:`Ha ocurrido un error inesperado.`},workspace:{label:`Espacios de trabajo`,default:`Mi espacio de trabajo`,switch:`Cambiar espacio de trabajo`,create:`Crear espacio de trabajo`,createTitle:`Crear un espacio de trabajo`,createDescription:`Un espacio de trabajo es un lugar compartido para que tu equipo colabore.`,createButton:`Crear espacio de trabajo`,nameLabel:`Nombre del espacio de trabajo`,namePlaceholder:`p.ej., Acme Inc`,slugLabel:`Slug de URL`,slugHint:`Se utiliza en URLs. Solo minúsculas, números y guiones.`,invite:`Invitar miembro`,members:`Miembros`,settings:`Configuración del espacio de trabajo`},sidebar:{settings:`Configuración`,help:`Ayuda`,helpTooltip:`Ayuda y documentación`,activityFeed:`Feed de actividad`},home:{title:`Inicio`,subtitle:`Panel de tu espacio de trabajo`,nav:`Inicio`,allApps:`Todas las aplicaciones`,loading:`Cargando espacio de trabajo...`,recent:`Recientes`,starred:`Destacados`,welcome:`Bienvenido a ObjectUI`,welcomeDescription:`Comienza creando tu primera aplicación o configura los ajustes del sistema.`,createFirstApp:`Crea tu primera aplicación`,systemSettings:`Configuración del sistema`,quickActions:{title:`Acciones rápidas`,createApp:`Crear app`,createAppDesc:`Comienza con una nueva aplicación`,manageObjects:`Gestionar objetos`,manageObjectsDesc:`Configura modelos de datos`,systemSettings:`Configuración del sistema`,systemSettingsDesc:`Configura tu espacio de trabajo`},appCard:{noDescription:`Sin descripción`,default:`Predeterminado`}},layout:{appSwitcher:{home:`Home`,addApp:`Add App`,editApp:`Edit App`,manageAllApps:`Manage All Apps`,systemConsole:`System Console`,noAppsConfigured:`No apps configured`},activityFeed:{title:`Recent Activity`,filter:`Filter`,empty:`No recent activity`,ariaLabel:`Activity feed`,typeCreate:`Create`,typeUpdate:`Update`,typeDelete:`Delete`,typeComment:`Comment`,relativeJustNow:`just now`,relativeSecondsAgo:`{{count}}s ago`,relativeMinutesAgo:`{{count}}m ago`,relativeHoursAgo:`{{count}}h ago`,relativeDaysAgo:`{{count}}d ago`},metadata:{label:`Metadata`,toggleTitle:`Toggle Metadata Inspector`,panelTitle:`Metadata Inspector`,jsonBadge:`JSON`,copyJson:`Copy JSON`}},search:{title:`Search`,back:`Back`,placeholder:`Search objects, dashboards, pages, reports...`,inputAriaLabel:`Search objects, dashboards, pages, reports`,resultsCount:`{{count}} result for "{{query}}"`,resultsCountPlural:`{{count}} results for "{{query}}"`,itemsAvailable:`{{count}} items available`,noResults:`No results found`,noResultsHint:`Try adjusting your search terms`,typeObjects:`Objects`,typeDashboards:`Dashboards`,typePages:`Pages`,typeReports:`Reports`,badgeObject:`object`,badgeDashboard:`dashboard`,badgePage:`page`,badgeReport:`report`},empty:{objectNotFound:`Object Not Found`,objectNotFoundDescription:`Object "{{name}}" definition missing. Check your configuration or navigate back to select a valid object.`,pageNotFound:`Page Not Found`,pageNotFoundDescription:`The page "{{name}}" could not be found. It may have been removed or renamed.`,dashboardNotFound:`Dashboard Not Found`,dashboardNotFoundDescription:`The dashboard "{{name}}" could not be found. It may have been removed or renamed.`,reportNotFound:`Report Not Found`,reportNotFoundDescription:`The report "{{name}}" could not be found. It may have been removed or renamed.`,noAppsConfigured:`No Apps Configured`,noAppsConfiguredDescription:`No applications have been registered. Create your first app or visit System Settings to configure your environment.`,createFirstApp:`Create Your First App`,systemSettings:`System Settings`,back:`Back`},renderer:{noPageSchema:`No page schema provided`,noFormSchema:`No form schema provided`,noDashboardSchema:`No dashboard schema provided`,pageRendering:`Page rendering: {{name}}`,dashboardRendering:`Dashboard rendering: {{name}}`,formRenderingMode:`Form rendering in {{mode}} mode`,formRenderingFor:`for record {{id}}`,createRecord:`Create Record`,editRecord:`Edit Record`,page:`Page`,dashboard:`Dashboard`,save:`Save`,cancel:`Cancel`},actionDialog:{title:`Action Parameters`,description:`Please provide the required information to continue.`,selectPlaceholder:`Select {{label}}`,requiredError:`{{label}} is required`,cancel:`Cancel`,confirm:`Confirm`,defaultActionTitle:`Action`,ok:`OK`},rowAction:{openMenu:`Open menu`,edit:`Edit`,delete:`Delete`},navigationSync:{addedPage:`Navigation updated: added page "{{name}}"`,addedDashboard:`Navigation updated: added dashboard "{{name}}"`,removedPage:`Navigation updated: removed page "{{name}}"`,removedDashboard:`Navigation updated: removed dashboard "{{name}}"`,renamedPage:`Navigation updated: renamed page "{{oldName}}" → "{{newName}}"`,renamedDashboard:`Navigation updated: renamed dashboard "{{oldName}}" → "{{newName}}"`,undoLabel:`Undo`,undone:`Navigation change undone`,undoFailed:`Failed to undo navigation change`,updateFailed:`Failed to update navigation`},objectActions:{deleteSuccess:`{{label}} deleted successfully`,deleteFailed:`Failed to delete {{label}}`,noRecordId:`No record ID provided`,deleteConfirm:`Are you sure you want to delete this record?`},objectViewActions:{renameFailed:`Failed to rename view`,deleteFailed:`Failed to delete view`},dashboardActions:{pdfPreparing:`Preparing PDF export…`,exportFailed:`Export failed: {{message}}`,forecastSoon:`Forecast view coming soon`},recordDetail:{viewersTooltip:`Users viewing this record`},cellRender:{empty:`Empty`,yes:`Yes`,no:`No`,systemFields:`System`},user:{profile:`Profile`,settings:`Settings`,logout:`Log out`},report:{rowTotal:`Row Total`,columnTotal:`Column Total`,grandTotal:`Grand Total`,totals:`Totals`,rowsLabel:`Row`,columnsLabel:`Column`,allLabel:`(All)`,emptyLabel:`(Empty)`,loading:`Loading…`,failedToLoad:`Failed to load matrix: {{message}}`,needsAcross:"Matrix report requires at least one `groupingsAcross` field.",aggregate:{count:`Count`,countDistinct:`Distinct Count`,sum:`Sum`,avg:`Average`,min:`Min`,max:`Max`,first:`First`},editor:{breadcrumb:`Configuración`,basic:`General`,title:`Título`,titlePlaceholder:`p. ej. Pipeline por trimestre`,description:`Descripción`,descriptionPlaceholder:`¿Qué muestra este informe?`,type:`Tipo de informe`,typeTabular:`Tabla — lista plana`,typeSummary:`Resumen — agrupado con totales`,typeMatrix:`Matriz — pivote filas × columnas`,typeJoined:`Combinado — varios bloques`,typeHelp:`Elige el diseño que mejor refleje lo que quieres ver.`,data:`Datos`,objectName:`Fuente de datos`,objectNamePlaceholder:`p. ej. opportunity`,objectNameHelp:`¿Qué objeto debe consultar este informe?`,limit:`Límite de filas`,limitPlaceholder:`p. ej. 100`,columns:`Columnas`,columnsHint:`Elige los campos que aparecerán como columnas. Añade una agregación (Suma, Recuento…) en los informes Resumen o Matriz.`,filters:`Filtros`,filtersHint:`Limita las filas incluidas en este informe.`,filtersComplex:`Este informe usa un filtro avanzado que no se puede editar aquí. Al guardar se mantendrá intacto.`,groupBy:`Agrupar por`,groupByHint:`Agrupa los datos y calcula subtotales.`,rows:`Filas`,rowsHint:`Agrupa las filas por estos campos.`,columnsAxis:`Columnas`,columnsAxisHint:`Pivota estos campos en la parte superior.`,values:`Valores`,valuesHint:`Números mostrados en cada celda. Elige uno o varios campos y añade una agregación (Suma, Recuento…).`,grouping:`Agrupación`,addGrouping:`Añadir agrupación`,dateGranularity:`Granularidad de fecha`,dateGranularityNone:`(valor original)`,day:`Día`,week:`Semana`,month:`Mes`,quarter:`Trimestre`,year:`Año`,sortAsc:`Ascendente`,sortDesc:`Descendente`,chart:`Gráfico`,chartHint:`Visualización opcional junto a la tabla.`,chartType:`Tipo de gráfico`,chartTitle:`Título del gráfico`,chartTitlePlaceholder:`Por defecto, el título del informe`,chartXAxis:`Eje X (categoría)`,chartYAxis:`Eje Y (valor)`,chartShowLegend:`Mostrar leyenda`,chartShowDataLabels:`Mostrar etiquetas de datos`,chartNone:`(sin gráfico)`,chartBar:`Barras`,chartLine:`Líneas`,chartArea:`Áreas`,chartPie:`Circular`,chartDonut:`Anillo`,chartFunnel:`Embudo`,validationNeedsObject:`Selecciona una fuente de datos antes de añadir columnas.`,validationMatrixNeedsRowsCols:`Los informes de matriz necesitan al menos una fila y una columna.`,validationSummaryNeedsRows:`Los informes de resumen necesitan al menos un campo de agrupación.`,blocks:`Bloques`,blocksHint:`Cada bloque es su propia tabla o gráfico. Los filtros del bloque se combinan (Y) con el filtro del informe.`,addBlock:`Añadir bloque`,removeBlock:`Eliminar bloque`,blockName:`Nombre del bloque`,blockNamePlaceholder:`nombre_unico_del_bloque`,blockLabel:`Etiqueta a mostrar`,blockLabelPlaceholder:`Se muestra encima del bloque`,blockDescription:`Descripción`,blockDescriptionPlaceholder:`Contexto opcional para este bloque`,validationJoinedNeedsBlocks:`Los informes combinados necesitan al menos un bloque.`,validationBlockNameRequired:`Cada bloque debe tener un nombre no vacío.`,validationBlockNameDuplicate:`Los nombres de bloque deben ser únicos dentro del informe.`,validationBlockNeedsColumns:`Cada bloque debe tener al menos una columna.`,noneOption:`(ninguno)`,addCondition:`Añadir condición`,combineLogic:`Combinar con`,opContains:`contiene`,opIsEmpty:`está vacío`,opIsNotEmpty:`no está vacío`,formatAuto:`Auto`,formatCurrency:`Moneda`,formatPercent:`Porcentaje`,formatInteger:`Entero`,formatDate:`Fecha`,formatDatetime:`Fecha y hora`,columnLabelPlaceholder:`Sobrescribir etiqueta`,aggregateColumn:`Agregación`,formatColumn:`Formato`,addColumns:`Añadir columnas`,searchFields:`Buscar campos…`,noMatchingFields:`Ningún campo coincide con tu búsqueda.`,noFieldsAvailable:`No hay campos disponibles.`}},organizations:{mine:`Mis organizaciones`,title:`Organizaciones`,heading:`Tus organizaciones`,subtitle:`Selecciona una organización para continuar o crea una nueva.`,searchPlaceholder:`Buscar una organización`,new:`Nueva organización`,current:`Organización actual`,manage:`Administrar`,emptyTitle:`Aún no hay organizaciones`,emptyDescription:`Crea tu primera organización para empezar.`,noMatches:`Ninguna organización coincide con tu búsqueda.`},notifications:{empty:`Sin notificaciones`,markAllRead:`Marcar todo como leído`,viewAll:`Ver todas las notificaciones`,approvalsPending:`{{count}} aprobaciones pendientes`,viewApprovals:`Ver aprobaciones`,noPendingApprovals:`Sin aprobaciones pendientes`,openApprovalsInbox:`Abrir bandeja de aprobaciones`},publicForm:{submit:`Submit`,submitting:`Submitting…`,submitAnother:`Submit another response`,poweredBy:`Powered by ObjectStack`,secureNotice:`Your information is transmitted securely and only used to respond to your request.`,thankYouTitle:`Thank you!`,thankYouMessage:`Your submission has been received successfully.`,redirecting:`Redirecting in {{seconds}} seconds…`,unavailableTitle:`Form unavailable`,unavailableDescription:`No public form is available at this URL. Make sure the underlying view has anonymous sharing enabled and matches this slug.`,tryDemo:`Try the demo`,retry:`Retry`,loading:`Loading form…`,requiredHint:`* Required field`,consentLabelDefault:`I agree to the privacy policy and consent to my data being processed for this request.`,consentLink:`Privacy policy`,consentRequired:`Please accept the privacy policy to continue.`,rateLimited:`Please take a moment to review your answers before submitting.`,redirectBlocked:`Submission accepted, but the redirect URL was blocked for security.`,demo:{contactTitle:`Contact us`,contactDescription:`Tell us about your project and a sales representative will get back to you within one business day.`,supportTitle:`Submit a support request`,supportDescription:`Tell us what is going wrong — our team responds within one business day.`,thankYouSalesTitle:`Thanks — we received your message!`,thankYouSalesMessage:`A sales representative will be in touch within one business day.`,thankYouSupportTitle:`Got it — your request is in the queue.`,thankYouSupportMessage:`A support engineer will follow up shortly. Save this page if you have more screenshots to add.`,field:{firstName:`First name`,lastName:`Last name`,email:`Work email`,phone:`Phone`,jobTitle:`Job title`,company:`Company`,website:`Website`,industry:`Industry`,companySize:`Company size`,howCanWeHelp:`How can we help?`,subject:`Subject`,description:`Description`,issueType:`Issue type`,priority:`Priority`},industry:{technology:`Technology`,software:`Software / SaaS`,finance:`Finance`,healthcare:`Healthcare`,retail:`Retail`,other:`Other`},issueType:{question:`Question`,problem:`Problem`,bug:`Bug`,feature_request:`Feature request`},priority:{low:`Low`,medium:`Medium`,high:`High`,critical:`Critical`}}}},pt:{common:{addToFavorites:`Adicionar aos favoritos`,removeFromFavorites:`Remover dos favoritos`,loading:`Carregando...`,save:`Salvar`,cancel:`Cancelar`,delete:`Excluir`,edit:`Editar`,create:`Criar`,search:`Pesquisar`,filter:`Filtrar`,reset:`Redefinir`,confirm:`Confirmar`,close:`Fechar`,back:`Voltar`,next:`Próximo`,previous:`Anterior`,submit:`Enviar`,refresh:`Atualizar`,export:`Exportar`,import:`Importar`,yes:`Sim`,no:`Não`,ok:`OK`,actions:`Ações`,more:`Mais`,selectAll:`Selecionar tudo`,clearAll:`Limpar tudo`,noData:`Sem dados`,noResults:`Nenhum resultado encontrado`,required:`Obrigatório`,optional:`Opcional`,selectOption:`Selecionar uma opção`,select:`Selecionar...`,openChat:`Abrir chat`,closeChat:`Fechar chat`,toggleSidebar:`Alternar barra lateral`},validation:{required:`{{field}} é obrigatório`,minLength:`{{field}} deve ter pelo menos {{min}} caracteres`,maxLength:`{{field}} deve ter no máximo {{max}} caracteres`,min:`{{field}} deve ser pelo menos {{min}}`,max:`{{field}} deve ser no máximo {{max}}`,email:`Por favor, insira um endereço de e-mail válido`,url:`Por favor, insira uma URL válida`,pattern:`O formato de {{field}} é inválido`,unique:`{{field}} deve ser único`,type:`{{field}} deve ser um {{type}} válido`},form:{addItem:`Adicionar item`,removeItem:`Remover item`,fieldRequired:`Este campo é obrigatório`,invalidFormat:`Formato inválido`,saveSuccess:`Salvo com sucesso`,saveError:`Falha ao salvar`,unsavedChanges:`Você tem alterações não salvas. Tem certeza de que deseja sair?`,stepOf:`Etapa {{current}} de {{total}}`,createTitle:`Criar {{object}}`,editTitle:`Editar {{object}}`,createDescription:`Adicionar um novo {{object}} ao seu banco de dados.`,editDescription:`Atualizar detalhes de {{object}}`,saveRecord:`Salvar registro`},table:{rowsPerPage:`Linhas por página`,showing:`Mostrando {{from}} a {{to}} de {{total}}`,noRows:`Nenhuma linha para exibir`,sortAsc:`Ordenar crescente`,sortDesc:`Ordenar decrescente`,filterColumn:`Filtrar {{column}}`,columns:`Colunas`,exportCSV:`Exportar CSV`,exportExcel:`Exportar Excel`,selectRow:`Selecionar linha`,selectAllRows:`Selecionar todas as linhas`,expandRow:`Expandir linha`,collapseRow:`Recolher linha`,hideColumn:`Ocultar coluna`,freezeColumn:`Fixar coluna`,unfreezeColumn:`Soltar coluna`,pageInfo:`Página {{current}} de {{total}}`,totalRecords:`{{count}} no total`},grid:{actions:`Ações`,edit:`Editar`,delete:`Excluir`,export:`Exportar`,exportAs:`Exportar como {{format}}`,loading:`Carregando grade...`,errorLoading:`Erro ao carregar grade`,pullToRefresh:`Puxe para atualizar`,refreshing:`Atualizando…`,openRecord:`Abrir registro`,rowHeight:`Altura da linha: {{mode}}`},calendar:{today:`Hoje`,month:`Mês`,week:`Semana`,day:`Dia`,agenda:`Agenda`,allDay:`Dia inteiro`,noEvents:`Sem eventos`,newEvent:`Novo evento`,moreEvents:`+{{count}} mais`},list:{recordCount:`{{count}} registros`,recordCountOne:`{{count}} registro`,addRecord:`Adicionar registro`,tabs:`Abas`,allRecords:`Todos os registros`,search:`Pesquisar`,filter:`Filtrar`,filterRecords:`Filtrar registros`,sort:`Ordenar`,sortRecords:`Ordenar registros`,group:`Agrupar`,groupBy:`Agrupar por`,export:`Exportar`,exportAs:`Exportar como {{format}}`,color:`Cor`,rowColor:`Cor da linha`,colorByField:`Colorir por campo`,clear:`Limpar`,none:`Nenhum`,hideFields:`Ocultar campos`,noItems:`Nenhum item encontrado`,noItemsMessage:`Não há registros para exibir. Tente ajustar os filtros ou adicionar novos dados.`},kanban:{addCard:`Adicionar cartão`,addColumn:`Adicionar coluna`,moveCard:`Mover cartão`,deleteCard:`Excluir cartão`,deleteColumn:`Excluir coluna`},timeline:{bucket:{overdue:`Atrasado`,today:`Hoje`,tomorrow:`Amanhã`,thisWeek:`Esta semana`,nextWeek:`Próxima semana`,later:`Mais tarde`,noDate:`Sem data`,unassigned:`Não atribuído`}},gantt:{column:{taskName:`Task Name`,start:`Start`,end:`End`},toolbar:{prevPeriod:`Previous period`,nextPeriod:`Next period`,zoomIn:`Zoom in`,zoomOut:`Zoom out`,jumpToToday:`Jump to today`,today:`Today`,showTaskList:`Show task list`,hideTaskList:`Hide task list`}},view:{rename:`Renomear`,duplicateView:`Duplicar visualização`,shareView:`Compartilhar visualização`,setAsDefault:`Definir como padrão`,pinView:`Fixar visualização`,unpinView:`Desfixar visualização`,changeViewType:`Alterar tipo de visualização`,deleteView:`Excluir visualização`,addView:`Adicionar visualização`,unsavedChanges:`Alterações não salvas`,saveAsView:`Salvar como visualização`,moreViews:`mais {{count}}`,activeFilters:`Filtros ativos`,activeSort:`Ordenação ativa`},detail:{back:`Voltar`,edit:`Editar`,editInline:`Editar`,save:`Salvar`,saveChanges:`Salvar alterações`,editFieldsInline:`Editar campos`,share:`Compartilhar`,duplicate:`Duplicar`,export:`Exportar`,viewHistory:`Ver histórico`,delete:`Excluir`,moreActions:`Mais ações`,addToFavorites:`Adicionar aos favoritos`,removeFromFavorites:`Remover dos favoritos`,previousRecord:`Registro anterior`,nextRecord:`Próximo registro`,recordOf:`{{current}} de {{total}}`,recordNotFound:`Registro não encontrado`,recordNotFoundDescription:`O registro que você está procurando não existe ou pode ter sido excluído.`,goBack:`Voltar`,details:`Detalhes`,related:`Relacionados`,relatedRecords:`{{count}} registros`,relatedRecordOne:`{{count}} registro`,noRelatedRecords:`Nenhum registro relacionado encontrado`,loading:`Carregando...`,copyToClipboard:`Copiar para área de transferência`,copied:`Copiado!`,deleteConfirmation:`Tem certeza de que deseja excluir este registro?`,editRecord:`Editar registro`,viewAll:`Ver tudo`,new:`Novo`,emptyValue:`—`,comments:`Comentários`,searchComments:`Pesquisar comentários…`,addCommentPlaceholder:`Adicionar comentário… (Ctrl+Enter para enviar)`,noMatchingComments:`Nenhum comentário correspondente`,noCommentsYet:`Nenhum comentário ainda`,pinned:`Fixado`,pin:`Fixar`,unpin:`Desfixar`,justNow:`agora mesmo`,minutesAgo:`há {{count}} min`,hoursAgo:`há {{count}} h`,daysAgo:`há {{count}} d`,dropFilesToUpload:`Arraste arquivos aqui ou clique para enviar`,attachmentCount:`{{count}} anexo`,attachmentCountPlural:`{{count}} anexos`,removeAttachment:`Remover anexo`,unifiedDiff:`Visualização unificada`,sideBySideDiff:`Visualização lado a lado`,noChanges:`Sem alterações`,previousVersion:`Anterior`,currentVersion:`Atual`,discussion:`Discussão`,showDiscussion:`Mostrar discussão ({{count}})`,hideDiscussion:`Ocultar discussão`,bold:`Negrito (Ctrl+B)`,italic:`Itálico (Ctrl+I)`,listFormat:`Lista`,inlineCode:`Código inline`,mentionSomeone:`Mencionar alguém`,preview:`Pré-visualização`,submitComment:`Enviar (Ctrl+Enter)`,sendComment:`Enviar`,writeComment:`Escreva um comentário…`,subscribedTooltip:`Inscrito — clique para cancelar inscrição`,unsubscribedTooltip:`Inscrever-se para notificações`,firstRecord:`Primeiro registro (Home)`,previousRecordKey:`Registro anterior (←)`,nextRecordKey:`Próximo registro (→)`,lastRecord:`Último registro (End)`,noRecords:`Sem registros`,searchWhileNavigating:`Pesquisar durante a navegação`,searchRecords:`Pesquisar registros…`,allActivity:`Toda atividade`,commentsOnly:`Apenas comentários`,fieldChangesFilter:`Alterações de campo`,tasksOnly:`Apenas tarefas`,leaveCommentPlaceholder:`Deixar um comentário… (Ctrl+Enter para enviar)`,noActivity:`Nenhuma atividade registrada`,loadMore:`Carregar mais`,edited:`(editado)`,via:`via {{source}}`,replyCount:`{{count}} resposta`,replyCountPlural:`{{count}} respostas`,replyPlaceholder:`Responder…`,filterActivity:`Filtrar atividade`,openDiscussion:`Abrir painel de discussão`,closeDiscussion:`Fechar painel de discussão`,subscribeAriaLabel:`Inscrever-se para notificações`,unsubscribeAriaLabel:`Cancelar inscrição de notificações`,clearSearch:`Limpar pesquisa`},chart:{noData:`Nenhum dado de gráfico disponível`,loading:`Carregando gráfico...`},map:{searchLocations:`Pesquisar locais…`,locationDetails:`Detalhes do local`,markersCount:`{{count}} marcadores`,invalidCoordinates:`{{count}} registro com coordenadas ausentes ou inválidas excluído do mapa.`,invalidCoordinatesPlural:`{{count}} registros com coordenadas ausentes ou inválidas excluídos do mapa.`},workflow:{draft:`Rascunho`,active:`Ativo`,paused:`Pausado`,completed:`Concluído`,cancelled:`Cancelado`,save:`Salvar`,publish:`Publicar`,addNode:`Adicionar nó`,workflowFlow:`Fluxo de trabalho`,properties:`Propriedades`,connections:`Conexões`,quickConnect:`Conexão rápida`,fromPlaceholder:`De...`,toPlaceholder:`Para...`,connect:`Conectar`,label:`Rótulo`,type:`Tipo`,description:`Descrição`,assignee:`Responsável`,assigneeType:`Tipo de responsável`,user:`Usuário`,role:`Função`,group:`Grupo`,expression:`Expressão`,timeoutMinutes:`Tempo limite (minutos)`,selectNodeToEdit:`Selecione um nó para editar suas propriedades`,workflowTitle:`Título do fluxo de trabalho`,newWorkflow:`Novo fluxo de trabalho`,outConnections:`{{count}} saída(s)`,start:`Início`,end:`Fim`,task:`Tarefa`,userTask:`Tarefa de usuário`,serviceTask:`Tarefa de serviço`,scriptTask:`Tarefa de script`,approval:`Aprovação`,condition:`Condição`,parallelGateway:`Gateway paralelo`,joinGateway:`Gateway de junção`,boundaryEvent:`Evento de limite`,delay:`Atraso`,notification:`Notificação`,webhook:`Webhook`,allowConcurrency:`Permitir (execução simultânea)`,forbidConcurrency:`Proibir (pular novos)`,replaceConcurrency:`Substituir (cancelar existentes)`,queueConcurrency:`Fila (executar após atual)`,conditionEvent:`Condição`,manualEvent:`Manual`,webhookEvent:`Webhook`,timerEvent:`Temporizador`,signalEvent:`Sinal`,versionHistory:`Histórico de versões`,importBpmn:`Importar BPMN`,exportBpmn:`Exportar BPMN`,undo:`Desfazer`,redo:`Refazer`,resetZoom:`Redefinir zoom`},dashboard:{addWidget:`Adicionar widget`,removeWidget:`Remover widget`,editLayout:`Editar layout`,saveLayout:`Salvar layout`,resetLayout:`Redefinir layout`},configPanel:{save:`Salvar`,discard:`Descartar`,close:`Fechar`,layout:`Layout`,columns:`Colunas`,gap:`Espaçamento`,rowHeight:`Altura da linha`,data:`Dados`,refreshInterval:`Intervalo de atualização`,appearance:`Aparência`,title:`Título`,showDescription:`Mostrar descrição`,theme:`Tema`,configuration:`Configuração`,general:`Geral`,advanced:`Avançado`},appDesigner:{createApp:`Create Application`,editApp:`Edit Application`,basicInfo:`Basic Info`,objects:`Objects`,navigation:`Navigation`,branding:`Branding`,appName:`App Name`,appTitle:`Title`,appDescription:`Description`,appIcon:`Icon`,template:`Template`,layout:`Layout`,layoutSidebar:`Sidebar`,layoutHeader:`Header`,layoutEmpty:`Empty`,selectObjects:`Select Objects`,searchObjects:`Search objects…`,selectAll:`Select All`,deselectAll:`Deselect All`,navBuilder:`Navigation Builder`,addGroup:`Add Group`,addUrl:`Add URL`,addSeparator:`Add Separator`,noNavItems:`No navigation items yet.`,logoUrl:`Logo URL`,primaryColor:`Primary Color`,faviconUrl:`Favicon URL`,preview:`Preview`,complete:`Complete`,snakeCaseHint:`Must be snake_case (e.g. my_app)`,modeEdit:`Edit`,modePreview:`Preview`,modeCode:`Code`,addWidget:`Add Widget`,widgetProperties:`Widget Properties`,dataSource:`Data Source`,valueField:`Value Field`,aggregate:`Aggregate`,colorVariant:`Color Variant`,addComponent:`Add Component`,componentProperties:`Component Properties`,viewType:`View Type`,fields:`Fields`,toolbar:`Toolbar`,showSearch:`Show Search`,showFilters:`Show Filters`,showSort:`Show Sort`,appearance:`Appearance`,rowHeight:`Row Height`,stripedRows:`Striped Rows`,bordered:`Bordered`,livePreview:`Live Preview`,stepBasicDesc:`Nome, título e layout`,stepObjectsDesc:`Selecionar objetos de negócio`,stepNavigationDesc:`Construir árvore de navegação`,stepBrandingDesc:`Logo, cores e favicon`,noObjectsFound:`Nenhum objeto encontrado.`,noNavItemsHint:`Sem itens de navegação. Selecione objetos na etapa anterior ou adicione manualmente.`,separator:`Separador`,separatorLabel:`— Separador —`,newGroup:`Novo grupo`,newLink:`Novo link`,saveDraft:`Salvar rascunho`,cancelConfirmTitle:`Descartar alterações?`,cancelConfirmMessage:`Você tem alterações não salvas. Tem certeza de que deseja cancelar?`,confirmDiscard:`Descartar`,keepEditing:`Continuar editando`,navNoItems:`Sem itens de navegação. Clique nos botões acima para adicionar itens.`,navNoPreviewItems:`Sem itens`,navLivePreview:`Pré-visualização ao vivo`,navCollapseGroup:`Recolher grupo`,navExpandGroup:`Expandir grupo`,navAddChild:`Adicionar filho`,navMoveUp:`Mover para cima`,navMoveDown:`Mover para baixo`,navRemove:`Remover`,navObjectPage:`Página de objeto`,navDashboard:`Painel`,navPage:`Página`,navReport:`Relatório`,navGroup:`Grupo`,navUrl:`URL`,navSeparator:`Separador`,navTypeObject:`Objeto`,navTypeDashboard:`Painel`,navTypePage:`Página`,navTypeReport:`Relatório`,navTypeUrl:`URL`,navTypeGroup:`Grupo`,navTypeSeparator:`Separador`,navTypeAction:`Ação`,navEditIcon:`Editar ícone`,navToggleVisible:`Alternar visibilidade`,navHidden:`Oculto`,navExportSchema:`Exportar JSON`,navImportSchema:`Importar JSON`,navExportSuccess:`Estrutura de navegação exportada`,navImportSuccess:`Estrutura de navegação importada`,navImportError:`JSON de navegação inválido`,navIconPlaceholder:`Nome do ícone (ex: Users)`,dashboardEditor:`Editor de painel`,noWidgets:`Sem widgets. Clique em um botão acima para adicionar.`,widgetLayoutSize:`Tamanho do layout`,widgetWidth:`Largura`,widgetHeight:`Altura`,dashboardPreview:`Pré-visualização do painel`,noWidgetsPreview:`Sem widgets para pré-visualizar`,pageCanvasEditor:`Editor de tela de página`,emptyPage:`Página vazia. Clique em um botão acima para adicionar um componente.`,pagePreview:`Pré-visualização da página`,noComponentsPreview:`Sem componentes para pré-visualizar`,modePage:`Página`,modeDashboard:`Painel`,undo:`Desfazer`,redo:`Refazer`,brandingEditor:`Editor de marca`,brandingExport:`Exportar JSON`,brandingImport:`Importar JSON`,brandingPreview:`Pré-visualização`,brandingSampleButton:`Botão de exemplo`,brandingSampleText:`É assim que o tema da sua marca vai ficar.`,colorPalette:`Paleta de cores`,fontFamily:`Fonte`,fontDefault:`Padrão (Sistema)`,modeLight:`Claro`,modeDark:`Escuro`,mobilePreview:`Pré-visualização móvel`,objectManager:{title:`Gerenciador de Objetos`,addObject:`Novo Objeto`,searchPlaceholder:`Pesquisar objetos…`,noObjects:`Nenhum objeto encontrado.`,objectName:`Nome API`,objectLabel:`Rótulo`,pluralLabel:`Rótulo plural`,icon:`Ícone`,selectIcon:`Selecionar ícone…`,group:`Grupo`,noGroup:`Sem grupo`,sortOrder:`Ordem`,enabled:`Habilitado`,relationships:`Relacionamentos`,systemBadge:`Sistema`,fieldCount:`{{count}} campos`,ungrouped:`Sem grupo`,deleteConfirmTitle:`Excluir objeto?`,deleteConfirmMessage:`O objeto e todos os seus campos serão excluídos permanentemente. Esta ação não pode ser desfeita.`},fieldDesigner:{title:`Designer de Campos`,addField:`Novo Campo`,searchPlaceholder:`Pesquisar campos…`,allTypes:`Todos os tipos`,noFields:`Nenhum campo encontrado.`,fieldName:`Nome API`,fieldLabel:`Rótulo`,fieldType:`Tipo`,fieldGroup:`Grupo`,description:`Descrição`,required:`Obrigatório`,unique:`Único`,readOnly:`Somente leitura`,hidden:`Oculto`,indexed:`Indexado`,externalId:`ID Externo`,trackHistory:`Rastrear histórico`,defaultValue:`Valor padrão`,placeholder:`Texto de exemplo`,referenceTo:`Referência para`,formula:`Fórmula`,options:`Opções`,addOption:`Adicionar opção`,validationRules:`Regras de validação`,addRule:`Adicionar regra`,systemBadge:`Sistema`,ungrouped:`Geral`,deleteConfirmTitle:`Excluir campo?`,deleteConfirmMessage:`O campo será excluído permanentemente. Os dados existentes neste campo serão perdidos.`}},console:{title:`Console ObjectStack`,initializing:`Inicializando aplicação...`,breadcrumb:{dashboards:`Painéis`,pages:`Páginas`,reports:`Relatórios`,system:`Sistema`},loadingSteps:{connecting:`Conectando à fonte de dados`,loadingConfig:`Carregando configuração`,preparingWorkspace:`Preparando espaço de trabalho`},error:{connectionFailed:`Não é possível conectar ao servidor`,serverUnreachable:`O servidor {{url}} está inacessível.`,checkServer:`Verifique sua conexão de rede ou se o backend está em execução.`,timeout:`Tempo limite de conexão esgotado após 10 segundos.`},actions:{retry:`Tentar novamente`,retrying:`Tentando novamente…`},shortcuts:{title:`Atalhos de teclado`,description:`Referência rápida de todos os atalhos de teclado disponíveis.`,groups:{general:`Geral`,navigation:`Navegação`,dataViews:`Visualizações de dados`,preferences:`Preferências`},openCommandPalette:`Abrir paleta de comandos`,showShortcuts:`Mostrar atalhos de teclado`,closeDialog:`Fechar diálogo / painel`,toggleSidebar:`Alternar barra lateral`,focusSearch:`Focar na pesquisa`,createRecord:`Criar novo registro`,refreshData:`Atualizar dados`,editRecord:`Editar registro selecionado`,toggleDarkMode:`Alternar modo escuro`},commandPalette:{placeholder:`Digite um comando ou pesquise...`,noResults:`Nenhum resultado encontrado.`,objects:`Objetos`,dashboards:`Painéis`,pages:`Páginas`,reports:`Relatórios`,switchApp:`Trocar aplicativo`,current:`Atual`,preferences:`Preferências`,lightTheme:`Tema claro`,darkTheme:`Tema escuro`,systemTheme:`Tema do sistema`,actions:`Ações`,openFullSearch:`Abrir página de pesquisa completa`,createApp:`Criar novo aplicativo`},errors:{somethingWentWrong:`Algo deu errado`,unexpectedError:`Ocorreu um erro inesperado ao renderizar esta visualização.`,tryAgain:`Tentar novamente`,goHome:`Ir para início`,errorDetails:`Detalhes do erro (somente desenvolvimento)`},theme:{toggle:`Alternar tema`,light:`Claro`,dark:`Escuro`,system:`Sistema`},objectView:{objectNotFound:`Objeto não encontrado`,objectNotFoundDescription:`O objeto "{{objectName}}" não existe na configuração atual.`,objectNotFoundHint:`Verifique as configurações de navegação do seu aplicativo ou selecione um objeto diferente na barra lateral.`,allRecords:`Todos os registros`,exitDesignMode:`Sair do modo de design`,enterDesignMode:`Entrar no modo de design`,metadataInspector:`Inspetor de metadados`,editView:`Editar visualização`,addView:`Adicionar visualização`,designTools:`Ferramentas de design`,new:`Novo`,configureView:`Configurar visualização`,closePanel:`Fechar painel`,page:`Página`,pageConfigHint:`Barra de ferramentas, navegação e configurações do shell de visualização`,listConfigHint:`Renderização de dados, colunas e aparência para este tipo de lista`,general:`Geral`,generalHint:`Título, descrição e tipo da visualização`,toolbar:`Barra de ferramentas`,toolbarHint:`Pesquisa, filtro, ordenação, agrupamento e alternância de densidade`,toolbarEnabledCount:`{{count}} de {{total}} habilitados`,navigationSection:`Navegação`,navigationHint:`Comportamento ao clicar na linha e configurações da visualização detalhada`,records:`Registros`,recordsHint:`Modo de seleção, adicionar registro e edição em linha`,exportPrint:`Exportar e imprimir`,exportPrintHint:`Formatos de exportação, impressão e exibição da contagem de registros`,showAllFields:`Mostrar tudo`,hideAllFields:`Ocultar tudo`,searchFields:`Pesquisar campos...`,title:`Título`,description:`Descrição`,data:`Dados`,source:`Fonte`,columns:`Colunas`,filterBy:`Filtrar por`,sortBy:`Ordenar por`,appearance:`Aparência`,showDescription:`Mostrar descrição`,viewType:`Tipo de visualização`,userFilters:`Filtros do usuário`,enableSearch:`Habilitar pesquisa`,enableFilter:`Habilitar filtro`,enableSort:`Habilitar ordenação`,enableHideFields:`Ativar ocultar campos`,enableGroup:`Ativar agrupamento`,enableColor:`Ativar cor`,enableDensity:`Ativar densidade`,userActions:`Ações do usuário`,addRecordViaForm:`Adicionar registros via formulário`,advanced:`Avançado`,allowExport:`Permitir exportação`,recordCount:`{{count}} registros`,noDescription:`Sem descrição`,none:`Nenhum`,columnsConfigured:`{{count}} colunas`,save:`Salvar`,discard:`Descartar`,createView:`Criar visualização`,newView:`Nova visualização`,typeOptions:`Opções de tipo`,groupByField:`Campo de agrupamento`,startDateField:`Campo de data de início`,titleField:`Campo de título`,latitudeField:`Campo de latitude`,longitudeField:`Campo de longitude`,imageField:`Campo de imagem`,dateField:`Campo de data`,selectField:`Selecionar campo...`,gridOptionsHint:`A visualização de grade usa as colunas configuradas acima.`,groupBy:`Agrupar por`,prefixField:`Campo de prefixo`,fields:`Campos`,fieldsVisible:`{{count}} visíveis`,sortsCount:`{{count}} ordenações`,filtersCount:`{{count}} filtros`,endDateField:`Campo de data de término`,color:`Cor`,fieldTextColor:`Cor do texto do campo`,rowHeight:`Altura da linha`,wrapHeaders:`Quebrar cabeçalhos`,showFieldDescriptions:`Mostrar descrições dos campos`,collapseAllByDefault:`Recolher tudo por padrão`,striped:`Linhas listradas`,bordered:`Células com borda`,inlineEdit:`Editar registros em linha`,addDeleteRecordsInline:`Adicionar/excluir registros em linha`,clickIntoRecordDetails:`Clique para detalhes do registro`,navigationMode:`Modo de navegação`,navigationWidth:`Largura de navegação`,navigationWidthHint:`Disponível para os modos de navegação gaveta, modal e dividido`,openNewTab:`Abrir em nova aba`,openNewTabHint:`Disponível para os modos de navegação página e nova janela`},localeSwitcher:{label:`Idioma`}},auth:{login:{title:`Entre na sua conta`,description:`Digite seu e-mail e senha para continuar`,emailLabel:`E-mail`,emailPlaceholder:`name@example.com`,passwordLabel:`Senha`,passwordPlaceholder:`Digite sua senha`,forgotPasswordText:`Esqueceu a senha?`,submitButton:`Entrar`,submittingButton:`Entrando...`,noAccountText:`Não tem uma conta?`,signUpText:`Cadastre-se`},register:{title:`Criar uma conta`,description:`Digite suas informações para começar`,nameLabel:`Nome`,namePlaceholder:`João Silva`,emailLabel:`E-mail`,emailPlaceholder:`name@example.com`,passwordLabel:`Senha`,passwordPlaceholder:`Criar uma senha (mín. 8 caracteres)`,confirmPasswordLabel:`Confirmar senha`,confirmPasswordPlaceholder:`Confirme sua senha`,passwordMismatchError:`As senhas não coincidem`,passwordTooShortError:`A senha deve ter pelo menos 8 caracteres`,submitButton:`Criar conta`,submittingButton:`Criando conta...`,hasAccountText:`Já tem uma conta?`,signInText:`Entrar`},forgotPassword:{title:`Redefinir sua senha`,description:`Digite seu endereço de e-mail e enviaremos um link para redefinir sua senha`,emailLabel:`E-mail`,emailPlaceholder:`name@example.com`,submitButton:`Enviar link de redefinição`,submittingButton:`Enviando...`,successTitle:`Verifique seu e-mail`,successDescription:`Enviamos um link para redefinição de senha para {{email}}. Por favor verifique sua caixa de entrada.`,backToSignInText:`Voltar para o login`,rememberPasswordText:`Lembra da sua senha?`,signInText:`Entrar`}},errors:{networkError:`Erro de rede. Por favor, verifique sua conexão.`,serverError:`Erro no servidor. Por favor, tente novamente mais tarde.`,notFound:`Recurso não encontrado.`,unauthorized:`Você não tem permissão para realizar esta ação.`,forbidden:`Acesso negado.`,timeout:`Tempo limite excedido. Por favor, tente novamente.`,unknown:`Ocorreu um erro inesperado.`},workspace:{label:`Espaços de trabalho`,default:`Meu espaço de trabalho`,switch:`Trocar de espaço de trabalho`,create:`Criar espaço de trabalho`,createTitle:`Criar um espaço de trabalho`,createDescription:`Um espaço de trabalho é um espaço compartilhado para colaboração da equipe.`,createButton:`Criar espaço de trabalho`,nameLabel:`Nome do espaço de trabalho`,namePlaceholder:`p.ex., Acme Inc`,slugLabel:`Slug de URL`,slugHint:`Usado em URLs. Apenas letras minúsculas, números e hifens.`,invite:`Convidar membro`,members:`Membros`,settings:`Configurações do espaço de trabalho`},sidebar:{settings:`Configurações`,help:`Ajuda`,helpTooltip:`Ajuda e documentação`,activityFeed:`Feed de atividades`},home:{title:`Início`,subtitle:`Painel do seu espaço de trabalho`,nav:`Início`,allApps:`Todas as aplicações`,loading:`Carregando espaço de trabalho...`,recent:`Recentes`,starred:`Favoritos`,welcome:`Bem-vindo ao ObjectUI`,welcomeDescription:`Comece criando sua primeira aplicação ou configurando as preferências do sistema.`,createFirstApp:`Crie sua primeira app`,systemSettings:`Configurações do sistema`,quickActions:{title:`Ações rápidas`,createApp:`Criar app`,createAppDesc:`Comece com uma nova aplicação`,manageObjects:`Gerenciar objetos`,manageObjectsDesc:`Configure modelos de dados`,systemSettings:`Configurações do sistema`,systemSettingsDesc:`Configure seu espaço de trabalho`},appCard:{noDescription:`Sem descrição`,default:`Padrão`}},layout:{appSwitcher:{home:`Home`,addApp:`Add App`,editApp:`Edit App`,manageAllApps:`Manage All Apps`,systemConsole:`System Console`,noAppsConfigured:`No apps configured`},activityFeed:{title:`Recent Activity`,filter:`Filter`,empty:`No recent activity`,ariaLabel:`Activity feed`,typeCreate:`Create`,typeUpdate:`Update`,typeDelete:`Delete`,typeComment:`Comment`,relativeJustNow:`just now`,relativeSecondsAgo:`{{count}}s ago`,relativeMinutesAgo:`{{count}}m ago`,relativeHoursAgo:`{{count}}h ago`,relativeDaysAgo:`{{count}}d ago`},metadata:{label:`Metadata`,toggleTitle:`Toggle Metadata Inspector`,panelTitle:`Metadata Inspector`,jsonBadge:`JSON`,copyJson:`Copy JSON`}},search:{title:`Search`,back:`Back`,placeholder:`Search objects, dashboards, pages, reports...`,inputAriaLabel:`Search objects, dashboards, pages, reports`,resultsCount:`{{count}} result for "{{query}}"`,resultsCountPlural:`{{count}} results for "{{query}}"`,itemsAvailable:`{{count}} items available`,noResults:`No results found`,noResultsHint:`Try adjusting your search terms`,typeObjects:`Objects`,typeDashboards:`Dashboards`,typePages:`Pages`,typeReports:`Reports`,badgeObject:`object`,badgeDashboard:`dashboard`,badgePage:`page`,badgeReport:`report`},empty:{objectNotFound:`Object Not Found`,objectNotFoundDescription:`Object "{{name}}" definition missing. Check your configuration or navigate back to select a valid object.`,pageNotFound:`Page Not Found`,pageNotFoundDescription:`The page "{{name}}" could not be found. It may have been removed or renamed.`,dashboardNotFound:`Dashboard Not Found`,dashboardNotFoundDescription:`The dashboard "{{name}}" could not be found. It may have been removed or renamed.`,reportNotFound:`Report Not Found`,reportNotFoundDescription:`The report "{{name}}" could not be found. It may have been removed or renamed.`,noAppsConfigured:`No Apps Configured`,noAppsConfiguredDescription:`No applications have been registered. Create your first app or visit System Settings to configure your environment.`,createFirstApp:`Create Your First App`,systemSettings:`System Settings`,back:`Back`},renderer:{noPageSchema:`No page schema provided`,noFormSchema:`No form schema provided`,noDashboardSchema:`No dashboard schema provided`,pageRendering:`Page rendering: {{name}}`,dashboardRendering:`Dashboard rendering: {{name}}`,formRenderingMode:`Form rendering in {{mode}} mode`,formRenderingFor:`for record {{id}}`,createRecord:`Create Record`,editRecord:`Edit Record`,page:`Page`,dashboard:`Dashboard`,save:`Save`,cancel:`Cancel`},actionDialog:{title:`Action Parameters`,description:`Please provide the required information to continue.`,selectPlaceholder:`Select {{label}}`,requiredError:`{{label}} is required`,cancel:`Cancel`,confirm:`Confirm`,defaultActionTitle:`Action`,ok:`OK`},rowAction:{openMenu:`Open menu`,edit:`Edit`,delete:`Delete`},navigationSync:{addedPage:`Navigation updated: added page "{{name}}"`,addedDashboard:`Navigation updated: added dashboard "{{name}}"`,removedPage:`Navigation updated: removed page "{{name}}"`,removedDashboard:`Navigation updated: removed dashboard "{{name}}"`,renamedPage:`Navigation updated: renamed page "{{oldName}}" → "{{newName}}"`,renamedDashboard:`Navigation updated: renamed dashboard "{{oldName}}" → "{{newName}}"`,undoLabel:`Undo`,undone:`Navigation change undone`,undoFailed:`Failed to undo navigation change`,updateFailed:`Failed to update navigation`},objectActions:{deleteSuccess:`{{label}} deleted successfully`,deleteFailed:`Failed to delete {{label}}`,noRecordId:`No record ID provided`,deleteConfirm:`Are you sure you want to delete this record?`},objectViewActions:{renameFailed:`Failed to rename view`,deleteFailed:`Failed to delete view`},dashboardActions:{pdfPreparing:`Preparing PDF export…`,exportFailed:`Export failed: {{message}}`,forecastSoon:`Forecast view coming soon`},recordDetail:{viewersTooltip:`Users viewing this record`},cellRender:{empty:`Empty`,yes:`Yes`,no:`No`,systemFields:`System`},user:{profile:`Profile`,settings:`Settings`,logout:`Log out`},report:{rowTotal:`Row Total`,columnTotal:`Column Total`,grandTotal:`Grand Total`,totals:`Totals`,rowsLabel:`Row`,columnsLabel:`Column`,allLabel:`(All)`,emptyLabel:`(Empty)`,loading:`Loading…`,failedToLoad:`Failed to load matrix: {{message}}`,needsAcross:"Matrix report requires at least one `groupingsAcross` field.",aggregate:{count:`Count`,countDistinct:`Distinct Count`,sum:`Sum`,avg:`Average`,min:`Min`,max:`Max`,first:`First`},editor:{breadcrumb:`Configuração`,basic:`Geral`,title:`Título`,titlePlaceholder:`ex.: Pipeline por trimestre`,description:`Descrição`,descriptionPlaceholder:`O que este relatório mostra?`,type:`Tipo de relatório`,typeTabular:`Tabular — lista plana`,typeSummary:`Resumo — agrupado com totais`,typeMatrix:`Matriz — pivô linhas × colunas`,typeJoined:`Combinado — vários blocos`,typeHelp:`Escolha o layout que corresponde ao que deseja ver.`,data:`Dados`,objectName:`Fonte de dados`,objectNamePlaceholder:`ex.: opportunity`,objectNameHelp:`Qual objeto este relatório deve consultar?`,limit:`Limite de linhas`,limitPlaceholder:`ex.: 100`,columns:`Colunas`,columnsHint:`Escolha quais campos aparecem como colunas. Adicione uma agregação (Soma, Contagem…) em relatórios de Resumo ou Matriz.`,filters:`Filtros`,filtersHint:`Restrinja as linhas incluídas neste relatório.`,filtersComplex:`Este relatório usa um filtro avançado que não pode ser editado aqui. Ao salvar será mantido inalterado.`,groupBy:`Agrupar por`,groupByHint:`Agrupe os dados e calcule subtotais.`,rows:`Linhas`,rowsHint:`Agrupe linhas por estes campos.`,columnsAxis:`Colunas`,columnsAxisHint:`Pivote estes campos no topo.`,values:`Valores`,valuesHint:`Números exibidos em cada célula. Escolha um ou mais campos e adicione uma agregação (Soma, Contagem…).`,grouping:`Agrupamento`,addGrouping:`Adicionar agrupamento`,dateGranularity:`Granularidade de data`,dateGranularityNone:`(usar valor bruto)`,day:`Dia`,week:`Semana`,month:`Mês`,quarter:`Trimestre`,year:`Ano`,sortAsc:`Crescente`,sortDesc:`Decrescente`,chart:`Gráfico`,chartHint:`Visualização opcional ao lado da tabela.`,chartType:`Tipo de gráfico`,chartTitle:`Título do gráfico`,chartTitlePlaceholder:`Padrão: título do relatório`,chartXAxis:`Eixo X (categoria)`,chartYAxis:`Eixo Y (valor)`,chartShowLegend:`Mostrar legenda`,chartShowDataLabels:`Mostrar rótulos de dados`,chartNone:`(sem gráfico)`,chartBar:`Barras`,chartLine:`Linhas`,chartArea:`Áreas`,chartPie:`Pizza`,chartDonut:`Rosca`,chartFunnel:`Funil`,validationNeedsObject:`Escolha uma fonte de dados antes de adicionar colunas.`,validationMatrixNeedsRowsCols:`Relatórios de matriz precisam de pelo menos uma Linha e uma Coluna.`,validationSummaryNeedsRows:`Relatórios de resumo precisam de pelo menos um campo de agrupamento.`,blocks:`Blocos`,blocksHint:`Cada bloco é sua própria tabela ou gráfico. Filtros de bloco são combinados (E) com o filtro do relatório.`,addBlock:`Adicionar bloco`,removeBlock:`Remover bloco`,blockName:`Nome do bloco`,blockNamePlaceholder:`nome_unico_do_bloco`,blockLabel:`Rótulo de exibição`,blockLabelPlaceholder:`Exibido acima do bloco`,blockDescription:`Descrição`,blockDescriptionPlaceholder:`Contexto opcional para este bloco`,validationJoinedNeedsBlocks:`Relatórios combinados precisam de pelo menos um bloco.`,validationBlockNameRequired:`Cada bloco precisa de um nome não vazio.`,validationBlockNameDuplicate:`Os nomes dos blocos devem ser únicos no relatório.`,validationBlockNeedsColumns:`Cada bloco precisa de pelo menos uma coluna.`,noneOption:`(nenhum)`,addCondition:`Adicionar condição`,combineLogic:`Combinar com`,opContains:`contém`,opIsEmpty:`está vazio`,opIsNotEmpty:`não está vazio`,formatAuto:`Automático`,formatCurrency:`Moeda`,formatPercent:`Porcentagem`,formatInteger:`Inteiro`,formatDate:`Data`,formatDatetime:`Data e hora`,columnLabelPlaceholder:`Substituir rótulo`,aggregateColumn:`Agregação`,formatColumn:`Formato`,addColumns:`Adicionar colunas`,searchFields:`Pesquisar campos…`,noMatchingFields:`Nenhum campo corresponde à sua pesquisa.`,noFieldsAvailable:`Nenhum campo disponível.`}},organizations:{mine:`Minhas organizações`,title:`Organizações`,heading:`Suas organizações`,subtitle:`Selecione uma organização para continuar ou crie uma nova.`,searchPlaceholder:`Pesquisar uma organização`,new:`Nova organização`,current:`Organização atual`,manage:`Gerenciar`,emptyTitle:`Nenhuma organização ainda`,emptyDescription:`Crie sua primeira organização para começar.`,noMatches:`Nenhuma organização corresponde à sua pesquisa.`},notifications:{empty:`Sem notificações`,markAllRead:`Marcar tudo como lido`,viewAll:`Ver todas as notificações`,approvalsPending:`{{count}} aprovações pendentes`,viewApprovals:`Ver aprovações`,noPendingApprovals:`Sem aprovações pendentes`,openApprovalsInbox:`Abrir caixa de aprovações`},publicForm:{submit:`Submit`,submitting:`Submitting…`,submitAnother:`Submit another response`,poweredBy:`Powered by ObjectStack`,secureNotice:`Your information is transmitted securely and only used to respond to your request.`,thankYouTitle:`Thank you!`,thankYouMessage:`Your submission has been received successfully.`,redirecting:`Redirecting in {{seconds}} seconds…`,unavailableTitle:`Form unavailable`,unavailableDescription:`No public form is available at this URL. Make sure the underlying view has anonymous sharing enabled and matches this slug.`,tryDemo:`Try the demo`,retry:`Retry`,loading:`Loading form…`,requiredHint:`* Required field`,consentLabelDefault:`I agree to the privacy policy and consent to my data being processed for this request.`,consentLink:`Privacy policy`,consentRequired:`Please accept the privacy policy to continue.`,rateLimited:`Please take a moment to review your answers before submitting.`,redirectBlocked:`Submission accepted, but the redirect URL was blocked for security.`,demo:{contactTitle:`Contact us`,contactDescription:`Tell us about your project and a sales representative will get back to you within one business day.`,supportTitle:`Submit a support request`,supportDescription:`Tell us what is going wrong — our team responds within one business day.`,thankYouSalesTitle:`Thanks — we received your message!`,thankYouSalesMessage:`A sales representative will be in touch within one business day.`,thankYouSupportTitle:`Got it — your request is in the queue.`,thankYouSupportMessage:`A support engineer will follow up shortly. Save this page if you have more screenshots to add.`,field:{firstName:`First name`,lastName:`Last name`,email:`Work email`,phone:`Phone`,jobTitle:`Job title`,company:`Company`,website:`Website`,industry:`Industry`,companySize:`Company size`,howCanWeHelp:`How can we help?`,subject:`Subject`,description:`Description`,issueType:`Issue type`,priority:`Priority`},industry:{technology:`Technology`,software:`Software / SaaS`,finance:`Finance`,healthcare:`Healthcare`,retail:`Retail`,other:`Other`},issueType:{question:`Question`,problem:`Problem`,bug:`Bug`,feature_request:`Feature request`},priority:{low:`Low`,medium:`Medium`,high:`High`,critical:`Critical`}}}},ru:{common:{addToFavorites:`Добавить в избранное`,removeFromFavorites:`Удалить из избранного`,loading:`Загрузка...`,save:`Сохранить`,cancel:`Отмена`,delete:`Удалить`,edit:`Редактировать`,create:`Создать`,search:`Поиск`,filter:`Фильтр`,reset:`Сбросить`,confirm:`Подтвердить`,close:`Закрыть`,back:`Назад`,next:`Далее`,previous:`Назад`,submit:`Отправить`,refresh:`Обновить`,export:`Экспорт`,import:`Импорт`,yes:`Да`,no:`Нет`,ok:`ОК`,actions:`Действия`,more:`Ещё`,selectAll:`Выбрать все`,clearAll:`Очистить все`,noData:`Нет данных`,noResults:`Результаты не найдены`,required:`Обязательно`,optional:`Необязательно`,selectOption:`Выберите вариант`,select:`Выбрать...`,openChat:`Открыть чат`,closeChat:`Закрыть чат`,toggleSidebar:`Переключить боковую панель`},validation:{required:`Поле {{field}} обязательно для заполнения`,minLength:`{{field}} должно содержать не менее {{min}} символов`,maxLength:`{{field}} должно содержать не более {{max}} символов`,min:`{{field}} должно быть не менее {{min}}`,max:`{{field}} должно быть не более {{max}}`,email:`Пожалуйста, введите корректный адрес электронной почты`,url:`Пожалуйста, введите корректный URL`,pattern:`Неверный формат поля {{field}}`,unique:`{{field}} должно быть уникальным`,type:`{{field}} должно быть допустимым {{type}}`},form:{addItem:`Добавить элемент`,removeItem:`Удалить элемент`,fieldRequired:`Это поле обязательно`,invalidFormat:`Неверный формат`,saveSuccess:`Успешно сохранено`,saveError:`Ошибка сохранения`,unsavedChanges:`У вас есть несохранённые изменения. Вы уверены, что хотите покинуть страницу?`,stepOf:`Шаг {{current}} из {{total}}`,createTitle:`Создать {{object}}`,editTitle:`Редактировать {{object}}`,createDescription:`Добавить новый {{object}} в базу данных.`,editDescription:`Обновить данные {{object}}`,saveRecord:`Сохранить запись`},table:{rowsPerPage:`Строк на странице`,showing:`Показано с {{from}} по {{to}} из {{total}}`,noRows:`Нет строк для отображения`,sortAsc:`Сортировка по возрастанию`,sortDesc:`Сортировка по убыванию`,filterColumn:`Фильтр по {{column}}`,columns:`Столбцы`,exportCSV:`Экспорт в CSV`,exportExcel:`Экспорт в Excel`,selectRow:`Выбрать строку`,selectAllRows:`Выбрать все строки`,expandRow:`Развернуть строку`,collapseRow:`Свернуть строку`,hideColumn:`Скрыть столбец`,freezeColumn:`Закрепить столбец`,unfreezeColumn:`Открепить столбец`,pageInfo:`Страница {{current}} из {{total}}`,totalRecords:`Всего {{count}}`},grid:{actions:`Действия`,edit:`Редактировать`,delete:`Удалить`,export:`Экспорт`,exportAs:`Экспорт в {{format}}`,loading:`Загрузка таблицы...`,errorLoading:`Ошибка загрузки таблицы`,pullToRefresh:`Потяните для обновления`,refreshing:`Обновление…`,openRecord:`Открыть запись`,rowHeight:`Высота строки: {{mode}}`},calendar:{today:`Сегодня`,month:`Месяц`,week:`Неделя`,day:`День`,agenda:`Расписание`,allDay:`Весь день`,noEvents:`Нет событий`,newEvent:`Новое событие`,moreEvents:`+{{count}} ещё`},list:{recordCount:`{{count}} записей`,recordCountOne:`{{count}} запись`,addRecord:`Добавить запись`,tabs:`Вкладки`,allRecords:`Все записи`,search:`Поиск`,filter:`Фильтр`,filterRecords:`Фильтр записей`,sort:`Сортировка`,sortRecords:`Сортировка записей`,group:`Группировка`,groupBy:`Группировать по`,export:`Экспорт`,exportAs:`Экспорт в {{format}}`,color:`Цвет`,rowColor:`Цвет строки`,colorByField:`Окраска по полю`,clear:`Очистить`,none:`Нет`,hideFields:`Скрыть поля`,noItems:`Элементы не найдены`,noItemsMessage:`Нет записей для отображения. Попробуйте изменить фильтры или добавить новые данные.`},kanban:{addCard:`Добавить карточку`,addColumn:`Добавить колонку`,moveCard:`Переместить карточку`,deleteCard:`Удалить карточку`,deleteColumn:`Удалить колонку`},timeline:{bucket:{overdue:`Просрочено`,today:`Сегодня`,tomorrow:`Завтра`,thisWeek:`На этой неделе`,nextWeek:`На следующей неделе`,later:`Позже`,noDate:`Без даты`,unassigned:`Не назначено`}},gantt:{column:{taskName:`Task Name`,start:`Start`,end:`End`},toolbar:{prevPeriod:`Previous period`,nextPeriod:`Next period`,zoomIn:`Zoom in`,zoomOut:`Zoom out`,jumpToToday:`Jump to today`,today:`Today`,showTaskList:`Show task list`,hideTaskList:`Hide task list`}},view:{rename:`Переименовать`,duplicateView:`Дублировать представление`,shareView:`Поделиться представлением`,setAsDefault:`Установить по умолчанию`,pinView:`Закрепить представление`,unpinView:`Открепить представление`,changeViewType:`Изменить тип представления`,deleteView:`Удалить представление`,addView:`Добавить представление`,unsavedChanges:`Несохранённые изменения`,saveAsView:`Сохранить как представление`,moreViews:`ещё {{count}}`,activeFilters:`Фильтры активны`,activeSort:`Сортировка активна`},detail:{back:`Назад`,edit:`Редактировать`,editInline:`Редактировать`,save:`Сохранить`,saveChanges:`Сохранить изменения`,editFieldsInline:`Редактировать поля`,share:`Поделиться`,duplicate:`Дублировать`,export:`Экспорт`,viewHistory:`Просмотр истории`,delete:`Удалить`,moreActions:`Другие действия`,addToFavorites:`Добавить в избранное`,removeFromFavorites:`Удалить из избранного`,previousRecord:`Предыдущая запись`,nextRecord:`Следующая запись`,recordOf:`{{current}} из {{total}}`,recordNotFound:`Запись не найдена`,recordNotFoundDescription:`Запись, которую вы ищете, не существует или была удалена.`,goBack:`Назад`,details:`Детали`,related:`Связанные`,relatedRecords:`{{count}} записей`,relatedRecordOne:`{{count}} запись`,noRelatedRecords:`Связанные записи не найдены`,loading:`Загрузка...`,copyToClipboard:`Копировать в буфер обмена`,copied:`Скопировано!`,deleteConfirmation:`Вы уверены, что хотите удалить эту запись?`,editRecord:`Редактировать запись`,viewAll:`Показать все`,new:`Создать`,emptyValue:`—`,activity:`Активность`,editRow:`Редактировать`,deleteRow:`Удалить`,deleteRowConfirmation:`Вы уверены, что хотите удалить эту запись?`,actions:`Действия`,previousPage:`Назад`,nextPage:`Далее`,pageOf:`Страница {{current}} из {{total}}`,sortBy:`Сортировать по`,filterPlaceholder:`Фильтр...`,highlightFields:`Ключевые поля`,comments:`Комментарии`,searchComments:`Поиск комментариев…`,addCommentPlaceholder:`Добавить комментарий… (Ctrl+Enter для отправки)`,noMatchingComments:`Нет совпадающих комментариев`,noCommentsYet:`Комментариев пока нет`,pinned:`Закреплено`,pin:`Закрепить`,unpin:`Открепить`,justNow:`только что`,minutesAgo:`{{count}} мин. назад`,hoursAgo:`{{count}} ч. назад`,daysAgo:`{{count}} дн. назад`,dropFilesToUpload:`Перетащите файлы сюда или нажмите для загрузки`,attachmentCount:`{{count}} вложение`,attachmentCountPlural:`{{count}} вложений`,removeAttachment:`Удалить вложение`,unifiedDiff:`Единое представление`,sideBySideDiff:`Параллельное представление`,noChanges:`Нет изменений`,previousVersion:`Предыдущая`,currentVersion:`Текущая`,discussion:`Обсуждение`,showDiscussion:`Показать обсуждение ({{count}})`,hideDiscussion:`Скрыть обсуждение`,bold:`Жирный (Ctrl+B)`,italic:`Курсив (Ctrl+I)`,listFormat:`Список`,inlineCode:`Строчный код`,mentionSomeone:`Упомянуть кого-то`,preview:`Предпросмотр`,submitComment:`Отправить (Ctrl+Enter)`,sendComment:`Отправить`,writeComment:`Написать комментарий…`,subscribedTooltip:`Подписаны — нажмите для отписки`,unsubscribedTooltip:`Подписаться на уведомления`,firstRecord:`Первая запись (Home)`,previousRecordKey:`Предыдущая запись (←)`,nextRecordKey:`Следующая запись (→)`,lastRecord:`Последняя запись (End)`,noRecords:`Нет записей`,searchWhileNavigating:`Поиск при навигации`,searchRecords:`Поиск записей…`,allActivity:`Вся активность`,commentsOnly:`Только комментарии`,fieldChangesFilter:`Изменения полей`,tasksOnly:`Только задачи`,leaveCommentPlaceholder:`Оставить комментарий… (Ctrl+Enter для отправки)`,noActivity:`Нет зарегистрированной активности`,loadMore:`Загрузить ещё`,edited:`(изменено)`,via:`через {{source}}`,replyCount:`{{count}} ответ`,replyCountPlural:`{{count}} ответов`,replyPlaceholder:`Ответить…`,filterActivity:`Фильтр активности`,openDiscussion:`Открыть панель обсуждения`,closeDiscussion:`Закрыть панель обсуждения`,subscribeAriaLabel:`Подписаться на уведомления`,unsubscribeAriaLabel:`Отписаться от уведомлений`,clearSearch:`Очистить поиск`},chart:{noData:`Нет данных для графика`,loading:`Загрузка графика...`},map:{searchLocations:`Поиск местоположений…`,locationDetails:`Детали местоположения`,markersCount:`{{count}} маркеров`,invalidCoordinates:`{{count}} запись с отсутствующими или недействительными координатами исключена из карты.`,invalidCoordinatesPlural:`{{count}} записей с отсутствующими или недействительными координатами исключены из карты.`},workflow:{draft:`Черновик`,active:`Активный`,paused:`Приостановлен`,completed:`Завершён`,cancelled:`Отменён`,save:`Сохранить`,publish:`Опубликовать`,addNode:`Добавить узел`,workflowFlow:`Рабочий процесс`,properties:`Свойства`,connections:`Соединения`,quickConnect:`Быстрое соединение`,fromPlaceholder:`От...`,toPlaceholder:`К...`,connect:`Соединить`,label:`Метка`,type:`Тип`,description:`Описание`,assignee:`Ответственный`,assigneeType:`Тип ответственного`,user:`Пользователь`,role:`Роль`,group:`Группа`,expression:`Выражение`,timeoutMinutes:`Тайм-аут (минуты)`,selectNodeToEdit:`Выберите узел для редактирования его свойств`,workflowTitle:`Название рабочего процесса`,newWorkflow:`Новый рабочий процесс`,outConnections:`{{count}} выходов`,start:`Начало`,end:`Конец`,task:`Задача`,userTask:`Задача пользователя`,serviceTask:`Сервисная задача`,scriptTask:`Скриптовая задача`,approval:`Одобрение`,condition:`Условие`,parallelGateway:`Параллельный шлюз`,joinGateway:`Шлюз объединения`,boundaryEvent:`Граничное событие`,delay:`Задержка`,notification:`Уведомление`,webhook:`Webhook`,allowConcurrency:`Разрешить (параллельное выполнение)`,forbidConcurrency:`Запретить (пропустить новые)`,replaceConcurrency:`Заменить (отменить текущие)`,queueConcurrency:`Очередь (выполнить после текущего)`,conditionEvent:`Условие`,manualEvent:`Ручной`,webhookEvent:`Webhook`,timerEvent:`Таймер`,signalEvent:`Сигнал`,versionHistory:`История версий`,importBpmn:`Импорт BPMN`,exportBpmn:`Экспорт BPMN`,undo:`Отменить`,redo:`Повторить`,resetZoom:`Сбросить масштаб`},dashboard:{addWidget:`Добавить виджет`,removeWidget:`Удалить виджет`,editLayout:`Редактировать макет`,saveLayout:`Сохранить макет`,resetLayout:`Сбросить макет`},configPanel:{save:`Сохранить`,discard:`Отменить`,close:`Закрыть`,layout:`Макет`,columns:`Столбцы`,gap:`Отступ`,rowHeight:`Высота строки`,data:`Данные`,refreshInterval:`Интервал обновления`,appearance:`Внешний вид`,title:`Заголовок`,showDescription:`Показать описание`,theme:`Тема`,configuration:`Конфигурация`,general:`Основные`,advanced:`Дополнительно`},appDesigner:{createApp:`Create Application`,editApp:`Edit Application`,basicInfo:`Basic Info`,objects:`Objects`,navigation:`Navigation`,branding:`Branding`,appName:`App Name`,appTitle:`Title`,appDescription:`Description`,appIcon:`Icon`,template:`Template`,layout:`Layout`,layoutSidebar:`Sidebar`,layoutHeader:`Header`,layoutEmpty:`Empty`,selectObjects:`Select Objects`,searchObjects:`Search objects…`,selectAll:`Select All`,deselectAll:`Deselect All`,navBuilder:`Navigation Builder`,addGroup:`Add Group`,addUrl:`Add URL`,addSeparator:`Add Separator`,noNavItems:`No navigation items yet.`,logoUrl:`Logo URL`,primaryColor:`Primary Color`,faviconUrl:`Favicon URL`,preview:`Preview`,complete:`Complete`,snakeCaseHint:`Must be snake_case (e.g. my_app)`,modeEdit:`Edit`,modePreview:`Preview`,modeCode:`Code`,addWidget:`Add Widget`,widgetProperties:`Widget Properties`,dataSource:`Data Source`,valueField:`Value Field`,aggregate:`Aggregate`,colorVariant:`Color Variant`,addComponent:`Add Component`,componentProperties:`Component Properties`,viewType:`View Type`,fields:`Fields`,toolbar:`Toolbar`,showSearch:`Show Search`,showFilters:`Show Filters`,showSort:`Show Sort`,appearance:`Appearance`,rowHeight:`Row Height`,stripedRows:`Striped Rows`,bordered:`Bordered`,livePreview:`Live Preview`,stepBasicDesc:`Имя, заголовок и макет`,stepObjectsDesc:`Выбрать бизнес-объекты`,stepNavigationDesc:`Построить дерево навигации`,stepBrandingDesc:`Логотип, цвета и фавикон`,noObjectsFound:`Объекты не найдены.`,noNavItemsHint:`Элементов навигации пока нет. Выберите объекты на предыдущем шаге или добавьте вручную.`,separator:`Разделитель`,separatorLabel:`— Разделитель —`,newGroup:`Новая группа`,newLink:`Новая ссылка`,saveDraft:`Сохранить черновик`,cancelConfirmTitle:`Отменить изменения?`,cancelConfirmMessage:`У вас есть несохранённые изменения. Вы уверены, что хотите отменить?`,confirmDiscard:`Отменить`,keepEditing:`Продолжить редактирование`,navNoItems:`Нет элементов навигации. Нажмите кнопки выше, чтобы добавить элементы.`,navNoPreviewItems:`Нет элементов`,navLivePreview:`Предварительный просмотр`,navCollapseGroup:`Свернуть группу`,navExpandGroup:`Развернуть группу`,navAddChild:`Добавить дочерний элемент`,navMoveUp:`Переместить вверх`,navMoveDown:`Переместить вниз`,navRemove:`Удалить`,navObjectPage:`Страница объекта`,navDashboard:`Дашборд`,navPage:`Страница`,navReport:`Отчёт`,navGroup:`Группа`,navUrl:`URL`,navSeparator:`Разделитель`,navTypeObject:`Объект`,navTypeDashboard:`Дашборд`,navTypePage:`Страница`,navTypeReport:`Отчёт`,navTypeUrl:`URL`,navTypeGroup:`Группа`,navTypeSeparator:`Разделитель`,navTypeAction:`Действие`,navEditIcon:`Изменить иконку`,navToggleVisible:`Переключить видимость`,navHidden:`Скрыто`,navExportSchema:`Экспорт JSON`,navImportSchema:`Импорт JSON`,navExportSuccess:`Структура навигации экспортирована`,navImportSuccess:`Структура навигации импортирована`,navImportError:`Недопустимый JSON навигации`,navIconPlaceholder:`Имя иконки (напр. Users)`,dashboardEditor:`Редактор панели`,noWidgets:`Нет виджетов. Нажмите кнопку выше, чтобы добавить.`,widgetLayoutSize:`Размер макета`,widgetWidth:`Ширина`,widgetHeight:`Высота`,dashboardPreview:`Предпросмотр панели`,noWidgetsPreview:`Нет виджетов для предпросмотра`,pageCanvasEditor:`Редактор холста страницы`,emptyPage:`Пустая страница. Нажмите кнопку выше, чтобы добавить компонент.`,pagePreview:`Предпросмотр страницы`,noComponentsPreview:`Нет компонентов для предпросмотра`,modePage:`Страница`,modeDashboard:`Панель`,undo:`Отменить`,redo:`Повторить`,brandingEditor:`Редактор бренда`,brandingExport:`Экспорт JSON`,brandingImport:`Импорт JSON`,brandingPreview:`Предпросмотр`,brandingSampleButton:`Пример кнопки`,brandingSampleText:`Так будет выглядеть тема вашего бренда.`,colorPalette:`Палитра цветов`,fontFamily:`Шрифт`,fontDefault:`По умолчанию (Системный)`,modeLight:`Светлая`,modeDark:`Тёмная`,mobilePreview:`Мобильный предпросмотр`,objectManager:{title:`Менеджер объектов`,addObject:`Новый объект`,searchPlaceholder:`Поиск объектов…`,noObjects:`Объекты не найдены.`,objectName:`Имя API`,objectLabel:`Метка`,pluralLabel:`Метка (мн. число)`,icon:`Иконка`,selectIcon:`Выбрать иконку…`,group:`Группа`,noGroup:`Без группы`,sortOrder:`Порядок сортировки`,enabled:`Включён`,relationships:`Связи`,systemBadge:`Системный`,fieldCount:`{{count}} полей`,ungrouped:`Без группы`,deleteConfirmTitle:`Удалить объект?`,deleteConfirmMessage:`Объект и все его поля будут удалены безвозвратно. Это действие невозможно отменить.`},fieldDesigner:{title:`Дизайнер полей`,addField:`Новое поле`,searchPlaceholder:`Поиск полей…`,allTypes:`Все типы`,noFields:`Поля не найдены.`,fieldName:`Имя API`,fieldLabel:`Метка`,fieldType:`Тип`,fieldGroup:`Группа`,description:`Описание`,required:`Обязательное`,unique:`Уникальное`,readOnly:`Только чтение`,hidden:`Скрытое`,indexed:`Индексированное`,externalId:`Внешний ID`,trackHistory:`Отслеживание истории`,defaultValue:`Значение по умолчанию`,placeholder:`Подсказка`,referenceTo:`Ссылка на`,formula:`Формула`,options:`Варианты`,addOption:`Добавить вариант`,validationRules:`Правила валидации`,addRule:`Добавить правило`,systemBadge:`Системное`,ungrouped:`Общее`,deleteConfirmTitle:`Удалить поле?`,deleteConfirmMessage:`Поле будет удалено безвозвратно. Существующие данные будут потеряны.`}},console:{title:`Консоль ObjectStack`,initializing:`Инициализация приложения...`,breadcrumb:{dashboards:`Панели`,pages:`Страницы`,reports:`Отчёты`,system:`Система`},loadingSteps:{connecting:`Подключение к источнику данных`,loadingConfig:`Загрузка конфигурации`,preparingWorkspace:`Подготовка рабочего пространства`},error:{connectionFailed:`Не удаётся подключиться к серверу`,serverUnreachable:`Сервер {{url}} недоступен.`,checkServer:`Проверьте сетевое подключение или работает ли бэкенд.`,timeout:`Время ожидания подключения истекло (10 секунд).`},actions:{retry:`Повторить`,retrying:`Повтор…`},shortcuts:{title:`Горячие клавиши`,description:`Краткий справочник по всем доступным горячим клавишам.`,groups:{general:`Общие`,navigation:`Навигация`,dataViews:`Представления данных`,preferences:`Настройки`},openCommandPalette:`Открыть палитру команд`,showShortcuts:`Показать горячие клавиши`,closeDialog:`Закрыть диалог / панель`,toggleSidebar:`Переключить боковую панель`,focusSearch:`Фокус на поиске`,createRecord:`Создать новую запись`,refreshData:`Обновить данные`,editRecord:`Редактировать выбранную запись`,toggleDarkMode:`Переключить тёмный режим`},commandPalette:{placeholder:`Введите команду или поиск...`,noResults:`Результаты не найдены.`,objects:`Объекты`,dashboards:`Панели мониторинга`,pages:`Страницы`,reports:`Отчёты`,switchApp:`Переключить приложение`,current:`Текущее`,preferences:`Настройки`,lightTheme:`Светлая тема`,darkTheme:`Тёмная тема`,systemTheme:`Системная тема`,actions:`Действия`,openFullSearch:`Открыть полную страницу поиска`,createApp:`Создать новое приложение`},errors:{somethingWentWrong:`Что-то пошло не так`,unexpectedError:`При отображении этого представления произошла непредвиденная ошибка.`,tryAgain:`Попробовать снова`,goHome:`На главную`,errorDetails:`Подробности ошибки (только для разработки)`},theme:{toggle:`Переключить тему`,light:`Светлая`,dark:`Тёмная`,system:`Системная`},objectView:{objectNotFound:`Объект не найден`,objectNotFoundDescription:`Объект «{{objectName}}» не существует в текущей конфигурации.`,objectNotFoundHint:`Проверьте настройки навигации приложения или выберите другой объект на боковой панели.`,allRecords:`Все записи`,exitDesignMode:`Выйти из режима дизайна`,enterDesignMode:`Войти в режим дизайна`,metadataInspector:`Инспектор метаданных`,editView:`Редактировать представление`,addView:`Добавить представление`,designTools:`Инструменты дизайна`,new:`Создать`,configureView:`Настроить представление`,closePanel:`Закрыть панель`,page:`Страница`,pageConfigHint:`Панель инструментов, навигация и настройки оболочки представления`,listConfigHint:`Отрисовка данных, столбцы и внешний вид для этого типа списка`,general:`Общие`,generalHint:`Название, описание и тип представления`,toolbar:`Панель инструментов`,toolbarHint:`Поиск, фильтр, сортировка, группировка и переключение плотности`,toolbarEnabledCount:`{{count}} из {{total}} включено`,navigationSection:`Навигация`,navigationHint:`Поведение при нажатии на строку и настройки детального представления`,records:`Записи`,recordsHint:`Режим выбора, добавление записи и встроенное редактирование`,exportPrint:`Экспорт и печать`,exportPrintHint:`Форматы экспорта, печать и отображение количества записей`,showAllFields:`Показать все`,hideAllFields:`Скрыть все`,searchFields:`Поиск полей...`,title:`Заголовок`,description:`Описание`,data:`Данные`,source:`Источник`,columns:`Столбцы`,filterBy:`Фильтр по`,sortBy:`Сортировка по`,appearance:`Внешний вид`,showDescription:`Показать описание`,viewType:`Тип представления`,userFilters:`Фильтры пользователя`,enableSearch:`Включить поиск`,enableFilter:`Включить фильтр`,enableSort:`Включить сортировку`,enableHideFields:`Включить скрытие полей`,enableGroup:`Включить группировку`,enableColor:`Включить цвет`,enableDensity:`Включить плотность`,userActions:`Действия пользователя`,addRecordViaForm:`Добавить записи через форму`,advanced:`Расширенные`,allowExport:`Разрешить экспорт`,recordCount:`{{count}} записей`,noDescription:`Нет описания`,none:`Нет`,columnsConfigured:`{{count}} столбцов`,save:`Сохранить`,discard:`Отменить`,createView:`Создать представление`,newView:`Новое представление`,typeOptions:`Параметры типа`,groupByField:`Поле группировки`,startDateField:`Поле даты начала`,titleField:`Поле заголовка`,latitudeField:`Поле широты`,longitudeField:`Поле долготы`,imageField:`Поле изображения`,dateField:`Поле даты`,selectField:`Выберите поле...`,gridOptionsHint:`Представление таблицы использует столбцы, настроенные выше.`,groupBy:`Группировать по`,prefixField:`Поле префикса`,fields:`Поля`,fieldsVisible:`{{count}} видимых`,sortsCount:`{{count}} сортировок`,filtersCount:`{{count}} фильтров`,endDateField:`Поле даты окончания`,color:`Цвет`,fieldTextColor:`Цвет текста поля`,rowHeight:`Высота строки`,wrapHeaders:`Перенос заголовков`,showFieldDescriptions:`Показать описания полей`,collapseAllByDefault:`Свернуть всё по умолчанию`,striped:`Полосатые строки`,bordered:`Ячейки с границами`,inlineEdit:`Редактировать записи встроенно`,addDeleteRecordsInline:`Добавлять/удалять записи встроенно`,clickIntoRecordDetails:`Нажмите для просмотра деталей записи`,navigationMode:`Режим навигации`,navigationWidth:`Ширина навигации`,navigationWidthHint:`Доступно для режимов навигации: выдвижная панель, модальное окно и разделённый вид`,openNewTab:`Открыть в новой вкладке`,openNewTabHint:`Доступно для режимов навигации: страница и новое окно`},localeSwitcher:{label:`Язык`}},auth:{login:{title:`Войдите в свой аккаунт`,description:`Введите электронную почту и пароль для продолжения`,emailLabel:`Электронная почта`,emailPlaceholder:`name@example.com`,passwordLabel:`Пароль`,passwordPlaceholder:`Введите пароль`,forgotPasswordText:`Забыли пароль?`,submitButton:`Войти`,submittingButton:`Вход...`,noAccountText:`Нет аккаунта?`,signUpText:`Зарегистрироваться`},register:{title:`Создать аккаунт`,description:`Введите свои данные, чтобы начать`,nameLabel:`Имя`,namePlaceholder:`Иван Иванов`,emailLabel:`Электронная почта`,emailPlaceholder:`name@example.com`,passwordLabel:`Пароль`,passwordPlaceholder:`Создайте пароль (мин. 8 символов)`,confirmPasswordLabel:`Подтвердите пароль`,confirmPasswordPlaceholder:`Подтвердите свой пароль`,passwordMismatchError:`Пароли не совпадают`,passwordTooShortError:`Пароль должен содержать не менее 8 символов`,submitButton:`Создать аккаунт`,submittingButton:`Создание аккаунта...`,hasAccountText:`Уже есть аккаунт?`,signInText:`Войти`},forgotPassword:{title:`Сбросить пароль`,description:`Введите адрес электронной почты, и мы отправим вам ссылку для сброса пароля`,emailLabel:`Электронная почта`,emailPlaceholder:`name@example.com`,submitButton:`Отправить ссылку для сброса`,submittingButton:`Отправка...`,successTitle:`Проверьте почту`,successDescription:`Мы отправили ссылку для сброса пароля на {{email}}. Пожалуйста, проверьте свою почту.`,backToSignInText:`Вернуться к входу`,rememberPasswordText:`Помните свой пароль?`,signInText:`Войти`}},errors:{networkError:`Ошибка сети. Проверьте подключение к интернету.`,serverError:`Ошибка сервера. Попробуйте позже.`,notFound:`Ресурс не найден.`,unauthorized:`У вас нет прав для выполнения этого действия.`,forbidden:`Доступ запрещён.`,timeout:`Время ожидания истекло. Попробуйте снова.`,unknown:`Произошла непредвиденная ошибка.`},workspace:{label:`Рабочие пространства`,default:`Моё рабочее пространство`,switch:`Переключить рабочее пространство`,create:`Создать рабочее пространство`,createTitle:`Создать рабочее пространство`,createDescription:`Рабочее пространство — это общее место для совместной работы вашей команды.`,createButton:`Создать рабочее пространство`,nameLabel:`Имя рабочего пространства`,namePlaceholder:`например, Acme Inc`,slugLabel:`URL-слаг`,slugHint:`Используется в URL. Только строчные буквы, цифры и дефисы.`,invite:`Пригласить участника`,members:`Участники`,settings:`Настройки рабочего пространства`},sidebar:{settings:`Настройки`,help:`Помощь`,helpTooltip:`Помощь и документация`,activityFeed:`Лента активности`},home:{title:`Главная`,subtitle:`Панель вашего рабочего пространства`,nav:`Главная`,allApps:`Все приложения`,loading:`Загрузка рабочего пространства...`,recent:`Недавние`,starred:`Избранные`,welcome:`Добро пожаловать в ObjectUI`,welcomeDescription:`Начните с создания вашего первого приложения или настройки системы.`,createFirstApp:`Создайте первое приложение`,systemSettings:`Системные настройки`,quickActions:{title:`Быстрые действия`,createApp:`Создать приложение`,createAppDesc:`Начните с нового приложения`,manageObjects:`Управление объектами`,manageObjectsDesc:`Настройте модели данных`,systemSettings:`Системные настройки`,systemSettingsDesc:`Настройте рабочее пространство`},appCard:{noDescription:`Без описания`,default:`По умолчанию`}},layout:{appSwitcher:{home:`Home`,addApp:`Add App`,editApp:`Edit App`,manageAllApps:`Manage All Apps`,systemConsole:`System Console`,noAppsConfigured:`No apps configured`},activityFeed:{title:`Recent Activity`,filter:`Filter`,empty:`No recent activity`,ariaLabel:`Activity feed`,typeCreate:`Create`,typeUpdate:`Update`,typeDelete:`Delete`,typeComment:`Comment`,relativeJustNow:`just now`,relativeSecondsAgo:`{{count}}s ago`,relativeMinutesAgo:`{{count}}m ago`,relativeHoursAgo:`{{count}}h ago`,relativeDaysAgo:`{{count}}d ago`},metadata:{label:`Metadata`,toggleTitle:`Toggle Metadata Inspector`,panelTitle:`Metadata Inspector`,jsonBadge:`JSON`,copyJson:`Copy JSON`}},search:{title:`Search`,back:`Back`,placeholder:`Search objects, dashboards, pages, reports...`,inputAriaLabel:`Search objects, dashboards, pages, reports`,resultsCount:`{{count}} result for "{{query}}"`,resultsCountPlural:`{{count}} results for "{{query}}"`,itemsAvailable:`{{count}} items available`,noResults:`No results found`,noResultsHint:`Try adjusting your search terms`,typeObjects:`Objects`,typeDashboards:`Dashboards`,typePages:`Pages`,typeReports:`Reports`,badgeObject:`object`,badgeDashboard:`dashboard`,badgePage:`page`,badgeReport:`report`},empty:{objectNotFound:`Object Not Found`,objectNotFoundDescription:`Object "{{name}}" definition missing. Check your configuration or navigate back to select a valid object.`,pageNotFound:`Page Not Found`,pageNotFoundDescription:`The page "{{name}}" could not be found. It may have been removed or renamed.`,dashboardNotFound:`Dashboard Not Found`,dashboardNotFoundDescription:`The dashboard "{{name}}" could not be found. It may have been removed or renamed.`,reportNotFound:`Report Not Found`,reportNotFoundDescription:`The report "{{name}}" could not be found. It may have been removed or renamed.`,noAppsConfigured:`No Apps Configured`,noAppsConfiguredDescription:`No applications have been registered. Create your first app or visit System Settings to configure your environment.`,createFirstApp:`Create Your First App`,systemSettings:`System Settings`,back:`Back`},renderer:{noPageSchema:`No page schema provided`,noFormSchema:`No form schema provided`,noDashboardSchema:`No dashboard schema provided`,pageRendering:`Page rendering: {{name}}`,dashboardRendering:`Dashboard rendering: {{name}}`,formRenderingMode:`Form rendering in {{mode}} mode`,formRenderingFor:`for record {{id}}`,createRecord:`Create Record`,editRecord:`Edit Record`,page:`Page`,dashboard:`Dashboard`,save:`Save`,cancel:`Cancel`},actionDialog:{title:`Action Parameters`,description:`Please provide the required information to continue.`,selectPlaceholder:`Select {{label}}`,requiredError:`{{label}} is required`,cancel:`Cancel`,confirm:`Confirm`,defaultActionTitle:`Action`,ok:`OK`},rowAction:{openMenu:`Open menu`,edit:`Edit`,delete:`Delete`},navigationSync:{addedPage:`Navigation updated: added page "{{name}}"`,addedDashboard:`Navigation updated: added dashboard "{{name}}"`,removedPage:`Navigation updated: removed page "{{name}}"`,removedDashboard:`Navigation updated: removed dashboard "{{name}}"`,renamedPage:`Navigation updated: renamed page "{{oldName}}" → "{{newName}}"`,renamedDashboard:`Navigation updated: renamed dashboard "{{oldName}}" → "{{newName}}"`,undoLabel:`Undo`,undone:`Navigation change undone`,undoFailed:`Failed to undo navigation change`,updateFailed:`Failed to update navigation`},objectActions:{deleteSuccess:`{{label}} deleted successfully`,deleteFailed:`Failed to delete {{label}}`,noRecordId:`No record ID provided`,deleteConfirm:`Are you sure you want to delete this record?`},objectViewActions:{renameFailed:`Failed to rename view`,deleteFailed:`Failed to delete view`},dashboardActions:{pdfPreparing:`Preparing PDF export…`,exportFailed:`Export failed: {{message}}`,forecastSoon:`Forecast view coming soon`},recordDetail:{viewersTooltip:`Users viewing this record`},cellRender:{empty:`Empty`,yes:`Yes`,no:`No`,systemFields:`System`},user:{profile:`Profile`,settings:`Settings`,logout:`Log out`},report:{rowTotal:`Row Total`,columnTotal:`Column Total`,grandTotal:`Grand Total`,totals:`Totals`,rowsLabel:`Row`,columnsLabel:`Column`,allLabel:`(All)`,emptyLabel:`(Empty)`,loading:`Loading…`,failedToLoad:`Failed to load matrix: {{message}}`,needsAcross:"Matrix report requires at least one `groupingsAcross` field.",aggregate:{count:`Count`,countDistinct:`Distinct Count`,sum:`Sum`,avg:`Average`,min:`Min`,max:`Max`,first:`First`},editor:{breadcrumb:`Конфигурация`,basic:`Основное`,title:`Заголовок`,titlePlaceholder:`напр., Воронка по кварталам`,description:`Описание`,descriptionPlaceholder:`Что показывает этот отчёт?`,type:`Тип отчёта`,typeTabular:`Табличный — плоский список`,typeSummary:`Сводный — группировка с итогами`,typeMatrix:`Матричный — сводка строки × столбцы`,typeJoined:`Объединённый — несколько блоков`,typeHelp:`Выберите макет, который соответствует тому, что хотите увидеть.`,data:`Данные`,objectName:`Источник данных`,objectNamePlaceholder:`напр., opportunity`,objectNameHelp:`К какому объекту обращается этот отчёт?`,limit:`Лимит строк`,limitPlaceholder:`напр., 100`,columns:`Столбцы`,columnsHint:`Выберите поля для столбцов. В сводных и матричных отчётах добавляйте агрегаты (Сумма, Количество…).`,filters:`Фильтры`,filtersHint:`Ограничьте строки, попадающие в отчёт.`,filtersComplex:`В отчёте используется расширенный фильтр, который нельзя редактировать здесь. При сохранении он останется без изменений.`,groupBy:`Группировать по`,groupByHint:`Сгруппируйте данные и посчитайте промежуточные итоги.`,rows:`Строки`,rowsHint:`Сгруппировать строки по этим полям.`,columnsAxis:`Столбцы`,columnsAxisHint:`Развернуть эти поля по горизонтали.`,values:`Значения`,valuesHint:`Числа в каждой ячейке. Выберите одно или несколько полей и задайте агрегат (Сумма, Количество…).`,grouping:`Группировка`,addGrouping:`Добавить группировку`,dateGranularity:`Гранулярность даты`,dateGranularityNone:`(исходное значение)`,day:`День`,week:`Неделя`,month:`Месяц`,quarter:`Квартал`,year:`Год`,sortAsc:`По возрастанию`,sortDesc:`По убыванию`,chart:`График`,chartHint:`Дополнительная визуализация рядом с таблицей.`,chartType:`Тип графика`,chartTitle:`Заголовок графика`,chartTitlePlaceholder:`По умолчанию — заголовок отчёта`,chartXAxis:`Ось X (категория)`,chartYAxis:`Ось Y (значение)`,chartShowLegend:`Показывать легенду`,chartShowDataLabels:`Показывать подписи данных`,chartNone:`(без графика)`,chartBar:`Столбчатый`,chartLine:`Линейный`,chartArea:`Областной`,chartPie:`Круговой`,chartDonut:`Кольцевой`,chartFunnel:`Воронка`,validationNeedsObject:`Выберите источник данных перед добавлением столбцов.`,validationMatrixNeedsRowsCols:`Для матричного отчёта нужны хотя бы одна строка и один столбец.`,validationSummaryNeedsRows:`Для сводного отчёта нужно хотя бы одно поле группировки.`,blocks:`Блоки`,blocksHint:`Каждый блок — отдельная таблица или график. Фильтры блока объединяются с фильтром отчёта по И.`,addBlock:`Добавить блок`,removeBlock:`Удалить блок`,blockName:`Имя блока`,blockNamePlaceholder:`уникальное_имя_блока`,blockLabel:`Отображаемое название`,blockLabelPlaceholder:`Показывается над блоком`,blockDescription:`Описание`,blockDescriptionPlaceholder:`Необязательный контекст для блока`,validationJoinedNeedsBlocks:`Объединённый отчёт должен содержать хотя бы один блок.`,validationBlockNameRequired:`У каждого блока должно быть непустое имя.`,validationBlockNameDuplicate:`Имена блоков в отчёте должны быть уникальными.`,validationBlockNeedsColumns:`В каждом блоке должна быть хотя бы одна колонка.`,noneOption:`(нет)`,addCondition:`Добавить условие`,combineLogic:`Объединить с`,opContains:`содержит`,opIsEmpty:`пусто`,opIsNotEmpty:`не пусто`,formatAuto:`Авто`,formatCurrency:`Валюта`,formatPercent:`Процент`,formatInteger:`Целое число`,formatDate:`Дата`,formatDatetime:`Дата и время`,columnLabelPlaceholder:`Переопределить подпись`,aggregateColumn:`Агрегат`,formatColumn:`Формат`,addColumns:`Добавить столбцы`,searchFields:`Поиск полей…`,noMatchingFields:`Нет полей, соответствующих запросу.`,noFieldsAvailable:`Полей нет.`}},organizations:{mine:`Мои организации`,title:`Организации`,heading:`Ваши организации`,subtitle:`Выберите организацию, чтобы продолжить, или создайте новую.`,searchPlaceholder:`Поиск организации`,new:`Новая организация`,current:`Текущая организация`,manage:`Управление`,emptyTitle:`Пока нет организаций`,emptyDescription:`Создайте свою первую организацию, чтобы начать.`,noMatches:`Нет организаций, соответствующих запросу.`},notifications:{empty:`Нет уведомлений`,markAllRead:`Отметить все как прочитанные`,viewAll:`Показать все уведомления`,approvalsPending:`{{count}} ожидающих утверждений`,viewApprovals:`Показать утверждения`,noPendingApprovals:`Нет ожидающих утверждений`,openApprovalsInbox:`Открыть входящие утверждений`},publicForm:{submit:`Submit`,submitting:`Submitting…`,submitAnother:`Submit another response`,poweredBy:`Powered by ObjectStack`,secureNotice:`Your information is transmitted securely and only used to respond to your request.`,thankYouTitle:`Thank you!`,thankYouMessage:`Your submission has been received successfully.`,redirecting:`Redirecting in {{seconds}} seconds…`,unavailableTitle:`Form unavailable`,unavailableDescription:`No public form is available at this URL. Make sure the underlying view has anonymous sharing enabled and matches this slug.`,tryDemo:`Try the demo`,retry:`Retry`,loading:`Loading form…`,requiredHint:`* Required field`,consentLabelDefault:`I agree to the privacy policy and consent to my data being processed for this request.`,consentLink:`Privacy policy`,consentRequired:`Please accept the privacy policy to continue.`,rateLimited:`Please take a moment to review your answers before submitting.`,redirectBlocked:`Submission accepted, but the redirect URL was blocked for security.`,demo:{contactTitle:`Contact us`,contactDescription:`Tell us about your project and a sales representative will get back to you within one business day.`,supportTitle:`Submit a support request`,supportDescription:`Tell us what is going wrong — our team responds within one business day.`,thankYouSalesTitle:`Thanks — we received your message!`,thankYouSalesMessage:`A sales representative will be in touch within one business day.`,thankYouSupportTitle:`Got it — your request is in the queue.`,thankYouSupportMessage:`A support engineer will follow up shortly. Save this page if you have more screenshots to add.`,field:{firstName:`First name`,lastName:`Last name`,email:`Work email`,phone:`Phone`,jobTitle:`Job title`,company:`Company`,website:`Website`,industry:`Industry`,companySize:`Company size`,howCanWeHelp:`How can we help?`,subject:`Subject`,description:`Description`,issueType:`Issue type`,priority:`Priority`},industry:{technology:`Technology`,software:`Software / SaaS`,finance:`Finance`,healthcare:`Healthcare`,retail:`Retail`,other:`Other`},issueType:{question:`Question`,problem:`Problem`,bug:`Bug`,feature_request:`Feature request`},priority:{low:`Low`,medium:`Medium`,high:`High`,critical:`Critical`}}}},ar:{common:{addToFavorites:`إضافة إلى المفضلة`,removeFromFavorites:`إزالة من المفضلة`,loading:`جاري التحميل...`,save:`حفظ`,cancel:`إلغاء`,delete:`حذف`,edit:`تعديل`,create:`إنشاء`,search:`بحث`,filter:`تصفية`,reset:`إعادة تعيين`,confirm:`تأكيد`,close:`إغلاق`,back:`رجوع`,next:`التالي`,previous:`السابق`,submit:`إرسال`,refresh:`تحديث`,export:`تصدير`,import:`استيراد`,yes:`نعم`,no:`لا`,ok:`موافق`,actions:`إجراءات`,more:`المزيد`,selectAll:`تحديد الكل`,clearAll:`مسح الكل`,noData:`لا توجد بيانات`,noResults:`لم يتم العثور على نتائج`,required:`مطلوب`,optional:`اختياري`,selectOption:`اختر خياراً`,select:`اختر...`,openChat:`فتح المحادثة`,closeChat:`إغلاق المحادثة`,toggleSidebar:`تبديل الشريط الجانبي`},validation:{required:`{{field}} مطلوب`,minLength:`{{field}} يجب أن يكون {{min}} حرفاً على الأقل`,maxLength:`{{field}} يجب ألا يتجاوز {{max}} حرفاً`,min:`{{field}} يجب أن يكون {{min}} على الأقل`,max:`{{field}} يجب ألا يتجاوز {{max}}`,email:`يرجى إدخال بريد إلكتروني صالح`,url:`يرجى إدخال رابط صالح`,pattern:`صيغة {{field}} غير صالحة`,unique:`{{field}} يجب أن يكون فريداً`,type:`{{field}} يجب أن يكون {{type}} صالحاً`},form:{addItem:`إضافة عنصر`,removeItem:`إزالة عنصر`,fieldRequired:`هذا الحقل مطلوب`,invalidFormat:`صيغة غير صالحة`,saveSuccess:`تم الحفظ بنجاح`,saveError:`فشل في الحفظ`,unsavedChanges:`لديك تغييرات غير محفوظة. هل أنت متأكد أنك تريد المغادرة؟`,stepOf:`الخطوة {{current}} من {{total}}`,createTitle:`إنشاء {{object}}`,editTitle:`تعديل {{object}}`,createDescription:`إضافة {{object}} جديد إلى قاعدة البيانات.`,editDescription:`تحديث تفاصيل {{object}}`,saveRecord:`حفظ السجل`},table:{rowsPerPage:`صفوف في الصفحة`,showing:`عرض {{from}} إلى {{to}} من {{total}}`,noRows:`لا توجد صفوف للعرض`,sortAsc:`ترتيب تصاعدي`,sortDesc:`ترتيب تنازلي`,filterColumn:`تصفية {{column}}`,columns:`الأعمدة`,exportCSV:`تصدير CSV`,exportExcel:`تصدير Excel`,selectRow:`تحديد صف`,selectAllRows:`تحديد جميع الصفوف`,expandRow:`توسيع الصف`,collapseRow:`طي الصف`,hideColumn:`إخفاء العمود`,freezeColumn:`تجميد العمود`,unfreezeColumn:`إلغاء تجميد العمود`,pageInfo:`صفحة {{current}} من {{total}}`,totalRecords:`{{count}} إجمالي`},grid:{actions:`إجراءات`,edit:`تعديل`,delete:`حذف`,export:`تصدير`,exportAs:`تصدير كـ {{format}}`,loading:`جاري تحميل الشبكة...`,errorLoading:`خطأ في تحميل الشبكة`,pullToRefresh:`اسحب للتحديث`,refreshing:`جاري التحديث…`,openRecord:`فتح السجل`,rowHeight:`ارتفاع الصف: {{mode}}`},calendar:{today:`اليوم`,month:`شهر`,week:`أسبوع`,day:`يوم`,agenda:`جدول أعمال`,allDay:`طوال اليوم`,noEvents:`لا توجد أحداث`,newEvent:`حدث جديد`,moreEvents:`+{{count}} المزيد`},list:{recordCount:`{{count}} سجلات`,recordCountOne:`{{count}} سجل`,addRecord:`إضافة سجل`,tabs:`علامات التبويب`,allRecords:`جميع السجلات`,search:`بحث`,filter:`تصفية`,filterRecords:`تصفية السجلات`,sort:`ترتيب`,sortRecords:`ترتيب السجلات`,group:`تجميع`,groupBy:`تجميع حسب`,export:`تصدير`,exportAs:`تصدير كـ {{format}}`,color:`لون`,rowColor:`لون الصف`,colorByField:`تلوين حسب الحقل`,clear:`مسح`,none:`لا شيء`,hideFields:`إخفاء الحقول`,noItems:`لم يتم العثور على عناصر`,noItemsMessage:`لا توجد سجلات للعرض. حاول تعديل الفلاتر أو إضافة بيانات جديدة.`},kanban:{addCard:`إضافة بطاقة`,addColumn:`إضافة عمود`,moveCard:`نقل بطاقة`,deleteCard:`حذف بطاقة`,deleteColumn:`حذف عمود`},timeline:{bucket:{overdue:`متأخر`,today:`اليوم`,tomorrow:`غداً`,thisWeek:`هذا الأسبوع`,nextWeek:`الأسبوع القادم`,later:`لاحقاً`,noDate:`بدون تاريخ`,unassigned:`غير معين`}},gantt:{column:{taskName:`Task Name`,start:`Start`,end:`End`},toolbar:{prevPeriod:`Previous period`,nextPeriod:`Next period`,zoomIn:`Zoom in`,zoomOut:`Zoom out`,jumpToToday:`Jump to today`,today:`Today`,showTaskList:`Show task list`,hideTaskList:`Hide task list`}},view:{rename:`إعادة تسمية`,duplicateView:`تكرار العرض`,shareView:`مشاركة العرض`,setAsDefault:`تعيين كافتراضي`,pinView:`تثبيت العرض`,unpinView:`إلغاء تثبيت العرض`,changeViewType:`تغيير نوع العرض`,deleteView:`حذف العرض`,addView:`إضافة عرض`,unsavedChanges:`تغييرات غير محفوظة`,saveAsView:`حفظ كعرض`,moreViews:`{{count}} المزيد`,activeFilters:`الفلاتر نشطة`,activeSort:`الترتيب نشط`},detail:{back:`رجوع`,edit:`تحرير`,editInline:`تحرير`,save:`حفظ`,saveChanges:`حفظ التغييرات`,editFieldsInline:`تحرير الحقول`,share:`مشاركة`,duplicate:`نسخ`,export:`تصدير`,viewHistory:`عرض السجل`,delete:`حذف`,moreActions:`المزيد من الإجراءات`,addToFavorites:`إضافة إلى المفضلة`,removeFromFavorites:`إزالة من المفضلة`,previousRecord:`السجل السابق`,nextRecord:`السجل التالي`,recordOf:`{{current}} من {{total}}`,recordNotFound:`لم يتم العثور على السجل`,recordNotFoundDescription:`السجل الذي تبحث عنه غير موجود أو ربما تم حذفه.`,goBack:`رجوع`,details:`التفاصيل`,related:`ذات صلة`,relatedRecords:`{{count}} سجلات`,relatedRecordOne:`{{count}} سجل`,noRelatedRecords:`لا توجد سجلات ذات صلة`,loading:`جاري التحميل...`,copyToClipboard:`نسخ إلى الحافظة`,copied:`تم النسخ!`,deleteConfirmation:`هل أنت متأكد أنك تريد حذف هذا السجل؟`,editRecord:`تحرير السجل`,viewAll:`عرض الكل`,new:`جديد`,emptyValue:`—`,comments:`التعليقات`,searchComments:`البحث في التعليقات…`,addCommentPlaceholder:`أضف تعليقاً… (Ctrl+Enter للإرسال)`,noMatchingComments:`لا توجد تعليقات مطابقة`,noCommentsYet:`لا توجد تعليقات بعد`,pinned:`مثبت`,pin:`تثبيت`,unpin:`إلغاء التثبيت`,justNow:`الآن`,minutesAgo:`منذ {{count}} دقيقة`,hoursAgo:`منذ {{count}} ساعة`,daysAgo:`منذ {{count}} يوم`,dropFilesToUpload:`اسحب الملفات هنا أو انقر للرفع`,attachmentCount:`{{count}} مرفق`,attachmentCountPlural:`{{count}} مرفقات`,removeAttachment:`إزالة المرفق`,unifiedDiff:`عرض موحد`,sideBySideDiff:`عرض جنباً إلى جنب`,noChanges:`لا توجد تغييرات`,previousVersion:`السابق`,currentVersion:`الحالي`,discussion:`المناقشة`,showDiscussion:`إظهار المناقشة ({{count}})`,hideDiscussion:`إخفاء المناقشة`,bold:`غامق (Ctrl+B)`,italic:`مائل (Ctrl+I)`,listFormat:`قائمة`,inlineCode:`كود مضمن`,mentionSomeone:`إشارة إلى شخص`,preview:`معاينة`,submitComment:`إرسال (Ctrl+Enter)`,sendComment:`إرسال`,writeComment:`اكتب تعليقاً…`,subscribedTooltip:`مشترك — انقر لإلغاء الاشتراك`,unsubscribedTooltip:`الاشتراك في الإشعارات`,firstRecord:`السجل الأول (Home)`,previousRecordKey:`السجل السابق (←)`,nextRecordKey:`السجل التالي (→)`,lastRecord:`السجل الأخير (End)`,noRecords:`لا توجد سجلات`,searchWhileNavigating:`البحث أثناء التصفح`,searchRecords:`البحث في السجلات…`,allActivity:`كل النشاط`,commentsOnly:`التعليقات فقط`,fieldChangesFilter:`تغييرات الحقول`,tasksOnly:`المهام فقط`,leaveCommentPlaceholder:`اترك تعليقاً… (Ctrl+Enter للإرسال)`,noActivity:`لا يوجد نشاط مسجل`,loadMore:`تحميل المزيد`,edited:`(معدل)`,via:`عبر {{source}}`,replyCount:`{{count}} رد`,replyCountPlural:`{{count}} ردود`,replyPlaceholder:`رد…`,filterActivity:`تصفية النشاط`,openDiscussion:`فتح لوحة المناقشة`,closeDiscussion:`إغلاق لوحة المناقشة`,subscribeAriaLabel:`الاشتراك في الإشعارات`,unsubscribeAriaLabel:`إلغاء الاشتراك من الإشعارات`,clearSearch:`مسح البحث`},chart:{noData:`لا تتوفر بيانات للرسم البياني`,loading:`جاري تحميل الرسم البياني...`},map:{searchLocations:`البحث عن المواقع…`,locationDetails:`تفاصيل الموقع`,markersCount:`{{count}} علامة`,invalidCoordinates:`{{count}} سجل بإحداثيات مفقودة أو غير صالحة مستبعد من الخريطة.`,invalidCoordinatesPlural:`{{count}} سجلات بإحداثيات مفقودة أو غير صالحة مستبعدة من الخريطة.`},workflow:{draft:`مسودة`,active:`نشط`,paused:`متوقف مؤقتاً`,completed:`مكتمل`,cancelled:`ملغي`,save:`حفظ`,publish:`نشر`,addNode:`إضافة عقدة`,workflowFlow:`سير العمل`,properties:`الخصائص`,connections:`الاتصالات`,quickConnect:`اتصال سريع`,fromPlaceholder:`من...`,toPlaceholder:`إلى...`,connect:`ربط`,label:`التسمية`,type:`النوع`,description:`الوصف`,assignee:`المسؤول`,assigneeType:`نوع المسؤول`,user:`مستخدم`,role:`دور`,group:`مجموعة`,expression:`تعبير`,timeoutMinutes:`المهلة (دقائق)`,selectNodeToEdit:`حدد عقدة لتعديل خصائصها`,workflowTitle:`عنوان سير العمل`,newWorkflow:`سير عمل جديد`,outConnections:`{{count}} مخرج`,start:`بداية`,end:`نهاية`,task:`مهمة`,userTask:`مهمة مستخدم`,serviceTask:`مهمة خدمة`,scriptTask:`مهمة نصية`,approval:`موافقة`,condition:`شرط`,parallelGateway:`بوابة متوازية`,joinGateway:`بوابة دمج`,boundaryEvent:`حدث حدودي`,delay:`تأخير`,notification:`إشعار`,webhook:`Webhook`,allowConcurrency:`السماح (تنفيذ متزامن)`,forbidConcurrency:`منع (تخطي الجديد)`,replaceConcurrency:`استبدال (إلغاء الحالي)`,queueConcurrency:`طابور (تنفيذ بعد الحالي)`,conditionEvent:`شرط`,manualEvent:`يدوي`,webhookEvent:`Webhook`,timerEvent:`مؤقت`,signalEvent:`إشارة`,versionHistory:`تاريخ الإصدارات`,importBpmn:`استيراد BPMN`,exportBpmn:`تصدير BPMN`,undo:`تراجع`,redo:`إعادة`,resetZoom:`إعادة تعيين التكبير`},dashboard:{addWidget:`إضافة أداة`,removeWidget:`إزالة أداة`,editLayout:`تعديل التخطيط`,saveLayout:`حفظ التخطيط`,resetLayout:`إعادة تعيين التخطيط`},configPanel:{save:`حفظ`,discard:`تجاهل`,close:`إغلاق`,layout:`التخطيط`,columns:`الأعمدة`,gap:`المسافة`,rowHeight:`ارتفاع الصف`,data:`البيانات`,refreshInterval:`فترة التحديث`,appearance:`المظهر`,title:`العنوان`,showDescription:`إظهار الوصف`,theme:`السمة`,configuration:`الإعداد`,general:`عام`,advanced:`متقدم`},appDesigner:{createApp:`Create Application`,editApp:`Edit Application`,basicInfo:`Basic Info`,objects:`Objects`,navigation:`Navigation`,branding:`Branding`,appName:`App Name`,appTitle:`Title`,appDescription:`Description`,appIcon:`Icon`,template:`Template`,layout:`Layout`,layoutSidebar:`Sidebar`,layoutHeader:`Header`,layoutEmpty:`Empty`,selectObjects:`Select Objects`,searchObjects:`Search objects…`,selectAll:`Select All`,deselectAll:`Deselect All`,navBuilder:`Navigation Builder`,addGroup:`Add Group`,addUrl:`Add URL`,addSeparator:`Add Separator`,noNavItems:`No navigation items yet.`,logoUrl:`Logo URL`,primaryColor:`Primary Color`,faviconUrl:`Favicon URL`,preview:`Preview`,complete:`Complete`,snakeCaseHint:`Must be snake_case (e.g. my_app)`,modeEdit:`Edit`,modePreview:`Preview`,modeCode:`Code`,addWidget:`Add Widget`,widgetProperties:`Widget Properties`,dataSource:`Data Source`,valueField:`Value Field`,aggregate:`Aggregate`,colorVariant:`Color Variant`,addComponent:`Add Component`,componentProperties:`Component Properties`,viewType:`View Type`,fields:`Fields`,toolbar:`Toolbar`,showSearch:`Show Search`,showFilters:`Show Filters`,showSort:`Show Sort`,appearance:`Appearance`,rowHeight:`Row Height`,stripedRows:`Striped Rows`,bordered:`Bordered`,livePreview:`Live Preview`,stepBasicDesc:`الاسم والعنوان والتخطيط`,stepObjectsDesc:`اختيار كائنات الأعمال`,stepNavigationDesc:`بناء شجرة التنقل`,stepBrandingDesc:`الشعار والألوان والأيقونة`,noObjectsFound:`لم يتم العثور على كائنات.`,noNavItemsHint:`لا توجد عناصر تنقل بعد. حدد كائنات في الخطوة السابقة أو أضف عناصر يدويًا.`,separator:`فاصل`,separatorLabel:`— فاصل —`,newGroup:`مجموعة جديدة`,newLink:`رابط جديد`,saveDraft:`حفظ المسودة`,cancelConfirmTitle:`تجاهل التغييرات؟`,cancelConfirmMessage:`لديك تغييرات غير محفوظة. هل أنت متأكد من الإلغاء؟`,confirmDiscard:`تجاهل`,keepEditing:`متابعة التحرير`,navNoItems:`لا توجد عناصر تنقل. انقر على الأزرار أعلاه لإضافة عناصر.`,navNoPreviewItems:`لا توجد عناصر`,navLivePreview:`معاينة مباشرة`,navCollapseGroup:`طي المجموعة`,navExpandGroup:`توسيع المجموعة`,navAddChild:`إضافة عنصر فرعي`,navMoveUp:`نقل لأعلى`,navMoveDown:`نقل لأسفل`,navRemove:`إزالة`,navObjectPage:`صفحة الكائن`,navDashboard:`لوحة القيادة`,navPage:`صفحة`,navReport:`تقرير`,navGroup:`مجموعة`,navUrl:`رابط`,navSeparator:`فاصل`,navTypeObject:`كائن`,navTypeDashboard:`لوحة القيادة`,navTypePage:`صفحة`,navTypeReport:`تقرير`,navTypeUrl:`رابط`,navTypeGroup:`مجموعة`,navTypeSeparator:`فاصل`,navTypeAction:`إجراء`,navEditIcon:`تعديل الأيقونة`,navToggleVisible:`تبديل الظهور`,navHidden:`مخفي`,navExportSchema:`تصدير JSON`,navImportSchema:`استيراد JSON`,navExportSuccess:`تم تصدير هيكل التنقل`,navImportSuccess:`تم استيراد هيكل التنقل`,navImportError:`ملف JSON تنقل غير صالح`,navIconPlaceholder:`اسم الأيقونة (مثل Users)`,dashboardEditor:`محرر لوحة المعلومات`,noWidgets:`لا توجد عناصر. انقر على زر أعلاه لإضافة واحد.`,widgetLayoutSize:`حجم التخطيط`,widgetWidth:`العرض`,widgetHeight:`الارتفاع`,dashboardPreview:`معاينة لوحة المعلومات`,noWidgetsPreview:`لا توجد عناصر للمعاينة`,pageCanvasEditor:`محرر لوحة الصفحة`,emptyPage:`صفحة فارغة. انقر على زر أعلاه لإضافة مكون.`,pagePreview:`معاينة الصفحة`,noComponentsPreview:`لا توجد مكونات للمعاينة`,modePage:`صفحة`,modeDashboard:`لوحة المعلومات`,undo:`تراجع`,redo:`إعادة`,brandingEditor:`محرر العلامة التجارية`,brandingExport:`تصدير JSON`,brandingImport:`استيراد JSON`,brandingPreview:`معاينة`,brandingSampleButton:`زر نموذجي`,brandingSampleText:`هكذا سيبدو موضوع علامتك التجارية.`,colorPalette:`لوحة الألوان`,fontFamily:`الخط`,fontDefault:`افتراضي (النظام)`,modeLight:`فاتح`,modeDark:`داكن`,mobilePreview:`معاينة الجوال`,objectManager:{title:`مدير الكائنات`,addObject:`كائن جديد`,searchPlaceholder:`بحث عن كائنات…`,noObjects:`لم يتم العثور على كائنات.`,objectName:`اسم API`,objectLabel:`التسمية`,pluralLabel:`التسمية الجمعية`,icon:`الأيقونة`,selectIcon:`اختيار أيقونة…`,group:`المجموعة`,noGroup:`بدون مجموعة`,sortOrder:`ترتيب الفرز`,enabled:`مفعّل`,relationships:`العلاقات`,systemBadge:`نظام`,fieldCount:`{{count}} حقول`,ungrouped:`غير مصنف`,deleteConfirmTitle:`حذف الكائن؟`,deleteConfirmMessage:`سيتم حذف الكائن وجميع حقوله نهائيًا. لا يمكن التراجع عن هذا الإجراء.`},fieldDesigner:{title:`مصمم الحقول`,addField:`حقل جديد`,searchPlaceholder:`بحث عن حقول…`,allTypes:`كل الأنواع`,noFields:`لم يتم العثور على حقول.`,fieldName:`اسم API`,fieldLabel:`التسمية`,fieldType:`النوع`,fieldGroup:`المجموعة`,description:`الوصف`,required:`مطلوب`,unique:`فريد`,readOnly:`للقراءة فقط`,hidden:`مخفي`,indexed:`مفهرس`,externalId:`معرف خارجي`,trackHistory:`تتبع السجل`,defaultValue:`القيمة الافتراضية`,placeholder:`نص توضيحي`,referenceTo:`مرجع إلى`,formula:`صيغة`,options:`خيارات`,addOption:`إضافة خيار`,validationRules:`قواعد التحقق`,addRule:`إضافة قاعدة`,systemBadge:`نظام`,ungrouped:`عام`,deleteConfirmTitle:`حذف الحقل؟`,deleteConfirmMessage:`سيتم حذف الحقل نهائيًا. ستفقد البيانات الموجودة في هذا الحقل.`}},console:{title:`وحدة تحكم ObjectStack`,initializing:`جاري تهيئة التطبيق...`,breadcrumb:{dashboards:`لوحات المعلومات`,pages:`الصفحات`,reports:`التقارير`,system:`النظام`},loadingSteps:{connecting:`جاري الاتصال بمصدر البيانات`,loadingConfig:`جاري تحميل الإعدادات`,preparingWorkspace:`جاري تجهيز مساحة العمل`},error:{connectionFailed:`تعذّر الاتصال بالخادم`,serverUnreachable:`الخادم {{url}} غير قابل للوصول.`,checkServer:`يرجى التحقق من اتصال الشبكة أو من تشغيل الواجهة الخلفية.`,timeout:`انتهت مهلة الاتصال بعد 10 ثوانٍ.`},actions:{retry:`إعادة المحاولة`,retrying:`جاري إعادة المحاولة…`},shortcuts:{title:`اختصارات لوحة المفاتيح`,description:`مرجع سريع لجميع اختصارات لوحة المفاتيح المتاحة.`,groups:{general:`عام`,navigation:`التنقل`,dataViews:`عروض البيانات`,preferences:`التفضيلات`},openCommandPalette:`فتح لوحة الأوامر`,showShortcuts:`عرض اختصارات لوحة المفاتيح`,closeDialog:`إغلاق النافذة / اللوحة`,toggleSidebar:`تبديل الشريط الجانبي`,focusSearch:`التركيز على البحث`,createRecord:`إنشاء سجل جديد`,refreshData:`تحديث البيانات`,editRecord:`تعديل السجل المحدد`,toggleDarkMode:`تبديل الوضع الداكن`},commandPalette:{placeholder:`اكتب أمراً أو ابحث...`,noResults:`لم يتم العثور على نتائج.`,objects:`الكائنات`,dashboards:`لوحات المعلومات`,pages:`الصفحات`,reports:`التقارير`,switchApp:`تبديل التطبيق`,current:`الحالي`,preferences:`التفضيلات`,lightTheme:`المظهر الفاتح`,darkTheme:`المظهر الداكن`,systemTheme:`مظهر النظام`,actions:`الإجراءات`,openFullSearch:`فتح صفحة البحث الكاملة`,createApp:`إنشاء تطبيق جديد`},errors:{somethingWentWrong:`حدث خطأ ما`,unexpectedError:`حدث خطأ غير متوقع أثناء عرض هذا المحتوى.`,tryAgain:`إعادة المحاولة`,goHome:`العودة للرئيسية`,errorDetails:`تفاصيل الخطأ (وضع التطوير فقط)`},theme:{toggle:`تبديل المظهر`,light:`فاتح`,dark:`داكن`,system:`النظام`},objectView:{objectNotFound:`الكائن غير موجود`,objectNotFoundDescription:`الكائن "{{objectName}}" غير موجود في الإعدادات الحالية.`,objectNotFoundHint:`تحقق من إعدادات التنقل في تطبيقك أو اختر كائنًا آخر من الشريط الجانبي.`,allRecords:`جميع السجلات`,exitDesignMode:`الخروج من وضع التصميم`,enterDesignMode:`الدخول إلى وضع التصميم`,metadataInspector:`مفتش البيانات الوصفية`,editView:`تعديل العرض`,addView:`إضافة عرض`,designTools:`أدوات التصميم`,new:`جديد`,configureView:`تكوين العرض`,closePanel:`إغلاق اللوحة`,page:`الصفحة`,pageConfigHint:`شريط الأدوات والتنقل وإعدادات غلاف العرض`,listConfigHint:`عرض البيانات والأعمدة والمظهر لهذا النوع من القائمة`,general:`عام`,generalHint:`عنوان العرض والوصف والنوع`,toolbar:`شريط الأدوات`,toolbarHint:`البحث والتصفية والفرز والتجميع ومفاتيح الكثافة`,toolbarEnabledCount:`{{count}} من {{total}} مفعّل`,navigationSection:`التنقل`,navigationHint:`سلوك النقر على الصف وإعدادات العرض التفصيلي`,records:`السجلات`,recordsHint:`وضع التحديد وإضافة سجل والتحرير المباشر`,exportPrint:`التصدير والطباعة`,exportPrintHint:`صيغ التصدير والطباعة وعرض عدد السجلات`,showAllFields:`إظهار الكل`,hideAllFields:`إخفاء الكل`,searchFields:`البحث في الحقول...`,title:`العنوان`,description:`الوصف`,data:`البيانات`,source:`المصدر`,columns:`الأعمدة`,filterBy:`تصفية حسب`,sortBy:`ترتيب حسب`,appearance:`المظهر`,showDescription:`عرض الوصف`,viewType:`نوع العرض`,userFilters:`مرشحات المستخدم`,enableSearch:`تفعيل البحث`,enableFilter:`تفعيل التصفية`,enableSort:`تفعيل الترتيب`,enableHideFields:`تفعيل إخفاء الحقول`,enableGroup:`تفعيل التجميع`,enableColor:`تفعيل اللون`,enableDensity:`تفعيل الكثافة`,userActions:`إجراءات المستخدم`,addRecordViaForm:`إضافة سجلات عبر النموذج`,advanced:`متقدم`,allowExport:`السماح بالتصدير`,recordCount:`{{count}} سجل`,noDescription:`لا يوجد وصف`,none:`لا شيء`,columnsConfigured:`{{count}} أعمدة`,save:`حفظ`,discard:`تجاهل`,createView:`إنشاء عرض`,newView:`عرض جديد`,typeOptions:`خيارات النوع`,groupByField:`حقل التجميع`,startDateField:`حقل تاريخ البدء`,titleField:`حقل العنوان`,latitudeField:`حقل خط العرض`,longitudeField:`حقل خط الطول`,imageField:`حقل الصورة`,dateField:`حقل التاريخ`,selectField:`اختر حقلاً...`,gridOptionsHint:`يستخدم عرض الشبكة الأعمدة المكونة أعلاه.`,groupBy:`تجميع حسب`,prefixField:`حقل البادئة`,fields:`الحقول`,fieldsVisible:`{{count}} مرئي`,sortsCount:`{{count}} ترتيبات`,filtersCount:`{{count}} مرشحات`,endDateField:`حقل تاريخ الانتهاء`,color:`اللون`,fieldTextColor:`لون نص الحقل`,rowHeight:`ارتفاع الصف`,wrapHeaders:`التفاف العناوين`,showFieldDescriptions:`إظهار أوصاف الحقول`,collapseAllByDefault:`طي الكل افتراضياً`,striped:`صفوف مخططة`,bordered:`خلايا محاطة بحدود`,inlineEdit:`تحرير السجلات مباشرة`,addDeleteRecordsInline:`إضافة/حذف السجلات مباشرة`,clickIntoRecordDetails:`انقر لعرض تفاصيل السجل`,navigationMode:`وضع التنقل`,navigationWidth:`عرض التنقل`,navigationWidthHint:`متاح لأوضاع التنقل: الدرج والنافذة المنبثقة والعرض المقسم`,openNewTab:`فتح في علامة تبويب جديدة`,openNewTabHint:`متاح لأوضاع التنقل: الصفحة والنافذة الجديدة`},localeSwitcher:{label:`اللغة`}},auth:{login:{title:`تسجيل الدخول إلى حسابك`,description:`أدخل بريدك الإلكتروني وكلمة المرور للمتابعة`,emailLabel:`البريد الإلكتروني`,emailPlaceholder:`name@example.com`,passwordLabel:`كلمة المرور`,passwordPlaceholder:`أدخل كلمة المرور`,forgotPasswordText:`نسيت كلمة المرور؟`,submitButton:`تسجيل الدخول`,submittingButton:`جارٍ تسجيل الدخول...`,noAccountText:`ليس لديك حساب؟`,signUpText:`إنشاء حساب`},register:{title:`إنشاء حساب`,description:`أدخل معلوماتك للبدء`,nameLabel:`الاسم`,namePlaceholder:`محمد أحمد`,emailLabel:`البريد الإلكتروني`,emailPlaceholder:`name@example.com`,passwordLabel:`كلمة المرور`,passwordPlaceholder:`إنشاء كلمة مرور (8 أحرف على الأقل)`,confirmPasswordLabel:`تأكيد كلمة المرور`,confirmPasswordPlaceholder:`أكّد كلمة المرور`,passwordMismatchError:`كلمتا المرور غير متطابقتين`,passwordTooShortError:`يجب أن تتكون كلمة المرور من 8 أحرف على الأقل`,submitButton:`إنشاء حساب`,submittingButton:`جارٍ إنشاء الحساب...`,hasAccountText:`لديك حساب بالفعل؟`,signInText:`تسجيل الدخول`},forgotPassword:{title:`إعادة تعيين كلمة المرور`,description:`أدخل عنوان بريدك الإلكتروني وسنرسل لك رابطًا لإعادة تعيين كلمة المرور`,emailLabel:`البريد الإلكتروني`,emailPlaceholder:`name@example.com`,submitButton:`إرسال رابط إعادة التعيين`,submittingButton:`جارٍ الإرسال...`,successTitle:`تحقق من بريدك الإلكتروني`,successDescription:`لقد أرسلنا رابط إعادة تعيين كلمة المرور إلى {{email}}. يرجى التحقق من بريدك الوارد.`,backToSignInText:`العودة إلى تسجيل الدخول`,rememberPasswordText:`تتذكر كلمة المرور؟`,signInText:`تسجيل الدخول`}},errors:{networkError:`خطأ في الشبكة. يرجى التحقق من اتصالك.`,serverError:`خطأ في الخادم. يرجى المحاولة مرة أخرى لاحقاً.`,notFound:`المورد غير موجود.`,unauthorized:`ليس لديك صلاحية لتنفيذ هذا الإجراء.`,forbidden:`تم رفض الوصول.`,timeout:`انتهت مهلة الطلب. يرجى المحاولة مرة أخرى.`,unknown:`حدث خطأ غير متوقع.`},workspace:{label:`مساحات العمل`,default:`مساحة العمل الخاصة بي`,switch:`تبديل مساحة العمل`,create:`إنشاء مساحة عمل`,createTitle:`إنشاء مساحة عمل`,createDescription:`مساحة العمل هي مساحة مشتركة لفريقك للتعاون.`,createButton:`إنشاء مساحة عمل`,nameLabel:`اسم مساحة العمل`,namePlaceholder:`مثلاً، Acme Inc`,slugLabel:`معرف URL`,slugHint:`يستخدم في عناوين URL. أحرف صغيرة وأرقام وشرطات فقط.`,invite:`دعوة عضو`,members:`الأعضاء`,settings:`إعدادات مساحة العمل`},sidebar:{settings:`الإعدادات`,help:`المساعدة`,helpTooltip:`المساعدة والوثائق`,activityFeed:`موجز النشاط`},home:{title:`الرئيسية`,subtitle:`لوحة تحكم مساحة العمل`,nav:`الرئيسية`,allApps:`جميع التطبيقات`,loading:`جارٍ تحميل مساحة العمل...`,recent:`الأخيرة`,starred:`المميزة بنجمة`,welcome:`مرحباً بك في ObjectUI`,welcomeDescription:`ابدأ بإنشاء تطبيقك الأول أو تكوين إعدادات النظام.`,createFirstApp:`أنشئ أول تطبيق لك`,systemSettings:`إعدادات النظام`,quickActions:{title:`إجراءات سريعة`,createApp:`إنشاء تطبيق`,createAppDesc:`ابدأ بتطبيق جديد`,manageObjects:`إدارة الكائنات`,manageObjectsDesc:`تكوين نماذج البيانات`,systemSettings:`إعدادات النظام`,systemSettingsDesc:`تكوين مساحة العمل الخاصة بك`},appCard:{noDescription:`لا يوجد وصف`,default:`افتراضي`}},layout:{appSwitcher:{home:`Home`,addApp:`Add App`,editApp:`Edit App`,manageAllApps:`Manage All Apps`,systemConsole:`System Console`,noAppsConfigured:`No apps configured`},activityFeed:{title:`Recent Activity`,filter:`Filter`,empty:`No recent activity`,ariaLabel:`Activity feed`,typeCreate:`Create`,typeUpdate:`Update`,typeDelete:`Delete`,typeComment:`Comment`,relativeJustNow:`just now`,relativeSecondsAgo:`{{count}}s ago`,relativeMinutesAgo:`{{count}}m ago`,relativeHoursAgo:`{{count}}h ago`,relativeDaysAgo:`{{count}}d ago`},metadata:{label:`Metadata`,toggleTitle:`Toggle Metadata Inspector`,panelTitle:`Metadata Inspector`,jsonBadge:`JSON`,copyJson:`Copy JSON`}},search:{title:`Search`,back:`Back`,placeholder:`Search objects, dashboards, pages, reports...`,inputAriaLabel:`Search objects, dashboards, pages, reports`,resultsCount:`{{count}} result for "{{query}}"`,resultsCountPlural:`{{count}} results for "{{query}}"`,itemsAvailable:`{{count}} items available`,noResults:`No results found`,noResultsHint:`Try adjusting your search terms`,typeObjects:`Objects`,typeDashboards:`Dashboards`,typePages:`Pages`,typeReports:`Reports`,badgeObject:`object`,badgeDashboard:`dashboard`,badgePage:`page`,badgeReport:`report`},empty:{objectNotFound:`Object Not Found`,objectNotFoundDescription:`Object "{{name}}" definition missing. Check your configuration or navigate back to select a valid object.`,pageNotFound:`Page Not Found`,pageNotFoundDescription:`The page "{{name}}" could not be found. It may have been removed or renamed.`,dashboardNotFound:`Dashboard Not Found`,dashboardNotFoundDescription:`The dashboard "{{name}}" could not be found. It may have been removed or renamed.`,reportNotFound:`Report Not Found`,reportNotFoundDescription:`The report "{{name}}" could not be found. It may have been removed or renamed.`,noAppsConfigured:`No Apps Configured`,noAppsConfiguredDescription:`No applications have been registered. Create your first app or visit System Settings to configure your environment.`,createFirstApp:`Create Your First App`,systemSettings:`System Settings`,back:`Back`},renderer:{noPageSchema:`No page schema provided`,noFormSchema:`No form schema provided`,noDashboardSchema:`No dashboard schema provided`,pageRendering:`Page rendering: {{name}}`,dashboardRendering:`Dashboard rendering: {{name}}`,formRenderingMode:`Form rendering in {{mode}} mode`,formRenderingFor:`for record {{id}}`,createRecord:`Create Record`,editRecord:`Edit Record`,page:`Page`,dashboard:`Dashboard`,save:`Save`,cancel:`Cancel`},actionDialog:{title:`Action Parameters`,description:`Please provide the required information to continue.`,selectPlaceholder:`Select {{label}}`,requiredError:`{{label}} is required`,cancel:`Cancel`,confirm:`Confirm`,defaultActionTitle:`Action`,ok:`OK`},rowAction:{openMenu:`Open menu`,edit:`Edit`,delete:`Delete`},navigationSync:{addedPage:`Navigation updated: added page "{{name}}"`,addedDashboard:`Navigation updated: added dashboard "{{name}}"`,removedPage:`Navigation updated: removed page "{{name}}"`,removedDashboard:`Navigation updated: removed dashboard "{{name}}"`,renamedPage:`Navigation updated: renamed page "{{oldName}}" → "{{newName}}"`,renamedDashboard:`Navigation updated: renamed dashboard "{{oldName}}" → "{{newName}}"`,undoLabel:`Undo`,undone:`Navigation change undone`,undoFailed:`Failed to undo navigation change`,updateFailed:`Failed to update navigation`},objectActions:{deleteSuccess:`{{label}} deleted successfully`,deleteFailed:`Failed to delete {{label}}`,noRecordId:`No record ID provided`,deleteConfirm:`Are you sure you want to delete this record?`},objectViewActions:{renameFailed:`Failed to rename view`,deleteFailed:`Failed to delete view`},dashboardActions:{pdfPreparing:`Preparing PDF export…`,exportFailed:`Export failed: {{message}}`,forecastSoon:`Forecast view coming soon`},recordDetail:{viewersTooltip:`Users viewing this record`},cellRender:{empty:`Empty`,yes:`Yes`,no:`No`,systemFields:`System`},user:{profile:`Profile`,settings:`Settings`,logout:`Log out`},report:{rowTotal:`Row Total`,columnTotal:`Column Total`,grandTotal:`Grand Total`,totals:`Totals`,rowsLabel:`Row`,columnsLabel:`Column`,allLabel:`(All)`,emptyLabel:`(Empty)`,loading:`Loading…`,failedToLoad:`Failed to load matrix: {{message}}`,needsAcross:"Matrix report requires at least one `groupingsAcross` field.",aggregate:{count:`Count`,countDistinct:`Distinct Count`,sum:`Sum`,avg:`Average`,min:`Min`,max:`Max`,first:`First`},editor:{breadcrumb:`الإعدادات`,basic:`أساسي`,title:`العنوان`,titlePlaceholder:`مثال: المسار حسب الربع`,description:`الوصف`,descriptionPlaceholder:`ماذا يعرض هذا التقرير؟`,type:`نوع التقرير`,typeTabular:`جدولي — قائمة مسطّحة`,typeSummary:`ملخص — مجمّع مع المجاميع`,typeMatrix:`مصفوفة — محور صفوف × أعمدة`,typeJoined:`مدمج — كتل متعددة`,typeHelp:`اختر التخطيط الذي يطابق ما تريد رؤيته.`,data:`البيانات`,objectName:`مصدر البيانات`,objectNamePlaceholder:`مثال: opportunity`,objectNameHelp:`أي كائن يجب أن يستعلم عنه هذا التقرير؟`,limit:`حد عدد الصفوف`,limitPlaceholder:`مثال: 100`,columns:`الأعمدة`,columnsHint:`اختر الحقول التي ستظهر كأعمدة. أضف تجميعًا (مجموع، عدد…) في تقارير الملخص أو المصفوفة.`,filters:`عوامل التصفية`,filtersHint:`قيّد الصفوف التي تدخل في هذا التقرير.`,filtersComplex:`يستخدم هذا التقرير عامل تصفية متقدّمًا لا يمكن تحريره هنا. سيُحتفظ به كما هو عند الحفظ.`,groupBy:`التجميع حسب`,groupByHint:`جمّع البيانات واحسب المجاميع الفرعية.`,rows:`الصفوف`,rowsHint:`جمّع الصفوف حسب هذه الحقول.`,columnsAxis:`الأعمدة`,columnsAxisHint:`اعرض هذه الحقول كمحور في الأعلى.`,values:`القيم`,valuesHint:`الأرقام التي تظهر في كل خلية. اختر حقلاً واحدًا أو أكثر وأضف تجميعًا (مجموع، عدد…).`,grouping:`تجميع`,addGrouping:`إضافة تجميع`,dateGranularity:`دقة التاريخ`,dateGranularityNone:`(استخدام القيمة الأصلية)`,day:`يوم`,week:`أسبوع`,month:`شهر`,quarter:`ربع`,year:`سنة`,sortAsc:`تصاعدي`,sortDesc:`تنازلي`,chart:`الرسم البياني`,chartHint:`عرض مرئي اختياري بجانب الجدول.`,chartType:`نوع الرسم`,chartTitle:`عنوان الرسم`,chartTitlePlaceholder:`افتراضيًا يستخدم عنوان التقرير`,chartXAxis:`المحور السيني (الفئة)`,chartYAxis:`المحور الصادي (القيمة)`,chartShowLegend:`إظهار وسيلة الإيضاح`,chartShowDataLabels:`إظهار تسميات البيانات`,chartNone:`(بدون رسم)`,chartBar:`أعمدة`,chartLine:`خطي`,chartArea:`منطقة`,chartPie:`دائري`,chartDonut:`حلقي`,chartFunnel:`قمعي`,validationNeedsObject:`اختر مصدر بيانات قبل إضافة الأعمدة.`,validationMatrixNeedsRowsCols:`تتطلب تقارير المصفوفة صفًا وعمودًا واحدًا على الأقل.`,validationSummaryNeedsRows:`تتطلب تقارير الملخص حقل تجميع واحدًا على الأقل.`,blocks:`الكتل`,blocksHint:`كل كتلة هي جدولها أو رسمها البياني الخاص. عوامل تصفية الكتلة تُدمج مع عامل تصفية التقرير بمنطق AND.`,addBlock:`إضافة كتلة`,removeBlock:`إزالة الكتلة`,blockName:`اسم الكتلة`,blockNamePlaceholder:`اسم_فريد_للكتلة`,blockLabel:`التسمية المعروضة`,blockLabelPlaceholder:`تُعرض فوق الكتلة`,blockDescription:`الوصف`,blockDescriptionPlaceholder:`سياق اختياري لهذه الكتلة`,validationJoinedNeedsBlocks:`تتطلب التقارير المدمجة كتلة واحدة على الأقل.`,validationBlockNameRequired:`يجب أن يكون لكل كتلة اسم غير فارغ.`,validationBlockNameDuplicate:`يجب أن تكون أسماء الكتل فريدة داخل التقرير.`,validationBlockNeedsColumns:`تحتاج كل كتلة إلى عمود واحد على الأقل.`,noneOption:`(بلا)`,addCondition:`إضافة شرط`,combineLogic:`الدمج مع`,opContains:`يحتوي على`,opIsEmpty:`فارغ`,opIsNotEmpty:`ليس فارغًا`,formatAuto:`تلقائي`,formatCurrency:`عملة`,formatPercent:`نسبة مئوية`,formatInteger:`عدد صحيح`,formatDate:`تاريخ`,formatDatetime:`تاريخ ووقت`,columnLabelPlaceholder:`تجاوز التسمية`,aggregateColumn:`تجميع`,formatColumn:`تنسيق`,addColumns:`إضافة أعمدة`,searchFields:`البحث في الحقول…`,noMatchingFields:`لا توجد حقول تطابق بحثك.`,noFieldsAvailable:`لا توجد حقول متاحة.`}},organizations:{mine:`مؤسساتي`,title:`المؤسسات`,heading:`مؤسساتك`,subtitle:`اختر مؤسسة للمتابعة، أو أنشئ مؤسسة جديدة.`,searchPlaceholder:`ابحث عن مؤسسة`,new:`مؤسسة جديدة`,current:`المؤسسة الحالية`,manage:`إدارة`,emptyTitle:`لا توجد مؤسسات بعد`,emptyDescription:`أنشئ مؤسستك الأولى للبدء.`,noMatches:`لا توجد مؤسسات تطابق بحثك.`},notifications:{empty:`لا توجد إشعارات`,markAllRead:`تعليم الكل كمقروء`,viewAll:`عرض جميع الإشعارات`,approvalsPending:`{{count}} موافقات معلقة`,viewApprovals:`عرض الموافقات`,noPendingApprovals:`لا توجد موافقات معلقة`,openApprovalsInbox:`فتح صندوق الموافقات`},publicForm:{submit:`Submit`,submitting:`Submitting…`,submitAnother:`Submit another response`,poweredBy:`Powered by ObjectStack`,secureNotice:`Your information is transmitted securely and only used to respond to your request.`,thankYouTitle:`Thank you!`,thankYouMessage:`Your submission has been received successfully.`,redirecting:`Redirecting in {{seconds}} seconds…`,unavailableTitle:`Form unavailable`,unavailableDescription:`No public form is available at this URL. Make sure the underlying view has anonymous sharing enabled and matches this slug.`,tryDemo:`Try the demo`,retry:`Retry`,loading:`Loading form…`,requiredHint:`* Required field`,consentLabelDefault:`I agree to the privacy policy and consent to my data being processed for this request.`,consentLink:`Privacy policy`,consentRequired:`Please accept the privacy policy to continue.`,rateLimited:`Please take a moment to review your answers before submitting.`,redirectBlocked:`Submission accepted, but the redirect URL was blocked for security.`,demo:{contactTitle:`Contact us`,contactDescription:`Tell us about your project and a sales representative will get back to you within one business day.`,supportTitle:`Submit a support request`,supportDescription:`Tell us what is going wrong — our team responds within one business day.`,thankYouSalesTitle:`Thanks — we received your message!`,thankYouSalesMessage:`A sales representative will be in touch within one business day.`,thankYouSupportTitle:`Got it — your request is in the queue.`,thankYouSupportMessage:`A support engineer will follow up shortly. Save this page if you have more screenshots to add.`,field:{firstName:`First name`,lastName:`Last name`,email:`Work email`,phone:`Phone`,jobTitle:`Job title`,company:`Company`,website:`Website`,industry:`Industry`,companySize:`Company size`,howCanWeHelp:`How can we help?`,subject:`Subject`,description:`Description`,issueType:`Issue type`,priority:`Priority`},industry:{technology:`Technology`,software:`Software / SaaS`,finance:`Finance`,healthcare:`Healthcare`,retail:`Retail`,other:`Other`},issueType:{question:`Question`,problem:`Problem`,bug:`Bug`,feature_request:`Feature request`},priority:{low:`Low`,medium:`Medium`,high:`High`,critical:`Critical`}}}}},ft=[`ar`,`he`,`fa`,`ur`];function pt(e){return ft.includes(e)}function mt(e={}){let{defaultLanguage:t=`en`,fallbackLanguage:n=`en`,resources:r={},detectBrowserLanguage:i=!0,interpolation:a}=e,o={};for(let[e,t]of Object.entries(dt))o[e]={translation:{...t,...r[e]||{}}};for(let[e,t]of Object.entries(r))o[e]||(o[e]={translation:t});let s=t;if(i&&typeof navigator<`u`){let e=navigator.language?.split(`-`)[0];e&&o[e]&&(s=e)}let c=Ie.createInstance();return c.use(tt).init({lng:s,fallbackLng:n,resources:o,interpolation:{escapeValue:!1,...a},returnNull:!1,react:{useSuspense:!1}}),c}function ht(e){return pt(e)?`rtl`:`ltr`}var gt=(0,j.createContext)(null);function _t({config:e,instance:t,loadLanguage:n,children:r}){let i=(0,j.useMemo)(()=>t||mt(e),[t,e]),[a,o]=(0,j.useState)(i.language||`en`),s=ht(a),c=(0,j.useRef)(new Set);(0,j.useEffect)(()=>{let e=e=>{o(e),typeof document<`u`&&(document.documentElement.dir=ht(e),document.documentElement.lang=e)},t=i.language||a;return typeof document<`u`&&t&&(document.documentElement.dir=ht(t),document.documentElement.lang=t),i.on(`languageChanged`,e),()=>{i.off(`languageChanged`,e)}},[i]),(0,j.useEffect)(()=>{if(!n)return;let e=i.language||`en`;c.current.has(e)||(c.current.add(e),n(e).then(t=>{t&&Object.keys(t).length>0&&(i.addResourceBundle(e,`translation`,t,!0,!0),o(e))}).catch(t=>{c.current.delete(e),console.warn(`[i18n] Failed to load app translations for '${e}':`,t)}))},[i,n]);let l=(0,j.useMemo)(()=>({language:a,changeLanguage:async e=>{if(n&&!c.current.has(e)){c.current.add(e);try{let t=await n(e);i.addResourceBundle(e,`translation`,t,!0,!0)}catch(t){c.current.delete(e),console.warn(`[i18n] Failed to load app translations for '${e}':`,t)}}await i.changeLanguage(e)},direction:s,i18n:i}),[a,s,i,n]);return j.createElement(gt.Provider,{value:l},j.createElement(ut,{i18n:i},r))}function vt(e){let t=(0,j.useContext)(gt),{t:n,i18n:r}=lt(e);return{t:n,language:t?.language||r.language||`en`,changeLanguage:t?.changeLanguage||(async e=>{await r.changeLanguage(e)}),direction:t?.direction||`ltr`,i18n:r}}var yt=typeof window<`u`?j.useLayoutEffect:j.useEffect;function bt(e){let t=j.useRef({value:e,prev:null}),n=t.current.value;return e!==n&&(t.current={value:e,prev:n}),t.current.prev}function xt(e,t,n={},r={}){j.useEffect(()=>{if(!e.current||r.disabled||typeof IntersectionObserver!=`function`)return;let i=new IntersectionObserver(([e])=>{t(e)},n);return i.observe(e.current),()=>{i.disconnect()}},[t,n,r.disabled,e])}function St(e){let t=j.useRef(null);return j.useImperativeHandle(e,()=>t.current,[]),t}function Ct(e){return e[e.length-1]}function wt(e){return typeof e==`function`}function Tt(e,t){return wt(e)?e(t):e}var Et=Object.prototype.hasOwnProperty,Dt=Object.prototype.propertyIsEnumerable;function Ot(e){for(let t in e)if(Et.call(e,t))return!0;return!1}var kt=()=>Object.create(null),At=(e,t)=>jt(e,t,kt);function jt(e,t,n=()=>({}),r=0){if(e===t)return e;if(r>500)return t;let i=t,a=Ft(e)&&Ft(i);if(!a&&!(Nt(e)&&Nt(i)))return i;let o=a?e:Mt(e);if(!o)return i;let s=a?i:Mt(i);if(!s)return i;let c=o.length,l=s.length,u=a?Array(l):n(),d=0;for(let t=0;t<l;t++){let o=a?t:s[t],l=e[o],f=i[o];if(l===f){u[o]=l,(a?t<c:Et.call(e,o))&&d++;continue}if(l===null||f===null||typeof l!=`object`||typeof f!=`object`){u[o]=f;continue}let p=jt(l,f,n,r+1);u[o]=p,p===l&&d++}return c===l&&d===c?e:u}function Mt(e){let t=Object.getOwnPropertyNames(e);for(let n of t)if(!Dt.call(e,n))return!1;let n=Object.getOwnPropertySymbols(e);if(n.length===0)return t;let r=t;for(let t of n){if(!Dt.call(e,t))return!1;r.push(t)}return r}function Nt(e){if(!Pt(e))return!1;let t=e.constructor;if(t===void 0)return!0;let n=t.prototype;return!(!Pt(n)||!n.hasOwnProperty(`isPrototypeOf`))}function Pt(e){return Object.prototype.toString.call(e)===`[object Object]`}function Ft(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function It(e,t,n){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return!1;for(let r=0,i=e.length;r<i;r++)if(!It(e[r],t[r],n))return!1;return!0}if(Nt(e)&&Nt(t)){let r=n?.ignoreUndefined??!0;if(n?.partial){for(let i in t)if((!r||t[i]!==void 0)&&!It(e[i],t[i],n))return!1;return!0}let i=0;if(!r)i=Object.keys(e).length;else for(let t in e)e[t]!==void 0&&i++;let a=0;for(let o in t)if((!r||t[o]!==void 0)&&(a++,a>i||!It(e[o],t[o],n)))return!1;return i===a}return!1}function Lt(e){let t,n,r=new Promise((e,r)=>{t=e,n=r});return r.status=`pending`,r.resolve=n=>{r.status=`resolved`,r.value=n,t(n),e?.(n)},r.reject=e=>{r.status=`rejected`,n(e)},r}function Rt(e){return!!(e&&typeof e==`object`&&typeof e.then==`function`)}function zt(e){return e.replace(/[\x00-\x1f\x7f]/g,``)}function Bt(e){let t;try{t=decodeURI(e)}catch{t=e.replaceAll(/%[0-9A-F]{2}/gi,e=>{try{return decodeURI(e)}catch{return e}})}return zt(t)}var Vt=[`http:`,`https:`,`mailto:`,`tel:`];function Ht(e,t){if(!e)return!1;try{let n=new URL(e);return!t.has(n.protocol)}catch{return!1}}function Ut(e){if(!e||!/[%\\\x00-\x1f\x7f]/.test(e)&&!e.startsWith(`//`))return{path:e,handledProtocolRelativeURL:!1};let t=/%25|%5C/gi,n=0,r=``,i;for(;(i=t.exec(e))!==null;)r+=Bt(e.slice(n,i.index))+i[0],n=t.lastIndex;r+=Bt(n?e.slice(n):e);let a=!1;return r.startsWith(`//`)&&(a=!0,r=`/`+r.replace(/^\/+/,``)),{path:r,handledProtocolRelativeURL:a}}function Wt(e){return/\s|[^\u0000-\u007F]/.test(e)?e.replace(/\s|[^\u0000-\u007F]/gu,encodeURIComponent):e}function Gt(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function Kt(){throw Error(`Invariant failed`)}function qt(e){let t=new Map,n,r,i=e=>{e.next&&(e.prev?(e.prev.next=e.next,e.next.prev=e.prev,e.next=void 0,r&&(r.next=e,e.prev=r)):(e.next.prev=void 0,n=e.next,e.next=void 0,r&&(e.prev=r,r.next=e)),r=e)};return{get(e){let n=t.get(e);if(n)return i(n),n.value},set(a,o){if(t.size>=e&&n){let e=n;t.delete(e.key),e.next&&(n=e.next,e.next.prev=void 0),e===r&&(r=void 0)}let s=t.get(a);if(s)s.value=o,i(s);else{let e={key:a,value:o,prev:r};r&&(r.next=e),r=e,n||=e,t.set(a,e)}},clear(){t.clear(),n=void 0,r=void 0}}}var Jt=4,Yt=5;function Xt(e){let t=e.indexOf(`{`);if(t===-1)return null;let n=e.indexOf(`}`,t);return n===-1||t+1>=e.length?null:[t,n]}function Zt(e,t,n=new Uint16Array(6)){let r=e.indexOf(`/`,t),i=r===-1?e.length:r,a=e.substring(t,i);if(!a||!a.includes(`$`))return n[0]=0,n[1]=t,n[2]=t,n[3]=i,n[4]=i,n[5]=i,n;if(a===`$`){let r=e.length;return n[0]=2,n[1]=t,n[2]=t,n[3]=r,n[4]=r,n[5]=r,n}if(a.charCodeAt(0)===36)return n[0]=1,n[1]=t,n[2]=t+1,n[3]=i,n[4]=i,n[5]=i,n;let o=Xt(a);if(o){let[r,s]=o,c=a.charCodeAt(r+1);if(c===45){if(r+2<a.length&&a.charCodeAt(r+2)===36){let e=r+3,a=s;if(e<a)return n[0]=3,n[1]=t+r,n[2]=t+e,n[3]=t+a,n[4]=t+s+1,n[5]=i,n}}else if(c===36){let a=r+1,o=r+2;return o===s?(n[0]=2,n[1]=t+r,n[2]=t+a,n[3]=t+o,n[4]=t+s+1,n[5]=e.length,n):(n[0]=1,n[1]=t+r,n[2]=t+o,n[3]=t+s,n[4]=t+s+1,n[5]=i,n)}}return n[0]=0,n[1]=t,n[2]=t,n[3]=i,n[4]=i,n[5]=i,n}function Qt(e,t,n,r,i,a,o){o?.(n);let s=r;{let r=n.fullPath??n.from,o=r.length,c=n.options?.caseSensitive??e,l=n.options?.params?.parse??n.options?.parseParams;for(;s<o;){let e=Zt(r,s,t),o,u=s,d=e[5];switch(s=d+1,a++,e[0]){case 0:{let t=r.substring(e[2],e[3]);if(c){let e=i.static?.get(t);if(e)o=e;else{i.static??=new Map;let e=tn(n.fullPath??n.from);e.parent=i,e.depth=a,o=e,i.static.set(t,e)}}else{let e=t.toLowerCase(),r=i.staticInsensitive?.get(e);if(r)o=r;else{i.staticInsensitive??=new Map;let t=tn(n.fullPath??n.from);t.parent=i,t.depth=a,o=t,i.staticInsensitive.set(e,t)}}break}case 1:{let t=r.substring(u,e[1]),s=r.substring(e[4],d),f=c&&!!(t||s),p=t?f?t:t.toLowerCase():void 0,m=s?f?s:s.toLowerCase():void 0,h=!l&&i.dynamic?.find(e=>!e.parse&&e.caseSensitive===f&&e.prefix===p&&e.suffix===m);if(h)o=h;else{let e=nn(1,n.fullPath??n.from,f,p,m);o=e,e.depth=a,e.parent=i,i.dynamic??=[],i.dynamic.push(e)}break}case 3:{let t=r.substring(u,e[1]),s=r.substring(e[4],d),f=c&&!!(t||s),p=t?f?t:t.toLowerCase():void 0,m=s?f?s:s.toLowerCase():void 0,h=!l&&i.optional?.find(e=>!e.parse&&e.caseSensitive===f&&e.prefix===p&&e.suffix===m);if(h)o=h;else{let e=nn(3,n.fullPath??n.from,f,p,m);o=e,e.parent=i,e.depth=a,i.optional??=[],i.optional.push(e)}break}case 2:{let t=r.substring(u,e[1]),s=r.substring(e[4],d),l=c&&!!(t||s),f=t?l?t:t.toLowerCase():void 0,p=s?l?s:s.toLowerCase():void 0,m=nn(2,n.fullPath??n.from,l,f,p);o=m,m.parent=i,m.depth=a,i.wildcard??=[],i.wildcard.push(m)}}i=o}if(l&&n.children&&!n.isRoot&&n.id&&n.id.charCodeAt(n.id.lastIndexOf(`/`)+1)===95){let e=tn(n.fullPath??n.from);e.kind=Yt,e.parent=i,a++,e.depth=a,i.pathless??=[],i.pathless.push(e),i=e}let u=(n.path||!n.children)&&!n.isRoot;if(u&&r.endsWith(`/`)){let e=tn(n.fullPath??n.from);e.kind=Jt,e.parent=i,a++,e.depth=a,i.index=e,i=e}i.parse=l??null,i.priority=n.options?.params?.priority??0,u&&!i.route&&(i.route=n,i.fullPath=n.fullPath??n.from)}if(n.children)for(let r of n.children)Qt(e,t,r,s,i,a,o)}function $t(e,t){if(e.parse&&!t.parse)return-1;if(!e.parse&&t.parse)return 1;if(e.parse&&t.parse&&(e.priority||t.priority))return t.priority-e.priority;if(e.prefix&&t.prefix&&e.prefix!==t.prefix){if(e.prefix.startsWith(t.prefix))return-1;if(t.prefix.startsWith(e.prefix))return 1}if(e.suffix&&t.suffix&&e.suffix!==t.suffix){if(e.suffix.endsWith(t.suffix))return-1;if(t.suffix.endsWith(e.suffix))return 1}return e.prefix&&!t.prefix?-1:!e.prefix&&t.prefix?1:e.suffix&&!t.suffix?-1:!e.suffix&&t.suffix?1:e.caseSensitive&&!t.caseSensitive?-1:!e.caseSensitive&&t.caseSensitive?1:0}function en(e){if(e.pathless)for(let t of e.pathless)en(t);if(e.static)for(let t of e.static.values())en(t);if(e.staticInsensitive)for(let t of e.staticInsensitive.values())en(t);if(e.dynamic?.length){e.dynamic.sort($t);for(let t of e.dynamic)en(t)}if(e.optional?.length){e.optional.sort($t);for(let t of e.optional)en(t)}if(e.wildcard?.length){e.wildcard.sort($t);for(let t of e.wildcard)en(t)}}function tn(e){return{kind:0,depth:0,pathless:null,index:null,static:null,staticInsensitive:null,dynamic:null,optional:null,wildcard:null,route:null,fullPath:e,parent:null,parse:null,priority:0}}function nn(e,t,n,r,i){return{kind:e,depth:0,pathless:null,index:null,static:null,staticInsensitive:null,dynamic:null,optional:null,wildcard:null,route:null,fullPath:t,parent:null,parse:null,priority:0,caseSensitive:n,prefix:r,suffix:i}}function rn(e,t){let n=tn(`/`),r=new Uint16Array(6);for(let t of e)Qt(!1,r,t,1,n,0);en(n),t.masksTree=n,t.flatCache=qt(1e3)}function an(e,t){e||=`/`;let n=t.flatCache.get(e);if(n)return n;let r=un(e,t.masksTree);return t.flatCache.set(e,r),r}function on(e,t,n,r,i){e||=`/`,r||=`/`;let a=t?`case\0${e}`:e,o=i.singleCache.get(a);return o||(o=tn(`/`),Qt(t,new Uint16Array(6),{from:e},1,o,0),i.singleCache.set(a,o)),un(r,o,n)}function sn(e,t,n=!1){let r=n?e:`nofuzz\0${e}`,i=t.matchCache.get(r);if(i!==void 0)return i;e||=`/`;let a;try{a=un(e,t.segmentTree,n)}catch(e){if(e instanceof URIError)a=null;else throw e}return a&&(a.branch=fn(a.route)),t.matchCache.set(r,a),a}function cn(e){return e===`/`?e:e.replace(/\/{1,}$/,``)}function ln(e,t=!1,n){let r=tn(e.fullPath),i=new Uint16Array(6),a={},o={},s=0;return Qt(t,i,e,1,r,0,e=>{if(n?.(e,s),e.id in a&&Kt(),a[e.id]=e,s!==0&&e.path){let t=cn(e.fullPath);(!o[t]||e.fullPath.endsWith(`/`))&&(o[t]=e)}s++}),en(r),{processedTree:{segmentTree:r,singleCache:qt(1e3),matchCache:qt(1e3),flatCache:null,masksTree:null},routesById:a,routesByPath:o}}function un(e,t,n=!1){let r=e.split(`/`),i=mn(e,r,t,n);if(!i)return null;let[a]=dn(e,r,i);return{route:i.node.route,rawParams:a}}function dn(e,t,n){let r=pn(n.node),i=null,a=Object.create(null),o=n.extract?.part??0,s=n.extract?.node??0,c=n.extract?.path??0,l=n.extract?.segment??0;for(;s<r.length;o++,s++,c++,l++){let u=r[s];if(u.kind===Jt)break;if(u.kind===Yt){l--,o--,c--;continue}let d=t[o],f=c;if(d&&(c+=d.length),u.kind===1){i??=n.node.fullPath.split(`/`);let e=i[l],t=u.prefix?.length??0;if(e.charCodeAt(t)===123){let n=u.suffix?.length??0,r=e.substring(t+2,e.length-n-1),i=d.substring(t,d.length-n);a[r]=decodeURIComponent(i)}else{let t=e.substring(1);a[t]=decodeURIComponent(d)}}else if(u.kind===3){if(n.skipped&1<<s){o--,c=f-1;continue}i??=n.node.fullPath.split(`/`);let e=i[l],t=u.prefix?.length??0,r=u.suffix?.length??0,p=e.substring(t+3,e.length-r-1),m=u.suffix||u.prefix?d.substring(t,d.length-r):d;m&&(a[p]=decodeURIComponent(m))}else if(u.kind===2){let t=u,n=e.substring(f+(t.prefix?.length??0),e.length-(t.suffix?.length??0)),r=decodeURIComponent(n);a[`*`]=r,a._splat=r;break}}return n.rawParams&&Object.assign(a,n.rawParams),[a,{part:o,node:s,path:c,segment:l}]}function fn(e){let t=[e];for(;e.parentRoute;)e=e.parentRoute,t.push(e);return t.reverse(),t}function pn(e){let t=Array(e.depth+1);do t[e.depth]=e,e=e.parent;while(e);return t}function mn(e,t,n,r){if(e===`/`&&n.index)return{node:n.index,skipped:0};let i=!Ct(t),a=i&&e!==`/`,o=t.length-+!!i,s=[{node:n,index:1,skipped:0,depth:1,statics:0,dynamics:0,optionals:0}],c=null,l=null;for(;s.length;){let n=s.pop(),{node:i,index:u,skipped:d,depth:f,statics:p,dynamics:m,optionals:h}=n,{extract:g,rawParams:_}=n;if(i.kind===2&&i.route&&!vn(l,n))continue;if(i.parse){if(!_n(e,t,n))continue;_=n.rawParams,g=n.extract}r&&i.route&&i.kind!==Jt&&vn(c,n)&&(c=n);let v=u===o;if(v&&(i.route&&(!a||i.kind===Jt||i.kind===2)&&vn(l,n)&&(l=n),!i.optional&&!i.wildcard&&!i.index&&!i.pathless))continue;let y=v?void 0:t[u],b;if(v&&i.index){let n={node:i.index,index:u,skipped:d,depth:f+1,statics:p,dynamics:m,optionals:h,extract:g,rawParams:_},r=!0;if(i.index.parse&&(_n(e,t,n)||(r=!1)),r){if(!m&&!h&&!d&&gn(p,o))return n;vn(l,n)&&(l=n)}}if(i.wildcard)for(let e=i.wildcard.length-1;e>=0;e--){let n=i.wildcard[e],{prefix:r,suffix:a}=n;if(!(r&&(v||!(n.caseSensitive?y:b??=y.toLowerCase()).startsWith(r)))){if(a){if(v)continue;let e=t.slice(u).join(`/`).slice(-a.length);if((n.caseSensitive?e:e.toLowerCase())!==a)continue}s.push({node:n,index:o,skipped:d,depth:f+1,statics:p,dynamics:m,optionals:h,extract:g,rawParams:_})}}if(i.optional){let e=d|1<<f,t=f+1;for(let n=i.optional.length-1;n>=0;n--){let r=i.optional[n];s.push({node:r,index:u,skipped:e,depth:t,statics:p,dynamics:m,optionals:h,extract:g,rawParams:_})}if(!v)for(let e=i.optional.length-1;e>=0;e--){let n=i.optional[e],{prefix:r,suffix:a}=n;if(r||a){let e=n.caseSensitive?y:b??=y.toLowerCase();if(r&&!e.startsWith(r)||a&&!e.endsWith(a))continue}s.push({node:n,index:u+1,skipped:d,depth:t,statics:p,dynamics:m,optionals:h+hn(o,u),extract:g,rawParams:_})}}if(!v&&i.dynamic&&y)for(let e=i.dynamic.length-1;e>=0;e--){let t=i.dynamic[e],{prefix:n,suffix:r}=t;if(n||r){let e=t.caseSensitive?y:b??=y.toLowerCase();if(n&&!e.startsWith(n)||r&&!e.endsWith(r))continue}s.push({node:t,index:u+1,skipped:d,depth:f+1,statics:p,dynamics:m+hn(o,u),optionals:h,extract:g,rawParams:_})}if(!v&&i.staticInsensitive){let e=i.staticInsensitive.get(b??=y.toLowerCase());e&&s.push({node:e,index:u+1,skipped:d,depth:f+1,statics:p+hn(o,u),dynamics:m,optionals:h,extract:g,rawParams:_})}if(!v&&i.static){let e=i.static.get(y);e&&s.push({node:e,index:u+1,skipped:d,depth:f+1,statics:p+hn(o,u),dynamics:m,optionals:h,extract:g,rawParams:_})}if(i.pathless){let e=f+1;for(let t=i.pathless.length-1;t>=0;t--){let n=i.pathless[t];s.push({node:n,index:u,skipped:d,depth:e,statics:p,dynamics:m,optionals:h,extract:g,rawParams:_})}}}if(l)return l;if(r&&c){let n=c.index;for(let e=0;e<c.index;e++)n+=t[e].length;let r=n===e.length?`/`:e.slice(n);return c.rawParams??=Object.create(null),c.rawParams[`**`]=decodeURIComponent(r),c}return null}function hn(e,t){return 2**(e-t-1)}function gn(e,t){return e===2**(t-1)-1}function _n(e,t,n){let r,i;try{[r,i]=dn(e,t,n)}catch{return null}if(n.rawParams=r,n.extract=i,!n.node.parse)return!0;try{if(n.node.parse(r)===!1)return null}catch{}return!0}function vn(e,t){return e?t.statics>e.statics||t.statics===e.statics&&(t.dynamics>e.dynamics||t.dynamics===e.dynamics&&(t.optionals>e.optionals||t.optionals===e.optionals&&((t.node.kind===Jt)>(e.node.kind===Jt)||t.node.kind===Jt==(e.node.kind===Jt)&&t.depth>e.depth))):!0}function yn(e){return bn(e.filter(e=>e!==void 0).join(`/`))}function bn(e){return e.replace(/\/{2,}/g,`/`)}function xn(e){return e===`/`?e:e.replace(/^\/{1,}/,``)}function Sn(e){let t=e.length;return t>1&&e[t-1]===`/`?e.replace(/\/{1,}$/,``):e}function Cn(e){return Sn(xn(e))}function wn(e,t){return e?.endsWith(`/`)&&e!==`/`&&e!==`${t}/`?e.slice(0,-1):e}function Tn(e,t,n){return wn(e,n)===wn(t,n)}function En({base:e,to:t,trailingSlash:n=`never`,cache:r}){let i=t.startsWith(`/`),a=!i&&t===`.`,o;if(r){o=i?t:a?e:e+`\0`+t;let n=r.get(o);if(n)return n}let s;if(a)s=e.split(`/`);else if(i)s=t.split(`/`);else{for(s=e.split(`/`);s.length>1&&Ct(s)===``;)s.pop();let n=t.split(`/`);for(let e=0,t=n.length;e<t;e++){let r=n[e];r===``?e?e===t-1&&s.push(r):s=[r]:r===`..`?s.pop():r===`.`||s.push(r)}}s.length>1&&(Ct(s)===``?n===`never`&&s.pop():n===`always`&&s.push(``));let c=bn(s.join(`/`))||`/`;return o&&r&&r.set(o,c),c}function Dn(e){let t=new Map(e.map(e=>[encodeURIComponent(e),e])),n=Array.from(t.keys()).map(e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)).join(`|`),r=new RegExp(n,`g`);return e=>e.replace(r,e=>t.get(e)??e)}function On(e,t,n){let r=t[e];return typeof r==`string`?e===`_splat`?/^[a-zA-Z0-9\-._~!/]*$/.test(r)?r:r.split(`/`).map(e=>An(e,n)).join(`/`):An(r,n):r}function kn({path:e,params:t,decoder:n,...r}){let i=!1,a=Object.create(null);if(!e||e===`/`)return{interpolatedPath:`/`,usedParams:a,isMissingParams:i};if(!e.includes(`$`))return{interpolatedPath:e,usedParams:a,isMissingParams:i};let o=e.length,s=0,c,l=``;for(;s<o;){let r=s;c=Zt(e,r,c);let o=c[5];if(s=o+1,r===o)continue;let u=c[0];if(u===0){l+=`/`+e.substring(r,o);continue}if(u===2){let s=t._splat;a._splat=s,a[`*`]=s;let u=e.substring(r,c[1]),d=e.substring(c[4],o);if(!s){i=!0,(u||d)&&(l+=`/`+u+d);continue}let f=On(`_splat`,t,n);l+=`/`+u+f+d;continue}if(u===1){let s=e.substring(c[2],c[3]);!i&&!(s in t)&&(i=!0),a[s]=t[s];let u=e.substring(r,c[1]),d=e.substring(c[4],o),f=On(s,t,n)??`undefined`;l+=`/`+u+f+d;continue}if(u===3){let i=e.substring(c[2],c[3]),s=t[i];if(s==null)continue;a[i]=s;let u=e.substring(r,c[1]),d=e.substring(c[4],o),f=On(i,t,n)??``;l+=`/`+u+f+d;continue}}return e.endsWith(`/`)&&(l+=`/`),{usedParams:a,interpolatedPath:l||`/`,isMissingParams:i}}function An(e,t){let n=encodeURIComponent(e);return t?.(n)??n}function jn(e){return e?.isNotFound===!0}function Mn(e,t=String){let n=new URLSearchParams;for(let r in e){let i=e[r];i!==void 0&&n.set(r,t(i))}return n.toString()}function Nn(e){return e?e===`false`?!1:e===`true`?!0:e*0==0&&+e+``===e?+e:e:``}function Pn(e){let t=new URLSearchParams(e),n=Object.create(null);for(let[e,r]of t.entries()){let t=n[e];t==null?n[e]=Nn(r):Array.isArray(t)?t.push(Nn(r)):n[e]=[t,Nn(r)]}return n}var Fn=Ln(JSON.parse),In=Rn(JSON.stringify,JSON.parse);function Ln(e){return t=>{t[0]===`?`&&(t=t.substring(1));let n=Pn(t);for(let t in n){let r=n[t];if(typeof r==`string`)try{n[t]=e(r)}catch{}}return n}}function Rn(e,t){let n=typeof t==`function`;function r(r){if(typeof r==`object`&&r)try{return e(r)}catch{}else if(n&&typeof r==`string`)try{return t(r),e(r)}catch{}return r}return e=>{let t=Mn(e,r);return t?`?${t}`:``}}var zn=`__root__`;function Bn(e){if(e.statusCode=e.statusCode||e.code||307,!e._builtLocation&&!e.reloadDocument&&typeof e.href==`string`)try{new URL(e.href),e.reloadDocument=!0}catch{}let t=new Headers(e.headers);e.href&&t.get(`Location`)===null&&t.set(`Location`,e.href);let n=new Response(null,{status:e.statusCode,headers:t});if(n.options=e,e.throw)throw n;return n}function Vn(e){return e instanceof Response&&!!e.options}var Hn=e=>{if(!e.rendered)return e.rendered=!0,e.onReady?.()},Un=e=>e.stores.matchesId.get().some(t=>e.stores.matchStores.get(t)?.get()._forcePending),Wn=(e,t)=>!!(e.preload&&!e.router.stores.matchStores.has(t)),Gn=(e,t,n=!0)=>{let r={...e.router.options.context??{}},i=n?t:t-1;for(let t=0;t<=i;t++){let n=e.matches[t];if(!n)continue;let i=e.router.getMatch(n.id);i&&Object.assign(r,i.__routeContext,i.__beforeLoadContext)}return r},Kn=(e,t)=>{if(!e.matches.length)return;let n=t.routeId,r=e.matches.findIndex(t=>t.routeId===e.router.routeTree.id),i=r>=0?r:0,a=n?e.matches.findIndex(e=>e.routeId===n):e.firstBadMatchIndex??e.matches.length-1;a<0&&(a=i);for(let t=a;t>=0;t--){let n=e.matches[t];if(e.router.looseRoutesById[n.routeId].options.notFoundComponent)return t}return n?a:i},qn=(e,t,n)=>{if(!(!Vn(n)&&!jn(n)))throw Vn(n)&&n.redirectHandled&&!n.options.reloadDocument?n:(t&&(t._nonReactive.beforeLoadPromise?.resolve(),t._nonReactive.loaderPromise?.resolve(),t._nonReactive.beforeLoadPromise=void 0,t._nonReactive.loaderPromise=void 0,t._nonReactive.error=n,e.updateMatch(t.id,r=>({...r,status:Vn(n)?`redirected`:jn(n)?`notFound`:r.status===`pending`?`success`:r.status,context:Gn(e,t.index),isFetching:!1,error:n})),jn(n)&&!n.routeId&&(n.routeId=t.routeId),t._nonReactive.loadPromise?.resolve()),Vn(n)&&(e.rendered=!0,n.options._fromLocation=e.location,n.redirectHandled=!0,n=e.router.resolveRedirect(n)),n)},Jn=(e,t)=>{let n=e.router.getMatch(t);return!!(!n||n._nonReactive.dehydrated)},Yn=(e,t,n)=>{let r=Gn(e,n);e.updateMatch(t,e=>({...e,context:r}))},Xn=(e,t,n,r)=>{let{id:i,routeId:a}=e.matches[t],o=e.router.looseRoutesById[a];if(n instanceof Promise)throw n;n.routerCode=r,e.firstBadMatchIndex??=t,qn(e,e.router.getMatch(i),n);try{o.options.onError?.(n)}catch(t){n=t,qn(e,e.router.getMatch(i),n)}e.updateMatch(i,e=>(e._nonReactive.beforeLoadPromise?.resolve(),e._nonReactive.beforeLoadPromise=void 0,e._nonReactive.loadPromise?.resolve(),{...e,error:n,status:`error`,isFetching:!1,updatedAt:Date.now(),abortController:new AbortController})),!e.preload&&!Vn(n)&&!jn(n)&&(e.serialError??=n)},Zn=(e,t,n,r)=>{if(r._nonReactive.pendingTimeout!==void 0)return;let i=n.options.pendingMs??e.router.options.defaultPendingMs;if(e.onReady&&!Wn(e,t)&&(n.options.loader||n.options.beforeLoad||cr(n))&&typeof i==`number`&&i!==1/0&&(n.options.pendingComponent??e.router.options?.defaultPendingComponent)){let t=setTimeout(()=>{Hn(e)},i);r._nonReactive.pendingTimeout=t}},Qn=(e,t,n)=>{let r=e.router.getMatch(t);if(!r._nonReactive.beforeLoadPromise&&!r._nonReactive.loaderPromise)return;Zn(e,t,n,r);let i=()=>{let n=e.router.getMatch(t);n.preload&&(n.status===`redirected`||n.status===`notFound`)&&qn(e,n,n.error)};return r._nonReactive.beforeLoadPromise?r._nonReactive.beforeLoadPromise.then(i):i()},$n=(e,t,n,r)=>{let i=e.router.getMatch(t),a=i._nonReactive.loadPromise;i._nonReactive.loadPromise=Lt(()=>{a?.resolve(),a=void 0});let{paramsError:o,searchError:s}=i;o&&Xn(e,n,o,`PARSE_PARAMS`),s&&Xn(e,n,s,`VALIDATE_SEARCH`),Zn(e,t,r,i);let c=new AbortController,l=!1,u=()=>{l||(l=!0,e.updateMatch(t,e=>({...e,isFetching:`beforeLoad`,fetchCount:e.fetchCount+1,abortController:c})))},d=()=>{i._nonReactive.beforeLoadPromise?.resolve(),i._nonReactive.beforeLoadPromise=void 0,e.updateMatch(t,e=>({...e,isFetching:!1}))};if(!r.options.beforeLoad){e.router.batch(()=>{u(),d()});return}i._nonReactive.beforeLoadPromise=Lt();let f={...Gn(e,n,!1),...i.__routeContext},{search:p,params:m,cause:h}=i,g=Wn(e,t),_={search:p,abortController:c,params:m,preload:g,context:f,location:e.location,navigate:t=>e.router.navigate({...t,_fromLocation:e.location}),buildLocation:e.router.buildLocation,cause:g?`preload`:h,matches:e.matches,routeId:r.id,...e.router.options.additionalContext},v=r=>{if(r===void 0){e.router.batch(()=>{u(),d()});return}(Vn(r)||jn(r))&&(u(),Xn(e,n,r,`BEFORE_LOAD`)),e.router.batch(()=>{u(),e.updateMatch(t,e=>({...e,__beforeLoadContext:r})),d()})},y;try{if(y=r.options.beforeLoad(_),Rt(y))return u(),y.catch(t=>{Xn(e,n,t,`BEFORE_LOAD`)}).then(v)}catch(t){u(),Xn(e,n,t,`BEFORE_LOAD`)}v(y)},er=(e,t)=>{let{id:n,routeId:r}=e.matches[t],i=e.router.looseRoutesById[r],a=()=>s(),o=()=>$n(e,n,t,i),s=()=>{if(Jn(e,n))return;let t=Qn(e,n,i);return Rt(t)?t.then(o):o()};return a()},tr=(e,t,n)=>{let r=e.router.getMatch(t);if(!r||!n.options.head&&!n.options.scripts&&!n.options.headers)return;let i={ssr:e.router.options.ssr,matches:e.matches,match:r,params:r.params,loaderData:r.loaderData};return Promise.all([n.options.head?.(i),n.options.scripts?.(i),n.options.headers?.(i)]).then(([e,t,n])=>({meta:e?.meta,links:e?.links,headScripts:e?.scripts,headers:n,scripts:t,styles:e?.styles}))},nr=(e,t,n,r,i)=>{let a=t[r-1],{params:o,loaderDeps:s,abortController:c,cause:l}=e.router.getMatch(n),u=Gn(e,r),d=Wn(e,n);return{params:o,deps:s,preload:!!d,parentMatchPromise:a,abortController:c,context:u,location:e.location,navigate:t=>e.router.navigate({...t,_fromLocation:e.location}),cause:d?`preload`:l,route:i,...e.router.options.additionalContext}},rr=async(e,t,n,r,i)=>{try{let a=e.router.getMatch(n);try{sr(i);let o=i.options.loader,s=typeof o==`function`?o:o?.handler,c=s?.(nr(e,t,n,r,i)),l=!!s&&Rt(c);if((l||i._lazyPromise||i._componentsPromise||i.options.head||i.options.scripts||i.options.headers||a._nonReactive.minPendingPromise)&&e.updateMatch(n,e=>({...e,isFetching:`loader`})),s){let t=l?await c:c;qn(e,e.router.getMatch(n),t),t!==void 0&&e.updateMatch(n,e=>({...e,loaderData:t}))}i._lazyPromise&&await i._lazyPromise;let u=a._nonReactive.minPendingPromise;u&&await u,i._componentsPromise&&await i._componentsPromise,e.updateMatch(n,t=>({...t,error:void 0,context:Gn(e,r),status:`success`,isFetching:!1,updatedAt:Date.now()}))}catch(t){let o=t;if(o?.name===`AbortError`){if(a.abortController.signal.aborted){a._nonReactive.loaderPromise?.resolve(),a._nonReactive.loaderPromise=void 0;return}e.updateMatch(n,t=>({...t,status:t.status===`pending`?`success`:t.status,isFetching:!1,context:Gn(e,r)}));return}let s=a._nonReactive.minPendingPromise;s&&await s,jn(t)&&await i.options.notFoundComponent?.preload?.(),qn(e,e.router.getMatch(n),t);try{i.options.onError?.(t)}catch(t){o=t,qn(e,e.router.getMatch(n),t)}!Vn(o)&&!jn(o)&&await sr(i,[`errorComponent`]),e.updateMatch(n,t=>({...t,error:o,context:Gn(e,r),status:`error`,isFetching:!1}))}}catch(t){let r=e.router.getMatch(n);r&&(r._nonReactive.loaderPromise=void 0),qn(e,r,t)}},ir=async(e,t,n)=>{async function r(r,a,c,l,d){let f=Date.now()-a.updatedAt,p=r?d.options.preloadStaleTime??e.router.options.defaultPreloadStaleTime??3e4:d.options.staleTime??e.router.options.defaultStaleTime??0,m=d.options.shouldReload,h=typeof m==`function`?m(nr(e,t,i,n,d)):m,{status:g,invalid:_}=l,v=f>=p&&(!!e.forceStaleReload||l.cause===`enter`||c!==void 0&&c!==l.id);o=g===`success`&&(_||(h??v)),r&&d.options.preload===!1||(o&&!e.sync&&u?(s=!0,(async()=>{try{await rr(e,t,i,n,d);let r=e.router.getMatch(i);r._nonReactive.loaderPromise?.resolve(),r._nonReactive.loadPromise?.resolve(),r._nonReactive.loaderPromise=void 0,r._nonReactive.loadPromise=void 0}catch(t){Vn(t)&&await e.router.navigate(t.options)}})()):g!==`success`||o?await rr(e,t,i,n,d):Yn(e,i,n))}let{id:i,routeId:a}=e.matches[n],o=!1,s=!1,c=e.router.looseRoutesById[a],l=c.options.loader,u=((typeof l==`function`?void 0:l?.staleReloadMode)??e.router.options.defaultStaleReloadMode)!==`blocking`;if(Jn(e,i)){if(!e.router.getMatch(i))return e.matches[n];Yn(e,i,n)}else{let t=e.router.getMatch(i),o=e.router.stores.matchesId.get()[n],s=(o&&e.router.stores.matchStores.get(o)||null)?.routeId===a?o:e.router.stores.matches.get().find(e=>e.routeId===a)?.id,l=Wn(e,i);if(t._nonReactive.loaderPromise){if(t.status===`success`&&!e.sync&&!t.preload&&u)return t;await t._nonReactive.loaderPromise;let n=e.router.getMatch(i),a=n._nonReactive.error||n.error;a&&qn(e,n,a),n.status===`pending`&&await r(l,t,s,n,c)}else{let n=l&&!e.router.stores.matchStores.has(i),a=e.router.getMatch(i);a._nonReactive.loaderPromise=Lt(),n!==a.preload&&e.updateMatch(i,e=>({...e,preload:n})),await r(l,t,s,a,c)}}let d=e.router.getMatch(i);s||(d._nonReactive.loaderPromise?.resolve(),d._nonReactive.loadPromise?.resolve(),d._nonReactive.loadPromise=void 0),clearTimeout(d._nonReactive.pendingTimeout),d._nonReactive.pendingTimeout=void 0,s||(d._nonReactive.loaderPromise=void 0),d._nonReactive.dehydrated=void 0;let f=s?d.isFetching:!1;return f!==d.isFetching||d.invalid!==!1?(e.updateMatch(i,e=>({...e,isFetching:f,invalid:!1})),e.router.getMatch(i)):d};async function ar(e){let t=e,n=[];Un(t.router)&&Hn(t);let r;for(let e=0;e<t.matches.length;e++){try{let n=er(t,e);Rt(n)&&await n}catch(e){if(Vn(e))throw e;if(jn(e))r=e;else if(!t.preload)throw e;break}if(t.serialError||t.firstBadMatchIndex!=null)break}let i=t.firstBadMatchIndex??t.matches.length,a=r&&!t.preload?Kn(t,r):void 0,o=r&&t.preload?0:a===void 0?i:Math.min(a+1,i),s,c;for(let e=0;e<o;e++)n.push(ir(t,n,e));try{await Promise.all(n)}catch{let e=await Promise.allSettled(n);for(let t of e){if(t.status!==`rejected`)continue;let e=t.reason;if(Vn(e))throw e;jn(e)?s??=e:c??=e}if(c!==void 0)throw c}let l=s??(r&&!t.preload?r:void 0),u=t.firstBadMatchIndex===void 0?t.matches.length-1:t.firstBadMatchIndex;if(!l&&r&&t.preload)return t.matches;if(l){let e=Kn(t,l);e===void 0&&Kt();let n=t.matches[e],r=t.router.looseRoutesById[n.routeId],i=t.router.options?.defaultNotFoundComponent;!r.options.notFoundComponent&&i&&(r.options.notFoundComponent=i),l.routeId=n.routeId;let a=n.routeId===t.router.routeTree.id;t.updateMatch(n.id,e=>({...e,...a?{status:`success`,globalNotFound:!0,error:void 0}:{status:`notFound`,error:l},isFetching:!1})),u=e,await sr(r,[`notFoundComponent`])}else if(!t.preload){let e=t.matches[0];e.globalNotFound||t.router.getMatch(e.id)?.globalNotFound&&t.updateMatch(e.id,e=>({...e,globalNotFound:!1,error:void 0}))}if(t.serialError&&t.firstBadMatchIndex!==void 0){let e=t.router.looseRoutesById[t.matches[t.firstBadMatchIndex].routeId];await sr(e,[`errorComponent`])}for(let e=0;e<=u;e++){let{id:n,routeId:r}=t.matches[e],i=t.router.looseRoutesById[r];try{let e=tr(t,n,i);if(e){let r=await e;t.updateMatch(n,e=>({...e,...r}))}}catch(e){console.error(`Error executing head for route ${r}:`,e)}}let d=Hn(t);if(Rt(d)&&await d,l)throw l;if(t.serialError&&!t.preload&&!t.onReady)throw t.serialError;return t.matches}function or(e,t){let n=t.map(t=>e.options[t]?.preload?.()).filter(Boolean);if(n.length!==0)return Promise.all(n)}function sr(e,t=lr){!e._lazyLoaded&&e._lazyPromise===void 0&&(e.lazyFn?e._lazyPromise=e.lazyFn().then(t=>{let{id:n,...r}=t.options;Object.assign(e.options,r),e._lazyLoaded=!0,e._lazyPromise=void 0}):e._lazyLoaded=!0);let n=()=>e._componentsLoaded?void 0:t===lr?(()=>{if(e._componentsPromise===void 0){let t=or(e,lr);t?e._componentsPromise=t.then(()=>{e._componentsLoaded=!0,e._componentsPromise=void 0}):e._componentsLoaded=!0}return e._componentsPromise})():or(e,t);return e._lazyPromise?e._lazyPromise.then(n):n()}function cr(e){for(let t of lr)if(e.options[t]?.preload)return!0;return!1}var lr=[`component`,`errorComponent`,`pendingComponent`,`notFoundComponent`];function ur(e){return{input:({url:t})=>{for(let n of e)t=fr(n,t);return t},output:({url:t})=>{for(let n=e.length-1;n>=0;n--)t=pr(e[n],t);return t}}}function dr(e){let t=Cn(e.basepath),n=`/${t}`,r=e.caseSensitive?n:n.toLowerCase(),i=`${r}/`;return{input:({url:t})=>{let a=e.caseSensitive?t.pathname:t.pathname.toLowerCase();return a===r?t.pathname=`/`:a.startsWith(i)&&(t.pathname=t.pathname.slice(n.length)),t},output:({url:e})=>(e.pathname=yn([`/`,t,e.pathname]),e)}}function fr(e,t){let n=e?.input?.({url:t});if(n){if(typeof n==`string`)return new URL(n);if(n instanceof URL)return n}return t}function pr(e,t){let n=e?.output?.({url:t});if(n){if(typeof n==`string`)return new URL(n);if(n instanceof URL)return n}return t}function mr(e,t){let{createMutableStore:n,createReadonlyStore:r,batch:i,init:a}=t,o=new Map,s=new Map,c=new Map,l=n(e.status),u=n(e.loadedAt),d=n(e.isLoading),f=n(e.isTransitioning),p=n(e.location),m=n(e.resolvedLocation),h=n(e.statusCode),g=n(e.redirect),_=n([]),v=n([]),y=n([]),b=r(()=>hr(o,_.get())),x=r(()=>hr(s,v.get())),S=r(()=>hr(c,y.get())),C=r(()=>_.get()[0]),w=r(()=>_.get().some(e=>o.get(e)?.get().status===`pending`)),T=r(()=>({locationHref:p.get().href,resolvedLocationHref:m.get()?.href,status:l.get()})),E=r(()=>({status:l.get(),loadedAt:u.get(),isLoading:d.get(),isTransitioning:f.get(),matches:b.get(),location:p.get(),resolvedLocation:m.get(),statusCode:h.get(),redirect:g.get()})),D=qt(64);function O(e){let t=D.get(e);return t||(t=r(()=>{let t=_.get();for(let n of t){let t=o.get(n);if(t&&t.routeId===e)return t.get()}}),D.set(e,t)),t}let ee={status:l,loadedAt:u,isLoading:d,isTransitioning:f,location:p,resolvedLocation:m,statusCode:h,redirect:g,matchesId:_,pendingIds:v,cachedIds:y,matches:b,pendingMatches:x,cachedMatches:S,firstId:C,hasPending:w,matchRouteDeps:T,matchStores:o,pendingMatchStores:s,cachedMatchStores:c,__store:E,getRouteMatchStore:O,setMatches:te,setPending:ne,setCached:re};te(e.matches),a?.(ee);function te(e){gr(e,o,_,n,i)}function ne(e){gr(e,s,v,n,i)}function re(e){gr(e,c,y,n,i)}return ee}function hr(e,t){let n=[];for(let r of t){let t=e.get(r);t&&n.push(t.get())}return n}function gr(e,t,n,r,i){let a=e.map(e=>e.id),o=new Set(a);i(()=>{for(let e of t.keys())o.has(e)||t.delete(e);for(let n of e){let e=t.get(n.id);if(!e){let e=r(n);e.routeId=n.routeId,t.set(n.id,e);continue}e.routeId=n.routeId,e.get()!==n&&e.set(n)}Gt(n.get(),a)||n.set(a)})}var _r=`__TSR_index`,vr=`popstate`,yr=`beforeunload`;function br(e){let t=e.getLocation(),n=new Set,r=r=>{t=e.getLocation(),n.forEach(e=>e({location:t,action:r}))},i=n=>{e.notifyOnIndexChange??!0?r(n):t=e.getLocation()},a=async({task:n,navigateOpts:r,...i})=>{if(r?.ignoreBlocker??!1){n();return}let a=e.getBlockers?.()??[],o=i.type===`PUSH`||i.type===`REPLACE`;if(typeof document<`u`&&a.length&&o)for(let n of a){let r=wr(i.path,i.state);if(await n.blockerFn({currentLocation:t,nextLocation:r,action:i.type})){e.onBlocked?.();return}}n()};return{get location(){return t},get length(){return e.getLength()},subscribers:n,subscribe:e=>(n.add(e),()=>{n.delete(e)}),push:(n,i,o)=>{let s=t.state[_r];i=xr(s+1,i),a({task:()=>{e.pushState(n,i),r({type:`PUSH`})},navigateOpts:o,type:`PUSH`,path:n,state:i})},replace:(n,i,o)=>{let s=t.state[_r];i=xr(s,i),a({task:()=>{e.replaceState(n,i),r({type:`REPLACE`})},navigateOpts:o,type:`REPLACE`,path:n,state:i})},go:(t,n)=>{a({task:()=>{e.go(t),i({type:`GO`,index:t})},navigateOpts:n,type:`GO`})},back:t=>{a({task:()=>{e.back(t?.ignoreBlocker??!1),i({type:`BACK`})},navigateOpts:t,type:`BACK`})},forward:t=>{a({task:()=>{e.forward(t?.ignoreBlocker??!1),i({type:`FORWARD`})},navigateOpts:t,type:`FORWARD`})},canGoBack:()=>t.state[_r]!==0,createHref:t=>e.createHref(t),block:t=>{if(!e.setBlockers)return()=>{};let n=e.getBlockers?.()??[];return e.setBlockers([...n,t]),()=>{let n=e.getBlockers?.()??[];e.setBlockers?.(n.filter(e=>e!==t))}},flush:()=>e.flush?.(),destroy:()=>e.destroy?.(),notify:r}}function xr(e,t){t||={};let n=Tr();return{...t,key:n,__TSR_key:n,[_r]:e}}function Sr(e){let t=e?.window??(typeof document<`u`?window:void 0),n=t.history.pushState,r=t.history.replaceState,i=[],a=()=>i,o=e=>i=e,s=e?.createHref??(e=>e),c=e?.parseLocation??(()=>wr(`${t.location.pathname}${t.location.search}${t.location.hash}`,t.history.state));if(!t.history.state?.__TSR_key&&!t.history.state?.key){let e=Tr();t.history.replaceState({[_r]:0,key:e,__TSR_key:e},``)}let l=c(),u,d=!1,f=!1,p=!1,m=!1,h=()=>l,g,_,v=()=>{g&&(C._ignoreSubscribers=!0,(g.isPush?t.history.pushState:t.history.replaceState)(g.state,``,g.href),C._ignoreSubscribers=!1,g=void 0,_=void 0,u=void 0)},y=(e,t,n)=>{let r=s(t);_||(u=l),l=wr(t,n),g={href:r,state:n,isPush:g?.isPush||e===`push`},_||=Promise.resolve().then(()=>v())},b=e=>{l=c(),C.notify({type:e})},x=async()=>{if(f){f=!1;return}let e=c(),n=e.state[_r]-l.state[_r],r=n===1,i=n===-1,o=!r&&!i||d;d=!1;let s=o?`GO`:i?`BACK`:`FORWARD`,u=o?{type:`GO`,index:n}:{type:i?`BACK`:`FORWARD`};if(p)p=!1;else{let n=a();if(typeof document<`u`&&n.length){for(let r of n)if(await r.blockerFn({currentLocation:l,nextLocation:e,action:s})){f=!0,t.history.go(1),C.notify(u);return}}}l=c(),C.notify(u)},S=e=>{if(m){m=!1;return}let t=!1,n=a();if(typeof document<`u`&&n.length)for(let e of n){let n=e.enableBeforeUnload??!0;if(n===!0){t=!0;break}if(typeof n==`function`&&n()===!0){t=!0;break}}if(t)return e.preventDefault(),e.returnValue=``},C=br({getLocation:h,getLength:()=>t.history.length,pushState:(e,t)=>y(`push`,e,t),replaceState:(e,t)=>y(`replace`,e,t),back:e=>(e&&(p=!0),m=!0,t.history.back()),forward:e=>{e&&(p=!0),m=!0,t.history.forward()},go:e=>{d=!0,t.history.go(e)},createHref:e=>s(e),flush:v,destroy:()=>{t.history.pushState=n,t.history.replaceState=r,t.removeEventListener(yr,S,{capture:!0}),t.removeEventListener(vr,x)},onBlocked:()=>{u&&l!==u&&(l=u)},getBlockers:a,setBlockers:o,notifyOnIndexChange:!1});return t.addEventListener(yr,S,{capture:!0}),t.addEventListener(vr,x),t.history.pushState=function(...e){let r=n.apply(t.history,e);return C._ignoreSubscribers||b(`PUSH`),r},t.history.replaceState=function(...e){let n=r.apply(t.history,e);return C._ignoreSubscribers||b(`REPLACE`),n},C}function Cr(e){let t=e.replace(/[\x00-\x1f\x7f]/g,``);return t.startsWith(`//`)&&(t=`/`+t.replace(/^\/+/,``)),t}function wr(e,t){let n=Cr(e),r=n.indexOf(`#`),i=n.indexOf(`?`),a=Tr();return{href:n,pathname:n.substring(0,r>0?i>0?Math.min(r,i):r:i>0?i:n.length),hash:r>-1?n.substring(r):``,search:i>-1?n.slice(i,r===-1?void 0:r):``,state:t||{[_r]:0,key:a,__TSR_key:a}}}function Tr(){return(Math.random()+1).toString(36).substring(7)}function Er(e,t){let n=t,r=e;return{fromLocation:n,toLocation:r,pathChanged:n?.pathname!==r.pathname,hrefChanged:n?.href!==r.href,hashChanged:n?.hash!==r.hash}}var Dr=new WeakMap,Or=class{constructor(e,t){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.routeBranchCache=new WeakMap,this.startTransition=e=>e(),this.update=e=>{let t=this.options,n=this.basepath??t?.basepath??`/`,r=this.basepath===void 0,i=t?.rewrite;if(this.options={...t,...e},this.isServer=this.options.isServer??typeof document>`u`,this.protocolAllowlist=new Set(this.options.protocolAllowlist),this.options.pathParamsAllowedCharacters&&(this.pathParamsDecoder=Dn(this.options.pathParamsAllowedCharacters)),(!this.history||this.options.history&&this.options.history!==this.history)&&(this.options.history?this.history=this.options.history:this.history=Sr()),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 e;this.resolvePathCache=qt(1e3),e=this.buildRouteTree(),this.setRoutes(e)}if(!this.stores&&this.latestLocation){let e=this.getStoreConfig(this);this.batch=e.batch,this.stores=mr(jr(this.latestLocation),e),Zr(this)}let a=!1,o=this.options.basepath??`/`,s=this.options.rewrite;if(r||n!==o||i!==s){this.basepath=o;let e=[],t=Cn(o);t&&t!==`/`&&e.push(dr({basepath:o})),s&&e.push(s),this.rewrite=e.length===0?void 0:e.length===1?e[0]:ur(e),this.history&&this.updateLatestLocation(),a=!0}a&&this.stores&&this.stores.location.set(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=()=>{let e=ln(this.routeTree,this.options.caseSensitive,(e,t)=>{e.init({originalIndex:t})});return this.options.routeMasks&&rn(this.options.routeMasks,e.processedTree),e},this.subscribe=(e,t)=>{let n={eventType:e,fn:t};return this.subscribers.add(n),()=>{this.subscribers.delete(n)}},this.emit=e=>{this.subscribers.forEach(t=>{t.eventType===e.type&&t.fn(e)})},this.parseLocation=(e,t)=>{let n=({pathname:e,search:n,hash:r,href:i,state:a})=>{if(!this.rewrite&&!/[ \x00-\x1f\x7f\u0080-\uffff]/.test(e)){let i=this.options.parseSearch(n),o=this.options.stringifySearch(i);return{href:e+o+r,publicHref:e+o+r,pathname:Ut(e).path,external:!1,searchStr:o,search:At(t?.search,i),hash:Ut(r.slice(1)).path,state:jt(t?.state,a)}}let o=new URL(i,this.origin),s=fr(this.rewrite,o),c=this.options.parseSearch(s.search),l=this.options.stringifySearch(c);return s.search=l,{href:s.href.replace(s.origin,``),publicHref:i,pathname:Ut(s.pathname).path,external:!!this.rewrite&&s.origin!==this.origin,searchStr:l,search:At(t?.search,c),hash:Ut(s.hash.slice(1)).path,state:jt(t?.state,a)}},r=n(e),{__tempLocation:i,__tempKey:a}=r.state;if(i&&(!a||a===this.tempLocationKey)){let e=n(i);return e.state.key=r.state.key,e.state.__TSR_key=r.state.__TSR_key,delete e.state.__tempLocation,{...e,maskedLocation:r}}return r},this.resolvePathWithBase=(e,t)=>En({base:e,to:t.includes(`//`)?bn(t):t,trailingSlash:this.options.trailingSlash,cache:this.resolvePathCache}),this.matchRoutes=(e,t,n)=>typeof e==`string`?this.matchRoutesInternal({pathname:e,search:t},n):this.matchRoutesInternal(e,t),this.getMatchedRoutes=e=>Nr({pathname:e,routesById:this.routesById,processedTree:this.processedTree}),this.cancelMatch=e=>{let t=this.getMatch(e);t&&(t.abortController.abort(),clearTimeout(t._nonReactive.pendingTimeout),t._nonReactive.pendingTimeout=void 0)},this.cancelMatches=()=>{this.stores.pendingIds.get().forEach(e=>{this.cancelMatch(e)}),this.stores.matchesId.get().forEach(e=>{if(this.stores.pendingMatchStores.has(e))return;let t=this.stores.matchStores.get(e)?.get();t&&(t.status===`pending`||t.isFetching===`loader`)&&this.cancelMatch(e)})},this.buildLocation=e=>{let t=(t={})=>{let n=t._fromLocation||this.pendingBuiltLocation||this.latestLocation,r=this.matchRoutesLightweight(n);t.from;let i=t.unsafeRelative===`path`?n.pathname:t.from??r.fullPath,a=t.to?`${t.to}`:void 0,o=r.search,s=Object.assign(Object.create(null),r.params),c=a?.charCodeAt(0)===47?`/`:this.resolvePathWithBase(i,`.`),l=a?this.resolvePathWithBase(c,a):c,u=t.params===!1||t.params===null?Object.create(null):(t.params??!0)===!0?s:Object.assign(s,Tt(t.params,s)),d=this.routesByPath[Sn(l)],f;if(d)f=this.getRouteBranch(d);else if(l.includes(`$`))f=[];else{let e=this.getMatchedRoutes(l);f=e.matchedRoutes,this.options.notFoundRoute&&(!e.foundRoute||e.foundRoute.path!==`/`&&e.routeParams[`**`])&&(f=[...f,this.options.notFoundRoute])}if(f.length&&Ot(u))for(let e of f){let t=e.options.params?.stringify??e.options.stringifyParams;if(t)try{Object.assign(u,t(u))}catch{}}let p=e.leaveParams?l:Ut(kn({path:l,params:u,decoder:this.pathParamsDecoder,server:this.isServer}).interpolatedPath).path,m=o;if(e._includeValidateSearch&&this.options.search?.strict){let e={};f.forEach(t=>{if(t.options.validateSearch)try{Object.assign(e,Mr(t.options.validateSearch,{...e,...m}))}catch{}}),m=e}m=Pr({search:m,dest:t,destRoutes:f,_includeValidateSearch:e._includeValidateSearch}),m=At(o,m);let h=this.options.stringifySearch(m),g=t.hash===!0?n.hash:t.hash?Tt(t.hash,n.hash):void 0,_=g?`#${g}`:``,v=t.state===!0?n.state:t.state?Tt(t.state,n.state):{};v=jt(n.state,v);let y=`${p}${h}${_}`,b,x,S=!1;if(this.rewrite){let e=new URL(y,this.origin),t=pr(this.rewrite,e);b=e.href.replace(e.origin,``),t.origin===this.origin?x=t.pathname+t.search+t.hash:(x=t.href,S=!0)}else b=Wt(y),x=b;return{publicHref:x,href:b,pathname:p,search:m,searchStr:h,state:v,hash:g??``,external:S,unmaskOnReload:t.unmaskOnReload}},n=(n={},r)=>{let i=t(n),a=r?t(r):void 0;if(!a){let n=Object.create(null);if(this.options.routeMasks){let o=an(i.pathname,this.processedTree);if(o){Object.assign(n,o.rawParams);let{from:i,params:s,...c}=o.route,l=s===!1||s===null?Object.create(null):(s??!0)===!0?n:Object.assign(n,Tt(s,n));r={from:e.from,...c,params:l},a=t(r)}}}return a&&(i.maskedLocation=a),i};return e.mask?n(e,{from:e.from,...e.mask}):n(e)},this.commitLocation=async({viewTransition:e,ignoreBlocker:t,...n})=>{let r,i=()=>{let e=[`key`,`__TSR_key`,`__TSR_index`,`__hashScrollIntoViewOptions`];e.forEach(e=>{n.state[e]=this.latestLocation.state[e]});let t=It(n.state,this.latestLocation.state);return e.forEach(e=>{delete n.state[e]}),t},a=Sn(this.latestLocation.href)===Sn(n.href),o=this.commitLocationPromise;if(this.commitLocationPromise=Lt(()=>{o?.resolve(),o=void 0}),a&&i())this.load();else{let{maskedLocation:i,hashScrollIntoView:a,...o}=n;i&&(o={...i,state:{...i.state,__tempKey:void 0,__tempLocation:{...o,search:o.searchStr,state:{...o.state,__tempKey:void 0,__tempLocation:void 0,__TSR_key:void 0,key:void 0}}}},(o.unmaskOnReload??this.options.unmaskOnReload??!1)&&(o.state.__tempKey=this.tempLocationKey)),o.state.__hashScrollIntoViewOptions=a??this.options.defaultHashScrollIntoView??!0,this.shouldViewTransition=e,r=n.replace?`REPLACE`:`PUSH`,this.history[r===`REPLACE`?`replace`:`push`](o.publicHref,o.state,{ignoreBlocker:t})}return this.resetNextScroll=n.resetScroll??!0,this.history.subscribers.size||this.load(r?{action:{type:r}}:void 0),this.commitLocationPromise},this.buildAndCommitLocation=({replace:e,resetScroll:t,hashScrollIntoView:n,viewTransition:r,ignoreBlocker:i,href:a,...o}={})=>{if(a){let t=this.history.location.state.__TSR_index,n=wr(a,{__TSR_index:e?t:t+1}),r=new URL(n.pathname,this.origin);o.to=fr(this.rewrite,r).pathname,o.search=this.options.parseSearch(n.search),o.hash=n.hash.slice(1)}let s=this.buildLocation({...o,_includeValidateSearch:!0});this.pendingBuiltLocation=s;let c=this.commitLocation({...s,viewTransition:r,replace:e,resetScroll:t,hashScrollIntoView:n,ignoreBlocker:i});return Promise.resolve().then(()=>{this.pendingBuiltLocation===s&&(this.pendingBuiltLocation=void 0)}),c},this.navigate=async({to:e,reloadDocument:t,href:n,publicHref:r,...i})=>{let a=!1;if(n)try{new URL(`${n}`),a=!0}catch{}if(a&&!t&&(t=!0),t){if(e!==void 0||!n){let t=this.buildLocation({to:e,...i});n??=t.publicHref,r??=t.publicHref}let t=!a&&r?r:n;if(Ht(t,this.protocolAllowlist))return Promise.resolve();if(!i.ignoreBlocker){let e=this.history.getBlockers?.()??[];for(let t of e)if(t?.blockerFn&&await t.blockerFn({currentLocation:this.latestLocation,nextLocation:this.latestLocation,action:`PUSH`}))return Promise.resolve()}return i.replace?window.location.replace(t):window.location.href=t,Promise.resolve()}return this.buildAndCommitLocation({...i,href:n,to:e,_isNavigate:!0})},this.beforeLoad=()=>{this.cancelMatches(),this.updateLatestLocation();let e=this.matchRoutes(this.latestLocation),t=this.stores.cachedMatches.get().filter(t=>!e.some(e=>e.id===t.id));this.batch(()=>{this.stores.status.set(`pending`),this.stores.statusCode.set(200),this.stores.isLoading.set(!0),this.stores.location.set(this.latestLocation),this.stores.setPending(e),this.stores.setCached(t)})},this.load=async e=>{let t=e?.action?.type,n,r,i,a=this.stores.resolvedLocation.get()??this.stores.location.get();for(i=new Promise(o=>{this.startTransition(async()=>{try{this.beforeLoad(),t?Dr.set(this.latestLocation,t):Dr.delete(this.latestLocation);let n=this.latestLocation,r=Er(n,this.stores.resolvedLocation.get());this.stores.redirect.get()||this.emit({type:`onBeforeNavigate`,...r}),this.emit({type:`onBeforeLoad`,...r}),await ar({router:this,sync:e?.sync,forceStaleReload:a.href===n.href,matches:this.stores.pendingMatches.get(),location:n,updateMatch:this.updateMatch,onReady:async()=>{this.startTransition(()=>{this.startViewTransition(async()=>{let e=null,t=null,n=null,r=null;this.batch(()=>{let i=this.stores.pendingMatches.get(),a=i.length,o=this.stores.matches.get();e=a?o.filter(e=>!this.stores.pendingMatchStores.has(e.id)):null;let s=new Set;for(let e of this.stores.pendingMatchStores.values())e.routeId&&s.add(e.routeId);let c=new Set;for(let e of this.stores.matchStores.values())e.routeId&&c.add(e.routeId);t=a?o.filter(e=>!s.has(e.routeId)):null,n=a?i.filter(e=>!c.has(e.routeId)):null,r=a?i.filter(e=>c.has(e.routeId)):o,this.stores.isLoading.set(!1),this.stores.loadedAt.set(Date.now()),a&&(this.stores.setMatches(i),this.stores.setPending([]),this.stores.setCached([...this.stores.cachedMatches.get(),...e.filter(e=>e.status!==`error`&&e.status!==`notFound`&&e.status!==`redirected`)]),this.clearExpiredCache())});for(let[e,i]of[[t,`onLeave`],[n,`onEnter`],[r,`onStay`]])if(e)for(let t of e)this.looseRoutesById[t.routeId].options[i]?.(t)})})}})}catch(e){Vn(e)?(n=e,this.navigate({...n.options,replace:!0,ignoreBlocker:!0})):jn(e)&&(r=e);let t=n?n.status:r?404:this.stores.matches.get().some(e=>e.status===`error`)?500:200;this.batch(()=>{this.stores.statusCode.set(t),this.stores.redirect.set(n)})}this.latestLoadPromise===i&&(this.commitLocationPromise?.resolve(),this.latestLoadPromise=void 0,this.commitLocationPromise=void 0),o()})}),this.latestLoadPromise=i,await i;this.latestLoadPromise&&i!==this.latestLoadPromise;)await this.latestLoadPromise;let o;this.hasNotFoundMatch()?o=404:this.stores.matches.get().some(e=>e.status===`error`)&&(o=500),o!==void 0&&this.stores.statusCode.set(o)},this.startViewTransition=e=>{let t=this.shouldViewTransition??this.options.defaultViewTransition;if(this.shouldViewTransition=void 0,t&&typeof document<`u`&&`startViewTransition`in document&&typeof document.startViewTransition==`function`){let n;if(typeof t==`object`&&this.isViewTransitionTypesSupported){let r=this.latestLocation,i=this.stores.resolvedLocation.get(),a=typeof t.types==`function`?t.types(Er(r,i)):t.types;if(a===!1){e();return}n={update:e,types:a}}else n=e;document.startViewTransition(n)}else e()},this.updateMatch=(e,t)=>{this.startTransition(()=>{let n=this.stores.pendingMatchStores.get(e);if(n){n.set(t);return}let r=this.stores.matchStores.get(e);if(r){r.set(t);return}let i=this.stores.cachedMatchStores.get(e);if(i){let n=t(i.get());n.status===`redirected`?this.stores.cachedMatchStores.delete(e)&&this.stores.cachedIds.set(t=>t.filter(t=>t!==e)):i.set(n)}})},this.getMatch=e=>this.stores.cachedMatchStores.get(e)?.get()??this.stores.pendingMatchStores.get(e)?.get()??this.stores.matchStores.get(e)?.get(),this.invalidate=e=>{let t=t=>e?.filter?.(t)??!0?{...t,invalid:!0,...e?.forcePending||t.status===`error`||t.status===`notFound`?{status:`pending`,error:void 0}:void 0}:t;return this.batch(()=>{this.stores.setMatches(this.stores.matches.get().map(t)),this.stores.setCached(this.stores.cachedMatches.get().map(t)),this.stores.setPending(this.stores.pendingMatches.get().map(t))}),this.shouldViewTransition=!1,this.load({sync:e?.sync})},this.getParsedLocationHref=e=>e.publicHref||`/`,this.resolveRedirect=e=>{let t=e.headers.get(`Location`);if(!e.options.href||e.options._builtLocation){let t=e.options._builtLocation??this.buildLocation(e.options),n=this.getParsedLocationHref(t);e.options.href=n,e.headers.set(`Location`,n)}else if(t)try{let n=new URL(t);if(this.origin&&n.origin===this.origin){let t=n.pathname+n.search+n.hash;e.options.href=t,e.headers.set(`Location`,t)}}catch{}if(e.options.href&&!e.options._builtLocation&&Ht(e.options.href,this.protocolAllowlist))throw Error(`Redirect blocked: unsafe protocol`);return e.headers.get(`Location`)||e.headers.set(`Location`,e.options.href),e},this.clearCache=e=>{let t=e?.filter;t===void 0?this.stores.setCached([]):this.stores.setCached(this.stores.cachedMatches.get().filter(e=>!t(e)))},this.clearExpiredCache=()=>{let e=Date.now();this.clearCache({filter:t=>{let n=this.looseRoutesById[t.routeId];if(!n.options.loader)return!0;let r=(t.preload?n.options.preloadGcTime??this.options.defaultPreloadGcTime:n.options.gcTime??this.options.defaultGcTime)??300*1e3;return t.status===`error`?!0:e-t.updatedAt>=r}})},this.loadRouteChunk=sr,this.preloadRoute=async e=>{let t=e._builtLocation??this.buildLocation(e),n=this.matchRoutes(t,{throwOnError:!0,preload:!0,dest:e}),r=new Set([...this.stores.matchesId.get(),...this.stores.pendingIds.get()]),i=new Set([...r,...this.stores.cachedIds.get()]),a=n.filter(e=>!i.has(e.id));if(a.length){let e=this.stores.cachedMatches.get();this.stores.setCached([...e,...a])}try{return n=await ar({router:this,matches:n,location:t,preload:!0,updateMatch:(e,t)=>{r.has(e)?n=n.map(n=>n.id===e?t(n):n):this.updateMatch(e,t)}}),n}catch(e){if(Vn(e))return e.options.reloadDocument?void 0:await this.preloadRoute({...e.options,_fromLocation:t});jn(e)||console.error(e);return}},this.matchRoute=(e,t)=>{let n={...e,to:e.to?this.resolvePathWithBase(e.from||``,e.to):void 0,params:e.params||{},leaveParams:!0},r=this.buildLocation(n);if(t?.pending&&this.stores.status.get()!==`pending`)return!1;let i=(t?.pending===void 0?!this.stores.isLoading.get():t.pending)?this.latestLocation:this.stores.resolvedLocation.get()||this.stores.location.get(),a=on(r.pathname,t?.caseSensitive??!1,t?.fuzzy??!1,i.pathname,this.processedTree);return!a||e.params&&!It(a.rawParams,e.params,{partial:!0})?!1:t?.includeSearch??!0?It(i.search,r.search,{partial:!0})?a.rawParams:!1:a.rawParams},this.hasNotFoundMatch=()=>this.stores.matches.get().some(e=>e.status===`notFound`||e.globalNotFound),this.getStoreConfig=t,this.update({defaultPreloadDelay:50,defaultPendingMs:1e3,defaultPendingMinMs:500,context:void 0,...e,caseSensitive:e.caseSensitive??!1,notFoundMode:e.notFoundMode??`fuzzy`,stringifySearch:e.stringifySearch??In,parseSearch:e.parseSearch??Fn,protocolAllowlist:e.protocolAllowlist??Vt}),typeof document<`u`&&(self.__TSR_ROUTER__=this)}isShell(){return!!this.options.isShell}isPrerendering(){return!!this.options.isPrerendering}get state(){return this.stores.__store.get()}setRoutes({routesById:e,routesByPath:t,processedTree:n}){this.routesById=e,this.routesByPath=t,this.processedTree=n;let r=this.options.notFoundRoute;r&&(r.init({originalIndex:99999999999}),this.routesById[r.id]=r)}getRouteBranch(e){let t=this.routeBranchCache.get(e);return t||(t=fn(e),this.routeBranchCache.set(e,t)),t}get looseRoutesById(){return this.routesById}getParentContext(e){return e?.id?e.context??this.options.context??void 0:this.options.context??void 0}matchRoutesInternal(e,t){let n=this.getMatchedRoutes(e.pathname),{foundRoute:r,routeParams:i}=n,{matchedRoutes:a}=n,o=!1;(r?r.path!==`/`&&i[`**`]:Sn(e.pathname))&&(this.options.notFoundRoute?a=[...a,this.options.notFoundRoute]:o=!0);let s=o?Ir(this.options.notFoundMode,a):void 0,c=Array(a.length),l=new Map;for(let e of this.stores.matchStores.values())e.routeId&&l.set(e.routeId,e.get());for(let n=0;n<a.length;n++){let r=a[n],o=c[n-1],u,d,f;{let n=o?.search??e.search,i=o?._strictSearch??void 0;try{let e=Mr(r.options.validateSearch,{...n})??void 0;u={...n,...e},d={...i,...e},f=void 0}catch(e){let r=e;if(e instanceof kr||(r=new kr(e.message,{cause:e})),t?.throwOnError)throw r;u=n,d={},f=r}}let p=r.options.loaderDeps?.({search:u})??``,m=p?JSON.stringify(p):``,{interpolatedPath:h,usedParams:g}=kn({path:r.fullPath,params:i,decoder:this.pathParamsDecoder,server:this.isServer}),_=r.id+h+m,v=this.getMatch(_),y=l.get(r.id),b=v?._strictParams??g,x;if(!v)try{Lr(r,b)}catch(e){if(x=jn(e)||Vn(e)?e:new Ar(e.message,{cause:e}),t?.throwOnError)throw x}Object.assign(i,b);let S=y?`stay`:`enter`,C;if(v)C={...v,cause:S,params:y?.params??i,_strictParams:b,search:At(y?y.search:v.search,u),_strictSearch:d};else{let e=r.options.loader||r.options.beforeLoad||r.lazyFn||cr(r)?`pending`:`success`;C={id:_,ssr:r.options.ssr,index:n,routeId:r.id,params:y?.params??i,_strictParams:b,pathname:h,updatedAt:Date.now(),search:y?At(y.search,u):u,_strictSearch:d,searchError:void 0,status:e,isFetching:!1,error:void 0,paramsError:x,__routeContext:void 0,_nonReactive:{loadPromise:Lt()},__beforeLoadContext:void 0,context:{},abortController:new AbortController,fetchCount:0,cause:S,loaderDeps:y?jt(y.loaderDeps,p):p,invalid:!1,preload:!1,links:void 0,scripts:void 0,headScripts:void 0,meta:void 0,staticData:r.options.staticData||{},fullPath:r.fullPath}}t?.preload||(C.globalNotFound=s===r.id),C.searchError=f;let w=this.getParentContext(o);C.context={...w,...C.__routeContext,...C.__beforeLoadContext},c[n]=C}for(let t=0;t<c.length;t++){let n=c[t],r=this.looseRoutesById[n.routeId],a=this.getMatch(n.id),o=l.get(n.routeId);if(n.params=o?At(o.params,i):i,!a){let i=c[t-1],a=this.getParentContext(i);if(r.options.context){let t={deps:n.loaderDeps,params:n.params,context:a??{},location:e,navigate:t=>this.navigate({...t,_fromLocation:e}),buildLocation:this.buildLocation,cause:n.cause,abortController:n.abortController,preload:!!n.preload,matches:c,routeId:r.id};n.__routeContext=r.options.context(t)??void 0}n.context={...a,...n.__routeContext,...n.__beforeLoadContext}}}return c}matchRoutesLightweight(e){let{matchedRoutes:t,routeParams:n}=this.getMatchedRoutes(e.pathname),r=Ct(t),i={...e.search};for(let e of t)try{Object.assign(i,Mr(e.options.validateSearch,i))}catch{}let a=Ct(this.stores.matchesId.get()),o=a&&this.stores.matchStores.get(a)?.get(),s=o&&o.routeId===r.id&&o.pathname===e.pathname,c;if(s)c=o.params;else{let e=Object.assign(Object.create(null),n);for(let n of t)try{Lr(n,e)}catch{}c=e}return{matchedRoutes:t,fullPath:r.fullPath,search:i,params:c}}},kr=class extends Error{},Ar=class extends Error{};function jr(e){return{loadedAt:0,isLoading:!1,isTransitioning:!1,status:`idle`,resolvedLocation:void 0,location:e,matches:[],statusCode:200}}function Mr(e,t){if(e==null)return{};if(`~standard`in e){let n=e[`~standard`].validate(t);if(n instanceof Promise)throw new kr(`Async validation not supported`);if(n.issues)throw new kr(JSON.stringify(n.issues,void 0,2),{cause:n});return n.value}return`parse`in e?e.parse(t):typeof e==`function`?e(t):{}}function Nr({pathname:e,routesById:t,processedTree:n}){let r=Object.create(null),i=Sn(e),a,o=sn(i,n,!0);return o&&(a=o.route,Object.assign(r,o.rawParams)),{matchedRoutes:o?.branch||[t.__root__],routeParams:r,foundRoute:a}}function Pr({search:e,dest:t,destRoutes:n,_includeValidateSearch:r}){return Fr(n)(e,t,r??!1)}function Fr(e){let t={dest:null,_includeValidateSearch:!1,middlewares:[]};for(let n of e)`search`in n.options?n.options.search?.middlewares&&t.middlewares.push(...n.options.search.middlewares):(n.options.preSearchFilters||n.options.postSearchFilters)&&t.middlewares.push(({search:e,next:t})=>{let r=e;`preSearchFilters`in n.options&&n.options.preSearchFilters&&(r=n.options.preSearchFilters.reduce((e,t)=>t(e),e));let i=t(r);return`postSearchFilters`in n.options&&n.options.postSearchFilters?n.options.postSearchFilters.reduce((e,t)=>t(e),i):i}),n.options.validateSearch&&t.middlewares.push(({search:e,next:r})=>{let i=r(e);if(!t._includeValidateSearch)return i;try{return{...i,...Mr(n.options.validateSearch,i)??void 0}}catch{return i}});t.middlewares.push(({search:e})=>{let n=t.dest;return n.search?n.search===!0?e:Tt(n.search,e):{}});let n=(e,t,r)=>{if(e>=r.length)return t;let i=r[e];return i({search:t,next:t=>n(e+1,t,r)})};return function(e,r,i){return t.dest=r,t._includeValidateSearch=i,n(0,e,t.middlewares)}}function Ir(e,t){if(e!==`root`)for(let e=t.length-1;e>=0;e--){let n=t[e];if(n.children)return n.id}return zn}function Lr(e,t){let n=e.options.params?.parse??e.options.parseParams;if(n){let e=n(t);if(e===!1)throw Error(`Route params.parse returned false for a matched route`);Object.assign(t,e)}}function Rr(){try{return sessionStorage}catch{return}}var zr=`tsr-scroll-restoration-v1_3`,Br=Rr();function Vr(){try{return JSON.parse(Br?.getItem(`tsr-scroll-restoration-v1_3`)||`{}`)}catch{return{}}}function Hr(){try{Br?.setItem(zr,JSON.stringify(Ur))}catch{}}var Ur=Vr(),Wr=`data-scroll-restoration-id`,Gr=e=>e.state.__TSR_key||e.href;function Kr(e){let t=e.getAttribute(Wr);if(t)return`[${Wr}="${t}"]`;let n=``,r=e,i;for(;i=r.parentNode;){let e=1,t=r;for(;t=t.previousElementSibling;)e++;let a=`${r.localName}:nth-child(${e})`;n=n?`${a} > ${n}`:a,r=i}return n}var qr=!1,Jr=`window`;function Yr(e){try{return typeof e==`function`?e():document.querySelector(e)}catch{}}function Xr(e){let t=[];for(let n of e){if(n===Jr)continue;let e=Yr(n);e&&t.push(e)}return t}function Zr(e,t){if((t??e.options.scrollRestoration)&&(e.isScrollRestoring=!0),e.isScrollRestorationSetup)return;e.isScrollRestorationSetup=!0,qr=!1;let n=e.options.getScrollRestorationKey||Gr,r=new Map,i=(e,t,n)=>{let i=r.get(e)||{};i.scrollX=t,i.scrollY=n,r.set(e,i)};history.scrollRestoration=`manual`;let a=t=>{if(!(qr||!e.isScrollRestoring))if(t.target===document)i(Jr,scrollX,scrollY);else{let e=t.target;i(e,e.scrollLeft,e.scrollTop)}},o=t=>{if(!e.isScrollRestoring)return;let n=Ur[t]||={};for(let[e,t]of r)e===Jr?n[Jr]=t:e.isConnected&&(n[Kr(e)]=t)};document.addEventListener(`scroll`,a,!0),e.subscribe(`onBeforeLoad`,e=>{e.fromLocation&&o(n(e.fromLocation)),r.clear()}),addEventListener(`pagehide`,()=>{o(n(e.stores.resolvedLocation.get()??e.stores.location.get())),Hr()}),e.subscribe(`onRendered`,t=>{let i=e.options.scrollRestorationBehavior,a=e.options.scrollToTopSelectors,o=e.resetNextScroll,s;if(r.clear(),o||(e.resetNextScroll=!0),typeof e.options.scrollRestoration==`function`&&!e.options.scrollRestoration({location:e.latestLocation}))return;let c=n(t.toLocation),l=t.fromLocation&&n(t.fromLocation);if(e.isScrollRestoring&&l&&l!==c){let e=Ur[l];if(e){let t=Ur[c];for(let n in e){if(n===Jr){if(o)continue}else{let e=Yr(n);if(!e||o&&a&&(s??=Xr(a),s.includes(e)))continue}t||=Ur[c]={},t[n]??=e[n]}}}qr=!0;try{let n=t.toLocation.hash,r=t.toLocation.state.__hashScrollIntoViewOptions??!0,l=!1;if(o){let o=Dr.get(t.toLocation),u=n&&r&&(o===`PUSH`||o===`REPLACE`),d=e.isScrollRestoring?Ur[c]:void 0;if(d)for(let e in d){let{scrollX:t,scrollY:n}=d[e];if(e===Jr){if(u)continue;scrollTo({top:n,left:t,behavior:i}),l=!0}else{let r=Yr(e);r&&(r.scrollLeft=t,r.scrollTop=n)}}if(!l&&!n){let e={top:0,left:0,behavior:i};if(scrollTo(e),a){s??=Xr(a);for(let t of s)t.scrollTo(e)}}}!l&&n&&r&&document.getElementById(n)?.scrollIntoView(r)}finally{qr=!1}})}var Qr=`Error preloading route! ☝️`,$r=class{get to(){return this._to}get id(){return this._id}get path(){return this._path}get fullPath(){return this._fullPath}constructor(e){if(this.init=e=>{this.originalIndex=e.originalIndex;let t=this.options,n=!t?.path&&!t?.id;this.parentRoute=this.options.getParentRoute?.(),n?this._path=zn:this.parentRoute||Kt();let r=n?zn:t?.path;r&&r!==`/`&&(r=xn(r));let i=t?.id||r,a=n?zn:yn([this.parentRoute.id===`__root__`?``:this.parentRoute.id,i]);r===`__root__`&&(r=`/`),a!==`__root__`&&(a=yn([`/`,a]));let o=a===`__root__`?`/`:yn([this.parentRoute.fullPath,r]);this._path=r,this._id=a,this._fullPath=o,this._to=Sn(o)},this.addChildren=e=>this._addFileChildren(e),this._addFileChildren=e=>(Array.isArray(e)&&(this.children=e),typeof e==`object`&&e&&(this.children=Object.values(e)),this),this._addFileTypes=()=>this,this.updateLoader=e=>(Object.assign(this.options,e),this),this.update=e=>(Object.assign(this.options,e),this),this.lazy=e=>(this.lazyFn=e,this),this.redirect=e=>Bn({from:this.fullPath,...e}),this.options=e||{},this.isRoot=!e?.getParentRoute,e?.id&&e?.path)throw Error(`Route cannot have both an 'id' and a 'path' option.`)}},ei=class extends $r{constructor(e){super(e)}},ti=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),M=o(((e,t)=>{t.exports=ti()}))();function ni(e){let t=e.errorComponent??ii;return(0,M.jsx)(ri,{getResetKey:e.getResetKey,onCatch:e.onCatch,children:({error:n,reset:r})=>n?j.createElement(t,{error:n,reset:r}):e.children})}var ri=class extends j.Component{constructor(...e){super(...e),this.state={error:null}}static getDerivedStateFromProps(e,t){let n=e.getResetKey();return t.error&&t.resetKey!==n?{resetKey:n,error:null}:{resetKey:n}}static getDerivedStateFromError(e){return{error:e}}reset(){this.setState({error:null})}componentDidCatch(e,t){this.props.onCatch&&this.props.onCatch(e,t)}render(){return this.props.children({error:this.state.error,reset:()=>{this.reset()}})}};function ii({error:e}){let[t,n]=j.useState(!1);return(0,M.jsxs)(`div`,{style:{padding:`.5rem`,maxWidth:`100%`},children:[(0,M.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`.5rem`},children:[(0,M.jsx)(`strong`,{style:{fontSize:`1rem`},children:`Something went wrong!`}),(0,M.jsx)(`button`,{style:{appearance:`none`,fontSize:`.6em`,border:`1px solid currentColor`,padding:`.1rem .2rem`,fontWeight:`bold`,borderRadius:`.25rem`},onClick:()=>n(e=>!e),children:t?`Hide Error`:`Show Error`})]}),(0,M.jsx)(`div`,{style:{height:`.25rem`}}),t?(0,M.jsx)(`div`,{children:(0,M.jsx)(`pre`,{style:{fontSize:`.7em`,border:`1px solid red`,borderRadius:`.25rem`,padding:`.3rem`,color:`red`,overflow:`auto`},children:e.message?(0,M.jsx)(`code`,{children:e.message}):null})}):null]})}function ai({children:e,fallback:t=null}){return oi()?(0,M.jsx)(j.Fragment,{children:e}):(0,M.jsx)(j.Fragment,{children:t})}function oi(){return j.useSyncExternalStore(si,()=>!0,()=>!1)}function si(){return()=>{}}var ci=j.createContext(null);function li(e){return j.useContext(ci)}var ui=j.createContext(void 0),di=j.createContext(void 0),fi=(e=>(e[e.None=0]=`None`,e[e.Mutable=1]=`Mutable`,e[e.Watching=2]=`Watching`,e[e.RecursedCheck=4]=`RecursedCheck`,e[e.Recursed=8]=`Recursed`,e[e.Dirty=16]=`Dirty`,e[e.Pending=32]=`Pending`,e))(fi||{});function pi({update:e,notify:t,unwatched:n}){return{link:r,unlink:i,propagate:a,checkDirty:o,shallowPropagate:s};function r(e,t,n){let r=t.depsTail;if(r!==void 0&&r.dep===e)return;let i=r===void 0?t.deps:r.nextDep;if(i!==void 0&&i.dep===e){i.version=n,t.depsTail=i;return}let a=e.subsTail;if(a!==void 0&&a.version===n&&a.sub===t)return;let o=t.depsTail=e.subsTail={version:n,dep:e,sub:t,prevDep:r,nextDep:i,prevSub:a,nextSub:void 0};i!==void 0&&(i.prevDep=o),r===void 0?t.deps=o:r.nextDep=o,a===void 0?e.subs=o:a.nextSub=o}function i(e,t=e.sub){let r=e.dep,i=e.prevDep,a=e.nextDep,o=e.nextSub,s=e.prevSub;return a===void 0?t.depsTail=i:a.prevDep=i,i===void 0?t.deps=a:i.nextDep=a,o===void 0?r.subsTail=s:o.prevSub=s,s===void 0?(r.subs=o)===void 0&&n(r):s.nextSub=o,a}function a(e){let n=e.nextSub,r;top:do{let i=e.sub,a=i.flags;if(a&60?a&12?a&4?!(a&48)&&c(e,i)?(i.flags=a|40,a&=1):a=0:i.flags=a&-9|32:a=0:i.flags=a|32,a&2&&t(i),a&1){let t=i.subs;if(t!==void 0){let i=(e=t).nextSub;i!==void 0&&(r={value:n,prev:r},n=i);continue}}if((e=n)!==void 0){n=e.nextSub;continue}for(;r!==void 0;)if(e=r.value,r=r.prev,e!==void 0){n=e.nextSub;continue top}break}while(!0)}function o(t,n){let r,i=0,a=!1;top:do{let o=t.dep,c=o.flags;if(n.flags&16)a=!0;else if((c&17)==17){if(e(o)){let e=o.subs;e.nextSub!==void 0&&s(e),a=!0}}else if((c&33)==33){(t.nextSub!==void 0||t.prevSub!==void 0)&&(r={value:t,prev:r}),t=o.deps,n=o,++i;continue}if(!a){let e=t.nextDep;if(e!==void 0){t=e;continue}}for(;i--;){let i=n.subs,o=i.nextSub!==void 0;if(o?(t=r.value,r=r.prev):t=i,a){if(e(n)){o&&s(i),n=t.sub;continue}a=!1}else n.flags&=-33;n=t.sub;let c=t.nextDep;if(c!==void 0){t=c;continue top}}return a}while(!0)}function s(e){do{let n=e.sub,r=n.flags;(r&48)==32&&(n.flags=r|16,(r&6)==2&&t(n))}while((e=e.nextSub)!==void 0)}function c(e,t){let n=t.depsTail;for(;n!==void 0;){if(n===e)return!0;n=n.prevDep}return!1}}function mi(e,t,n){let r=typeof e==`object`,i=r?e:void 0;return{next:(r?e.next:e)?.bind(i),error:(r?e.error:t)?.bind(i),complete:(r?e.complete:n)?.bind(i)}}var hi=[],gi=0,{link:_i,unlink:vi,propagate:yi,checkDirty:bi,shallowPropagate:xi}=pi({update(e){return e._update()},notify(e){hi[Ci++]=e,e.flags&=~fi.Watching},unwatched(e){e.depsTail!==void 0&&(e.depsTail=void 0,e.flags=fi.Mutable|fi.Dirty,Di(e))}}),Si=0,Ci=0,wi,Ti=0;function Ei(e){try{++Ti,e()}finally{--Ti||Oi()}}function Di(e){let t=e.depsTail,n=t===void 0?e.deps:t.nextDep;for(;n!==void 0;)n=vi(n,e)}function Oi(){if(!(Ti>0)){for(;Si<Ci;){let e=hi[Si];hi[Si++]=void 0,e.notify()}Si=0,Ci=0}}function ki(e,t){let n=typeof e==`function`,r=e,i={_snapshot:n?void 0:e,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:n?fi.None:fi.Mutable,get(){return wi!==void 0&&_i(i,wi,gi),i._snapshot},subscribe(e){let t=mi(e),n={current:!1},r=Ai(()=>{i.get(),n.current?t.next?.(i._snapshot):n.current=!0});return{unsubscribe:()=>{r.stop()}}},_update(e){let a=wi,o=t?.compare??Object.is;if(n)wi=i,++gi,i.depsTail=void 0;else if(e===void 0)return!1;n&&(i.flags=fi.Mutable|fi.RecursedCheck);try{let t=i._snapshot,a=typeof e==`function`?e(t):e===void 0&&n?r(t):e;return t===void 0||!o(t,a)?(i._snapshot=a,!0):!1}finally{wi=a,n&&(i.flags&=~fi.RecursedCheck),Di(i)}}};return n?(i.flags=fi.Mutable|fi.Dirty,i.get=function(){let e=i.flags;if(e&fi.Dirty||e&fi.Pending&&bi(i.deps,i)){if(i._update()){let e=i.subs;e!==void 0&&xi(e)}}else e&fi.Pending&&(i.flags=e&~fi.Pending);return wi!==void 0&&_i(i,wi,gi),i._snapshot}):i.set=function(e){if(i._update(e)){let e=i.subs;e!==void 0&&(yi(e),xi(e),Oi())}},i}function Ai(e){let t=()=>{let t=wi;wi=n,++gi,n.depsTail=void 0,n.flags=fi.Watching|fi.RecursedCheck;try{return e()}finally{wi=t,n.flags&=~fi.RecursedCheck,Di(n)}},n={deps:void 0,depsTail:void 0,subs:void 0,subsTail:void 0,flags:fi.Watching|fi.RecursedCheck,notify(){let e=this.flags;e&fi.Dirty||e&fi.Pending&&bi(this.deps,this)?t():this.flags=fi.Watching},stop(){this.flags=fi.None,this.depsTail=void 0,Di(this)}};return t(),n}var ji=o((e=>{var t=d(),n=at();function r(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var i=typeof Object.is==`function`?Object.is:r,a=n.useSyncExternalStore,o=t.useRef,s=t.useEffect,c=t.useMemo,l=t.useDebugValue;e.useSyncExternalStoreWithSelector=function(e,t,n,r,u){var d=o(null);if(d.current===null){var f={hasValue:!1,value:null};d.current=f}else f=d.current;d=c(function(){function e(e){if(!a){if(a=!0,o=e,e=r(e),u!==void 0&&f.hasValue){var t=f.value;if(u(t,e))return s=t}return s=e}if(t=s,i(o,e))return t;var n=r(e);return u!==void 0&&u(t,n)?(o=e,t):(o=e,s=n)}var a=!1,o,s,c=n===void 0?null:n;return[function(){return e(t())},c===null?void 0:function(){return e(c())}]},[t,n,r,u]);var p=a(e,d[0],d[1]);return s(function(){f.hasValue=!0,f.value=p},[p]),l(p),p}})),Mi=o(((e,t)=>{t.exports=ji()}))();function Ni(e,t){return e===t}function Pi(e,t,n=Ni){let r=(0,j.useCallback)(t=>{if(!e)return()=>{};let{unsubscribe:n}=e.subscribe(t);return n},[e]),i=(0,j.useCallback)(()=>e?.get(),[e]);return(0,Mi.useSyncExternalStoreWithSelector)(r,i,i,t,n)}var Fi={get:()=>void 0,subscribe:()=>({unsubscribe:()=>{}})};function Ii(e){let t=li(),n=j.useContext(e.from?di:ui),r=e.from??n,i=r?e.from?t.stores.getRouteMatchStore(r):t.stores.matchStores.get(r):void 0,a=j.useRef(void 0);return Pi(i??Fi,n=>{if((e.shouldThrow??!0)&&!n&&Kt(),n===void 0)return;let r=e.select?e.select(n):n;if(e.structuralSharing??t.options.defaultStructuralSharing){let e=jt(a.current,r);return a.current=e,e}return r})}function Li(e){return Ii({from:e.from,strict:e.strict,structuralSharing:e.structuralSharing,select:t=>e.select?e.select(t.loaderData):t.loaderData})}function Ri(e){let{select:t,...n}=e;return Ii({...n,select:e=>t?t(e.loaderDeps):e.loaderDeps})}function zi(e){return Ii({from:e.from,shouldThrow:e.shouldThrow,structuralSharing:e.structuralSharing,strict:e.strict,select:t=>{let n=e.strict===!1?t.params:t._strictParams;return e.select?e.select(n):n}})}function Bi(e){return Ii({from:e.from,strict:e.strict,shouldThrow:e.shouldThrow,structuralSharing:e.structuralSharing,select:t=>e.select?e.select(t.search):t.search})}function N(e){let t=li();return j.useCallback(n=>t.navigate({...n,from:n.from??e?.from}),[e?.from,t])}function Vi(e){let t=li(),n=N(),r=j.useRef(null);return yt(()=>{r.current!==e&&(n(e),r.current=e)},[t,e,n]),null}function Hi(e){return Ii({...e,select:t=>e.select?e.select(t.context):t.context})}var Ui=c(h(),1);function Wi(e,t){let n=li(),r=St(t),{activeProps:i,inactiveProps:a,activeOptions:o,to:s,preload:c,preloadDelay:l,preloadIntentProximity:u,hashScrollIntoView:d,replace:f,startTransition:p,resetScroll:m,viewTransition:h,children:g,target:_,disabled:v,style:y,className:b,onClick:x,onBlur:S,onFocus:C,onMouseEnter:w,onMouseLeave:T,onTouchStart:E,ignoreBlocker:D,params:O,search:ee,hash:te,state:ne,mask:re,reloadDocument:ie,unsafeRelative:ae,from:oe,_fromLocation:k,...se}=e,ce=oi(),le=j.useMemo(()=>e,[n,e.from,e._fromLocation,e.hash,e.to,e.search,e.params,e.state,e.mask,e.unsafeRelative]),ue=Pi(n.stores.location,e=>e,(e,t)=>e.href===t.href),A=j.useMemo(()=>{let e={_fromLocation:ue,...le};return n.buildLocation(e)},[n,ue,le]),de=A.maskedLocation?A.maskedLocation.publicHref:A.publicHref,fe=A.maskedLocation?A.maskedLocation.external:A.external,pe=j.useMemo(()=>$i(de,fe,n.history,v),[v,fe,de,n.history]),me=j.useMemo(()=>{if(pe?.external)return Ht(pe.href,n.protocolAllowlist)?void 0:pe.href;if(!ea(s)&&!(typeof s!=`string`||s.indexOf(`:`)===-1))try{return new URL(s),Ht(s,n.protocolAllowlist)?void 0:s}catch{}},[s,pe,n.protocolAllowlist]),he=j.useMemo(()=>{if(me)return!1;if(o?.exact){if(!Tn(ue.pathname,A.pathname,n.basepath))return!1}else{let e=wn(ue.pathname,n.basepath),t=wn(A.pathname,n.basepath);if(!(e.startsWith(t)&&(e.length===t.length||e[t.length]===`/`)))return!1}return(o?.includeSearch??!0)&&!It(ue.search,A.search,{partial:!o?.exact,ignoreUndefined:!o?.explicitUndefined})?!1:o?.includeHash?ce&&ue.hash===A.hash:!0},[o?.exact,o?.explicitUndefined,o?.includeHash,o?.includeSearch,ue,me,ce,A.hash,A.pathname,A.search,n.basepath]),ge=he?Tt(i,{})??Ki:Gi,_e=he?Gi:Tt(a,{})??Gi,ve=[b,ge.className,_e.className].filter(Boolean).join(` `),ye=(y||ge.style||_e.style)&&{...y,...ge.style,..._e.style},[be,xe]=j.useState(!1),Se=j.useRef(!1),Ce=e.reloadDocument||me?!1:c??n.options.defaultPreload,we=l??n.options.defaultPreloadDelay??0,Te=j.useCallback(()=>{n.preloadRoute({...le,_builtLocation:A}).catch(e=>{console.warn(e),console.warn(Qr)})},[n,le,A]);xt(r,j.useCallback(e=>{e?.isIntersecting&&Te()},[Te]),Zi,{disabled:!!v||Ce!==`viewport`}),j.useEffect(()=>{Se.current||!v&&Ce===`render`&&(Te(),Se.current=!0)},[v,Te,Ce]);let Ee=e=>{let t=e.currentTarget.getAttribute(`target`),r=_===void 0?t:_;if(!v&&!na(e)&&!e.defaultPrevented&&(!r||r===`_self`)&&e.button===0){e.preventDefault(),(0,Ui.flushSync)(()=>{xe(!0)});let t=n.subscribe(`onResolved`,()=>{t(),xe(!1)});n.navigate({...le,replace:f,resetScroll:m,hashScrollIntoView:d,startTransition:p,viewTransition:h,ignoreBlocker:D})}};if(me)return{...se,ref:r,href:me,...g&&{children:g},..._&&{target:_},...v&&{disabled:v},...y&&{style:y},...b&&{className:b},...x&&{onClick:x},...S&&{onBlur:S},...C&&{onFocus:C},...w&&{onMouseEnter:w},...T&&{onMouseLeave:T},...E&&{onTouchStart:E}};let De=e=>{if(v||Ce!==`intent`)return;if(!we){Te();return}let t=e.currentTarget;if(Xi.has(t))return;let n=setTimeout(()=>{Xi.delete(t),Te()},we);Xi.set(t,n)},Oe=e=>{v||Ce!==`intent`||Te()},ke=e=>{if(v||!Ce||!we)return;let t=e.currentTarget,n=Xi.get(t);n&&(clearTimeout(n),Xi.delete(t))};return{...se,...ge,..._e,href:pe?.href,ref:r,onClick:Qi([x,Ee]),onBlur:Qi([S,ke]),onFocus:Qi([C,De]),onMouseEnter:Qi([w,De]),onMouseLeave:Qi([T,ke]),onTouchStart:Qi([E,Oe]),disabled:!!v,target:_,...ye&&{style:ye},...ve&&{className:ve},...v&&qi,...he&&Ji,...ce&&be&&Yi}}var Gi={},Ki={className:`active`},qi={role:`link`,"aria-disabled":!0},Ji={"data-status":`active`,"aria-current":`page`},Yi={"data-transitioning":`transitioning`},Xi=new WeakMap,Zi={rootMargin:`100px`},Qi=e=>t=>{for(let n of e)if(n){if(t.defaultPrevented)return;n(t)}};function $i(e,t,n,r){if(!r)return t?{href:e,external:!0}:{href:n.createHref(e)||`/`,external:!1}}function ea(e){if(typeof e!=`string`)return!1;let t=e.charCodeAt(0);return t===47?e.charCodeAt(1)!==47:t===46}var ta=j.forwardRef((e,t)=>{let{_asChild:n,...r}=e,{type:i,...a}=Wi(r,t),o=typeof r.children==`function`?r.children({isActive:a[`data-status`]===`active`}):r.children;if(!n){let{disabled:e,...t}=a;return j.createElement(`a`,t,o)}return j.createElement(n,a,o)});function na(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}var ra=class extends $r{constructor(e){super(e),this.useMatch=e=>Ii({select:e?.select,from:this.id,structuralSharing:e?.structuralSharing}),this.useRouteContext=e=>Hi({...e,from:this.id}),this.useSearch=e=>Bi({select:e?.select,structuralSharing:e?.structuralSharing,from:this.id}),this.useParams=e=>zi({select:e?.select,structuralSharing:e?.structuralSharing,from:this.id}),this.useLoaderDeps=e=>Ri({...e,from:this.id}),this.useLoaderData=e=>Li({...e,from:this.id}),this.useNavigate=()=>N({from:this.fullPath}),this.Link=j.forwardRef((e,t)=>(0,M.jsx)(ta,{ref:t,from:this.fullPath,...e}))}};function ia(e){return new ra(e)}var aa=class extends ei{constructor(e){super(e),this.useMatch=e=>Ii({select:e?.select,from:this.id,structuralSharing:e?.structuralSharing}),this.useRouteContext=e=>Hi({...e,from:this.id}),this.useSearch=e=>Bi({select:e?.select,structuralSharing:e?.structuralSharing,from:this.id}),this.useParams=e=>zi({select:e?.select,structuralSharing:e?.structuralSharing,from:this.id}),this.useLoaderDeps=e=>Ri({...e,from:this.id}),this.useLoaderData=e=>Li({...e,from:this.id}),this.useNavigate=()=>N({from:this.fullPath}),this.Link=j.forwardRef((e,t)=>(0,M.jsx)(ta,{ref:t,from:this.fullPath,...e}))}};function oa(e){return new aa(e)}function sa(e){return new ca(e,{silent:!0}).createRoute}var ca=class{constructor(e,t){this.path=e,this.createRoute=e=>{let t=ia(e);return t.isRoot=!1,t},this.silent=t?.silent}};function la(e){let t=li(),n=`not-found-${Pi(t.stores.location,e=>e.pathname)}-${Pi(t.stores.status,e=>e)}`;return(0,M.jsx)(ni,{getResetKey:()=>n,onCatch:(t,n)=>{if(jn(t))e.onCatch?.(t,n);else throw t},errorComponent:({error:t})=>{if(jn(t))return e.fallback?.(t);throw t},children:e.children})}function ua(){return(0,M.jsx)(`p`,{children:`Not Found`})}function da(e){return(0,M.jsx)(M.Fragment,{children:e.children})}function fa(e,t,n){return t.options.notFoundComponent?(0,M.jsx)(t.options.notFoundComponent,{...n}):e.options.defaultNotFoundComponent?(0,M.jsx)(e.options.defaultNotFoundComponent,{...n}):(0,M.jsx)(ua,{})}var pa=j.memo(function({matchId:e}){let t=li(),n=t.stores.matchStores.get(e);n||Kt();let r=Pi(t.stores.loadedAt,e=>e),i=Pi(n,e=>e);return(0,M.jsx)(ma,{router:t,matchId:e,resetKey:r,matchState:j.useMemo(()=>{let e=i.routeId,n=t.routesById[e].parentRoute?.id;return{routeId:e,ssr:i.ssr,_displayPending:i._displayPending,parentRouteId:n}},[i._displayPending,i.routeId,i.ssr,t.routesById])})});function ma({router:e,matchId:t,resetKey:n,matchState:r}){let i=e.routesById[r.routeId],a=i.options.pendingComponent??e.options.defaultPendingComponent,o=a?(0,M.jsx)(a,{}):null,s=i.options.errorComponent??e.options.defaultErrorComponent,c=i.options.onCatch??e.options.defaultOnCatch,l=i.isRoot?i.options.notFoundComponent??e.options.notFoundRoute?.options.component:i.options.notFoundComponent,u=r.ssr===!1||r.ssr===`data-only`,d=(!i.isRoot||i.options.wrapInSuspense||u)&&(i.options.wrapInSuspense??a??(i.options.errorComponent?.preload||u))?j.Suspense:da,f=s?ni:da,p=l?la:da;return(0,M.jsxs)(i.isRoot?i.options.shellComponent??da:da,{children:[(0,M.jsx)(ui.Provider,{value:t,children:(0,M.jsx)(d,{fallback:o,children:(0,M.jsx)(f,{getResetKey:()=>n,errorComponent:s||ii,onCatch:(e,t)=>{if(jn(e))throw e.routeId??=r.routeId,e;c?.(e,t)},children:(0,M.jsx)(p,{fallback:e=>{if(e.routeId??=r.routeId,!l||e.routeId&&e.routeId!==r.routeId||!e.routeId&&!i.isRoot)throw e;return j.createElement(l,e)},children:u||r._displayPending?(0,M.jsx)(ai,{fallback:o,children:(0,M.jsx)(ga,{matchId:t})}):(0,M.jsx)(ga,{matchId:t})})})})}),r.parentRouteId===`__root__`?(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(ha,{resetKey:n}),(e.options.scrollRestoration,null)]}):null]})}function ha({resetKey:e}){let t=li(),n=j.useRef(void 0);return yt(()=>{let e=t.latestLocation.href;(n.current===void 0||n.current!==e)&&(t.emit({type:`onRendered`,...Er(t.stores.location.get(),t.stores.resolvedLocation.get())}),n.current=e)},[t.latestLocation.state.__TSR_key,e,t]),null}var ga=j.memo(function({matchId:e}){let t=li(),n=(e,n)=>t.getMatch(e.id)?._nonReactive[n]??e._nonReactive[n],r=t.stores.matchStores.get(e);r||Kt();let i=Pi(r,e=>e),a=i.routeId,o=t.routesById[a],s=j.useMemo(()=>{let e=(t.routesById[a].options.remountDeps??t.options.defaultRemountDeps)?.({routeId:a,loaderDeps:i.loaderDeps,params:i._strictParams,search:i._strictSearch});return e?JSON.stringify(e):void 0},[a,i.loaderDeps,i._strictParams,i._strictSearch,t.options.defaultRemountDeps,t.routesById]),c=j.useMemo(()=>{let e=o.options.component??t.options.defaultComponent;return e?(0,M.jsx)(e,{},s):(0,M.jsx)(_a,{})},[s,o.options.component,t.options.defaultComponent]);if(i._displayPending)throw n(i,`displayPendingPromise`);if(i._forcePending)throw n(i,`minPendingPromise`);if(i.status===`pending`){let e=o.options.pendingMinMs??t.options.defaultPendingMinMs;if(e){let n=t.getMatch(i.id);if(n&&!n._nonReactive.minPendingPromise){let t=Lt();n._nonReactive.minPendingPromise=t,setTimeout(()=>{t.resolve(),n._nonReactive.minPendingPromise=void 0},e)}}throw n(i,`loadPromise`)}if(i.status===`notFound`)return jn(i.error)||Kt(),fa(t,o,i.error);if(i.status===`redirected`)throw Vn(i.error)||Kt(),n(i,`loadPromise`);if(i.status===`error`)throw i.error;return c}),_a=j.memo(function(){let e=li(),t=j.useContext(ui),n,r=!1,i;{let a=t?e.stores.matchStores.get(t):void 0;[n,r]=Pi(a,e=>[e?.routeId,e?.globalNotFound??!1]),i=Pi(e.stores.matchesId,e=>e[e.findIndex(e=>e===t)+1])}let a=n?e.routesById[n]:void 0,o=e.options.defaultPendingComponent?(0,M.jsx)(e.options.defaultPendingComponent,{}):null;if(r)return a||Kt(),fa(e,a,void 0);if(!i)return null;let s=(0,M.jsx)(pa,{matchId:i});return n===`__root__`?(0,M.jsx)(j.Suspense,{fallback:o,children:s}):s});function va(){let e=li(),t=j.useRef({router:e,mounted:!1}),[n,r]=j.useState(!1),i=Pi(e.stores.isLoading,e=>e),a=Pi(e.stores.hasPending,e=>e),o=bt(i),s=i||n||a,c=bt(s),l=i||a,u=bt(l);return e.startTransition=e=>{r(!0),j.startTransition(()=>{e(),r(!1)})},j.useEffect(()=>{let t=e.history.subscribe(e.load),n=e.buildLocation({to:e.latestLocation.pathname,search:!0,params:!0,hash:!0,state:!0,_includeValidateSearch:!0});return Sn(e.latestLocation.publicHref)!==Sn(n.publicHref)&&e.commitLocation({...n,replace:!0}),()=>{t()}},[e,e.history]),yt(()=>{typeof window<`u`&&e.ssr||t.current.router===e&&t.current.mounted||(t.current={router:e,mounted:!0},(async()=>{try{await e.load()}catch(e){console.error(e)}})())},[e]),yt(()=>{o&&!i&&e.emit({type:`onLoad`,...Er(e.stores.location.get(),e.stores.resolvedLocation.get())})},[o,e,i]),yt(()=>{u&&!l&&e.emit({type:`onBeforeRouteMount`,...Er(e.stores.location.get(),e.stores.resolvedLocation.get())})},[l,u,e]),yt(()=>{if(c&&!s){let t=Er(e.stores.location.get(),e.stores.resolvedLocation.get());e.emit({type:`onResolved`,...t}),Ei(()=>{e.stores.status.set(`idle`),e.stores.resolvedLocation.set(e.stores.location.get())})}},[s,c,e]),null}function ya(){let e=li(),t=e.routesById.__root__.options.pendingComponent??e.options.defaultPendingComponent,n=t?(0,M.jsx)(t,{}):null,r=(0,M.jsxs)(typeof document<`u`&&e.ssr?da:j.Suspense,{fallback:n,children:[(0,M.jsx)(va,{}),(0,M.jsx)(ba,{})]});return e.options.InnerWrap?(0,M.jsx)(e.options.InnerWrap,{children:r}):r}function ba(){let e=li(),t=Pi(e.stores.firstId,e=>e),n=Pi(e.stores.loadedAt,e=>e),r=t?(0,M.jsx)(pa,{matchId:t}):null;return(0,M.jsx)(ui.Provider,{value:t,children:e.options.disableGlobalCatchBoundary?r:(0,M.jsx)(ni,{getResetKey:()=>n,errorComponent:ii,onCatch:void 0,children:r})})}var xa=e=>({createMutableStore:ki,createReadonlyStore:ki,batch:Ei}),Sa=e=>new Ca(e),Ca=class extends Or{constructor(e){super(e,xa)}};function wa({router:e,children:t,...n}){Ot(n)&&e.update({...e.options,...n,context:{...e.options.context,...n.context}});let r=(0,M.jsx)(ci.Provider,{value:e,children:t});return e.options.Wrap?(0,M.jsx)(e.options.Wrap,{children:r}):r}function Ta({router:e,...t}){return(0,M.jsx)(wa,{router:e,...t,children:(0,M.jsx)(ya,{})})}function Ea(e){let t=li(),n=(0,j.useRef)(void 0);return Pi(t.stores.location,r=>{let i=e?.select?e.select(r):r;if(e?.structuralSharing??t.options.defaultStructuralSharing){let e=jt(n.current,i);return n.current=e,e}return i})}var Da;function P(e,t,n){function r(n,r){if(n._zod||Object.defineProperty(n,"_zod",{value:{def:r,constr:o,traits:new Set},enumerable:!1}),n._zod.traits.has(e))return;n._zod.traits.add(e),t(n,r);let i=o.prototype,a=Object.keys(i);for(let e=0;e<a.length;e++){let t=a[e];t in n||(n[t]=i[t].bind(n))}}let i=n?.Parent??Object;class a extends i{}Object.defineProperty(a,"name",{value:e});function o(e){var t;let i=n?.Parent?new a:this;r(i,e),(t=i._zod).deferred??(t.deferred=[]);for(let e of i._zod.deferred)e();return i}return Object.defineProperty(o,"init",{value:r}),Object.defineProperty(o,Symbol.hasInstance,{value:t=>n?.Parent&&t instanceof n.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(o,"name",{value:e}),o}var Oa=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},ka=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(Da=globalThis).__zod_globalConfig??(Da.__zod_globalConfig={});var Aa=globalThis.__zod_globalConfig;function ja(e){return e&&Object.assign(Aa,e),Aa}function Ma(e){let t=Object.values(e).filter(e=>typeof e==`number`);return Object.entries(e).filter(([e,n])=>t.indexOf(+e)===-1).map(([e,t])=>t)}function Na(e,t){return typeof t==`bigint`?t.toString():t}function Pa(e){return{get value(){{let t=e();return Object.defineProperty(this,"value",{value:t}),t}throw Error(`cached value already set`)}}}function Fa(e){return e==null}function Ia(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function La(e,t){let n=e/t,r=Math.round(n),i=2**-52*Math.max(Math.abs(n),1);return Math.abs(n-r)<i?0:n-r}var Ra=Symbol(`evaluating`);function za(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==Ra)return r===void 0&&(r=Ra,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function Ba(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function Va(...e){let t={};for(let n of e)Object.assign(t,Object.getOwnPropertyDescriptors(n));return Object.defineProperties({},t)}function Ha(e){return JSON.stringify(e)}function Ua(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_-]+/g,`-`).replace(/^-+|-+$/g,``)}var Wa=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function Ga(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var Ka=Pa(()=>{if(Aa.jitless||typeof navigator<`u`&&navigator?.userAgent?.includes(`Cloudflare`))return!1;try{return Function(``),!0}catch{return!1}});function qa(e){if(Ga(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return!(Ga(n)===!1||Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)===!1)}function Ja(e){return qa(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}var Ya=new Set([`string`,`number`,`symbol`]);function Xa(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function Za(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function F(e){let t=e;if(!t)return{};if(typeof t==`string`)return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error==`string`?{...t,error:()=>t.error}:t}function Qa(e){return Object.keys(e).filter(t=>e[t]._zod.optin===`optional`&&e[t]._zod.optout===`optional`)}var $a={safeint:[-(2**53-1),2**53-1],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function eo(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.pick() cannot be used on object schemas containing refinements`);return Za(e,Va(e._zod.def,{get shape(){let e={};for(let r in t){if(!(r in n.shape))throw Error(`Unrecognized key: "${r}"`);t[r]&&(e[r]=n.shape[r])}return Ba(this,`shape`,e),e},checks:[]}))}function to(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.omit() cannot be used on object schemas containing refinements`);return Za(e,Va(e._zod.def,{get shape(){let r={...e._zod.def.shape};for(let e in t){if(!(e in n.shape))throw Error(`Unrecognized key: "${e}"`);t[e]&&delete r[e]}return Ba(this,`shape`,r),r},checks:[]}))}function no(e,t){if(!qa(t))throw Error(`Invalid input to extend: expected a plain object`);let n=e._zod.def.checks;if(n&&n.length>0){let n=e._zod.def.shape;for(let e in t)if(Object.getOwnPropertyDescriptor(n,e)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return Za(e,Va(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return Ba(this,`shape`,n),n}}))}function ro(e,t){if(!qa(t))throw Error(`Invalid input to safeExtend: expected a plain object`);return Za(e,Va(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return Ba(this,`shape`,n),n}}))}function io(e,t){if(e._zod.def.checks?.length)throw Error(`.merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.`);return Za(e,Va(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return Ba(this,`shape`,n),n},get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]}))}function ao(e,t,n){let r=t._zod.def.checks;if(r&&r.length>0)throw Error(`.partial() cannot be used on object schemas containing refinements`);return Za(t,Va(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in r))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t])}else for(let t in r)i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t];return Ba(this,`shape`,i),i},checks:[]}))}function oo(e,t,n){return Za(t,Va(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in i))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=new e({type:`nonoptional`,innerType:r[t]}))}else for(let t in r)i[t]=new e({type:`nonoptional`,innerType:r[t]});return Ba(this,`shape`,i),i}}))}function so(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function co(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue===!1)return!0;return!1}function lo(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function uo(e){return typeof e==`string`?e:e?.message}function fo(e,t,n){let r=e.message?e.message:uo(e.inst?._zod.def?.error?.(e))??uo(t?.error?.(e))??uo(n.customError?.(e))??uo(n.localeError?.(e))??`Invalid input`,{inst:i,continue:a,input:o,...s}=e;return s.path??=[],s.message=r,t?.reportInput&&(s.input=o),s}function po(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function mo(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}var ho=(e,t)=>{e.name=`$ZodError`,Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,Na,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},go=P(`$ZodError`,ho),_o=P(`$ZodError`,ho,{Parent:Error});function vo(e,t=e=>e.message){let n={},r=[];for(let i of e.issues)i.path.length>0?(n[i.path[0]]=n[i.path[0]]||[],n[i.path[0]].push(t(i))):r.push(t(i));return{formErrors:r,fieldErrors:n}}function yo(e,t=e=>e.message){let n={_errors:[]},r=(e,i=[])=>{for(let a of e.issues)if(a.code===`invalid_union`&&a.errors.length)a.errors.map(e=>r({issues:e},[...i,...a.path]));else if(a.code===`invalid_key`)r({issues:a.issues},[...i,...a.path]);else if(a.code===`invalid_element`)r({issues:a.issues},[...i,...a.path]);else{let e=[...i,...a.path];if(e.length===0)n._errors.push(t(a));else{let r=n,i=0;for(;i<e.length;){let n=e[i];i===e.length-1?(r[n]=r[n]||{_errors:[]},r[n]._errors.push(t(a))):r[n]=r[n]||{_errors:[]},r=r[n],i++}}}};return r(e),n}var bo=e=>(t,n,r,i)=>{let a=r?{...r,async:!1}:{async:!1},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise)throw new Oa;if(o.issues.length){let t=new(i?.Err??e)(o.issues.map(e=>fo(e,a,ja())));throw Wa(t,i?.callee),t}return o.value},xo=bo(_o),So=e=>async(t,n,r,i)=>{let a=r?{...r,async:!0}:{async:!0},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise&&(o=await o),o.issues.length){let t=new(i?.Err??e)(o.issues.map(e=>fo(e,a,ja())));throw Wa(t,i?.callee),t}return o.value},Co=So(_o),wo=e=>(t,n,r)=>{let i=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new Oa;return a.issues.length?{success:!1,error:new(e??go)(a.issues.map(e=>fo(e,i,ja())))}:{success:!0,data:a.value}},To=wo(_o),Eo=e=>async(t,n,r)=>{let i=r?{...r,async:!0}:{async:!0},a=t._zod.run({value:n,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new e(a.issues.map(e=>fo(e,i,ja())))}:{success:!0,data:a.value}},Do=Eo(_o),Oo=e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return bo(e)(t,n,i)},ko=e=>(t,n,r)=>bo(e)(t,n,r),Ao=e=>async(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return So(e)(t,n,i)},jo=e=>async(t,n,r)=>So(e)(t,n,r),Mo=e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return wo(e)(t,n,i)},No=e=>(t,n,r)=>wo(e)(t,n,r),Po=e=>async(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return Eo(e)(t,n,i)},Fo=e=>async(t,n,r)=>Eo(e)(t,n,r),Io=/^[cC][0-9a-z]{6,}$/,Lo=/^[0-9a-z]+$/,Ro=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,zo=/^[0-9a-vA-V]{20}$/,Bo=/^[A-Za-z0-9]{27}$/,Vo=/^[a-zA-Z0-9_-]{21}$/,Ho=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,Uo=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Wo=e=>e?RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,Go=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,Ko=`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`;function qo(){return new RegExp(Ko,`u`)}var Jo=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Yo=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,Xo=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,Zo=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Qo=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,$o=/^[A-Za-z0-9_-]*$/,es=/^https?$/,ts=/^\+[1-9]\d{6,14}$/,ns=`(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))`,rs=RegExp(`^${ns}$`);function is(e){let t=`(?:[01]\\d|2[0-3]):[0-5]\\d`;return typeof e.precision==`number`?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function as(e){return RegExp(`^${is(e)}$`)}function os(e){let t=is({precision:e.precision}),n=[`Z`];e.local&&n.push(``),e.offset&&n.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);let r=`${t}(?:${n.join(`|`)})`;return RegExp(`^${ns}T(?:${r})$`)}var ss=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\s\\S]*`;return RegExp(`^${t}$`)},cs=/^-?\d+$/,ls=/^-?\d+(?:\.\d+)?$/,us=/^(?:true|false)$/i,ds=/^null$/i,fs=/^[^A-Z]*$/,ps=/^[^a-z]*$/,ms=P(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),hs={number:`number`,bigint:`bigint`,object:`date`},gs=P(`$ZodCheckLessThan`,(e,t)=>{ms.init(e,t);let n=hs[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.maximum:n.exclusiveMaximum)??1/0;t.value<r&&(t.inclusive?n.maximum=t.value:n.exclusiveMaximum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:n,code:`too_big`,maximum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),_s=P(`$ZodCheckGreaterThan`,(e,t)=>{ms.init(e,t);let n=hs[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.minimum:n.exclusiveMinimum)??-1/0;t.value>r&&(t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:n,code:`too_small`,minimum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),vs=P(`$ZodCheckMultipleOf`,(e,t)=>{ms.init(e,t),e._zod.onattach.push(e=>{var n;(n=e._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw Error(`Cannot mix number and bigint in multiple_of check.`);(typeof n.value==`bigint`?n.value%t.value===BigInt(0):La(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:`not_multiple_of`,divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),ys=P(`$ZodCheckNumberFormat`,(e,t)=>{ms.init(e,t),t.format=t.format||`float64`;let n=t.format?.includes(`int`),r=n?`int`:`number`,[i,a]=$a[t.format];e._zod.onattach.push(e=>{let r=e._zod.bag;r.format=t.format,r.minimum=i,r.maximum=a,n&&(r.pattern=cs)}),e._zod.check=o=>{let s=o.value;if(n){if(!Number.isInteger(s)){o.issues.push({expected:r,format:t.format,code:`invalid_type`,continue:!1,input:s,inst:e});return}if(!Number.isSafeInteger(s)){s>0?o.issues.push({input:s,code:`too_big`,maximum:2**53-1,note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort}):o.issues.push({input:s,code:`too_small`,minimum:-(2**53-1),note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}s<i&&o.issues.push({origin:`number`,input:s,code:`too_small`,minimum:i,inclusive:!0,inst:e,continue:!t.abort}),s>a&&o.issues.push({origin:`number`,input:s,code:`too_big`,maximum:a,inclusive:!0,inst:e,continue:!t.abort})}}),bs=P(`$ZodCheckMaxLength`,(e,t)=>{var n;ms.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!Fa(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.maximum??1/0;t.maximum<n&&(e._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let r=n.value;if(r.length<=t.maximum)return;let i=po(r);n.issues.push({origin:i,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),xs=P(`$ZodCheckMinLength`,(e,t)=>{var n;ms.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!Fa(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.minimum??-1/0;t.minimum>n&&(e._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let r=n.value;if(r.length>=t.minimum)return;let i=po(r);n.issues.push({origin:i,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Ss=P(`$ZodCheckLengthEquals`,(e,t)=>{var n;ms.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!Fa(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag;n.minimum=t.length,n.maximum=t.length,n.length=t.length}),e._zod.check=n=>{let r=n.value,i=r.length;if(i===t.length)return;let a=po(r),o=i>t.length;n.issues.push({origin:a,...o?{code:`too_big`,maximum:t.length}:{code:`too_small`,minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),Cs=P(`$ZodCheckStringFormat`,(e,t)=>{var n,r;ms.init(e,t),e._zod.onattach.push(e=>{let n=e._zod.bag;n.format=t.format,t.pattern&&(n.patterns??=new Set,n.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),ws=P(`$ZodCheckRegex`,(e,t)=>{Cs.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:`regex`,input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Ts=P(`$ZodCheckLowerCase`,(e,t)=>{t.pattern??=fs,Cs.init(e,t)}),Es=P(`$ZodCheckUpperCase`,(e,t)=>{t.pattern??=ps,Cs.init(e,t)}),Ds=P(`$ZodCheckIncludes`,(e,t)=>{ms.init(e,t);let n=Xa(t.includes),r=new RegExp(typeof t.position==`number`?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(r)}),e._zod.check=n=>{n.value.includes(t.includes,t.position)||n.issues.push({origin:`string`,code:`invalid_format`,format:`includes`,includes:t.includes,input:n.value,inst:e,continue:!t.abort})}}),Os=P(`$ZodCheckStartsWith`,(e,t)=>{ms.init(e,t);let n=RegExp(`^${Xa(t.prefix)}.*`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(n)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`starts_with`,prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),ks=P(`$ZodCheckEndsWith`,(e,t)=>{ms.init(e,t);let n=RegExp(`.*${Xa(t.suffix)}$`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(n)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`ends_with`,suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),As=P(`$ZodCheckOverwrite`,(e,t)=>{ms.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}}),js=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),--this.indent}write(e){if(typeof e==`function`){e(this,{execution:`sync`}),e(this,{execution:`async`});return}let t=e.split(`
|
|
10
|
-
`).filter(e=>e),n=Math.min(...t.map(e=>e.length-e.trimStart().length)),r=t.map(e=>e.slice(n)).map(e=>` `.repeat(this.indent*2)+e);for(let e of r)this.content.push(e)}compile(){let e=Function,t=this?.args,n=[...(this?.content??[``]).map(e=>` ${e}`)];return new e(...t,n.join(`
|
|
11
|
-
`))}},Ms={major:4,minor:4,patch:3},Ns=P(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Ms;let r=[...e._zod.def.checks??[]];e._zod.traits.has(`$ZodCheck`)&&r.unshift(e);for(let t of r)for(let n of t._zod.onattach)n(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let t=(e,t,n)=>{let r=so(e),i;for(let a of t){if(a._zod.def.when){if(co(e)||!a._zod.def.when(e))continue}else if(r)continue;let t=e.issues.length,o=a._zod.check(e);if(o instanceof Promise&&n?.async===!1)throw new Oa;if(i||o instanceof Promise)i=(i??Promise.resolve()).then(async()=>{await o,e.issues.length!==t&&(r||=so(e,t))});else{if(e.issues.length===t)continue;r||=so(e,t)}}return i?i.then(()=>e):e},n=(n,i,a)=>{if(so(n))return n.aborted=!0,n;let o=t(i,r,a);if(o instanceof Promise){if(a.async===!1)throw new Oa;return o.then(t=>e._zod.parse(t,a))}return e._zod.parse(o,a)};e._zod.run=(i,a)=>{if(a.skipChecks)return e._zod.parse(i,a);if(a.direction===`backward`){let t=e._zod.parse({value:i.value,issues:[]},{...a,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,i,a)):n(t,i,a)}let o=e._zod.parse(i,a);if(o instanceof Promise){if(a.async===!1)throw new Oa;return o.then(e=>t(e,r,a))}return t(o,r,a)}}za(e,`~standard`,()=>({validate:t=>{try{let n=To(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch{return Do(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:`zod`,version:1}))}),Ps=P(`$ZodString`,(e,t)=>{Ns.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??ss(e._zod.bag),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value==`string`||n.issues.push({expected:`string`,code:`invalid_type`,input:n.value,inst:e}),n}}),Fs=P(`$ZodStringFormat`,(e,t)=>{Cs.init(e,t),Ps.init(e,t)}),Is=P(`$ZodGUID`,(e,t)=>{t.pattern??=Uo,Fs.init(e,t)}),Ls=P(`$ZodUUID`,(e,t)=>{if(t.version){let e={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(e===void 0)throw Error(`Invalid UUID version: "${t.version}"`);t.pattern??=Wo(e)}else t.pattern??=Wo();Fs.init(e,t)}),Rs=P(`$ZodEmail`,(e,t)=>{t.pattern??=Go,Fs.init(e,t)}),zs=P(`$ZodURL`,(e,t)=>{Fs.init(e,t),e._zod.check=n=>{try{let r=n.value.trim();if(!t.normalize&&t.protocol?.source===es.source&&!/^https?:\/\//i.test(r)){n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid URL format`,input:n.value,inst:e,continue:!t.abort});return}let i=new URL(r);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(i.hostname)||n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid hostname`,pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(i.protocol.endsWith(`:`)?i.protocol.slice(0,-1):i.protocol)||n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid protocol`,pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})),t.normalize?n.value=i.href:n.value=r;return}catch{n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort})}}}),Bs=P(`$ZodEmoji`,(e,t)=>{t.pattern??=qo(),Fs.init(e,t)}),Vs=P(`$ZodNanoID`,(e,t)=>{t.pattern??=Vo,Fs.init(e,t)}),Hs=P(`$ZodCUID`,(e,t)=>{t.pattern??=Io,Fs.init(e,t)}),Us=P(`$ZodCUID2`,(e,t)=>{t.pattern??=Lo,Fs.init(e,t)}),Ws=P(`$ZodULID`,(e,t)=>{t.pattern??=Ro,Fs.init(e,t)}),Gs=P(`$ZodXID`,(e,t)=>{t.pattern??=zo,Fs.init(e,t)}),Ks=P(`$ZodKSUID`,(e,t)=>{t.pattern??=Bo,Fs.init(e,t)}),qs=P(`$ZodISODateTime`,(e,t)=>{t.pattern??=os(t),Fs.init(e,t)}),Js=P(`$ZodISODate`,(e,t)=>{t.pattern??=rs,Fs.init(e,t)}),Ys=P(`$ZodISOTime`,(e,t)=>{t.pattern??=as(t),Fs.init(e,t)}),Xs=P(`$ZodISODuration`,(e,t)=>{t.pattern??=Ho,Fs.init(e,t)}),Zs=P(`$ZodIPv4`,(e,t)=>{t.pattern??=Jo,Fs.init(e,t),e._zod.bag.format=`ipv4`}),Qs=P(`$ZodIPv6`,(e,t)=>{t.pattern??=Yo,Fs.init(e,t),e._zod.bag.format=`ipv6`,e._zod.check=n=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:`invalid_format`,format:`ipv6`,input:n.value,inst:e,continue:!t.abort})}}}),$s=P(`$ZodCIDRv4`,(e,t)=>{t.pattern??=Xo,Fs.init(e,t)}),ec=P(`$ZodCIDRv6`,(e,t)=>{t.pattern??=Zo,Fs.init(e,t),e._zod.check=n=>{let r=n.value.split(`/`);try{if(r.length!==2)throw Error();let[e,t]=r;if(!t)throw Error();let n=Number(t);if(`${n}`!==t||n<0||n>128)throw Error();new URL(`http://[${e}]`)}catch{n.issues.push({code:`invalid_format`,format:`cidrv6`,input:n.value,inst:e,continue:!t.abort})}}});function tc(e){if(e===``)return!0;if(/\s/.test(e)||e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}var nc=P(`$ZodBase64`,(e,t)=>{t.pattern??=Qo,Fs.init(e,t),e._zod.bag.contentEncoding=`base64`,e._zod.check=n=>{tc(n.value)||n.issues.push({code:`invalid_format`,format:`base64`,input:n.value,inst:e,continue:!t.abort})}});function rc(e){if(!$o.test(e))return!1;let t=e.replace(/[-_]/g,e=>e===`-`?`+`:`/`);return tc(t.padEnd(Math.ceil(t.length/4)*4,`=`))}var ic=P(`$ZodBase64URL`,(e,t)=>{t.pattern??=$o,Fs.init(e,t),e._zod.bag.contentEncoding=`base64url`,e._zod.check=n=>{rc(n.value)||n.issues.push({code:`invalid_format`,format:`base64url`,input:n.value,inst:e,continue:!t.abort})}}),ac=P(`$ZodE164`,(e,t)=>{t.pattern??=ts,Fs.init(e,t)});function oc(e,t=null){try{let n=e.split(`.`);if(n.length!==3)return!1;let[r]=n;if(!r)return!1;let i=JSON.parse(atob(r));return!(`typ`in i&&i?.typ!==`JWT`||!i.alg||t&&(!(`alg`in i)||i.alg!==t))}catch{return!1}}var sc=P(`$ZodJWT`,(e,t)=>{Fs.init(e,t),e._zod.check=n=>{oc(n.value,t.alg)||n.issues.push({code:`invalid_format`,format:`jwt`,input:n.value,inst:e,continue:!t.abort})}}),cc=P(`$ZodNumber`,(e,t)=>{Ns.init(e,t),e._zod.pattern=e._zod.bag.pattern??ls,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}let i=n.value;if(typeof i==`number`&&!Number.isNaN(i)&&Number.isFinite(i))return n;let a=typeof i==`number`?Number.isNaN(i)?`NaN`:Number.isFinite(i)?void 0:`Infinity`:void 0;return n.issues.push({expected:`number`,code:`invalid_type`,input:i,inst:e,...a?{received:a}:{}}),n}}),lc=P(`$ZodNumberFormat`,(e,t)=>{ys.init(e,t),cc.init(e,t)}),uc=P(`$ZodBoolean`,(e,t)=>{Ns.init(e,t),e._zod.pattern=us,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=!!n.value}catch{}let i=n.value;return typeof i==`boolean`||n.issues.push({expected:`boolean`,code:`invalid_type`,input:i,inst:e}),n}}),dc=P(`$ZodNull`,(e,t)=>{Ns.init(e,t),e._zod.pattern=ds,e._zod.values=new Set([null]),e._zod.parse=(t,n)=>{let r=t.value;return r===null||t.issues.push({expected:`null`,code:`invalid_type`,input:r,inst:e}),t}}),fc=P(`$ZodAny`,(e,t)=>{Ns.init(e,t),e._zod.parse=e=>e}),pc=P(`$ZodUnknown`,(e,t)=>{Ns.init(e,t),e._zod.parse=e=>e}),mc=P(`$ZodNever`,(e,t)=>{Ns.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:`never`,code:`invalid_type`,input:t.value,inst:e}),t)}),hc=P(`$ZodVoid`,(e,t)=>{Ns.init(e,t),e._zod.parse=(t,n)=>{let r=t.value;return r===void 0||t.issues.push({expected:`void`,code:`invalid_type`,input:r,inst:e}),t}}),gc=P(`$ZodDate`,(e,t)=>{Ns.init(e,t),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=new Date(n.value)}catch{}let i=n.value,a=i instanceof Date;return a&&!Number.isNaN(i.getTime())||n.issues.push({expected:`date`,code:`invalid_type`,input:i,...a?{received:`Invalid Date`}:{},inst:e}),n}});function _c(e,t,n){e.issues.length&&t.issues.push(...lo(n,e.issues)),t.value[n]=e.value}var vc=P(`$ZodArray`,(e,t)=>{Ns.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!Array.isArray(i))return n.issues.push({expected:`array`,code:`invalid_type`,input:i,inst:e}),n;n.value=Array(i.length);let a=[];for(let e=0;e<i.length;e++){let o=i[e],s=t.element._zod.run({value:o,issues:[]},r);s instanceof Promise?a.push(s.then(t=>_c(t,n,e))):_c(s,n,e)}return a.length?Promise.all(a).then(()=>n):n}});function yc(e,t,n,r,i,a){let o=n in r;if(e.issues.length){if(i&&a&&!o)return;t.issues.push(...lo(n,e.issues))}if(!o&&!i){e.issues.length||t.issues.push({code:`invalid_type`,expected:`nonoptional`,input:void 0,path:[n]});return}e.value===void 0?o&&(t.value[n]=void 0):t.value[n]=e.value}function bc(e){let t=Object.keys(e.shape);for(let n of t)if(!e.shape?.[n]?._zod?.traits?.has(`$ZodType`))throw Error(`Invalid element at key "${n}": expected a Zod schema`);let n=Qa(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function xc(e,t,n,r,i,a){let o=[],s=i.keySet,c=i.catchall._zod,l=c.def.type,u=c.optin===`optional`,d=c.optout===`optional`;for(let i in t){if(i===`__proto__`||s.has(i))continue;if(l===`never`){o.push(i);continue}let a=c.run({value:t[i],issues:[]},r);a instanceof Promise?e.push(a.then(e=>yc(e,n,i,t,u,d))):yc(a,n,i,t,u,d)}return o.length&&n.issues.push({code:`unrecognized_keys`,keys:o,input:t,inst:a}),e.length?Promise.all(e).then(()=>n):n}var Sc=P(`$ZodObject`,(e,t)=>{if(Ns.init(e,t),!Object.getOwnPropertyDescriptor(t,`shape`)?.get){let e=t.shape;Object.defineProperty(t,"shape",{get:()=>{let n={...e};return Object.defineProperty(t,"shape",{value:n}),n}})}let n=Pa(()=>bc(t));za(e._zod,`propValues`,()=>{let e=t.shape,n={};for(let t in e){let r=e[t]._zod;if(r.values){n[t]??(n[t]=new Set);for(let e of r.values)n[t].add(e)}}return n});let r=Ga,i=t.catchall,a;e._zod.parse=(t,o)=>{a??=n.value;let s=t.value;if(!r(s))return t.issues.push({expected:`object`,code:`invalid_type`,input:s,inst:e}),t;t.value={};let c=[],l=a.shape;for(let e of a.keys){let n=l[e],r=n._zod.optin===`optional`,i=n._zod.optout===`optional`,a=n._zod.run({value:s[e],issues:[]},o);a instanceof Promise?c.push(a.then(n=>yc(n,t,e,s,r,i))):yc(a,t,e,s,r,i)}return i?xc(c,s,t,o,n.value,e):c.length?Promise.all(c).then(()=>t):t}}),Cc=P(`$ZodObjectJIT`,(e,t)=>{Sc.init(e,t);let n=e._zod.parse,r=Pa(()=>bc(t)),i=e=>{let t=new js([`shape`,`payload`,`ctx`]),n=r.value,i=e=>{let t=Ha(e);return`shape[${t}]._zod.run({ value: input[${t}], issues: [] }, ctx)`};t.write(`const input = payload.value;`);let a=Object.create(null),o=0;for(let e of n.keys)a[e]=`key_${o++}`;t.write(`const newResult = {};`);for(let r of n.keys){let n=a[r],o=Ha(r),s=e[r],c=s?._zod?.optin===`optional`,l=s?._zod?.optout===`optional`;t.write(`const ${n} = ${i(r)};`),c&&l?t.write(`
|
|
12
|
-
if (${n}.issues.length) {
|
|
13
|
-
if (${o} in input) {
|
|
14
|
-
payload.issues = payload.issues.concat(${n}.issues.map(iss => ({
|
|
15
|
-
...iss,
|
|
16
|
-
path: iss.path ? [${o}, ...iss.path] : [${o}]
|
|
17
|
-
})));
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
if (${n}.value === undefined) {
|
|
22
|
-
if (${o} in input) {
|
|
23
|
-
newResult[${o}] = undefined;
|
|
24
|
-
}
|
|
25
|
-
} else {
|
|
26
|
-
newResult[${o}] = ${n}.value;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
`):c?t.write(`
|
|
30
|
-
if (${n}.issues.length) {
|
|
31
|
-
payload.issues = payload.issues.concat(${n}.issues.map(iss => ({
|
|
32
|
-
...iss,
|
|
33
|
-
path: iss.path ? [${o}, ...iss.path] : [${o}]
|
|
34
|
-
})));
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
if (${n}.value === undefined) {
|
|
38
|
-
if (${o} in input) {
|
|
39
|
-
newResult[${o}] = undefined;
|
|
40
|
-
}
|
|
41
|
-
} else {
|
|
42
|
-
newResult[${o}] = ${n}.value;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
`):t.write(`
|
|
46
|
-
const ${n}_present = ${o} in input;
|
|
47
|
-
if (${n}.issues.length) {
|
|
48
|
-
payload.issues = payload.issues.concat(${n}.issues.map(iss => ({
|
|
49
|
-
...iss,
|
|
50
|
-
path: iss.path ? [${o}, ...iss.path] : [${o}]
|
|
51
|
-
})));
|
|
52
|
-
}
|
|
53
|
-
if (!${n}_present && !${n}.issues.length) {
|
|
54
|
-
payload.issues.push({
|
|
55
|
-
code: "invalid_type",
|
|
56
|
-
expected: "nonoptional",
|
|
57
|
-
input: undefined,
|
|
58
|
-
path: [${o}]
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
if (${n}_present) {
|
|
63
|
-
if (${n}.value === undefined) {
|
|
64
|
-
newResult[${o}] = undefined;
|
|
65
|
-
} else {
|
|
66
|
-
newResult[${o}] = ${n}.value;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
`)}t.write(`payload.value = newResult;`),t.write(`return payload;`);let s=t.compile();return(t,n)=>s(e,t,n)},a,o=Ga,s=!Aa.jitless,c=s&&Ka.value,l=t.catchall,u;e._zod.parse=(d,f)=>{u??=r.value;let p=d.value;return o(p)?s&&c&&f?.async===!1&&f.jitless!==!0?(a||=i(t.shape),d=a(d,f),l?xc([],p,d,f,u,e):d):n(d,f):(d.issues.push({expected:`object`,code:`invalid_type`,input:p,inst:e}),d)}});function wc(e,t,n,r){for(let n of e)if(n.issues.length===0)return t.value=n.value,t;let i=e.filter(e=>!so(e));return i.length===1?(t.value=i[0].value,i[0]):(t.issues.push({code:`invalid_union`,input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>fo(e,r,ja())))}),t)}var Tc=P(`$ZodUnion`,(e,t)=>{Ns.init(e,t),za(e._zod,`optin`,()=>t.options.some(e=>e._zod.optin===`optional`)?`optional`:void 0),za(e._zod,`optout`,()=>t.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),za(e._zod,`values`,()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),za(e._zod,`pattern`,()=>{if(t.options.every(e=>e._zod.pattern)){let e=t.options.map(e=>e._zod.pattern);return RegExp(`^(${e.map(e=>Ia(e.source)).join(`|`)})$`)}});let n=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(r,i)=>{if(n)return n(r,i);let a=!1,o=[];for(let e of t.options){let t=e._zod.run({value:r.value,issues:[]},i);if(t instanceof Promise)o.push(t),a=!0;else{if(t.issues.length===0)return t;o.push(t)}}return a?Promise.all(o).then(t=>wc(t,r,e,i)):wc(o,r,e,i)}}),Ec=P(`$ZodDiscriminatedUnion`,(e,t)=>{t.inclusive=!1,Tc.init(e,t);let n=e._zod.parse;za(e._zod,`propValues`,()=>{let e={};for(let n of t.options){let r=n._zod.propValues;if(!r||Object.keys(r).length===0)throw Error(`Invalid discriminated union option at index "${t.options.indexOf(n)}"`);for(let[t,n]of Object.entries(r)){e[t]||(e[t]=new Set);for(let r of n)e[t].add(r)}}return e});let r=Pa(()=>{let e=t.options,n=new Map;for(let r of e){let e=r._zod.propValues?.[t.discriminator];if(!e||e.size===0)throw Error(`Invalid discriminated union option at index "${t.options.indexOf(r)}"`);for(let t of e){if(n.has(t))throw Error(`Duplicate discriminator value "${String(t)}"`);n.set(t,r)}}return n});e._zod.parse=(i,a)=>{let o=i.value;if(!Ga(o))return i.issues.push({code:`invalid_type`,expected:`object`,input:o,inst:e}),i;let s=r.value.get(o?.[t.discriminator]);return s?s._zod.run(i,a):t.unionFallback||a.direction===`backward`?n(i,a):(i.issues.push({code:`invalid_union`,errors:[],note:`No matching discriminator`,discriminator:t.discriminator,options:Array.from(r.value.keys()),input:o,path:[t.discriminator],inst:e}),i)}}),Dc=P(`$ZodIntersection`,(e,t)=>{Ns.init(e,t),e._zod.parse=(e,n)=>{let r=e.value,i=t.left._zod.run({value:r,issues:[]},n),a=t.right._zod.run({value:r,issues:[]},n);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([t,n])=>kc(e,t,n)):kc(e,i,a)}});function Oc(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(qa(e)&&qa(t)){let n=Object.keys(t),r=Object.keys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};for(let n of r){let r=Oc(e[n],t[n]);if(!r.valid)return{valid:!1,mergeErrorPath:[n,...r.mergeErrorPath]};i[n]=r.data}return{valid:!0,data:i}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r],o=Oc(i,a);if(!o.valid)return{valid:!1,mergeErrorPath:[r,...o.mergeErrorPath]};n.push(o.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function kc(e,t,n){let r=new Map,i;for(let n of t.issues)if(n.code===`unrecognized_keys`){i??=n;for(let e of n.keys)r.has(e)||r.set(e,{}),r.get(e).l=!0}else e.issues.push(n);for(let t of n.issues)if(t.code===`unrecognized_keys`)for(let e of t.keys)r.has(e)||r.set(e,{}),r.get(e).r=!0;else e.issues.push(t);let a=[...r].filter(([,e])=>e.l&&e.r).map(([e])=>e);if(a.length&&i&&e.issues.push({...i,keys:a}),so(e))return e;let o=Oc(t.value,n.value);if(!o.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(o.mergeErrorPath)}`);return e.value=o.data,e}var Ac=P(`$ZodTuple`,(e,t)=>{Ns.init(e,t);let n=t.items;e._zod.parse=(r,i)=>{let a=r.value;if(!Array.isArray(a))return r.issues.push({input:a,inst:e,expected:`tuple`,code:`invalid_type`}),r;r.value=[];let o=[],s=jc(n,`optin`),c=jc(n,`optout`);if(!t.rest){if(a.length<s)return r.issues.push({code:`too_small`,minimum:s,inclusive:!0,input:a,inst:e,origin:`array`}),r;a.length>n.length&&r.issues.push({code:`too_big`,maximum:n.length,inclusive:!0,input:a,inst:e,origin:`array`})}let l=Array(n.length);for(let e=0;e<n.length;e++){let t=n[e]._zod.run({value:a[e],issues:[]},i);t instanceof Promise?o.push(t.then(t=>{l[e]=t})):l[e]=t}if(t.rest){let e=n.length-1,s=a.slice(n.length);for(let n of s){e++;let a=t.rest._zod.run({value:n,issues:[]},i);a instanceof Promise?o.push(a.then(t=>Mc(t,r,e))):Mc(a,r,e)}}return o.length?Promise.all(o).then(()=>Nc(l,r,n,a,c)):Nc(l,r,n,a,c)}});function jc(e,t){for(let n=e.length-1;n>=0;n--)if(e[n]._zod[t]!==`optional`)return n+1;return 0}function Mc(e,t,n){e.issues.length&&t.issues.push(...lo(n,e.issues)),t.value[n]=e.value}function Nc(e,t,n,r,i){for(let a=0;a<n.length;a++){let n=e[a],o=a<r.length;if(n.issues.length){if(!o&&a>=i){t.value.length=a;break}t.issues.push(...lo(a,n.issues))}t.value[a]=n.value}for(let e=t.value.length-1;e>=r.length&&n[e]._zod.optout===`optional`&&t.value[e]===void 0;e--)t.value.length=e;return t}var Pc=P(`$ZodRecord`,(e,t)=>{Ns.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!qa(i))return n.issues.push({expected:`record`,code:`invalid_type`,input:i,inst:e}),n;let a=[],o=t.keyType._zod.values;if(o){n.value={};let s=new Set;for(let c of o)if(typeof c==`string`||typeof c==`number`||typeof c==`symbol`){s.add(typeof c==`number`?c.toString():c);let o=t.keyType._zod.run({value:c,issues:[]},r);if(o instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(o.issues.length){n.issues.push({code:`invalid_key`,origin:`record`,issues:o.issues.map(e=>fo(e,r,ja())),input:c,path:[c],inst:e});continue}let l=o.value,u=t.valueType._zod.run({value:i[c],issues:[]},r);u instanceof Promise?a.push(u.then(e=>{e.issues.length&&n.issues.push(...lo(c,e.issues)),n.value[l]=e.value})):(u.issues.length&&n.issues.push(...lo(c,u.issues)),n.value[l]=u.value)}let c;for(let e in i)s.has(e)||(c??=[],c.push(e));c&&c.length>0&&n.issues.push({code:`unrecognized_keys`,input:i,inst:e,keys:c})}else{n.value={};for(let o of Reflect.ownKeys(i)){if(o===`__proto__`||!Object.prototype.propertyIsEnumerable.call(i,o))continue;let s=t.keyType._zod.run({value:o,issues:[]},r);if(s instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(typeof o==`string`&&ls.test(o)&&s.issues.length){let e=t.keyType._zod.run({value:Number(o),issues:[]},r);if(e instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);e.issues.length===0&&(s=e)}if(s.issues.length){t.mode===`loose`?n.value[o]=i[o]:n.issues.push({code:`invalid_key`,origin:`record`,issues:s.issues.map(e=>fo(e,r,ja())),input:o,path:[o],inst:e});continue}let c=t.valueType._zod.run({value:i[o],issues:[]},r);c instanceof Promise?a.push(c.then(e=>{e.issues.length&&n.issues.push(...lo(o,e.issues)),n.value[s.value]=e.value})):(c.issues.length&&n.issues.push(...lo(o,c.issues)),n.value[s.value]=c.value)}}return a.length?Promise.all(a).then(()=>n):n}}),Fc=P(`$ZodEnum`,(e,t)=>{Ns.init(e,t);let n=Ma(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=RegExp(`^(${n.filter(e=>Ya.has(typeof e)).map(e=>typeof e==`string`?Xa(e):e.toString()).join(`|`)})$`),e._zod.parse=(t,i)=>{let a=t.value;return r.has(a)||t.issues.push({code:`invalid_value`,values:n,input:a,inst:e}),t}}),Ic=P(`$ZodLiteral`,(e,t)=>{if(Ns.init(e,t),t.values.length===0)throw Error(`Cannot create literal schema with no valid values`);let n=new Set(t.values);e._zod.values=n,e._zod.pattern=RegExp(`^(${t.values.map(e=>typeof e==`string`?Xa(e):e?Xa(e.toString()):String(e)).join(`|`)})$`),e._zod.parse=(r,i)=>{let a=r.value;return n.has(a)||r.issues.push({code:`invalid_value`,values:t.values,input:a,inst:e}),r}}),Lc=P(`$ZodTransform`,(e,t)=>{Ns.init(e,t),e._zod.optin=`optional`,e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new ka(e.constructor.name);let i=t.transform(n.value,n);if(r.async)return(i instanceof Promise?i:Promise.resolve(i)).then(e=>(n.value=e,n.fallback=!0,n));if(i instanceof Promise)throw new Oa;return n.value=i,n.fallback=!0,n}});function Rc(e,t){return t===void 0&&(e.issues.length||e.fallback)?{issues:[],value:void 0}:e}var zc=P(`$ZodOptional`,(e,t)=>{Ns.init(e,t),e._zod.optin=`optional`,e._zod.optout=`optional`,za(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),za(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${Ia(e.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if(t.innerType._zod.optin===`optional`){let r=e.value,i=t.innerType._zod.run(e,n);return i instanceof Promise?i.then(e=>Rc(e,r)):Rc(i,r)}return e.value===void 0?e:t.innerType._zod.run(e,n)}}),Bc=P(`$ZodExactOptional`,(e,t)=>{zc.init(e,t),za(e._zod,`values`,()=>t.innerType._zod.values),za(e._zod,`pattern`,()=>t.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),Vc=P(`$ZodNullable`,(e,t)=>{Ns.init(e,t),za(e._zod,`optin`,()=>t.innerType._zod.optin),za(e._zod,`optout`,()=>t.innerType._zod.optout),za(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${Ia(e.source)}|null)$`):void 0}),za(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>e.value===null?e:t.innerType._zod.run(e,n)}),Hc=P(`$ZodDefault`,(e,t)=>{Ns.init(e,t),e._zod.optin=`optional`,za(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);if(e.value===void 0)return e.value=t.defaultValue,e;let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(e=>Uc(e,t)):Uc(r,t)}});function Uc(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var Wc=P(`$ZodPrefault`,(e,t)=>{Ns.init(e,t),e._zod.optin=`optional`,za(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>(n.direction===`backward`||e.value===void 0&&(e.value=t.defaultValue),t.innerType._zod.run(e,n))}),Gc=P(`$ZodNonOptional`,(e,t)=>{Ns.init(e,t),za(e._zod,`values`,()=>{let e=t.innerType._zod.values;return e?new Set([...e].filter(e=>e!==void 0)):void 0}),e._zod.parse=(n,r)=>{let i=t.innerType._zod.run(n,r);return i instanceof Promise?i.then(t=>Kc(t,e)):Kc(i,e)}});function Kc(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:`invalid_type`,expected:`nonoptional`,input:e.value,inst:t}),e}var qc=P(`$ZodCatch`,(e,t)=>{Ns.init(e,t),e._zod.optin=`optional`,za(e._zod,`optout`,()=>t.innerType._zod.optout),za(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(r=>(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>fo(e,n,ja()))},input:e.value}),e.issues=[],e.fallback=!0),e)):(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>fo(e,n,ja()))},input:e.value}),e.issues=[],e.fallback=!0),e)}}),Jc=P(`$ZodPipe`,(e,t)=>{Ns.init(e,t),za(e._zod,`values`,()=>t.in._zod.values),za(e._zod,`optin`,()=>t.in._zod.optin),za(e._zod,`optout`,()=>t.out._zod.optout),za(e._zod,`propValues`,()=>t.in._zod.propValues),e._zod.parse=(e,n)=>{if(n.direction===`backward`){let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>Yc(e,t.in,n)):Yc(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>Yc(e,t.out,n)):Yc(r,t.out,n)}});function Yc(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues,fallback:e.fallback},n)}var Xc=P(`$ZodReadonly`,(e,t)=>{Ns.init(e,t),za(e._zod,`propValues`,()=>t.innerType._zod.propValues),za(e._zod,`values`,()=>t.innerType._zod.values),za(e._zod,`optin`,()=>t.innerType?._zod?.optin),za(e._zod,`optout`,()=>t.innerType?._zod?.optout),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(Zc):Zc(r)}});function Zc(e){return e.value=Object.freeze(e.value),e}var Qc=P(`$ZodFunction`,(e,t)=>(Ns.init(e,t),e._def=t,e._zod.def=t,e.implement=t=>{if(typeof t!=`function`)throw Error(`implement() must be called with a function`);return function(...n){let r=e._def.input?xo(e._def.input,n):n,i=Reflect.apply(t,this,r);return e._def.output?xo(e._def.output,i):i}},e.implementAsync=t=>{if(typeof t!=`function`)throw Error(`implementAsync() must be called with a function`);return async function(...n){let r=e._def.input?await Co(e._def.input,n):n,i=await Reflect.apply(t,this,r);return e._def.output?await Co(e._def.output,i):i}},e._zod.parse=(t,n)=>typeof t.value==`function`?(e._def.output&&e._def.output._zod.def.type===`promise`?t.value=e.implementAsync(t.value):t.value=e.implement(t.value),t):(t.issues.push({code:`invalid_type`,expected:`function`,input:t.value,inst:e}),t),e.input=(...t)=>{let n=e.constructor;return Array.isArray(t[0])?new n({type:`function`,input:new Ac({type:`tuple`,items:t[0],rest:t[1]}),output:e._def.output}):new n({type:`function`,input:t[0],output:e._def.output})},e.output=t=>{let n=e.constructor;return new n({type:`function`,input:e._def.input,output:t})},e)),$c=P(`$ZodPromise`,(e,t)=>{Ns.init(e,t),e._zod.parse=(e,n)=>Promise.resolve(e.value).then(e=>t.innerType._zod.run({value:e,issues:[]},n))}),el=P(`$ZodLazy`,(e,t)=>{Ns.init(e,t),za(e._zod,`innerType`,()=>{let e=t;return e._cachedInner||=t.getter(),e._cachedInner}),za(e._zod,`pattern`,()=>e._zod.innerType?._zod?.pattern),za(e._zod,`propValues`,()=>e._zod.innerType?._zod?.propValues),za(e._zod,`optin`,()=>e._zod.innerType?._zod?.optin??void 0),za(e._zod,`optout`,()=>e._zod.innerType?._zod?.optout??void 0),e._zod.parse=(t,n)=>e._zod.innerType._zod.run(t,n)}),tl=P(`$ZodCustom`,(e,t)=>{ms.init(e,t),Ns.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{let r=n.value,i=t.fn(r);if(i instanceof Promise)return i.then(t=>nl(t,n,r,e));nl(i,n,r,e)}});function nl(e,t,n,r){if(!e){let e={code:`custom`,input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(e.params=r._zod.def.params),t.issues.push(mo(e))}}var rl,il=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){let n=t[0];return this._map.set(e,n),n&&typeof n==`object`&&`id`in n&&this._idmap.set(n.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let t=this._map.get(e);return t&&typeof t==`object`&&`id`in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};delete n.id;let r={...n,...this._map.get(e)};return Object.keys(r).length?r:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function al(){return new il}(rl=globalThis).__zod_globalRegistry??(rl.__zod_globalRegistry=al());var ol=globalThis.__zod_globalRegistry;function sl(e,t){return new e({type:`string`,...F(t)})}function cl(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...F(t)})}function ll(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...F(t)})}function ul(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...F(t)})}function dl(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...F(t)})}function fl(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...F(t)})}function pl(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...F(t)})}function ml(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...F(t)})}function hl(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...F(t)})}function gl(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...F(t)})}function _l(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...F(t)})}function vl(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...F(t)})}function yl(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...F(t)})}function bl(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...F(t)})}function xl(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...F(t)})}function Sl(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...F(t)})}function Cl(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...F(t)})}function wl(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...F(t)})}function Tl(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...F(t)})}function El(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...F(t)})}function Dl(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...F(t)})}function Ol(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...F(t)})}function kl(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...F(t)})}function Al(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...F(t)})}function jl(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...F(t)})}function Ml(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...F(t)})}function Nl(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...F(t)})}function Pl(e,t){return new e({type:`number`,checks:[],...F(t)})}function Fl(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...F(t)})}function Il(e,t){return new e({type:`boolean`,...F(t)})}function Ll(e,t){return new e({type:`null`,...F(t)})}function Rl(e){return new e({type:`any`})}function zl(e){return new e({type:`unknown`})}function Bl(e,t){return new e({type:`never`,...F(t)})}function Vl(e,t){return new e({type:`void`,...F(t)})}function Hl(e,t){return new e({type:`date`,...F(t)})}function Ul(e,t){return new gs({check:`less_than`,...F(t),value:e,inclusive:!1})}function Wl(e,t){return new gs({check:`less_than`,...F(t),value:e,inclusive:!0})}function Gl(e,t){return new _s({check:`greater_than`,...F(t),value:e,inclusive:!1})}function Kl(e,t){return new _s({check:`greater_than`,...F(t),value:e,inclusive:!0})}function ql(e,t){return new vs({check:`multiple_of`,...F(t),value:e})}function Jl(e,t){return new bs({check:`max_length`,...F(t),maximum:e})}function Yl(e,t){return new xs({check:`min_length`,...F(t),minimum:e})}function Xl(e,t){return new Ss({check:`length_equals`,...F(t),length:e})}function Zl(e,t){return new ws({check:`string_format`,format:`regex`,...F(t),pattern:e})}function Ql(e){return new Ts({check:`string_format`,format:`lowercase`,...F(e)})}function $l(e){return new Es({check:`string_format`,format:`uppercase`,...F(e)})}function eu(e,t){return new Ds({check:`string_format`,format:`includes`,...F(t),includes:e})}function tu(e,t){return new Os({check:`string_format`,format:`starts_with`,...F(t),prefix:e})}function nu(e,t){return new ks({check:`string_format`,format:`ends_with`,...F(t),suffix:e})}function ru(e){return new As({check:`overwrite`,tx:e})}function iu(e){return ru(t=>t.normalize(e))}function au(){return ru(e=>e.trim())}function ou(){return ru(e=>e.toLowerCase())}function su(){return ru(e=>e.toUpperCase())}function cu(){return ru(e=>Ua(e))}function lu(e,t,n){return new e({type:`array`,element:t,...F(n)})}function uu(e,t,n){let r=F(n);return r.abort??=!0,new e({type:`custom`,check:`custom`,fn:t,...r})}function du(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...F(n)})}function fu(e,t){let n=pu(t=>(t.addIssue=e=>{if(typeof e==`string`)t.issues.push(mo(e,t.value,n._zod.def));else{let r=e;r.fatal&&(r.continue=!1),r.code??=`custom`,r.input??=t.value,r.inst??=n,r.continue??=!n._zod.def.abort,t.issues.push(mo(r))}},e(t.value,t)),t);return n}function pu(e,t){let n=new ms({check:`custom`,...F(t)});return n._zod.check=e,n}function mu(e){let t=e?.target??`draft-2020-12`;return t===`draft-4`&&(t=`draft-04`),t===`draft-7`&&(t=`draft-07`),{processors:e.processors??{},metadataRegistry:e?.metadata??ol,target:t,unrepresentable:e?.unrepresentable??`throw`,override:e?.override??(()=>{}),io:e?.io??`output`,counter:0,seen:new Map,cycles:e?.cycles??`ref`,reused:e?.reused??`inline`,external:e?.external??void 0}}function hu(e,t,n={path:[],schemaPath:[]}){var r;let i=e._zod.def,a=t.seen.get(e);if(a)return a.count++,n.schemaPath.includes(e)&&(a.cycle=n.path),a.schema;let o={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,o);let s=e._zod.toJSONSchema?.();if(s)o.schema=s;else{let r={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,o.schema,r);else{let n=o.schema,a=t.processors[i.type];if(!a)throw Error(`[toJSONSchema]: Non-representable type encountered: ${i.type}`);a(e,t,n,r)}let a=e._zod.parent;a&&(o.ref||=a,hu(a,t,r),t.seen.get(a).isParent=!0)}let c=t.metadataRegistry.get(e);return c&&Object.assign(o.schema,c),t.io===`input`&&vu(e)&&(delete o.schema.examples,delete o.schema.default),t.io===`input`&&`_prefault`in o.schema&&((r=o.schema).default??(r.default=o.schema._prefault)),delete o.schema._prefault,t.seen.get(e).schema}function gu(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=new Map;for(let t of e.seen.entries()){let n=e.metadataRegistry.get(t[0])?.id;if(n){let e=r.get(n);if(e&&e!==t[0])throw Error(`Duplicate schema id "${n}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(n,t[0])}}let i=t=>{let r=e.target===`draft-2020-12`?`$defs`:`definitions`;if(e.external){let n=e.external.registry.get(t[0])?.id,i=e.external.uri??(e=>e);if(n)return{ref:i(n)};let a=t[1].defId??t[1].schema.id??`schema${e.counter++}`;return t[1].defId=a,{defId:a,ref:`${i(`__shared`)}#/${r}/${a}`}}if(t[1]===n)return{ref:`#`};let i=`#/${r}/`,a=t[1].schema.id??`__schema${e.counter++}`;return{defId:a,ref:i+a}},a=e=>{if(e[1].schema.$ref)return;let t=e[1],{ref:n,defId:r}=i(e);t.def={...t.schema},r&&(t.defId=r);let a=t.schema;for(let e in a)delete a[e];a.$ref=n};if(e.cycles===`throw`)for(let t of e.seen.entries()){let e=t[1];if(e.cycle)throw Error(`Cycle detected: #/${e.cycle?.join(`/`)}/<root>
|
|
71
|
-
|
|
72
|
-
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let n of e.seen.entries()){let r=n[1];if(t===n[0]){a(n);continue}if(e.external){let r=e.external.registry.get(n[0])?.id;if(t!==n[0]&&r){a(n);continue}}if(e.metadataRegistry.get(n[0])?.id){a(n);continue}if(r.cycle){a(n);continue}if(r.count>1&&e.reused===`ref`){a(n);continue}}}function _u(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=t=>{let n=e.seen.get(t);if(n.ref===null)return;let i=n.def??n.schema,a={...i},o=n.ref;if(n.ref=null,o){r(o);let n=e.seen.get(o),s=n.schema;if(s.$ref&&(e.target===`draft-07`||e.target===`draft-04`||e.target===`openapi-3.0`)?(i.allOf=i.allOf??[],i.allOf.push(s)):Object.assign(i,s),Object.assign(i,a),t._zod.parent===o)for(let e in i)e===`$ref`||e===`allOf`||e in a||delete i[e];if(s.$ref&&n.def)for(let e in i)e===`$ref`||e===`allOf`||e in n.def&&JSON.stringify(i[e])===JSON.stringify(n.def[e])&&delete i[e]}let s=t._zod.parent;if(s&&s!==o){r(s);let t=e.seen.get(s);if(t?.schema.$ref&&(i.$ref=t.schema.$ref,t.def))for(let e in i)e===`$ref`||e===`allOf`||e in t.def&&JSON.stringify(i[e])===JSON.stringify(t.def[e])&&delete i[e]}e.override({zodSchema:t,jsonSchema:i,path:n.path??[]})};for(let t of[...e.seen.entries()].reverse())r(t[0]);let i={};if(e.target===`draft-2020-12`?i.$schema=`https://json-schema.org/draft/2020-12/schema`:e.target===`draft-07`?i.$schema=`http://json-schema.org/draft-07/schema#`:e.target===`draft-04`?i.$schema=`http://json-schema.org/draft-04/schema#`:e.target,e.external?.uri){let n=e.external.registry.get(t)?.id;if(!n)throw Error("Schema is missing an `id` property");i.$id=e.external.uri(n)}Object.assign(i,n.def??n.schema);let a=e.metadataRegistry.get(t)?.id;a!==void 0&&i.id===a&&delete i.id;let o=e.external?.defs??{};for(let t of e.seen.entries()){let e=t[1];e.def&&e.defId&&(e.def.id===e.defId&&delete e.def.id,o[e.defId]=e.def)}e.external||Object.keys(o).length>0&&(e.target===`draft-2020-12`?i.$defs=o:i.definitions=o);try{let n=JSON.parse(JSON.stringify(i));return Object.defineProperty(n,"~standard",{value:{...t[`~standard`],jsonSchema:{input:bu(t,`input`,e.processors),output:bu(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function vu(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);let r=e._zod.def;if(r.type===`transform`)return!0;if(r.type===`array`)return vu(r.element,n);if(r.type===`set`)return vu(r.valueType,n);if(r.type===`lazy`)return vu(r.getter(),n);if(r.type===`promise`||r.type===`optional`||r.type===`nonoptional`||r.type===`nullable`||r.type===`readonly`||r.type===`default`||r.type===`prefault`)return vu(r.innerType,n);if(r.type===`intersection`)return vu(r.left,n)||vu(r.right,n);if(r.type===`record`||r.type===`map`)return vu(r.keyType,n)||vu(r.valueType,n);if(r.type===`pipe`)return e._zod.traits.has(`$ZodCodec`)?!0:vu(r.in,n)||vu(r.out,n);if(r.type===`object`){for(let e in r.shape)if(vu(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(vu(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(vu(e,n))return!0;return!!(r.rest&&vu(r.rest,n))}return!1}var yu=(e,t={})=>n=>{let r=mu({...n,processors:t});return hu(e,r),gu(r,e),_u(r,e)},bu=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=mu({...i??{},target:a,io:t,processors:n});return hu(e,o),gu(o,e),_u(o,e)},xu={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},Su=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l}=e._zod.bag;if(typeof a==`number`&&(i.minLength=a),typeof o==`number`&&(i.maxLength=o),s&&(i.format=xu[s]??s,i.format===``&&delete i.format,s===`time`&&delete i.format),l&&(i.contentEncoding=l),c&&c.size>0){let e=[...c];e.length===1?i.pattern=e[0].source:e.length>1&&(i.allOf=[...e.map(e=>({...t.target===`draft-07`||t.target===`draft-04`||t.target===`openapi-3.0`?{type:`string`}:{},pattern:e.source}))])}},Cu=(e,t,n,r)=>{let i=n,{minimum:a,maximum:o,format:s,multipleOf:c,exclusiveMaximum:l,exclusiveMinimum:u}=e._zod.bag;typeof s==`string`&&s.includes(`int`)?i.type=`integer`:i.type=`number`;let d=typeof u==`number`&&u>=(a??-1/0),f=typeof l==`number`&&l<=(o??1/0),p=t.target===`draft-04`||t.target===`openapi-3.0`;d?p?(i.minimum=u,i.exclusiveMinimum=!0):i.exclusiveMinimum=u:typeof a==`number`&&(i.minimum=a),f?p?(i.maximum=l,i.exclusiveMaximum=!0):i.exclusiveMaximum=l:typeof o==`number`&&(i.maximum=o),typeof c==`number`&&(i.multipleOf=c)},wu=(e,t,n,r)=>{n.type=`boolean`},Tu=(e,t,n,r)=>{t.target===`openapi-3.0`?(n.type=`string`,n.nullable=!0,n.enum=[null]):n.type=`null`},Eu=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Void cannot be represented in JSON Schema`)},Du=(e,t,n,r)=>{n.not={}},Ou=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Date cannot be represented in JSON Schema`)},ku=(e,t,n,r)=>{let i=e._zod.def,a=Ma(i.entries);a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},Au=(e,t,n,r)=>{let i=e._zod.def,a=[];for(let e of i.values)if(e===void 0){if(t.unrepresentable===`throw`)throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof e==`bigint`){if(t.unrepresentable===`throw`)throw Error(`BigInt literals cannot be represented in JSON Schema`);a.push(Number(e))}else a.push(e);if(a.length!==0)if(a.length===1){let e=a[0];n.type=e===null?`null`:typeof e,t.target===`draft-04`||t.target===`openapi-3.0`?n.enum=[e]:n.const=e}else a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),a.every(e=>typeof e==`boolean`)&&(n.type=`boolean`),a.every(e=>e===null)&&(n.type=`null`),n.enum=a},ju=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Custom types cannot be represented in JSON Schema`)},Mu=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Function types cannot be represented in JSON Schema`)},Nu=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Transforms cannot be represented in JSON Schema`)},Pu=(e,t,n,r)=>{let i=n,a=e._zod.def,{minimum:o,maximum:s}=e._zod.bag;typeof o==`number`&&(i.minItems=o),typeof s==`number`&&(i.maxItems=s),i.type=`array`,i.items=hu(a.element,t,{...r,path:[...r.path,`items`]})},Fu=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`,i.properties={};let o=a.shape;for(let e in o)i.properties[e]=hu(o[e],t,{...r,path:[...r.path,`properties`,e]});let s=new Set(Object.keys(o)),c=new Set([...s].filter(e=>{let n=a.shape[e]._zod;return t.io===`input`?n.optin===void 0:n.optout===void 0}));c.size>0&&(i.required=Array.from(c)),a.catchall?._zod.def.type===`never`?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=hu(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},Iu=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>hu(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},Lu=(e,t,n,r)=>{let i=e._zod.def,a=hu(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=hu(i.right,t,{...r,path:[...r.path,`allOf`,1]}),s=e=>`allOf`in e&&Object.keys(e).length===1;n.allOf=[...s(a)?a.allOf:[a],...s(o)?o.allOf:[o]]},Ru=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`array`;let o=t.target===`draft-2020-12`?`prefixItems`:`items`,s=t.target===`draft-2020-12`||t.target===`openapi-3.0`?`items`:`additionalItems`,c=a.items.map((e,n)=>hu(e,t,{...r,path:[...r.path,o,n]})),l=a.rest?hu(a.rest,t,{...r,path:[...r.path,s,...t.target===`openapi-3.0`?[a.items.length]:[]]}):null;t.target===`draft-2020-12`?(i.prefixItems=c,l&&(i.items=l)):t.target===`openapi-3.0`?(i.items={anyOf:c},l&&i.items.anyOf.push(l),i.minItems=c.length,l||(i.maxItems=c.length)):(i.items=c,l&&(i.additionalItems=l));let{minimum:u,maximum:d}=e._zod.bag;typeof u==`number`&&(i.minItems=u),typeof d==`number`&&(i.maxItems=d)},zu=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`;let o=a.keyType,s=o._zod.bag?.patterns;if(a.mode===`loose`&&s&&s.size>0){let e=hu(a.valueType,t,{...r,path:[...r.path,`patternProperties`,`*`]});i.patternProperties={};for(let t of s)i.patternProperties[t.source]=e}else (t.target===`draft-07`||t.target===`draft-2020-12`)&&(i.propertyNames=hu(a.keyType,t,{...r,path:[...r.path,`propertyNames`]})),i.additionalProperties=hu(a.valueType,t,{...r,path:[...r.path,`additionalProperties`]});let c=o._zod.values;if(c){let e=[...c].filter(e=>typeof e==`string`||typeof e==`number`);e.length>0&&(i.required=e)}},Bu=(e,t,n,r)=>{let i=e._zod.def,a=hu(i.innerType,t,r),o=t.seen.get(e);t.target===`openapi-3.0`?(o.ref=i.innerType,n.nullable=!0):n.anyOf=[a,{type:`null`}]},Vu=(e,t,n,r)=>{let i=e._zod.def;hu(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Hu=(e,t,n,r)=>{let i=e._zod.def;hu(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.default=JSON.parse(JSON.stringify(i.defaultValue))},Uu=(e,t,n,r)=>{let i=e._zod.def;hu(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,t.io===`input`&&(n._prefault=JSON.parse(JSON.stringify(i.defaultValue)))},Wu=(e,t,n,r)=>{let i=e._zod.def;hu(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{throw Error(`Dynamic catch values are not supported in JSON Schema`)}n.default=o},Gu=(e,t,n,r)=>{let i=e._zod.def,a=i.in._zod.traits.has(`$ZodTransform`),o=t.io===`input`?a?i.out:i.in:i.out;hu(o,t,r);let s=t.seen.get(e);s.ref=o},Ku=(e,t,n,r)=>{let i=e._zod.def;hu(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},qu=(e,t,n,r)=>{let i=e._zod.def;hu(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Ju=(e,t,n,r)=>{let i=e._zod.def;hu(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Yu=(e,t,n,r)=>{let i=e._zod.innerType;hu(i,t,r);let a=t.seen.get(e);a.ref=i},Xu=P(`ZodISODateTime`,(e,t)=>{qs.init(e,t),Sd.init(e,t)});function Zu(e){return Al(Xu,e)}var Qu=P(`ZodISODate`,(e,t)=>{Js.init(e,t),Sd.init(e,t)});function $u(e){return jl(Qu,e)}var ed=P(`ZodISOTime`,(e,t)=>{Ys.init(e,t),Sd.init(e,t)});function td(e){return Ml(ed,e)}var nd=P(`ZodISODuration`,(e,t)=>{Xs.init(e,t),Sd.init(e,t)});function rd(e){return Nl(nd,e)}var id=P(`ZodError`,(e,t)=>{go.init(e,t),e.name=`ZodError`,Object.defineProperties(e,{format:{value:t=>yo(e,t)},flatten:{value:t=>vo(e,t)},addIssue:{value:t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,Na,2)}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,Na,2)}},isEmpty:{get(){return e.issues.length===0}}})},{Parent:Error}),ad=bo(id),od=So(id),sd=wo(id),cd=Eo(id),ld=Oo(id),ud=ko(id),dd=Ao(id),fd=jo(id),pd=Mo(id),md=No(id),hd=Po(id),gd=Fo(id),_d=new WeakMap;function vd(e,t,n){let r=Object.getPrototypeOf(e),i=_d.get(r);if(i||(i=new Set,_d.set(r,i)),!i.has(t)){i.add(t);for(let e in n){let t=n[e];Object.defineProperty(r,e,{configurable:!0,enumerable:!1,get(){let n=t.bind(this);return Object.defineProperty(this,e,{configurable:!0,writable:!0,enumerable:!0,value:n}),n},set(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,enumerable:!0,value:t})}})}}}var yd=P(`ZodType`,(e,t)=>(Ns.init(e,t),Object.assign(e[`~standard`],{jsonSchema:{input:bu(e,`input`),output:bu(e,`output`)}}),e.toJSONSchema=yu(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.parse=(t,n)=>ad(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>sd(e,t,n),e.parseAsync=async(t,n)=>od(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>cd(e,t,n),e.spa=e.safeParseAsync,e.encode=(t,n)=>ld(e,t,n),e.decode=(t,n)=>ud(e,t,n),e.encodeAsync=async(t,n)=>dd(e,t,n),e.decodeAsync=async(t,n)=>fd(e,t,n),e.safeEncode=(t,n)=>pd(e,t,n),e.safeDecode=(t,n)=>md(e,t,n),e.safeEncodeAsync=async(t,n)=>hd(e,t,n),e.safeDecodeAsync=async(t,n)=>gd(e,t,n),vd(e,`ZodType`,{check(...e){let t=this.def;return this.clone(Va(t,{checks:[...t.checks??[],...e.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]}),{parent:!0})},with(...e){return this.check(...e)},clone(e,t){return Za(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(Wf(e,t))},superRefine(e,t){return this.check(Gf(e,t))},overwrite(e){return this.check(ru(e))},optional(){return yf(this)},exactOptional(){return xf(this)},nullable(){return Cf(this)},nullish(){return yf(Cf(this))},nonoptional(e){return kf(this,e)},array(){return B(this)},or(e){return H([this,e])},and(e){return uf(this,e)},transform(e){return Nf(this,_f(e))},default(e){return Tf(this,e)},prefault(e){return Df(this,e)},catch(e){return jf(this,e)},pipe(e){return Nf(this,e)},readonly(){return Ff(this)},describe(e){let t=this.clone();return ol.add(t,{description:e}),t},meta(...e){if(e.length===0)return ol.get(this);let t=this.clone();return ol.add(t,e[0]),t},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(e){return e(this)}}),Object.defineProperty(e,"description",{get(){return ol.get(e)?.description},configurable:!0}),e)),bd=P(`_ZodString`,(e,t)=>{Ps.init(e,t),yd.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Su(e,t,n,r);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,vd(e,`_ZodString`,{regex(...e){return this.check(Zl(...e))},includes(...e){return this.check(eu(...e))},startsWith(...e){return this.check(tu(...e))},endsWith(...e){return this.check(nu(...e))},min(...e){return this.check(Yl(...e))},max(...e){return this.check(Jl(...e))},length(...e){return this.check(Xl(...e))},nonempty(...e){return this.check(Yl(1,...e))},lowercase(e){return this.check(Ql(e))},uppercase(e){return this.check($l(e))},trim(){return this.check(au())},normalize(...e){return this.check(iu(...e))},toLowerCase(){return this.check(ou())},toUpperCase(){return this.check(su())},slugify(){return this.check(cu())}})}),xd=P(`ZodString`,(e,t)=>{Ps.init(e,t),bd.init(e,t),e.email=t=>e.check(cl(Cd,t)),e.url=t=>e.check(ml(Ed,t)),e.jwt=t=>e.check(kl(Vd,t)),e.emoji=t=>e.check(hl(Dd,t)),e.guid=t=>e.check(ll(wd,t)),e.uuid=t=>e.check(ul(Td,t)),e.uuidv4=t=>e.check(dl(Td,t)),e.uuidv6=t=>e.check(fl(Td,t)),e.uuidv7=t=>e.check(pl(Td,t)),e.nanoid=t=>e.check(gl(Od,t)),e.guid=t=>e.check(ll(wd,t)),e.cuid=t=>e.check(_l(kd,t)),e.cuid2=t=>e.check(vl(Ad,t)),e.ulid=t=>e.check(yl(jd,t)),e.base64=t=>e.check(El(Rd,t)),e.base64url=t=>e.check(Dl(zd,t)),e.xid=t=>e.check(bl(Md,t)),e.ksuid=t=>e.check(xl(Nd,t)),e.ipv4=t=>e.check(Sl(Pd,t)),e.ipv6=t=>e.check(Cl(Fd,t)),e.cidrv4=t=>e.check(wl(Id,t)),e.cidrv6=t=>e.check(Tl(Ld,t)),e.e164=t=>e.check(Ol(Bd,t)),e.datetime=t=>e.check(Zu(t)),e.date=t=>e.check($u(t)),e.time=t=>e.check(td(t)),e.duration=t=>e.check(rd(t))});function I(e){return sl(xd,e)}var Sd=P(`ZodStringFormat`,(e,t)=>{Fs.init(e,t),bd.init(e,t)}),Cd=P(`ZodEmail`,(e,t)=>{Rs.init(e,t),Sd.init(e,t)}),wd=P(`ZodGUID`,(e,t)=>{Is.init(e,t),Sd.init(e,t)}),Td=P(`ZodUUID`,(e,t)=>{Ls.init(e,t),Sd.init(e,t)}),Ed=P(`ZodURL`,(e,t)=>{zs.init(e,t),Sd.init(e,t)}),Dd=P(`ZodEmoji`,(e,t)=>{Bs.init(e,t),Sd.init(e,t)}),Od=P(`ZodNanoID`,(e,t)=>{Vs.init(e,t),Sd.init(e,t)}),kd=P(`ZodCUID`,(e,t)=>{Hs.init(e,t),Sd.init(e,t)}),Ad=P(`ZodCUID2`,(e,t)=>{Us.init(e,t),Sd.init(e,t)}),jd=P(`ZodULID`,(e,t)=>{Ws.init(e,t),Sd.init(e,t)}),Md=P(`ZodXID`,(e,t)=>{Gs.init(e,t),Sd.init(e,t)}),Nd=P(`ZodKSUID`,(e,t)=>{Ks.init(e,t),Sd.init(e,t)}),Pd=P(`ZodIPv4`,(e,t)=>{Zs.init(e,t),Sd.init(e,t)}),Fd=P(`ZodIPv6`,(e,t)=>{Qs.init(e,t),Sd.init(e,t)}),Id=P(`ZodCIDRv4`,(e,t)=>{$s.init(e,t),Sd.init(e,t)}),Ld=P(`ZodCIDRv6`,(e,t)=>{ec.init(e,t),Sd.init(e,t)}),Rd=P(`ZodBase64`,(e,t)=>{nc.init(e,t),Sd.init(e,t)}),zd=P(`ZodBase64URL`,(e,t)=>{ic.init(e,t),Sd.init(e,t)}),Bd=P(`ZodE164`,(e,t)=>{ac.init(e,t),Sd.init(e,t)}),Vd=P(`ZodJWT`,(e,t)=>{sc.init(e,t),Sd.init(e,t)}),Hd=P(`ZodNumber`,(e,t)=>{cc.init(e,t),yd.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Cu(e,t,n,r),vd(e,`ZodNumber`,{gt(e,t){return this.check(Gl(e,t))},gte(e,t){return this.check(Kl(e,t))},min(e,t){return this.check(Kl(e,t))},lt(e,t){return this.check(Ul(e,t))},lte(e,t){return this.check(Wl(e,t))},max(e,t){return this.check(Wl(e,t))},int(e){return this.check(Wd(e))},safe(e){return this.check(Wd(e))},positive(e){return this.check(Gl(0,e))},nonnegative(e){return this.check(Kl(0,e))},negative(e){return this.check(Ul(0,e))},nonpositive(e){return this.check(Wl(0,e))},multipleOf(e,t){return this.check(ql(e,t))},step(e,t){return this.check(ql(e,t))},finite(){return this}});let n=e._zod.bag;e.minValue=Math.max(n.minimum??-1/0,n.exclusiveMinimum??-1/0)??null,e.maxValue=Math.min(n.maximum??1/0,n.exclusiveMaximum??1/0)??null,e.isInt=(n.format??``).includes(`int`)||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function L(e){return Pl(Hd,e)}var Ud=P(`ZodNumberFormat`,(e,t)=>{lc.init(e,t),Hd.init(e,t)});function Wd(e){return Fl(Ud,e)}var Gd=P(`ZodBoolean`,(e,t)=>{uc.init(e,t),yd.init(e,t),e._zod.processJSONSchema=(t,n,r)=>wu(e,t,n,r)});function R(e){return Il(Gd,e)}var Kd=P(`ZodNull`,(e,t)=>{dc.init(e,t),yd.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Tu(e,t,n,r)});function qd(e){return Ll(Kd,e)}var Jd=P(`ZodAny`,(e,t)=>{fc.init(e,t),yd.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function Yd(){return Rl(Jd)}var Xd=P(`ZodUnknown`,(e,t)=>{pc.init(e,t),yd.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function z(){return zl(Xd)}var Zd=P(`ZodNever`,(e,t)=>{mc.init(e,t),yd.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Du(e,t,n,r)});function Qd(e){return Bl(Zd,e)}var $d=P(`ZodVoid`,(e,t)=>{hc.init(e,t),yd.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Eu(e,t,n,r)});function ef(e){return Vl($d,e)}var tf=P(`ZodDate`,(e,t)=>{gc.init(e,t),yd.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ou(e,t,n,r),e.min=(t,n)=>e.check(Kl(t,n)),e.max=(t,n)=>e.check(Wl(t,n));let n=e._zod.bag;e.minDate=n.minimum?new Date(n.minimum):null,e.maxDate=n.maximum?new Date(n.maximum):null});function nf(e){return Hl(tf,e)}var rf=P(`ZodArray`,(e,t)=>{vc.init(e,t),yd.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Pu(e,t,n,r),e.element=t.element,vd(e,`ZodArray`,{min(e,t){return this.check(Yl(e,t))},nonempty(e){return this.check(Yl(1,e))},max(e,t){return this.check(Jl(e,t))},length(e,t){return this.check(Xl(e,t))},unwrap(){return this.element}})});function B(e,t){return lu(rf,e,t)}var af=P(`ZodObject`,(e,t)=>{Cc.init(e,t),yd.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Fu(e,t,n,r),za(e,`shape`,()=>t.shape),vd(e,`ZodObject`,{keyof(){return W(Object.keys(this._zod.def.shape))},catchall(e){return this.clone({...this._zod.def,catchall:e})},passthrough(){return this.clone({...this._zod.def,catchall:z()})},loose(){return this.clone({...this._zod.def,catchall:z()})},strict(){return this.clone({...this._zod.def,catchall:Qd()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(e){return no(this,e)},safeExtend(e){return ro(this,e)},merge(e){return io(this,e)},pick(e){return eo(this,e)},omit(e){return to(this,e)},partial(...e){return ao(vf,this,e[0])},required(...e){return oo(Of,this,e[0])}})});function V(e,t){return new af({type:`object`,shape:e??{},...F(t)})}var of=P(`ZodUnion`,(e,t)=>{Tc.init(e,t),yd.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Iu(e,t,n,r),e.options=t.options});function H(e,t){return new of({type:`union`,options:e,...F(t)})}var sf=P(`ZodDiscriminatedUnion`,(e,t)=>{of.init(e,t),Ec.init(e,t)});function cf(e,t,n){return new sf({type:`union`,options:t,discriminator:e,...F(n)})}var lf=P(`ZodIntersection`,(e,t)=>{Dc.init(e,t),yd.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Lu(e,t,n,r)});function uf(e,t){return new lf({type:`intersection`,left:e,right:t})}var df=P(`ZodTuple`,(e,t)=>{Ac.init(e,t),yd.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ru(e,t,n,r),e.rest=t=>e.clone({...e._zod.def,rest:t})});function ff(e,t,n){let r=t instanceof Ns;return new df({type:`tuple`,items:e,rest:r?t:null,...F(r?n:t)})}var pf=P(`ZodRecord`,(e,t)=>{Pc.init(e,t),yd.init(e,t),e._zod.processJSONSchema=(t,n,r)=>zu(e,t,n,r),e.keyType=t.keyType,e.valueType=t.valueType});function U(e,t,n){return!t||!t._zod?new pf({type:`record`,keyType:I(),valueType:e,...F(t)}):new pf({type:`record`,keyType:e,valueType:t,...F(n)})}var mf=P(`ZodEnum`,(e,t)=>{Fc.init(e,t),yd.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ku(e,t,n,r),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{let i={};for(let r of e)if(n.has(r))i[r]=t.entries[r];else throw Error(`Key ${r} not found in enum`);return new mf({...t,checks:[],...F(r),entries:i})},e.exclude=(e,r)=>{let i={...t.entries};for(let t of e)if(n.has(t))delete i[t];else throw Error(`Key ${t} not found in enum`);return new mf({...t,checks:[],...F(r),entries:i})}});function W(e,t){return new mf({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...F(t)})}var hf=P(`ZodLiteral`,(e,t)=>{Ic.init(e,t),yd.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Au(e,t,n,r),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function G(e,t){return new hf({type:`literal`,values:Array.isArray(e)?e:[e],...F(t)})}var gf=P(`ZodTransform`,(e,t)=>{Lc.init(e,t),yd.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Nu(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new ka(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(mo(r,n.value,t));else{let t=r;t.fatal&&(t.continue=!1),t.code??=`custom`,t.input??=n.value,t.inst??=e,n.issues.push(mo(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n.fallback=!0,n)):(n.value=i,n.fallback=!0,n)}});function _f(e){return new gf({type:`transform`,transform:e})}var vf=P(`ZodOptional`,(e,t)=>{zc.init(e,t),yd.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ju(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function yf(e){return new vf({type:`optional`,innerType:e})}var bf=P(`ZodExactOptional`,(e,t)=>{Bc.init(e,t),yd.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ju(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function xf(e){return new bf({type:`optional`,innerType:e})}var Sf=P(`ZodNullable`,(e,t)=>{Vc.init(e,t),yd.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Bu(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Cf(e){return new Sf({type:`nullable`,innerType:e})}var wf=P(`ZodDefault`,(e,t)=>{Hc.init(e,t),yd.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Hu(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Tf(e,t){return new wf({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():Ja(t)}})}var Ef=P(`ZodPrefault`,(e,t)=>{Wc.init(e,t),yd.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Uu(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Df(e,t){return new Ef({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():Ja(t)}})}var Of=P(`ZodNonOptional`,(e,t)=>{Gc.init(e,t),yd.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Vu(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function kf(e,t){return new Of({type:`nonoptional`,innerType:e,...F(t)})}var Af=P(`ZodCatch`,(e,t)=>{qc.init(e,t),yd.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Wu(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function jf(e,t){return new Af({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:()=>t})}var Mf=P(`ZodPipe`,(e,t)=>{Jc.init(e,t),yd.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Gu(e,t,n,r),e.in=t.in,e.out=t.out});function Nf(e,t){return new Mf({type:`pipe`,in:e,out:t})}var Pf=P(`ZodReadonly`,(e,t)=>{Xc.init(e,t),yd.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ku(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Ff(e){return new Pf({type:`readonly`,innerType:e})}var If=P(`ZodLazy`,(e,t)=>{el.init(e,t),yd.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Yu(e,t,n,r),e.unwrap=()=>e._zod.def.getter()});function Lf(e){return new If({type:`lazy`,getter:e})}var Rf=P(`ZodPromise`,(e,t)=>{$c.init(e,t),yd.init(e,t),e._zod.processJSONSchema=(t,n,r)=>qu(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function zf(e){return new Rf({type:`promise`,innerType:e})}var Bf=P(`ZodFunction`,(e,t)=>{Qc.init(e,t),yd.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Mu(e,t,n,r)});function Vf(e){return new Bf({type:`function`,input:Array.isArray(e?.input)?ff(e?.input):e?.input??B(z()),output:e?.output??z()})}var Hf=P(`ZodCustom`,(e,t)=>{tl.init(e,t),yd.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ju(e,t,n,r)});function Uf(e,t){return uu(Hf,e??(()=>!0),t)}function Wf(e,t={}){return du(Hf,e,t)}function Gf(e,t){return fu(e,t)}var Kf=c(_(),1);function K(e){if(typeof process<`u`&&{}.OS_EAGER_SCHEMAS===`1`)return e();let t,n=()=>(t===void 0&&(t=e()),t);return new Proxy(function(){},{get(e,t){let r=n(),i=r[t];return typeof i==`function`?i.bind(r):i},set(e,t,r){let i=n();return i[t]=r,!0},has(e,t){return t in n()},ownKeys(){return Reflect.ownKeys(n())},getOwnPropertyDescriptor(e,t){return Reflect.getOwnPropertyDescriptor(n(),t)},getPrototypeOf(){return Reflect.getPrototypeOf(n())}})}var qf=K(()=>V({$field:I().describe(`Field Reference/Column Name`)}));K(()=>V({$eq:Yd().optional(),$ne:Yd().optional()})),K(()=>V({$gt:H([L(),nf(),qf]).optional(),$gte:H([L(),nf(),qf]).optional(),$lt:H([L(),nf(),qf]).optional(),$lte:H([L(),nf(),qf]).optional()})),K(()=>V({$in:B(Yd()).optional(),$nin:B(Yd()).optional()})),K(()=>V({$between:ff([H([L(),nf(),qf]),H([L(),nf(),qf])]).optional()})),K(()=>V({$contains:I().optional(),$notContains:I().optional(),$startsWith:I().optional(),$endsWith:I().optional()})),K(()=>V({$null:R().optional(),$exists:R().optional()}));var Jf=K(()=>V({$eq:Yd().optional(),$ne:Yd().optional(),$gt:H([L(),nf(),qf]).optional(),$gte:H([L(),nf(),qf]).optional(),$lt:H([L(),nf(),qf]).optional(),$lte:H([L(),nf(),qf]).optional(),$in:B(Yd()).optional(),$nin:B(Yd()).optional(),$between:ff([H([L(),nf(),qf]),H([L(),nf(),qf])]).optional(),$contains:I().optional(),$notContains:I().optional(),$startsWith:I().optional(),$endsWith:I().optional(),$null:R().optional(),$exists:R().optional()})),Yf=Lf(()=>U(I(),z()).and(V({$and:B(Yf).optional(),$or:B(Yf).optional(),$not:Yf.optional()})));K(()=>V({where:Yf.optional()}));var Xf=Lf(()=>V({$and:B(H([U(I(),Jf),Xf])).optional(),$or:B(H([U(I(),Jf),Xf])).optional(),$not:H([U(I(),Jf),Xf]).optional()})),Zf=new Set([`=`,`==`,`!=`,`<>`,`>`,`>=`,`<`,`<=`,`in`,`nin`,`not_in`,`contains`,`notcontains`,`not_contains`,`like`,`startswith`,`starts_with`,`endswith`,`ends_with`,`between`,`is_null`,`is_not_null`]);function Qf(e){if(!Array.isArray(e)||e.length===0)return!1;let t=e[0];if(typeof t==`string`){let n=t.toLowerCase();if(n===`and`||n===`or`)return e.length>=2&&e.slice(1).every(e=>Qf(e));if(e.length>=2&&typeof e[1]==`string`)return Zf.has(e[1].toLowerCase())}return e.every(e=>Qf(e))?e.length>0:!1}var $f=[`$eq`,`$ne`,`$gt`,`$gte`,`$lt`,`$lte`,`$in`,`$nin`,`$between`,`$contains`,`$notContains`,`$startsWith`,`$endsWith`,`$null`,`$exists`],ep=[`$and`,`$or`,`$not`];[...$f,...ep];var tp=K(()=>V({field:I(),order:W([`asc`,`desc`]).default(`asc`)})),np=W([`count`,`sum`,`avg`,`min`,`max`,`count_distinct`,`array_agg`,`string_agg`]),rp=W([`day`,`week`,`month`,`quarter`,`year`]),ip=K(()=>H([I(),V({field:I().describe(`Field to group by`),dateGranularity:rp.optional().describe(`Bucket date values into uniform periods (day/week/month/quarter/year)`),alias:I().optional().describe(`Alias for the projected group value`)})])),ap=K(()=>V({function:np.describe(`Aggregation function`),field:I().optional().describe(`Field to aggregate (optional for COUNT(*))`),alias:I().describe(`Result column alias`),distinct:R().optional().describe(`Apply DISTINCT before aggregation`),filter:Yf.optional().describe(`Filter/Condition to apply to the aggregation (FILTER WHERE clause)`)})),op=W([`inner`,`left`,`right`,`full`]),sp=W([`auto`,`database`,`hash`,`loop`]),cp=Lf(()=>V({type:op.describe(`Join type`),strategy:sp.optional().describe(`Execution strategy hint`),object:I().describe(`Object/table to join`),alias:I().optional().describe(`Table alias`),on:Yf.describe(`Join condition`),subquery:Lf(()=>hp).optional().describe(`Subquery instead of object`)})),lp=W([`row_number`,`rank`,`dense_rank`,`percent_rank`,`lag`,`lead`,`first_value`,`last_value`,`sum`,`avg`,`count`,`min`,`max`]),up=K(()=>V({partitionBy:B(I()).optional().describe(`PARTITION BY fields`),orderBy:B(tp).optional().describe(`ORDER BY specification`),frame:V({type:W([`rows`,`range`]).optional(),start:I().optional().describe(`Frame start (e.g., "UNBOUNDED PRECEDING", "1 PRECEDING")`),end:I().optional().describe(`Frame end (e.g., "CURRENT ROW", "1 FOLLOWING")`)}).optional().describe(`Window frame specification`)})),dp=K(()=>V({function:lp.describe(`Window function name`),field:I().optional().describe(`Field to operate on (for aggregate window functions)`),alias:I().describe(`Result column alias`),over:up.describe(`Window specification (OVER clause)`)})),fp=Lf(()=>H([I(),V({field:I(),fields:B(fp).optional(),alias:I().optional()})])),pp=K(()=>V({query:I().describe(`Search query text`),fields:B(I()).optional().describe(`Fields to search in (if not specified, searches all text fields)`),fuzzy:R().optional().default(!1).describe(`Enable fuzzy matching (tolerates typos)`),operator:W([`and`,`or`]).optional().default(`or`).describe(`Logical operator between terms`),boost:U(I(),L()).optional().describe(`Field-specific relevance boosting (field name -> boost factor)`),minScore:L().optional().describe(`Minimum relevance score threshold`),language:I().optional().describe(`Language for text analysis (e.g., "en", "zh", "es")`),highlight:R().optional().default(!1).describe(`Enable search result highlighting`)})),mp=V({object:I().describe(`Object name (e.g. account)`),fields:B(fp).optional().describe(`Fields to retrieve`),where:Yf.optional().describe(`Filtering criteria (WHERE)`),search:pp.optional().describe(`Full-text search configuration ($search parameter)`),orderBy:B(tp).optional().describe(`Sorting instructions (ORDER BY)`),limit:L().optional().describe(`Max records to return (LIMIT)`),offset:L().optional().describe(`Records to skip (OFFSET)`),top:L().optional().describe(`Alias for limit (OData compatibility)`),cursor:U(I(),z()).optional().describe(`Cursor for keyset pagination`),joins:B(cp).optional().describe(`Explicit Table Joins`),aggregations:B(ap).optional().describe(`Aggregation functions`),groupBy:B(ip).optional().describe("GROUP BY targets (strings or `{field, dateGranularity?}` objects for date bucketing)"),having:Yf.optional().describe(`HAVING clause for aggregation filtering`),windowFunctions:B(dp).optional().describe(`Window functions with OVER clause`),distinct:R().optional().describe(`SELECT DISTINCT flag`)}),hp=K(()=>mp.extend({expand:Lf(()=>U(I(),hp)).optional().describe(`Recursive relation loading map. Keys are lookup/master_detail field names; values are nested QueryAST objects that control select, filter, sort, and further expansion on the related object. The engine resolves expand via batch $in queries (driver-agnostic) with a default max depth of 3.`)})),gp=K(()=>I().min(2,{message:`System identifier must be at least 2 characters`}).regex(/^[a-z][a-z0-9_.]*$/,{message:`System identifier must be lowercase, starting with a letter, and may contain letters, numbers, underscores, or dots (e.g., "user_profile" or "order.created")`}).describe(`System identifier (lowercase with underscores or dots)`)),_p=K(()=>I().min(2,{message:`Identifier must be at least 2 characters`}).regex(/^[a-z][a-z0-9_]*$/,{message:`Identifier must be lowercase snake_case, starting with a letter, and may contain only letters, numbers, and underscores (e.g., "user_profile")`}).describe(`Snake case identifier (lowercase with underscores only)`));K(()=>I().min(3,{message:`Event name must be at least 3 characters`}).regex(/^[a-z][a-z0-9_.]*$/,{message:`Event name must be lowercase with dots for namespacing (e.g., "user.created", "order.paid")`}).describe(`Event name (lowercase with dot notation for namespacing)`));var vp=W([`cel`,`js`,`cron`,`template`]),yp=V({rationale:I().optional(),generatedBy:I().optional()}),bp=V({dialect:vp,source:I().min(1).optional(),ast:z().optional(),meta:yp.optional()}).refine(e=>e.source!==void 0||e.ast!==void 0,{message:"Expression requires at least one of `source` or `ast`"}),xp=H([I().min(1).transform(e=>({dialect:`cel`,source:e})),bp]);H([I().min(1).transform(e=>({dialect:`cron`,source:e})),bp]);var Sp=H([I().min(1).transform(e=>({dialect:`template`,source:e})),bp]),Cp=K(()=>W([`aes-256-gcm`,`aes-256-cbc`,`chacha20-poly1305`]).describe(`Supported encryption algorithm`)),wp=K(()=>W([`local`,`aws-kms`,`azure-key-vault`,`gcp-kms`,`hashicorp-vault`]).describe(`Key management service provider`)),Tp=K(()=>V({enabled:R().default(!1).describe(`Enable automatic key rotation`),frequencyDays:L().min(1).default(90).describe(`Rotation frequency in days`),retainOldVersions:L().default(3).describe(`Number of old key versions to retain`),autoRotate:R().default(!0).describe(`Automatically rotate without manual approval`)}).describe(`Policy for automatic encryption key rotation`)),Ep=K(()=>V({enabled:R().default(!1).describe(`Enable field-level encryption`),algorithm:Cp.default(`aes-256-gcm`).describe(`Encryption algorithm`),keyManagement:V({provider:wp.describe(`Key management service provider`),keyId:I().optional().describe(`Key identifier in the provider`),rotationPolicy:Tp.optional().describe(`Key rotation policy`)}).describe(`Key management configuration`),scope:W([`field`,`record`,`table`,`database`]).describe(`Encryption scope level`),deterministicEncryption:R().default(!1).describe(`Allows equality queries on encrypted data`),searchableEncryption:R().default(!1).describe(`Allows search on encrypted data`)}).describe(`Field-level encryption configuration`));K(()=>V({fieldName:I().describe(`Name of the field to encrypt`),encryptionConfig:Ep.describe(`Encryption settings for this field`),indexable:R().default(!1).describe(`Allow indexing on encrypted field`)}).describe(`Per-field encryption assignment`));var Dp=K(()=>W([`redact`,`partial`,`hash`,`tokenize`,`randomize`,`nullify`,`substitute`]).describe(`Data masking strategy for PII protection`)),Op=K(()=>V({field:I().describe(`Field name to apply masking to`),strategy:Dp.describe(`Masking strategy to use`),pattern:I().optional().describe(`Regex pattern for partial masking`),preserveFormat:R().default(!0).describe(`Keep the original data format after masking`),preserveLength:R().default(!0).describe(`Keep the original data length after masking`),roles:B(I()).optional().describe(`Roles that see masked data`),exemptRoles:B(I()).optional().describe(`Roles that see unmasked data`)}).describe(`Masking rule for a single field`));K(()=>V({enabled:R().default(!1).describe(`Enable data masking`),rules:B(Op).describe(`List of field-level masking rules`),auditUnmasking:R().default(!0).describe(`Log when masked data is accessed unmasked`)}).describe(`Top-level data masking configuration for PII protection`));var kp=W(`text.textarea.email.url.phone.password.markdown.html.richtext.number.currency.percent.date.datetime.time.boolean.toggle.select.multiselect.radio.checkboxes.lookup.master_detail.tree.image.file.avatar.video.audio.formula.summary.autonumber.location.address.code.json.color.rating.slider.signature.qrcode.progress.tags.vector`.split(`.`)),Ap=K(()=>V({label:I().describe(`Display label (human-readable, any case allowed)`),value:gp.describe(`Stored value (lowercase machine identifier)`),color:I().optional().describe(`Color code for badges/charts`),default:R().optional().describe(`Is default option`)}));K(()=>V({latitude:L().min(-90).max(90).describe(`Latitude coordinate`),longitude:L().min(-180).max(180).describe(`Longitude coordinate`),altitude:L().optional().describe(`Altitude in meters`),accuracy:L().optional().describe(`Accuracy in meters`)}));var jp=K(()=>V({precision:L().int().min(0).max(10).default(2).describe(`Decimal precision (default: 2)`),currencyMode:W([`dynamic`,`fixed`]).default(`dynamic`).describe(`Currency mode: dynamic (user selectable) or fixed (single currency)`),defaultCurrency:I().length(3).default(`CNY`).describe(`Default or fixed currency code (ISO 4217, e.g., USD, CNY, EUR)`)}));K(()=>V({value:L().describe(`Monetary amount`),currency:I().length(3).describe(`Currency code (ISO 4217)`)})),K(()=>V({street:I().optional().describe(`Street address`),city:I().optional().describe(`City name`),state:I().optional().describe(`State/Province`),postalCode:I().optional().describe(`Postal/ZIP code`),country:I().optional().describe(`Country name or code`),countryCode:I().optional().describe(`ISO country code (e.g., US, GB)`),formatted:I().optional().describe(`Formatted address string`)}));var Mp=K(()=>V({dimensions:L().int().min(1).max(1e4).describe(`Vector dimensionality (e.g., 1536 for OpenAI embeddings)`),distanceMetric:W([`cosine`,`euclidean`,`dotProduct`,`manhattan`]).default(`cosine`).describe(`Distance/similarity metric for vector search`),normalized:R().default(!1).describe(`Whether vectors are normalized (unit length)`),indexed:R().default(!0).describe(`Whether to create a vector index for fast similarity search`),indexType:W([`hnsw`,`ivfflat`,`flat`]).optional().describe(`Vector index algorithm (HNSW for high accuracy, IVFFlat for large datasets)`)})),Np=K(()=>V({minSize:L().min(0).optional().describe(`Minimum file size in bytes`),maxSize:L().min(1).optional().describe(`Maximum file size in bytes (e.g., 10485760 = 10MB)`),allowedTypes:B(I()).optional().describe(`Allowed file extensions (e.g., [".pdf", ".docx", ".jpg"])`),blockedTypes:B(I()).optional().describe(`Blocked file extensions (e.g., [".exe", ".bat", ".sh"])`),allowedMimeTypes:B(I()).optional().describe(`Allowed MIME types (e.g., ["image/jpeg", "application/pdf"])`),blockedMimeTypes:B(I()).optional().describe(`Blocked MIME types`),virusScan:R().default(!1).describe(`Enable virus scanning for uploaded files`),virusScanProvider:W([`clamav`,`virustotal`,`metadefender`,`custom`]).optional().describe(`Virus scanning service provider`),virusScanOnUpload:R().default(!0).describe(`Scan files immediately on upload`),quarantineOnThreat:R().default(!0).describe(`Quarantine files if threat detected`),storageProvider:I().optional().describe(`Object storage provider name (references ObjectStorageConfig)`),storageBucket:I().optional().describe(`Target bucket name`),storagePrefix:I().optional().describe(`Storage path prefix (e.g., "uploads/documents/")`),imageValidation:V({minWidth:L().min(1).optional().describe(`Minimum image width in pixels`),maxWidth:L().min(1).optional().describe(`Maximum image width in pixels`),minHeight:L().min(1).optional().describe(`Minimum image height in pixels`),maxHeight:L().min(1).optional().describe(`Maximum image height in pixels`),aspectRatio:I().optional().describe(`Required aspect ratio (e.g., "16:9", "1:1")`),generateThumbnails:R().default(!1).describe(`Auto-generate thumbnails`),thumbnailSizes:B(V({name:I().describe(`Thumbnail variant name (e.g., "small", "medium", "large")`),width:L().min(1).describe(`Thumbnail width in pixels`),height:L().min(1).describe(`Thumbnail height in pixels`),crop:R().default(!1).describe(`Crop to exact dimensions`)})).optional().describe(`Thumbnail size configurations`),preserveMetadata:R().default(!1).describe(`Preserve EXIF metadata`),autoRotate:R().default(!0).describe(`Auto-rotate based on EXIF orientation`)}).optional().describe(`Image-specific validation rules`),allowMultiple:R().default(!1).describe(`Allow multiple file uploads (overrides field.multiple)`),allowReplace:R().default(!0).describe(`Allow replacing existing files`),allowDelete:R().default(!0).describe(`Allow deleting uploaded files`),requireUpload:R().default(!1).describe(`Require at least one file when field is required`),extractMetadata:R().default(!0).describe(`Extract file metadata (name, size, type, etc.)`),extractText:R().default(!1).describe(`Extract text content from documents (OCR/parsing)`),versioningEnabled:R().default(!1).describe(`Keep previous versions of replaced files`),maxVersions:L().min(1).optional().describe(`Maximum number of versions to retain`),publicRead:R().default(!1).describe(`Allow public read access to uploaded files`),presignedUrlExpiry:L().min(60).max(604800).default(3600).describe(`Presigned URL expiration in seconds (default: 1 hour)`)}).refine(e=>!(e.minSize!==void 0&&e.maxSize!==void 0&&e.minSize>e.maxSize),{message:`minSize must be less than or equal to maxSize`}).refine(e=>!(e.virusScanProvider!==void 0&&e.virusScan!==!0),{message:`virusScanProvider requires virusScan to be enabled`})),Pp=K(()=>V({uniqueness:R().default(!1).describe(`Enforce unique values across all records`),completeness:L().min(0).max(1).default(0).describe(`Minimum ratio of non-null values (0-1, default: 0 = no requirement)`),accuracy:V({source:I().describe(`Reference data source for validation (e.g., "api.verify.com", "master_data")`),threshold:L().min(0).max(1).describe(`Minimum accuracy threshold (0-1, e.g., 0.95 = 95% match required)`)}).optional().describe(`Accuracy validation configuration`)})),Fp=K(()=>V({enabled:R().describe(`Enable caching for computed field results`),ttl:L().min(0).describe(`Cache TTL in seconds (0 = no expiration)`),invalidateOn:B(I()).describe(`Field paths that invalidate cache (e.g., ["inventory.quantity", "pricing.base_price"])`)})),Ip=K(()=>V({name:I().regex(/^[a-z_][a-z0-9_]*$/).describe(`Machine name (snake_case)`).optional(),label:I().optional().describe(`Human readable label`),type:kp.describe(`Field Data Type`),description:I().optional().describe(`Tooltip/Help text`),format:I().optional().describe(`Format string (e.g. email, phone)`),columnName:I().optional().describe(`Physical column name in the target datasource. Defaults to the field key when not set.`),required:R().default(!1).describe(`Is required`),searchable:R().default(!1).describe(`Is searchable`),multiple:R().default(!1).describe(`Allow multiple values (Stores as Array/JSON). Applicable for select, lookup, file, image.`),unique:R().default(!1).describe(`Is unique constraint`),defaultValue:z().optional().describe(`Default value`),maxLength:L().optional().describe(`Max character length`),minLength:L().optional().describe(`Min character length`),precision:L().optional().describe(`Total digits`),scale:L().optional().describe(`Decimal places`),min:L().optional().describe(`Minimum value`),max:L().optional().describe(`Maximum value`),options:B(Ap).optional().describe(`Static options for select/multiselect`),reference:I().optional().describe(`Target object name (snake_case) for lookup/master_detail fields. Required for relationship types. Used by $expand to resolve foreign key IDs into full objects.`),referenceFilters:B(I()).optional().describe(`Filters applied to lookup dialogs (e.g. "active = true")`),writeRequiresMasterRead:R().optional().describe(`If true, user needs read access to master record to edit this field`),deleteBehavior:W([`set_null`,`cascade`,`restrict`]).optional().default(`set_null`).describe(`What happens if referenced record is deleted`),expression:xp.optional().describe("Formula expression (CEL). e.g. F`record.amount * 0.1`"),summaryOperations:V({object:I().describe(`Source child object name for roll-up`),field:I().describe(`Field on child object to aggregate`),function:W([`count`,`sum`,`min`,`max`,`avg`]).describe(`Aggregation function to apply`)}).optional().describe(`Roll-up summary definition`),language:I().optional().describe(`Programming language for syntax highlighting (e.g., javascript, python, sql)`),theme:I().optional().describe(`Code editor theme (e.g., dark, light, monokai)`),lineNumbers:R().optional().describe(`Show line numbers in code editor`),maxRating:L().optional().describe(`Maximum rating value (default: 5)`),allowHalf:R().optional().describe(`Allow half-star ratings`),displayMap:R().optional().describe(`Display map widget for location field`),allowGeocoding:R().optional().describe(`Allow address-to-coordinate conversion`),addressFormat:W([`us`,`uk`,`international`]).optional().describe(`Address format template`),colorFormat:W([`hex`,`rgb`,`rgba`,`hsl`]).optional().describe(`Color value format`),allowAlpha:R().optional().describe(`Allow transparency/alpha channel`),presetColors:B(I()).optional().describe(`Preset color options`),step:L().optional().describe(`Step increment for slider (default: 1)`),showValue:R().optional().describe(`Display current value on slider`),marks:U(I(),I()).optional().describe(`Custom marks/labels at specific values (e.g., {0: "Low", 50: "Medium", 100: "High"})`),barcodeFormat:W([`qr`,`ean13`,`ean8`,`code128`,`code39`,`upca`,`upce`]).optional().describe(`Barcode format type`),qrErrorCorrection:W([`L`,`M`,`Q`,`H`]).optional().describe(`QR code error correction level (L=7%, M=15%, Q=25%, H=30%). Only applicable when barcodeFormat is "qr"`),displayValue:R().optional().describe(`Display human-readable value below barcode/QR code`),allowScanning:R().optional().describe(`Enable camera scanning for barcode/QR code input`),currencyConfig:jp.optional().describe(`Configuration for currency field type`),vectorConfig:Mp.optional().describe(`Configuration for vector field type (AI/ML embeddings)`),fileAttachmentConfig:Np.optional().describe(`Configuration for file and attachment field types`),encryptionConfig:Ep.optional().describe(`Field-level encryption configuration for sensitive data (GDPR/HIPAA/PCI-DSS)`),maskingRule:Op.optional().describe(`Data masking rules for PII protection`),auditTrail:R().default(!1).describe(`Enable detailed audit trail for this field (tracks all changes with user and timestamp)`),dependencies:B(I()).optional().describe(`Array of field names that this field depends on (for formulas, visibility rules, etc.)`),cached:Fp.optional().describe(`Caching configuration for computed/formula fields`),dataQuality:Pp.optional().describe(`Data quality validation and monitoring rules`),group:I().optional().describe(`Field group name for organizing fields in forms and layouts (e.g., "contact_info", "billing", "system")`),conditionalRequired:xp.optional().describe("Predicate (CEL) — field is required when TRUE. e.g. P`record.status == 'closed_won'`"),hidden:R().default(!1).describe(`Hidden from default UI`),readonly:R().default(!1).describe(`Read-only in UI`),system:R().optional().describe(`Auto-injected system/audit field (e.g. created_at, updated_by, organization_id). Tools that surface system fields separately from author-declared business fields should branch on this flag.`),sortable:R().optional().default(!0).describe(`Whether field is sortable in list views`),inlineHelpText:I().optional().describe(`Help text displayed below the field in forms`),trackFeedHistory:R().optional().describe(`Track field changes in Chatter/activity feed (Salesforce pattern)`),caseSensitive:R().optional().describe(`Whether text comparisons are case-sensitive`),autonumberFormat:I().optional().describe(`Auto-number display format pattern (e.g., "CASE-{0000}")`),index:R().default(!1).describe(`Create standard database index`),externalId:R().default(!1).describe(`Is external ID for upsert operations`)})),Lp=V({name:I().regex(/^[a-z_][a-z0-9_]*$/).describe(`Unique rule name (snake_case)`),label:I().optional().describe(`Human-readable label for the rule listing`),description:I().optional().describe(`Administrative notes explaining the business reason`),active:R().default(!0),events:B(W([`insert`,`update`,`delete`])).default([`insert`,`update`]).describe(`Validation contexts`),priority:L().int().min(0).max(9999).default(100).describe(`Execution priority (lower runs first, default: 100)`),tags:B(I()).optional().describe(`Categorization tags (e.g., "compliance", "billing")`),severity:W([`error`,`warning`,`info`]).default(`error`),message:I().describe(`Error message to display to the user`)}),Rp=K(()=>Lp.extend({type:G(`script`),condition:xp.describe("Predicate (CEL). If TRUE, validation fails. e.g. P`record.amount < 0`")})),zp=K(()=>Lp.extend({type:G(`unique`),fields:B(I()).describe(`Fields that must be combined unique`),scope:xp.optional().describe("Predicate (CEL) limiting uniqueness scope. e.g. P`record.active == true`"),caseSensitive:R().default(!0)})),Bp=K(()=>Lp.extend({type:G(`state_machine`),field:I().describe(`State field (e.g. status)`),transitions:U(I(),B(I())).describe(`Map of { OldState: [AllowedNewStates] }`)})),Vp=K(()=>Lp.extend({type:G(`format`),field:I(),regex:I().optional(),format:W([`email`,`url`,`phone`,`json`]).optional()})),Hp=K(()=>Lp.extend({type:G(`cross_field`),condition:xp.describe("Predicate (CEL) comparing fields. e.g. P`record.end_date > record.start_date`"),fields:B(I()).describe(`Fields involved in the validation`)})),Up=K(()=>Lp.extend({type:G(`json_schema`),field:I().describe(`JSON field to validate`),schema:U(I(),z()).describe(`JSON Schema object definition`)})),Wp=K(()=>Lp.extend({type:G(`async`),field:I().describe(`Field to validate`),validatorUrl:I().optional().describe(`External API endpoint for validation`),method:W([`GET`,`POST`]).default(`GET`).describe(`HTTP method for external call`),headers:U(I(),I()).optional().describe(`Custom headers for the request`),validatorFunction:I().optional().describe(`Reference to custom validator function`),timeout:L().optional().default(5e3).describe(`Timeout in milliseconds`),debounce:L().optional().describe(`Debounce delay in milliseconds`),params:U(I(),z()).optional().describe(`Additional parameters to pass to validator`)})),Gp=K(()=>Lp.extend({type:G(`custom`),handler:I().describe(`Name of the custom validation function registered in the system`),params:U(I(),z()).optional().describe(`Parameters passed to the custom handler`)})),Kp=Lf(()=>cf(`type`,[Rp,zp,Bp,Vp,Hp,Up,Wp,Gp,qp])),qp=K(()=>Lp.extend({type:G(`conditional`),when:xp.describe("Predicate (CEL). e.g. P`record.type == 'enterprise'`"),then:Kp.describe(`Validation rule to apply when condition is true`),otherwise:Kp.optional().describe(`Validation rule to apply when condition is false`)})),Jp=K(()=>H([I().describe(`Action Name`),V({type:I(),params:U(I(),z()).optional()})])),Yp=K(()=>H([I().describe(`Guard Name (e.g., "isManager", "amountGT1000")`),V({type:I(),params:U(I(),z()).optional()})])),Xp=K(()=>V({target:I().optional().describe(`Target State ID`),cond:Yp.optional().describe(`Condition (Guard) required to take this path`),actions:B(Jp).optional().describe(`Actions to execute during transition`),description:I().optional().describe(`Human readable description of this rule`)}));K(()=>V({type:I().describe(`Event Type (e.g. "APPROVE", "REJECT", "Submit")`),schema:U(I(),z()).optional().describe(`Expected event payload structure`)}));var Zp=Lf(()=>V({type:W([`atomic`,`compound`,`parallel`,`final`,`history`]).default(`atomic`),entry:B(Jp).optional().describe(`Actions to run when entering this state`),exit:B(Jp).optional().describe(`Actions to run when leaving this state`),on:U(I(),H([I(),Xp,B(Xp)])).optional().describe(`Map of Event Type -> Transition Definition`),always:B(Xp).optional(),initial:I().optional().describe(`Initial child state (if compound)`),states:U(I(),Zp).optional(),meta:V({label:I().optional(),description:I().optional(),color:I().optional(),aiInstructions:I().optional().describe(`Specific instructions for AI when in this state`)}).optional()})),Qp=K(()=>V({id:_p.describe(`Unique Machine ID`),description:I().optional(),contextSchema:U(I(),z()).optional().describe(`Zod Schema for the machine context/memory`),initial:I().describe(`Initial State ID`),states:U(I(),Zp).describe(`State Nodes`),on:U(I(),H([I(),Xp,B(Xp)])).optional()}));K(()=>V({key:I().describe(`Translation key (e.g., "views.task_list.label")`),defaultValue:I().optional().describe(`Fallback value when translation key is not found`),params:U(I(),H([I(),L(),R()])).optional().describe(`Interpolation parameters (e.g., { count: 5 })`)}));var $p=K(()=>I().describe(`Display label (plain string; i18n keys are auto-generated by the framework)`)),em=K(()=>V({ariaLabel:$p.optional().describe(`Accessible label for screen readers (WAI-ARIA aria-label)`),ariaDescribedBy:I().optional().describe(`ID of element providing additional description (WAI-ARIA aria-describedby)`),role:I().optional().describe(`WAI-ARIA role attribute (e.g., "dialog", "navigation", "alert")`)}).describe(`ARIA accessibility attributes`));K(()=>V({key:I().describe(`Translation key`),zero:I().optional().describe(`Zero form (e.g., "No items")`),one:I().optional().describe(`Singular form (e.g., "{count} item")`),two:I().optional().describe(`Dual form (e.g., "{count} items" for exactly 2)`),few:I().optional().describe(`Few form (e.g., for 2-4 in some languages)`),many:I().optional().describe(`Many form (e.g., for 5+ in some languages)`),other:I().describe(`Default plural form (e.g., "{count} items")`)}).describe(`ICU plural rules for a translation key`));var tm=K(()=>V({style:W([`decimal`,`currency`,`percent`,`unit`]).default(`decimal`).describe(`Number formatting style`),currency:I().optional().describe(`ISO 4217 currency code (e.g., "USD", "EUR")`),unit:I().optional().describe(`Unit for unit formatting (e.g., "kilometer", "liter")`),minimumFractionDigits:L().optional().describe(`Minimum number of fraction digits`),maximumFractionDigits:L().optional().describe(`Maximum number of fraction digits`),useGrouping:R().optional().describe(`Whether to use grouping separators (e.g., 1,000)`)}).describe(`Number formatting rules`)),nm=K(()=>V({dateStyle:W([`full`,`long`,`medium`,`short`]).optional().describe(`Date display style`),timeStyle:W([`full`,`long`,`medium`,`short`]).optional().describe(`Time display style`),timeZone:I().optional().describe(`IANA time zone (e.g., "America/New_York")`),hour12:R().optional().describe(`Use 12-hour format`)}).describe(`Date/time formatting rules`));K(()=>V({code:I().describe(`BCP 47 language code (e.g., "en-US", "zh-CN")`),fallbackChain:B(I()).optional().describe(`Fallback language codes in priority order (e.g., ["zh-TW", "en"])`),direction:W([`ltr`,`rtl`]).default(`ltr`).describe(`Text direction: left-to-right or right-to-left`),numberFormat:tm.optional().describe(`Default number formatting rules`),dateFormat:nm.optional().describe(`Default date/time formatting rules`)}).describe(`Locale configuration`));var rm=W([`api.read`,`api.write`,`crypto.uuid`,`crypto.hash`,`log`]),im=cf(`language`,[V({language:G(`expression`),source:I().min(1).describe(`Formula expression source`)}).describe(`L1 expression body — pure formula, no IO`),V({language:G(`js`),source:I().min(1).describe(`Function body source`),capabilities:B(rm).default([]).describe(`Granted capability tokens`),timeoutMs:L().int().positive().max(3e4).optional().describe(`Per-invocation timeout (ms)`),memoryMb:L().int().positive().max(256).optional().describe(`Per-invocation memory cap (MB)`)}).describe(`L2 sandboxed JS body — runs inside an isolated VM with declared capabilities`)]).describe(`Hook/Action body — expression (L1) or sandboxed JS (L2)`),am=K(()=>V({name:I().optional(),field:_p.optional(),objectOverride:_p.optional(),label:$p.optional(),type:kp.optional(),required:R().optional().default(!1),options:B(V({label:$p,value:I()})).optional(),placeholder:I().optional(),helpText:I().optional(),defaultValue:z().optional(),defaultFromRow:R().optional()}).refine(e=>!!e.name||!!e.field,{message:`ActionParam requires either "name" or "field"`})),om=W([`script`,`url`,`modal`,`flow`,`api`,`form`]),sm=new Set(om.options.filter(e=>e!==`script`)),cm=K(()=>V({name:_p.describe(`Machine name (lowercase snake_case)`),label:$p.describe(`Display label`),objectName:I().regex(/^[a-z_][a-z0-9_]*$/).optional().describe(`Target object this action belongs to. When set, the action is auto-merged into the object's actions array by defineStack().`),icon:I().optional().describe(`Icon name`),locations:B(W([`list_toolbar`,`list_item`,`record_header`,`record_more`,`record_related`,`global_nav`])).optional().describe(`Locations where this action is visible`),component:W([`action:button`,`action:icon`,`action:menu`,`action:group`]).optional().describe(`Visual component override`),type:om.default(`script`).describe(`Action functionality type`),target:I().optional().describe(`URL, Script Name, Flow ID, or API Endpoint`),body:im.optional().describe("Action body — expression (L1) or sandboxed JS (L2). Only used when type is `script`."),execute:I().optional().describe(`@deprecated — Use target instead. Auto-migrated to target during parsing.`),params:B(am).optional().describe(`Input parameters required from user`),variant:W([`primary`,`secondary`,`danger`,`ghost`,`link`]).optional().describe(`Button visual variant for styling (primary = highlighted, danger = destructive, ghost = transparent)`),confirmText:$p.optional().describe(`Confirmation message before execution`),successMessage:$p.optional().describe(`Success message to show after execution`),refreshAfter:R().default(!1).describe(`Refresh view after execution`),visible:xp.optional().describe(`Visibility predicate (CEL).`),disabled:H([R(),xp]).optional().describe(`Boolean or predicate (CEL) — action is disabled when TRUE.`),shortcut:I().optional().describe(`Keyboard shortcut to trigger this action (e.g., "Ctrl+S")`),bulkEnabled:R().optional().describe(`Whether this action can be applied to multiple selected records`),recordIdParam:I().optional().describe(`Body key to inject the row id into when running from a list_item context.`),recordIdField:I().optional().describe(`Row field whose value seeds recordIdParam. Defaults to "id".`),bodyShape:H([G(`flat`),V({wrap:I()})]).optional().describe(`Body wrapping: flat (default) or { wrap: key } to nest user-collected params under a key.`),method:W([`POST`,`PATCH`,`PUT`,`DELETE`]).optional().describe(`HTTP method for type:"api" actions. Defaults to POST.`),bodyExtra:U(I(),z()).optional().describe(`Constant body fields merged into the API request (applied last; overrides user params).`),mode:W([`create`,`edit`,`delete`,`custom`]).optional().describe(`Semantic mode of the action.`),timeout:L().optional().describe(`Maximum execution time in milliseconds for the action`),aria:em.optional().describe(`ARIA accessibility attributes`)}).transform(e=>e.execute&&!e.target?{...e,target:e.execute}:e).refine(e=>!(sm.has(e.type)&&!e.target),{message:`Action 'target' is required when type is 'url', 'flow', 'modal', 'api', or 'form'.`,path:[`target`]})),lm=K(()=>V({enabled:R().default(!1).describe(`Enable public sharing`),publicLink:I().optional().describe(`Generated public share URL`),password:I().optional().describe(`Password required to access shared link`),allowedDomains:B(I()).optional().describe(`Restrict access to specific email domains (e.g. ["example.com"])`),expiresAt:I().optional().describe(`Expiration date/time in ISO 8601 format`),allowAnonymous:R().optional().default(!1).describe(`Allow access without authentication`)}));K(()=>V({enabled:R().default(!1).describe(`Enable iframe embedding`),allowedOrigins:B(I()).optional().describe(`Allowed iframe parent origins (e.g. ["https://example.com"])`),width:I().optional().default(`100%`).describe(`Embed width (CSS value)`),height:I().optional().default(`600px`).describe(`Embed height (CSS value)`),showHeader:R().optional().default(!0).describe(`Show interface header in embed`),showNavigation:R().optional().default(!1).describe(`Show navigation in embed`),responsive:R().optional().default(!0).describe(`Enable responsive resizing`)}));var um=W([`xs`,`sm`,`md`,`lg`,`xl`,`2xl`]),dm=K(()=>V({xs:L().min(1).max(12).optional(),sm:L().min(1).max(12).optional(),md:L().min(1).max(12).optional(),lg:L().min(1).max(12).optional(),xl:L().min(1).max(12).optional(),"2xl":L().min(1).max(12).optional()}).describe(`Grid columns per breakpoint (1-12)`)),fm=K(()=>V({xs:L().optional(),sm:L().optional(),md:L().optional(),lg:L().optional(),xl:L().optional(),"2xl":L().optional()}).describe(`Display order per breakpoint`)),pm=K(()=>V({breakpoint:um.optional().describe(`Minimum breakpoint for visibility`),hiddenOn:B(um).optional().describe(`Hide on these breakpoints`),columns:dm.optional().describe(`Grid columns per breakpoint`),order:fm.optional().describe(`Display order per breakpoint`)}).describe(`Responsive layout configuration`)),mm=K(()=>V({lazyLoad:R().optional().describe(`Enable lazy loading (defer rendering until visible)`),virtualScroll:V({enabled:R().default(!1).describe(`Enable virtual scrolling`),itemHeight:L().optional().describe(`Fixed item height in pixels (for estimation)`),overscan:L().optional().describe(`Number of extra items to render outside viewport`)}).optional().describe(`Virtual scrolling configuration`),cacheStrategy:W([`none`,`cache-first`,`network-first`,`stale-while-revalidate`]).optional().describe(`Client-side data caching strategy`),prefetch:R().optional().describe(`Prefetch data before component is visible`),pageSize:L().optional().describe(`Number of items per page for pagination`),debounceMs:L().optional().describe(`Debounce interval for user interactions in milliseconds`)}).describe(`Performance optimization configuration`)),hm=W([`GET`,`POST`,`PUT`,`DELETE`,`PATCH`,`HEAD`,`OPTIONS`]),gm=K(()=>W([`GET`,`POST`,`PUT`,`PATCH`,`DELETE`])),_m=K(()=>V({url:I().describe(`API endpoint URL`),method:gm.optional().default(`GET`).describe(`HTTP method`),headers:U(I(),I()).optional().describe(`Custom HTTP headers`),params:U(I(),z()).optional().describe(`Query parameters`),body:z().optional().describe(`Request body for POST/PUT/PATCH`)}));K(()=>V({enabled:R().default(!0).describe(`Enable CORS`),origins:H([I(),B(I())]).default(`*`).describe(`Allowed origins (* for all)`),methods:B(hm).optional().describe(`Allowed HTTP methods`),credentials:R().default(!1).describe(`Allow credentials (cookies, authorization headers)`),maxAge:L().int().optional().describe(`Preflight cache duration in seconds`)})),K(()=>V({enabled:R().default(!1).describe(`Enable rate limiting`),windowMs:L().int().default(6e4).describe(`Time window in milliseconds`),maxRequests:L().int().default(100).describe(`Max requests per window`)})),K(()=>V({path:I().describe(`URL path to serve from`),directory:I().describe(`Physical directory to serve`),cacheControl:I().optional().describe(`Cache-Control header value`)}));var vm=K(()=>cf(`provider`,[V({provider:G(`object`),object:I().describe(`Target object name`)}),V({provider:G(`api`),read:_m.optional().describe(`Configuration for fetching data`),write:_m.optional().describe(`Configuration for submitting data (for forms/editable tables)`)}),V({provider:G(`value`),items:B(z()).describe(`Static data array`)})])),ym=K(()=>V({field:I().describe(`Field name to filter on`),operator:I().describe(`Filter operator (e.g. equals, not_equals, contains, this_quarter)`),value:H([I(),L(),R(),qd(),B(H([I(),L()]))]).optional().describe(`Filter value`)}).describe(`View filter rule`)),bm=K(()=>W([`none`,`count`,`count_empty`,`count_filled`,`count_unique`,`percent_empty`,`percent_filled`,`sum`,`avg`,`min`,`max`]).describe(`Aggregation function for column footer summary`)),xm=K(()=>V({field:I().describe(`Field name (snake_case)`),label:$p.optional().describe(`Display label override`),width:L().positive().optional().describe(`Column width in pixels`),align:W([`left`,`center`,`right`]).optional().describe(`Text alignment`),hidden:R().optional().describe(`Hide column by default`),sortable:R().optional().describe(`Allow sorting by this column`),resizable:R().optional().describe(`Allow resizing this column`),wrap:R().optional().describe(`Allow text wrapping`),type:I().optional().describe(`Renderer type override (e.g., "currency", "date")`),pinned:W([`left`,`right`]).optional().describe(`Pin/freeze column to left or right side`),summary:bm.optional().describe(`Footer aggregation function for this column`),link:R().optional().describe(`Functions as the primary navigation link (triggers View navigation)`),action:I().optional().describe(`Registered Action ID to execute when clicked`)})),Sm=K(()=>V({type:W([`none`,`single`,`multiple`]).default(`none`).describe(`Selection mode`)})),Cm=K(()=>V({pageSize:L().int().positive().default(25).describe(`Number of records per page`),pageSizeOptions:B(L().int().positive()).optional().describe(`Available page size options`)})),wm=K(()=>W([`compact`,`short`,`medium`,`tall`,`extra_tall`]).describe(`Row height / density setting for list view`)),Tm=K(()=>V({field:I().describe(`Field name to group by`),order:W([`asc`,`desc`]).default(`asc`).describe(`Group sort order`),collapsed:R().default(!1).describe(`Collapse groups by default`)})),Em=K(()=>V({fields:B(Tm).min(1).describe(`Fields to group by (supports up to 3 levels)`)}).describe(`Record grouping configuration`)),Dm=K(()=>V({coverField:I().optional().describe(`Attachment/image field to display as card cover`),coverFit:W([`cover`,`contain`]).default(`cover`).describe(`Image fit mode for card cover`),cardSize:W([`small`,`medium`,`large`]).default(`medium`).describe(`Card size in gallery view`),titleField:I().optional().describe(`Field to display as card title`),visibleFields:B(I()).optional().describe(`Fields to display on card body`)}).describe(`Gallery/card view configuration`)),Om=K(()=>V({startDateField:I().describe(`Field for timeline item start date`),endDateField:I().optional().describe(`Field for timeline item end date`),titleField:I().describe(`Field to display as timeline item title`),groupByField:I().optional().describe(`Field to group timeline rows`),colorField:I().optional().describe(`Field to determine item color`),scale:W([`hour`,`day`,`week`,`month`,`quarter`,`year`]).default(`week`).describe(`Default timeline scale`)}).describe(`Timeline view configuration`)),km=K(()=>V({type:W([`personal`,`collaborative`]).default(`collaborative`).describe(`View ownership type`),lockedBy:I().optional().describe(`User who locked the view configuration`)}).describe(`View sharing and access configuration`)),Am=K(()=>V({field:I().describe(`Field to derive color from (typically a select/status field)`),colors:U(I(),I()).optional().describe(`Map of field value to color (hex/token)`)}).describe(`Row color configuration based on field values`)),jm=K(()=>W([`grid`,`kanban`,`gallery`,`calendar`,`timeline`,`gantt`,`map`]).describe(`Visualization type that users can switch to`)),Mm=K(()=>V({sort:R().default(!0).describe(`Allow users to sort records`),search:R().default(!0).describe(`Allow users to search records`),filter:R().default(!0).describe(`Allow users to filter records`),rowHeight:R().default(!0).describe(`Allow users to toggle row height/density`),addRecordForm:R().default(!1).describe(`Add records through a form instead of inline`),buttons:B(I()).optional().describe(`Custom action button IDs to show in the toolbar`)}).describe(`User action toggles for the view toolbar`)),Nm=K(()=>V({showDescription:R().default(!0).describe(`Show the view description text`),allowedVisualizations:B(jm).optional().describe(`Whitelist of visualization types users can switch between (e.g. ["grid", "gallery", "kanban"])`)}).describe(`Appearance and visualization configuration`)),Pm=K(()=>V({name:_p.describe(`Tab identifier (snake_case)`),label:$p.optional().describe(`Display label`),icon:I().optional().describe(`Tab icon name`),view:I().optional().describe(`Referenced list view name from listViews`),filter:B(ym).optional().describe(`Tab-specific filter criteria`),order:L().int().min(0).optional().describe(`Tab display order`),pinned:R().default(!1).describe(`Pin tab (cannot be removed by users)`),isDefault:R().default(!1).describe(`Set as the default active tab`),visible:R().default(!0).describe(`Tab visibility`)}).describe(`Tab configuration for multi-tab view interface`)),Fm=K(()=>V({enabled:R().default(!0).describe(`Show the add record entry point`),position:W([`top`,`bottom`,`both`]).default(`bottom`).describe(`Position of the add record button`),mode:W([`inline`,`form`,`modal`]).default(`inline`).describe(`How to add a new record`),formView:I().optional().describe(`Named form view to use when mode is "form" or "modal"`)}).describe(`Add record entry point configuration`)),Im=K(()=>V({groupByField:I().describe(`Field to group columns by (usually status/select)`),summarizeField:I().optional().describe(`Field to sum at top of column (e.g. amount)`),columns:B(I()).describe(`Fields to show on cards`)})),Lm=K(()=>V({chartType:W([`bar`,`line`,`pie`,`area`,`scatter`]).default(`bar`).describe(`Chart visualisation type`),xAxisField:I().describe(`Field used as the X axis / category dimension`),yAxisFields:B(I()).min(1).describe(`Field(s) used as the Y axis / measures`),aggregation:W([`sum`,`avg`,`count`,`min`,`max`]).optional().describe(`Aggregation function applied to Y axis fields`),groupByField:I().optional().describe(`Optional field used to split / stack the chart`)}).describe(`List chart view configuration`)),Rm=K(()=>V({startDateField:I(),endDateField:I().optional(),titleField:I(),colorField:I().optional()})),zm=K(()=>V({startDateField:I(),endDateField:I(),titleField:I(),progressField:I().optional(),dependenciesField:I().optional()})),Bm=K(()=>W([`page`,`drawer`,`modal`,`split`,`popover`,`new_window`,`none`])),Vm=K(()=>V({mode:Bm.default(`page`),view:I().optional().describe(`Name of the form view to use for details (e.g. "summary_view", "edit_form")`),preventNavigation:R().default(!1).describe(`Disable standard navigation entirely`),openNewTab:R().default(!1).describe(`Force open in new tab (applies to page mode)`),width:H([I(),L()]).optional().describe(`Width of the drawer/modal (e.g. "600px", "50%")`)})),Hm=K(()=>V({name:_p.optional().describe(`Internal view name (lowercase snake_case)`),label:$p.optional(),type:W([`grid`,`kanban`,`gallery`,`calendar`,`timeline`,`gantt`,`map`,`chart`]).default(`grid`),data:vm.optional().describe(`Data source configuration (defaults to "object" provider)`),columns:H([B(I()),B(xm)]).describe(`Fields to display as columns`),filter:B(ym).optional().describe(`Filter criteria (JSON Rules)`),sort:H([I(),B(V({field:I(),order:W([`asc`,`desc`])}))]).optional(),searchableFields:B(I()).optional().describe(`Fields enabled for search`),filterableFields:B(I()).optional().describe(`Fields enabled for end-user filtering in the top bar`),resizable:R().optional().describe(`Enable column resizing`),striped:R().optional().describe(`Striped row styling`),bordered:R().optional().describe(`Show borders`),compactToolbar:R().optional().describe(`Collapse Group/Color/Density/Hide-fields into a single View settings popover`),selection:Sm.optional().describe(`Row selection configuration`),navigation:Vm.optional().describe(`Configuration for item click navigation (page, drawer, modal, etc.)`),pagination:Cm.optional().describe(`Pagination configuration`),kanban:Im.optional(),calendar:Rm.optional(),gantt:zm.optional(),gallery:Dm.optional(),timeline:Om.optional(),chart:Lm.optional(),description:$p.optional().describe(`View description for documentation/tooltips`),sharing:km.optional().describe(`View sharing and access configuration`),rowHeight:wm.optional().describe(`Row height / density setting`),grouping:Em.optional().describe(`Group records by one or more fields`),rowColor:Am.optional().describe(`Color rows based on field value`),hiddenFields:B(I()).optional().describe(`Fields to hide in this specific view`),fieldOrder:B(I()).optional().describe(`Explicit field display order for this view`),rowActions:B(I()).optional().describe(`Actions available for individual row items`),bulkActions:B(I()).optional().describe(`Actions available when multiple rows are selected`),bulkActionDefs:B(U(I(),Yd())).optional().describe(`Rich bulk action definitions (schema-driven, executed via BulkActionDialog)`),virtualScroll:R().optional().describe(`Enable virtual scrolling for large datasets`),conditionalFormatting:B(V({condition:xp.describe(`Predicate (CEL) to evaluate.`),style:U(I(),I()).describe(`CSS styles to apply when condition is true`)})).optional().describe(`Conditional formatting rules for list rows`),inlineEdit:R().optional().describe(`Allow inline editing of records directly in the list view`),exportOptions:B(W([`csv`,`xlsx`,`pdf`,`json`])).optional().describe(`Available export format options`),userActions:Mm.optional().describe(`User action toggles for the view toolbar`),appearance:Nm.optional().describe(`Appearance and visualization configuration`),tabs:B(Pm).optional().describe(`Tab definitions for multi-tab view interface`),addRecord:Fm.optional().describe(`Add record entry point configuration`),showRecordCount:R().optional().describe(`Show record count at the bottom of the list`),allowPrinting:R().optional().describe(`Allow users to print the view`),emptyState:V({title:$p.optional(),message:$p.optional(),icon:I().optional()}).optional().describe(`Empty state configuration when no records found`),aria:em.optional().describe(`ARIA accessibility attributes for the list view`),responsive:pm.optional().describe(`Responsive layout configuration`),performance:mm.optional().describe(`Performance optimization settings`)})),Um=K(()=>V({field:I().describe(`Field name (snake_case)`),label:$p.optional().describe(`Display label override`),placeholder:$p.optional().describe(`Placeholder text`),helpText:$p.optional().describe(`Help/hint text`),readonly:R().optional().describe(`Read-only override`),required:R().optional().describe(`Required override`),hidden:R().optional().describe(`Hidden override`),colSpan:L().int().min(1).max(4).optional().describe(`Column span in grid layout (1-4)`),widget:I().optional().describe(`Custom widget/component name`),dependsOn:I().optional().describe(`Parent field name for cascading`),visibleOn:xp.optional().describe(`Visibility predicate (CEL).`)})),Wm=K(()=>V({label:$p.optional(),collapsible:R().default(!1),collapsed:R().default(!1),columns:H([W([`1`,`2`,`3`,`4`]),G(1),G(2),G(3),G(4)]).default(2).transform(e=>typeof e==`string`?parseInt(e):e),fields:B(H([I(),Um]))})),Gm=K(()=>V({type:W([`simple`,`tabbed`,`wizard`,`split`,`drawer`,`modal`]).default(`simple`),data:vm.optional().describe(`Data source configuration (defaults to "object" provider)`),sections:B(Wm).optional(),groups:B(Wm).optional(),defaultSort:B(V({field:I().describe(`Field name to sort by`),order:W([`asc`,`desc`]).default(`desc`).describe(`Sort direction`)})).optional().describe(`Default sort order for related list views within this form`),sharing:lm.optional().describe(`Public sharing configuration for this form`),submitBehavior:H([V({kind:G(`thank-you`),title:I().optional(),message:I().optional()}),V({kind:G(`redirect`),url:I(),delayMs:L().int().min(0).optional()}),V({kind:G(`continue`)}),V({kind:G(`next-record`)})]).optional().describe(`Post-submit behavior`),aria:em.optional().describe(`ARIA accessibility attributes for the form view`)}));K(()=>V({list:Hm.optional(),form:Gm.optional(),listViews:U(I(),Hm).optional().describe(`Additional named list views`),formViews:U(I(),Gm).optional().describe(`Additional named form views`)}));var Km=W([`get`,`list`,`create`,`update`,`delete`,`upsert`,`bulk`,`aggregate`,`history`,`search`,`restore`,`purge`,`import`,`export`]),qm=V({trackHistory:R().default(!1).describe(`Enable field history tracking for audit compliance`),searchable:R().default(!0).describe(`Index records for global search`),apiEnabled:R().default(!0).describe(`Expose object via automatic APIs`),apiMethods:B(Km).optional().describe(`Whitelist of allowed API operations`),files:R().default(!1).describe(`Enable file attachments and document management`),feeds:R().default(!1).describe(`Enable social feed, comments, and mentions (Chatter-like)`),activities:R().default(!1).describe(`Enable standard tasks and events tracking`),trash:R().default(!0).describe(`Enable soft-delete with restore capability`),mru:R().default(!0).describe(`Track Most Recently Used (MRU) list for users`),clone:R().default(!0).describe(`Allow record deep cloning`)}),Jm=K(()=>V({name:I().optional().describe(`Index name (auto-generated if not provided)`),fields:B(I()).describe(`Fields included in the index`),type:W([`btree`,`hash`,`gin`,`gist`,`fulltext`]).optional().default(`btree`).describe(`Index algorithm type`),unique:R().optional().default(!1).describe(`Whether the index enforces uniqueness`),partial:I().optional().describe(`Partial index condition (SQL WHERE clause for conditional indexes)`)})),Ym=K(()=>V({fields:B(I()).describe(`Fields to index for full-text search weighting`),displayFields:B(I()).optional().describe(`Fields to display in search result cards`),filters:B(I()).optional().describe(`Default filters for search results`)})),Xm=K(()=>V({enabled:R().describe(`Enable multi-tenancy for this object`),strategy:W([`shared`,`isolated`,`hybrid`]).describe(`Tenant isolation strategy: shared (single DB, row-level), isolated (separate DB per tenant), hybrid (mix)`),tenantField:I().default(`tenant_id`).describe(`Field name for tenant identifier`),crossTenantAccess:R().default(!1).describe(`Allow cross-tenant data access (with explicit permission)`)})),Zm=K(()=>V({enabled:R().describe(`Enable soft delete (trash/recycle bin)`),field:I().default(`deleted_at`).describe(`Field name for soft delete timestamp`),cascadeDelete:R().default(!1).describe(`Cascade soft delete to related records`)})),Qm=K(()=>V({enabled:R().describe(`Enable record versioning`),strategy:W([`snapshot`,`delta`,`event-sourcing`]).describe(`Versioning strategy: snapshot (full copy), delta (changes only), event-sourcing (event log)`),retentionDays:L().min(1).optional().describe(`Number of days to retain old versions (undefined = infinite)`),versionField:I().default(`version`).describe(`Field name for version number/timestamp`)})),$m=K(()=>V({enabled:R().describe(`Enable table partitioning`),strategy:W([`range`,`hash`,`list`]).describe(`Partitioning strategy: range (date ranges), hash (consistent hashing), list (predefined values)`),key:I().describe(`Field name to partition by`),interval:I().optional().describe(`Partition interval for range strategy (e.g., "1 month", "1 year")`)}).refine(e=>!(e.strategy===`range`&&!e.interval),{message:`interval is required when strategy is "range"`})),eh=K(()=>V({enabled:R().describe(`Enable Change Data Capture`),events:B(W([`insert`,`update`,`delete`])).describe(`Event types to capture`),destination:I().describe(`Destination endpoint (e.g., "kafka://topic", "webhook://url")`)})),th=K(()=>V({key:I().regex(/^[a-z_][a-z0-9_]*$/,{message:`Field group key must be lowercase snake_case (e.g., "contact_info", "billing", "system")`}).describe(`Group machine key (snake_case). Referenced by Field.group.`),label:I().describe(`Group display label`),icon:I().optional().describe(`Icon name (Lucide/Material) for the group header`),description:I().optional().describe(`Optional description shown under the group header`),defaultExpanded:R().optional().default(!0).describe(`Whether the group is expanded by default`),visibleOn:xp.optional().describe(`Visibility predicate (CEL); group is hidden when FALSE.`)})),nh=V({name:I().regex(/^[a-z_][a-z0-9_]*$/).describe(`Machine unique key (snake_case). Immutable.`),label:I().optional().describe(`Human readable singular label (e.g. "Account")`),pluralLabel:I().optional().describe(`Human readable plural label (e.g. "Accounts")`),description:I().optional().describe(`Developer documentation / description`),icon:I().optional().describe(`Icon name (Lucide/Material) for UI representation`),tags:B(I()).optional().describe(`Categorization tags (e.g. "sales", "system", "reference")`),active:R().optional().default(!0).describe(`Is the object active and usable`),isSystem:R().optional().default(!1).describe(`Is system object (protected from deletion)`),abstract:R().optional().default(!1).describe(`Is abstract base object (cannot be instantiated)`),managedBy:W([`platform`,`config`,`system`,`append-only`,`better-auth`]).optional().describe(`Lifecycle bucket — platform (user CRUD) | config (admin authored) | system (engine-managed) | append-only (audit) | better-auth (identity). UI clients honour the resolved affordance matrix.`),userActions:V({create:R().optional().describe(`Show generic "New" button.`),import:R().optional().describe(`Show CSV import wizard entry.`),edit:R().optional().describe(`Allow inline / form edit of existing rows.`),delete:R().optional().describe(`Show row-level delete + bulk delete.`),exportCsv:R().optional().describe(`Show CSV export entry.`)}).optional().describe(`Per-object override of the resolved CRUD affordance matrix.`),systemFields:H([G(!1),V({tenant:R().optional().describe(`Inject organization_id (multi-tenant only). Default true.`),owner:R().optional().describe(`Reserved for future owner_id auto-injection.`),audit:R().optional().describe(`Reserved for future created_by/updated_by auto-injection.`)})]).optional().describe(`Opt out of, or selectively disable, registry-level system-field auto-injection.`),datasource:I().optional().default(`default`).describe(`Target Datasource ID. "default" is the primary DB.`),fields:U(I().regex(/^[a-z_][a-z0-9_]*$/,{message:`Field names must be lowercase snake_case (e.g., "first_name", "company", "annual_revenue")`}),Ip).describe(`Field definitions map. Keys must be snake_case identifiers.`),indexes:B(Jm).optional().describe(`Database performance indexes`),fieldGroups:B(th).refine(e=>new Set(e.map(e=>e.key)).size===e.length,{message:`fieldGroups[].key must be unique within an object`}).optional().describe(`Ordered list of field groups (array order = display order). See ObjectFieldGroupSchema.`),tenancy:Xm.optional().describe(`Multi-tenancy configuration for SaaS applications`),softDelete:Zm.optional().describe(`Soft delete (trash/recycle bin) configuration`),versioning:Qm.optional().describe(`Record versioning and history tracking configuration`),partitioning:$m.optional().describe(`Table partitioning configuration for performance`),cdc:eh.optional().describe(`Change Data Capture (CDC) configuration for real-time data streaming`),validations:B(Kp).optional().describe(`Object-level validation rules`),stateMachines:U(I(),Qp).optional().describe(`Named state machines for parallel lifecycles (e.g., status, payment, approval)`),displayNameField:I().optional().describe(`Field to use as the record display name (e.g., "name", "title"). Defaults to "name" if present.`),recordName:V({type:W([`text`,`autonumber`]).describe(`Record name type: text (user-entered) or autonumber (system-generated)`),displayFormat:I().optional().describe(`Auto-number format pattern (e.g., "CASE-{0000}", "INV-{YYYY}-{0000}")`),startNumber:L().int().min(0).optional().describe(`Starting number for autonumber (default: 1)`)}).optional().describe(`Record name generation configuration (Salesforce pattern)`),titleFormat:Sp.optional().describe(`Title template — supports {{record.field}} interpolation. Overrides displayNameField.`),compactLayout:B(I()).optional().describe(`Primary fields for hover/cards/lookups`),listViews:U(I(),Hm).optional().describe(`Built-in named list views (segmented tabs) shipped with the object schema`),defaultDetailForm:I().optional().describe(`Name of the default FormView for record detail / edit screens`),search:Ym.optional().describe(`Search engine configuration`),enable:qm.optional().describe(`Enabled system features modules`),recordTypes:B(I()).optional().describe(`Record type names for this object`),sharingModel:W([`private`,`read`,`read_write`,`full`]).optional().describe(`Default sharing model`),keyPrefix:I().max(5).optional().describe(`Short prefix for record IDs (e.g., "001" for Account)`),detail:V({renderViaSchema:R().optional().describe(`Opt this object out of the schema-driven detail renderer`),hideReferenceRail:R().optional().describe(`Suppress the right-hand reference-rail on the detail page`),hideRelatedTab:R().optional().describe(`Suppress the Related tab on the detail page`)}).passthrough().optional().describe(`Detail-page UI hints consumed by @object-ui/plugin-detail synth`),actions:B(cm).optional().describe(`Actions associated with this object (auto-populated from top-level actions via objectName)`)});function rh(e){return e.split(`_`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `)}K(()=>Object.assign(nh,{create:e=>{let t={...e,label:e.label??rh(e.name)};return nh.parse(t)}})),W([`own`,`extend`]),K(()=>V({extend:I().describe(`Target object name (FQN) to extend`),fields:U(I(),Ip).optional().describe(`Fields to add/override`),label:I().optional().describe(`Override label for the extended object`),pluralLabel:I().optional().describe(`Override plural label for the extended object`),description:I().optional().describe(`Override description for the extended object`),validations:B(Kp).optional().describe(`Additional validation rules to merge into the target object`),indexes:B(Jm).optional().describe(`Additional indexes to merge into the target object`),priority:L().int().min(0).max(999).default(200).describe(`Merge priority (higher = applied later)`)}));var ih=W([`beforeFind`,`afterFind`,`beforeFindOne`,`afterFindOne`,`beforeCount`,`afterCount`,`beforeAggregate`,`afterAggregate`,`beforeInsert`,`afterInsert`,`beforeUpdate`,`afterUpdate`,`beforeDelete`,`afterDelete`,`beforeUpdateMany`,`afterUpdateMany`,`beforeDeleteMany`,`afterDeleteMany`]);K(()=>V({name:I().regex(/^[a-z_][a-z0-9_]*$/).describe(`Hook unique name (snake_case)`),label:I().optional().describe(`Description of what this hook does`),object:H([I(),B(I())]).describe(`Target object(s)`),events:B(ih).describe(`Lifecycle events`),handler:H([I(),Uf(e=>typeof e==`function`,{message:`Expected function`})]).optional().describe("Handler function name (string, post-build) or inline function (pre-build) — DEPRECATED, prefer `body`"),body:im.optional().describe(`Hook body — expression (L1) or sandboxed JS (L2)`),priority:L().default(100).describe(`Execution priority`),async:R().default(!1).describe(`Run specifically as fire-and-forget`),condition:xp.optional().describe('Predicate (CEL); hook runs only when TRUE. e.g. P`record.status == "closed" && record.amount > 1000`'),description:I().optional().describe(`Human-readable description of what this hook does`),retryPolicy:V({maxRetries:L().default(3).describe(`Maximum retry attempts on failure`),backoffMs:L().default(1e3).describe(`Backoff delay between retries in milliseconds`)}).optional().describe(`Retry policy for failed hook executions`),timeout:L().optional().describe(`Maximum execution time in milliseconds before the hook is aborted`),onError:W([`abort`,`log`]).default(`abort`).describe(`Error handling strategy`)})),K(()=>V({id:I().optional().describe(`Unique execution ID for tracing`),object:I(),event:ih,input:U(I(),z()).describe(`Mutable input parameters`),result:z().optional().describe(`Operation result (After hooks only)`),previous:U(I(),z()).optional().describe(`Record state before operation`),session:V({userId:I().optional(),tenantId:I().optional(),roles:B(I()).optional(),accessToken:I().optional(),isSystem:R().optional().describe(`True when the call was made with an elevated system context (engine self-writes)`)}).optional().describe(`Current session context`),transaction:z().optional().describe(`Database transaction handle`),ql:z().describe(`ObjectQL Engine Reference`),api:z().optional().describe(`Cross-object data access (ScopedContext)`),user:V({id:I().optional(),name:I().optional(),email:I().optional()}).optional().describe(`Current user info shortcut`)}));var ah=W([`none`,`constant`,`lookup`,`split`,`join`,`javascript`,`map`]),oh=K(()=>V({source:H([I(),B(I())]).describe(`Source column header(s)`),target:H([I(),B(I())]).describe(`Target object field(s)`),transform:ah.default(`none`),params:V({value:z().optional(),object:I().optional(),fromField:I().optional(),toField:I().optional(),autoCreate:R().optional(),valueMap:U(I(),z()).optional(),separator:I().optional()}).optional()}));K(()=>V({name:_p.describe(`Mapping unique name (lowercase snake_case)`),label:I().optional(),sourceFormat:W([`csv`,`json`,`xml`,`sql`]).default(`csv`),targetObject:I().describe(`Target Object Name`),fieldMapping:B(oh),mode:W([`insert`,`update`,`upsert`]).default(`insert`),upsertKey:B(I()).optional().describe(`Fields to match for upsert (e.g. email)`),extractQuery:hp.optional().describe(`Query to run for export only`),errorPolicy:W([`skip`,`abort`,`retry`]).default(`skip`),batchSize:L().default(1e3)}));var sh=K(()=>V({userId:I().optional(),tenantId:I().optional(),roles:B(I()).default([]),permissions:B(I()).default([]),isSystem:R().default(!1),accessToken:I().optional(),transaction:z().optional(),traceId:I().optional()})),ch=K(()=>H([U(I(),z()),Yf]).describe(`Data Engine query filter conditions`)),lh=K(()=>H([U(I(),W([`asc`,`desc`])),U(I(),H([G(1),G(-1)])),B(tp)]).describe(`Sort order definition`)),uh=K(()=>V({context:sh.optional()})),dh=K(()=>uh.extend({where:H([U(I(),z()),Yf]).optional(),fields:B(fp).optional(),orderBy:B(tp).optional(),limit:L().optional(),offset:L().optional(),top:L().optional(),cursor:U(I(),z()).optional(),search:pp.optional(),expand:Lf(()=>U(I(),hp)).optional(),distinct:R().optional()}).describe(`QueryAST-aligned query options for IDataEngine.find() operations`));K(()=>uh.extend({filter:ch.optional(),select:B(I()).optional(),sort:lh.optional(),limit:L().int().min(1).optional(),skip:L().int().min(0).optional(),top:L().int().min(1).optional(),populate:B(I()).optional()}).describe(`Query options for IDataEngine.find() operations`));var fh=K(()=>uh.extend({returning:R().default(!0).optional()}).describe(`Options for DataEngine.insert operations`)),ph=K(()=>uh.extend({where:H([U(I(),z()),Yf]).optional(),upsert:R().default(!1).optional(),multi:R().default(!1).optional(),returning:R().default(!1).optional()}).describe(`QueryAST-aligned options for DataEngine.update operations`));K(()=>uh.extend({filter:ch.optional(),upsert:R().default(!1).optional(),multi:R().default(!1).optional(),returning:R().default(!1).optional()}).describe(`Options for DataEngine.update operations`));var mh=K(()=>uh.extend({where:H([U(I(),z()),Yf]).optional(),multi:R().default(!1).optional()}).describe(`QueryAST-aligned options for DataEngine.delete operations`));K(()=>uh.extend({filter:ch.optional(),multi:R().default(!1).optional()}).describe(`Options for DataEngine.delete operations`));var hh=K(()=>uh.extend({where:H([U(I(),z()),Yf]).optional(),groupBy:B(I()).optional(),aggregations:B(ap).optional()}).describe(`QueryAST-aligned options for DataEngine.aggregate operations`));K(()=>uh.extend({filter:ch.optional(),groupBy:B(I()).optional(),aggregations:B(V({field:I(),method:W([`count`,`sum`,`avg`,`min`,`max`,`count_distinct`]),alias:I().optional()})).optional()}).describe(`Options for DataEngine.aggregate operations`));var gh=K(()=>uh.extend({where:H([U(I(),z()),Yf]).optional()}).describe(`QueryAST-aligned options for DataEngine.count operations`));K(()=>uh.extend({filter:ch.optional()}).describe(`Options for DataEngine.count operations`)),K(()=>V({find:Vf().input(ff([I(),dh.optional()])).output(zf(B(z()))),findOne:Vf().input(ff([I(),dh.optional()])).output(zf(z())),insert:Vf().input(ff([I(),H([U(I(),z()),B(U(I(),z()))]),fh.optional()])).output(zf(z())),update:Vf().input(ff([I(),U(I(),z()),ph.optional()])).output(zf(z())),delete:Vf().input(ff([I(),mh.optional()])).output(zf(z())),count:Vf().input(ff([I(),gh.optional()])).output(zf(L())),aggregate:Vf().input(ff([I(),hh])).output(zf(B(z())))}).describe(`Standard Data Engine Contract`));var _h={filter:ch.optional()},vh=dh.extend({..._h,select:B(I()).optional(),sort:lh.optional(),skip:L().int().min(0).optional(),populate:B(I()).optional()}),yh=K(()=>V({method:G(`find`),object:I(),query:vh.optional()})),bh=K(()=>V({method:G(`findOne`),object:I(),query:vh.optional()})),xh=K(()=>V({method:G(`insert`),object:I(),data:H([U(I(),z()),B(U(I(),z()))]),options:fh.optional()})),Sh=K(()=>V({method:G(`update`),object:I(),data:U(I(),z()),id:H([I(),L()]).optional().describe(`ID for single update, or use where in options`),options:ph.extend(_h).optional()})),Ch=K(()=>V({method:G(`delete`),object:I(),id:H([I(),L()]).optional().describe(`ID for single delete, or use where in options`),options:mh.extend(_h).optional()})),wh=K(()=>V({method:G(`count`),object:I(),query:gh.extend(_h).optional()})),Th=K(()=>V({method:G(`aggregate`),object:I(),query:hh.extend(_h)})),Eh=K(()=>V({method:G(`execute`),command:z(),options:U(I(),z()).optional()})),Dh=K(()=>V({method:G(`vectorFind`),object:I(),vector:B(L()),where:H([U(I(),z()),Yf]).optional(),fields:B(I()).optional(),limit:L().int().default(5).optional(),threshold:L().optional()})),Oh=K(()=>V({method:G(`batch`),requests:B(cf(`method`,[yh,bh,xh,Sh,Ch,wh,Th,Eh,Dh])),transaction:R().default(!0).optional()}));K(()=>cf(`method`,[yh,bh,xh,Sh,Ch,wh,Th,Oh,Eh,Dh]).describe(`Virtual ObjectQL Request Protocol`)),W([`count`,`sum`,`avg`,`min`,`max`,`count_distinct`,`percentile`,`median`,`stddev`,`variance`]).describe(`Standard aggregation functions`);var kh=W([`asc`,`desc`]).describe(`Sort order direction`);K(()=>V({field:I().describe(`Field name to sort by`),order:kh.describe(`Sort direction`)}).describe(`Sort field and direction pair`)),W([`insert`,`update`,`delete`,`upsert`]).describe(`Data mutation event types`);var Ah=W([`read_uncommitted`,`read_committed`,`repeatable_read`,`serializable`,`snapshot`]).describe(`Transaction isolation levels (snake_case standard)`);W([`lru`,`lfu`,`ttl`,`fifo`]).describe(`Cache eviction strategy`);var jh=K(()=>V({transaction:z().optional().describe(`Transaction handle`),timeout:L().optional().describe(`Timeout in ms`),skipCache:R().optional().describe(`Bypass cache`),traceContext:U(I(),I()).optional().describe(`OpenTelemetry context or request ID`),tenantId:I().optional().describe(`Tenant Isolation identifier`)})),Mh=K(()=>V({create:R().default(!0).describe(`Supports CREATE operations`),read:R().default(!0).describe(`Supports READ operations`),update:R().default(!0).describe(`Supports UPDATE operations`),delete:R().default(!0).describe(`Supports DELETE operations`),bulkCreate:R().default(!1).describe(`Supports bulk CREATE operations`),bulkUpdate:R().default(!1).describe(`Supports bulk UPDATE operations`),bulkDelete:R().default(!1).describe(`Supports bulk DELETE operations`),transactions:R().default(!1).describe(`Supports ACID transactions`),savepoints:R().default(!1).describe(`Supports transaction savepoints`),isolationLevels:B(Ah).optional().describe(`Supported isolation levels`),queryFilters:R().default(!0).describe(`Supports WHERE clause filtering`),queryAggregations:R().default(!1).describe(`Supports GROUP BY and aggregation functions`),queryDateGranularity:U(rp,R()).optional().describe(`Per-granularity native date bucketing (day/week/month/quarter/year). Missing keys fall back to in-memory bucketing.`),querySorting:R().default(!0).describe(`Supports ORDER BY sorting`),queryPagination:R().default(!0).describe(`Supports LIMIT/OFFSET pagination`),queryWindowFunctions:R().default(!1).describe(`Supports window functions with OVER clause`),querySubqueries:R().default(!1).describe(`Supports subqueries`),queryCTE:R().default(!1).describe(`Supports Common Table Expressions (WITH clause)`),joins:R().default(!1).describe(`Supports SQL joins`),fullTextSearch:R().default(!1).describe(`Supports full-text search`),jsonQuery:R().default(!1).describe(`Supports JSON field querying`),geospatialQuery:R().default(!1).describe(`Supports geospatial queries`),streaming:R().default(!1).describe(`Supports result streaming (cursors/iterators)`),jsonFields:R().default(!1).describe(`Supports JSON field types`),arrayFields:R().default(!1).describe(`Supports array field types`),vectorSearch:R().default(!1).describe(`Supports vector embeddings and similarity search`),schemaSync:R().default(!1).describe(`Supports automatic schema synchronization`),batchSchemaSync:R().default(!1).describe(`Supports batched schema sync to reduce schema DDL round-trips`),migrations:R().default(!1).describe(`Supports database migrations`),indexes:R().default(!1).describe(`Supports index creation and management`),connectionPooling:R().default(!1).describe(`Supports connection pooling`),preparedStatements:R().default(!1).describe(`Supports prepared statements (SQL injection prevention)`),queryCache:R().default(!1).describe(`Supports query result caching`)}));K(()=>V({name:I().describe(`Driver unique name`),version:I().describe(`Driver version`),supports:Mh,connect:Vf().input(ff([])).output(zf(ef())).describe(`Establish connection`),disconnect:Vf().input(ff([])).output(zf(ef())).describe(`Close connection`),checkHealth:Vf().input(ff([])).output(zf(R())).describe(`Health check`),getPoolStats:Vf().input(ff([])).output(V({total:L(),idle:L(),active:L(),waiting:L()}).optional()).optional().describe(`Get connection pool statistics`),execute:Vf().input(ff([z(),B(z()).optional(),jh.optional()])).output(zf(z())).describe(`Execute raw command`),find:Vf().input(ff([I(),hp,jh.optional()])).output(zf(B(U(I(),z())))).describe(`Find records`),findStream:Vf().input(ff([I(),hp,jh.optional()])).output(z()).describe(`Stream records (AsyncIterable)`),findOne:Vf().input(ff([I(),hp,jh.optional()])).output(zf(U(I(),z()).nullable())).describe(`Find one record`),create:Vf().input(ff([I(),U(I(),z()),jh.optional()])).output(zf(U(I(),z()))).describe(`Create record`),update:Vf().input(ff([I(),I().or(L()),U(I(),z()),jh.optional()])).output(zf(U(I(),z()))).describe(`Update record`),upsert:Vf().input(ff([I(),U(I(),z()),B(I()).optional(),jh.optional()])).output(zf(U(I(),z()))).describe(`Upsert record`),delete:Vf().input(ff([I(),I().or(L()),jh.optional()])).output(zf(R())).describe(`Delete record`),count:Vf().input(ff([I(),hp.optional(),jh.optional()])).output(zf(L())).describe(`Count records`),bulkCreate:Vf().input(ff([I(),B(U(I(),z())),jh.optional()])).output(zf(B(U(I(),z())))),bulkUpdate:Vf().input(ff([I(),B(V({id:I().or(L()),data:U(I(),z())})),jh.optional()])).output(zf(B(U(I(),z())))),bulkDelete:Vf().input(ff([I(),B(I().or(L())),jh.optional()])).output(zf(ef())),updateMany:Vf().input(ff([I(),hp,U(I(),z()),jh.optional()])).output(zf(L())).optional(),deleteMany:Vf().input(ff([I(),hp,jh.optional()])).output(zf(L())).optional(),beginTransaction:Vf().input(ff([V({isolationLevel:Ah.optional()}).optional()])).output(zf(z())).describe(`Start transaction`),commit:Vf().input(ff([z()])).output(zf(ef())).describe(`Commit transaction`),rollback:Vf().input(ff([z()])).output(zf(ef())).describe(`Rollback transaction`),syncSchema:Vf().input(ff([I(),z(),jh.optional()])).output(zf(ef())).describe(`Sync object schema to DB`),syncSchemasBatch:Vf().input(ff([B(V({object:I(),schema:z()})),jh.optional()])).output(zf(ef())).optional().describe(`Batch sync multiple schemas in one round-trip`),dropTable:Vf().input(ff([I(),jh.optional()])).output(zf(ef())),explain:Vf().input(ff([I(),hp,jh.optional()])).output(zf(z())).optional()}));var Nh=K(()=>V({min:L().min(0).default(2).describe(`Minimum number of connections in pool`),max:L().min(1).default(10).describe(`Maximum number of connections in pool`),idleTimeoutMillis:L().min(0).default(3e4).describe(`Time in ms before idle connection is closed`),connectionTimeoutMillis:L().min(0).default(5e3).describe(`Time in ms to wait for available connection`)})),Ph=K(()=>V({name:I().describe(`Driver instance name`),type:W([`sql`,`nosql`,`cache`,`search`,`graph`,`timeseries`]).describe(`Driver type category`),capabilities:Mh.describe(`Driver capability flags`),connectionString:I().optional().describe(`Database connection string (driver-specific format)`),poolConfig:Nh.optional().describe(`Connection pool configuration`)})),Fh=K(()=>W([`postgresql`,`mysql`,`sqlite`,`mssql`,`oracle`,`mariadb`])),Ih=K(()=>V({text:I().describe(`SQL type for text fields (e.g., VARCHAR, TEXT)`),number:I().describe(`SQL type for number fields (e.g., NUMERIC, DECIMAL, INT)`),boolean:I().describe(`SQL type for boolean fields (e.g., BOOLEAN, BIT)`),date:I().describe(`SQL type for date fields (e.g., DATE)`),datetime:I().describe(`SQL type for datetime fields (e.g., TIMESTAMP, DATETIME)`),json:I().optional().describe(`SQL type for JSON fields (e.g., JSON, JSONB)`),uuid:I().optional().describe(`SQL type for UUID fields (e.g., UUID, CHAR(36))`),binary:I().optional().describe(`SQL type for binary fields (e.g., BLOB, BYTEA)`)})),Lh=K(()=>V({rejectUnauthorized:R().default(!0).describe(`Reject connections with invalid certificates`),ca:I().optional().describe(`CA certificate file path or content`),cert:I().optional().describe(`Client certificate file path or content`),key:I().optional().describe(`Client private key file path or content`)}).refine(e=>e.cert!==void 0==(e.key!==void 0),{message:`Client certificate (cert) and private key (key) must be provided together`}));K(()=>Ph.extend({type:G(`sql`).describe(`Driver type must be "sql"`),dialect:Fh.describe(`SQL database dialect`),dataTypeMapping:Ih.describe(`SQL data type mapping configuration`),ssl:R().default(!1).describe(`Enable SSL/TLS connection`),sslConfig:Lh.optional().describe(`SSL/TLS configuration (required when ssl is true)`)}).refine(e=>!(e.ssl&&!e.sslConfig),{message:`sslConfig is required when ssl is true`}));var Rh=K(()=>W([`mongodb`,`couchdb`,`dynamodb`,`cassandra`,`redis`,`elasticsearch`,`neo4j`,`orientdb`]));K(()=>W([`find`,`findOne`,`insert`,`update`,`delete`,`aggregate`,`mapReduce`,`count`,`distinct`,`createIndex`,`dropIndex`]));var zh=K(()=>W([`all`,`quorum`,`one`,`local_quorum`,`each_quorum`,`eventual`])),Bh=K(()=>W([`single`,`compound`,`unique`,`text`,`geospatial`,`hashed`,`ttl`,`sparse`])),Vh=K(()=>V({enabled:R().default(!1).describe(`Enable sharding`),shardKey:I().optional().describe(`Field to use as shard key`),shardingStrategy:W([`hash`,`range`,`zone`]).optional().describe(`Sharding strategy`),numShards:L().int().positive().optional().describe(`Number of shards`)})),Hh=K(()=>V({enabled:R().default(!1).describe(`Enable replication`),replicaSetName:I().optional().describe(`Replica set name`),replicas:L().int().positive().optional().describe(`Number of replicas`),readPreference:W([`primary`,`primaryPreferred`,`secondary`,`secondaryPreferred`,`nearest`]).optional().describe(`Read preference for replica set`),writeConcern:W([`majority`,`acknowledged`,`unacknowledged`]).optional().describe(`Write concern level`)})),Uh=K(()=>V({enabled:R().default(!1).describe(`Enable schema validation`),validationLevel:W([`strict`,`moderate`,`off`]).optional().describe(`Validation strictness`),validationAction:W([`error`,`warn`]).optional().describe(`Action on validation failure`),jsonSchema:U(I(),z()).optional().describe(`JSON Schema for validation`)})),Wh=K(()=>V({text:I().describe(`NoSQL type for text fields`),number:I().describe(`NoSQL type for number fields`),boolean:I().describe(`NoSQL type for boolean fields`),date:I().describe(`NoSQL type for date fields`),datetime:I().describe(`NoSQL type for datetime fields`),json:I().optional().describe(`NoSQL type for JSON/object fields`),uuid:I().optional().describe(`NoSQL type for UUID fields`),binary:I().optional().describe(`NoSQL type for binary fields`),array:I().optional().describe(`NoSQL type for array fields`),objectId:I().optional().describe(`NoSQL type for ObjectID fields (MongoDB)`),geopoint:I().optional().describe(`NoSQL type for geospatial point fields`)}));K(()=>Ph.extend({type:G(`nosql`).describe(`Driver type must be "nosql"`),databaseType:Rh.describe(`Specific NoSQL database type`),dataTypeMapping:Wh.describe(`NoSQL data type mapping configuration`),consistency:zh.optional().describe(`Consistency level for operations`),replication:Hh.optional().describe(`Replication configuration`),sharding:Vh.optional().describe(`Sharding configuration`),schemaValidation:Uh.optional().describe(`Document schema validation`),region:I().optional().describe(`AWS region (for managed NoSQL services)`),accessKeyId:I().optional().describe(`AWS access key ID`),secretAccessKey:I().optional().describe(`AWS secret access key`),ttlField:I().optional().describe(`Field name for TTL (auto-deletion)`),maxDocumentSize:L().int().positive().optional().describe(`Maximum document size in bytes`),collectionPrefix:I().optional().describe(`Prefix for collection/table names`)}));var Gh=K(()=>V({consistency:zh.optional().describe(`Consistency level override`),readFromSecondary:R().optional().describe(`Allow reading from secondary replicas`),projection:U(I(),H([G(0),G(1)])).optional().describe(`Field projection`),timeout:L().int().positive().optional().describe(`Query timeout (ms)`),useCursor:R().optional().describe(`Use cursor instead of loading all results`),batchSize:L().int().positive().optional().describe(`Cursor batch size`),profile:R().optional().describe(`Enable query profiling`),hint:I().optional().describe(`Index hint for query optimization`)})),Kh=K(()=>V({operator:I().describe(`Aggregation operator (e.g., $match, $group, $sort)`),options:U(I(),z()).describe(`Stage-specific options`)}));K(()=>V({collection:I().describe(`Collection/table name`),stages:B(Kh).describe(`Aggregation pipeline stages`),options:Gh.optional().describe(`Query options`)})),K(()=>V({name:I().describe(`Index name`),type:Bh.describe(`Index type`),fields:B(V({field:I().describe(`Field name`),order:W([`asc`,`desc`,`text`,`2dsphere`]).optional().describe(`Index order or type`)})).describe(`Fields to index`),unique:R().default(!1).describe(`Enforce uniqueness`),sparse:R().default(!1).describe(`Sparse index`),expireAfterSeconds:L().int().positive().optional().describe(`TTL in seconds`),partialFilterExpression:U(I(),z()).optional().describe(`Partial index filter`),background:R().default(!1).describe(`Create index in background`)})),K(()=>V({readConcern:W([`local`,`majority`,`linearizable`,`snapshot`]).optional().describe(`Read concern level`),writeConcern:W([`majority`,`acknowledged`,`unacknowledged`]).optional().describe(`Write concern level`),readPreference:W([`primary`,`primaryPreferred`,`secondary`,`secondaryPreferred`,`nearest`]).optional().describe(`Read preference`),maxCommitTimeMS:L().int().positive().optional().describe(`Transaction commit timeout (ms)`)}));var qh=W([`insert`,`update`,`upsert`,`replace`,`ignore`]),Jh=K(()=>V({object:I().regex(/^[a-z_][a-z0-9_]*$/).describe(`Target Object Name`),externalId:I().default(`name`).describe(`Field match for uniqueness check`),mode:qh.default(`upsert`).describe(`Conflict resolution strategy`),env:B(W([`prod`,`dev`,`test`])).default([`prod`,`dev`,`test`]).describe(`Applicable environments`),records:B(U(I(),z())).describe(`Data records`)})),Yh=K(()=>V({field:I().describe(`Source field name containing the reference value`),targetObject:I().regex(/^[a-z_][a-z0-9_]*$/).describe(`Target object name (snake_case)`),targetField:I().default(`name`).describe(`Field on target object used for matching`),fieldType:W([`lookup`,`master_detail`]).describe(`Relationship field type`)}).describe(`Describes how a field reference is resolved during seed loading`)),Xh=K(()=>V({object:I().regex(/^[a-z_][a-z0-9_]*$/).describe(`Object name (snake_case)`),dependsOn:B(I()).describe(`Objects this object depends on`),references:B(Yh).describe(`Field-level reference details`)}).describe(`Object node in the seed data dependency graph`)),Zh=K(()=>V({nodes:B(Xh).describe(`All objects in the dependency graph`),insertOrder:B(I()).describe(`Topologically sorted insert order`),circularDependencies:B(B(I())).default([]).describe(`Circular dependency chains (e.g., [["a", "b", "a"]])`)}).describe(`Complete object dependency graph for seed data loading`)),Qh=K(()=>V({sourceObject:I().describe(`Object with the broken reference`),field:I().describe(`Field name with unresolved reference`),targetObject:I().describe(`Target object searched for the reference`),targetField:I().describe(`ExternalId field used for matching`),attemptedValue:z().describe(`Value that failed to resolve`),recordIndex:L().int().min(0).describe(`Index of the record in the dataset`),message:I().describe(`Human-readable error description`)}).describe(`Actionable error for a failed reference resolution`)),$h=K(()=>V({dryRun:R().default(!1).describe(`Validate references without writing data`),haltOnError:R().default(!1).describe(`Stop on first reference resolution error`),multiPass:R().default(!0).describe(`Enable multi-pass loading for circular dependencies`),defaultMode:qh.default(`upsert`).describe(`Default conflict resolution strategy`),batchSize:L().int().min(1).default(1e3).describe(`Maximum records per batch insert/upsert`),transaction:R().default(!1).describe(`Wrap entire load in a transaction (all-or-nothing)`),env:W([`prod`,`dev`,`test`]).optional().describe(`Only load datasets matching this environment`),organizationId:I().min(1).optional().describe(`Target organization id for per-tenant seed replay`)}).describe(`Seed data loader configuration`)),eg=K(()=>V({object:I().describe(`Object that was loaded`),mode:qh.describe(`Import mode used`),inserted:L().int().min(0).describe(`Records inserted`),updated:L().int().min(0).describe(`Records updated`),skipped:L().int().min(0).describe(`Records skipped`),errored:L().int().min(0).describe(`Records with errors`),total:L().int().min(0).describe(`Total records in dataset`),referencesResolved:L().int().min(0).describe(`References resolved via externalId`),referencesDeferred:L().int().min(0).describe(`References deferred to second pass`),errors:B(Qh).default([]).describe(`Reference resolution errors`)}).describe(`Result of loading a single dataset`));K(()=>V({success:R().describe(`Overall success status`),dryRun:R().describe(`Whether this was a dry-run`),dependencyGraph:Zh.describe(`Object dependency graph`),results:B(eg).describe(`Per-object load results`),errors:B(Qh).describe(`All reference resolution errors`),summary:V({objectsProcessed:L().int().min(0).describe(`Total objects processed`),totalRecords:L().int().min(0).describe(`Total records across all objects`),totalInserted:L().int().min(0).describe(`Total records inserted`),totalUpdated:L().int().min(0).describe(`Total records updated`),totalSkipped:L().int().min(0).describe(`Total records skipped`),totalErrored:L().int().min(0).describe(`Total records with errors`),totalReferencesResolved:L().int().min(0).describe(`Total references resolved`),totalReferencesDeferred:L().int().min(0).describe(`Total references deferred`),circularDependencyCount:L().int().min(0).describe(`Circular dependency chains detected`),durationMs:L().min(0).describe(`Load duration in milliseconds`)}).describe(`Summary statistics`)}).describe(`Complete seed loader result`)),K(()=>V({datasets:B(Jh).min(1).describe(`Datasets to load`),config:$h.default(()=>$h.parse({})).describe(`Loader configuration`)}).describe(`Seed loader request with datasets and configuration`));var tg=K(()=>V({versionNumber:L().describe(`Version number`),createdAt:L().describe(`Creation timestamp`),createdBy:I().describe(`Creator user ID`),size:L().describe(`File size in bytes`),checksum:I().describe(`File checksum`),downloadUrl:I().url().describe(`Download URL`),isLatest:R().optional().default(!1).describe(`Is latest version`)})),ng=K(()=>V({id:I().describe(`Template ID`),name:I().describe(`Template name`),description:I().optional().describe(`Template description`),fileUrl:I().url().describe(`Template file URL`),fileType:I().describe(`File MIME type`),placeholders:B(V({key:I().describe(`Placeholder key`),label:I().describe(`Placeholder label`),type:W([`text`,`number`,`date`,`image`]).describe(`Placeholder type`),required:R().optional().default(!1).describe(`Is required`)})).describe(`Template placeholders`)})),rg=K(()=>V({provider:W([`docusign`,`adobe-sign`,`hellosign`,`custom`]).describe(`E-signature provider`),enabled:R().optional().default(!1).describe(`E-signature enabled`),signers:B(V({email:I().email().describe(`Signer email`),name:I().describe(`Signer name`),role:I().describe(`Signer role`),order:L().describe(`Signing order`)})).describe(`Document signers`),expirationDays:L().optional().default(30).describe(`Expiration days`),reminderDays:L().optional().default(7).describe(`Reminder interval days`)}));K(()=>V({id:I().describe(`Document ID`),name:I().describe(`Document name`),description:I().optional().describe(`Document description`),fileType:I().describe(`File MIME type`),fileSize:L().describe(`File size in bytes`),category:I().optional().describe(`Document category`),tags:B(I()).optional().describe(`Document tags`),versioning:V({enabled:R().describe(`Versioning enabled`),versions:B(tg).describe(`Version history`),majorVersion:L().describe(`Major version`),minorVersion:L().describe(`Minor version`)}).optional().describe(`Version control`),template:ng.optional().describe(`Document template`),eSignature:rg.optional().describe(`E-signature config`),access:V({isPublic:R().optional().default(!1).describe(`Public access`),sharedWith:B(I()).optional().describe(`Shared with`),expiresAt:L().optional().describe(`Access expiration`)}).optional().describe(`Access control`),metadata:U(I(),z()).optional().describe(`Custom metadata`)}));var ig=K(()=>cf(`type`,[V({type:G(`constant`),value:z().describe(`Constant value to use`)}).describe(`Set a constant value`),V({type:G(`cast`),targetType:W([`string`,`number`,`boolean`,`date`]).describe(`Target data type`)}).describe(`Cast to a specific data type`),V({type:G(`lookup`),table:I().describe(`Lookup table name`),keyField:I().describe(`Field to match on`),valueField:I().describe(`Field to retrieve`)}).describe(`Lookup value from another table`),V({type:G(`javascript`),expression:xp.describe(`JS expression (dialect="js" recommended). e.g. value.toUpperCase()`)}).describe(`Custom JavaScript transformation`),V({type:G(`map`),mappings:U(I(),z()).describe(`Value mappings (e.g., {"Active": "active"})`)}).describe(`Map values using a dictionary`)])),ag=K(()=>V({source:I().describe(`Source field name`),target:I().describe(`Target field name`),transform:ig.optional().describe(`Transformation to apply`),defaultValue:z().optional().describe(`Default if source is null/undefined`)})),og=K(()=>V({id:I().describe(`Data source ID`),name:I().describe(`Data source name`),type:W([`odata`,`rest-api`,`graphql`,`custom`]).describe(`Protocol type`),endpoint:I().url().describe(`API endpoint URL`),authentication:V({type:W([`oauth2`,`api-key`,`basic`,`none`]).describe(`Auth type`),config:U(I(),z()).describe(`Auth configuration`)}).describe(`Authentication`)})),sg=K(()=>ag.extend({type:I().optional().describe(`Field type`),readonly:R().optional().default(!0).describe(`Read-only field`)}));K(()=>V({fieldName:I().describe(`Field name`),dataSource:og.describe(`External data source`),query:V({endpoint:I().describe(`Query endpoint path`),method:W([`GET`,`POST`]).optional().default(`GET`).describe(`HTTP method`),parameters:U(I(),z()).optional().describe(`Query parameters`)}).describe(`Query configuration`),fieldMappings:B(sg).describe(`Field mappings`),caching:V({enabled:R().optional().default(!0).describe(`Cache enabled`),ttl:L().optional().default(300).describe(`Cache TTL (seconds)`),strategy:W([`lru`,`lfu`,`ttl`]).optional().default(`ttl`).describe(`Cache strategy`)}).optional().describe(`Caching configuration`),fallback:V({enabled:R().optional().default(!0).describe(`Fallback enabled`),defaultValue:z().optional().describe(`Default fallback value`),showError:R().optional().default(!0).describe(`Show error to user`)}).optional().describe(`Fallback configuration`),rateLimit:V({requestsPerSecond:L().describe(`Requests per second limit`),burstSize:L().optional().describe(`Burst size`)}).optional().describe(`Rate limiting`),retry:V({maxRetries:L().min(0).default(3).describe(`Maximum retry attempts`),initialDelayMs:L().default(1e3).describe(`Initial retry delay in milliseconds`),maxDelayMs:L().default(3e4).describe(`Maximum retry delay in milliseconds`),backoffMultiplier:L().default(2).describe(`Exponential backoff multiplier`),retryableStatusCodes:B(L()).default([429,500,502,503,504]).describe(`HTTP status codes that are retryable`)}).optional().describe(`Retry configuration with exponential backoff`),transform:V({request:V({headers:U(I(),I()).optional().describe(`Additional request headers`),queryParams:U(I(),I()).optional().describe(`Additional query parameters`)}).optional().describe(`Request transformation`),response:V({dataPath:I().optional().describe(`JSONPath to extract data (e.g., "$.data.results")`),totalPath:I().optional().describe(`JSONPath to extract total count (e.g., "$.meta.total")`)}).optional().describe(`Response transformation`)}).optional().describe(`Request/response transformation pipeline`),pagination:V({type:W([`offset`,`cursor`,`page`]).default(`offset`).describe(`Pagination type`),pageSize:L().default(100).describe(`Items per page`),maxPages:L().optional().describe(`Maximum number of pages to fetch`)}).optional().describe(`Pagination configuration for external data`)}));var cg=I().describe(`Underlying driver identifier`);K(()=>V({id:I().describe(`Unique driver identifier (e.g. "postgres")`),label:I().describe(`Display label (e.g. "PostgreSQL")`),description:I().optional(),icon:I().optional(),configSchema:U(I(),z()).describe(`JSON Schema for connection configuration`),capabilities:Lf(()=>lg).optional()}));var lg=V({transactions:R().default(!1),queryFilters:R().default(!1),queryAggregations:R().default(!1),querySorting:R().default(!1),queryPagination:R().default(!1),queryWindowFunctions:R().default(!1),querySubqueries:R().default(!1),joins:R().default(!1),fullTextSearch:R().default(!1),readOnly:R().default(!1),dynamicSchema:R().default(!1)});K(()=>V({name:I().regex(/^[a-z_][a-z0-9_]*$/).describe(`Unique datasource identifier`),label:I().optional().describe(`Display label`),driver:cg.describe(`Underlying driver type`),config:U(I(),z()).describe(`Driver specific configuration`),pool:V({min:L().default(0).describe(`Minimum connections`),max:L().default(10).describe(`Maximum connections`),idleTimeoutMillis:L().default(3e4).describe(`Idle timeout`),connectionTimeoutMillis:L().default(3e3).describe(`Connection establishment timeout`)}).optional().describe(`Connection pool settings`),readReplicas:B(U(I(),z())).optional().describe(`Read-only replica configurations`),capabilities:lg.optional().describe(`Capability overrides`),healthCheck:V({enabled:R().default(!0).describe(`Enable health check endpoint`),intervalMs:L().default(3e4).describe(`Health check interval in milliseconds`),timeoutMs:L().default(5e3).describe(`Health check timeout in milliseconds`)}).optional().describe(`Datasource health check configuration`),ssl:V({enabled:R().default(!1).describe(`Enable SSL/TLS for database connection`),rejectUnauthorized:R().default(!0).describe(`Reject connections with invalid/self-signed certificates`),ca:I().optional().describe(`CA certificate (PEM format or path to file)`),cert:I().optional().describe(`Client certificate (PEM format or path to file)`),key:I().optional().describe(`Client private key (PEM format or path to file)`)}).optional().describe(`SSL/TLS configuration for secure database connections`),retryPolicy:V({maxRetries:L().default(3).describe(`Maximum number of retry attempts`),baseDelayMs:L().default(1e3).describe(`Base delay between retries in milliseconds`),maxDelayMs:L().default(3e4).describe(`Maximum delay between retries in milliseconds`),backoffMultiplier:L().default(2).describe(`Exponential backoff multiplier`)}).optional().describe(`Connection retry policy for transient failures`),description:I().optional().describe(`Internal description`),active:R().default(!0).describe(`Is datasource enabled`)}));var ug=W([`count`,`sum`,`avg`,`min`,`max`,`count_distinct`,`number`,`string`,`boolean`]),dg=W([`string`,`number`,`boolean`,`time`,`geo`]),fg=W([`second`,`minute`,`hour`,`day`,`week`,`month`,`quarter`,`year`]),pg=K(()=>V({name:I().regex(/^[a-z_][a-z0-9_]*$/).describe(`Unique metric ID`),label:I().describe(`Human readable label`),description:I().optional(),type:ug,sql:I().describe(`SQL expression or field reference`),filters:B(V({sql:I()})).optional(),format:I().optional()})),mg=K(()=>V({name:I().regex(/^[a-z_][a-z0-9_]*$/).describe(`Unique dimension ID`),label:I().describe(`Human readable label`),description:I().optional(),type:dg,sql:I().describe(`SQL expression or column reference`),granularities:B(fg).optional()})),hg=K(()=>V({name:I().describe(`Target cube name`),relationship:W([`one_to_one`,`one_to_many`,`many_to_one`]).default(`many_to_one`),sql:I().describe(`Join condition (ON clause)`)}));K(()=>V({name:I().regex(/^[a-z_][a-z0-9_]*$/).describe(`Cube name (snake_case)`),title:I().optional(),description:I().optional(),sql:I().describe(`Base SQL statement or Table Name`),measures:U(I(),pg).describe(`Quantitative metrics`),dimensions:U(I(),mg).describe(`Qualitative attributes`),joins:U(I(),hg).optional(),refreshKey:V({every:I().optional(),sql:I().optional()}).optional(),public:R().default(!1)})),K(()=>V({cube:I().optional().describe(`Target cube name (optional when provided externally, e.g. in API request wrapper)`),measures:B(I()).describe(`List of metrics to calculate`),dimensions:B(I()).optional().describe(`List of dimensions to group by`),where:Yf.optional().describe(`Filtering criteria (canonical Query DSL FilterCondition)`),timeDimensions:B(V({dimension:I(),granularity:fg.optional(),dateRange:H([I(),B(I())]).optional()})).optional(),order:U(I(),W([`asc`,`desc`])).optional(),limit:L().optional(),offset:L().optional(),timezone:I().optional().default(`UTC`)}));var gg=W([`comment`,`field_change`,`task`,`event`,`email`,`call`,`note`,`file`,`record_create`,`record_delete`,`approval`,`sharing`,`system`]),_g=K(()=>V({type:W([`user`,`team`,`record`]).describe(`Mention target type`),id:I().describe(`Target ID`),name:I().describe(`Display name for rendering`),offset:L().int().min(0).describe(`Character offset in body text`),length:L().int().min(1).describe(`Length of mention token in body text`)})),vg=K(()=>V({field:I().describe(`Field machine name`),fieldLabel:I().optional().describe(`Field display label`),oldValue:z().optional().describe(`Previous value`),newValue:z().optional().describe(`New value`),oldDisplayValue:I().optional().describe(`Human-readable old value`),newDisplayValue:I().optional().describe(`Human-readable new value`)})),yg=K(()=>V({emoji:I().describe(`Emoji character or shortcode (e.g., "👍", ":thumbsup:")`),userIds:B(I()).describe(`Users who reacted`),count:L().int().min(1).describe(`Total reaction count`)})),bg=K(()=>V({type:W([`user`,`system`,`service`,`automation`]).describe(`Actor type`),id:I().describe(`Actor ID`),name:I().optional().describe(`Actor display name`),avatarUrl:I().url().optional().describe(`Actor avatar URL`),source:I().optional().describe(`Source application (e.g., "Omni", "API", "Studio")`)})),xg=W([`public`,`internal`,`private`]);K(()=>V({id:I().describe(`Feed item ID`),type:gg.describe(`Activity type`),object:I().describe(`Object name (e.g., "account")`),recordId:I().describe(`Record ID this feed item belongs to`),actor:bg.describe(`Who performed this action`),body:I().optional().describe(`Rich text body (Markdown supported)`),mentions:B(_g).optional().describe(`Mentioned users/teams/records`),changes:B(vg).optional().describe(`Field-level changes`),reactions:B(yg).optional().describe(`Emoji reactions on this item`),parentId:I().optional().describe(`Parent feed item ID for threaded replies`),replyCount:L().int().min(0).default(0).describe(`Number of replies`),pinned:R().default(!1).describe(`Whether the feed item is pinned to the top of the timeline`),pinnedAt:I().datetime().optional().describe(`Timestamp when the item was pinned`),pinnedBy:I().optional().describe(`User ID who pinned the item`),starred:R().default(!1).describe(`Whether the feed item is starred/bookmarked by the current user`),starredAt:I().datetime().optional().describe(`Timestamp when the item was starred`),visibility:xg.default(`public`).describe(`Visibility: public (all users), internal (team only), private (author + mentioned)`),createdAt:I().datetime().describe(`Creation timestamp`),updatedAt:I().datetime().optional().describe(`Last update timestamp`),editedAt:I().datetime().optional().describe(`When comment was last edited`),isEdited:R().default(!1).describe(`Whether comment has been edited`)})),W([`all`,`comments_only`,`changes_only`,`tasks_only`]);var Sg=W([`comment`,`mention`,`field_change`,`task`,`approval`,`all`]),Cg=W([`in_app`,`email`,`push`,`slack`]);K(()=>V({object:I().describe(`Object name`),recordId:I().describe(`Record ID`),userId:I().describe(`Subscribing user ID`),events:B(Sg).default([`all`]).describe(`Event types to receive notifications for`),channels:B(Cg).default([`in_app`]).describe(`Notification delivery channels`),active:R().default(!0).describe(`Whether the subscription is active`),createdAt:I().datetime().describe(`Subscription creation timestamp`)}));var wg=K(()=>W([`header`,`subdomain`,`path`,`token`,`lookup`]).describe(`Strategy for resolving tenant identity from request context`)),Tg=K(()=>V({name:I().min(1).describe(`Turso database group name`),primaryLocation:I().min(2).describe(`Primary Turso region code (e.g., iad, lhr, nrt)`),replicaLocations:B(I().min(2)).default([]).describe(`Additional replica region codes`),schemaDatabase:I().optional().describe(`Schema database name for multi-db schemas`)}).describe(`Turso database group configuration`)),Eg=K(()=>V({onTenantCreate:V({autoCreate:R().default(!0).describe(`Auto-create database on tenant registration`),group:I().optional().describe(`Turso group for the new database`),applyGroupSchema:R().default(!0).describe(`Apply shared schema from group`),seedData:R().default(!1).describe(`Populate seed data on creation`)}).describe(`Tenant creation hook`),onTenantDelete:V({immediate:R().default(!1).describe(`Destroy database immediately`),gracePeriodHours:L().int().min(0).default(72).describe(`Grace period before permanent deletion`),createBackup:R().default(!0).describe(`Create backup before deletion`)}).describe(`Tenant deletion hook`),onTenantSuspend:V({revokeTokens:R().default(!0).describe(`Revoke auth tokens on suspension`),readOnly:R().default(!0).describe(`Set database to read-only on suspension`)}).describe(`Tenant suspension hook`)}).describe(`Tenant database lifecycle hooks`));K(()=>V({organizationSlug:I().min(1).describe(`Turso organization slug`),urlTemplate:I().min(1).describe(`URL template with {tenant_id} placeholder`),groupAuthToken:I().min(1).describe(`Group-level auth token for platform operations`),tenantResolverStrategy:wg.default(`token`),group:Tg.optional().describe(`Database group configuration`),lifecycle:Eg.optional().describe(`Lifecycle hooks`),maxCachedConnections:L().int().min(1).default(100).describe(`Max cached tenant connections (LRU)`),connectionCacheTTL:L().int().min(0).default(300).describe(`Connection cache TTL in seconds`)}).describe(`Turso multi-tenant router configuration`));var Dg=(e=>l===void 0?typeof Proxy<`u`?new Proxy(e,{get:(e,t)=>(l===void 0?e:l)[t]}):e:l)(function(e){if(l!==void 0)return l.apply(this,arguments);throw Error(`Dynamic require of "`+e+`" is not supported`)}),Og={debug:0,info:1,warn:2,error:3,fatal:4,silent:5},kg={debug:`\x1B[36m`,info:`\x1B[32m`,warn:`\x1B[33m`,error:`\x1B[31m`,fatal:`\x1B[35m`,silent:``},Ag=`\x1B[0m`,jg=class e{constructor(e={},t={}){this.config={name:e.name,level:e.level??`info`,format:e.format??`pretty`,redact:e.redact??[`password`,`token`,`secret`,`key`],sourceLocation:e.sourceLocation??!1,file:e.file,rotation:e.rotation??{maxSize:`10m`,maxFiles:5}},this.bindings=t,this.config.file&&typeof process<`u`&&this.openFileStream(this.config.file)}openFileStream(e){try{let t=Dg(`fs`),n=Dg(`path`).dirname(e);t.mkdirSync(n,{recursive:!0}),this.fileStream=t.createWriteStream(e,{flags:`a`})}catch{}}isEnabled(e){return Og[e]>=Og[this.config.level]}redactSensitive(e){if(!e||typeof e!=`object`)return e;let t=Array.isArray(e)?[...e]:{...e};for(let e in t){let n=e.toLowerCase();this.config.redact.some(e=>n.includes(e.toLowerCase()))?t[e]=`***REDACTED***`:typeof t[e]==`object`&&t[e]!==null&&(t[e]=this.redactSensitive(t[e]))}return t}write(e,t,n,r){if(!this.isEnabled(e))return;let i=this.redactSensitive({...this.bindings,...n,...r?{error:{message:r.message,stack:r.stack}}:{}}),a=Object.keys(i).length>0,o=new Date().toISOString(),s;if(this.config.format===`json`)s=JSON.stringify({time:o,level:e,...this.config.name?{name:this.config.name}:{},msg:t,...i});else if(this.config.format===`text`){let n=[o,e.toUpperCase(),t];a&&n.push(JSON.stringify(i)),s=n.join(` | `)}else{let n=kg[e]||``,r=this.config.name?`[${this.config.name}] `:``;s=`${n}${o} ${e.toUpperCase()}${Ag} ${r}${t}`,a&&(s+=` ${JSON.stringify(i)}`)}let c=s+`
|
|
73
|
-
`;typeof process<`u`&&process.stderr?e===`error`||e===`fatal`?process.stderr.write(c):process.stdout?.write(c):typeof console<`u`&&(e===`error`||e===`fatal`?console.error:e===`warn`?console.warn:e===`debug`?console.debug:console.log)(s),this.fileStream&&this.fileStream.write(c)}debug(e,t){this.write(`debug`,e,t)}info(e,t){this.write(`info`,e,t)}warn(e,t){this.write(`warn`,e,t)}error(e,t,n){t instanceof Error?this.write(`error`,e,n,t):this.write(`error`,e,t)}fatal(e,t,n){t instanceof Error?this.write(`fatal`,e,n,t):this.write(`fatal`,e,t)}log(e,...t){this.info(e,t.length>0?{args:t}:void 0)}child(t){let n=new e(this.config,{...this.bindings,...t});return n.fileStream=this.fileStream,n}withTrace(e,t){return this.child({traceId:e,spanId:t})}async destroy(){this.fileStream&&=(await new Promise(e=>this.fileStream.end(e)),void 0)}};function Mg(e){return new jg(e)}var Ng=class{constructor(e,t){this.subscriptions=new Map,this.eventBuffer=[],this._baseUrl=e,this._token=t}subscribeMetadata(e,t,n){let r=`metadata-${e}-${Date.now()}`;return this.subscriptions.set(r,{filter:{type:e,packageId:n?.packageId,eventTypes:[`metadata.${e}.created`,`metadata.${e}.updated`,`metadata.${e}.deleted`]},handler:e=>{e.type.startsWith(`metadata.`)&&t(e)}}),this.startPolling(),()=>{this.subscriptions.delete(r),this.subscriptions.size===0&&this.stopPolling()}}subscribeData(e,t,n){let r=`data-${e}-${Date.now()}`;return this.subscriptions.set(r,{filter:{type:e,recordId:n?.recordId,eventTypes:[`data.record.created`,`data.record.updated`,`data.record.deleted`]},handler:r=>{r.type.startsWith(`data.`)&&r.object===e&&(!n?.recordId||r.payload?.recordId===n.recordId)&&t(r)}}),this.startPolling(),()=>{this.subscriptions.delete(r),this.subscriptions.size===0&&this.stopPolling()}}emitEvent(e){for(let t of this.subscriptions.values()){let n=!t.filter.type||e.type.includes(t.filter.type)||e.object===t.filter.type,r=!t.filter.eventTypes?.length||t.filter.eventTypes.includes(e.type),i=!t.filter.packageId||e.payload?.packageId===t.filter.packageId;if(n&&r&&i)try{t.handler(e)}catch(e){console.error(`Error in realtime event handler:`,e)}}}startPolling(){this.pollInterval||=setInterval(()=>{for(;this.eventBuffer.length>0;){let e=this.eventBuffer.shift();e&&this.emitEvent(e)}},2e3)}stopPolling(){this.pollInterval&&=(clearInterval(this.pollInterval),void 0)}_bufferEvent(e){this.eventBuffer.push(e)}disconnect(){this.stopPolling(),this.subscriptions.clear(),this.eventBuffer=[]}},Pg=class{constructor(e){this.meta={getTypes:async()=>{let e=this.getRoute(`metadata`),t=await this.fetch(`${this.baseUrl}${e}`);return this.unwrapResponse(t)},getItems:async(e,t)=>{let n=this.getRoute(`metadata`),r=new URLSearchParams;t?.packageId&&r.set(`package`,t.packageId);let i=r.toString(),a=`${this.baseUrl}${n}/${e}${i?`?${i}`:``}`,o=await this.fetch(a);return this.unwrapResponse(o)},getItem:async(e,t,n)=>{let r=this.getRoute(`metadata`),i=new URLSearchParams;n?.packageId&&i.set(`package`,n.packageId);let a=i.toString(),o=`${this.baseUrl}${r}/${e}/${t}${a?`?${a}`:``}`,s=await this.fetch(o);return this.unwrapResponse(s)},saveItem:async(e,t,n)=>{let r=this.getRoute(`metadata`),i=await this.fetch(`${this.baseUrl}${r}/${e}/${t}`,{method:`PUT`,body:JSON.stringify(n)});return this.unwrapResponse(i)},deleteItem:async(e,t)=>{let n=this.getRoute(`metadata`),r=await this.fetch(`${this.baseUrl}${n}/${encodeURIComponent(e)}/${encodeURIComponent(t)}`,{method:`DELETE`});return this.unwrapResponse(r)},getHistory:async(e,t,n)=>{let r=this.getRoute(`metadata`),i=new URLSearchParams;n?.sinceSeq!==void 0&&i.set(`sinceSeq`,String(n.sinceSeq)),n?.limit!==void 0&&i.set(`limit`,String(n.limit));let a=i.toString(),o=`${this.baseUrl}${r}/${encodeURIComponent(e)}/${encodeURIComponent(t)}/history${a?`?${a}`:``}`,s=await this.fetch(o);return this.unwrapResponse(s)},getCached:async(e,t)=>{let n=this.getRoute(`metadata`),r={};t?.ifNoneMatch&&(r[`If-None-Match`]=t.ifNoneMatch),t?.ifModifiedSince&&(r[`If-Modified-Since`]=t.ifModifiedSince);let i=await this.fetch(`${this.baseUrl}${n}/object/${e}`,{headers:r});if(i.status===304)return{notModified:!0,etag:t?.ifNoneMatch?{value:t.ifNoneMatch.replace(/^W\/|"/g,``),weak:t.ifNoneMatch.startsWith(`W/`)}:void 0};let a=await i.json(),o=i.headers.get(`ETag`),s=i.headers.get(`Last-Modified`);return{data:a,etag:o?{value:o.replace(/^W\/|"/g,``),weak:o.startsWith(`W/`)}:void 0,lastModified:s||void 0,notModified:!1}},getView:async(e,t=`list`)=>{let n=this.getRoute(`ui`),r=await this.fetch(`${this.baseUrl}${n}/view/${e}?type=${t}`);return this.unwrapResponse(r)}},this.analytics={query:async e=>{let t=this.getRoute(`analytics`);return(await this.fetch(`${this.baseUrl}${t}/query`,{method:`POST`,body:JSON.stringify(e)})).json()},meta:async e=>{let t=this.getRoute(`analytics`);return(await this.fetch(`${this.baseUrl}${t}/meta/${e}`)).json()},explain:async e=>{let t=this.getRoute(`analytics`);return(await this.fetch(`${this.baseUrl}${t}/explain`,{method:`POST`,body:JSON.stringify(e)})).json()}},this.packages={list:async e=>{let t=this.getRoute(`packages`),n=new URLSearchParams;e?.status&&n.set(`status`,e.status),e?.type&&n.set(`type`,e.type),e?.enabled!==void 0&&n.set(`enabled`,String(e.enabled));let r=n.toString(),i=`${this.baseUrl}${t}${r?`?`+r:``}`,a=await this.fetch(i);return this.unwrapResponse(a)},get:async e=>{let t=this.getRoute(`packages`),n=await this.fetch(`${this.baseUrl}${t}/${encodeURIComponent(e)}`);return this.unwrapResponse(n)},install:async(e,t)=>{let n=this.getRoute(`packages`),r=await this.fetch(`${this.baseUrl}${n}`,{method:`POST`,body:JSON.stringify({manifest:e,settings:t?.settings,enableOnInstall:t?.enableOnInstall})});return this.unwrapResponse(r)},uninstall:async e=>{let t=this.getRoute(`packages`),n=await this.fetch(`${this.baseUrl}${t}/${encodeURIComponent(e)}`,{method:`DELETE`});return this.unwrapResponse(n)},enable:async e=>{let t=this.getRoute(`packages`),n=await this.fetch(`${this.baseUrl}${t}/${encodeURIComponent(e)}/enable`,{method:`PATCH`});return this.unwrapResponse(n)},disable:async e=>{let t=this.getRoute(`packages`),n=await this.fetch(`${this.baseUrl}${t}/${encodeURIComponent(e)}/disable`,{method:`PATCH`});return this.unwrapResponse(n)}},this.projects={list:async e=>{let t=new URLSearchParams;e?.organization_id&&t.set(`organizationId`,e.organization_id),e?.env_type&&t.set(`envType`,e.env_type),e?.status&&t.set(`status`,e.status);let n=t.toString(),r=`${this.baseUrl}/api/v1/cloud/projects${n?`?`+n:``}`,i=await this.fetch(r);return this.unwrapResponse(i)},get:async e=>{let t=await this.fetch(`${this.baseUrl}/api/v1/cloud/projects/${encodeURIComponent(e)}`);return this.unwrapResponse(t)},create:async e=>{let t=await this.fetch(`${this.baseUrl}/api/v1/cloud/projects`,{method:`POST`,body:JSON.stringify(e)});return this.unwrapResponse(t)},update:async(e,t)=>{let n=await this.fetch(`${this.baseUrl}/api/v1/cloud/projects/${encodeURIComponent(e)}`,{method:`PATCH`,body:JSON.stringify(t)});return this.unwrapResponse(n)},delete:async(e,t)=>{let n=t?.force?`?force=1`:``,r=await this.fetch(`${this.baseUrl}/api/v1/cloud/projects/${encodeURIComponent(e)}${n}`,{method:`DELETE`});return this.unwrapResponse(r)},activate:async e=>{let t=await this.fetch(`${this.baseUrl}/api/v1/cloud/projects/${encodeURIComponent(e)}/activate`,{method:`POST`});return this.unwrapResponse(t)},rotateCredential:async(e,t)=>{let n=await this.fetch(`${this.baseUrl}/api/v1/cloud/projects/${encodeURIComponent(e)}/credentials/rotate`,{method:`POST`,body:JSON.stringify({plaintext:t})});return this.unwrapResponse(n)},updateHostname:async(e,t)=>{let n=await this.fetch(`${this.baseUrl}/api/v1/cloud/projects/${encodeURIComponent(e)}/hostname`,{method:`POST`,body:JSON.stringify({hostname:t})});return this.unwrapResponse(n)},updateVisibility:async(e,t)=>{let n=await this.fetch(`${this.baseUrl}/api/v1/cloud/projects/${encodeURIComponent(e)}`,{method:`PATCH`,body:JSON.stringify({visibility:t})});return this.unwrapResponse(n)},listRevisions:async(e,t)=>{let n=new URLSearchParams;t?.limit&&n.set(`limit`,String(t.limit)),t?.cursor&&n.set(`cursor`,t.cursor),t?.branch&&n.set(`branch`,t.branch);let r=n.toString(),i=await this.fetch(`${this.baseUrl}/api/v1/cloud/projects/${encodeURIComponent(e)}/revisions${r?`?${r}`:``}`);return this.unwrapResponse(i)},listBranches:async e=>{let t=await this.fetch(`${this.baseUrl}/api/v1/cloud/projects/${encodeURIComponent(e)}/branches`);return this.unwrapResponse(t)},renameBranch:async(e,t,n)=>{let r=await this.fetch(`${this.baseUrl}/api/v1/cloud/projects/${encodeURIComponent(e)}/branches/${encodeURIComponent(t)}/rename`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({newName:n})});return this.unwrapResponse(r)},deleteBranch:async(e,t)=>{let n=await this.fetch(`${this.baseUrl}/api/v1/cloud/projects/${encodeURIComponent(e)}/branches/${encodeURIComponent(t)}`,{method:`DELETE`});return this.unwrapResponse(n)},activateRevision:async(e,t)=>{let n=await this.fetch(`${this.baseUrl}/api/v1/cloud/projects/${encodeURIComponent(e)}/revisions/${encodeURIComponent(t)}/activate`,{method:`POST`});return this.unwrapResponse(n)},retryProvisioning:async e=>{let t=await this.fetch(`${this.baseUrl}/api/v1/cloud/projects/${encodeURIComponent(e)}/retry`,{method:`POST`});return this.unwrapResponse(t)},listMembers:async e=>{let t=await this.fetch(`${this.baseUrl}/api/v1/cloud/projects/${encodeURIComponent(e)}/members`);return this.unwrapResponse(t)},addMember:async(e,t)=>{let n=await this.fetch(`${this.baseUrl}/api/v1/cloud/projects/${encodeURIComponent(e)}/members`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify(t)});return this.unwrapResponse(n)},updateMemberRole:async(e,t,n)=>{let r=await this.fetch(`${this.baseUrl}/api/v1/cloud/projects/${encodeURIComponent(e)}/members/${encodeURIComponent(t)}`,{method:`PATCH`,headers:{"content-type":`application/json`},body:JSON.stringify({role:n})});return this.unwrapResponse(r)},removeMember:async(e,t)=>{let n=await this.fetch(`${this.baseUrl}/api/v1/cloud/projects/${encodeURIComponent(e)}/members/${encodeURIComponent(t)}`,{method:`DELETE`});return this.unwrapResponse(n)},listDrivers:async()=>{let e=await this.fetch(`${this.baseUrl}/api/v1/cloud/drivers`);return this.unwrapResponse(e)},listTemplates:async()=>{let e=await this.fetch(`${this.baseUrl}/api/v1/cloud/templates`);return this.unwrapResponse(e)},packages:{list:async e=>{let t=await this.fetch(`${this.baseUrl}/api/v1/cloud/projects/${encodeURIComponent(e)}/packages`);return this.unwrapResponse(t)},install:async(e,t)=>{let n=await this.fetch(`${this.baseUrl}/api/v1/cloud/projects/${encodeURIComponent(e)}/packages`,{method:`POST`,body:JSON.stringify(t)});return this.unwrapResponse(n)},get:async(e,t)=>{let n=await this.fetch(`${this.baseUrl}/api/v1/cloud/projects/${encodeURIComponent(e)}/packages/${encodeURIComponent(t)}`);return this.unwrapResponse(n)},enable:async(e,t)=>{let n=await this.fetch(`${this.baseUrl}/api/v1/cloud/projects/${encodeURIComponent(e)}/packages/${encodeURIComponent(t)}/enable`,{method:`PATCH`});return this.unwrapResponse(n)},disable:async(e,t)=>{let n=await this.fetch(`${this.baseUrl}/api/v1/cloud/projects/${encodeURIComponent(e)}/packages/${encodeURIComponent(t)}/disable`,{method:`PATCH`});return this.unwrapResponse(n)},uninstall:async(e,t)=>{let n=await this.fetch(`${this.baseUrl}/api/v1/cloud/projects/${encodeURIComponent(e)}/packages/${encodeURIComponent(t)}`,{method:`DELETE`});return this.unwrapResponse(n)},upgrade:async(e,t,n)=>{let r=await this.fetch(`${this.baseUrl}/api/v1/cloud/projects/${encodeURIComponent(e)}/packages/${encodeURIComponent(t)}/upgrade`,{method:`POST`,body:JSON.stringify({targetVersion:n})});return this.unwrapResponse(r)}}},this.organizations={list:async()=>{let e=this.getRoute(`auth`),t=await(await this.fetch(`${this.baseUrl}${e}/organization/list`)).json();return{organizations:Array.isArray(t)?t:t?.data??[]}},create:async e=>{let t=this.getRoute(`auth`);return(await this.fetch(`${this.baseUrl}${t}/organization/create`,{method:`POST`,body:JSON.stringify(e)})).json()},update:async(e,t)=>{let n=this.getRoute(`auth`);return(await this.fetch(`${this.baseUrl}${n}/organization/update`,{method:`POST`,body:JSON.stringify({organizationId:e,data:t})})).json()},setActive:async e=>{let t=this.getRoute(`auth`);return(await this.fetch(`${this.baseUrl}${t}/organization/set-active`,{method:`POST`,body:JSON.stringify({organizationId:e})})).json()},get:async e=>{let t=this.getRoute(`auth`);return(await this.fetch(`${this.baseUrl}${t}/organization/get-full-organization?organizationId=${encodeURIComponent(e)}`)).json()},listMembers:async e=>{let t=this.getRoute(`auth`);return(await this.fetch(`${this.baseUrl}${t}/organization/list-members?organizationId=${encodeURIComponent(e)}`)).json()},invite:async e=>{let t=this.getRoute(`auth`);return(await this.fetch(`${this.baseUrl}${t}/organization/invite-member`,{method:`POST`,body:JSON.stringify(e)})).json()},leave:async e=>{let t=this.getRoute(`auth`);return(await this.fetch(`${this.baseUrl}${t}/organization/leave`,{method:`POST`,body:JSON.stringify({organizationId:e})})).json()},delete:async e=>{let t=this.getRoute(`auth`);return(await this.fetch(`${this.baseUrl}${t}/organization/delete`,{method:`POST`,body:JSON.stringify({organizationId:e})})).json()},removeMember:async(e,t)=>{let n=this.getRoute(`auth`);return(await this.fetch(`${this.baseUrl}${n}/organization/remove-member`,{method:`POST`,body:JSON.stringify({memberIdOrEmail:t.memberIdOrEmail,organizationId:e})})).json()},updateMemberRole:async(e,t)=>{let n=this.getRoute(`auth`);return(await this.fetch(`${this.baseUrl}${n}/organization/update-member-role`,{method:`POST`,body:JSON.stringify({memberId:t.memberId,role:t.role,organizationId:e})})).json()},getActiveMember:async e=>{let t=this.getRoute(`auth`);return(await this.fetch(`${this.baseUrl}${t}/organization/get-active-member?organizationId=${encodeURIComponent(e)}`)).json()},invitations:{list:async e=>{let t=this.getRoute(`auth`),n=await(await this.fetch(`${this.baseUrl}${t}/organization/list-invitations?organizationId=${encodeURIComponent(e)}`)).json();return{invitations:Array.isArray(n)?n:n?.data??n?.invitations??[]}},listMine:async()=>{let e=this.getRoute(`auth`),t=await(await this.fetch(`${this.baseUrl}${e}/organization/list-user-invitations`)).json();return{invitations:Array.isArray(t)?t:t?.data??t?.invitations??[]}},cancel:async e=>{let t=this.getRoute(`auth`);return(await this.fetch(`${this.baseUrl}${t}/organization/cancel-invitation`,{method:`POST`,body:JSON.stringify({invitationId:e})})).json()},accept:async e=>{let t=this.getRoute(`auth`);return(await this.fetch(`${this.baseUrl}${t}/organization/accept-invitation`,{method:`POST`,body:JSON.stringify({invitationId:e})})).json()},reject:async e=>{let t=this.getRoute(`auth`);return(await this.fetch(`${this.baseUrl}${t}/organization/reject-invitation`,{method:`POST`,body:JSON.stringify({invitationId:e})})).json()},resend:async e=>{if(e.id)try{await this.organizations.invitations.cancel(e.id)}catch{}return this.organizations.invite({email:e.email,role:e.role??`member`,organizationId:e.organizationId})}},teams:{list:async e=>{let t=this.getRoute(`auth`),n=await(await this.fetch(`${this.baseUrl}${t}/organization/list-teams?organizationId=${encodeURIComponent(e)}`)).json();return{teams:Array.isArray(n)?n:n?.data??n?.teams??[]}},create:async e=>{let t=this.getRoute(`auth`);return(await this.fetch(`${this.baseUrl}${t}/organization/create-team`,{method:`POST`,body:JSON.stringify(e)})).json()},update:async e=>{let t=this.getRoute(`auth`);return(await this.fetch(`${this.baseUrl}${t}/organization/update-team`,{method:`POST`,body:JSON.stringify(e)})).json()},delete:async e=>{let t=this.getRoute(`auth`);return(await this.fetch(`${this.baseUrl}${t}/organization/remove-team`,{method:`POST`,body:JSON.stringify(e)})).json()},listMembers:async e=>{let t=this.getRoute(`auth`),n=await(await this.fetch(`${this.baseUrl}${t}/organization/list-team-members?teamId=${encodeURIComponent(e)}`)).json();return{members:Array.isArray(n)?n:n?.data??n?.members??[]}},addMember:async e=>{let t=this.getRoute(`auth`);return(await this.fetch(`${this.baseUrl}${t}/organization/add-team-member`,{method:`POST`,body:JSON.stringify(e)})).json()},removeMember:async e=>{let t=this.getRoute(`auth`);return(await this.fetch(`${this.baseUrl}${t}/organization/remove-team-member`,{method:`POST`,body:JSON.stringify(e)})).json()}}},this.oauth={applications:{register:async e=>{let t=this.getRoute(`auth`);return(await this.fetch(`${this.baseUrl}${t}/oauth2/create-client`,{method:`POST`,body:JSON.stringify(e)})).json()},get:async e=>{let t=this.getRoute(`auth`);return(await this.fetch(`${this.baseUrl}${t}/oauth2/get-client?client_id=${encodeURIComponent(e)}`)).json()},getPublic:async e=>{let t=this.getRoute(`auth`);return(await this.fetch(`${this.baseUrl}${t}/oauth2/public-client?client_id=${encodeURIComponent(e)}`)).json()},list:async()=>{let e=this.getRoute(`auth`),t=await(await this.fetch(`${this.baseUrl}${e}/oauth2/get-clients`)).json();return{applications:Array.isArray(t)?t:t?.clients??t?.data??[]}},delete:async e=>{let t=this.getRoute(`auth`);return(await this.fetch(`${this.baseUrl}${t}/oauth2/delete-client`,{method:`POST`,body:JSON.stringify({client_id:e})})).json()}},consent:async e=>{let t=this.getRoute(`auth`);return(await this.fetch(`${this.baseUrl}${t}/oauth2/consent`,{method:`POST`,body:JSON.stringify(e)})).json()}},this.auth={getConfig:async()=>{let e=this.getRoute(`auth`),t=await this.fetch(`${this.baseUrl}${e}/config`);return this.unwrapResponse(t)},login:async e=>{let t=this.getRoute(`auth`),n=await(await this.fetch(`${this.baseUrl}${t}/sign-in/email`,{method:`POST`,headers:{Origin:this.baseUrl},body:JSON.stringify(e)})).json(),r=n&&(n.data??(n.token||n.user?{token:n.token,user:n.user}:void 0)),i=r?{...n,data:r}:n;return i.data?.token&&(this.token=i.data.token),i},logout:async()=>{let e=this.getRoute(`auth`);await this.fetch(`${this.baseUrl}${e}/sign-out`,{method:`POST`,headers:{"Content-Type":`application/json`,Origin:this.baseUrl},body:`{}`}),this.token=void 0},me:async()=>{let e=this.getRoute(`auth`);return(await this.fetch(`${this.baseUrl}${e}/get-session`,{headers:{Origin:this.baseUrl}})).json()},register:async e=>{let t=this.getRoute(`auth`),n=await(await this.fetch(`${this.baseUrl}${t}/sign-up/email`,{method:`POST`,headers:{Origin:this.baseUrl},body:JSON.stringify(e)})).json(),r=n&&(n.data??(n.token||n.user?{token:n.token,user:n.user}:void 0)),i=r?{...n,data:r}:n;return i.data?.token&&(this.token=i.data.token),i},signInWithProvider:async(e,t)=>{if(typeof window>`u`)throw Error(`signInWithProvider requires a browser environment`);let n=this.getRoute(`auth`),r=t?.callbackURL??window.location.origin+`/login`,i=t?.type===`oidc`,a=i?`/sign-in/oauth2`:`/sign-in/social`,o=i?{providerId:e,callbackURL:r}:{provider:e,callbackURL:r};t?.errorCallbackURL&&(o.errorCallbackURL=t.errorCallbackURL);let s=await(await this.fetch(`${this.baseUrl}${n}${a}`,{method:`POST`,body:JSON.stringify(o)})).json(),c=s?.url??s?.data?.url;if(c)window.location.assign(c);else throw Error(`signInWithProvider: no redirect URL returned for provider "${e}"`)},refreshToken:async e=>{let t=this.getRoute(`auth`),n=await(await this.fetch(`${this.baseUrl}${t}/get-session`,{method:`GET`})).json();return n.data?.token&&(this.token=n.data.token),n},bootstrapStatus:async()=>{let e=this.getRoute(`auth`),t=await(await this.fetch(`${this.baseUrl}${e}/bootstrap-status`)).json();return{hasOwner:!!(t?.data??t)?.hasOwner}},updateUser:async e=>{let t=this.getRoute(`auth`);return(await this.fetch(`${this.baseUrl}${t}/update-user`,{method:`POST`,body:JSON.stringify(e)})).json()},changePassword:async e=>{let t=this.getRoute(`auth`);return(await this.fetch(`${this.baseUrl}${t}/change-password`,{method:`POST`,body:JSON.stringify(e)})).json()},changeEmail:async e=>{let t=this.getRoute(`auth`);return(await this.fetch(`${this.baseUrl}${t}/change-email`,{method:`POST`,body:JSON.stringify(e)})).json()},sendVerificationEmail:async e=>{let t=this.getRoute(`auth`);return(await this.fetch(`${this.baseUrl}${t}/send-verification-email`,{method:`POST`,body:JSON.stringify(e)})).json()},verifyEmail:async e=>{let t=this.getRoute(`auth`),n=new URL(`${this.baseUrl}${t}/verify-email`);return n.searchParams.set(`token`,e.token),e.callbackURL&&n.searchParams.set(`callbackURL`,e.callbackURL),(await this.fetch(n.toString())).json()},deleteUser:async e=>{let t=this.getRoute(`auth`),n=await this.fetch(`${this.baseUrl}${t}/delete-user`,{method:`POST`,body:JSON.stringify(e)});return this.token=void 0,n.json()},sessions:{list:async()=>{let e=this.getRoute(`auth`),t=await(await this.fetch(`${this.baseUrl}${e}/list-sessions`)).json();return{sessions:Array.isArray(t)?t:t?.data??t?.sessions??[]}},revoke:async e=>{let t=this.getRoute(`auth`);return(await this.fetch(`${this.baseUrl}${t}/revoke-session`,{method:`POST`,body:JSON.stringify({token:e})})).json()},revokeOthers:async()=>{let e=this.getRoute(`auth`);return(await this.fetch(`${this.baseUrl}${e}/revoke-other-sessions`,{method:`POST`,body:`{}`})).json()},revokeAll:async()=>{let e=this.getRoute(`auth`),t=await this.fetch(`${this.baseUrl}${e}/revoke-sessions`,{method:`POST`,body:`{}`});return this.token=void 0,t.json()}},twoFactor:{enable:async e=>{let t=this.getRoute(`auth`),n=await(await this.fetch(`${this.baseUrl}${t}/two-factor/enable`,{method:`POST`,body:JSON.stringify(e)})).json();return n?.data??n},verifyTotp:async e=>{let t=this.getRoute(`auth`);return(await this.fetch(`${this.baseUrl}${t}/two-factor/verify-totp`,{method:`POST`,body:JSON.stringify(e)})).json()},disable:async e=>{let t=this.getRoute(`auth`);return(await this.fetch(`${this.baseUrl}${t}/two-factor/disable`,{method:`POST`,body:JSON.stringify(e)})).json()},generateBackupCodes:async e=>{let t=this.getRoute(`auth`),n=await(await this.fetch(`${this.baseUrl}${t}/two-factor/generate-backup-codes`,{method:`POST`,body:JSON.stringify(e)})).json();return n?.data??n},verifyBackupCode:async e=>{let t=this.getRoute(`auth`);return(await this.fetch(`${this.baseUrl}${t}/two-factor/verify-backup-code`,{method:`POST`,body:JSON.stringify(e)})).json()}},accounts:{list:async()=>{let e=this.getRoute(`auth`),t=await(await this.fetch(`${this.baseUrl}${e}/list-accounts`)).json();return{accounts:Array.isArray(t)?t:t?.data??t?.accounts??[]}},unlink:async e=>{let t=this.getRoute(`auth`);return(await this.fetch(`${this.baseUrl}${t}/unlink-account`,{method:`POST`,body:JSON.stringify(e)})).json()},linkSocial:async e=>{let t=this.getRoute(`auth`),n=e.callbackURL??(typeof window<`u`?window.location.href:void 0),r=await(await this.fetch(`${this.baseUrl}${t}/link-social`,{method:`POST`,body:JSON.stringify({provider:e.provider,callbackURL:n})})).json();return r?.data??r}}},this.storage={upload:async(e,t=`user`)=>{let n={filename:e.name,mimeType:e.type,size:e.size,scope:t},r=this.getRoute(`storage`),{data:i}=await(await this.fetch(`${this.baseUrl}${r}/upload/presigned`,{method:`POST`,body:JSON.stringify(n)})).json(),a=await this.fetchImpl(i.uploadUrl,{method:i.method,headers:i.headers,body:e});if(!a.ok)throw Error(`Storage Upload Failed: ${a.statusText}`);let o={fileId:i.fileId};return(await this.fetch(`${this.baseUrl}${r}/upload/complete`,{method:`POST`,body:JSON.stringify(o)})).json()},getDownloadUrl:async e=>{let t=this.getRoute(`storage`);return(await(await this.fetch(`${this.baseUrl}${t}/files/${e}/url`)).json()).url},getPresignedUrl:async e=>{let t=this.getRoute(`storage`);return(await this.fetch(`${this.baseUrl}${t}/upload/presigned`,{method:`POST`,body:JSON.stringify(e)})).json()},initChunkedUpload:async e=>{let t=this.getRoute(`storage`);return(await this.fetch(`${this.baseUrl}${t}/upload/chunked`,{method:`POST`,body:JSON.stringify(e)})).json()},uploadPart:async(e,t,n,r)=>{let i=this.getRoute(`storage`);return(await this.fetch(`${this.baseUrl}${i}/upload/chunked/${e}/chunk/${t}`,{method:`PUT`,headers:{"x-resume-token":n},body:r})).json()},completeChunkedUpload:async e=>{let t=this.getRoute(`storage`);return(await this.fetch(`${this.baseUrl}${t}/upload/chunked/${e.uploadId}/complete`,{method:`POST`,body:JSON.stringify(e)})).json()},resumeUpload:async(e,t,n,r)=>{let i=this.getRoute(`storage`),{totalChunks:a,uploadedChunks:o}=(await(await this.fetch(`${this.baseUrl}${i}/upload/chunked/${e}/progress`)).json()).data,s=[],c=t instanceof ArrayBuffer?t:await t.arrayBuffer();for(let t=o;t<a;t++){let i=t*n,a=Math.min(i+n,c.byteLength),o=new Blob([c.slice(i,a)]),l=await this.storage.uploadPart(e,t,r,o);s.push({chunkIndex:t,eTag:l.data.eTag})}return this.storage.completeChunkedUpload({uploadId:e,parts:s})}},this.automation={trigger:async(e,t)=>{let n=this.getRoute(`automation`);return(await this.fetch(`${this.baseUrl}${n}/trigger/${e}`,{method:`POST`,body:JSON.stringify(t)})).json()},list:async()=>{let e=this.getRoute(`automation`),t=await this.fetch(`${this.baseUrl}${e}`);return this.unwrapResponse(t)},get:async e=>{let t=this.getRoute(`automation`),n=await this.fetch(`${this.baseUrl}${t}/${e}`);return this.unwrapResponse(n)},create:async(e,t)=>{let n=this.getRoute(`automation`),r=await this.fetch(`${this.baseUrl}${n}`,{method:`POST`,body:JSON.stringify({name:e,...t})});return this.unwrapResponse(r)},update:async(e,t)=>{let n=this.getRoute(`automation`),r=await this.fetch(`${this.baseUrl}${n}/${e}`,{method:`PUT`,body:JSON.stringify({definition:t})});return this.unwrapResponse(r)},delete:async e=>{let t=this.getRoute(`automation`),n=await this.fetch(`${this.baseUrl}${t}/${e}`,{method:`DELETE`});return this.unwrapResponse(n)},toggle:async(e,t)=>{let n=this.getRoute(`automation`),r=await this.fetch(`${this.baseUrl}${n}/${e}/toggle`,{method:`POST`,body:JSON.stringify({enabled:t})});return this.unwrapResponse(r)},runs:{list:async(e,t)=>{let n=this.getRoute(`automation`),r=new URLSearchParams;t?.limit&&r.set(`limit`,String(t.limit)),t?.cursor&&r.set(`cursor`,t.cursor);let i=r.toString(),a=await this.fetch(`${this.baseUrl}${n}/${e}/runs${i?`?${i}`:``}`);return this.unwrapResponse(a)},get:async(e,t)=>{let n=this.getRoute(`automation`),r=await this.fetch(`${this.baseUrl}${n}/${e}/runs/${t}`);return this.unwrapResponse(r)}},getFlow:async e=>{let t=this.getRoute(`automation`),n=await this.fetch(`${this.baseUrl}${t}/${encodeURIComponent(e)}`);return this.unwrapResponse(n)},execute:async(e,t)=>{let n=this.getRoute(`automation`),r=await this.fetch(`${this.baseUrl}${n}/${encodeURIComponent(e)}/trigger`,{method:`POST`,body:JSON.stringify(t??{})});return this.unwrapResponse(r)},listRuns:async(e,t)=>{let n=this.getRoute(`automation`),r=new URLSearchParams;t?.limit!=null&&r.set(`limit`,String(t.limit)),t?.cursor&&r.set(`cursor`,t.cursor);let i=r.toString(),a=await this.fetch(`${this.baseUrl}${n}/${encodeURIComponent(e)}/runs${i?`?${i}`:``}`);return this.unwrapResponse(a)},getRun:async(e,t)=>{let n=this.getRoute(`automation`),r=await this.fetch(`${this.baseUrl}${n}/${encodeURIComponent(e)}/runs/${encodeURIComponent(t)}`);return this.unwrapResponse(r)}},this.permissions={check:async e=>{let t=this.getRoute(`permissions`),n=new URLSearchParams({object:e.object,action:e.action});e.recordId!==void 0&&n.set(`recordId`,e.recordId),e.field!==void 0&&n.set(`field`,e.field);let r=await this.fetch(`${this.baseUrl}${t}/check?${n.toString()}`);return this.unwrapResponse(r)},getObjectPermissions:async e=>{let t=this.getRoute(`permissions`),n=await this.fetch(`${this.baseUrl}${t}/objects/${encodeURIComponent(e)}`);return this.unwrapResponse(n)},getEffectivePermissions:async()=>{let e=this.getRoute(`permissions`),t=await this.fetch(`${this.baseUrl}${e}/effective`);return this.unwrapResponse(t)}},this.realtime={connect:async e=>{let t=this.getRoute(`realtime`),n=await this.fetch(`${this.baseUrl}${t}/connect`,{method:`POST`,body:JSON.stringify(e||{})});return this.unwrapResponse(n)},disconnect:async()=>{let e=this.getRoute(`realtime`);await this.fetch(`${this.baseUrl}${e}/disconnect`,{method:`POST`})},subscribe:async e=>{let t=this.getRoute(`realtime`),n=await this.fetch(`${this.baseUrl}${t}/subscribe`,{method:`POST`,body:JSON.stringify(e)});return this.unwrapResponse(n)},unsubscribe:async e=>{let t=this.getRoute(`realtime`);await this.fetch(`${this.baseUrl}${t}/unsubscribe`,{method:`POST`,body:JSON.stringify({subscriptionId:e})})},setPresence:async(e,t)=>{let n=this.getRoute(`realtime`);await this.fetch(`${this.baseUrl}${n}/presence`,{method:`PUT`,body:JSON.stringify({channel:e,state:t})})},getPresence:async e=>{let t=this.getRoute(`realtime`),n=await this.fetch(`${this.baseUrl}${t}/presence/${encodeURIComponent(e)}`);return this.unwrapResponse(n)}},this.workflow={getConfig:async e=>{let t=this.getRoute(`workflow`),n=await this.fetch(`${this.baseUrl}${t}/${encodeURIComponent(e)}/config`);return this.unwrapResponse(n)},getState:async(e,t)=>{let n=this.getRoute(`workflow`),r=await this.fetch(`${this.baseUrl}${n}/${encodeURIComponent(e)}/${encodeURIComponent(t)}/state`);return this.unwrapResponse(r)},transition:async e=>{let t=this.getRoute(`workflow`),n=await this.fetch(`${this.baseUrl}${t}/${encodeURIComponent(e.object)}/${encodeURIComponent(e.recordId)}/transition`,{method:`POST`,body:JSON.stringify({transition:e.transition,comment:e.comment,data:e.data})});return this.unwrapResponse(n)},approve:async e=>{let t=this.getRoute(`workflow`),n=await this.fetch(`${this.baseUrl}${t}/${encodeURIComponent(e.object)}/${encodeURIComponent(e.recordId)}/approve`,{method:`POST`,body:JSON.stringify({comment:e.comment,data:e.data})});return this.unwrapResponse(n)},reject:async e=>{let t=this.getRoute(`workflow`),n=await this.fetch(`${this.baseUrl}${t}/${encodeURIComponent(e.object)}/${encodeURIComponent(e.recordId)}/reject`,{method:`POST`,body:JSON.stringify({reason:e.reason,comment:e.comment})});return this.unwrapResponse(n)}},this.views={list:async(e,t)=>{let n=this.getRoute(`views`),r=new URLSearchParams;t&&r.set(`type`,t);let i=r.toString(),a=await this.fetch(`${this.baseUrl}${n}/${encodeURIComponent(e)}${i?`?${i}`:``}`);return this.unwrapResponse(a)},get:async(e,t)=>{let n=this.getRoute(`views`),r=await this.fetch(`${this.baseUrl}${n}/${encodeURIComponent(e)}/${encodeURIComponent(t)}`);return this.unwrapResponse(r)},create:async(e,t)=>{let n=this.getRoute(`views`),r=await this.fetch(`${this.baseUrl}${n}/${encodeURIComponent(e)}`,{method:`POST`,body:JSON.stringify({object:e,data:t})});return this.unwrapResponse(r)},update:async(e,t,n)=>{let r=this.getRoute(`views`),i=await this.fetch(`${this.baseUrl}${r}/${encodeURIComponent(e)}/${encodeURIComponent(t)}`,{method:`PUT`,body:JSON.stringify({object:e,viewId:t,data:n})});return this.unwrapResponse(i)},delete:async(e,t)=>{let n=this.getRoute(`views`),r=await this.fetch(`${this.baseUrl}${n}/${encodeURIComponent(e)}/${encodeURIComponent(t)}`,{method:`DELETE`});return this.unwrapResponse(r)}},this.notifications={registerDevice:async e=>{let t=this.getRoute(`notifications`),n=await this.fetch(`${this.baseUrl}${t}/devices`,{method:`POST`,body:JSON.stringify(e)});return this.unwrapResponse(n)},unregisterDevice:async e=>{let t=this.getRoute(`notifications`),n=await this.fetch(`${this.baseUrl}${t}/devices/${encodeURIComponent(e)}`,{method:`DELETE`});return this.unwrapResponse(n)},getPreferences:async()=>{let e=this.getRoute(`notifications`),t=await this.fetch(`${this.baseUrl}${e}/preferences`);return this.unwrapResponse(t)},updatePreferences:async e=>{let t=this.getRoute(`notifications`),n=await this.fetch(`${this.baseUrl}${t}/preferences`,{method:`PUT`,body:JSON.stringify({preferences:e})});return this.unwrapResponse(n)},list:async e=>{let t=this.getRoute(`notifications`),n=new URLSearchParams;e?.read!==void 0&&n.set(`read`,String(e.read)),e?.type&&n.set(`type`,e.type),e?.limit&&n.set(`limit`,String(e.limit)),e?.cursor&&n.set(`cursor`,e.cursor);let r=n.toString(),i=await this.fetch(`${this.baseUrl}${t}${r?`?${r}`:``}`);return this.unwrapResponse(i)},markRead:async e=>{let t=this.getRoute(`notifications`),n=await this.fetch(`${this.baseUrl}${t}/read`,{method:`POST`,body:JSON.stringify({ids:e})});return this.unwrapResponse(n)},markAllRead:async()=>{let e=this.getRoute(`notifications`),t=await this.fetch(`${this.baseUrl}${e}/read/all`,{method:`POST`});return this.unwrapResponse(t)}},this.ai={nlq:async e=>{let t=this.getRoute(`ai`),n=await this.fetch(`${this.baseUrl}${t}/nlq`,{method:`POST`,body:JSON.stringify(e)});return this.unwrapResponse(n)},suggest:async e=>{let t=this.getRoute(`ai`),n=await this.fetch(`${this.baseUrl}${t}/suggest`,{method:`POST`,body:JSON.stringify(e)});return this.unwrapResponse(n)},insights:async e=>{let t=this.getRoute(`ai`),n=await this.fetch(`${this.baseUrl}${t}/insights`,{method:`POST`,body:JSON.stringify(e)});return this.unwrapResponse(n)}},this.i18n={getLocales:async()=>{let e=this.getRoute(`i18n`),t=await this.fetch(`${this.baseUrl}${e}/locales`);return this.unwrapResponse(t)},getTranslations:async(e,t)=>{let n=this.getRoute(`i18n`),r=new URLSearchParams;r.set(`locale`,e),t?.namespace&&r.set(`namespace`,t.namespace),t?.keys&&r.set(`keys`,t.keys.join(`,`));let i=await this.fetch(`${this.baseUrl}${n}/translations?${r.toString()}`);return this.unwrapResponse(i)},getFieldLabels:async(e,t)=>{let n=this.getRoute(`i18n`),r=await this.fetch(`${this.baseUrl}${n}/labels/${encodeURIComponent(e)}?locale=${encodeURIComponent(t)}`);return this.unwrapResponse(r)}},this.feed={list:async(e,t,n)=>{let r=this.getRoute(`data`),i=new URLSearchParams;n?.type&&i.set(`type`,n.type),n?.limit&&i.set(`limit`,String(n.limit)),n?.cursor&&i.set(`cursor`,n.cursor);let a=i.toString(),o=await this.fetch(`${this.baseUrl}${r}/${encodeURIComponent(e)}/${encodeURIComponent(t)}/feed${a?`?${a}`:``}`);return this.unwrapResponse(o)},create:async(e,t,n)=>{let r=this.getRoute(`data`),i=await this.fetch(`${this.baseUrl}${r}/${encodeURIComponent(e)}/${encodeURIComponent(t)}/feed`,{method:`POST`,body:JSON.stringify(n)});return this.unwrapResponse(i)},update:async(e,t,n,r)=>{let i=this.getRoute(`data`),a=await this.fetch(`${this.baseUrl}${i}/${encodeURIComponent(e)}/${encodeURIComponent(t)}/feed/${encodeURIComponent(n)}`,{method:`PUT`,body:JSON.stringify(r)});return this.unwrapResponse(a)},delete:async(e,t,n)=>{let r=this.getRoute(`data`),i=await this.fetch(`${this.baseUrl}${r}/${encodeURIComponent(e)}/${encodeURIComponent(t)}/feed/${encodeURIComponent(n)}`,{method:`DELETE`});return this.unwrapResponse(i)},addReaction:async(e,t,n,r)=>{let i=this.getRoute(`data`),a=await this.fetch(`${this.baseUrl}${i}/${encodeURIComponent(e)}/${encodeURIComponent(t)}/feed/${encodeURIComponent(n)}/reactions`,{method:`POST`,body:JSON.stringify({emoji:r})});return this.unwrapResponse(a)},removeReaction:async(e,t,n,r)=>{let i=this.getRoute(`data`),a=await this.fetch(`${this.baseUrl}${i}/${encodeURIComponent(e)}/${encodeURIComponent(t)}/feed/${encodeURIComponent(n)}/reactions/${encodeURIComponent(r)}`,{method:`DELETE`});return this.unwrapResponse(a)},pin:async(e,t,n)=>{let r=this.getRoute(`data`),i=await this.fetch(`${this.baseUrl}${r}/${encodeURIComponent(e)}/${encodeURIComponent(t)}/feed/${encodeURIComponent(n)}/pin`,{method:`POST`});return this.unwrapResponse(i)},unpin:async(e,t,n)=>{let r=this.getRoute(`data`),i=await this.fetch(`${this.baseUrl}${r}/${encodeURIComponent(e)}/${encodeURIComponent(t)}/feed/${encodeURIComponent(n)}/pin`,{method:`DELETE`});return this.unwrapResponse(i)},star:async(e,t,n)=>{let r=this.getRoute(`data`),i=await this.fetch(`${this.baseUrl}${r}/${encodeURIComponent(e)}/${encodeURIComponent(t)}/feed/${encodeURIComponent(n)}/star`,{method:`POST`});return this.unwrapResponse(i)},unstar:async(e,t,n)=>{let r=this.getRoute(`data`),i=await this.fetch(`${this.baseUrl}${r}/${encodeURIComponent(e)}/${encodeURIComponent(t)}/feed/${encodeURIComponent(n)}/star`,{method:`DELETE`});return this.unwrapResponse(i)},search:async(e,t,n,r)=>{let i=this.getRoute(`data`),a=new URLSearchParams;a.set(`query`,n),r?.type&&a.set(`type`,r.type),r?.actorId&&a.set(`actorId`,r.actorId),r?.dateFrom&&a.set(`dateFrom`,r.dateFrom),r?.dateTo&&a.set(`dateTo`,r.dateTo),r?.limit&&a.set(`limit`,String(r.limit)),r?.cursor&&a.set(`cursor`,r.cursor);let o=await this.fetch(`${this.baseUrl}${i}/${encodeURIComponent(e)}/${encodeURIComponent(t)}/feed/search?${a.toString()}`);return this.unwrapResponse(o)},getChangelog:async(e,t,n)=>{let r=this.getRoute(`data`),i=new URLSearchParams;n?.field&&i.set(`field`,n.field),n?.actorId&&i.set(`actorId`,n.actorId),n?.dateFrom&&i.set(`dateFrom`,n.dateFrom),n?.dateTo&&i.set(`dateTo`,n.dateTo),n?.limit&&i.set(`limit`,String(n.limit)),n?.cursor&&i.set(`cursor`,n.cursor);let a=i.toString(),o=await this.fetch(`${this.baseUrl}${r}/${encodeURIComponent(e)}/${encodeURIComponent(t)}/changelog${a?`?${a}`:``}`);return this.unwrapResponse(o)},subscribe:async(e,t,n)=>{let r=this.getRoute(`data`),i=await this.fetch(`${this.baseUrl}${r}/${encodeURIComponent(e)}/${encodeURIComponent(t)}/subscribe`,{method:`POST`,body:JSON.stringify(n||{})});return this.unwrapResponse(i)},unsubscribe:async(e,t)=>{let n=this.getRoute(`data`),r=await this.fetch(`${this.baseUrl}${n}/${encodeURIComponent(e)}/${encodeURIComponent(t)}/subscribe`,{method:`DELETE`});return this.unwrapResponse(r)}},this.data={query:async(e,t)=>{let n=this.getRoute(`data`),r=await this.fetch(`${this.baseUrl}${n}/${e}/query`,{method:`POST`,body:JSON.stringify(t)});return this.unwrapResponse(r)},find:async(e,t={})=>{let n=this.getRoute(`data`),r=new URLSearchParams,i=t,a={};if(`where`in t||`fields`in t||`orderBy`in t||`offset`in t?(i.where&&(a.filter=i.where),i.fields&&(a.select=i.fields),i.orderBy&&(a.sort=i.orderBy),i.limit!=null&&(a.top=i.limit),i.offset!=null&&(a.skip=i.offset),i.aggregations&&(a.aggregations=i.aggregations),i.groupBy&&(a.groupBy=i.groupBy)):Object.assign(a,t),a.top&&r.set(`top`,a.top.toString()),a.skip&&r.set(`skip`,a.skip.toString()),a.sort)if(Array.isArray(a.sort)&&typeof a.sort[0]==`object`)r.set(`sort`,JSON.stringify(a.sort));else{let e=Array.isArray(a.sort)?a.sort.join(`,`):a.sort;r.set(`sort`,e)}a.select&&r.set(`select`,a.select.join(`,`));let o=a.filter??a.filters;o&&(this.isFilterAST(o)||Array.isArray(o)?r.set(`filter`,JSON.stringify(o)):typeof o==`object`&&o&&Object.entries(o).forEach(([e,t])=>{t!=null&&r.append(e,String(t))})),a.aggregations&&r.set(`aggregations`,JSON.stringify(a.aggregations)),a.groupBy&&r.set(`groupBy`,a.groupBy.join(`,`));let s=await this.fetch(`${this.baseUrl}${n}/${e}?${r.toString()}`);return this.unwrapResponse(s)},get:async(e,t)=>{let n=this.getRoute(`data`),r=await this.fetch(`${this.baseUrl}${n}/${e}/${t}`);return this.unwrapResponse(r)},create:async(e,t)=>{let n=this.getRoute(`data`),r=await this.fetch(`${this.baseUrl}${n}/${e}`,{method:`POST`,body:JSON.stringify(t)});return this.unwrapResponse(r)},createMany:async(e,t)=>{let n=this.getRoute(`data`),r=await this.fetch(`${this.baseUrl}${n}/${e}/createMany`,{method:`POST`,body:JSON.stringify(t)});return this.unwrapResponse(r)},update:async(e,t,n,r)=>{let i=this.getRoute(`data`),a={};r?.ifMatch&&(a[`If-Match`]=String(r.ifMatch));let o=await this.fetch(`${this.baseUrl}${i}/${e}/${t}`,{method:`PATCH`,body:JSON.stringify(n),...Object.keys(a).length?{headers:a}:{}});return this.unwrapResponse(o)},batch:async(e,t)=>{let n=this.getRoute(`data`),r=await this.fetch(`${this.baseUrl}${n}/${e}/batch`,{method:`POST`,body:JSON.stringify(t)});return this.unwrapResponse(r)},updateMany:async(e,t,n)=>{let r=this.getRoute(`data`),i={records:t,options:n},a=await this.fetch(`${this.baseUrl}${r}/${e}/updateMany`,{method:`POST`,body:JSON.stringify(i)});return this.unwrapResponse(a)},delete:async(e,t,n)=>{let r=this.getRoute(`data`),i={};n?.ifMatch&&(i[`If-Match`]=String(n.ifMatch));let a=await this.fetch(`${this.baseUrl}${r}/${e}/${t}`,{method:`DELETE`,...Object.keys(i).length?{headers:i}:{}});return this.unwrapResponse(a)},deleteMany:async(e,t,n)=>{let r=this.getRoute(`data`),i={ids:t,options:n},a=await this.fetch(`${this.baseUrl}${r}/${e}/deleteMany`,{method:`POST`,body:JSON.stringify(i)});return this.unwrapResponse(a)}},this.baseUrl=e.baseUrl.replace(/\/$/,``),this.token=e.token,this.projectId=e.projectId,this.fetchImpl=e.fetch||globalThis.fetch.bind(globalThis),this.logger=e.logger||Mg({level:e.debug?`debug`:`info`,format:`pretty`}),this.realtimeAPI=new Ng(this.baseUrl,this.token),this.logger.debug(`ObjectStack client created`,{baseUrl:this.baseUrl})}async connect(){this.logger.debug(`Connecting to ObjectStack server`,{baseUrl:this.baseUrl});try{let e;try{let t=`${this.baseUrl}/api/v1/discovery`;this.logger.debug(`Probing protocol-standard discovery endpoint`,{url:t});let n=await this.fetchImpl(t);if(n.ok){let t=await n.json();e=t.data||t,this.logger.debug(`Discovered via /api/v1/discovery`)}}catch(e){this.logger.debug(`Protocol-standard discovery probe failed`,{error:e.message})}if(!e){let t;try{t=`${new URL(this.baseUrl).origin}/.well-known/objectstack`}catch{t=`/.well-known/objectstack`}this.logger.debug(`Falling back to .well-known discovery`,{url:t});let n=await this.fetchImpl(t);if(!n.ok)throw Error(`Failed to connect to ${t}: ${n.statusText}`);let r=await n.json();e=r.data||r}if(!e)throw Error(`Connection failed: No discovery data returned`);return this.discoveryInfo=e,this.logger.info(`Connected to ObjectStack server`,{version:e.version,apiName:e.apiName,services:e.services}),e}catch(e){throw this.logger.error(`Failed to connect to ObjectStack server`,e,{baseUrl:this.baseUrl}),e}}get capabilities(){let e=this.discoveryInfo?.capabilities;if(!e)return;let t={};for(let[n,r]of Object.entries(e))t[n]=typeof r==`object`&&r?!!r.enabled:!!r;return t}project(e){if(!e)throw Error(`[ObjectStack] project(id): projectId is required`);return new Fg(this,e)}_baseUrl(){return this.baseUrl}_fetch(e,t){return this.fetch(e,t)}_unwrap(e){return this.unwrapResponse(e)}_isFilterAST(e){return this.isFilterAST(e)}setProjectId(e){this.projectId=e,this.logger.debug(`Active project changed`,{projectId:e})}getProjectId(){return this.projectId}get events(){return this.realtimeAPI}isFilterAST(e){return Qf(e)}async unwrapResponse(e){let t=await e.json();return t&&typeof t.success==`boolean`&&`data`in t?t.data:t}async fetch(e,t={}){this.logger.debug(`HTTP request`,{method:t.method||`GET`,url:e,hasBody:!!t.body});let n={"Content-Type":`application/json`,...t.headers||{}};this.token&&(n.Authorization=`Bearer ${this.token}`),this.projectId&&(n[`X-Project-Id`]=this.projectId);let r=await this.fetchImpl(e,{...t,headers:n});if(this.logger.debug(`HTTP response`,{method:t.method||`GET`,url:e,status:r.status,ok:r.ok}),!r.ok){let n;try{n=await r.json()}catch{n={message:r.statusText}}this.logger.error(`HTTP request failed`,void 0,{method:t.method||`GET`,url:e,status:r.status,error:n});let i=n?.message??n?.error?.message??(typeof n?.error==`string`?n.error:void 0)??r.statusText,a=n?.code||n?.error?.code,o=Error(`[ObjectStack] ${a?`${a}: `:``}${i}`);throw o.code=a,o.category=n?.category,o.httpStatus=r.status,o.retryable=n?.retryable,o.details=n?.details||n,o}return r}getRoute(e){let t=this.discoveryInfo?.routes;if(t){let n=t[e];if(n)return n}return{data:`/api/v1/data`,metadata:`/api/v1/meta`,discovery:`/api/v1/discovery`,ui:`/api/v1/ui`,auth:`/api/v1/auth`,analytics:`/api/v1/analytics`,storage:`/api/v1/storage`,automation:`/api/v1/automation`,packages:`/api/v1/packages`,permissions:`/api/v1/permissions`,realtime:`/api/v1/realtime`,workflow:`/api/v1/workflow`,views:`/api/v1/ui/views`,notifications:`/api/v1/notifications`,ai:`/api/v1/ai`,i18n:`/api/v1/i18n`,feed:`/api/v1/feed`,graphql:`/graphql`}[e]||`/api/v1/${e}`}},Fg=class{constructor(e,t){this.meta={getTypes:async()=>{let e=await this.parent._fetch(this.url(`/meta`));return this.parent._unwrap(e)},getItems:async(e,t)=>{let n=new URLSearchParams;t?.packageId&&n.set(`package`,t.packageId);let r=n.toString(),i=await this.parent._fetch(this.url(`/meta/${e}${r?`?${r}`:``}`));return this.parent._unwrap(i)},getItem:async(e,t,n)=>{let r=new URLSearchParams;n?.packageId&&r.set(`package`,n.packageId);let i=r.toString(),a=await this.parent._fetch(this.url(`/meta/${e}/${t}${i?`?${i}`:``}`));return this.parent._unwrap(a)},saveItem:async(e,t,n)=>{let r=await this.parent._fetch(this.url(`/meta/${e}/${t}`),{method:`PUT`,body:JSON.stringify(n)});return this.parent._unwrap(r)},deleteItem:async(e,t)=>{let n=await this.parent._fetch(this.url(`/meta/${encodeURIComponent(e)}/${encodeURIComponent(t)}`),{method:`DELETE`});return this.parent._unwrap(n)},getHistory:async(e,t,n)=>{let r=new URLSearchParams;n?.sinceSeq!==void 0&&r.set(`sinceSeq`,String(n.sinceSeq)),n?.limit!==void 0&&r.set(`limit`,String(n.limit));let i=r.toString(),a=await this.parent._fetch(this.url(`/meta/${encodeURIComponent(e)}/${encodeURIComponent(t)}/history${i?`?${i}`:``}`));return this.parent._unwrap(a)}},this.data={query:async(e,t)=>{let n=await this.parent._fetch(this.url(`/data/${e}/query`),{method:`POST`,body:JSON.stringify(t)});return this.parent._unwrap(n)},find:async(e,t={})=>{let n=new URLSearchParams,r=t,i={};if(`where`in t||`fields`in t||`orderBy`in t||`offset`in t?(r.where&&(i.filter=r.where),r.fields&&(i.select=r.fields),r.orderBy&&(i.sort=r.orderBy),r.limit!=null&&(i.top=r.limit),r.offset!=null&&(i.skip=r.offset),r.aggregations&&(i.aggregations=r.aggregations),r.groupBy&&(i.groupBy=r.groupBy)):Object.assign(i,t),i.top&&n.set(`top`,i.top.toString()),i.skip&&n.set(`skip`,i.skip.toString()),i.sort)if(Array.isArray(i.sort)&&typeof i.sort[0]==`object`)n.set(`sort`,JSON.stringify(i.sort));else{let e=Array.isArray(i.sort)?i.sort.join(`,`):i.sort;n.set(`sort`,e)}i.select&&n.set(`select`,i.select.join(`,`));let a=i.filter??i.filters;a&&(this.parent._isFilterAST(a)||Array.isArray(a)?n.set(`filter`,JSON.stringify(a)):typeof a==`object`&&a&&Object.entries(a).forEach(([e,t])=>{t!=null&&n.append(e,String(t))})),i.aggregations&&n.set(`aggregations`,JSON.stringify(i.aggregations)),i.groupBy&&n.set(`groupBy`,i.groupBy.join(`,`));let o=n.toString(),s=await this.parent._fetch(this.url(`/data/${e}${o?`?${o}`:``}`));return this.parent._unwrap(s)},get:async(e,t)=>{let n=await this.parent._fetch(this.url(`/data/${e}/${t}`));return this.parent._unwrap(n)},create:async(e,t)=>{let n=await this.parent._fetch(this.url(`/data/${e}`),{method:`POST`,body:JSON.stringify(t)});return this.parent._unwrap(n)},createMany:async(e,t)=>{let n=await this.parent._fetch(this.url(`/data/${e}/createMany`),{method:`POST`,body:JSON.stringify(t)});return this.parent._unwrap(n)},update:async(e,t,n)=>{let r=await this.parent._fetch(this.url(`/data/${e}/${t}`),{method:`PATCH`,body:JSON.stringify(n)});return this.parent._unwrap(r)},batch:async(e,t)=>{let n=await this.parent._fetch(this.url(`/data/${e}/batch`),{method:`POST`,body:JSON.stringify(t)});return this.parent._unwrap(n)},updateMany:async(e,t,n)=>{let r={records:t,options:n},i=await this.parent._fetch(this.url(`/data/${e}/updateMany`),{method:`POST`,body:JSON.stringify(r)});return this.parent._unwrap(i)},delete:async(e,t)=>{let n=await this.parent._fetch(this.url(`/data/${e}/${t}`),{method:`DELETE`});return this.parent._unwrap(n)},deleteMany:async(e,t,n)=>{let r={ids:t,options:n},i=await this.parent._fetch(this.url(`/data/${e}/deleteMany`),{method:`POST`,body:JSON.stringify(r)});return this.parent._unwrap(i)}},this.packages={list:async()=>{let e=await this.parent._fetch(this.url(`/packages`));return this.parent._unwrap(e)},get:async(e,t)=>{let n=t?`?version=${encodeURIComponent(t)}`:``,r=await this.parent._fetch(this.url(`/packages/${encodeURIComponent(e)}${n}`));return this.parent._unwrap(r)}},this.automation={getFlow:async e=>{let t=await this.parent._fetch(this.url(`/automation/${encodeURIComponent(e)}`));return this.parent._unwrap(t)},execute:async(e,t)=>{let n=await this.parent._fetch(this.url(`/automation/${encodeURIComponent(e)}/trigger`),{method:`POST`,body:JSON.stringify(t??{})});return this.parent._unwrap(n)},listRuns:async(e,t)=>{let n=new URLSearchParams;t?.limit!=null&&n.set(`limit`,String(t.limit)),t?.cursor&&n.set(`cursor`,t.cursor);let r=n.toString(),i=await this.parent._fetch(this.url(`/automation/${encodeURIComponent(e)}/runs${r?`?${r}`:``}`));return this.parent._unwrap(i)},getRun:async(e,t)=>{let n=await this.parent._fetch(this.url(`/automation/${encodeURIComponent(e)}/runs/${encodeURIComponent(t)}`));return this.parent._unwrap(n)}},this.parent=e,this.projectId=t}getProjectId(){return this.projectId}scope(){return`/api/v1/projects/${encodeURIComponent(this.projectId)}`}url(e){return`${this.parent._baseUrl()}${this.scope()}${e}`}},Ig=(0,j.createContext)(null);function Lg({client:e,children:t}){return j.createElement(Ig.Provider,{value:e},t)}function Rg(){let e=(0,j.useContext)(Ig);if(!e)throw Error(`useClient must be used within an ObjectStackProvider. Make sure your component is wrapped with <ObjectStackProvider client={...}>.`);return e}var zg=1,Bg=1e6,Vg=0;function Hg(){return Vg=(Vg+1)%(2**53-1),Vg.toString()}var Ug=new Map,Wg=e=>{if(Ug.has(e))return;let t=setTimeout(()=>{Ug.delete(e),Jg({type:`REMOVE_TOAST`,toastId:e})},Bg);Ug.set(e,t)},Gg=(e,t)=>{switch(t.type){case`ADD_TOAST`:return{...e,toasts:[t.toast,...e.toasts].slice(0,zg)};case`UPDATE_TOAST`:return{...e,toasts:e.toasts.map(e=>e.id===t.toast.id?{...e,...t.toast}:e)};case`DISMISS_TOAST`:{let{toastId:n}=t;return n?Wg(n):e.toasts.forEach(e=>{Wg(e.id)}),{...e,toasts:e.toasts.map(e=>e.id===n||n===void 0?{...e,open:!1}:e)}}case`REMOVE_TOAST`:return t.toastId===void 0?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(e=>e.id!==t.toastId)}}},Kg=[],qg={toasts:[]};function Jg(e){qg=Gg(qg,e),Kg.forEach(e=>{e(qg)})}function q({...e}){let t=Hg(),n=e=>Jg({type:`UPDATE_TOAST`,toast:{...e,id:t}}),r=()=>Jg({type:`DISMISS_TOAST`,toastId:t});return Jg({type:`ADD_TOAST`,toast:{...e,id:t,open:!0,onOpenChange:e=>{e||r()}}}),{id:t,dismiss:r,update:n}}function Yg(){let[e,t]=j.useState(qg);return j.useEffect(()=>(Kg.push(t),()=>{let e=Kg.indexOf(t);e>-1&&Kg.splice(e,1)}),[e]),{...e,toast:q,dismiss:e=>Jg({type:`DISMISS_TOAST`,toastId:e})}}typeof window<`u`&&window.document&&window.document.createElement;function J(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),n===!1||!r.defaultPrevented)return t?.(r)}}function Xg(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function Zg(...e){return t=>{let n=!1,r=e.map(e=>{let r=Xg(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];typeof n==`function`?n():Xg(e[t],null)}}}}function Qg(...e){return j.useCallback(Zg(...e),e)}function $g(e,t){let n=j.createContext(t),r=e=>{let{children:t,...r}=e,i=j.useMemo(()=>r,Object.values(r));return(0,M.jsx)(n.Provider,{value:i,children:t})};r.displayName=e+`Provider`;function i(r){let i=j.useContext(n);if(i)return i;if(t!==void 0)return t;throw Error(`\`${r}\` must be used within \`${e}\``)}return[r,i]}function e_(e,t=[]){let n=[];function r(t,r){let i=j.createContext(r),a=n.length;n=[...n,r];let o=t=>{let{scope:n,children:r,...o}=t,s=n?.[e]?.[a]||i,c=j.useMemo(()=>o,Object.values(o));return(0,M.jsx)(s.Provider,{value:c,children:r})};o.displayName=t+`Provider`;function s(n,o){let s=o?.[e]?.[a]||i,c=j.useContext(s);if(c)return c;if(r!==void 0)return r;throw Error(`\`${n}\` must be used within \`${t}\``)}return[o,s]}let i=()=>{let t=n.map(e=>j.createContext(e));return function(n){let r=n?.[e]||t;return j.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])}};return i.scopeName=e,[r,t_(i,...t)]}function t_(...e){let t=e[0];if(e.length===1)return t;let n=()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let r=n.reduce((t,{useScope:n,scopeName:r})=>{let i=n(e)[`__scope${r}`];return{...t,...i}},{});return j.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])}};return n.scopeName=t.scopeName,n}function n_(e){let t=r_(e),n=j.forwardRef((e,n)=>{let{children:r,...i}=e,a=j.Children.toArray(r),o=a.find(o_);if(o){let e=o.props.children,r=a.map(t=>t===o?j.Children.count(e)>1?j.Children.only(null):j.isValidElement(e)?e.props.children:null:t);return(0,M.jsx)(t,{...i,ref:n,children:j.isValidElement(e)?j.cloneElement(e,void 0,r):null})}return(0,M.jsx)(t,{...i,ref:n,children:r})});return n.displayName=`${e}.Slot`,n}function r_(e){let t=j.forwardRef((e,t)=>{let{children:n,...r}=e;if(j.isValidElement(n)){let e=c_(n),i=s_(r,n.props);return n.type!==j.Fragment&&(i.ref=t?Zg(t,e):e),j.cloneElement(n,i)}return j.Children.count(n)>1?j.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var i_=Symbol(`radix.slottable`);function a_(e){let t=({children:e})=>(0,M.jsx)(M.Fragment,{children:e});return t.displayName=`${e}.Slottable`,t.__radixId=i_,t}function o_(e){return j.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===i_}function s_(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function c_(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function l_(e){let t=e+`CollectionProvider`,[n,r]=e_(t),[i,a]=n(t,{collectionRef:{current:null},itemMap:new Map}),o=e=>{let{scope:t,children:n}=e,r=j.useRef(null),a=j.useRef(new Map).current;return(0,M.jsx)(i,{scope:t,itemMap:a,collectionRef:r,children:n})};o.displayName=t;let s=e+`CollectionSlot`,c=n_(s),l=j.forwardRef((e,t)=>{let{scope:n,children:r}=e;return(0,M.jsx)(c,{ref:Qg(t,a(s,n).collectionRef),children:r})});l.displayName=s;let u=e+`CollectionItemSlot`,d=`data-radix-collection-item`,f=n_(u),p=j.forwardRef((e,t)=>{let{scope:n,children:r,...i}=e,o=j.useRef(null),s=Qg(t,o),c=a(u,n);return j.useEffect(()=>(c.itemMap.set(o,{ref:o,...i}),()=>void c.itemMap.delete(o))),(0,M.jsx)(f,{[d]:``,ref:s,children:r})});p.displayName=u;function m(t){let n=a(e+`CollectionConsumer`,t);return j.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${d}]`));return Array.from(n.itemMap.values()).sort((e,n)=>t.indexOf(e.ref.current)-t.indexOf(n.ref.current))},[n.collectionRef,n.itemMap])}return[{Provider:o,Slot:l,ItemSlot:p},m,r]}var u_=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=n_(`Primitive.${t}`),r=j.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,M.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function d_(e,t){e&&Ui.flushSync(()=>e.dispatchEvent(t))}function f_(e){let t=j.useRef(e);return j.useEffect(()=>{t.current=e}),j.useMemo(()=>(...e)=>t.current?.(...e),[])}function p_(e,t=globalThis?.document){let n=f_(e);j.useEffect(()=>{let e=e=>{e.key===`Escape`&&n(e)};return t.addEventListener(`keydown`,e,{capture:!0}),()=>t.removeEventListener(`keydown`,e,{capture:!0})},[n,t])}var m_=`DismissableLayer`,h_=`dismissableLayer.update`,g_=`dismissableLayer.pointerDownOutside`,__=`dismissableLayer.focusOutside`,v_,y_=j.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),b_=j.forwardRef((e,t)=>{let{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:i,onFocusOutside:a,onInteractOutside:o,onDismiss:s,...c}=e,l=j.useContext(y_),[u,d]=j.useState(null),f=u?.ownerDocument??globalThis?.document,[,p]=j.useState({}),m=Qg(t,e=>d(e)),h=Array.from(l.layers),[g]=[...l.layersWithOutsidePointerEventsDisabled].slice(-1),_=h.indexOf(g),v=u?h.indexOf(u):-1,y=l.layersWithOutsidePointerEventsDisabled.size>0,b=v>=_,x=C_(e=>{let t=e.target,n=[...l.branches].some(e=>e.contains(t));!b||n||(i?.(e),o?.(e),e.defaultPrevented||s?.())},f),S=w_(e=>{let t=e.target;[...l.branches].some(e=>e.contains(t))||(a?.(e),o?.(e),e.defaultPrevented||s?.())},f);return p_(e=>{v===l.layers.size-1&&(r?.(e),!e.defaultPrevented&&s&&(e.preventDefault(),s()))},f),j.useEffect(()=>{if(u)return n&&(l.layersWithOutsidePointerEventsDisabled.size===0&&(v_=f.body.style.pointerEvents,f.body.style.pointerEvents=`none`),l.layersWithOutsidePointerEventsDisabled.add(u)),l.layers.add(u),T_(),()=>{n&&l.layersWithOutsidePointerEventsDisabled.size===1&&(f.body.style.pointerEvents=v_)}},[u,f,n,l]),j.useEffect(()=>()=>{u&&(l.layers.delete(u),l.layersWithOutsidePointerEventsDisabled.delete(u),T_())},[u,l]),j.useEffect(()=>{let e=()=>p({});return document.addEventListener(h_,e),()=>document.removeEventListener(h_,e)},[]),(0,M.jsx)(u_.div,{...c,ref:m,style:{pointerEvents:y?b?`auto`:`none`:void 0,...e.style},onFocusCapture:J(e.onFocusCapture,S.onFocusCapture),onBlurCapture:J(e.onBlurCapture,S.onBlurCapture),onPointerDownCapture:J(e.onPointerDownCapture,x.onPointerDownCapture)})});b_.displayName=m_;var x_=`DismissableLayerBranch`,S_=j.forwardRef((e,t)=>{let n=j.useContext(y_),r=j.useRef(null),i=Qg(t,r);return j.useEffect(()=>{let e=r.current;if(e)return n.branches.add(e),()=>{n.branches.delete(e)}},[n.branches]),(0,M.jsx)(u_.div,{...e,ref:i})});S_.displayName=x_;function C_(e,t=globalThis?.document){let n=f_(e),r=j.useRef(!1),i=j.useRef(()=>{});return j.useEffect(()=>{let e=e=>{if(e.target&&!r.current){let r=function(){E_(g_,n,a,{discrete:!0})},a={originalEvent:e};e.pointerType===`touch`?(t.removeEventListener(`click`,i.current),i.current=r,t.addEventListener(`click`,i.current,{once:!0})):r()}else t.removeEventListener(`click`,i.current);r.current=!1},a=window.setTimeout(()=>{t.addEventListener(`pointerdown`,e)},0);return()=>{window.clearTimeout(a),t.removeEventListener(`pointerdown`,e),t.removeEventListener(`click`,i.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function w_(e,t=globalThis?.document){let n=f_(e),r=j.useRef(!1);return j.useEffect(()=>{let e=e=>{e.target&&!r.current&&E_(__,n,{originalEvent:e},{discrete:!1})};return t.addEventListener(`focusin`,e),()=>t.removeEventListener(`focusin`,e)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function T_(){let e=new CustomEvent(h_);document.dispatchEvent(e)}function E_(e,t,n,{discrete:r}){let i=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?d_(i,a):i.dispatchEvent(a)}var D_=b_,O_=S_,k_=globalThis?.document?j.useLayoutEffect:()=>{},A_=`Portal`,j_=j.forwardRef((e,t)=>{let{container:n,...r}=e,[i,a]=j.useState(!1);k_(()=>a(!0),[]);let o=n||i&&globalThis?.document?.body;return o?Ui.createPortal((0,M.jsx)(u_.div,{...r,ref:t}),o):null});j_.displayName=A_;function M_(e,t){return j.useReducer((e,n)=>t[e][n]??e,e)}var N_=e=>{let{present:t,children:n}=e,r=P_(t),i=typeof n==`function`?n({present:r.isPresent}):j.Children.only(n),a=Qg(r.ref,I_(i));return typeof n==`function`||r.isPresent?j.cloneElement(i,{ref:a}):null};N_.displayName=`Presence`;function P_(e){let[t,n]=j.useState(),r=j.useRef(null),i=j.useRef(e),a=j.useRef(`none`),[o,s]=M_(e?`mounted`:`unmounted`,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}});return j.useEffect(()=>{let e=F_(r.current);a.current=o===`mounted`?e:`none`},[o]),k_(()=>{let t=r.current,n=i.current;if(n!==e){let r=a.current,o=F_(t);e?s(`MOUNT`):o===`none`||t?.display===`none`?s(`UNMOUNT`):s(n&&r!==o?`ANIMATION_OUT`:`UNMOUNT`),i.current=e}},[e,s]),k_(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,o=a=>{let o=F_(r.current).includes(CSS.escape(a.animationName));if(a.target===t&&o&&(s(`ANIMATION_END`),!i.current)){let r=t.style.animationFillMode;t.style.animationFillMode=`forwards`,e=n.setTimeout(()=>{t.style.animationFillMode===`forwards`&&(t.style.animationFillMode=r)})}},c=e=>{e.target===t&&(a.current=F_(r.current))};return t.addEventListener(`animationstart`,c),t.addEventListener(`animationcancel`,o),t.addEventListener(`animationend`,o),()=>{n.clearTimeout(e),t.removeEventListener(`animationstart`,c),t.removeEventListener(`animationcancel`,o),t.removeEventListener(`animationend`,o)}}else s(`ANIMATION_END`)},[t,s]),{isPresent:[`mounted`,`unmountSuspended`].includes(o),ref:j.useCallback(e=>{r.current=e?getComputedStyle(e):null,n(e)},[])}}function F_(e){return e?.animationName||`none`}function I_(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var L_=j.useInsertionEffect||k_;function R_({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){let[i,a,o]=z_({defaultProp:t,onChange:n}),s=e!==void 0,c=s?e:i;{let t=j.useRef(e!==void 0);j.useEffect(()=>{let e=t.current;e!==s&&console.warn(`${r} is changing from ${e?`controlled`:`uncontrolled`} to ${s?`controlled`:`uncontrolled`}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),t.current=s},[s,r])}return[c,j.useCallback(t=>{if(s){let n=B_(t)?t(e):t;n!==e&&o.current?.(n)}else a(t)},[s,e,a,o])]}function z_({defaultProp:e,onChange:t}){let[n,r]=j.useState(e),i=j.useRef(n),a=j.useRef(t);return L_(()=>{a.current=t},[t]),j.useEffect(()=>{i.current!==n&&(a.current?.(n),i.current=n)},[n,i]),[n,r,a]}function B_(e){return typeof e==`function`}var V_=Object.freeze({position:`absolute`,border:0,width:1,height:1,padding:0,margin:-1,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,wordWrap:`normal`}),H_=`VisuallyHidden`,U_=j.forwardRef((e,t)=>(0,M.jsx)(u_.span,{...e,ref:t,style:{...V_,...e.style}}));U_.displayName=H_;var W_=U_,G_=`ToastProvider`,[K_,q_,J_]=l_(`Toast`),[Y_,X_]=e_(`Toast`,[J_]),[Z_,Q_]=Y_(G_),$_=e=>{let{__scopeToast:t,label:n=`Notification`,duration:r=5e3,swipeDirection:i=`right`,swipeThreshold:a=50,children:o}=e,[s,c]=j.useState(null),[l,u]=j.useState(0),d=j.useRef(!1),f=j.useRef(!1);return n.trim()||console.error(`Invalid prop \`label\` supplied to \`${G_}\`. Expected non-empty \`string\`.`),(0,M.jsx)(K_.Provider,{scope:t,children:(0,M.jsx)(Z_,{scope:t,label:n,duration:r,swipeDirection:i,swipeThreshold:a,toastCount:l,viewport:s,onViewportChange:c,onToastAdd:j.useCallback(()=>u(e=>e+1),[]),onToastRemove:j.useCallback(()=>u(e=>e-1),[]),isFocusedToastEscapeKeyDownRef:d,isClosePausedRef:f,children:o})})};$_.displayName=G_;var ev=`ToastViewport`,tv=[`F8`],nv=`toast.viewportPause`,rv=`toast.viewportResume`,iv=j.forwardRef((e,t)=>{let{__scopeToast:n,hotkey:r=tv,label:i=`Notifications ({hotkey})`,...a}=e,o=Q_(ev,n),s=q_(n),c=j.useRef(null),l=j.useRef(null),u=j.useRef(null),d=j.useRef(null),f=Qg(t,d,o.onViewportChange),p=r.join(`+`).replace(/Key/g,``).replace(/Digit/g,``),m=o.toastCount>0;j.useEffect(()=>{let e=e=>{r.length!==0&&r.every(t=>e[t]||e.code===t)&&d.current?.focus()};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[r]),j.useEffect(()=>{let e=c.current,t=d.current;if(m&&e&&t){let n=()=>{if(!o.isClosePausedRef.current){let e=new CustomEvent(nv);t.dispatchEvent(e),o.isClosePausedRef.current=!0}},r=()=>{if(o.isClosePausedRef.current){let e=new CustomEvent(rv);t.dispatchEvent(e),o.isClosePausedRef.current=!1}},i=t=>{e.contains(t.relatedTarget)||r()},a=()=>{e.contains(document.activeElement)||r()};return e.addEventListener(`focusin`,n),e.addEventListener(`focusout`,i),e.addEventListener(`pointermove`,n),e.addEventListener(`pointerleave`,a),window.addEventListener(`blur`,n),window.addEventListener(`focus`,r),()=>{e.removeEventListener(`focusin`,n),e.removeEventListener(`focusout`,i),e.removeEventListener(`pointermove`,n),e.removeEventListener(`pointerleave`,a),window.removeEventListener(`blur`,n),window.removeEventListener(`focus`,r)}}},[m,o.isClosePausedRef]);let h=j.useCallback(({tabbingDirection:e})=>{let t=s().map(t=>{let n=t.ref.current,r=[n,...jv(n)];return e===`forwards`?r:r.reverse()});return(e===`forwards`?t.reverse():t).flat()},[s]);return j.useEffect(()=>{let e=d.current;if(e){let t=t=>{let n=t.altKey||t.ctrlKey||t.metaKey;if(t.key===`Tab`&&!n){let n=document.activeElement,r=t.shiftKey;if(t.target===e&&r){l.current?.focus();return}let i=h({tabbingDirection:r?`backwards`:`forwards`}),a=i.findIndex(e=>e===n);Mv(i.slice(a+1))?t.preventDefault():r?l.current?.focus():u.current?.focus()}};return e.addEventListener(`keydown`,t),()=>e.removeEventListener(`keydown`,t)}},[s,h]),(0,M.jsxs)(O_,{ref:c,role:`region`,"aria-label":i.replace(`{hotkey}`,p),tabIndex:-1,style:{pointerEvents:m?void 0:`none`},children:[m&&(0,M.jsx)(ov,{ref:l,onFocusFromOutsideViewport:()=>{Mv(h({tabbingDirection:`forwards`}))}}),(0,M.jsx)(K_.Slot,{scope:n,children:(0,M.jsx)(u_.ol,{tabIndex:-1,...a,ref:f})}),m&&(0,M.jsx)(ov,{ref:u,onFocusFromOutsideViewport:()=>{Mv(h({tabbingDirection:`backwards`}))}})]})});iv.displayName=ev;var av=`ToastFocusProxy`,ov=j.forwardRef((e,t)=>{let{__scopeToast:n,onFocusFromOutsideViewport:r,...i}=e,a=Q_(av,n);return(0,M.jsx)(U_,{tabIndex:0,...i,ref:t,style:{position:`fixed`},onFocus:e=>{let t=e.relatedTarget;a.viewport?.contains(t)||r()}})});ov.displayName=av;var sv=`Toast`,cv=`toast.swipeStart`,lv=`toast.swipeMove`,uv=`toast.swipeCancel`,dv=`toast.swipeEnd`,fv=j.forwardRef((e,t)=>{let{forceMount:n,open:r,defaultOpen:i,onOpenChange:a,...o}=e,[s,c]=R_({prop:r,defaultProp:i??!0,onChange:a,caller:sv});return(0,M.jsx)(N_,{present:n||s,children:(0,M.jsx)(hv,{open:s,...o,ref:t,onClose:()=>c(!1),onPause:f_(e.onPause),onResume:f_(e.onResume),onSwipeStart:J(e.onSwipeStart,e=>{e.currentTarget.setAttribute(`data-swipe`,`start`)}),onSwipeMove:J(e.onSwipeMove,e=>{let{x:t,y:n}=e.detail.delta;e.currentTarget.setAttribute(`data-swipe`,`move`),e.currentTarget.style.setProperty(`--radix-toast-swipe-move-x`,`${t}px`),e.currentTarget.style.setProperty(`--radix-toast-swipe-move-y`,`${n}px`)}),onSwipeCancel:J(e.onSwipeCancel,e=>{e.currentTarget.setAttribute(`data-swipe`,`cancel`),e.currentTarget.style.removeProperty(`--radix-toast-swipe-move-x`),e.currentTarget.style.removeProperty(`--radix-toast-swipe-move-y`),e.currentTarget.style.removeProperty(`--radix-toast-swipe-end-x`),e.currentTarget.style.removeProperty(`--radix-toast-swipe-end-y`)}),onSwipeEnd:J(e.onSwipeEnd,e=>{let{x:t,y:n}=e.detail.delta;e.currentTarget.setAttribute(`data-swipe`,`end`),e.currentTarget.style.removeProperty(`--radix-toast-swipe-move-x`),e.currentTarget.style.removeProperty(`--radix-toast-swipe-move-y`),e.currentTarget.style.setProperty(`--radix-toast-swipe-end-x`,`${t}px`),e.currentTarget.style.setProperty(`--radix-toast-swipe-end-y`,`${n}px`),c(!1)})})})});fv.displayName=sv;var[pv,mv]=Y_(sv,{onClose(){}}),hv=j.forwardRef((e,t)=>{let{__scopeToast:n,type:r=`foreground`,duration:i,open:a,onClose:o,onEscapeKeyDown:s,onPause:c,onResume:l,onSwipeStart:u,onSwipeMove:d,onSwipeCancel:f,onSwipeEnd:p,...m}=e,h=Q_(sv,n),[g,_]=j.useState(null),v=Qg(t,e=>_(e)),y=j.useRef(null),b=j.useRef(null),x=i||h.duration,S=j.useRef(0),C=j.useRef(x),w=j.useRef(0),{onToastAdd:T,onToastRemove:E}=h,D=f_(()=>{g?.contains(document.activeElement)&&h.viewport?.focus(),o()}),O=j.useCallback(e=>{!e||e===1/0||(window.clearTimeout(w.current),S.current=new Date().getTime(),w.current=window.setTimeout(D,e))},[D]);j.useEffect(()=>{let e=h.viewport;if(e){let t=()=>{O(C.current),l?.()},n=()=>{let e=new Date().getTime()-S.current;C.current-=e,window.clearTimeout(w.current),c?.()};return e.addEventListener(nv,n),e.addEventListener(rv,t),()=>{e.removeEventListener(nv,n),e.removeEventListener(rv,t)}}},[h.viewport,x,c,l,O]),j.useEffect(()=>{a&&!h.isClosePausedRef.current&&O(x)},[a,x,h.isClosePausedRef,O]),j.useEffect(()=>(T(),()=>E()),[T,E]);let ee=j.useMemo(()=>g?Ev(g):null,[g]);return h.viewport?(0,M.jsxs)(M.Fragment,{children:[ee&&(0,M.jsx)(gv,{__scopeToast:n,role:`status`,"aria-live":r===`foreground`?`assertive`:`polite`,children:ee}),(0,M.jsx)(pv,{scope:n,onClose:D,children:Ui.createPortal((0,M.jsx)(K_.ItemSlot,{scope:n,children:(0,M.jsx)(D_,{asChild:!0,onEscapeKeyDown:J(s,()=>{h.isFocusedToastEscapeKeyDownRef.current||D(),h.isFocusedToastEscapeKeyDownRef.current=!1}),children:(0,M.jsx)(u_.li,{tabIndex:0,"data-state":a?`open`:`closed`,"data-swipe-direction":h.swipeDirection,...m,ref:v,style:{userSelect:`none`,touchAction:`none`,...e.style},onKeyDown:J(e.onKeyDown,e=>{e.key===`Escape`&&(s?.(e.nativeEvent),e.nativeEvent.defaultPrevented||(h.isFocusedToastEscapeKeyDownRef.current=!0,D()))}),onPointerDown:J(e.onPointerDown,e=>{e.button===0&&(y.current={x:e.clientX,y:e.clientY})}),onPointerMove:J(e.onPointerMove,e=>{if(!y.current)return;let t=e.clientX-y.current.x,n=e.clientY-y.current.y,r=!!b.current,i=[`left`,`right`].includes(h.swipeDirection),a=[`left`,`up`].includes(h.swipeDirection)?Math.min:Math.max,o=i?a(0,t):0,s=i?0:a(0,n),c=e.pointerType===`touch`?10:2,l={x:o,y:s},f={originalEvent:e,delta:l};r?(b.current=l,Dv(lv,d,f,{discrete:!1})):Ov(l,h.swipeDirection,c)?(b.current=l,Dv(cv,u,f,{discrete:!1}),e.target.setPointerCapture(e.pointerId)):(Math.abs(t)>c||Math.abs(n)>c)&&(y.current=null)}),onPointerUp:J(e.onPointerUp,e=>{let t=b.current,n=e.target;if(n.hasPointerCapture(e.pointerId)&&n.releasePointerCapture(e.pointerId),b.current=null,y.current=null,t){let n=e.currentTarget,r={originalEvent:e,delta:t};Ov(t,h.swipeDirection,h.swipeThreshold)?Dv(dv,p,r,{discrete:!0}):Dv(uv,f,r,{discrete:!0}),n.addEventListener(`click`,e=>e.preventDefault(),{once:!0})}})})})}),h.viewport)})]}):null}),gv=e=>{let{__scopeToast:t,children:n,...r}=e,i=Q_(sv,t),[a,o]=j.useState(!1),[s,c]=j.useState(!1);return kv(()=>o(!0)),j.useEffect(()=>{let e=window.setTimeout(()=>c(!0),1e3);return()=>window.clearTimeout(e)},[]),s?null:(0,M.jsx)(j_,{asChild:!0,children:(0,M.jsx)(U_,{...r,children:a&&(0,M.jsxs)(M.Fragment,{children:[i.label,` `,n]})})})},_v=`ToastTitle`,vv=j.forwardRef((e,t)=>{let{__scopeToast:n,...r}=e;return(0,M.jsx)(u_.div,{...r,ref:t})});vv.displayName=_v;var yv=`ToastDescription`,bv=j.forwardRef((e,t)=>{let{__scopeToast:n,...r}=e;return(0,M.jsx)(u_.div,{...r,ref:t})});bv.displayName=yv;var xv=`ToastAction`,Sv=j.forwardRef((e,t)=>{let{altText:n,...r}=e;return n.trim()?(0,M.jsx)(Tv,{altText:n,asChild:!0,children:(0,M.jsx)(wv,{...r,ref:t})}):(console.error(`Invalid prop \`altText\` supplied to \`${xv}\`. Expected non-empty \`string\`.`),null)});Sv.displayName=xv;var Cv=`ToastClose`,wv=j.forwardRef((e,t)=>{let{__scopeToast:n,...r}=e,i=mv(Cv,n);return(0,M.jsx)(Tv,{asChild:!0,children:(0,M.jsx)(u_.button,{type:`button`,...r,ref:t,onClick:J(e.onClick,i.onClose)})})});wv.displayName=Cv;var Tv=j.forwardRef((e,t)=>{let{__scopeToast:n,altText:r,...i}=e;return(0,M.jsx)(u_.div,{"data-radix-toast-announce-exclude":``,"data-radix-toast-announce-alt":r||void 0,...i,ref:t})});function Ev(e){let t=[];return Array.from(e.childNodes).forEach(e=>{if(e.nodeType===e.TEXT_NODE&&e.textContent&&t.push(e.textContent),Av(e)){let n=e.ariaHidden||e.hidden||e.style.display===`none`,r=e.dataset.radixToastAnnounceExclude===``;if(!n)if(r){let n=e.dataset.radixToastAnnounceAlt;n&&t.push(n)}else t.push(...Ev(e))}}),t}function Dv(e,t,n,{discrete:r}){let i=n.originalEvent.currentTarget,a=new CustomEvent(e,{bubbles:!0,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?d_(i,a):i.dispatchEvent(a)}var Ov=(e,t,n=0)=>{let r=Math.abs(e.x),i=Math.abs(e.y),a=r>i;return t===`left`||t===`right`?a&&r>n:!a&&i>n};function kv(e=()=>{}){let t=f_(e);k_(()=>{let e=0,n=0;return e=window.requestAnimationFrame(()=>n=window.requestAnimationFrame(t)),()=>{window.cancelAnimationFrame(e),window.cancelAnimationFrame(n)}},[t])}function Av(e){return e.nodeType===e.ELEMENT_NODE}function jv(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function Mv(e){let t=document.activeElement;return e.some(e=>e===t?!0:(e.focus(),document.activeElement!==t))}var Nv=$_,Pv=iv,Fv=fv,Iv=vv,Lv=bv,Rv=Sv,zv=wv;function Bv(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=Bv(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function Vv(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=Bv(e))&&(r&&(r+=` `),r+=t);return r}var Hv=e=>typeof e==`boolean`?`${e}`:e===0?`0`:e,Uv=Vv,Wv=(e,t)=>n=>{if(t?.variants==null)return Uv(e,n?.class,n?.className);let{variants:r,defaultVariants:i}=t,a=Object.keys(r).map(e=>{let t=n?.[e],a=i?.[e];if(t===null)return null;let o=Hv(t)||Hv(a);return r[e][o]}),o=n&&Object.entries(n).reduce((e,t)=>{let[n,r]=t;return r===void 0||(e[n]=r),e},{});return Uv(e,a,t?.compoundVariants?.reduce((e,t)=>{let{class:n,className:r,...a}=t;return Object.entries(a).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...i,...o}[t]):{...i,...o}[t]===n})?[...e,n,r]:e},[]),n?.class,n?.className)},Gv=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),Kv=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),qv=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),Jv=e=>{let t=qv(e);return t.charAt(0).toUpperCase()+t.slice(1)},Yv={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`},Xv=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},Zv=(0,j.createContext)({}),Qv=()=>(0,j.useContext)(Zv),$v=(0,j.forwardRef)(({color:e,size:t,strokeWidth:n,absoluteStrokeWidth:r,className:i=``,children:a,iconNode:o,...s},c)=>{let{size:l=24,strokeWidth:u=2,absoluteStrokeWidth:d=!1,color:f=`currentColor`,className:p=``}=Qv()??{},m=r??d?Number(n??u)*24/Number(t??l):n??u;return(0,j.createElement)(`svg`,{ref:c,...Yv,width:t??l??Yv.width,height:t??l??Yv.height,stroke:e??f,strokeWidth:m,className:Gv(`lucide`,p,i),...!a&&!Xv(s)&&{"aria-hidden":`true`},...s},[...o.map(([e,t])=>(0,j.createElement)(e,t)),...Array.isArray(a)?a:[a]])}),ey=(e,t)=>{let n=(0,j.forwardRef)(({className:n,...r},i)=>(0,j.createElement)($v,{ref:i,iconNode:t,className:Gv(`lucide-${Kv(Jv(e))}`,`lucide-${e}`,n),...r}));return n.displayName=Jv(e),n},ty=ey(`arrow-right`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`m12 5 7 7-7 7`,key:`xquz4c`}]]),ny=ey(`building-2`,[[`path`,{d:`M10 12h4`,key:`a56b0p`}],[`path`,{d:`M10 8h4`,key:`1sr2af`}],[`path`,{d:`M14 21v-3a2 2 0 0 0-4 0v3`,key:`1rgiei`}],[`path`,{d:`M6 10H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-2`,key:`secmi2`}],[`path`,{d:`M6 21V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v16`,key:`16ra0t`}]]),ry=ey(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),iy=ey(`chevron-down`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]),ay=ey(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]),oy=ey(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]),sy=ey(`chevrons-up-down`,[[`path`,{d:`m7 15 5 5 5-5`,key:`1hf1tw`}],[`path`,{d:`m7 9 5-5 5 5`,key:`sgt6xg`}]]),cy=ey(`circle-check`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),ly=ey(`circle-user-round`,[[`path`,{d:`M17.925 20.056a6 6 0 0 0-11.851.001`,key:`z69sun`}],[`circle`,{cx:`12`,cy:`11`,r:`4`,key:`1gt34v`}],[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),uy=ey(`circle-x`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m15 9-6 6`,key:`1uzhvr`}],[`path`,{d:`m9 9 6 6`,key:`z0biqf`}]]),dy=ey(`circle`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),fy=ey(`clock`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6l4 2`,key:`mmk7yg`}]]),py=ey(`copy`,[[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]),my=ey(`ellipsis-vertical`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`12`,cy:`5`,r:`1`,key:`gxeob9`}],[`circle`,{cx:`12`,cy:`19`,r:`1`,key:`lyex9k`}]]),hy=ey(`gallery-vertical-end`,[[`path`,{d:`M7 2h10`,key:`nczekb`}],[`path`,{d:`M5 6h14`,key:`u2x4p`}],[`rect`,{width:`18`,height:`12`,x:`3`,y:`10`,rx:`2`,key:`l0tzu3`}]]),gy=ey(`globe`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20`,key:`13o1zl`}],[`path`,{d:`M2 12h20`,key:`9i4pu4`}]]),_y=ey(`house`,[[`path`,{d:`M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8`,key:`5wwlr5`}],[`path`,{d:`M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`,key:`r6nss1`}]]),vy=ey(`inbox`,[[`polyline`,{points:`22 12 16 12 14 15 10 15 8 12 2 12`,key:`o97t9d`}],[`path`,{d:`M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z`,key:`oot6mr`}]]),yy=ey(`key-round`,[[`path`,{d:`M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z`,key:`1s6t7t`}],[`circle`,{cx:`16.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`w0ekpg`}]]),by=ey(`languages`,[[`path`,{d:`m5 8 6 6`,key:`1wu5hv`}],[`path`,{d:`m4 14 6-6 2-3`,key:`1k1g8d`}],[`path`,{d:`M2 5h12`,key:`or177f`}],[`path`,{d:`M7 2h1`,key:`1t2jsx`}],[`path`,{d:`m22 22-5-10-5 10`,key:`don7ne`}],[`path`,{d:`M14 18h6`,key:`1m8k6r`}]]),xy=ey(`link-2-off`,[[`path`,{d:`M9 17H7A5 5 0 0 1 7 7`,key:`10o201`}],[`path`,{d:`M15 7h2a5 5 0 0 1 4 8`,key:`1d3206`}],[`line`,{x1:`8`,x2:`12`,y1:`12`,y2:`12`,key:`rvw6j4`}],[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`,key:`a6p6uj`}]]),Sy=ey(`link-2`,[[`path`,{d:`M9 17H7A5 5 0 0 1 7 7h2`,key:`8i5ue5`}],[`path`,{d:`M15 7h2a5 5 0 1 1 0 10h-2`,key:`1b9ql8`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`,key:`1jonct`}]]),Cy=ey(`log-out`,[[`path`,{d:`m16 17 5-5-5-5`,key:`1bji2h`}],[`path`,{d:`M21 12H9`,key:`dn1m92`}],[`path`,{d:`M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4`,key:`1uf3rs`}]]),wy=ey(`mail`,[[`path`,{d:`m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7`,key:`132q7q`}],[`rect`,{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`,key:`izxlao`}]]),Ty=ey(`monitor`,[[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`,key:`48i651`}],[`line`,{x1:`8`,x2:`16`,y1:`21`,y2:`21`,key:`1svkeh`}],[`line`,{x1:`12`,x2:`12`,y1:`17`,y2:`21`,key:`vw1qmm`}]]),Ey=ey(`moon`,[[`path`,{d:`M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401`,key:`kfwtm`}]]),Dy=ey(`panel-left`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}]]),Oy=ey(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),ky=ey(`refresh-cw`,[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]),Ay=ey(`save`,[[`path`,{d:`M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z`,key:`1c8476`}],[`path`,{d:`M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7`,key:`1ydtos`}],[`path`,{d:`M7 3v4a1 1 0 0 0 1 1h7`,key:`t51u73`}]]),jy=ey(`settings`,[[`path`,{d:`M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915`,key:`1i5ecw`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),My=ey(`shield-check`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),Ny=ey(`shield`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}]]),Py=ey(`smartphone`,[[`rect`,{width:`14`,height:`20`,x:`5`,y:`2`,rx:`2`,ry:`2`,key:`1yt0o3`}],[`path`,{d:`M12 18h.01`,key:`mhygvu`}]]),Fy=ey(`sun`,[[`circle`,{cx:`12`,cy:`12`,r:`4`,key:`4exip2`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`m4.93 4.93 1.41 1.41`,key:`149t6j`}],[`path`,{d:`m17.66 17.66 1.41 1.41`,key:`ptbguv`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`m6.34 17.66-1.41 1.41`,key:`1m8zz5`}],[`path`,{d:`m19.07 4.93-1.41 1.41`,key:`1shlcs`}]]),Iy=ey(`tablet`,[[`rect`,{width:`16`,height:`20`,x:`4`,y:`2`,rx:`2`,ry:`2`,key:`76otgf`}],[`line`,{x1:`12`,x2:`12.01`,y1:`18`,y2:`18`,key:`1dp563`}]]),Ly=ey(`trash-2`,[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]]),Ry=ey(`triangle-alert`,[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),zy=ey(`upload`,[[`path`,{d:`M12 3v12`,key:`1x0j5s`}],[`path`,{d:`m17 8-5-5-5 5`,key:`7q97r8`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}]]),By=ey(`user-minus`,[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}],[`line`,{x1:`22`,x2:`16`,y1:`11`,y2:`11`,key:`1shjgl`}]]),Vy=ey(`user-plus`,[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}],[`line`,{x1:`19`,x2:`19`,y1:`8`,y2:`14`,key:`1bvyxn`}],[`line`,{x1:`22`,x2:`16`,y1:`11`,y2:`11`,key:`1shjgl`}]]),Hy=ey(`user`,[[`path`,{d:`M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2`,key:`975kel`}],[`circle`,{cx:`12`,cy:`7`,r:`4`,key:`17ys0d`}]]),Uy=ey(`users-round`,[[`path`,{d:`M18 21a8 8 0 0 0-16 0`,key:`3ypg7q`}],[`circle`,{cx:`10`,cy:`8`,r:`5`,key:`o932ke`}],[`path`,{d:`M22 20c0-3.37-2-6.5-4-8a5 5 0 0 0-.45-8.3`,key:`10s06x`}]]),Wy=ey(`users`,[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`path`,{d:`M16 3.128a4 4 0 0 1 0 7.744`,key:`16gr8j`}],[`path`,{d:`M22 21v-2a4 4 0 0 0-3-3.87`,key:`kshegd`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}]]),Gy=ey(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),Ky=(e,t)=>{let n=Array(e.length+t.length);for(let t=0;t<e.length;t++)n[t]=e[t];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},qy=(e,t)=>({classGroupId:e,validator:t}),Jy=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),Yy=`-`,Xy=[],Zy=`arbitrary..`,Qy=e=>{let t=tb(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return eb(e);let n=e.split(Yy);return $y(n,+(n[0]===``&&n.length>1),t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?Ky(i,t):t:i||Xy}return n[e]||Xy}}},$y=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=$y(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(Yy):e.slice(t).join(Yy),s=a.length;for(let e=0;e<s;e++){let t=a[e];if(t.validator(o))return t.classGroupId}},eb=e=>e.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?Zy+r:void 0})(),tb=e=>{let{theme:t,classGroups:n}=e;return nb(n,t)},nb=(e,t)=>{let n=Jy();for(let r in e){let i=e[r];rb(i,n,r,t)}return n},rb=(e,t,n,r)=>{let i=e.length;for(let a=0;a<i;a++){let i=e[a];ib(i,t,n,r)}},ib=(e,t,n,r)=>{if(typeof e==`string`){ab(e,t,n);return}if(typeof e==`function`){ob(e,t,n,r);return}sb(e,t,n,r)},ab=(e,t,n)=>{let r=e===``?t:cb(t,e);r.classGroupId=n},ob=(e,t,n,r)=>{if(lb(e)){rb(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(qy(n,e))},sb=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e<a;e++){let[a,o]=i[e];rb(o,cb(t,a),n,r)}},cb=(e,t)=>{let n=e,r=t.split(Yy),i=r.length;for(let e=0;e<i;e++){let t=r[e],i=n.nextPart.get(t);i||(i=Jy(),n.nextPart.set(t,i)),n=i}return n},lb=e=>`isThemeGetter`in e&&e.isThemeGetter===!0,ub=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),i=(i,a)=>{n[i]=a,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){let t=n[e];if(t!==void 0)return t;if((t=r[e])!==void 0)return i(e,t),t},set(e,t){e in n?n[e]=t:i(e,t)}}},db=`!`,fb=`:`,pb=[],mb=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),hb=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t=[],n=0,r=0,i=0,a,o=e.length;for(let s=0;s<o;s++){let o=e[s];if(n===0&&r===0){if(o===fb){t.push(e.slice(i,s)),i=s+1;continue}if(o===`/`){a=s;continue}}o===`[`?n++:o===`]`?n--:o===`(`?r++:o===`)`&&r--}let s=t.length===0?e:e.slice(i),c=s,l=!1;s.endsWith(db)?(c=s.slice(0,-1),l=!0):s.startsWith(db)&&(c=s.slice(1),l=!0);let u=a&&a>i?a-i:void 0;return mb(t,l,c,u)};if(t){let e=t+fb,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):mb(pb,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},gb=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i<e.length;i++){let a=e[i],o=a[0]===`[`,s=t.has(a);o||s?(r.length>0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},_b=e=>({cache:ub(e.cacheSize),parseClassName:hb(e),sortModifiers:gb(e),postfixLookupClassGroupIds:vb(e),...Qy(e)}),vb=e=>{let t=Object.create(null),n=e.postfixLookupClassGroups;if(n)for(let e=0;e<n.length;e++)t[n[e]]=!0;return t},yb=/\s+/,bb=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a,postfixLookupClassGroupIds:o}=t,s=[],c=e.trim().split(yb),l=``;for(let e=c.length-1;e>=0;--e){let t=c[e],{isExternal:u,modifiers:d,hasImportantModifier:f,baseClassName:p,maybePostfixModifierPosition:m}=n(t);if(u){l=t+(l.length>0?` `+l:l);continue}let h=!!m,g;if(h){g=r(p.substring(0,m));let e=g&&o[g]?r(p):void 0;e&&e!==g&&(g=e,h=!1)}else g=r(p);if(!g){if(!h){l=t+(l.length>0?` `+l:l);continue}if(g=r(p),!g){l=t+(l.length>0?` `+l:l);continue}h=!1}let _=d.length===0?``:d.length===1?d[0]:a(d).join(`:`),v=f?_+db:_,y=v+g;if(s.indexOf(y)>-1)continue;s.push(y);let b=i(g,h);for(let e=0;e<b.length;++e){let t=b[e];s.push(v+t)}l=t+(l.length>0?` `+l:l)}return l},xb=(...e)=>{let t=0,n,r,i=``;for(;t<e.length;)(n=e[t++])&&(r=Sb(n))&&(i&&(i+=` `),i+=r);return i},Sb=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=Sb(e[r]))&&(n&&(n+=` `),n+=t);return n},Cb=(e,...t)=>{let n,r,i,a,o=o=>(n=_b(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)),s=e=>{let t=r(e);if(t)return t;let a=bb(e,n);return i(e,a),a};return a=o,(...e)=>a(xb(...e))},wb=[],Tb=e=>{let t=t=>t[e]||wb;return t.isThemeGetter=!0,t},Eb=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Db=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Ob=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,kb=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Ab=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,jb=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Mb=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Nb=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Pb=e=>Ob.test(e),Fb=e=>!!e&&!Number.isNaN(Number(e)),Ib=e=>!!e&&Number.isInteger(Number(e)),Lb=e=>e.endsWith(`%`)&&Fb(e.slice(0,-1)),Rb=e=>kb.test(e),zb=()=>!0,Bb=e=>Ab.test(e)&&!jb.test(e),Vb=()=>!1,Hb=e=>Mb.test(e),Ub=e=>Nb.test(e),Wb=e=>!Y(e)&&!X(e),Gb=e=>e.startsWith(`@container`)&&(e[10]===`/`&&e[11]!==void 0||e[11]===`s`&&e[16]!==void 0&&e.startsWith(`-size/`,10)||e[11]===`n`&&e[18]!==void 0&&e.startsWith(`-normal/`,10)),Kb=e=>sx(e,dx,Vb),Y=e=>Eb.test(e),qb=e=>sx(e,fx,Bb),Jb=e=>sx(e,px,Fb),Yb=e=>sx(e,hx,zb),Xb=e=>sx(e,mx,Vb),Zb=e=>sx(e,lx,Vb),Qb=e=>sx(e,ux,Ub),$b=e=>sx(e,gx,Hb),X=e=>Db.test(e),ex=e=>cx(e,fx),tx=e=>cx(e,mx),nx=e=>cx(e,lx),rx=e=>cx(e,dx),ix=e=>cx(e,ux),ax=e=>cx(e,gx,!0),ox=e=>cx(e,hx,!0),sx=(e,t,n)=>{let r=Eb.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},cx=(e,t,n=!1)=>{let r=Db.exec(e);return r?r[1]?t(r[1]):n:!1},lx=e=>e===`position`||e===`percentage`,ux=e=>e===`image`||e===`url`,dx=e=>e===`length`||e===`size`||e===`bg-size`,fx=e=>e===`length`,px=e=>e===`number`,mx=e=>e===`family-name`,hx=e=>e===`number`||e===`weight`,gx=e=>e===`shadow`,_x=Cb(()=>{let e=Tb(`color`),t=Tb(`font`),n=Tb(`text`),r=Tb(`font-weight`),i=Tb(`tracking`),a=Tb(`leading`),o=Tb(`breakpoint`),s=Tb(`container`),c=Tb(`spacing`),l=Tb(`radius`),u=Tb(`shadow`),d=Tb(`inset-shadow`),f=Tb(`text-shadow`),p=Tb(`drop-shadow`),m=Tb(`blur`),h=Tb(`perspective`),g=Tb(`aspect`),_=Tb(`ease`),v=Tb(`animate`),y=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],b=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],x=()=>[...b(),X,Y],S=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],C=()=>[`auto`,`contain`,`none`],w=()=>[X,Y,c],T=()=>[Pb,`full`,`auto`,...w()],E=()=>[Ib,`none`,`subgrid`,X,Y],D=()=>[`auto`,{span:[`full`,Ib,X,Y]},Ib,X,Y],O=()=>[Ib,`auto`,X,Y],ee=()=>[`auto`,`min`,`max`,`fr`,X,Y],te=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],ne=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],re=()=>[`auto`,...w()],ie=()=>[Pb,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...w()],ae=()=>[Pb,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,...w()],oe=()=>[Pb,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,...w()],k=()=>[e,X,Y],se=()=>[...b(),nx,Zb,{position:[X,Y]}],ce=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],le=()=>[`auto`,`cover`,`contain`,rx,Kb,{size:[X,Y]}],ue=()=>[Lb,ex,qb],A=()=>[``,`none`,`full`,l,X,Y],de=()=>[``,Fb,ex,qb],fe=()=>[`solid`,`dashed`,`dotted`,`double`],pe=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],me=()=>[Fb,Lb,nx,Zb],he=()=>[``,`none`,m,X,Y],ge=()=>[`none`,Fb,X,Y],_e=()=>[`none`,Fb,X,Y],ve=()=>[Fb,X,Y],ye=()=>[Pb,`full`,...w()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[Rb],breakpoint:[Rb],color:[zb],container:[Rb],"drop-shadow":[Rb],ease:[`in`,`out`,`in-out`],font:[Wb],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[Rb],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[Rb],shadow:[Rb],spacing:[`px`,Fb],text:[Rb],"text-shadow":[Rb],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,Pb,Y,X,g]}],container:[`container`],"container-type":[{"@container":[``,`normal`,`size`,X,Y]}],"container-named":[Gb],columns:[{columns:[Fb,Y,X,s]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],sr:[`sr-only`,`not-sr-only`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:x()}],overflow:[{overflow:S()}],"overflow-x":[{"overflow-x":S()}],"overflow-y":[{"overflow-y":S()}],overscroll:[{overscroll:C()}],"overscroll-x":[{"overscroll-x":C()}],"overscroll-y":[{"overscroll-y":C()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:T()}],"inset-x":[{"inset-x":T()}],"inset-y":[{"inset-y":T()}],start:[{"inset-s":T(),start:T()}],end:[{"inset-e":T(),end:T()}],"inset-bs":[{"inset-bs":T()}],"inset-be":[{"inset-be":T()}],top:[{top:T()}],right:[{right:T()}],bottom:[{bottom:T()}],left:[{left:T()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[Ib,`auto`,X,Y]}],basis:[{basis:[Pb,`full`,`auto`,s,...w()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[Fb,Pb,`auto`,`initial`,`none`,Y]}],grow:[{grow:[``,Fb,X,Y]}],shrink:[{shrink:[``,Fb,X,Y]}],order:[{order:[Ib,`first`,`last`,`none`,X,Y]}],"grid-cols":[{"grid-cols":E()}],"col-start-end":[{col:D()}],"col-start":[{"col-start":O()}],"col-end":[{"col-end":O()}],"grid-rows":[{"grid-rows":E()}],"row-start-end":[{row:D()}],"row-start":[{"row-start":O()}],"row-end":[{"row-end":O()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":ee()}],"auto-rows":[{"auto-rows":ee()}],gap:[{gap:w()}],"gap-x":[{"gap-x":w()}],"gap-y":[{"gap-y":w()}],"justify-content":[{justify:[...te(),`normal`]}],"justify-items":[{"justify-items":[...ne(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...ne()]}],"align-content":[{content:[`normal`,...te()]}],"align-items":[{items:[...ne(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...ne(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":te()}],"place-items":[{"place-items":[...ne(),`baseline`]}],"place-self":[{"place-self":[`auto`,...ne()]}],p:[{p:w()}],px:[{px:w()}],py:[{py:w()}],ps:[{ps:w()}],pe:[{pe:w()}],pbs:[{pbs:w()}],pbe:[{pbe:w()}],pt:[{pt:w()}],pr:[{pr:w()}],pb:[{pb:w()}],pl:[{pl:w()}],m:[{m:re()}],mx:[{mx:re()}],my:[{my:re()}],ms:[{ms:re()}],me:[{me:re()}],mbs:[{mbs:re()}],mbe:[{mbe:re()}],mt:[{mt:re()}],mr:[{mr:re()}],mb:[{mb:re()}],ml:[{ml:re()}],"space-x":[{"space-x":w()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":w()}],"space-y-reverse":[`space-y-reverse`],size:[{size:ie()}],"inline-size":[{inline:[`auto`,...ae()]}],"min-inline-size":[{"min-inline":[`auto`,...ae()]}],"max-inline-size":[{"max-inline":[`none`,...ae()]}],"block-size":[{block:[`auto`,...oe()]}],"min-block-size":[{"min-block":[`auto`,...oe()]}],"max-block-size":[{"max-block":[`none`,...oe()]}],w:[{w:[s,`screen`,...ie()]}],"min-w":[{"min-w":[s,`screen`,`none`,...ie()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...ie()]}],h:[{h:[`screen`,`lh`,...ie()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...ie()]}],"max-h":[{"max-h":[`screen`,`lh`,...ie()]}],"font-size":[{text:[`base`,n,ex,qb]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,ox,Yb]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,Lb,Y]}],"font-family":[{font:[tx,Xb,t]}],"font-features":[{"font-features":[Y]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[i,X,Y]}],"line-clamp":[{"line-clamp":[Fb,`none`,X,Jb]}],leading:[{leading:[a,...w()]}],"list-image":[{"list-image":[`none`,X,Y]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,X,Y]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:k()}],"text-color":[{text:k()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...fe(),`wavy`]}],"text-decoration-thickness":[{decoration:[Fb,`from-font`,`auto`,X,qb]}],"text-decoration-color":[{decoration:k()}],"underline-offset":[{"underline-offset":[Fb,`auto`,X,Y]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:w()}],"tab-size":[{tab:[Ib,X,Y]}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,X,Y]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],wrap:[{wrap:[`break-word`,`anywhere`,`normal`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,X,Y]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:se()}],"bg-repeat":[{bg:ce()}],"bg-size":[{bg:le()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},Ib,X,Y],radial:[``,X,Y],conic:[Ib,X,Y]},ix,Qb]}],"bg-color":[{bg:k()}],"gradient-from-pos":[{from:ue()}],"gradient-via-pos":[{via:ue()}],"gradient-to-pos":[{to:ue()}],"gradient-from":[{from:k()}],"gradient-via":[{via:k()}],"gradient-to":[{to:k()}],rounded:[{rounded:A()}],"rounded-s":[{"rounded-s":A()}],"rounded-e":[{"rounded-e":A()}],"rounded-t":[{"rounded-t":A()}],"rounded-r":[{"rounded-r":A()}],"rounded-b":[{"rounded-b":A()}],"rounded-l":[{"rounded-l":A()}],"rounded-ss":[{"rounded-ss":A()}],"rounded-se":[{"rounded-se":A()}],"rounded-ee":[{"rounded-ee":A()}],"rounded-es":[{"rounded-es":A()}],"rounded-tl":[{"rounded-tl":A()}],"rounded-tr":[{"rounded-tr":A()}],"rounded-br":[{"rounded-br":A()}],"rounded-bl":[{"rounded-bl":A()}],"border-w":[{border:de()}],"border-w-x":[{"border-x":de()}],"border-w-y":[{"border-y":de()}],"border-w-s":[{"border-s":de()}],"border-w-e":[{"border-e":de()}],"border-w-bs":[{"border-bs":de()}],"border-w-be":[{"border-be":de()}],"border-w-t":[{"border-t":de()}],"border-w-r":[{"border-r":de()}],"border-w-b":[{"border-b":de()}],"border-w-l":[{"border-l":de()}],"divide-x":[{"divide-x":de()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":de()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...fe(),`hidden`,`none`]}],"divide-style":[{divide:[...fe(),`hidden`,`none`]}],"border-color":[{border:k()}],"border-color-x":[{"border-x":k()}],"border-color-y":[{"border-y":k()}],"border-color-s":[{"border-s":k()}],"border-color-e":[{"border-e":k()}],"border-color-bs":[{"border-bs":k()}],"border-color-be":[{"border-be":k()}],"border-color-t":[{"border-t":k()}],"border-color-r":[{"border-r":k()}],"border-color-b":[{"border-b":k()}],"border-color-l":[{"border-l":k()}],"divide-color":[{divide:k()}],"outline-style":[{outline:[...fe(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[Fb,X,Y]}],"outline-w":[{outline:[``,Fb,ex,qb]}],"outline-color":[{outline:k()}],shadow:[{shadow:[``,`none`,u,ax,$b]}],"shadow-color":[{shadow:k()}],"inset-shadow":[{"inset-shadow":[`none`,d,ax,$b]}],"inset-shadow-color":[{"inset-shadow":k()}],"ring-w":[{ring:de()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:k()}],"ring-offset-w":[{"ring-offset":[Fb,qb]}],"ring-offset-color":[{"ring-offset":k()}],"inset-ring-w":[{"inset-ring":de()}],"inset-ring-color":[{"inset-ring":k()}],"text-shadow":[{"text-shadow":[`none`,f,ax,$b]}],"text-shadow-color":[{"text-shadow":k()}],opacity:[{opacity:[Fb,X,Y]}],"mix-blend":[{"mix-blend":[...pe(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":pe()}],"mask-clip":[{"mask-clip":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]},`mask-no-clip`],"mask-composite":[{mask:[`add`,`subtract`,`intersect`,`exclude`]}],"mask-image-linear-pos":[{"mask-linear":[Fb]}],"mask-image-linear-from-pos":[{"mask-linear-from":me()}],"mask-image-linear-to-pos":[{"mask-linear-to":me()}],"mask-image-linear-from-color":[{"mask-linear-from":k()}],"mask-image-linear-to-color":[{"mask-linear-to":k()}],"mask-image-t-from-pos":[{"mask-t-from":me()}],"mask-image-t-to-pos":[{"mask-t-to":me()}],"mask-image-t-from-color":[{"mask-t-from":k()}],"mask-image-t-to-color":[{"mask-t-to":k()}],"mask-image-r-from-pos":[{"mask-r-from":me()}],"mask-image-r-to-pos":[{"mask-r-to":me()}],"mask-image-r-from-color":[{"mask-r-from":k()}],"mask-image-r-to-color":[{"mask-r-to":k()}],"mask-image-b-from-pos":[{"mask-b-from":me()}],"mask-image-b-to-pos":[{"mask-b-to":me()}],"mask-image-b-from-color":[{"mask-b-from":k()}],"mask-image-b-to-color":[{"mask-b-to":k()}],"mask-image-l-from-pos":[{"mask-l-from":me()}],"mask-image-l-to-pos":[{"mask-l-to":me()}],"mask-image-l-from-color":[{"mask-l-from":k()}],"mask-image-l-to-color":[{"mask-l-to":k()}],"mask-image-x-from-pos":[{"mask-x-from":me()}],"mask-image-x-to-pos":[{"mask-x-to":me()}],"mask-image-x-from-color":[{"mask-x-from":k()}],"mask-image-x-to-color":[{"mask-x-to":k()}],"mask-image-y-from-pos":[{"mask-y-from":me()}],"mask-image-y-to-pos":[{"mask-y-to":me()}],"mask-image-y-from-color":[{"mask-y-from":k()}],"mask-image-y-to-color":[{"mask-y-to":k()}],"mask-image-radial":[{"mask-radial":[X,Y]}],"mask-image-radial-from-pos":[{"mask-radial-from":me()}],"mask-image-radial-to-pos":[{"mask-radial-to":me()}],"mask-image-radial-from-color":[{"mask-radial-from":k()}],"mask-image-radial-to-color":[{"mask-radial-to":k()}],"mask-image-radial-shape":[{"mask-radial":[`circle`,`ellipse`]}],"mask-image-radial-size":[{"mask-radial":[{closest:[`side`,`corner`],farthest:[`side`,`corner`]}]}],"mask-image-radial-pos":[{"mask-radial-at":b()}],"mask-image-conic-pos":[{"mask-conic":[Fb]}],"mask-image-conic-from-pos":[{"mask-conic-from":me()}],"mask-image-conic-to-pos":[{"mask-conic-to":me()}],"mask-image-conic-from-color":[{"mask-conic-from":k()}],"mask-image-conic-to-color":[{"mask-conic-to":k()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:se()}],"mask-repeat":[{mask:ce()}],"mask-size":[{mask:le()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,X,Y]}],filter:[{filter:[``,`none`,X,Y]}],blur:[{blur:he()}],brightness:[{brightness:[Fb,X,Y]}],contrast:[{contrast:[Fb,X,Y]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,ax,$b]}],"drop-shadow-color":[{"drop-shadow":k()}],grayscale:[{grayscale:[``,Fb,X,Y]}],"hue-rotate":[{"hue-rotate":[Fb,X,Y]}],invert:[{invert:[``,Fb,X,Y]}],saturate:[{saturate:[Fb,X,Y]}],sepia:[{sepia:[``,Fb,X,Y]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,X,Y]}],"backdrop-blur":[{"backdrop-blur":he()}],"backdrop-brightness":[{"backdrop-brightness":[Fb,X,Y]}],"backdrop-contrast":[{"backdrop-contrast":[Fb,X,Y]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,Fb,X,Y]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Fb,X,Y]}],"backdrop-invert":[{"backdrop-invert":[``,Fb,X,Y]}],"backdrop-opacity":[{"backdrop-opacity":[Fb,X,Y]}],"backdrop-saturate":[{"backdrop-saturate":[Fb,X,Y]}],"backdrop-sepia":[{"backdrop-sepia":[``,Fb,X,Y]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":w()}],"border-spacing-x":[{"border-spacing-x":w()}],"border-spacing-y":[{"border-spacing-y":w()}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[``,`all`,`colors`,`opacity`,`shadow`,`transform`,`none`,X,Y]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[Fb,`initial`,X,Y]}],ease:[{ease:[`linear`,`initial`,_,X,Y]}],delay:[{delay:[Fb,X,Y]}],animate:[{animate:[`none`,v,X,Y]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[h,X,Y]}],"perspective-origin":[{"perspective-origin":x()}],rotate:[{rotate:ge()}],"rotate-x":[{"rotate-x":ge()}],"rotate-y":[{"rotate-y":ge()}],"rotate-z":[{"rotate-z":ge()}],scale:[{scale:_e()}],"scale-x":[{"scale-x":_e()}],"scale-y":[{"scale-y":_e()}],"scale-z":[{"scale-z":_e()}],"scale-3d":[`scale-3d`],skew:[{skew:ve()}],"skew-x":[{"skew-x":ve()}],"skew-y":[{"skew-y":ve()}],transform:[{transform:[X,Y,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:x()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:ye()}],"translate-x":[{"translate-x":ye()}],"translate-y":[{"translate-y":ye()}],"translate-z":[{"translate-z":ye()}],"translate-none":[`translate-none`],zoom:[{zoom:[Ib,X,Y]}],accent:[{accent:k()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:k()}],"color-scheme":[{scheme:[`normal`,`dark`,`light`,`light-dark`,`only-dark`,`only-light`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,X,Y]}],"field-sizing":[{"field-sizing":[`fixed`,`content`]}],"pointer-events":[{"pointer-events":[`auto`,`none`]}],resize:[{resize:[`none`,``,`y`,`x`]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scrollbar-thumb-color":[{"scrollbar-thumb":k()}],"scrollbar-track-color":[{"scrollbar-track":k()}],"scrollbar-gutter":[{"scrollbar-gutter":[`auto`,`stable`,`both`]}],"scrollbar-w":[{scrollbar:[`auto`,`thin`,`none`]}],"scroll-m":[{"scroll-m":w()}],"scroll-mx":[{"scroll-mx":w()}],"scroll-my":[{"scroll-my":w()}],"scroll-ms":[{"scroll-ms":w()}],"scroll-me":[{"scroll-me":w()}],"scroll-mbs":[{"scroll-mbs":w()}],"scroll-mbe":[{"scroll-mbe":w()}],"scroll-mt":[{"scroll-mt":w()}],"scroll-mr":[{"scroll-mr":w()}],"scroll-mb":[{"scroll-mb":w()}],"scroll-ml":[{"scroll-ml":w()}],"scroll-p":[{"scroll-p":w()}],"scroll-px":[{"scroll-px":w()}],"scroll-py":[{"scroll-py":w()}],"scroll-ps":[{"scroll-ps":w()}],"scroll-pe":[{"scroll-pe":w()}],"scroll-pbs":[{"scroll-pbs":w()}],"scroll-pbe":[{"scroll-pbe":w()}],"scroll-pt":[{"scroll-pt":w()}],"scroll-pr":[{"scroll-pr":w()}],"scroll-pb":[{"scroll-pb":w()}],"scroll-pl":[{"scroll-pl":w()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,X,Y]}],fill:[{fill:[`none`,...k()]}],"stroke-w":[{stroke:[Fb,ex,qb,Jb]}],stroke:[{stroke:[`none`,...k()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{"container-named":[`container-type`],overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`inset-bs`,`inset-be`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`right`,`left`],"inset-y":[`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pbs`,`pbe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mbs`,`mbe`,`mt`,`mr`,`mb`,`ml`],mx:[`mr`,`ml`],my:[`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-x`,`border-w-y`,`border-w-s`,`border-w-e`,`border-w-bs`,`border-w-be`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-r`,`border-w-l`],"border-w-y":[`border-w-t`,`border-w-b`],"border-color":[`border-color-x`,`border-color-y`,`border-color-s`,`border-color-e`,`border-color-bs`,`border-color-be`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-r`,`border-color-l`],"border-color-y":[`border-color-t`,`border-color-b`],translate:[`translate-x`,`translate-y`,`translate-none`],"translate-none":[`translate`,`translate-x`,`translate-y`,`translate-z`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mbs`,`scroll-mbe`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pbs`,`scroll-pbe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]},postfixLookupClassGroups:[`container-type`],orderSensitiveModifiers:[`*`,`**`,`after`,`backdrop`,`before`,`details-content`,`file`,`first-letter`,`first-line`,`marker`,`placeholder`,`selection`]}});function Z(...e){return _x(Vv(e))}var vx=Nv,yx=j.forwardRef(({className:e,...t},n)=>(0,M.jsx)(Pv,{ref:n,className:Z(`fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]`,e),...t}));yx.displayName=Pv.displayName;var bx=Wv(`group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full`,{variants:{variant:{default:`border bg-background text-foreground`,destructive:`destructive group border-destructive bg-destructive text-destructive-foreground`}},defaultVariants:{variant:`default`}}),xx=j.forwardRef(({className:e,variant:t,...n},r)=>(0,M.jsx)(Fv,{ref:r,className:Z(bx({variant:t}),e),...n}));xx.displayName=Fv.displayName;var Sx=j.forwardRef(({className:e,...t},n)=>(0,M.jsx)(Rv,{ref:n,className:Z(`inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors hover:bg-secondary focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive`,e),...t}));Sx.displayName=Rv.displayName;var Cx=j.forwardRef(({className:e,...t},n)=>(0,M.jsx)(zv,{ref:n,className:Z(`absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600`,e),"toast-close":``,...t,children:(0,M.jsx)(Gy,{className:`h-4 w-4`})}));Cx.displayName=zv.displayName;var wx=j.forwardRef(({className:e,...t},n)=>(0,M.jsx)(Iv,{ref:n,className:Z(`text-sm font-semibold`,e),...t}));wx.displayName=Iv.displayName;var Tx=j.forwardRef(({className:e,...t},n)=>(0,M.jsx)(Lv,{ref:n,className:Z(`text-sm opacity-90`,e),...t}));Tx.displayName=Lv.displayName;function Ex(){let{toasts:e}=Yg();return(0,M.jsxs)(vx,{children:[e.map(function({id:e,title:t,description:n,action:r,...i}){return(0,M.jsxs)(xx,{...i,children:[(0,M.jsxs)(`div`,{className:`grid gap-1`,children:[t&&(0,M.jsx)(wx,{children:t}),n&&(0,M.jsx)(Tx,{children:n})]}),r,(0,M.jsx)(Cx,{})]},e)}),(0,M.jsx)(yx,{})]})}var Dx=Symbol.for(`react.lazy`),Ox=j.use;function kx(e){return typeof e==`object`&&!!e&&`then`in e}function Ax(e){return typeof e==`object`&&!!e&&`$$typeof`in e&&e.$$typeof===Dx&&`_payload`in e&&kx(e._payload)}function jx(e){let t=Nx(e),n=j.forwardRef((e,n)=>{let{children:r,...i}=e;Ax(r)&&typeof Ox==`function`&&(r=Ox(r._payload));let a=j.Children.toArray(r),o=a.find(Fx);if(o){let e=o.props.children,r=a.map(t=>t===o?j.Children.count(e)>1?j.Children.only(null):j.isValidElement(e)?e.props.children:null:t);return(0,M.jsx)(t,{...i,ref:n,children:j.isValidElement(e)?j.cloneElement(e,void 0,r):null})}return(0,M.jsx)(t,{...i,ref:n,children:r})});return n.displayName=`${e}.Slot`,n}var Mx=jx(`Slot`);function Nx(e){let t=j.forwardRef((e,t)=>{let{children:n,...r}=e;if(Ax(n)&&typeof Ox==`function`&&(n=Ox(n._payload)),j.isValidElement(n)){let e=Lx(n),i=Ix(r,n.props);return n.type!==j.Fragment&&(i.ref=t?Zg(t,e):e),j.cloneElement(n,i)}return j.Children.count(n)>1?j.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var Px=Symbol(`radix.slottable`);function Fx(e){return j.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===Px}function Ix(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function Lx(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var Rx=768;function zx(){let[e,t]=j.useState(void 0);return j.useEffect(()=>{let e=window.matchMedia(`(max-width: ${Rx-1}px)`),n=()=>{t(window.innerWidth<Rx)};return e.addEventListener(`change`,n),t(window.innerWidth<Rx),()=>e.removeEventListener(`change`,n)},[]),!!e}var Bx=Wv(`inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0`,{variants:{variant:{default:`bg-primary text-primary-foreground shadow hover:bg-primary/90`,destructive:`bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90`,outline:`border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground`,secondary:`bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80`,ghost:`hover:bg-accent hover:text-accent-foreground`,link:`text-primary underline-offset-4 hover:underline`},size:{default:`h-9 px-4 py-2`,sm:`h-8 rounded-md px-3 text-xs`,lg:`h-10 rounded-md px-8`,icon:`h-9 w-9`}},defaultVariants:{variant:`default`,size:`default`}}),Q=j.forwardRef(({className:e,variant:t,size:n,asChild:r=!1,...i},a)=>(0,M.jsx)(r?Mx:`button`,{className:Z(Bx({variant:t,size:n,className:e})),ref:a,...i}));Q.displayName=`Button`;var Vx=j.forwardRef(({className:e,type:t,...n},r)=>(0,M.jsx)(`input`,{type:t,className:Z(`flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50`,e),ref:r,...n}));Vx.displayName=`Input`;var Hx=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=jx(`Primitive.${t}`),r=j.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,M.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{}),Ux=`Separator`,Wx=`horizontal`,Gx=[`horizontal`,`vertical`],Kx=j.forwardRef((e,t)=>{let{decorative:n,orientation:r=Wx,...i}=e,a=qx(r)?r:Wx,o=n?{role:`none`}:{"aria-orientation":a===`vertical`?a:void 0,role:`separator`};return(0,M.jsx)(Hx.div,{"data-orientation":a,...o,...i,ref:t})});Kx.displayName=Ux;function qx(e){return Gx.includes(e)}var Jx=Kx,Yx=j.forwardRef(({className:e,orientation:t=`horizontal`,decorative:n=!0,...r},i)=>(0,M.jsx)(Jx,{ref:i,decorative:n,orientation:t,className:Z(`shrink-0 bg-border`,t===`horizontal`?`h-[1px] w-full`:`h-full w-[1px]`,e),...r}));Yx.displayName=Jx.displayName;var Xx=j.useId||(()=>void 0),Zx=0;function Qx(e){let[t,n]=j.useState(Xx());return k_(()=>{e||n(e=>e??String(Zx++))},[e]),e||(t?`radix-${t}`:``)}var $x=`focusScope.autoFocusOnMount`,eS=`focusScope.autoFocusOnUnmount`,tS={bubbles:!1,cancelable:!0},nS=`FocusScope`,rS=j.forwardRef((e,t)=>{let{loop:n=!1,trapped:r=!1,onMountAutoFocus:i,onUnmountAutoFocus:a,...o}=e,[s,c]=j.useState(null),l=f_(i),u=f_(a),d=j.useRef(null),f=Qg(t,e=>c(e)),p=j.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;j.useEffect(()=>{if(r){let e=function(e){if(p.paused||!s)return;let t=e.target;s.contains(t)?d.current=t:uS(d.current,{select:!0})},t=function(e){if(p.paused||!s)return;let t=e.relatedTarget;t!==null&&(s.contains(t)||uS(d.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&uS(s)};document.addEventListener(`focusin`,e),document.addEventListener(`focusout`,t);let r=new MutationObserver(n);return s&&r.observe(s,{childList:!0,subtree:!0}),()=>{document.removeEventListener(`focusin`,e),document.removeEventListener(`focusout`,t),r.disconnect()}}},[r,s,p.paused]),j.useEffect(()=>{if(s){dS.add(p);let e=document.activeElement;if(!s.contains(e)){let t=new CustomEvent($x,tS);s.addEventListener($x,l),s.dispatchEvent(t),t.defaultPrevented||(iS(mS(oS(s)),{select:!0}),document.activeElement===e&&uS(s))}return()=>{s.removeEventListener($x,l),setTimeout(()=>{let t=new CustomEvent(eS,tS);s.addEventListener(eS,u),s.dispatchEvent(t),t.defaultPrevented||uS(e??document.body,{select:!0}),s.removeEventListener(eS,u),dS.remove(p)},0)}}},[s,l,u,p]);let m=j.useCallback(e=>{if(!n&&!r||p.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,i=document.activeElement;if(t&&i){let t=e.currentTarget,[r,a]=aS(t);r&&a?!e.shiftKey&&i===a?(e.preventDefault(),n&&uS(r,{select:!0})):e.shiftKey&&i===r&&(e.preventDefault(),n&&uS(a,{select:!0})):i===t&&e.preventDefault()}},[n,r,p.paused]);return(0,M.jsx)(u_.div,{tabIndex:-1,...o,ref:f,onKeyDown:m})});rS.displayName=nS;function iS(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(uS(r,{select:t}),document.activeElement!==n)return}function aS(e){let t=oS(e);return[sS(t,e),sS(t.reverse(),e)]}function oS(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function sS(e,t){for(let n of e)if(!cS(n,{upTo:t}))return n}function cS(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}function lS(e){return e instanceof HTMLInputElement&&`select`in e}function uS(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&lS(e)&&t&&e.select()}}var dS=fS();function fS(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=pS(e,t),e.unshift(t)},remove(t){e=pS(e,t),e[0]?.resume()}}}function pS(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function mS(e){return e.filter(e=>e.tagName!==`A`)}var hS=0;function gS(){j.useEffect(()=>{let e=document.querySelectorAll(`[data-radix-focus-guard]`);return document.body.insertAdjacentElement(`afterbegin`,e[0]??_S()),document.body.insertAdjacentElement(`beforeend`,e[1]??_S()),hS++,()=>{hS===1&&document.querySelectorAll(`[data-radix-focus-guard]`).forEach(e=>e.remove()),hS--}},[])}function _S(){let e=document.createElement(`span`);return e.setAttribute(`data-radix-focus-guard`,``),e.tabIndex=0,e.style.outline=`none`,e.style.opacity=`0`,e.style.position=`fixed`,e.style.pointerEvents=`none`,e}var vS=function(){return vS=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n],t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},vS.apply(this,arguments)};function yS(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function bS(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r<i;r++)(a||!(r in t))&&(a||=Array.prototype.slice.call(t,0,r),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}var xS=`right-scroll-bar-position`,SS=`width-before-scroll-bar`,CS=`with-scroll-bars-hidden`,wS=`--removed-body-scroll-bar-size`;function TS(e,t){return typeof e==`function`?e(t):e&&(e.current=t),e}function ES(e,t){var n=(0,j.useState)(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(e){var t=n.value;t!==e&&(n.value=e,n.callback(e,t))}}}})[0];return n.callback=t,n.facade}var DS=typeof window<`u`?j.useLayoutEffect:j.useEffect,OS=new WeakMap;function kS(e,t){var n=ES(t||null,function(t){return e.forEach(function(e){return TS(e,t)})});return DS(function(){var t=OS.get(n);if(t){var r=new Set(t),i=new Set(e),a=n.current;r.forEach(function(e){i.has(e)||TS(e,null)}),i.forEach(function(e){r.has(e)||TS(e,a)})}OS.set(n,e)},[e]),n}function AS(e){return e}function jS(e,t){t===void 0&&(t=AS);var n=[],r=!1;return{read:function(){if(r)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(e){var i=t(e,r);return n.push(i),function(){n=n.filter(function(e){return e!==i})}},assignSyncMedium:function(e){for(r=!0;n.length;){var t=n;n=[],t.forEach(e)}n={push:function(t){return e(t)},filter:function(){return n}}},assignMedium:function(e){r=!0;var t=[];if(n.length){var i=n;n=[],i.forEach(e),t=n}var a=function(){var n=t;t=[],n.forEach(e)},o=function(){return Promise.resolve().then(a)};o(),n={push:function(e){t.push(e),o()},filter:function(e){return t=t.filter(e),n}}}}}function MS(e){e===void 0&&(e={});var t=jS(null);return t.options=vS({async:!0,ssr:!1},e),t}var NS=function(e){var t=e.sideCar,n=yS(e,[`sideCar`]);if(!t)throw Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw Error(`Sidecar medium not found`);return j.createElement(r,vS({},n))};NS.isSideCarExport=!0;function PS(e,t){return e.useMedium(t),NS}var FS=MS(),IS=function(){},LS=j.forwardRef(function(e,t){var n=j.useRef(null),r=j.useState({onScrollCapture:IS,onWheelCapture:IS,onTouchMoveCapture:IS}),i=r[0],a=r[1],o=e.forwardProps,s=e.children,c=e.className,l=e.removeScrollBar,u=e.enabled,d=e.shards,f=e.sideCar,p=e.noRelative,m=e.noIsolation,h=e.inert,g=e.allowPinchZoom,_=e.as,v=_===void 0?`div`:_,y=e.gapMode,b=yS(e,[`forwardProps`,`children`,`className`,`removeScrollBar`,`enabled`,`shards`,`sideCar`,`noRelative`,`noIsolation`,`inert`,`allowPinchZoom`,`as`,`gapMode`]),x=f,S=kS([n,t]),C=vS(vS({},b),i);return j.createElement(j.Fragment,null,u&&j.createElement(x,{sideCar:FS,removeScrollBar:l,shards:d,noRelative:p,noIsolation:m,inert:h,setCallbacks:a,allowPinchZoom:!!g,lockRef:n,gapMode:y}),o?j.cloneElement(j.Children.only(s),vS(vS({},C),{ref:S})):j.createElement(v,vS({},C,{className:c,ref:S}),s))});LS.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},LS.classNames={fullWidth:SS,zeroRight:xS};var RS,zS=function(){if(RS)return RS;if(typeof __webpack_nonce__<`u`)return __webpack_nonce__};function BS(){if(!document)return null;var e=document.createElement(`style`);e.type=`text/css`;var t=zS();return t&&e.setAttribute(`nonce`,t),e}function VS(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function HS(e){(document.head||document.getElementsByTagName(`head`)[0]).appendChild(e)}var US=function(){var e=0,t=null;return{add:function(n){e==0&&(t=BS())&&(VS(t,n),HS(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},WS=function(){var e=US();return function(t,n){j.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},GS=function(){var e=WS();return function(t){var n=t.styles,r=t.dynamic;return e(n,r),null}},KS={left:0,top:0,right:0,gap:0},qS=function(e){return parseInt(e||``,10)||0},JS=function(e){var t=window.getComputedStyle(document.body),n=t[e===`padding`?`paddingLeft`:`marginLeft`],r=t[e===`padding`?`paddingTop`:`marginTop`],i=t[e===`padding`?`paddingRight`:`marginRight`];return[qS(n),qS(r),qS(i)]},YS=function(e){if(e===void 0&&(e=`margin`),typeof window>`u`)return KS;var t=JS(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},XS=GS(),ZS=`data-scroll-locked`,QS=function(e,t,n,r){var i=e.left,a=e.top,o=e.right,s=e.gap;return n===void 0&&(n=`margin`),`
|
|
74
|
-
.${CS} {
|
|
75
|
-
overflow: hidden ${r};
|
|
76
|
-
padding-right: ${s}px ${r};
|
|
77
|
-
}
|
|
78
|
-
body[${ZS}] {
|
|
79
|
-
overflow: hidden ${r};
|
|
80
|
-
overscroll-behavior: contain;
|
|
81
|
-
${[t&&`position: relative ${r};`,n===`margin`&&`
|
|
82
|
-
padding-left: ${i}px;
|
|
83
|
-
padding-top: ${a}px;
|
|
84
|
-
padding-right: ${o}px;
|
|
85
|
-
margin-left:0;
|
|
86
|
-
margin-top:0;
|
|
87
|
-
margin-right: ${s}px ${r};
|
|
88
|
-
`,n===`padding`&&`padding-right: ${s}px ${r};`].filter(Boolean).join(``)}
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
.${xS} {
|
|
92
|
-
right: ${s}px ${r};
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
.${SS} {
|
|
96
|
-
margin-right: ${s}px ${r};
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
.${xS} .${xS} {
|
|
100
|
-
right: 0 ${r};
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
.${SS} .${SS} {
|
|
104
|
-
margin-right: 0 ${r};
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
body[${ZS}] {
|
|
108
|
-
${wS}: ${s}px;
|
|
109
|
-
}
|
|
110
|
-
`},$S=function(){var e=parseInt(document.body.getAttribute(`data-scroll-locked`)||`0`,10);return isFinite(e)?e:0},eC=function(){j.useEffect(function(){return document.body.setAttribute(ZS,($S()+1).toString()),function(){var e=$S()-1;e<=0?document.body.removeAttribute(ZS):document.body.setAttribute(ZS,e.toString())}},[])},tC=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,i=r===void 0?`margin`:r;eC();var a=j.useMemo(function(){return YS(i)},[i]);return j.createElement(XS,{styles:QS(a,!t,i,n?``:`!important`)})},nC=!1;if(typeof window<`u`)try{var rC=Object.defineProperty({},"passive",{get:function(){return nC=!0,!0}});window.addEventListener(`test`,rC,rC),window.removeEventListener(`test`,rC,rC)}catch{nC=!1}var iC=nC?{passive:!1}:!1,aC=function(e){return e.tagName===`TEXTAREA`},oC=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!==`hidden`&&!(n.overflowY===n.overflowX&&!aC(e)&&n[t]===`visible`)},sC=function(e){return oC(e,`overflowY`)},cC=function(e){return oC(e,`overflowX`)},lC=function(e,t){var n=t.ownerDocument,r=t;do{if(typeof ShadowRoot<`u`&&r instanceof ShadowRoot&&(r=r.host),fC(e,r)){var i=pC(e,r);if(i[1]>i[2])return!0}r=r.parentNode}while(r&&r!==n.body);return!1},uC=function(e){return[e.scrollTop,e.scrollHeight,e.clientHeight]},dC=function(e){return[e.scrollLeft,e.scrollWidth,e.clientWidth]},fC=function(e,t){return e===`v`?sC(t):cC(t)},pC=function(e,t){return e===`v`?uC(t):dC(t)},mC=function(e,t){return e===`h`&&t===`rtl`?-1:1},hC=function(e,t,n,r,i){var a=mC(e,window.getComputedStyle(t).direction),o=a*r,s=n.target,c=t.contains(s),l=!1,u=o>0,d=0,f=0;do{if(!s)break;var p=pC(e,s),m=p[0],h=p[1]-p[2]-a*m;(m||h)&&fC(e,s)&&(d+=h,f+=m);var g=s.parentNode;s=g&&g.nodeType===Node.DOCUMENT_FRAGMENT_NODE?g.host:g}while(!c&&s!==document.body||c&&(t.contains(s)||t===s));return(u&&(i&&Math.abs(d)<1||!i&&o>d)||!u&&(i&&Math.abs(f)<1||!i&&-o>f))&&(l=!0),l},gC=function(e){return`changedTouches`in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},_C=function(e){return[e.deltaX,e.deltaY]},vC=function(e){return e&&`current`in e?e.current:e},yC=function(e,t){return e[0]===t[0]&&e[1]===t[1]},bC=function(e){return`
|
|
111
|
-
.block-interactivity-${e} {pointer-events: none;}
|
|
112
|
-
.allow-interactivity-${e} {pointer-events: all;}
|
|
113
|
-
`},xC=0,SC=[];function CC(e){var t=j.useRef([]),n=j.useRef([0,0]),r=j.useRef(),i=j.useState(xC++)[0],a=j.useState(GS)[0],o=j.useRef(e);j.useEffect(function(){o.current=e},[e]),j.useEffect(function(){if(e.inert){document.body.classList.add(`block-interactivity-${i}`);var t=bS([e.lockRef.current],(e.shards||[]).map(vC),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add(`allow-interactivity-${i}`)}),function(){document.body.classList.remove(`block-interactivity-${i}`),t.forEach(function(e){return e.classList.remove(`allow-interactivity-${i}`)})}}},[e.inert,e.lockRef.current,e.shards]);var s=j.useCallback(function(e,t){if(`touches`in e&&e.touches.length===2||e.type===`wheel`&&e.ctrlKey)return!o.current.allowPinchZoom;var i=gC(e),a=n.current,s=`deltaX`in e?e.deltaX:a[0]-i[0],c=`deltaY`in e?e.deltaY:a[1]-i[1],l,u=e.target,d=Math.abs(s)>Math.abs(c)?`h`:`v`;if(`touches`in e&&d===`h`&&u.type===`range`)return!1;var f=window.getSelection(),p=f&&f.anchorNode;if(p&&(p===u||p.contains(u)))return!1;var m=lC(d,u);if(!m)return!0;if(m?l=d:(l=d===`v`?`h`:`v`,m=lC(d,u)),!m)return!1;if(!r.current&&`changedTouches`in e&&(s||c)&&(r.current=l),!l)return!0;var h=r.current||l;return hC(h,t,e,h===`h`?s:c,!0)},[]),c=j.useCallback(function(e){var n=e;if(!(!SC.length||SC[SC.length-1]!==a)){var r=`deltaY`in n?_C(n):gC(n),i=t.current.filter(function(e){return e.name===n.type&&(e.target===n.target||n.target===e.shadowParent)&&yC(e.delta,r)})[0];if(i&&i.should){n.cancelable&&n.preventDefault();return}if(!i){var c=(o.current.shards||[]).map(vC).filter(Boolean).filter(function(e){return e.contains(n.target)});(c.length>0?s(n,c[0]):!o.current.noIsolation)&&n.cancelable&&n.preventDefault()}}},[]),l=j.useCallback(function(e,n,r,i){var a={name:e,delta:n,target:r,should:i,shadowParent:wC(r)};t.current.push(a),setTimeout(function(){t.current=t.current.filter(function(e){return e!==a})},1)},[]),u=j.useCallback(function(e){n.current=gC(e),r.current=void 0},[]),d=j.useCallback(function(t){l(t.type,_C(t),t.target,s(t,e.lockRef.current))},[]),f=j.useCallback(function(t){l(t.type,gC(t),t.target,s(t,e.lockRef.current))},[]);j.useEffect(function(){return SC.push(a),e.setCallbacks({onScrollCapture:d,onWheelCapture:d,onTouchMoveCapture:f}),document.addEventListener(`wheel`,c,iC),document.addEventListener(`touchmove`,c,iC),document.addEventListener(`touchstart`,u,iC),function(){SC=SC.filter(function(e){return e!==a}),document.removeEventListener(`wheel`,c,iC),document.removeEventListener(`touchmove`,c,iC),document.removeEventListener(`touchstart`,u,iC)}},[]);var p=e.removeScrollBar,m=e.inert;return j.createElement(j.Fragment,null,m?j.createElement(a,{styles:bC(i)}):null,p?j.createElement(tC,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function wC(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var TC=PS(FS,CC),EC=j.forwardRef(function(e,t){return j.createElement(LS,vS({},e,{ref:t,sideCar:TC}))});EC.classNames=LS.classNames;var DC=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},OC=new WeakMap,kC=new WeakMap,AC={},jC=0,MC=function(e){return e&&(e.host||MC(e.parentNode))},NC=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=MC(t);return n&&e.contains(n)?n:(console.error(`aria-hidden`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(function(e){return!!e})},PC=function(e,t,n,r){var i=NC(t,Array.isArray(e)?e:[e]);AC[n]||(AC[n]=new WeakMap);var a=AC[n],o=[],s=new Set,c=new Set(i),l=function(e){!e||s.has(e)||(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){!e||c.has(e)||Array.prototype.forEach.call(e.children,function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(r),i=t!==null&&t!==`false`,c=(OC.get(e)||0)+1,l=(a.get(e)||0)+1;OC.set(e,c),a.set(e,l),o.push(e),c===1&&i&&kC.set(e,!0),l===1&&e.setAttribute(n,`true`),i||e.setAttribute(r,`true`)}catch(t){console.error(`aria-hidden: cannot operate on `,e,t)}})};return u(t),s.clear(),jC++,function(){o.forEach(function(e){var t=OC.get(e)-1,i=a.get(e)-1;OC.set(e,t),a.set(e,i),t||(kC.has(e)||e.removeAttribute(r),kC.delete(e)),i||e.removeAttribute(n)}),jC--,jC||(OC=new WeakMap,OC=new WeakMap,kC=new WeakMap,AC={})}},FC=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||DC(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),PC(r,i,n,`aria-hidden`)):function(){return null}},IC=`Dialog`,[LC,RC]=e_(IC),[zC,BC]=LC(IC),VC=e=>{let{__scopeDialog:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!0}=e,s=j.useRef(null),c=j.useRef(null),[l,u]=R_({prop:r,defaultProp:i??!1,onChange:a,caller:IC});return(0,M.jsx)(zC,{scope:t,triggerRef:s,contentRef:c,contentId:Qx(),titleId:Qx(),descriptionId:Qx(),open:l,onOpenChange:u,onOpenToggle:j.useCallback(()=>u(e=>!e),[u]),modal:o,children:n})};VC.displayName=IC;var HC=`DialogTrigger`,UC=j.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=BC(HC,n),a=Qg(t,i.triggerRef);return(0,M.jsx)(u_.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i.open,"aria-controls":i.contentId,"data-state":lw(i.open),...r,ref:a,onClick:J(e.onClick,i.onOpenToggle)})});UC.displayName=HC;var WC=`DialogPortal`,[GC,KC]=LC(WC,{forceMount:void 0}),qC=e=>{let{__scopeDialog:t,forceMount:n,children:r,container:i}=e,a=BC(WC,t);return(0,M.jsx)(GC,{scope:t,forceMount:n,children:j.Children.map(r,e=>(0,M.jsx)(N_,{present:n||a.open,children:(0,M.jsx)(j_,{asChild:!0,container:i,children:e})}))})};qC.displayName=WC;var JC=`DialogOverlay`,YC=j.forwardRef((e,t)=>{let n=KC(JC,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=BC(JC,e.__scopeDialog);return a.modal?(0,M.jsx)(N_,{present:r||a.open,children:(0,M.jsx)(ZC,{...i,ref:t})}):null});YC.displayName=JC;var XC=n_(`DialogOverlay.RemoveScroll`),ZC=j.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=BC(JC,n);return(0,M.jsx)(EC,{as:XC,allowPinchZoom:!0,shards:[i.contentRef],children:(0,M.jsx)(u_.div,{"data-state":lw(i.open),...r,ref:t,style:{pointerEvents:`auto`,...r.style}})})}),QC=`DialogContent`,$C=j.forwardRef((e,t)=>{let n=KC(QC,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=BC(QC,e.__scopeDialog);return(0,M.jsx)(N_,{present:r||a.open,children:a.modal?(0,M.jsx)(ew,{...i,ref:t}):(0,M.jsx)(tw,{...i,ref:t})})});$C.displayName=QC;var ew=j.forwardRef((e,t)=>{let n=BC(QC,e.__scopeDialog),r=j.useRef(null),i=Qg(t,n.contentRef,r);return j.useEffect(()=>{let e=r.current;if(e)return FC(e)},[]),(0,M.jsx)(nw,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:J(e.onCloseAutoFocus,e=>{e.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:J(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()}),onFocusOutside:J(e.onFocusOutside,e=>e.preventDefault())})}),tw=j.forwardRef((e,t)=>{let n=BC(QC,e.__scopeDialog),r=j.useRef(!1),i=j.useRef(!1);return(0,M.jsx)(nw,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})}),nw=j.forwardRef((e,t)=>{let{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,...o}=e,s=BC(QC,n),c=j.useRef(null),l=Qg(t,c);return gS(),(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(rS,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,M.jsx)(b_,{role:`dialog`,id:s.contentId,"aria-describedby":s.descriptionId,"aria-labelledby":s.titleId,"data-state":lw(s.open),...o,ref:l,onDismiss:()=>s.onOpenChange(!1)})}),(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(pw,{titleId:s.titleId}),(0,M.jsx)(hw,{contentRef:c,descriptionId:s.descriptionId})]})]})}),rw=`DialogTitle`,iw=j.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=BC(rw,n);return(0,M.jsx)(u_.h2,{id:i.titleId,...r,ref:t})});iw.displayName=rw;var aw=`DialogDescription`,ow=j.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=BC(aw,n);return(0,M.jsx)(u_.p,{id:i.descriptionId,...r,ref:t})});ow.displayName=aw;var sw=`DialogClose`,cw=j.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=BC(sw,n);return(0,M.jsx)(u_.button,{type:`button`,...r,ref:t,onClick:J(e.onClick,()=>i.onOpenChange(!1))})});cw.displayName=sw;function lw(e){return e?`open`:`closed`}var uw=`DialogTitleWarning`,[dw,fw]=$g(uw,{contentName:QC,titleName:rw,docsSlug:`dialog`}),pw=({titleId:e})=>{let t=fw(uw),n=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
|
|
114
|
-
|
|
115
|
-
If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
|
|
116
|
-
|
|
117
|
-
For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return j.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},mw=`DialogDescriptionWarning`,hw=({contentRef:e,descriptionId:t})=>{let n=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${fw(mw).contentName}}.`;return j.useEffect(()=>{let r=e.current?.getAttribute(`aria-describedby`);t&&r&&(document.getElementById(t)||console.warn(n))},[n,e,t]),null},gw=VC,_w=qC,vw=YC,yw=$C,bw=iw,xw=ow,Sw=cw,Cw=gw,ww=_w,Tw=j.forwardRef(({className:e,...t},n)=>(0,M.jsx)(vw,{className:Z(`fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`,e),...t,ref:n}));Tw.displayName=vw.displayName;var Ew=Wv(`fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500`,{variants:{side:{top:`inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top`,bottom:`inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom`,left:`inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm`,right:`inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm`}},defaultVariants:{side:`right`}}),Dw=j.forwardRef(({side:e=`right`,className:t,children:n,...r},i)=>(0,M.jsxs)(ww,{children:[(0,M.jsx)(Tw,{}),(0,M.jsxs)(yw,{ref:i,className:Z(Ew({side:e}),t),...r,children:[n,(0,M.jsxs)(Sw,{className:`absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary`,children:[(0,M.jsx)(Gy,{className:`h-4 w-4`}),(0,M.jsx)(`span`,{className:`sr-only`,children:`Close`})]})]})]}));Dw.displayName=yw.displayName;var Ow=({className:e,...t})=>(0,M.jsx)(`div`,{className:Z(`flex flex-col space-y-2 text-center sm:text-left`,e),...t});Ow.displayName=`SheetHeader`;var kw=({className:e,...t})=>(0,M.jsx)(`div`,{className:Z(`flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2`,e),...t});kw.displayName=`SheetFooter`;var Aw=j.forwardRef(({className:e,...t},n)=>(0,M.jsx)(bw,{ref:n,className:Z(`text-lg font-semibold text-foreground`,e),...t}));Aw.displayName=bw.displayName;var jw=j.forwardRef(({className:e,...t},n)=>(0,M.jsx)(xw,{ref:n,className:Z(`text-sm text-muted-foreground`,e),...t}));jw.displayName=xw.displayName;function Mw({className:e,...t}){return(0,M.jsx)(`div`,{className:Z(`bg-muted animate-pulse rounded-md`,e),...t})}var Nw=[`top`,`right`,`bottom`,`left`],Pw=Math.min,Fw=Math.max,Iw=Math.round,Lw=Math.floor,Rw=e=>({x:e,y:e}),zw={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function Bw(e,t,n){return Fw(e,Pw(t,n))}function Vw(e,t){return typeof e==`function`?e(t):e}function Hw(e){return e.split(`-`)[0]}function Uw(e){return e.split(`-`)[1]}function Ww(e){return e===`x`?`y`:`x`}function Gw(e){return e===`y`?`height`:`width`}function Kw(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function qw(e){return Ww(Kw(e))}function Jw(e,t,n){n===void 0&&(n=!1);let r=Uw(e),i=qw(e),a=Gw(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=rT(o)),[o,rT(o)]}function Yw(e){let t=rT(e);return[Xw(e),t,Xw(t)]}function Xw(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var Zw=[`left`,`right`],Qw=[`right`,`left`],$w=[`top`,`bottom`],eT=[`bottom`,`top`];function tT(e,t,n){switch(e){case`top`:case`bottom`:return n?t?Qw:Zw:t?Zw:Qw;case`left`:case`right`:return t?$w:eT;default:return[]}}function nT(e,t,n,r){let i=Uw(e),a=tT(Hw(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(Xw)))),a}function rT(e){let t=Hw(e);return zw[t]+e.slice(t.length)}function iT(e){return{top:0,right:0,bottom:0,left:0,...e}}function aT(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:iT(e)}function oT(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function sT(e,t,n){let{reference:r,floating:i}=e,a=Kw(t),o=qw(t),s=Gw(o),c=Hw(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(Uw(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}async function cT(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=Vw(t,e),p=aT(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=oT(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=oT(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var lT=50,uT=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:cT},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=sT(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<lT&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=sT(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},dT=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=Vw(e,t)||{};if(l==null)return{};let d=aT(u),f={x:n,y:r},p=qw(i),m=Gw(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),C=S?S[y]:0;(!C||!await(o.isElement==null?void 0:o.isElement(S)))&&(C=s.floating[y]||a.floating[m]);let w=b/2-x/2,T=C/2-h[m]/2-1,E=Pw(d[_],T),D=Pw(d[v],T),O=E,ee=C-h[m]-D,te=C/2-h[m]/2+w,ne=Bw(O,te,ee),re=!c.arrow&&Uw(i)!=null&&te!==ne&&a.reference[m]/2-(te<O?E:D)-h[m]/2<0,ie=re?te<O?te-O:te-ee:0;return{[p]:f[p]+ie,data:{[p]:ne,centerOffset:te-ne-ie,...re&&{alignmentOffset:ie}},reset:re}}}),fT=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=Vw(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=Hw(r),_=Kw(o),v=Hw(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[rT(o)]:Yw(o)),x=p!==`none`;!d&&x&&b.push(...nT(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=Jw(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(!(u===`alignment`&&_!==Kw(t))||T.every(e=>Kw(e.placement)===_?e.overflows[0]>0:!0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=Kw(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}};function pT(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function mT(e){return Nw.some(t=>e[t]>=0)}var hT=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=Vw(e,t);switch(i){case`referenceHidden`:{let e=pT(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:mT(e)}}}case`escaped`:{let e=pT(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:mT(e)}}}default:return{}}}}},gT=new Set([`left`,`top`]);async function _T(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=Hw(n),s=Uw(n),c=Kw(n)===`y`,l=gT.has(o)?-1:1,u=a&&c?-1:1,d=Vw(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var vT=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await _T(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},yT=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=Vw(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=Kw(Hw(i)),p=Ww(f),m=u[p],h=u[f];if(o){let e=p===`y`?`top`:`left`,t=p===`y`?`bottom`:`right`,n=m+d[e],r=m-d[t];m=Bw(n,m,r)}if(s){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=h+d[e],r=h-d[t];h=Bw(n,h,r)}let g=c.fn({...t,[p]:m,[f]:h});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[p]:o,[f]:s}}}}}},bT=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=Vw(e,t),u={x:n,y:r},d=Kw(i),f=Ww(d),p=u[f],m=u[d],h=Vw(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;p<t?p=t:p>n&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=gT.has(Hw(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);m<n?m=n:m>r&&(m=r)}return{[f]:p,[d]:m}}}},xT=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){var n,r;let{placement:i,rects:a,platform:o,elements:s}=t,{apply:c=()=>{},...l}=Vw(e,t),u=await o.detectOverflow(t,l),d=Hw(i),f=Uw(i),p=Kw(i)===`y`,{width:m,height:h}=a.floating,g,_;d===`top`||d===`bottom`?(g=d,_=f===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?`start`:`end`)?`left`:`right`):(_=d,g=f===`end`?`top`:`bottom`);let v=h-u.top-u.bottom,y=m-u.left-u.right,b=Pw(h-u[g],v),x=Pw(m-u[_],y),S=!t.middlewareData.shift,C=b,w=x;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(w=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(C=v),S&&!f){let e=Fw(u.left,0),t=Fw(u.right,0),n=Fw(u.top,0),r=Fw(u.bottom,0);p?w=m-2*(e!==0||t!==0?e+t:Fw(u.left,u.right)):C=h-2*(n!==0||r!==0?n+r:Fw(u.top,u.bottom))}await c({...t,availableWidth:w,availableHeight:C});let T=await o.getDimensions(s.floating);return m!==T.width||h!==T.height?{reset:{rects:!0}}:{}}}};function ST(){return typeof window<`u`}function CT(e){return ET(e)?(e.nodeName||``).toLowerCase():`#document`}function wT(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function TT(e){return((ET(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function ET(e){return ST()?e instanceof Node||e instanceof wT(e).Node:!1}function DT(e){return ST()?e instanceof Element||e instanceof wT(e).Element:!1}function OT(e){return ST()?e instanceof HTMLElement||e instanceof wT(e).HTMLElement:!1}function kT(e){return!ST()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof wT(e).ShadowRoot}function AT(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=VT(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function jT(e){return/^(table|td|th)$/.test(CT(e))}function MT(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var NT=/transform|translate|scale|rotate|perspective|filter/,PT=/paint|layout|strict|content/,FT=e=>!!e&&e!==`none`,IT;function LT(e){let t=DT(e)?VT(e):e;return FT(t.transform)||FT(t.translate)||FT(t.scale)||FT(t.rotate)||FT(t.perspective)||!zT()&&(FT(t.backdropFilter)||FT(t.filter))||NT.test(t.willChange||``)||PT.test(t.contain||``)}function RT(e){let t=UT(e);for(;OT(t)&&!BT(t);){if(LT(t))return t;if(MT(t))return null;t=UT(t)}return null}function zT(){return IT??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),IT}function BT(e){return/^(html|body|#document)$/.test(CT(e))}function VT(e){return wT(e).getComputedStyle(e)}function HT(e){return DT(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function UT(e){if(CT(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||kT(e)&&e.host||TT(e);return kT(t)?t.host:t}function WT(e){let t=UT(e);return BT(t)?e.ownerDocument?e.ownerDocument.body:e.body:OT(t)&&AT(t)?t:WT(t)}function GT(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=WT(e),i=r===e.ownerDocument?.body,a=wT(r);if(i){let e=KT(a);return t.concat(a,a.visualViewport||[],AT(r)?r:[],e&&n?GT(e):[])}else return t.concat(r,GT(r,[],n))}function KT(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function qT(e){let t=VT(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=OT(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=Iw(n)!==a||Iw(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function JT(e){return DT(e)?e:e.contextElement}function YT(e){let t=JT(e);if(!OT(t))return Rw(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=qT(t),o=(a?Iw(n.width):n.width)/r,s=(a?Iw(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var XT=Rw(0);function ZT(e){let t=wT(e);return!zT()||!t.visualViewport?XT:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function QT(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==wT(e)?!1:t}function $T(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=JT(e),o=Rw(1);t&&(r?DT(r)&&(o=YT(r)):o=YT(e));let s=QT(a,n,r)?ZT(a):Rw(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=wT(a),t=r&&DT(r)?wT(r):r,n=e,i=KT(n);for(;i&&r&&t!==n;){let e=YT(i),t=i.getBoundingClientRect(),r=VT(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=wT(i),i=KT(n)}}return oT({width:u,height:d,x:c,y:l})}function eE(e,t){let n=HT(e).scrollLeft;return t?t.left+n:$T(TT(e)).left+n}function tE(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-eE(e,n),y:n.top+t.scrollTop}}function nE(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=TT(r),s=t?MT(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=Rw(1),u=Rw(0),d=OT(r);if((d||!d&&!a)&&((CT(r)!==`body`||AT(o))&&(c=HT(r)),d)){let e=$T(r);l=YT(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?tE(o,c):Rw(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function rE(e){return Array.from(e.getClientRects())}function iE(e){let t=TT(e),n=HT(e),r=e.ownerDocument.body,i=Fw(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=Fw(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+eE(e),s=-n.scrollTop;return VT(r).direction===`rtl`&&(o+=Fw(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var aE=25;function oE(e,t){let n=wT(e),r=TT(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=zT();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=eE(r);if(l<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=aE&&(a-=o)}else l<=aE&&(a+=l);return{width:a,height:o,x:s,y:c}}function sE(e,t){let n=$T(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=OT(e)?YT(e):Rw(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function cE(e,t,n){let r;if(t===`viewport`)r=oE(e,n);else if(t===`document`)r=iE(TT(e));else if(DT(t))r=sE(t,n);else{let n=ZT(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return oT(r)}function lE(e,t){let n=UT(e);return n===t||!DT(n)||BT(n)?!1:VT(n).position===`fixed`||lE(n,t)}function uE(e,t){let n=t.get(e);if(n)return n;let r=GT(e,[],!1).filter(e=>DT(e)&&CT(e)!==`body`),i=null,a=VT(e).position===`fixed`,o=a?UT(e):e;for(;DT(o)&&!BT(o);){let t=VT(o),n=LT(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||AT(o)&&!n&&lE(e,o))?r=r.filter(e=>e!==o):i=t,o=UT(o)}return t.set(e,r),r}function dE(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?MT(t)?[]:uE(t,this._c):[].concat(n),r],o=cE(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=cE(t,a[e],i);s=Fw(n.top,s),c=Pw(n.right,c),l=Pw(n.bottom,l),u=Fw(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function fE(e){let{width:t,height:n}=qT(e);return{width:t,height:n}}function pE(e,t,n){let r=OT(t),i=TT(t),a=n===`fixed`,o=$T(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=Rw(0);function l(){c.x=eE(i)}if(r||!r&&!a)if((CT(t)!==`body`||AT(i))&&(s=HT(t)),r){let e=$T(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}else i&&l();a&&!r&&i&&l();let u=i&&!r&&!a?tE(i,s):Rw(0);return{x:o.left+s.scrollLeft-c.x-u.x,y:o.top+s.scrollTop-c.y-u.y,width:o.width,height:o.height}}function mE(e){return VT(e).position===`static`}function hE(e,t){if(!OT(e)||VT(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return TT(e)===n&&(n=n.ownerDocument.body),n}function gE(e,t){let n=wT(e);if(MT(e))return n;if(!OT(e)){let t=UT(e);for(;t&&!BT(t);){if(DT(t)&&!mE(t))return t;t=UT(t)}return n}let r=hE(e,t);for(;r&&jT(r)&&mE(r);)r=hE(r,t);return r&&BT(r)&&mE(r)&&!LT(r)?n:r||RT(e)||n}var _E=async function(e){let t=this.getOffsetParent||gE,n=this.getDimensions,r=await n(e.floating);return{reference:pE(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function vE(e){return VT(e).direction===`rtl`}var yE={convertOffsetParentRelativeRectToViewportRelativeRect:nE,getDocumentElement:TT,getClippingRect:dE,getOffsetParent:gE,getElementRects:_E,getClientRects:rE,getDimensions:fE,getScale:YT,isElement:DT,isRTL:vE};function bE(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function xE(e,t){let n=null,r,i=TT(e);function a(){var e;clearTimeout(r),(e=n)==null||e.disconnect(),n=null}function o(s,c){s===void 0&&(s=!1),c===void 0&&(c=1),a();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(s||t(),!f||!p)return;let m=Lw(d),h=Lw(i.clientWidth-(u+f)),g=Lw(i.clientHeight-(d+p)),_=Lw(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:Fw(0,Pw(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(n!==c){if(!y)return o();n?o(!1,n):r=setTimeout(()=>{o(!1,1e-7)},1e3)}n===1&&!bE(l,e.getBoundingClientRect())&&o(),y=!1}try{n=new IntersectionObserver(b,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(b,v)}n.observe(e)}return o(!0),a}function SE(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=JT(e),u=i||a?[...l?GT(l):[],...t?GT(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?xE(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?$T(e):null;c&&g();function g(){let t=$T(e);h&&!bE(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var CE=vT,wE=yT,TE=fT,EE=xT,DE=hT,OE=dT,kE=bT,AE=(e,t,n)=>{let r=new Map,i={platform:yE,...n},a={...i.platform,_c:r};return uT(e,t,{...i,platform:a})},jE=typeof document<`u`?j.useLayoutEffect:function(){};function ME(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`function`&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e==`object`){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!ME(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let n=i[r];if(!(n===`_owner`&&e.$$typeof)&&!ME(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function NE(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function PE(e,t){let n=NE(e);return Math.round(t*n)/n}function FE(e){let t=j.useRef(e);return jE(()=>{t.current=e}),t}function IE(e){e===void 0&&(e={});let{placement:t=`bottom`,strategy:n=`absolute`,middleware:r=[],platform:i,elements:{reference:a,floating:o}={},transform:s=!0,whileElementsMounted:c,open:l}=e,[u,d]=j.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[f,p]=j.useState(r);ME(f,r)||p(r);let[m,h]=j.useState(null),[g,_]=j.useState(null),v=j.useCallback(e=>{e!==S.current&&(S.current=e,h(e))},[]),y=j.useCallback(e=>{e!==C.current&&(C.current=e,_(e))},[]),b=a||m,x=o||g,S=j.useRef(null),C=j.useRef(null),w=j.useRef(u),T=c!=null,E=FE(c),D=FE(i),O=FE(l),ee=j.useCallback(()=>{if(!S.current||!C.current)return;let e={placement:t,strategy:n,middleware:f};D.current&&(e.platform=D.current),AE(S.current,C.current,e).then(e=>{let t={...e,isPositioned:O.current!==!1};te.current&&!ME(w.current,t)&&(w.current=t,Ui.flushSync(()=>{d(t)}))})},[f,t,n,D,O]);jE(()=>{l===!1&&w.current.isPositioned&&(w.current.isPositioned=!1,d(e=>({...e,isPositioned:!1})))},[l]);let te=j.useRef(!1);jE(()=>(te.current=!0,()=>{te.current=!1}),[]),jE(()=>{if(b&&(S.current=b),x&&(C.current=x),b&&x){if(E.current)return E.current(b,x,ee);ee()}},[b,x,ee,E,T]);let ne=j.useMemo(()=>({reference:S,floating:C,setReference:v,setFloating:y}),[v,y]),re=j.useMemo(()=>({reference:b,floating:x}),[b,x]),ie=j.useMemo(()=>{let e={position:n,left:0,top:0};if(!re.floating)return e;let t=PE(re.floating,u.x),r=PE(re.floating,u.y);return s?{...e,transform:`translate(`+t+`px, `+r+`px)`,...NE(re.floating)>=1.5&&{willChange:`transform`}}:{position:n,left:t,top:r}},[n,s,re.floating,u.x,u.y]);return j.useMemo(()=>({...u,update:ee,refs:ne,elements:re,floatingStyles:ie}),[u,ee,ne,re,ie])}var LE=e=>{function t(e){return{}.hasOwnProperty.call(e,`current`)}return{name:`arrow`,options:e,fn(n){let{element:r,padding:i}=typeof e==`function`?e(n):e;return r&&t(r)?r.current==null?{}:OE({element:r.current,padding:i}).fn(n):r?OE({element:r,padding:i}).fn(n):{}}}},RE=(e,t)=>{let n=CE(e);return{name:n.name,fn:n.fn,options:[e,t]}},zE=(e,t)=>{let n=wE(e);return{name:n.name,fn:n.fn,options:[e,t]}},BE=(e,t)=>({fn:kE(e).fn,options:[e,t]}),VE=(e,t)=>{let n=TE(e);return{name:n.name,fn:n.fn,options:[e,t]}},HE=(e,t)=>{let n=EE(e);return{name:n.name,fn:n.fn,options:[e,t]}},UE=(e,t)=>{let n=DE(e);return{name:n.name,fn:n.fn,options:[e,t]}},WE=(e,t)=>{let n=LE(e);return{name:n.name,fn:n.fn,options:[e,t]}},GE=`Arrow`,KE=j.forwardRef((e,t)=>{let{children:n,width:r=10,height:i=5,...a}=e;return(0,M.jsx)(u_.svg,{...a,ref:t,width:r,height:i,viewBox:`0 0 30 10`,preserveAspectRatio:`none`,children:e.asChild?n:(0,M.jsx)(`polygon`,{points:`0,0 30,0 15,10`})})});KE.displayName=GE;var qE=KE;function JE(e){let[t,n]=j.useState(void 0);return k_(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{if(!Array.isArray(t)||!t.length)return;let r=t[0],i,a;if(`borderBoxSize`in r){let e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=e.offsetWidth,a=e.offsetHeight;n({width:i,height:a})});return t.observe(e,{box:`border-box`}),()=>t.unobserve(e)}else n(void 0)},[e]),t}var YE=`Popper`,[XE,ZE]=e_(YE),[QE,$E]=XE(YE),eD=e=>{let{__scopePopper:t,children:n}=e,[r,i]=j.useState(null);return(0,M.jsx)(QE,{scope:t,anchor:r,onAnchorChange:i,children:n})};eD.displayName=YE;var tD=`PopperAnchor`,nD=j.forwardRef((e,t)=>{let{__scopePopper:n,virtualRef:r,...i}=e,a=$E(tD,n),o=j.useRef(null),s=Qg(t,o),c=j.useRef(null);return j.useEffect(()=>{let e=c.current;c.current=r?.current||o.current,e!==c.current&&a.onAnchorChange(c.current)}),r?null:(0,M.jsx)(u_.div,{...i,ref:s})});nD.displayName=tD;var rD=`PopperContent`,[iD,aD]=XE(rD),oD=j.forwardRef((e,t)=>{let{__scopePopper:n,side:r=`bottom`,sideOffset:i=0,align:a=`center`,alignOffset:o=0,arrowPadding:s=0,avoidCollisions:c=!0,collisionBoundary:l=[],collisionPadding:u=0,sticky:d=`partial`,hideWhenDetached:f=!1,updatePositionStrategy:p=`optimized`,onPlaced:m,...h}=e,g=$E(rD,n),[_,v]=j.useState(null),y=Qg(t,e=>v(e)),[b,x]=j.useState(null),S=JE(b),C=S?.width??0,w=S?.height??0,T=r+(a===`center`?``:`-`+a),E=typeof u==`number`?u:{top:0,right:0,bottom:0,left:0,...u},D=Array.isArray(l)?l:[l],O=D.length>0,ee={padding:E,boundary:D.filter(uD),altBoundary:O},{refs:te,floatingStyles:ne,placement:re,isPositioned:ie,middlewareData:ae}=IE({strategy:`fixed`,placement:T,whileElementsMounted:(...e)=>SE(...e,{animationFrame:p===`always`}),elements:{reference:g.anchor},middleware:[RE({mainAxis:i+w,alignmentAxis:o}),c&&zE({mainAxis:!0,crossAxis:!1,limiter:d===`partial`?BE():void 0,...ee}),c&&VE({...ee}),HE({...ee,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty(`--radix-popper-available-width`,`${n}px`),o.setProperty(`--radix-popper-available-height`,`${r}px`),o.setProperty(`--radix-popper-anchor-width`,`${i}px`),o.setProperty(`--radix-popper-anchor-height`,`${a}px`)}}),b&&WE({element:b,padding:s}),dD({arrowWidth:C,arrowHeight:w}),f&&UE({strategy:`referenceHidden`,...ee})]}),[oe,k]=fD(re),se=f_(m);k_(()=>{ie&&se?.()},[ie,se]);let ce=ae.arrow?.x,le=ae.arrow?.y,ue=ae.arrow?.centerOffset!==0,[A,de]=j.useState();return k_(()=>{_&&de(window.getComputedStyle(_).zIndex)},[_]),(0,M.jsx)(`div`,{ref:te.setFloating,"data-radix-popper-content-wrapper":``,style:{...ne,transform:ie?ne.transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:A,"--radix-popper-transform-origin":[ae.transformOrigin?.x,ae.transformOrigin?.y].join(` `),...ae.hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}},dir:e.dir,children:(0,M.jsx)(iD,{scope:n,placedSide:oe,onArrowChange:x,arrowX:ce,arrowY:le,shouldHideArrow:ue,children:(0,M.jsx)(u_.div,{"data-side":oe,"data-align":k,...h,ref:y,style:{...h.style,animation:ie?void 0:`none`}})})})});oD.displayName=rD;var sD=`PopperArrow`,cD={top:`bottom`,right:`left`,bottom:`top`,left:`right`},lD=j.forwardRef(function(e,t){let{__scopePopper:n,...r}=e,i=aD(sD,n),a=cD[i.placedSide];return(0,M.jsx)(`span`,{ref:i.onArrowChange,style:{position:`absolute`,left:i.arrowX,top:i.arrowY,[a]:0,transformOrigin:{top:``,right:`0 0`,bottom:`center 0`,left:`100% 0`}[i.placedSide],transform:{top:`translateY(100%)`,right:`translateY(50%) rotate(90deg) translateX(-50%)`,bottom:`rotate(180deg)`,left:`translateY(50%) rotate(-90deg) translateX(50%)`}[i.placedSide],visibility:i.shouldHideArrow?`hidden`:void 0},children:(0,M.jsx)(qE,{...r,ref:t,style:{...r.style,display:`block`}})})});lD.displayName=sD;function uD(e){return e!==null}var dD=e=>({name:`transformOrigin`,options:e,fn(t){let{placement:n,rects:r,middlewareData:i}=t,a=i.arrow?.centerOffset!==0,o=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[c,l]=fD(n),u={start:`0%`,center:`50%`,end:`100%`}[l],d=(i.arrow?.x??0)+o/2,f=(i.arrow?.y??0)+s/2,p=``,m=``;return c===`bottom`?(p=a?u:`${d}px`,m=`${-s}px`):c===`top`?(p=a?u:`${d}px`,m=`${r.floating.height+s}px`):c===`right`?(p=`${-s}px`,m=a?u:`${f}px`):c===`left`&&(p=`${r.floating.width+s}px`,m=a?u:`${f}px`),{data:{x:p,y:m}}}});function fD(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var pD=eD,mD=nD,hD=oD,gD=lD,[_D,vD]=e_(`Tooltip`,[ZE]),yD=ZE(),bD=`TooltipProvider`,xD=700,SD=`tooltip.open`,[CD,wD]=_D(bD),TD=e=>{let{__scopeTooltip:t,delayDuration:n=xD,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:a}=e,o=j.useRef(!0),s=j.useRef(!1),c=j.useRef(0);return j.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,M.jsx)(CD,{scope:t,isOpenDelayedRef:o,delayDuration:n,onOpen:j.useCallback(()=>{window.clearTimeout(c.current),o.current=!1},[]),onClose:j.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.current=!0,r)},[r]),isPointerInTransitRef:s,onPointerInTransitChange:j.useCallback(e=>{s.current=e},[]),disableHoverableContent:i,children:a})};TD.displayName=bD;var ED=`Tooltip`,[DD,OD]=_D(ED),kD=e=>{let{__scopeTooltip:t,children:n,open:r,defaultOpen:i,onOpenChange:a,disableHoverableContent:o,delayDuration:s}=e,c=wD(ED,e.__scopeTooltip),l=yD(t),[u,d]=j.useState(null),f=Qx(),p=j.useRef(0),m=o??c.disableHoverableContent,h=s??c.delayDuration,g=j.useRef(!1),[_,v]=R_({prop:r,defaultProp:i??!1,onChange:e=>{e?(c.onOpen(),document.dispatchEvent(new CustomEvent(SD))):c.onClose(),a?.(e)},caller:ED}),y=j.useMemo(()=>_?g.current?`delayed-open`:`instant-open`:`closed`,[_]),b=j.useCallback(()=>{window.clearTimeout(p.current),p.current=0,g.current=!1,v(!0)},[v]),x=j.useCallback(()=>{window.clearTimeout(p.current),p.current=0,v(!1)},[v]),S=j.useCallback(()=>{window.clearTimeout(p.current),p.current=window.setTimeout(()=>{g.current=!0,v(!0),p.current=0},h)},[h,v]);return j.useEffect(()=>()=>{p.current&&=(window.clearTimeout(p.current),0)},[]),(0,M.jsx)(pD,{...l,children:(0,M.jsx)(DD,{scope:t,contentId:f,open:_,stateAttribute:y,trigger:u,onTriggerChange:d,onTriggerEnter:j.useCallback(()=>{c.isOpenDelayedRef.current?S():b()},[c.isOpenDelayedRef,S,b]),onTriggerLeave:j.useCallback(()=>{m?x():(window.clearTimeout(p.current),p.current=0)},[x,m]),onOpen:b,onClose:x,disableHoverableContent:m,children:n})})};kD.displayName=ED;var AD=`TooltipTrigger`,jD=j.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=OD(AD,n),a=wD(AD,n),o=yD(n),s=Qg(t,j.useRef(null),i.onTriggerChange),c=j.useRef(!1),l=j.useRef(!1),u=j.useCallback(()=>c.current=!1,[]);return j.useEffect(()=>()=>document.removeEventListener(`pointerup`,u),[u]),(0,M.jsx)(mD,{asChild:!0,...o,children:(0,M.jsx)(u_.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...r,ref:s,onPointerMove:J(e.onPointerMove,e=>{e.pointerType!==`touch`&&!l.current&&!a.isPointerInTransitRef.current&&(i.onTriggerEnter(),l.current=!0)}),onPointerLeave:J(e.onPointerLeave,()=>{i.onTriggerLeave(),l.current=!1}),onPointerDown:J(e.onPointerDown,()=>{i.open&&i.onClose(),c.current=!0,document.addEventListener(`pointerup`,u,{once:!0})}),onFocus:J(e.onFocus,()=>{c.current||i.onOpen()}),onBlur:J(e.onBlur,i.onClose),onClick:J(e.onClick,i.onClose)})})});jD.displayName=AD;var MD=`TooltipPortal`,[ND,PD]=_D(MD,{forceMount:void 0}),FD=e=>{let{__scopeTooltip:t,forceMount:n,children:r,container:i}=e,a=OD(MD,t);return(0,M.jsx)(ND,{scope:t,forceMount:n,children:(0,M.jsx)(N_,{present:n||a.open,children:(0,M.jsx)(j_,{asChild:!0,container:i,children:r})})})};FD.displayName=MD;var ID=`TooltipContent`,LD=j.forwardRef((e,t)=>{let n=PD(ID,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i=`top`,...a}=e,o=OD(ID,e.__scopeTooltip);return(0,M.jsx)(N_,{present:r||o.open,children:o.disableHoverableContent?(0,M.jsx)(HD,{side:i,...a,ref:t}):(0,M.jsx)(RD,{side:i,...a,ref:t})})}),RD=j.forwardRef((e,t)=>{let n=OD(ID,e.__scopeTooltip),r=wD(ID,e.__scopeTooltip),i=j.useRef(null),a=Qg(t,i),[o,s]=j.useState(null),{trigger:c,onClose:l}=n,u=i.current,{onPointerInTransitChange:d}=r,f=j.useCallback(()=>{s(null),d(!1)},[d]),p=j.useCallback((e,t)=>{let n=e.currentTarget,r={x:e.clientX,y:e.clientY},i=KD(r,GD(r,n.getBoundingClientRect())),a=qD(t.getBoundingClientRect());s(YD([...i,...a])),d(!0)},[d]);return j.useEffect(()=>()=>f(),[f]),j.useEffect(()=>{if(c&&u){let e=e=>p(e,u),t=e=>p(e,c);return c.addEventListener(`pointerleave`,e),u.addEventListener(`pointerleave`,t),()=>{c.removeEventListener(`pointerleave`,e),u.removeEventListener(`pointerleave`,t)}}},[c,u,p,f]),j.useEffect(()=>{if(o){let e=e=>{let t=e.target,n={x:e.clientX,y:e.clientY},r=c?.contains(t)||u?.contains(t),i=!JD(n,o);r?f():i&&(f(),l())};return document.addEventListener(`pointermove`,e),()=>document.removeEventListener(`pointermove`,e)}},[c,u,o,l,f]),(0,M.jsx)(HD,{...e,ref:a})}),[zD,BD]=_D(ED,{isInside:!1}),VD=a_(`TooltipContent`),HD=j.forwardRef((e,t)=>{let{__scopeTooltip:n,children:r,"aria-label":i,onEscapeKeyDown:a,onPointerDownOutside:o,...s}=e,c=OD(ID,n),l=yD(n),{onClose:u}=c;return j.useEffect(()=>(document.addEventListener(SD,u),()=>document.removeEventListener(SD,u)),[u]),j.useEffect(()=>{if(c.trigger){let e=e=>{e.target?.contains(c.trigger)&&u()};return window.addEventListener(`scroll`,e,{capture:!0}),()=>window.removeEventListener(`scroll`,e,{capture:!0})}},[c.trigger,u]),(0,M.jsx)(b_,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:o,onFocusOutside:e=>e.preventDefault(),onDismiss:u,children:(0,M.jsxs)(hD,{"data-state":c.stateAttribute,...l,...s,ref:t,style:{...s.style,"--radix-tooltip-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-tooltip-content-available-width":`var(--radix-popper-available-width)`,"--radix-tooltip-content-available-height":`var(--radix-popper-available-height)`,"--radix-tooltip-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-tooltip-trigger-height":`var(--radix-popper-anchor-height)`},children:[(0,M.jsx)(VD,{children:r}),(0,M.jsx)(zD,{scope:n,isInside:!0,children:(0,M.jsx)(W_,{id:c.contentId,role:`tooltip`,children:i||r})})]})})});LD.displayName=ID;var UD=`TooltipArrow`,WD=j.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=yD(n);return BD(UD,n).isInside?null:(0,M.jsx)(gD,{...i,...r,ref:t})});WD.displayName=UD;function GD(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}function KD(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function qD(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function JD(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}function YD(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:+(e.y>t.y)),XD(t)}function XD(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t[t.length-1],n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n[n.length-1],t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var ZD=TD,QD=kD,$D=jD,eO=LD,tO=ZD,nO=QD,rO=$D,iO=j.forwardRef(({className:e,sideOffset:t=4,...n},r)=>(0,M.jsx)(eO,{ref:r,sideOffset:t,className:Z(`z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`,e),...n}));iO.displayName=eO.displayName;var aO=`sidebar_state`,oO=3600*24*7,sO=`16rem`,cO=`18rem`,lO=`3rem`,uO=`b`,dO=j.createContext(null);function fO(){let e=j.useContext(dO);if(!e)throw Error(`useSidebar must be used within a SidebarProvider`);return e}var pO=j.forwardRef(({defaultOpen:e=!0,open:t,onOpenChange:n,className:r,style:i,children:a,...o},s)=>{let c=zx(),[l,u]=j.useState(!1),[d,f]=j.useState(e),p=t??d,m=j.useCallback(e=>{let t=typeof e==`function`?e(p):e;n?n(t):f(t),document.cookie=`${aO}=${t}; path=/; max-age=${oO}`},[n,p]),h=j.useCallback(()=>c?u(e=>!e):m(e=>!e),[c,m,u]);j.useEffect(()=>{let e=e=>{e.key===uO&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),h())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[h]);let g=p?`expanded`:`collapsed`,_=j.useMemo(()=>({state:g,open:p,setOpen:m,isMobile:c,openMobile:l,setOpenMobile:u,toggleSidebar:h}),[g,p,m,c,l,u,h]);return(0,M.jsx)(dO.Provider,{value:_,children:(0,M.jsx)(tO,{delayDuration:0,children:(0,M.jsx)(`div`,{style:{"--sidebar-width":sO,"--sidebar-width-icon":lO,...i},className:Z(`group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-0 w-full`,r),ref:s,...o,children:a})})})});pO.displayName=`SidebarProvider`;var mO=j.forwardRef(({side:e=`left`,variant:t=`sidebar`,collapsible:n=`offcanvas`,className:r,children:i,...a},o)=>{let{isMobile:s,state:c,openMobile:l,setOpenMobile:u}=fO();return n===`none`?(0,M.jsx)(`div`,{className:Z(`bg-sidebar text-sidebar-foreground flex h-full w-[var(--sidebar-width)] flex-col`,r),ref:o,...a,children:i}):s?(0,M.jsx)(Cw,{open:l,onOpenChange:u,...a,children:(0,M.jsx)(Dw,{"data-sidebar":`sidebar`,"data-mobile":`true`,className:`bg-sidebar text-sidebar-foreground w-[var(--sidebar-width)] p-0 [&>button]:hidden`,style:{"--sidebar-width":cO},side:e,children:(0,M.jsx)(`div`,{className:`flex h-full w-full flex-col`,children:i})})}):(0,M.jsx)(`div`,{ref:o,className:Z(`bg-sidebar text-sidebar-foreground hidden md:flex h-svh w-[var(--sidebar-width)] shrink-0 flex-col border-r transition-[width] duration-200 ease-linear overflow-hidden`,c===`collapsed`&&n===`offcanvas`&&`w-0 border-0`,c===`collapsed`&&n===`icon`&&`w-[var(--sidebar-width-icon)]`,r),"data-state":c,"data-collapsible":c===`collapsed`?n:``,"data-variant":t,"data-side":e,...a,children:i})});mO.displayName=`Sidebar`;var hO=j.forwardRef(({className:e,onClick:t,...n},r)=>{let{toggleSidebar:i}=fO();return(0,M.jsxs)(Q,{ref:r,"data-sidebar":`trigger`,variant:`ghost`,size:`icon`,className:Z(`h-7 w-7`,e),onClick:e=>{t?.(e),i()},...n,children:[(0,M.jsx)(Dy,{}),(0,M.jsx)(`span`,{className:`sr-only`,children:`Toggle Sidebar`})]})});hO.displayName=`SidebarTrigger`;var gO=j.forwardRef(({className:e,...t},n)=>{let{toggleSidebar:r}=fO();return(0,M.jsx)(`button`,{ref:n,"data-sidebar":`rail`,"aria-label":`Toggle Sidebar`,tabIndex:-1,onClick:r,title:`Toggle Sidebar`,className:Z(`hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex`,`[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize`,`[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize`,`group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-sidebar`,`[[data-side=left][data-collapsible=offcanvas]_&]:-right-2`,`[[data-side=right][data-collapsible=offcanvas]_&]:-left-2`,e),...t})});gO.displayName=`SidebarRail`;var _O=j.forwardRef(({className:e,...t},n)=>(0,M.jsx)(`main`,{ref:n,className:Z(`relative flex min-h-svh flex-1 flex-col bg-background`,`peer-data-[variant=inset]:min-h-[calc(100svh-theme(spacing.4))] md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow`,e),...t}));_O.displayName=`SidebarInset`;var vO=j.forwardRef(({className:e,...t},n)=>(0,M.jsx)(Vx,{ref:n,"data-sidebar":`input`,className:Z(`h-8 w-full bg-background shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring`,e),...t}));vO.displayName=`SidebarInput`;var yO=j.forwardRef(({className:e,...t},n)=>(0,M.jsx)(`div`,{ref:n,"data-sidebar":`header`,className:Z(`flex flex-col gap-2 p-2`,e),...t}));yO.displayName=`SidebarHeader`;var bO=j.forwardRef(({className:e,...t},n)=>(0,M.jsx)(`div`,{ref:n,"data-sidebar":`footer`,className:Z(`flex flex-col gap-2 p-2`,e),...t}));bO.displayName=`SidebarFooter`;var xO=j.forwardRef(({className:e,...t},n)=>(0,M.jsx)(Yx,{ref:n,"data-sidebar":`separator`,className:Z(`mx-2 w-auto bg-sidebar-border`,e),...t}));xO.displayName=`SidebarSeparator`;var SO=j.forwardRef(({className:e,...t},n)=>(0,M.jsx)(`div`,{ref:n,"data-sidebar":`content`,className:Z(`flex min-h-0 flex-1 flex-col gap-2 overflow-auto`,e),...t}));SO.displayName=`SidebarContent`;var CO=j.forwardRef(({className:e,...t},n)=>(0,M.jsx)(`div`,{ref:n,"data-sidebar":`group`,className:Z(`relative flex w-full min-w-0 flex-col p-2`,e),...t}));CO.displayName=`SidebarGroup`;var wO=j.forwardRef(({className:e,asChild:t=!1,...n},r)=>(0,M.jsx)(t?Mx:`div`,{ref:r,"data-sidebar":`group-label`,className:Z(`text-xs/6 font-medium text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 outline-none transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0 [[data-collapsible=icon]_&]:-mt-8 [[data-collapsible=icon]_&]:opacity-0 [[data-collapsible=icon]_&]:overflow-hidden`,e),...n}));wO.displayName=`SidebarGroupLabel`;var TO=j.forwardRef(({className:e,asChild:t=!1,...n},r)=>(0,M.jsx)(t?Mx:`button`,{ref:r,"data-sidebar":`group-action`,className:Z(`absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0`,`after:absolute after:-inset-2 after:md:hidden`,`group-data-[collapsible=icon]:hidden`,e),...n}));TO.displayName=`SidebarGroupAction`;var EO=j.forwardRef(({className:e,...t},n)=>(0,M.jsx)(`div`,{ref:n,"data-sidebar":`group-content`,className:Z(`w-full text-sm`,e),...t}));EO.displayName=`SidebarGroupContent`;var DO=j.forwardRef(({className:e,...t},n)=>(0,M.jsx)(`ul`,{ref:n,"data-sidebar":`menu`,className:Z(`flex w-full min-w-0 flex-col gap-1`,e),...t}));DO.displayName=`SidebarMenu`;var OO=j.forwardRef(({className:e,...t},n)=>(0,M.jsx)(`li`,{ref:n,"data-sidebar":`menu-item`,className:Z(`group/menu-item relative`,e),...t}));OO.displayName=`SidebarMenuItem`;var kO=j.forwardRef(({asChild:e=!1,isActive:t=!1,variant:n=`default`,size:r=`default`,tooltip:i,className:a,...o},s)=>{let c=e?Mx:`button`,{isMobile:l,state:u}=fO(),d=(0,M.jsx)(c,{ref:s,"data-sidebar":`menu-button`,"data-size":r,"data-active":t,className:Z(AO({variant:n,size:r}),a),...o});return i?(typeof i==`string`&&(i={children:i}),(0,M.jsxs)(nO,{children:[(0,M.jsx)(rO,{asChild:!0,children:d}),(0,M.jsx)(iO,{side:`right`,align:`center`,hidden:u!==`collapsed`||l,...i})]})):d});kO.displayName=`SidebarMenuButton`;var AO=Wv(`peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0`,{variants:{variant:{default:`hover:bg-sidebar-accent hover:text-sidebar-accent-foreground`,outline:`bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]`},size:{default:`h-8 text-sm`,sm:`h-7 text-xs`,lg:`h-12 text-sm group-data-[collapsible=icon]:!p-0`}},defaultVariants:{variant:`default`,size:`default`}}),jO=j.forwardRef(({className:e,asChild:t=!1,showOnHover:n=!1,...r},i)=>(0,M.jsx)(t?Mx:`button`,{ref:i,"data-sidebar":`menu-action`,className:Z(`absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0`,`after:absolute after:-inset-2 after:md:hidden`,`peer-data-[size=sm]/menu-button:top-1`,`peer-data-[size=default]/menu-button:top-1.5`,`peer-data-[size=lg]/menu-button:top-2.5`,`group-data-[collapsible=icon]:hidden`,n&&`group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground md:opacity-0`,e),...r}));jO.displayName=`SidebarMenuAction`;var MO=j.forwardRef(({className:e,...t},n)=>(0,M.jsx)(`div`,{ref:n,"data-sidebar":`menu-badge`,className:Z(`text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums select-none`,`peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground`,`peer-data-[size=sm]/menu-button:top-1`,`peer-data-[size=default]/menu-button:top-1.5`,`peer-data-[size=lg]/menu-button:top-2.5`,`group-data-[collapsible=icon]:hidden`,e),...t}));MO.displayName=`SidebarMenuBadge`;var NO=j.forwardRef(({className:e,showIcon:t=!1,...n},r)=>{let i=j.useMemo(()=>`${Math.floor(Math.random()*40)+50}%`,[]);return(0,M.jsxs)(`div`,{ref:r,"data-sidebar":`menu-skeleton`,className:Z(`rounded-md h-8 flex gap-2 px-2 items-center`,e),...n,children:[t&&(0,M.jsx)(Mw,{className:`size-4 rounded-md`,"data-sidebar":`menu-skeleton-icon`}),(0,M.jsx)(Mw,{className:`h-4 flex-1 max-w-[var(--skeleton-width)]`,"data-sidebar":`menu-skeleton-text`,style:{"--skeleton-width":i}})]})});NO.displayName=`SidebarMenuSkeleton`;var PO=j.forwardRef(({className:e,...t},n)=>(0,M.jsx)(`ul`,{ref:n,"data-sidebar":`menu-sub`,className:Z(`mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5`,`group-data-[collapsible=icon]:hidden`,e),...t}));PO.displayName=`SidebarMenuSub`;var FO=j.forwardRef(({...e},t)=>(0,M.jsx)(`li`,{ref:t,...e}));FO.displayName=`SidebarMenuSubItem`;var IO=j.forwardRef(({asChild:e=!1,size:t=`md`,isActive:n,className:r,...i},a)=>(0,M.jsx)(e?Mx:`a`,{ref:a,"data-sidebar":`menu-sub-button`,"data-size":t,"data-active":n,className:Z(`flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-none ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground`,`data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground`,t===`sm`&&`text-xs`,t===`md`&&`text-sm`,r),...i}));IO.displayName=`SidebarMenuSubButton`;var LO=Wv(`text-muted-foreground flex flex-wrap items-center gap-1.5 break-words text-sm sm:gap-2.5`),RO=j.forwardRef(({className:e,...t},n)=>(0,M.jsx)(`nav`,{ref:n,"aria-label":`breadcrumb`,className:Z(LO(),e),...t}));RO.displayName=`Breadcrumb`;var zO=j.forwardRef(({className:e,...t},n)=>(0,M.jsx)(`ol`,{ref:n,className:Z(`text-muted-foreground flex flex-wrap items-center gap-1.5 break-words text-sm sm:gap-2.5`,e),...t}));zO.displayName=`BreadcrumbList`;var BO=j.forwardRef(({className:e,...t},n)=>(0,M.jsx)(`li`,{ref:n,className:Z(`inline-flex items-center gap-1.5`,e),...t}));BO.displayName=`BreadcrumbItem`;var VO=j.forwardRef(({asChild:e,className:t,...n},r)=>(0,M.jsx)(e?Mx:`a`,{ref:r,className:Z(`hover:text-foreground transition-colors`,t),...n}));VO.displayName=`BreadcrumbLink`;var HO=j.forwardRef(({className:e,...t},n)=>(0,M.jsx)(`span`,{ref:n,role:`link`,"aria-disabled":`true`,"aria-current":`page`,className:Z(`text-foreground font-normal`,e),...t}));HO.displayName=`BreadcrumbPage`;var UO=({children:e,className:t,...n})=>(0,M.jsx)(`li`,{role:`presentation`,"aria-hidden":`true`,className:Z(`[&>svg]:size-3.5`,t),...n,children:e??(0,M.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,className:`size-4`,children:(0,M.jsx)(`path`,{d:`m9 18 6-6-6-6`})})});UO.displayName=`BreadcrumbSeparator`;var WO=({className:e,...t})=>(0,M.jsxs)(`span`,{role:`presentation`,"aria-hidden":`true`,className:Z(`flex h-9 w-9 items-center justify-center`,e),...t,children:[(0,M.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,className:`size-4`,children:[(0,M.jsx)(`circle`,{cx:`12`,cy:`12`,r:`1`}),(0,M.jsx)(`circle`,{cx:`19`,cy:`12`,r:`1`}),(0,M.jsx)(`circle`,{cx:`5`,cy:`12`,r:`1`})]}),(0,M.jsx)(`span`,{className:`sr-only`,children:`More`})]});WO.displayName=`BreadcrumbElipssis`;var GO=j.createContext(void 0);function KO(e){let t=j.useContext(GO);return e||t||`ltr`}var qO=`rovingFocusGroup.onEntryFocus`,JO={bubbles:!1,cancelable:!0},YO=`RovingFocusGroup`,[XO,ZO,QO]=l_(YO),[$O,ek]=e_(YO,[QO]),[tk,nk]=$O(YO),rk=j.forwardRef((e,t)=>(0,M.jsx)(XO.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,M.jsx)(XO.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,M.jsx)(ik,{...e,ref:t})})}));rk.displayName=YO;var ik=j.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,orientation:r,loop:i=!1,dir:a,currentTabStopId:o,defaultCurrentTabStopId:s,onCurrentTabStopIdChange:c,onEntryFocus:l,preventScrollOnEntryFocus:u=!1,...d}=e,f=j.useRef(null),p=Qg(t,f),m=KO(a),[h,g]=R_({prop:o,defaultProp:s??null,onChange:c,caller:YO}),[_,v]=j.useState(!1),y=f_(l),b=ZO(n),x=j.useRef(!1),[S,C]=j.useState(0);return j.useEffect(()=>{let e=f.current;if(e)return e.addEventListener(qO,y),()=>e.removeEventListener(qO,y)},[y]),(0,M.jsx)(tk,{scope:n,orientation:r,dir:m,loop:i,currentTabStopId:h,onItemFocus:j.useCallback(e=>g(e),[g]),onItemShiftTab:j.useCallback(()=>v(!0),[]),onFocusableItemAdd:j.useCallback(()=>C(e=>e+1),[]),onFocusableItemRemove:j.useCallback(()=>C(e=>e-1),[]),children:(0,M.jsx)(u_.div,{tabIndex:_||S===0?-1:0,"data-orientation":r,...d,ref:p,style:{outline:`none`,...e.style},onMouseDown:J(e.onMouseDown,()=>{x.current=!0}),onFocus:J(e.onFocus,e=>{let t=!x.current;if(e.target===e.currentTarget&&t&&!_){let t=new CustomEvent(qO,JO);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=b().filter(e=>e.focusable);uk([e.find(e=>e.active),e.find(e=>e.id===h),...e].filter(Boolean).map(e=>e.ref.current),u)}}x.current=!1}),onBlur:J(e.onBlur,()=>v(!1))})})}),ak=`RovingFocusGroupItem`,ok=j.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,focusable:r=!0,active:i=!1,tabStopId:a,children:o,...s}=e,c=Qx(),l=a||c,u=nk(ak,n),d=u.currentTabStopId===l,f=ZO(n),{onFocusableItemAdd:p,onFocusableItemRemove:m,currentTabStopId:h}=u;return j.useEffect(()=>{if(r)return p(),()=>m()},[r,p,m]),(0,M.jsx)(XO.ItemSlot,{scope:n,id:l,focusable:r,active:i,children:(0,M.jsx)(u_.span,{tabIndex:d?0:-1,"data-orientation":u.orientation,...s,ref:t,onMouseDown:J(e.onMouseDown,e=>{r?u.onItemFocus(l):e.preventDefault()}),onFocus:J(e.onFocus,()=>u.onItemFocus(l)),onKeyDown:J(e.onKeyDown,e=>{if(e.key===`Tab`&&e.shiftKey){u.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=lk(e,u.orientation,u.dir);if(t!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let n=f().filter(e=>e.focusable).map(e=>e.ref.current);if(t===`last`)n.reverse();else if(t===`prev`||t===`next`){t===`prev`&&n.reverse();let r=n.indexOf(e.currentTarget);n=u.loop?dk(n,r+1):n.slice(r+1)}setTimeout(()=>uk(n))}}),children:typeof o==`function`?o({isCurrentTabStop:d,hasTabStop:h!=null}):o})})});ok.displayName=ak;var sk={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function ck(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}function lk(e,t,n){let r=ck(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return sk[r]}function uk(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function dk(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var fk=rk,pk=ok,mk=[`Enter`,` `],hk=[`ArrowDown`,`PageUp`,`Home`],gk=[`ArrowUp`,`PageDown`,`End`],_k=[...hk,...gk],vk={ltr:[...mk,`ArrowRight`],rtl:[...mk,`ArrowLeft`]},yk={ltr:[`ArrowLeft`],rtl:[`ArrowRight`]},bk=`Menu`,[xk,Sk,Ck]=l_(bk),[wk,Tk]=e_(bk,[Ck,ZE,ek]),Ek=ZE(),Dk=ek(),[Ok,kk]=wk(bk),[Ak,jk]=wk(bk),Mk=e=>{let{__scopeMenu:t,open:n=!1,children:r,dir:i,onOpenChange:a,modal:o=!0}=e,s=Ek(t),[c,l]=j.useState(null),u=j.useRef(!1),d=f_(a),f=KO(i);return j.useEffect(()=>{let e=()=>{u.current=!0,document.addEventListener(`pointerdown`,t,{capture:!0,once:!0}),document.addEventListener(`pointermove`,t,{capture:!0,once:!0})},t=()=>u.current=!1;return document.addEventListener(`keydown`,e,{capture:!0}),()=>{document.removeEventListener(`keydown`,e,{capture:!0}),document.removeEventListener(`pointerdown`,t,{capture:!0}),document.removeEventListener(`pointermove`,t,{capture:!0})}},[]),(0,M.jsx)(pD,{...s,children:(0,M.jsx)(Ok,{scope:t,open:n,onOpenChange:d,content:c,onContentChange:l,children:(0,M.jsx)(Ak,{scope:t,onClose:j.useCallback(()=>d(!1),[d]),isUsingKeyboardRef:u,dir:f,modal:o,children:r})})})};Mk.displayName=bk;var Nk=`MenuAnchor`,Pk=j.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,i=Ek(n);return(0,M.jsx)(mD,{...i,...r,ref:t})});Pk.displayName=Nk;var Fk=`MenuPortal`,[Ik,Lk]=wk(Fk,{forceMount:void 0}),Rk=e=>{let{__scopeMenu:t,forceMount:n,children:r,container:i}=e,a=kk(Fk,t);return(0,M.jsx)(Ik,{scope:t,forceMount:n,children:(0,M.jsx)(N_,{present:n||a.open,children:(0,M.jsx)(j_,{asChild:!0,container:i,children:r})})})};Rk.displayName=Fk;var zk=`MenuContent`,[Bk,Vk]=wk(zk),Hk=j.forwardRef((e,t)=>{let n=Lk(zk,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,a=kk(zk,e.__scopeMenu),o=jk(zk,e.__scopeMenu);return(0,M.jsx)(xk.Provider,{scope:e.__scopeMenu,children:(0,M.jsx)(N_,{present:r||a.open,children:(0,M.jsx)(xk.Slot,{scope:e.__scopeMenu,children:o.modal?(0,M.jsx)(Uk,{...i,ref:t}):(0,M.jsx)(Wk,{...i,ref:t})})})})}),Uk=j.forwardRef((e,t)=>{let n=kk(zk,e.__scopeMenu),r=j.useRef(null),i=Qg(t,r);return j.useEffect(()=>{let e=r.current;if(e)return FC(e)},[]),(0,M.jsx)(Kk,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:J(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),Wk=j.forwardRef((e,t)=>{let n=kk(zk,e.__scopeMenu);return(0,M.jsx)(Kk,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),Gk=n_(`MenuContent.ScrollLock`),Kk=j.forwardRef((e,t)=>{let{__scopeMenu:n,loop:r=!1,trapFocus:i,onOpenAutoFocus:a,onCloseAutoFocus:o,disableOutsidePointerEvents:s,onEntryFocus:c,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:d,onInteractOutside:f,onDismiss:p,disableOutsideScroll:m,...h}=e,g=kk(zk,n),_=jk(zk,n),v=Ek(n),y=Dk(n),b=Sk(n),[x,S]=j.useState(null),C=j.useRef(null),w=Qg(t,C,g.onContentChange),T=j.useRef(0),E=j.useRef(``),D=j.useRef(0),O=j.useRef(null),ee=j.useRef(`right`),te=j.useRef(0),ne=m?EC:j.Fragment,re=m?{as:Gk,allowPinchZoom:!0}:void 0,ie=e=>{let t=E.current+e,n=b().filter(e=>!e.disabled),r=document.activeElement,i=n.find(e=>e.ref.current===r)?.textValue,a=AA(n.map(e=>e.textValue),t,i),o=n.find(e=>e.textValue===a)?.ref.current;(function e(t){E.current=t,window.clearTimeout(T.current),t!==``&&(T.current=window.setTimeout(()=>e(``),1e3))})(t),o&&setTimeout(()=>o.focus())};j.useEffect(()=>()=>window.clearTimeout(T.current),[]),gS();let ae=j.useCallback(e=>ee.current===O.current?.side&&MA(e,O.current?.area),[]);return(0,M.jsx)(Bk,{scope:n,searchRef:E,onItemEnter:j.useCallback(e=>{ae(e)&&e.preventDefault()},[ae]),onItemLeave:j.useCallback(e=>{ae(e)||(C.current?.focus(),S(null))},[ae]),onTriggerLeave:j.useCallback(e=>{ae(e)&&e.preventDefault()},[ae]),pointerGraceTimerRef:D,onPointerGraceIntentChange:j.useCallback(e=>{O.current=e},[]),children:(0,M.jsx)(ne,{...re,children:(0,M.jsx)(rS,{asChild:!0,trapped:i,onMountAutoFocus:J(a,e=>{e.preventDefault(),C.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:o,children:(0,M.jsx)(b_,{asChild:!0,disableOutsidePointerEvents:s,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:d,onInteractOutside:f,onDismiss:p,children:(0,M.jsx)(fk,{asChild:!0,...y,dir:_.dir,orientation:`vertical`,loop:r,currentTabStopId:x,onCurrentTabStopIdChange:S,onEntryFocus:J(c,e=>{_.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,M.jsx)(hD,{role:`menu`,"aria-orientation":`vertical`,"data-state":TA(g.open),"data-radix-menu-content":``,dir:_.dir,...v,...h,ref:w,style:{outline:`none`,...h.style},onKeyDown:J(h.onKeyDown,e=>{let t=e.target.closest(`[data-radix-menu-content]`)===e.currentTarget,n=e.ctrlKey||e.altKey||e.metaKey,r=e.key.length===1;t&&(e.key===`Tab`&&e.preventDefault(),!n&&r&&ie(e.key));let i=C.current;if(e.target!==i||!_k.includes(e.key))return;e.preventDefault();let a=b().filter(e=>!e.disabled).map(e=>e.ref.current);gk.includes(e.key)&&a.reverse(),OA(a)}),onBlur:J(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(T.current),E.current=``)}),onPointerMove:J(e.onPointerMove,NA(e=>{let t=e.target,n=te.current!==e.clientX;e.currentTarget.contains(t)&&n&&(ee.current=e.clientX>te.current?`right`:`left`,te.current=e.clientX)}))})})})})})})});Hk.displayName=zk;var qk=`MenuGroup`,Jk=j.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,M.jsx)(u_.div,{role:`group`,...r,ref:t})});Jk.displayName=qk;var Yk=`MenuLabel`,Xk=j.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,M.jsx)(u_.div,{...r,ref:t})});Xk.displayName=Yk;var Zk=`MenuItem`,Qk=`menu.itemSelect`,$k=j.forwardRef((e,t)=>{let{disabled:n=!1,onSelect:r,...i}=e,a=j.useRef(null),o=jk(Zk,e.__scopeMenu),s=Vk(Zk,e.__scopeMenu),c=Qg(t,a),l=j.useRef(!1),u=()=>{let e=a.current;if(!n&&e){let t=new CustomEvent(Qk,{bubbles:!0,cancelable:!0});e.addEventListener(Qk,e=>r?.(e),{once:!0}),d_(e,t),t.defaultPrevented?l.current=!1:o.onClose()}};return(0,M.jsx)(eA,{...i,ref:c,disabled:n,onClick:J(e.onClick,u),onPointerDown:t=>{e.onPointerDown?.(t),l.current=!0},onPointerUp:J(e.onPointerUp,e=>{l.current||e.currentTarget?.click()}),onKeyDown:J(e.onKeyDown,e=>{let t=s.searchRef.current!==``;n||t&&e.key===` `||mk.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})});$k.displayName=Zk;var eA=j.forwardRef((e,t)=>{let{__scopeMenu:n,disabled:r=!1,textValue:i,...a}=e,o=Vk(Zk,n),s=Dk(n),c=j.useRef(null),l=Qg(t,c),[u,d]=j.useState(!1),[f,p]=j.useState(``);return j.useEffect(()=>{let e=c.current;e&&p((e.textContent??``).trim())},[a.children]),(0,M.jsx)(xk.ItemSlot,{scope:n,disabled:r,textValue:i??f,children:(0,M.jsx)(pk,{asChild:!0,...s,focusable:!r,children:(0,M.jsx)(u_.div,{role:`menuitem`,"data-highlighted":u?``:void 0,"aria-disabled":r||void 0,"data-disabled":r?``:void 0,...a,ref:l,onPointerMove:J(e.onPointerMove,NA(e=>{r?o.onItemLeave(e):(o.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:J(e.onPointerLeave,NA(e=>o.onItemLeave(e))),onFocus:J(e.onFocus,()=>d(!0)),onBlur:J(e.onBlur,()=>d(!1))})})})}),tA=`MenuCheckboxItem`,nA=j.forwardRef((e,t)=>{let{checked:n=!1,onCheckedChange:r,...i}=e;return(0,M.jsx)(uA,{scope:e.__scopeMenu,checked:n,children:(0,M.jsx)($k,{role:`menuitemcheckbox`,"aria-checked":EA(n)?`mixed`:n,...i,ref:t,"data-state":DA(n),onSelect:J(i.onSelect,()=>r?.(EA(n)?!0:!n),{checkForDefaultPrevented:!1})})})});nA.displayName=tA;var rA=`MenuRadioGroup`,[iA,aA]=wk(rA,{value:void 0,onValueChange:()=>{}}),oA=j.forwardRef((e,t)=>{let{value:n,onValueChange:r,...i}=e,a=f_(r);return(0,M.jsx)(iA,{scope:e.__scopeMenu,value:n,onValueChange:a,children:(0,M.jsx)(Jk,{...i,ref:t})})});oA.displayName=rA;var sA=`MenuRadioItem`,cA=j.forwardRef((e,t)=>{let{value:n,...r}=e,i=aA(sA,e.__scopeMenu),a=n===i.value;return(0,M.jsx)(uA,{scope:e.__scopeMenu,checked:a,children:(0,M.jsx)($k,{role:`menuitemradio`,"aria-checked":a,...r,ref:t,"data-state":DA(a),onSelect:J(r.onSelect,()=>i.onValueChange?.(n),{checkForDefaultPrevented:!1})})})});cA.displayName=sA;var lA=`MenuItemIndicator`,[uA,dA]=wk(lA,{checked:!1}),fA=j.forwardRef((e,t)=>{let{__scopeMenu:n,forceMount:r,...i}=e,a=dA(lA,n);return(0,M.jsx)(N_,{present:r||EA(a.checked)||a.checked===!0,children:(0,M.jsx)(u_.span,{...i,ref:t,"data-state":DA(a.checked)})})});fA.displayName=lA;var pA=`MenuSeparator`,mA=j.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,M.jsx)(u_.div,{role:`separator`,"aria-orientation":`horizontal`,...r,ref:t})});mA.displayName=pA;var hA=`MenuArrow`,gA=j.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,i=Ek(n);return(0,M.jsx)(gD,{...i,...r,ref:t})});gA.displayName=hA;var _A=`MenuSub`,[vA,yA]=wk(_A),bA=e=>{let{__scopeMenu:t,children:n,open:r=!1,onOpenChange:i}=e,a=kk(_A,t),o=Ek(t),[s,c]=j.useState(null),[l,u]=j.useState(null),d=f_(i);return j.useEffect(()=>(a.open===!1&&d(!1),()=>d(!1)),[a.open,d]),(0,M.jsx)(pD,{...o,children:(0,M.jsx)(Ok,{scope:t,open:r,onOpenChange:d,content:l,onContentChange:u,children:(0,M.jsx)(vA,{scope:t,contentId:Qx(),triggerId:Qx(),trigger:s,onTriggerChange:c,children:n})})})};bA.displayName=_A;var xA=`MenuSubTrigger`,SA=j.forwardRef((e,t)=>{let n=kk(xA,e.__scopeMenu),r=jk(xA,e.__scopeMenu),i=yA(xA,e.__scopeMenu),a=Vk(xA,e.__scopeMenu),o=j.useRef(null),{pointerGraceTimerRef:s,onPointerGraceIntentChange:c}=a,l={__scopeMenu:e.__scopeMenu},u=j.useCallback(()=>{o.current&&window.clearTimeout(o.current),o.current=null},[]);return j.useEffect(()=>u,[u]),j.useEffect(()=>{let e=s.current;return()=>{window.clearTimeout(e),c(null)}},[s,c]),(0,M.jsx)(Pk,{asChild:!0,...l,children:(0,M.jsx)(eA,{id:i.triggerId,"aria-haspopup":`menu`,"aria-expanded":n.open,"aria-controls":i.contentId,"data-state":TA(n.open),...e,ref:Zg(t,i.onTriggerChange),onClick:t=>{e.onClick?.(t),!(e.disabled||t.defaultPrevented)&&(t.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:J(e.onPointerMove,NA(t=>{a.onItemEnter(t),!t.defaultPrevented&&!e.disabled&&!n.open&&!o.current&&(a.onPointerGraceIntentChange(null),o.current=window.setTimeout(()=>{n.onOpenChange(!0),u()},100))})),onPointerLeave:J(e.onPointerLeave,NA(e=>{u();let t=n.content?.getBoundingClientRect();if(t){let r=n.content?.dataset.side,i=r===`right`,o=i?-5:5,c=t[i?`left`:`right`],l=t[i?`right`:`left`];a.onPointerGraceIntentChange({area:[{x:e.clientX+o,y:e.clientY},{x:c,y:t.top},{x:l,y:t.top},{x:l,y:t.bottom},{x:c,y:t.bottom}],side:r}),window.clearTimeout(s.current),s.current=window.setTimeout(()=>a.onPointerGraceIntentChange(null),300)}else{if(a.onTriggerLeave(e),e.defaultPrevented)return;a.onPointerGraceIntentChange(null)}})),onKeyDown:J(e.onKeyDown,t=>{let i=a.searchRef.current!==``;e.disabled||i&&t.key===` `||vk[r.dir].includes(t.key)&&(n.onOpenChange(!0),n.content?.focus(),t.preventDefault())})})})});SA.displayName=xA;var CA=`MenuSubContent`,wA=j.forwardRef((e,t)=>{let n=Lk(zk,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,a=kk(zk,e.__scopeMenu),o=jk(zk,e.__scopeMenu),s=yA(CA,e.__scopeMenu),c=j.useRef(null),l=Qg(t,c);return(0,M.jsx)(xk.Provider,{scope:e.__scopeMenu,children:(0,M.jsx)(N_,{present:r||a.open,children:(0,M.jsx)(xk.Slot,{scope:e.__scopeMenu,children:(0,M.jsx)(Kk,{id:s.contentId,"aria-labelledby":s.triggerId,...i,ref:l,align:`start`,side:o.dir===`rtl`?`left`:`right`,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{o.isUsingKeyboardRef.current&&c.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:J(e.onFocusOutside,e=>{e.target!==s.trigger&&a.onOpenChange(!1)}),onEscapeKeyDown:J(e.onEscapeKeyDown,e=>{o.onClose(),e.preventDefault()}),onKeyDown:J(e.onKeyDown,e=>{let t=e.currentTarget.contains(e.target),n=yk[o.dir].includes(e.key);t&&n&&(a.onOpenChange(!1),s.trigger?.focus(),e.preventDefault())})})})})})});wA.displayName=CA;function TA(e){return e?`open`:`closed`}function EA(e){return e===`indeterminate`}function DA(e){return EA(e)?`indeterminate`:e?`checked`:`unchecked`}function OA(e){let t=document.activeElement;for(let n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function kA(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function AA(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=kA(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}function jA(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}function MA(e,t){return t?jA({x:e.clientX,y:e.clientY},t):!1}function NA(e){return t=>t.pointerType===`mouse`?e(t):void 0}var PA=Mk,FA=Pk,IA=Rk,LA=Hk,RA=Jk,zA=Xk,BA=$k,VA=nA,HA=oA,UA=cA,WA=fA,GA=mA,KA=gA,qA=SA,JA=wA,YA=`DropdownMenu`,[XA,ZA]=e_(YA,[Tk]),QA=Tk(),[$A,ej]=XA(YA),tj=e=>{let{__scopeDropdownMenu:t,children:n,dir:r,open:i,defaultOpen:a,onOpenChange:o,modal:s=!0}=e,c=QA(t),l=j.useRef(null),[u,d]=R_({prop:i,defaultProp:a??!1,onChange:o,caller:YA});return(0,M.jsx)($A,{scope:t,triggerId:Qx(),triggerRef:l,contentId:Qx(),open:u,onOpenChange:d,onOpenToggle:j.useCallback(()=>d(e=>!e),[d]),modal:s,children:(0,M.jsx)(PA,{...c,open:u,onOpenChange:d,dir:r,modal:s,children:n})})};tj.displayName=YA;var nj=`DropdownMenuTrigger`,rj=j.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,disabled:r=!1,...i}=e,a=ej(nj,n),o=QA(n);return(0,M.jsx)(FA,{asChild:!0,...o,children:(0,M.jsx)(u_.button,{type:`button`,id:a.triggerId,"aria-haspopup":`menu`,"aria-expanded":a.open,"aria-controls":a.open?a.contentId:void 0,"data-state":a.open?`open`:`closed`,"data-disabled":r?``:void 0,disabled:r,...i,ref:Zg(t,a.triggerRef),onPointerDown:J(e.onPointerDown,e=>{!r&&e.button===0&&e.ctrlKey===!1&&(a.onOpenToggle(),a.open||e.preventDefault())}),onKeyDown:J(e.onKeyDown,e=>{r||([`Enter`,` `].includes(e.key)&&a.onOpenToggle(),e.key===`ArrowDown`&&a.onOpenChange(!0),[`Enter`,` `,`ArrowDown`].includes(e.key)&&e.preventDefault())})})})});rj.displayName=nj;var ij=`DropdownMenuPortal`,aj=e=>{let{__scopeDropdownMenu:t,...n}=e,r=QA(t);return(0,M.jsx)(IA,{...r,...n})};aj.displayName=ij;var oj=`DropdownMenuContent`,sj=j.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=ej(oj,n),a=QA(n),o=j.useRef(!1);return(0,M.jsx)(LA,{id:i.contentId,"aria-labelledby":i.triggerId,...a,...r,ref:t,onCloseAutoFocus:J(e.onCloseAutoFocus,e=>{o.current||i.triggerRef.current?.focus(),o.current=!1,e.preventDefault()}),onInteractOutside:J(e.onInteractOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,r=t.button===2||n;(!i.modal||r)&&(o.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-dropdown-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-dropdown-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-dropdown-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-dropdown-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});sj.displayName=oj;var cj=`DropdownMenuGroup`,lj=j.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=QA(n);return(0,M.jsx)(RA,{...i,...r,ref:t})});lj.displayName=cj;var uj=`DropdownMenuLabel`,dj=j.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=QA(n);return(0,M.jsx)(zA,{...i,...r,ref:t})});dj.displayName=uj;var fj=`DropdownMenuItem`,pj=j.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=QA(n);return(0,M.jsx)(BA,{...i,...r,ref:t})});pj.displayName=fj;var mj=`DropdownMenuCheckboxItem`,hj=j.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=QA(n);return(0,M.jsx)(VA,{...i,...r,ref:t})});hj.displayName=mj;var gj=`DropdownMenuRadioGroup`,_j=j.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=QA(n);return(0,M.jsx)(HA,{...i,...r,ref:t})});_j.displayName=gj;var vj=`DropdownMenuRadioItem`,yj=j.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=QA(n);return(0,M.jsx)(UA,{...i,...r,ref:t})});yj.displayName=vj;var bj=`DropdownMenuItemIndicator`,xj=j.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=QA(n);return(0,M.jsx)(WA,{...i,...r,ref:t})});xj.displayName=bj;var Sj=`DropdownMenuSeparator`,Cj=j.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=QA(n);return(0,M.jsx)(GA,{...i,...r,ref:t})});Cj.displayName=Sj;var wj=`DropdownMenuArrow`,Tj=j.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=QA(n);return(0,M.jsx)(KA,{...i,...r,ref:t})});Tj.displayName=wj;var Ej=`DropdownMenuSubTrigger`,Dj=j.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=QA(n);return(0,M.jsx)(qA,{...i,...r,ref:t})});Dj.displayName=Ej;var Oj=`DropdownMenuSubContent`,kj=j.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=QA(n);return(0,M.jsx)(JA,{...i,...r,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-dropdown-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-dropdown-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-dropdown-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-dropdown-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});kj.displayName=Oj;var Aj=tj,jj=rj,Mj=aj,Nj=sj,Pj=dj,Fj=pj,Ij=hj,Lj=yj,Rj=xj,zj=Cj,Bj=Dj,Vj=kj,Hj=Aj,Uj=jj,Wj=j.forwardRef(({className:e,inset:t,children:n,...r},i)=>(0,M.jsxs)(Bj,{ref:i,className:Z(`flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0`,t&&`pl-8`,e),...r,children:[n,(0,M.jsx)(ay,{className:`ml-auto`})]}));Wj.displayName=Bj.displayName;var Gj=j.forwardRef(({className:e,...t},n)=>(0,M.jsx)(Vj,{ref:n,className:Z(`z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`,e),...t}));Gj.displayName=Vj.displayName;var Kj=j.forwardRef(({className:e,sideOffset:t=4,...n},r)=>(0,M.jsx)(Mj,{children:(0,M.jsx)(Nj,{ref:r,sideOffset:t,className:Z(`z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`,e),...n})}));Kj.displayName=Nj.displayName;var qj=j.forwardRef(({className:e,inset:t,...n},r)=>(0,M.jsx)(Fj,{ref:r,className:Z(`relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0`,t&&`pl-8`,e),...n}));qj.displayName=Fj.displayName;var Jj=j.forwardRef(({className:e,children:t,checked:n,...r},i)=>(0,M.jsxs)(Ij,{ref:i,className:Z(`relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,e),checked:n,...r,children:[(0,M.jsx)(`span`,{className:`absolute left-2 flex h-3.5 w-3.5 items-center justify-center`,children:(0,M.jsx)(Rj,{children:(0,M.jsx)(ry,{className:`h-4 w-4`})})}),t]}));Jj.displayName=Ij.displayName;var Yj=j.forwardRef(({className:e,children:t,...n},r)=>(0,M.jsxs)(Lj,{ref:r,className:Z(`relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,e),...n,children:[(0,M.jsx)(`span`,{className:`absolute left-2 flex h-3.5 w-3.5 items-center justify-center`,children:(0,M.jsx)(Rj,{children:(0,M.jsx)(dy,{className:`h-2 w-2 fill-current`})})}),t]}));Yj.displayName=Lj.displayName;var Xj=j.forwardRef(({className:e,inset:t,...n},r)=>(0,M.jsx)(Pj,{ref:r,className:Z(`px-2 py-1.5 text-sm font-semibold`,t&&`pl-8`,e),...n}));Xj.displayName=Pj.displayName;var Zj=j.forwardRef(({className:e,...t},n)=>(0,M.jsx)(zj,{ref:n,className:Z(`-mx-1 my-1 h-px bg-muted`,e),...t}));Zj.displayName=zj.displayName;var Qj=({className:e,...t})=>(0,M.jsx)(`span`,{className:Z(`ml-auto text-xs tracking-widest opacity-60`,e),...t});Qj.displayName=`DropdownMenuShortcut`;var $j=`modulepreload`,eM=function(e){return`/_account/`+e},tM={},nM=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}r=o(t.map(t=>{if(t=eM(t,n),t in tM)return;tM[t]=!0;let r=t.endsWith(`.css`),i=r?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${i}`))return;let o=document.createElement(`link`);if(o.rel=r?`stylesheet`:$j,r||(o.as=`script`),o.crossOrigin=``,o.href=t,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),r)return new Promise((e,n)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},rM=[`en`,`zh-CN`],iM={en:()=>nM(()=>import(`./en-CuO7DiqH.js`),[]),"zh-CN":()=>nM(()=>import(`./zh-CN-DhlJn7Oy.js`),[])};function aM(e){return rM.includes(e)?e:e.toLowerCase().startsWith(`zh`)?`zh-CN`:`en`}async function oM(e){let t=aM(e);try{return(await iM[t]()).default}catch(t){return console.warn(`[account/i18n] Failed to load language pack '${e}':`,t),{}}}var sM={en:`English`,"zh-CN":`中文`};function cM(){let{t:e,language:t,changeLanguage:n}=vt();async function r(e){await n(e);try{localStorage.setItem(`account.lang`,e)}catch{}}return(0,M.jsxs)(Hj,{children:[(0,M.jsx)(Uj,{asChild:!0,children:(0,M.jsxs)(Q,{variant:`ghost`,size:`icon`,className:`h-8 w-8`,"aria-label":e(`common.language`),children:[(0,M.jsx)(by,{className:`h-4 w-4`}),(0,M.jsx)(`span`,{className:`sr-only`,children:e(`common.language`)})]})}),(0,M.jsx)(Kj,{align:`end`,children:rM.map(e=>(0,M.jsx)(qj,{onSelect:()=>void r(e),className:e===t?`font-medium`:void 0,children:sM[e]},e))})]})}function lM(e){let t=document.documentElement;e===`dark`?t.classList.add(`dark`):t.classList.remove(`dark`)}function uM(){let{t:e}=vt(),[,t]=(0,j.useState)(`light`);(0,j.useEffect)(()=>{let e=localStorage.getItem(`theme`);e?(t(e),lM(e===`system`?window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`:e)):(t(`system`),lM(window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`))},[]);function n(e){t(e),localStorage.setItem(`theme`,e),lM(e===`system`?window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`:e)}return(0,M.jsxs)(Hj,{children:[(0,M.jsx)(Uj,{asChild:!0,children:(0,M.jsxs)(Q,{variant:`ghost`,size:`icon`,className:`h-8 w-8`,children:[(0,M.jsx)(Fy,{className:`h-4 w-4 rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0`}),(0,M.jsx)(Ey,{className:`absolute h-4 w-4 rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100`}),(0,M.jsx)(`span`,{className:`sr-only`,children:e(`common.toggleTheme`)})]})}),(0,M.jsxs)(Kj,{align:`end`,children:[(0,M.jsxs)(qj,{onClick:()=>n(`light`),children:[(0,M.jsx)(Fy,{className:`mr-2 h-4 w-4`}),e(`common.light`)]}),(0,M.jsxs)(qj,{onClick:()=>n(`dark`),children:[(0,M.jsx)(Ey,{className:`mr-2 h-4 w-4`}),e(`common.dark`)]}),(0,M.jsx)(qj,{onClick:()=>n(`system`),children:e(`common.system`)})]})]})}function dM(e,t=[]){let n=[];function r(t,r){let i=j.createContext(r);i.displayName=t+`Context`;let a=n.length;n=[...n,r];let o=t=>{let{scope:n,children:r,...o}=t,s=n?.[e]?.[a]||i,c=j.useMemo(()=>o,Object.values(o));return(0,M.jsx)(s.Provider,{value:c,children:r})};o.displayName=t+`Provider`;function s(n,o){let s=o?.[e]?.[a]||i,c=j.useContext(s);if(c)return c;if(r!==void 0)return r;throw Error(`\`${n}\` must be used within \`${t}\``)}return[o,s]}let i=()=>{let t=n.map(e=>j.createContext(e));return function(n){let r=n?.[e]||t;return j.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])}};return i.scopeName=e,[r,fM(i,...t)]}function fM(...e){let t=e[0];if(e.length===1)return t;let n=()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let r=n.reduce((t,{useScope:n,scopeName:r})=>{let i=n(e)[`__scope${r}`];return{...t,...i}},{});return j.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])}};return n.scopeName=t.scopeName,n}function pM(){return(0,ot.useSyncExternalStore)(mM,()=>!0,()=>!1)}function mM(){return()=>{}}var hM=`Avatar`,[gM,_M]=dM(hM),[vM,yM]=gM(hM),bM=j.forwardRef((e,t)=>{let{__scopeAvatar:n,...r}=e,[i,a]=j.useState(`idle`);return(0,M.jsx)(vM,{scope:n,imageLoadingStatus:i,onImageLoadingStatusChange:a,children:(0,M.jsx)(Hx.span,{...r,ref:t})})});bM.displayName=hM;var xM=`AvatarImage`,SM=j.forwardRef((e,t)=>{let{__scopeAvatar:n,src:r,onLoadingStatusChange:i=()=>{},...a}=e,o=yM(xM,n),s=EM(r,a),c=f_(e=>{i(e),o.onImageLoadingStatusChange(e)});return k_(()=>{s!==`idle`&&c(s)},[s,c]),s===`loaded`?(0,M.jsx)(Hx.img,{...a,ref:t,src:r}):null});SM.displayName=xM;var CM=`AvatarFallback`,wM=j.forwardRef((e,t)=>{let{__scopeAvatar:n,delayMs:r,...i}=e,a=yM(CM,n),[o,s]=j.useState(r===void 0);return j.useEffect(()=>{if(r!==void 0){let e=window.setTimeout(()=>s(!0),r);return()=>window.clearTimeout(e)}},[r]),o&&a.imageLoadingStatus!==`loaded`?(0,M.jsx)(Hx.span,{...i,ref:t}):null});wM.displayName=CM;function TM(e,t){return e?t?(e.src!==t&&(e.src=t),e.complete&&e.naturalWidth>0?`loaded`:`loading`):`error`:`idle`}function EM(e,{referrerPolicy:t,crossOrigin:n}){let r=pM(),i=j.useRef(null),a=r?(i.current||=new window.Image,i.current):null,[o,s]=j.useState(()=>TM(a,e));return k_(()=>{s(TM(a,e))},[a,e]),k_(()=>{let e=e=>()=>{s(e)};if(!a)return;let r=e(`loaded`),i=e(`error`);return a.addEventListener(`load`,r),a.addEventListener(`error`,i),t&&(a.referrerPolicy=t),typeof n==`string`&&(a.crossOrigin=n),()=>{a.removeEventListener(`load`,r),a.removeEventListener(`error`,i)}},[a,n,t]),o}var DM=bM,OM=SM,kM=wM,AM=j.forwardRef(({className:e,...t},n)=>(0,M.jsx)(DM,{ref:n,className:Z(`relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full`,e),...t}));AM.displayName=DM.displayName;var jM=j.forwardRef(({className:e,...t},n)=>(0,M.jsx)(OM,{ref:n,className:Z(`aspect-square h-full w-full`,e),...t}));jM.displayName=OM.displayName;var MM=j.forwardRef(({className:e,...t},n)=>(0,M.jsx)(kM,{ref:n,className:Z(`flex h-full w-full items-center justify-center rounded-full bg-muted`,e),...t}));MM.displayName=kM.displayName;var NM=(0,j.createContext)(null),PM=`auth-session-token`,FM=`auth-active-organization-id`;function IM(e){if(!(typeof window>`u`))try{e?.token?localStorage.setItem(PM,e.token):localStorage.removeItem(PM),e?.activeOrganizationId?localStorage.setItem(FM,e.activeOrganizationId):localStorage.removeItem(FM)}catch{}}function LM(e){if(!e)return{user:null,session:null};let t=e.data===void 0?e:e.data;return t?{user:t.user??null,session:t.session??null}:{user:null,session:null}}function RM({children:e}){let t=Rg(),[n,r]=(0,j.useState)(null),[i,a]=(0,j.useState)(null),[o,s]=(0,j.useState)(!0),[c,l]=(0,j.useState)(null),[u,d]=(0,j.useState)([]),[f,p]=(0,j.useState)(!1),[m,h]=(0,j.useState)(!1),g=(0,j.useCallback)(async()=>{if(t?.organizations){p(!0);try{d((await t.organizations.list())?.organizations??[])}catch{d([])}finally{p(!1),h(!0)}}},[t]),_=(0,j.useCallback)(async()=>{if(t?.auth){s(!0),l(null);try{let{user:e,session:n}=LM(await t.auth.me());r(e),a(n),IM(e?n:null)}catch(e){l(e),r(null),a(null),IM(null)}finally{s(!1)}}},[t]);(0,j.useEffect)(()=>{_()},[_]),(0,j.useEffect)(()=>{n?g():(d([]),h(!1))},[n,g]);let v=(0,j.useCallback)(async()=>{if(t?.auth)try{await t.auth.logout()}finally{r(null),a(null),d([]),h(!1),IM(null)}},[t]),y=(0,j.useCallback)(async e=>{if(t?.organizations){await t.organizations.setActive(e),await _();try{localStorage.setItem(FM,e)}catch{}}},[t,_]),b=(0,j.useMemo)(()=>({user:n,session:i,loading:o,error:c,refresh:_,logout:v,setActiveOrganization:y,organizations:u,organizationsLoading:f,organizationsFetched:m,reloadOrganizations:g}),[n,i,o,c,_,v,y,u,f,m,g]);return(0,j.createElement)(NM.Provider,{value:b},e)}function zM(){let e=(0,j.useContext)(NM);if(!e)throw Error(`useSession must be used inside <SessionProvider>.`);return e}function BM(){let{organizations:e,organizationsLoading:t,reloadOrganizations:n}=zM();return{organizations:e,loading:t,error:null,reload:n}}function VM(){let e=Rg(),[t,n]=(0,j.useState)(!1),[r,i]=(0,j.useState)(null);return{create:(0,j.useCallback)(async t=>{if(!e?.organizations)throw Error(`Client not ready`);n(!0),i(null);try{return await e.organizations.create(t)}catch(e){throw i(e),e}finally{n(!1)}},[e]),creating:t,error:r}}function HM(){let e=Rg(),{reloadOrganizations:t,refresh:n}=zM(),[r,i]=(0,j.useState)(!1),[a,o]=(0,j.useState)(null);return{update:(0,j.useCallback)(async(r,a)=>{if(!e?.organizations?.update)throw Error(`Client not ready`);i(!0),o(null);try{let i=await e.organizations.update(r,a);return await t(),await n(),i}catch(e){throw o(e),e}finally{i(!1)}},[e,t,n]),updating:r,error:a}}function UM(){let e=Rg(),{reloadOrganizations:t,refresh:n}=zM(),[r,i]=(0,j.useState)(!1),[a,o]=(0,j.useState)(null);return{remove:(0,j.useCallback)(async r=>{if(!e?.organizations?.delete)throw Error(`Client not ready`);i(!0),o(null);try{let i=await e.organizations.delete(r);return await t(),await n(),i}catch(e){throw o(e),e}finally{i(!1)}},[e,t,n]),deleting:r,error:a}}function WM(e,t){let n=(e||t||`?`).trim(),r=n.split(/\s+/);return r.length>=2?(r[0][0]+r[1][0]).toUpperCase():n.slice(0,2).toUpperCase()}function GM(){let{t:e}=vt(),t=N(),{user:n,loading:r,logout:i}=zM();return r&&!n?(0,M.jsx)(`div`,{className:`h-8 w-8 animate-pulse rounded-full bg-muted`,"aria-hidden":!0}):n?(0,M.jsxs)(Hj,{children:[(0,M.jsx)(Uj,{asChild:!0,children:(0,M.jsx)(Q,{variant:`ghost`,size:`icon`,className:`h-8 w-8 rounded-full`,children:(0,M.jsxs)(AM,{className:`h-7 w-7`,children:[n.image?(0,M.jsx)(jM,{src:n.image,alt:n.name??n.email??e(`userMenu.user`)}):null,(0,M.jsx)(MM,{className:`text-[11px]`,children:WM(n.name,n.email)})]})})}),(0,M.jsxs)(Kj,{align:`end`,className:`w-64`,children:[(0,M.jsx)(Xj,{children:(0,M.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,M.jsx)(`span`,{className:`truncate text-sm font-medium`,children:n.name||n.email}),n.email&&(0,M.jsx)(`span`,{className:`truncate text-[11px] text-muted-foreground`,children:n.email})]})}),(0,M.jsx)(Zj,{}),(0,M.jsxs)(qj,{onSelect:()=>t({to:`/account`}),children:[(0,M.jsx)(Hy,{className:`mr-2 h-3.5 w-3.5`}),e(`userMenu.account`)]}),(0,M.jsxs)(qj,{onSelect:()=>t({to:`/organizations`}),children:[(0,M.jsx)(ny,{className:`mr-2 h-3.5 w-3.5`}),e(`userMenu.organizations`)]}),(0,M.jsx)(Zj,{}),(0,M.jsxs)(qj,{onSelect:async()=>{try{await i()}finally{t({to:`/login`,replace:!0})}},children:[(0,M.jsx)(Cy,{className:`mr-2 h-3.5 w-3.5`}),e(`userMenu.signOut`)]})]})]}):(0,M.jsx)(Q,{variant:`outline`,size:`sm`,className:`h-8`,onClick:()=>t({to:`/login`}),children:e(`userMenu.signIn`)})}function KM(){let{t:e}=vt(),t=N(),n=Ea(),{organizations:r,loading:i,reload:a}=BM(),{session:o,setActiveOrganization:s}=zM(),[c,l]=(0,j.useState)(!1),[u,d]=(0,j.useState)(!1),f=o?.activeOrganizationId??void 0,p=(0,j.useMemo)(()=>r.find(e=>e.id===f)??null,[r,f]),m=async r=>{if(l(!1),r===f){t({to:`/organizations/$orgId/general`,params:{orgId:r}});return}d(!0);try{await s(r),await a(),q({title:e(`organizations.general.switched`)});let i=n.pathname.match(/^\/organizations\/[^/]+\/(general|members)\/?$/);t({to:(i?i[1]:`general`)===`members`?`/organizations/$orgId/members`:`/organizations/$orgId/general`,params:{orgId:r}})}catch(t){q({title:e(`organizations.switchFailed`),description:t.message,variant:`destructive`})}finally{d(!1)}};return(0,M.jsxs)(Hj,{open:c,onOpenChange:l,children:[(0,M.jsx)(Uj,{asChild:!0,children:(0,M.jsxs)(Q,{variant:`ghost`,size:`sm`,className:`h-8 gap-2 px-2 text-sm font-medium`,disabled:u,children:[p?(0,M.jsx)(`span`,{className:`max-w-[160px] truncate`,children:p.name}):(0,M.jsx)(`span`,{className:`text-muted-foreground`,children:e(i?`organizations.loading`:`organizationSwitcher.select`)}),(0,M.jsx)(sy,{className:`h-3 w-3 opacity-50`})]})}),(0,M.jsxs)(Kj,{align:`start`,className:`w-[280px]`,sideOffset:4,children:[(0,M.jsx)(Xj,{className:`text-[10px] uppercase tracking-wider text-muted-foreground`,children:e(`organizations.title`)}),r.length===0&&!i&&(0,M.jsx)(`div`,{className:`px-3 py-4 text-center text-xs text-muted-foreground`,children:e(`organizations.emptyTitle`)}),r.map(e=>(0,M.jsxs)(qj,{onSelect:t=>{t.preventDefault(),m(e.id)},className:`flex items-center gap-2`,children:[(0,M.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,M.jsx)(`div`,{className:`truncate font-medium`,children:e.name}),e.slug&&(0,M.jsx)(`code`,{className:`text-[11px] text-muted-foreground font-mono`,children:e.slug})]}),e.id===f&&(0,M.jsx)(ry,{className:`h-3.5 w-3.5 text-primary`})]},e.id)),(0,M.jsx)(Zj,{}),(0,M.jsxs)(qj,{onSelect:e=>{e.preventDefault(),l(!1),t({to:`/organizations/new`})},className:`gap-2 text-sm`,children:[(0,M.jsx)(Oy,{className:`h-3.5 w-3.5`}),e(`organizationSwitcher.new`)]}),(0,M.jsx)(qj,{onSelect:e=>{e.preventDefault(),l(!1),t({to:`/organizations`})},className:`gap-2 text-sm text-muted-foreground`,children:e(`organizationSwitcher.manage`)})]})]})}function qM({label:e}){return(0,M.jsx)(ta,{to:`/account`,className:`flex h-8 w-8 items-center justify-center rounded-md bg-brand-gradient text-primary-foreground shadow-sm shadow-primary/30 ring-1 ring-white/15 transition-transform hover:scale-105`,"aria-label":e,children:(0,M.jsx)(ly,{className:`h-4 w-4`})})}function JM(){return(0,M.jsx)(ay,{"aria-hidden":!0,className:`size-3.5 shrink-0 text-muted-foreground/50`})}function YM(){let{t:e}=vt(),t=Ea(),n=zi({strict:!1}),r=(0,j.useMemo)(()=>{let r=t.pathname,i=t=>e(`topBar.breadcrumb.${t}`);if(r.startsWith(`/account`)){let e=[{label:i(`account`)}];return r===`/account/profile`?e.push({label:i(`profile`)}):r===`/account/security`?e.push({label:i(`security`)}):r===`/account/sessions`?e.push({label:i(`sessions`)}):r===`/account/two-factor`?e.push({label:i(`twoFactor`)}):r===`/account/oauth-applications`?e.push({label:i(`oauthApps`)}):r===`/account/oauth-applications/new`?e.push({label:i(`oauthApps`)},{label:i(`new`)}):r.startsWith(`/account/oauth-applications/`)&&e.push({label:i(`oauthApps`)}),e}if(r===`/organizations/new`)return[{label:i(`organizations`)},{label:i(`new`)}];if(n.orgId){let e=r.endsWith(`/general`)?i(`general`):r.endsWith(`/members`)?i(`members`):i(`settings`);return[{label:i(`organizations`)},{label:e}]}return r===`/organizations`||r.startsWith(`/organizations/`)?[{label:i(`organizations`)}]:r.startsWith(`/accept-invitation/`)?[{label:i(`acceptInvitation`)}]:r.startsWith(`/auth/device`)?[{label:i(`deviceAuthorization`)}]:[{label:i(`account`)}]},[t.pathname,n.orgId,e]);return(0,M.jsxs)(`header`,{className:`sticky top-0 z-30 flex h-14 shrink-0 items-center justify-between gap-2 border-b bg-background/80 px-2 backdrop-blur supports-[backdrop-filter]:bg-background/70 sm:px-4`,children:[(0,M.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5 sm:gap-2.5`,children:[(0,M.jsx)(`div`,{className:`sm:hidden`,children:(0,M.jsx)(hO,{className:`h-9 w-9`})}),(0,M.jsx)(qM,{label:e(`topBar.accountHome`)}),(0,M.jsx)(`span`,{className:`hidden text-sm font-semibold tracking-tight sm:inline`,children:e(`topBar.brand`)}),(0,M.jsxs)(`div`,{className:`hidden items-center gap-1.5 sm:flex`,children:[(0,M.jsx)(Yx,{orientation:`vertical`,className:`mx-1 h-4`}),(0,M.jsx)(KM,{}),(0,M.jsx)(JM,{}),(0,M.jsx)(RO,{children:(0,M.jsx)(zO,{children:r.map((e,t)=>(0,M.jsxs)(`div`,{className:`flex items-center`,children:[t>0&&(0,M.jsx)(UO,{}),(0,M.jsx)(BO,{children:(0,M.jsx)(HO,{className:`font-medium`,children:e.label})})]},t))})})]}),(0,M.jsx)(`div`,{className:`min-w-0 flex-1 sm:hidden`,children:r.length>0&&(0,M.jsx)(`span`,{className:`truncate text-sm font-medium`,children:r[r.length-1].label})})]}),(0,M.jsxs)(`div`,{className:`flex items-center gap-1 sm:gap-2`,children:[(0,M.jsx)(`div`,{className:`hidden sm:block`,children:(0,M.jsx)(cM,{})}),(0,M.jsx)(`div`,{className:`hidden sm:block`,children:(0,M.jsx)(uM,{})}),(0,M.jsx)(GM,{})]})]})}var XM=[{to:`/account`,label:`home`,icon:_y,exact:!0},{to:`/account/profile`,label:`profile`,icon:Hy},{to:`/account/security`,label:`security`,icon:Ny},{to:`/account/sessions`,label:`sessions`,icon:Ty},{to:`/account/two-factor`,label:`twoFactor`,icon:My},{to:`/account/invitations`,label:`invitations`,icon:vy},{to:`/account/linked-accounts`,label:`linkedAccounts`,icon:Sy}],ZM=[`group/nav relative transition-all duration-150`,`before:absolute before:left-0 before:top-1/2 before:h-5 before:w-[3px] before:-translate-y-1/2 before:rounded-r-full before:bg-brand-gradient before:opacity-0 before:transition-opacity`,`data-[active=true]:before:opacity-100`,`data-[active=true]:bg-sidebar-accent/80 data-[active=true]:text-sidebar-accent-foreground`,`[&>svg]:transition-transform [&>svg]:duration-150 hover:[&>svg]:scale-110`,`data-[active=true]:[&>svg]:text-primary`].join(` `);function QM(){let{t:e}=vt(),{pathname:t}=Ea(),{organizations:n}=BM(),r=t,i=t.match(/^\/organizations\/([^/]+)(?:\/.*)?$/),a=i&&n.some(e=>e.id===i[1])?i[1]:null;return(0,M.jsxs)(mO,{collapsible:`icon`,className:`h-full`,children:[(0,M.jsxs)(SO,{children:[(0,M.jsxs)(CO,{children:[(0,M.jsx)(wO,{children:e(`sidebar.groups.account`)}),(0,M.jsx)(EO,{children:(0,M.jsx)(DO,{children:XM.map(t=>{let n=t.icon;return(0,M.jsx)(OO,{children:(0,M.jsx)(kO,{asChild:!0,isActive:t.exact?r===t.to||r===`${t.to}/`:r===t.to||r.startsWith(`${t.to}/`),tooltip:e(`sidebar.items.${t.label}`),className:ZM,children:(0,M.jsxs)(ta,{to:t.to,children:[(0,M.jsx)(n,{className:`size-4`}),(0,M.jsx)(`span`,{children:e(`sidebar.items.${t.label}`)})]})})},t.to)})})})]}),(0,M.jsx)(xO,{}),(0,M.jsxs)(CO,{children:[(0,M.jsx)(wO,{children:e(`sidebar.groups.organization`)}),(0,M.jsx)(EO,{children:(0,M.jsxs)(DO,{children:[(0,M.jsx)(OO,{children:(0,M.jsx)(kO,{asChild:!0,isActive:t===`/organizations`,tooltip:e(`sidebar.items.overview`),className:ZM,children:(0,M.jsxs)(ta,{to:`/organizations`,children:[(0,M.jsx)(ny,{className:`size-4`}),(0,M.jsx)(`span`,{children:e(`sidebar.items.overview`)})]})})}),a&&(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(OO,{children:(0,M.jsx)(kO,{asChild:!0,isActive:t===`/organizations/${a}/general`,tooltip:e(`sidebar.items.general`),className:ZM,children:(0,M.jsxs)(ta,{to:`/organizations/$orgId/general`,params:{orgId:a},children:[(0,M.jsx)(jy,{className:`size-4`}),(0,M.jsx)(`span`,{children:e(`sidebar.items.general`)})]})})}),(0,M.jsx)(OO,{children:(0,M.jsx)(kO,{asChild:!0,isActive:t===`/organizations/${a}/members`,tooltip:e(`sidebar.items.members`),className:ZM,children:(0,M.jsxs)(ta,{to:`/organizations/$orgId/members`,params:{orgId:a},children:[(0,M.jsx)(Wy,{className:`size-4`}),(0,M.jsx)(`span`,{children:e(`sidebar.items.members`)})]})})}),(0,M.jsx)(OO,{children:(0,M.jsx)(kO,{asChild:!0,isActive:t===`/organizations/${a}/teams`,tooltip:e(`sidebar.items.teams`),className:ZM,children:(0,M.jsxs)(ta,{to:`/organizations/$orgId/teams`,params:{orgId:a},children:[(0,M.jsx)(Uy,{className:`size-4`}),(0,M.jsx)(`span`,{children:e(`sidebar.items.teams`)})]})})})]})]})})]}),(0,M.jsx)(xO,{}),(0,M.jsxs)(CO,{children:[(0,M.jsx)(wO,{children:e(`sidebar.groups.developer`)}),(0,M.jsx)(EO,{children:(0,M.jsx)(DO,{children:(0,M.jsx)(OO,{children:(0,M.jsx)(kO,{asChild:!0,isActive:t.startsWith(`/account/oauth-applications`),tooltip:e(`sidebar.items.oauthApps`),className:ZM,children:(0,M.jsxs)(ta,{to:`/account/oauth-applications`,children:[(0,M.jsx)(yy,{className:`size-4`}),(0,M.jsx)(`span`,{children:e(`sidebar.items.oauthApps`)})]})})})})})]})]}),(0,M.jsx)(bO,{children:(0,M.jsx)(DO,{children:(0,M.jsx)(OO,{children:(0,M.jsx)($M,{})})})})]})}function $M(){let{t:e}=vt(),{state:t,toggleSidebar:n}=fO(),r=e(t===`collapsed`?`sidebar.expand`:`sidebar.collapse`);return(0,M.jsx)(kO,{onClick:n,tooltip:r,"aria-label":r,children:(0,M.jsx)(Dy,{className:`size-4`})})}function eN(){return typeof window<`u`&&window.location.pathname.startsWith(`/_account`)?window.location.origin:`http://localhost:3000`}var tN=new Set([`/login`,`/register`,`/forgot-password`,`/reset-password`,`/verify-email`,`/auth/device`,`/setup`]);function nN(e){return tN.has(e)||e.startsWith(`/accept-invitation/`)}function rN(){let[e,t]=(0,j.useState)(null);return(0,j.useEffect)(()=>{let e=!1;return(async()=>{try{let n=await fetch(`/api/v1/auth/bootstrap-status`);if(!n.ok){e||t(!0);return}let r=await n.json();e||t(r.hasOwner!==!1)}catch{e||t(!0)}})(),()=>{e=!0}},[]),e}function iN({children:e}){let{user:t,loading:n}=zM(),r=N(),i=Ea(),a=nN(i.pathname),o=i.pathname.startsWith(`/oauth/`),s=rN(),c=i.pathname===`/setup`;return(0,j.useEffect)(()=>{s===!1&&!c&&!t&&r({to:`/setup`,replace:!0})},[s,c,t,r]),(0,j.useEffect)(()=>{n||s!==!1&&!t&&!a&&r({to:`/login`,search:{redirect:i.pathname+i.searchStr},replace:!0})},[t,n,a,r,i.pathname,i.searchStr,s]),s===null||n&&!t?(0,M.jsx)(`div`,{className:`flex min-h-screen w-full flex-1 items-center justify-center bg-background`,children:(0,M.jsx)(`div`,{className:`h-8 w-8 animate-spin rounded-full border-4 border-muted border-t-primary`})}):s===!1&&!c||!t&&!a?null:a||o?(0,M.jsx)(`div`,{className:`flex min-h-screen w-full`,children:e}):(0,M.jsxs)(pO,{className:`flex h-svh w-full flex-col`,children:[(0,M.jsx)(YM,{}),(0,M.jsxs)(`div`,{className:`flex min-h-0 flex-1 w-full`,children:[(0,M.jsx)(QM,{}),(0,M.jsx)(_O,{className:`flex min-w-0 flex-1 flex-col overflow-hidden`,children:(0,M.jsx)(`main`,{className:`flex min-h-0 flex-1 flex-col overflow-auto bg-background`,children:e})})]})]})}function aN(){let e=eN();return(0,M.jsx)(Lg,{client:(0,j.useMemo)(()=>new Pg({baseUrl:e}),[e]),children:(0,M.jsxs)(RM,{children:[(0,M.jsx)(iN,{children:(0,M.jsx)(_a,{})}),(0,M.jsx)(Ex,{})]})})}var oN=oa({component:aN}),$=j.forwardRef(({className:e,...t},n)=>(0,M.jsx)(`div`,{ref:n,className:Z(`rounded-lg border bg-card text-card-foreground shadow-sm`,e),...t}));$.displayName=`Card`;var sN=j.forwardRef(({className:e,...t},n)=>(0,M.jsx)(`div`,{ref:n,className:Z(`flex flex-col space-y-1.5 p-6`,e),...t}));sN.displayName=`CardHeader`;var cN=j.forwardRef(({className:e,...t},n)=>(0,M.jsx)(`h3`,{ref:n,className:Z(`text-2xl font-semibold leading-none tracking-tight`,e),...t}));cN.displayName=`CardTitle`;var lN=j.forwardRef(({className:e,...t},n)=>(0,M.jsx)(`p`,{ref:n,className:Z(`text-sm text-muted-foreground`,e),...t}));lN.displayName=`CardDescription`;var uN=j.forwardRef(({className:e,...t},n)=>(0,M.jsx)(`div`,{ref:n,className:Z(`p-6 pt-0`,e),...t}));uN.displayName=`CardContent`;var dN=j.forwardRef(({className:e,...t},n)=>(0,M.jsx)(`div`,{ref:n,className:Z(`flex items-center p-6 pt-0`,e),...t}));dN.displayName=`CardFooter`;function fN({children:e,headline:t,subline:n,formWidth:r=`sm`}){let{t:i}=vt();return(0,M.jsxs)(`div`,{className:`relative grid min-h-svh w-full lg:grid-cols-2`,children:[(0,M.jsx)(`div`,{className:`flex flex-col items-center justify-center gap-6 bg-background p-6 md:p-10`,children:(0,M.jsxs)(`div`,{className:Z(`flex w-full flex-col gap-6`,r===`md`?`max-w-md`:`max-w-sm`),children:[(0,M.jsxs)(`a`,{href:`#`,className:`flex items-center gap-2 self-center font-semibold tracking-tight`,children:[(0,M.jsx)(`div`,{className:`flex size-7 items-center justify-center rounded-md bg-brand-gradient text-primary-foreground shadow-sm shadow-primary/30`,children:(0,M.jsx)(hy,{className:`size-4`})}),(0,M.jsx)(`span`,{children:`ObjectStack`})]}),e]})}),(0,M.jsxs)(`aside`,{"aria-hidden":!0,className:`relative hidden overflow-hidden bg-brand-mesh text-white lg:flex lg:flex-col lg:justify-between lg:p-12`,children:[(0,M.jsx)(`div`,{className:`pointer-events-none absolute inset-0 opacity-[0.12]`,style:{backgroundImage:`linear-gradient(rgba(255,255,255,0.6) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.6) 1px, transparent 1px)`,backgroundSize:`48px 48px`,maskImage:`radial-gradient(ellipse at center, black 40%, transparent 75%)`}}),(0,M.jsx)(`div`,{className:`pointer-events-none absolute -left-24 top-1/3 size-[28rem] rounded-full bg-white/15 blur-3xl`}),(0,M.jsx)(`div`,{className:`pointer-events-none absolute -right-20 -bottom-20 size-[24rem] rounded-full bg-white/10 blur-3xl`}),(0,M.jsxs)(`div`,{className:`relative flex items-center gap-2 text-sm font-semibold tracking-tight`,children:[(0,M.jsx)(`div`,{className:`flex size-7 items-center justify-center rounded-md bg-white/15 ring-1 ring-white/30 backdrop-blur`,children:(0,M.jsx)(hy,{className:`size-4`})}),`ObjectStack`]}),(0,M.jsxs)(`div`,{className:`relative max-w-md space-y-5`,children:[(0,M.jsx)(`h2`,{className:`text-balance text-3xl font-semibold leading-tight tracking-tight md:text-4xl`,children:t??i(`auth.login.brandHeadline`,{defaultValue:`The AI-native backend for business software.`})}),(0,M.jsx)(`p`,{className:`text-balance text-base/relaxed text-white/80`,children:n??i(`auth.login.brandSubline`,{defaultValue:`One identity, every workspace. Sign in to manage your account, organizations and connected apps.`})})]}),(0,M.jsxs)(`div`,{className:`relative text-xs text-white/60`,children:[`© `,new Date().getFullYear(),` ObjectStack`]})]})]})}var pN=sa(`/verify-email`)({validateSearch:e=>{let t=e.token;return typeof t==`string`?{token:t}:{}},component:mN});function mN(){let{t:e}=vt(),{token:t}=pN.useSearch(),n=Rg(),[r,i]=(0,j.useState)(`loading`),[a,o]=(0,j.useState)(``);return(0,j.useEffect)(()=>{if(!t){i(`error`),o(e(`auth.verifyEmail.missingToken`));return}let r=!1;return(async()=>{try{await n.auth.verifyEmail({token:t}),r||i(`success`)}catch(t){r||(i(`error`),o(t.message||e(`auth.verifyEmail.errorDescription`)))}})(),()=>{r=!0}},[t,e,n]),(0,M.jsx)(fN,{headline:e(`auth.verifyEmail.brandHeadline`,{defaultValue:`One more step to get started.`}),subline:e(`auth.verifyEmail.brandSubline`,{defaultValue:`Verifying your email keeps your ObjectStack account secure.`}),children:(0,M.jsxs)($,{className:`border-border/60 shadow-sm shadow-primary/5 backdrop-blur supports-[backdrop-filter]:bg-card/95`,children:[r===`loading`&&(0,M.jsxs)(M.Fragment,{children:[(0,M.jsxs)(sN,{className:`text-center`,children:[(0,M.jsx)(cN,{className:`text-xl tracking-tight`,children:e(`auth.verifyEmail.verifyingTitle`)}),(0,M.jsx)(lN,{children:e(`auth.verifyEmail.verifyingDescription`)})]}),(0,M.jsx)(uN,{className:`flex justify-center py-6`,children:(0,M.jsx)(`div`,{className:`h-10 w-10 animate-spin rounded-full border-4 border-muted border-t-primary`})})]}),r===`success`&&(0,M.jsxs)(M.Fragment,{children:[(0,M.jsxs)(sN,{className:`text-center`,children:[(0,M.jsx)(`div`,{className:`mx-auto mb-2 flex size-12 items-center justify-center rounded-full bg-emerald-500/10 text-emerald-500 ring-1 ring-emerald-500/30`,children:(0,M.jsx)(cy,{className:`size-6`})}),(0,M.jsx)(cN,{className:`text-xl tracking-tight`,children:e(`auth.verifyEmail.successTitle`)}),(0,M.jsx)(lN,{children:e(`auth.verifyEmail.successDescription`)})]}),(0,M.jsx)(uN,{className:`text-center`,children:(0,M.jsx)(ta,{to:`/login`,className:`text-sm font-medium text-primary underline-offset-4 hover:underline`,children:e(`auth.verifyEmail.signInLink`)})})]}),r===`error`&&(0,M.jsxs)(M.Fragment,{children:[(0,M.jsxs)(sN,{className:`text-center`,children:[(0,M.jsx)(`div`,{className:`mx-auto mb-2 flex size-12 items-center justify-center rounded-full bg-destructive/10 text-destructive ring-1 ring-destructive/30`,children:(0,M.jsx)(uy,{className:`size-6`})}),(0,M.jsx)(cN,{className:`text-xl tracking-tight`,children:e(`auth.verifyEmail.errorTitle`)}),(0,M.jsx)(lN,{children:a||e(`auth.verifyEmail.errorDescription`)})]}),(0,M.jsx)(uN,{className:`text-center`,children:(0,M.jsx)(ta,{to:`/login`,className:`text-sm font-medium text-primary underline-offset-4 hover:underline`,children:e(`auth.verifyEmail.backToSignIn`)})})]})]})})}var hN=`Label`,gN=j.forwardRef((e,t)=>(0,M.jsx)(Hx.label,{...e,ref:t,onMouseDown:t=>{t.target.closest(`button, input, select, textarea`)||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));gN.displayName=hN;var _N=gN,vN=Wv(`text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70`),yN=j.forwardRef(({className:e,...t},n)=>(0,M.jsx)(_N,{ref:n,className:Z(vN(),e),...t}));yN.displayName=_N.displayName;var bN=sa(`/setup`)({component:SN});function xN(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``)}function SN(){let{t:e}=vt(),t=N(),n=Rg(),{user:r,refresh:i}=zM(),[a,o]=(0,j.useState)(``),[s,c]=(0,j.useState)(``),[l,u]=(0,j.useState)(``),[d,f]=(0,j.useState)(``),[p,m]=(0,j.useState)(!1),[h,g]=(0,j.useState)(null);return(0,j.useEffect)(()=>{let e=!1;return(async()=>{try{let{hasOwner:t}=await n.auth.bootstrapStatus();e||g(t)}catch{e||g(!1)}})(),()=>{e=!0}},[n]),(0,j.useEffect)(()=>{h===!0&&!r&&t({to:`/login`,replace:!0})},[h,r,t]),(0,j.useEffect)(()=>{r&&window.location.assign(`/`)},[r]),h===null?(0,M.jsx)(`div`,{className:`flex min-h-svh w-full items-center justify-center bg-muted`,children:(0,M.jsx)(`div`,{className:`h-8 w-8 animate-spin rounded-full border-4 border-muted-foreground/20 border-t-primary`})}):(0,M.jsx)(`div`,{className:`flex min-h-svh w-full items-center justify-center bg-muted p-6`,children:(0,M.jsxs)(`div`,{className:`flex w-full max-w-md flex-col gap-6`,children:[(0,M.jsxs)(`a`,{href:`#`,className:`flex items-center gap-2 self-center font-medium`,children:[(0,M.jsx)(`div`,{className:`flex size-6 items-center justify-center rounded-md bg-primary text-primary-foreground`,children:(0,M.jsx)(hy,{className:`size-4`})}),`ObjectStack`]}),(0,M.jsxs)($,{children:[(0,M.jsxs)(sN,{className:`text-center`,children:[(0,M.jsx)(cN,{children:e(`auth.setup.welcomeTitle`)}),(0,M.jsx)(lN,{children:e(`auth.setup.description`)})]}),(0,M.jsx)(uN,{children:(0,M.jsxs)(`form`,{onSubmit:async t=>{if(t.preventDefault(),n?.auth){m(!0);try{await n.auth.register({name:a,email:s,password:l}),await i();let e=d.trim();if(e)try{let{organizations:t}=await n.organizations.list(),r=t?.[0],i;if(r?.id)await n.organizations.update(r.id,{name:e,slug:xN(e)}),i=r.id;else{let t=await n.organizations.create({name:e,slug:xN(e)});i=t?.id??t?.data?.id}i&&await n.organizations.setActive(i).catch(()=>{})}catch(e){console.warn(`[setup] organization rename/create failed`,e)}window.location.assign(`/`)}catch(t){q({title:e(`auth.setup.failed`),description:t.message,variant:`destructive`})}finally{m(!1)}}},className:`flex flex-col gap-4`,children:[(0,M.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,M.jsx)(yN,{htmlFor:`name`,children:e(`auth.setup.yourName`)}),(0,M.jsx)(Vx,{id:`name`,autoComplete:`name`,required:!0,value:a,onChange:e=>o(e.target.value)})]}),(0,M.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,M.jsx)(yN,{htmlFor:`orgName`,children:e(`auth.setup.orgName`)}),(0,M.jsx)(Vx,{id:`orgName`,required:!0,placeholder:e(`auth.setup.orgNamePlaceholder`),value:d,onChange:e=>f(e.target.value)})]}),(0,M.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,M.jsx)(yN,{htmlFor:`email`,children:e(`auth.emailLabel`)}),(0,M.jsx)(Vx,{id:`email`,type:`email`,placeholder:e(`auth.emailPlaceholder`),autoComplete:`email`,required:!0,value:s,onChange:e=>c(e.target.value)})]}),(0,M.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,M.jsx)(yN,{htmlFor:`password`,children:e(`auth.passwordLabel`)}),(0,M.jsx)(Vx,{id:`password`,type:`password`,autoComplete:`new-password`,required:!0,minLength:8,placeholder:e(`auth.setup.passwordHint`),value:l,onChange:e=>u(e.target.value)})]}),(0,M.jsx)(Q,{type:`submit`,className:`mt-2 w-full`,disabled:p,children:e(p?`auth.setup.submitting`:`auth.setup.submit`)})]})})]})]})})}var CN=sa(`/reset-password`)({validateSearch:e=>{let t=e.token;return typeof t==`string`?{token:t}:{}},component:wN});function wN(){let{t:e}=vt(),t=N(),{token:n}=CN.useSearch(),[r,i]=(0,j.useState)(``),[a,o]=(0,j.useState)(``),[s,c]=(0,j.useState)(!1);return(0,M.jsx)(fN,{headline:e(`auth.resetPassword.brandHeadline`,{defaultValue:`Choose a new password.`}),subline:e(`auth.resetPassword.brandSubline`,{defaultValue:`Make it strong — at least 8 characters with a mix of letters and numbers.`}),children:(0,M.jsxs)($,{className:`border-border/60 shadow-sm shadow-primary/5 backdrop-blur supports-[backdrop-filter]:bg-card/95`,children:[(0,M.jsxs)(sN,{className:`text-center`,children:[(0,M.jsx)(cN,{className:`text-xl tracking-tight`,children:e(`auth.resetPassword.title`)}),(0,M.jsx)(lN,{children:e(`auth.resetPassword.description`)})]}),(0,M.jsx)(uN,{children:n?(0,M.jsxs)(`form`,{onSubmit:async i=>{if(i.preventDefault(),r!==a){q({title:e(`auth.resetPassword.passwordsMismatch`),variant:`destructive`});return}if(!n){q({title:e(`auth.resetPassword.missingToken`),variant:`destructive`});return}c(!0);try{let i=await fetch(`/api/v1/auth/reset-password`,{method:`POST`,headers:{"Content-Type":`application/json`},credentials:`include`,body:JSON.stringify({token:n,newPassword:r})});if(!i.ok){let e=await i.json().catch(()=>({}));throw Error(e?.message||`Request failed: ${i.status}`)}q({title:e(`auth.resetPassword.success`)}),t({to:`/login`})}catch(t){q({title:e(`auth.resetPassword.failed`),description:t.message,variant:`destructive`})}finally{c(!1)}},className:`flex flex-col gap-4`,children:[(0,M.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,M.jsx)(yN,{htmlFor:`new-password`,children:e(`auth.resetPassword.newPassword`)}),(0,M.jsx)(Vx,{id:`new-password`,type:`password`,autoComplete:`new-password`,required:!0,minLength:8,value:r,onChange:e=>i(e.target.value)})]}),(0,M.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,M.jsx)(yN,{htmlFor:`confirm-password`,children:e(`auth.resetPassword.confirmPassword`)}),(0,M.jsx)(Vx,{id:`confirm-password`,type:`password`,autoComplete:`new-password`,required:!0,minLength:8,value:a,onChange:e=>o(e.target.value)})]}),(0,M.jsx)(Q,{type:`submit`,className:`w-full bg-brand-gradient text-primary-foreground shadow-sm shadow-primary/20 transition-all hover:opacity-95 hover:shadow-md hover:shadow-primary/30`,disabled:s,children:e(s?`auth.resetPassword.submitting`:`auth.resetPassword.submit`)})]}):(0,M.jsxs)(`p`,{className:`text-sm text-muted-foreground text-center`,children:[e(`auth.resetPassword.invalidToken`),` `,(0,M.jsx)(ta,{to:`/forgot-password`,className:`font-medium text-primary underline-offset-4 hover:underline`,children:e(`auth.resetPassword.requestNewLink`)})]})})]})})}function TN({mode:e,redirect:t}){let{t:n}=vt(),r=Rg(),[i,a]=(0,j.useState)([]),[o,s]=(0,j.useState)(!0);if((0,j.useEffect)(()=>{r?.auth?.getConfig&&r.auth.getConfig().then(e=>{a((e?.socialProviders??e?.data?.socialProviders??[]).filter(e=>e.enabled))}).catch(e=>{console.warn(`[SocialSignInButtons] failed to load auth config`,e)}).finally(()=>s(!1))},[r]),o||i.length===0)return null;let c=n(e===`sign-in`?`auth.social.continueWith`:`auth.social.signUpWith`),l=window.location.origin+`/_account/login`+(t?`?redirect=${encodeURIComponent(t)}`:``);return(0,M.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[i.map(e=>(0,M.jsxs)(Q,{type:`button`,variant:`outline`,className:`w-full`,onClick:()=>r.auth.signInWithProvider(e.id,{callbackURL:l,errorCallbackURL:l,type:e.type??`social`}),children:[(0,M.jsx)(`span`,{className:`mr-2 flex h-4 w-4 items-center justify-center rounded-sm bg-muted text-[10px] font-bold uppercase`,children:e.id[0]}),c,` `,e.name]},e.id)),(0,M.jsxs)(`div`,{className:`relative my-1`,children:[(0,M.jsx)(`div`,{className:`absolute inset-0 flex items-center`,children:(0,M.jsx)(`span`,{className:`w-full border-t`})}),(0,M.jsx)(`div`,{className:`relative flex justify-center text-xs uppercase`,children:(0,M.jsx)(`span`,{className:`bg-card px-2 text-muted-foreground`,children:n(`auth.social.orContinueEmail`)})})]})]})}var EN=sa(`/register`)({validateSearch:e=>{let t=e.redirect;return typeof t==`string`?{redirect:t}:{}},component:kN});function DN(e){return!!e&&e.startsWith(`/`)&&!e.startsWith(`//`)}function ON(e){return e.startsWith(`/_`)?e:`/_account/`.replace(/\/$/,``)+e}function kN(){let{t:e}=vt(),t=N(),{redirect:n}=EN.useSearch(),r=Rg(),{session:i,user:a,loading:o,refresh:s,organizations:c,organizationsLoading:l,organizationsFetched:u,setActiveOrganization:d}=zM(),[f,p]=(0,j.useState)(``),[m,h]=(0,j.useState)(``),[g,_]=(0,j.useState)(``),[v,y]=(0,j.useState)(!1),[b,x]=(0,j.useState)(!1);return(0,j.useEffect)(()=>{if(a){if(typeof window<`u`){let e=new URLSearchParams(window.location.search);if(e.has(`client_id`)&&e.has(`redirect_uri`)){window.location.assign(`/api/v1/auth/oauth2/authorize${window.location.search}`);return}}if(!i?.activeOrganizationId){if(!u||l||b)return;if(c.length===1){x(!0),d(c[0].id).catch(()=>void 0).finally(()=>x(!1));return}if(c.length>1){t({to:`/organizations`});return}t({to:`/organizations/new`});return}if(!b){if(DN(n)){window.location.assign(ON(n));return}window.location.assign(`/`)}}},[a,i,t,n,c,l,u,b,d]),(0,M.jsx)(fN,{headline:e(`auth.register.brandHeadline`,{defaultValue:`Create your ObjectStack account.`}),subline:e(`auth.register.brandSubline`,{defaultValue:`One identity for every workspace, app and integration in your stack.`}),children:o||a?(0,M.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-10 text-sm text-muted-foreground`,children:[(0,M.jsx)(`div`,{className:`size-6 animate-spin rounded-full border-2 border-muted-foreground border-t-transparent`}),(0,M.jsx)(`span`,{children:a?e(`auth.register.signingIn`,{defaultValue:`Setting up your account…`}):e(`auth.login.redirecting`,{defaultValue:`Loading…`})})]}):(0,M.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,M.jsxs)($,{className:`border-border/60 shadow-sm shadow-primary/5 backdrop-blur supports-[backdrop-filter]:bg-card/95`,children:[(0,M.jsxs)(sN,{className:`text-center`,children:[(0,M.jsx)(cN,{className:`text-xl tracking-tight`,children:e(`auth.register.title`)}),(0,M.jsx)(lN,{children:e(`auth.register.description`)})]}),(0,M.jsx)(uN,{children:(0,M.jsx)(`form`,{onSubmit:async t=>{if(t.preventDefault(),r?.auth){y(!0);try{await r.auth.register({name:f,email:m,password:g}),await s(),q({title:e(`auth.register.successToast`)})}catch(t){q({title:e(`auth.register.failed`),description:t.message,variant:`destructive`})}finally{y(!1)}}},children:(0,M.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,M.jsx)(TN,{mode:`sign-up`,redirect:n}),(0,M.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,M.jsx)(yN,{htmlFor:`name`,children:e(`auth.nameLabel`)}),(0,M.jsx)(Vx,{id:`name`,autoComplete:`name`,required:!0,value:f,onChange:e=>p(e.target.value)})]}),(0,M.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,M.jsx)(yN,{htmlFor:`email`,children:e(`auth.emailLabel`)}),(0,M.jsx)(Vx,{id:`email`,type:`email`,placeholder:e(`auth.emailPlaceholder`),autoComplete:`email`,required:!0,value:m,onChange:e=>h(e.target.value)})]}),(0,M.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,M.jsx)(yN,{htmlFor:`password`,children:e(`auth.passwordLabel`)}),(0,M.jsx)(Vx,{id:`password`,type:`password`,autoComplete:`new-password`,required:!0,minLength:8,value:g,onChange:e=>_(e.target.value)})]}),(0,M.jsx)(Q,{type:`submit`,className:`w-full bg-brand-gradient text-primary-foreground shadow-sm shadow-primary/20 transition-all hover:opacity-95 hover:shadow-md hover:shadow-primary/30`,disabled:v,children:e(v?`auth.register.submitting`:`auth.register.submit`)}),(0,M.jsxs)(`p`,{className:`text-center text-sm text-muted-foreground`,children:[e(`auth.register.haveAccount`),` `,(0,M.jsx)(ta,{to:`/login`,search:n?{redirect:n}:void 0,className:`font-medium text-primary underline-offset-4 hover:underline`,children:e(`auth.register.signIn`)})]})]})})})]}),(0,M.jsxs)(`p`,{className:`px-6 text-center text-xs text-muted-foreground [&_a]:underline [&_a]:underline-offset-4 [&_a]:hover:text-primary`,children:[e(`legal.agreementPrefix`),` `,(0,M.jsx)(`a`,{href:`#`,children:e(`legal.termsOfService`)}),` `,e(`legal.and`),` `,(0,M.jsx)(`a`,{href:`#`,children:e(`legal.privacyPolicy`)}),`.`]})]})})}var AN=sa(`/login`)({validateSearch:e=>{let t=e.redirect;return typeof t==`string`?{redirect:t}:{}},component:NN});function jN(e){return!!e&&e.startsWith(`/`)&&!e.startsWith(`//`)}function MN(e){return e.startsWith(`/_`)?e:`/_account/`.replace(/\/$/,``)+e}function NN(){let{t:e}=vt(),t=N(),{redirect:n}=AN.useSearch(),r=Rg(),{session:i,user:a,loading:o,refresh:s,organizations:c,organizationsLoading:l,organizationsFetched:u,setActiveOrganization:d}=zM(),[f,p]=(0,j.useState)(``),[m,h]=(0,j.useState)(``),[g,_]=(0,j.useState)(!1),[v,y]=(0,j.useState)(!1);return(0,j.useEffect)(()=>{if(a){if(typeof window<`u`){let e=new URLSearchParams(window.location.search);if(e.has(`client_id`)&&e.has(`redirect_uri`)){window.location.assign(`/api/v1/auth/oauth2/authorize${window.location.search}`);return}}if(!i?.activeOrganizationId){if(!u||l||v)return;if(c.length===1){y(!0),d(c[0].id).catch(()=>void 0).finally(()=>y(!1));return}if(c.length===0){t({to:`/organizations/new`});return}t({to:`/organizations`});return}if(!v){if(jN(n)){window.location.assign(MN(n));return}window.location.assign(`/`)}}},[a,i,t,n,c,l,u,v,d]),o||a?(0,M.jsx)(fN,{children:(0,M.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-10 text-sm text-muted-foreground`,children:[(0,M.jsx)(`div`,{className:`size-6 animate-spin rounded-full border-2 border-muted-foreground border-t-transparent`}),(0,M.jsx)(`span`,{children:e(`auth.login.signingIn`,{defaultValue:`Signing you in…`})})]})}):(0,M.jsx)(fN,{children:(0,M.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,M.jsxs)($,{className:`border-border/60 shadow-sm shadow-primary/5 backdrop-blur supports-[backdrop-filter]:bg-card/95`,children:[(0,M.jsxs)(sN,{className:`text-center`,children:[(0,M.jsx)(cN,{className:`text-xl tracking-tight`,children:e(`auth.login.title`)}),(0,M.jsx)(lN,{children:e(`auth.login.description`)})]}),(0,M.jsx)(uN,{children:(0,M.jsx)(`form`,{onSubmit:async t=>{if(t.preventDefault(),r?.auth){_(!0);try{await r.auth.login({type:`email`,email:f,password:m}),await s(),q({title:e(`auth.login.welcomeToast`)})}catch(t){q({title:e(`auth.login.failed`),description:t.message,variant:`destructive`})}finally{_(!1)}}},children:(0,M.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,M.jsx)(TN,{mode:`sign-in`,redirect:n}),(0,M.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,M.jsx)(yN,{htmlFor:`email`,children:e(`auth.emailLabel`)}),(0,M.jsx)(Vx,{id:`email`,type:`email`,placeholder:e(`auth.emailPlaceholder`),autoComplete:`email`,required:!0,value:f,onChange:e=>p(e.target.value)})]}),(0,M.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,M.jsxs)(`div`,{className:`flex items-center`,children:[(0,M.jsx)(yN,{htmlFor:`password`,children:e(`auth.passwordLabel`)}),(0,M.jsx)(ta,{to:`/forgot-password`,className:`ml-auto text-sm underline-offset-4 hover:underline`,children:e(`auth.login.forgotPassword`)})]}),(0,M.jsx)(Vx,{id:`password`,type:`password`,autoComplete:`current-password`,required:!0,value:m,onChange:e=>h(e.target.value)})]}),(0,M.jsx)(Q,{type:`submit`,className:`w-full bg-brand-gradient text-primary-foreground shadow-sm shadow-primary/20 transition-all hover:opacity-95 hover:shadow-md hover:shadow-primary/30`,disabled:g,children:e(g?`auth.login.submitting`:`auth.login.submit`)}),(0,M.jsxs)(`p`,{className:`text-center text-sm text-muted-foreground`,children:[e(`auth.login.noAccount`),` `,(0,M.jsx)(ta,{to:`/register`,search:n?{redirect:n}:void 0,className:`font-medium text-primary underline-offset-4 hover:underline`,children:e(`auth.login.signUp`)})]})]})})})]}),(0,M.jsxs)(`p`,{className:`px-6 text-center text-xs text-muted-foreground [&_a]:underline [&_a]:underline-offset-4 [&_a]:hover:text-primary`,children:[e(`legal.agreementPrefix`),` `,(0,M.jsx)(`a`,{href:`#`,children:e(`legal.termsOfService`)}),` `,e(`legal.and`),` `,(0,M.jsx)(`a`,{href:`#`,children:e(`legal.privacyPolicy`)}),`.`]})]})})}var PN=sa(`/forgot-password`)({component:FN});function FN(){let{t:e}=vt(),[t,n]=(0,j.useState)(``),[r,i]=(0,j.useState)(!1),[a,o]=(0,j.useState)(!1);return(0,M.jsx)(fN,{headline:e(`auth.forgotPassword.brandHeadline`,{defaultValue:`Forgot your password?`}),subline:e(`auth.forgotPassword.brandSubline`,{defaultValue:`No problem — we will send you a secure link to reset it.`}),children:(0,M.jsx)($,{className:`border-border/60 shadow-sm shadow-primary/5 backdrop-blur supports-[backdrop-filter]:bg-card/95`,children:a?(0,M.jsxs)(M.Fragment,{children:[(0,M.jsxs)(sN,{className:`text-center`,children:[(0,M.jsx)(cN,{className:`text-xl tracking-tight`,children:e(`auth.forgotPassword.checkEmailTitle`)}),(0,M.jsx)(lN,{children:e(`auth.forgotPassword.checkEmailDescription`,{email:t})})]}),(0,M.jsx)(uN,{className:`text-center`,children:(0,M.jsx)(ta,{to:`/login`,className:`text-sm font-medium text-primary underline-offset-4 hover:underline`,children:e(`auth.forgotPassword.backToSignIn`)})})]}):(0,M.jsxs)(M.Fragment,{children:[(0,M.jsxs)(sN,{className:`text-center`,children:[(0,M.jsx)(cN,{className:`text-xl tracking-tight`,children:e(`auth.forgotPassword.title`)}),(0,M.jsx)(lN,{children:e(`auth.forgotPassword.description`)})]}),(0,M.jsx)(uN,{children:(0,M.jsxs)(`form`,{onSubmit:async n=>{n.preventDefault(),i(!0);try{let e=window.location.origin+`/_account/`.replace(/\/$/,``)+`/reset-password`,n=await fetch(`/api/v1/auth/forget-password`,{method:`POST`,headers:{"Content-Type":`application/json`},credentials:`include`,body:JSON.stringify({email:t,redirectTo:e})});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(e?.message||`Request failed: ${n.status}`)}o(!0)}catch(t){q({title:e(`auth.forgotPassword.failed`),description:t.message,variant:`destructive`})}finally{i(!1)}},className:`flex flex-col gap-4`,children:[(0,M.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,M.jsx)(yN,{htmlFor:`email`,children:e(`auth.emailLabel`)}),(0,M.jsx)(Vx,{id:`email`,type:`email`,placeholder:e(`auth.emailPlaceholder`),autoComplete:`email`,required:!0,value:t,onChange:e=>n(e.target.value)})]}),(0,M.jsx)(Q,{type:`submit`,className:`w-full bg-brand-gradient text-primary-foreground shadow-sm shadow-primary/20 transition-all hover:opacity-95 hover:shadow-md hover:shadow-primary/30`,disabled:r,children:e(r?`auth.forgotPassword.submitting`:`auth.forgotPassword.submit`)}),(0,M.jsxs)(`p`,{className:`text-center text-sm text-muted-foreground`,children:[e(`auth.forgotPassword.rememberPassword`),` `,(0,M.jsx)(ta,{to:`/login`,className:`font-medium text-primary underline-offset-4 hover:underline`,children:e(`auth.forgotPassword.signIn`)})]})]})})]})})})}var IN=sa(`/account`)({component:LN});function LN(){return(0,M.jsx)(`div`,{className:`flex flex-1 flex-col overflow-hidden`,children:(0,M.jsx)(`div`,{className:`flex-1 overflow-auto px-4 py-6 sm:px-6 sm:py-8`,children:(0,M.jsx)(`div`,{className:`page-enter mx-auto flex max-w-4xl flex-col gap-6`,children:(0,M.jsx)(_a,{})})})})}var RN=sa(`/`)({component:zN});function zN(){return(0,M.jsx)(Vi,{to:`/login`})}var BN=Wv(`inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2`,{variants:{variant:{default:`border-transparent bg-primary text-primary-foreground hover:bg-primary/80`,secondary:`border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80`,destructive:`border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80`,outline:`text-foreground`}},defaultVariants:{variant:`default`}});function VN({className:e,variant:t,...n}){return(0,M.jsx)(`div`,{className:Z(BN({variant:t}),e),...n})}function HN({title:e,description:t,icon:n,actions:r,className:i,...a}){return(0,M.jsxs)(`div`,{className:Z(`relative overflow-hidden rounded-xl border bg-brand-gradient-subtle`,`px-5 py-5 sm:px-6 sm:py-6`,i),...a,children:[(0,M.jsx)(`div`,{className:`pointer-events-none absolute inset-0 opacity-60`,style:{backgroundImage:`radial-gradient(ellipse 60% 80% at 0% 0%, hsl(var(--brand-from) / 0.12), transparent 60%)`},"aria-hidden":!0}),(0,M.jsxs)(`div`,{className:`relative flex flex-col gap-4 sm:flex-row sm:items-start sm:justify-between sm:gap-6`,children:[(0,M.jsxs)(`div`,{className:`flex min-w-0 items-start gap-4`,children:[n?(0,M.jsx)(`div`,{className:`flex size-10 shrink-0 items-center justify-center rounded-lg bg-brand-gradient text-primary-foreground shadow-sm shadow-primary/30 ring-1 ring-white/15`,children:(0,M.jsx)(n,{className:`size-5`})}):null,(0,M.jsxs)(`div`,{className:`min-w-0 space-y-1`,children:[(0,M.jsx)(`h1`,{className:`truncate text-xl font-semibold tracking-tight sm:text-2xl`,children:e}),t?(0,M.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:t}):null]})]}),r?(0,M.jsx)(`div`,{className:`flex shrink-0 flex-wrap items-center gap-2`,children:r}):null]})]})}var UN=sa(`/organizations/`)({component:WN});function WN(){let{t:e}=vt(),{organizations:t,loading:n}=BM(),{session:r,setActiveOrganization:i}=zM(),a=N(),o=r?.activeOrganizationId??void 0,s=async t=>{try{t!==o&&await i(t),a({to:`/organizations/$orgId`,params:{orgId:t}})}catch(t){q({title:e(`organizations.switchFailed`),description:t.message,variant:`destructive`})}},c=e=>e.split(/\s+/).map(e=>e[0]).join(``).slice(0,2).toUpperCase();return(0,M.jsx)(`div`,{className:`flex flex-1 flex-col overflow-hidden`,children:(0,M.jsx)(`div`,{className:`flex-1 overflow-auto px-4 py-6 sm:px-6 sm:py-8`,children:(0,M.jsxs)(`div`,{className:`page-enter mx-auto flex max-w-3xl flex-col gap-6`,children:[(0,M.jsx)(HN,{icon:ny,title:e(`organizations.title`),description:e(`organizations.description`),actions:(0,M.jsxs)(Q,{onClick:()=>a({to:`/organizations/new`}),className:`bg-brand-gradient text-primary-foreground shadow-sm shadow-primary/20 transition-all hover:opacity-95 hover:shadow-md hover:shadow-primary/30`,children:[(0,M.jsx)(Oy,{className:`mr-2 h-4 w-4`}),e(`organizations.newOrganization`)]})}),n&&(0,M.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:e(`organizations.loading`)}),!n&&t.length===0&&(0,M.jsxs)($,{className:`p-10 text-center`,children:[(0,M.jsx)(`div`,{className:`mx-auto mb-3 flex size-12 items-center justify-center rounded-lg bg-brand-gradient-subtle text-primary ring-1 ring-primary/15`,children:(0,M.jsx)(ny,{className:`h-6 w-6`})}),(0,M.jsx)(`h3`,{className:`text-base font-medium`,children:e(`organizations.emptyTitle`)}),(0,M.jsx)(`p`,{className:`mb-4 text-sm text-muted-foreground`,children:e(`organizations.emptyDescription`)}),(0,M.jsxs)(Q,{onClick:()=>a({to:`/organizations/new`}),className:`bg-brand-gradient text-primary-foreground shadow-sm shadow-primary/20`,children:[(0,M.jsx)(Oy,{className:`mr-2 h-4 w-4`}),e(`organizations.createOrganization`)]})]}),(0,M.jsx)(`div`,{className:`grid gap-3`,children:t.map(t=>{let n=t.id===o;return(0,M.jsx)($,{role:`button`,tabIndex:0,onClick:()=>s(t.id),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),s(t.id))},className:`group cursor-pointer p-4 transition-all hover:-translate-y-0.5 hover:border-primary/30 hover:shadow-md hover:shadow-primary/5 focus:outline-none focus:ring-2 focus:ring-ring ${n?`border-primary/50 bg-brand-gradient-subtle ring-1 ring-primary/30`:``}`,children:(0,M.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,M.jsx)(`div`,{className:`flex size-12 shrink-0 items-center justify-center rounded-lg font-semibold `+(n?`bg-brand-gradient text-primary-foreground shadow-sm shadow-primary/30 ring-1 ring-white/15`:`bg-muted text-muted-foreground group-hover:bg-brand-gradient-subtle group-hover:text-primary`),children:c(t.name)||(0,M.jsx)(ny,{className:`h-5 w-5`})}),(0,M.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,M.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,M.jsx)(`h3`,{className:`truncate text-base font-medium`,children:t.name}),n&&(0,M.jsxs)(VN,{className:`gap-1 border-transparent bg-emerald-500/15 text-[10px] font-medium text-emerald-600 dark:text-emerald-400`,children:[(0,M.jsx)(ry,{className:`h-3 w-3`}),e(`organizations.active`)]})]}),t.slug&&(0,M.jsx)(`code`,{className:`mt-0.5 block font-mono text-xs text-muted-foreground`,children:t.slug})]}),(0,M.jsx)(ay,{className:`size-4 shrink-0 text-muted-foreground transition-transform group-hover:translate-x-0.5 group-hover:text-primary`})]})},t.id)})})]})})})}var GN=sa(`/account/`)({component:KN});function KN(){let{t:e}=vt(),{user:t}=zM(),{organizations:n}=BM(),r=[!!t?.emailVerified,!!t?.twoFactorEnabled,!!t?.name,!!t?.image].filter(Boolean).length*25,i=r>=75?`success`:r>=50?`warn`:`danger`,a=(t?.name??t?.email??`?`).split(/\s+/).map(e=>e[0]).join(``).slice(0,2).toUpperCase(),o=[{to:`/account/profile`,label:e(`home.tiles.profile.title`,{defaultValue:`Profile`}),description:e(`home.tiles.profile.description`,{defaultValue:`Display name, avatar and contact info.`}),icon:Hy},{to:`/account/security`,label:e(`home.tiles.security.title`,{defaultValue:`Security`}),description:e(`home.tiles.security.description`,{defaultValue:`Change your password and review activity.`}),icon:Ny},{to:`/account/two-factor`,label:e(`home.tiles.twoFactor.title`,{defaultValue:`Two-factor auth`}),description:e(`home.tiles.twoFactor.description`,{defaultValue:`Add an authenticator app for stronger sign-in.`}),icon:My},{to:`/account/sessions`,label:e(`home.tiles.sessions.title`,{defaultValue:`Active sessions`}),description:e(`home.tiles.sessions.description`,{defaultValue:`See and revoke devices that are signed in.`}),icon:Ty},{to:`/account/linked-accounts`,label:e(`home.tiles.linked.title`,{defaultValue:`Linked accounts`}),description:e(`home.tiles.linked.description`,{defaultValue:`Manage your social and SSO providers.`}),icon:Sy},{to:`/account/oauth-applications`,label:e(`home.tiles.oauth.title`,{defaultValue:`OAuth applications`}),description:e(`home.tiles.oauth.description`,{defaultValue:`Apps you have authorised to access your account.`}),icon:yy}];return(0,M.jsxs)(`div`,{className:`space-y-6`,children:[(0,M.jsxs)(`div`,{className:`relative overflow-hidden rounded-xl border bg-card`,children:[(0,M.jsx)(`div`,{className:`absolute inset-0 bg-brand-gradient`,"aria-hidden":!0}),(0,M.jsx)(`div`,{className:`absolute inset-0 opacity-40 mix-blend-soft-light`,style:{backgroundImage:`radial-gradient(ellipse at 20% 0%, rgba(255,255,255,0.4), transparent 60%), radial-gradient(ellipse at 100% 100%, rgba(0,0,0,0.25), transparent 60%)`},"aria-hidden":!0}),(0,M.jsxs)(`div`,{className:`relative flex flex-col gap-4 p-6 text-white sm:flex-row sm:items-center sm:gap-6 sm:p-8`,children:[(0,M.jsxs)(AM,{className:`size-16 shrink-0 ring-4 ring-white/30 shadow-md sm:size-20`,children:[t?.image?(0,M.jsx)(jM,{src:t.image,alt:t?.name??``}):null,(0,M.jsx)(MM,{className:`bg-white/20 text-base font-semibold text-white backdrop-blur`,children:a})]}),(0,M.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-1`,children:[(0,M.jsx)(`p`,{className:`text-xs uppercase tracking-wider text-white/70`,children:e(`home.welcome`,{defaultValue:`Welcome back`})}),(0,M.jsx)(`h2`,{className:`truncate text-2xl font-semibold tracking-tight`,children:t?.name||t?.email||`ObjectStack user`}),(0,M.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 text-sm text-white/80`,children:[(0,M.jsx)(wy,{className:`size-3.5`,"aria-hidden":!0}),(0,M.jsx)(`span`,{className:`truncate`,children:t?.email}),t?.emailVerified?(0,M.jsx)(VN,{className:`border-white/30 bg-white/15 text-[10px] font-medium text-white backdrop-blur hover:bg-white/20`,children:e(`home.verified`,{defaultValue:`Verified`})}):null]})]})]})]}),(0,M.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 sm:grid-cols-3`,children:[(0,M.jsx)(qN,{icon:My,label:e(`home.stats.score`,{defaultValue:`Security score`}),value:`${r}%`,tone:i,extra:(0,M.jsx)(`div`,{className:`mt-2 h-1.5 w-full overflow-hidden rounded-full bg-muted`,children:(0,M.jsx)(`div`,{className:`h-full bg-brand-gradient transition-[width] duration-500`,style:{width:`${r}%`}})})}),(0,M.jsx)(qN,{icon:ny,label:e(`home.stats.orgs`,{defaultValue:`Organizations`}),value:String(n.length),extra:(0,M.jsxs)(ta,{to:`/organizations`,className:`mt-2 inline-flex items-center gap-1 text-xs font-medium text-primary hover:underline`,children:[e(`home.stats.manage`,{defaultValue:`Manage`}),(0,M.jsx)(ty,{className:`size-3`})]})}),(0,M.jsx)(qN,{icon:t?.twoFactorEnabled?My:Ny,label:e(`home.stats.twoFactor`,{defaultValue:`Two-factor auth`}),value:t?.twoFactorEnabled?e(`home.stats.enabled`,{defaultValue:`Enabled`}):e(`home.stats.disabled`,{defaultValue:`Disabled`}),tone:t?.twoFactorEnabled?`success`:`warn`,extra:(0,M.jsxs)(ta,{to:`/account/two-factor`,className:`mt-2 inline-flex items-center gap-1 text-xs font-medium text-primary hover:underline`,children:[t?.twoFactorEnabled?e(`home.stats.review`,{defaultValue:`Review`}):e(`home.stats.enable`,{defaultValue:`Enable now`}),(0,M.jsx)(ty,{className:`size-3`})]})})]}),(0,M.jsxs)(`div`,{children:[(0,M.jsx)(`h3`,{className:`mb-3 text-sm font-medium text-muted-foreground`,children:e(`home.quickAccess`,{defaultValue:`Quick access`})}),(0,M.jsx)(`div`,{className:`grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3`,children:o.map(({to:e,label:t,description:n,icon:r})=>(0,M.jsxs)(ta,{to:e,className:`group relative flex items-start gap-3 rounded-lg border bg-card p-4 transition-all hover:-translate-y-0.5 hover:border-primary/30 hover:shadow-md hover:shadow-primary/5`,children:[(0,M.jsx)(`div`,{className:`flex size-9 shrink-0 items-center justify-center rounded-md bg-brand-gradient-subtle text-primary ring-1 ring-primary/10 transition-transform group-hover:scale-110`,children:(0,M.jsx)(r,{className:`size-4`})}),(0,M.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,M.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,M.jsx)(`span`,{className:`truncate font-medium`,children:t}),(0,M.jsx)(ty,{className:`size-4 shrink-0 text-muted-foreground transition-transform group-hover:translate-x-0.5 group-hover:text-primary`})]}),(0,M.jsx)(`p`,{className:`mt-0.5 line-clamp-2 text-xs text-muted-foreground`,children:n})]})]},e))})]})]})}function qN({icon:e,label:t,value:n,tone:r=`neutral`,extra:i}){let a=r===`success`?`text-emerald-600 dark:text-emerald-400`:r===`warn`?`text-amber-600 dark:text-amber-400`:r===`danger`?`text-destructive`:`text-foreground`;return(0,M.jsx)($,{className:`overflow-hidden`,children:(0,M.jsxs)(uN,{className:`p-5`,children:[(0,M.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,M.jsx)(`p`,{className:`text-xs font-medium uppercase tracking-wider text-muted-foreground`,children:t}),(0,M.jsx)(e,{className:`size-4 ${a}`})]}),(0,M.jsx)(`p`,{className:`mt-1 text-2xl font-semibold tracking-tight ${a}`,children:n}),i]})})}var JN=sa(`/organizations/new`)({component:XN});function YN(e){return e.toLowerCase().trim().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,48)}function XN(){let{t:e}=vt(),t=N(),{create:n,creating:r}=VM(),{setActiveOrganization:i,reloadOrganizations:a}=zM(),[o,s]=(0,j.useState)(``),[c,l]=(0,j.useState)(``),[u,d]=(0,j.useState)(!1),f=e=>{s(e),u||l(YN(e))};return(0,M.jsx)(`div`,{className:`flex flex-1 flex-col overflow-hidden`,children:(0,M.jsx)(`div`,{className:`flex-1 px-6 py-8 overflow-auto`,children:(0,M.jsx)(`div`,{className:`mx-auto max-w-lg`,children:(0,M.jsxs)($,{children:[(0,M.jsxs)(sN,{children:[(0,M.jsx)(cN,{children:e(`organizations.new.title`)}),(0,M.jsx)(lN,{children:e(`organizations.new.description`)})]}),(0,M.jsxs)(`form`,{onSubmit:async t=>{t.preventDefault();try{let t=await n({name:o,slug:c||void 0}),r=t?.data??t,s=r?.id??r?.organization?.id;s&&await i(s).catch(()=>{}),await a().catch(()=>{}),q({title:e(`organizations.new.successToast`)}),window.location.assign(`/`)}catch(t){q({title:e(`organizations.new.failed`),description:t.message,variant:`destructive`})}},children:[(0,M.jsxs)(uN,{className:`space-y-4`,children:[(0,M.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,M.jsx)(yN,{htmlFor:`name`,children:e(`organizations.new.name`)}),(0,M.jsx)(Vx,{id:`name`,required:!0,value:o,onChange:e=>f(e.target.value),placeholder:e(`organizations.new.namePlaceholder`)})]}),(0,M.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,M.jsx)(yN,{htmlFor:`slug`,children:e(`organizations.new.slug`)}),(0,M.jsx)(Vx,{id:`slug`,value:c,onChange:e=>{l(e.target.value),d(!0)},placeholder:e(`organizations.new.slugPlaceholder`),pattern:`[a-z0-9-]+`}),(0,M.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:e(`organizations.new.slugHint`)})]})]}),(0,M.jsxs)(dN,{className:`flex justify-between`,children:[(0,M.jsx)(Q,{type:`button`,variant:`ghost`,onClick:()=>t({to:`/organizations`}),children:e(`organizations.new.cancel`)}),(0,M.jsx)(Q,{type:`submit`,disabled:r||!o,children:e(r?`organizations.new.submitting`:`organizations.new.submit`)})]})]})]})})})})}var ZN=sa(`/organizations/$orgId`)({component:QN});function QN(){let{t:e}=vt(),{orgId:t}=ZN.useParams(),{organizations:n}=BM(),r=n.find(e=>e.id===t);return(0,M.jsx)(`div`,{className:`flex flex-1 flex-col overflow-hidden`,children:(0,M.jsx)(`div`,{className:`flex-1 overflow-auto px-6 py-8`,children:(0,M.jsxs)(`div`,{className:`mx-auto max-w-4xl space-y-6`,children:[(0,M.jsxs)(`header`,{children:[(0,M.jsx)(`h1`,{className:`text-2xl font-semibold`,children:r?.name??e(`organizations.title`)}),r?.slug&&(0,M.jsx)(`p`,{className:`text-sm text-muted-foreground font-mono`,children:r.slug})]}),(0,M.jsx)(_a,{})]})})})}function $N(){let e=Rg(),[t,n]=(0,j.useState)([]),[r,i]=(0,j.useState)(!1),[a,o]=(0,j.useState)(null),s=(0,j.useCallback)(async()=>{if(e?.oauth?.applications){i(!0),o(null);try{n((await e.oauth.applications.list())?.applications??[])}catch(e){o(e),n([])}finally{i(!1)}}},[e]);return(0,j.useEffect)(()=>{s()},[s]),{applications:t,loading:r,error:a,reload:s}}function eP(){let e=Rg(),[t,n]=(0,j.useState)(!1),[r,i]=(0,j.useState)(null),[a,o]=(0,j.useState)(null);return{register:(0,j.useCallback)(async t=>{if(!e?.oauth?.applications?.register)throw Error(`Client not ready`);n(!0),i(null);try{let n=await e.oauth.applications.register(t);return o(n),n}catch(e){throw i(e),e}finally{n(!1)}},[e]),registering:t,error:r,lastResult:a}}function tP(){let e=Rg(),[t,n]=(0,j.useState)(!1),[r,i]=(0,j.useState)(null);return{remove:(0,j.useCallback)(async t=>{if(!e?.oauth?.applications?.delete)throw Error(`Client not ready`);n(!0),i(null);try{return await e.oauth.applications.delete(t)}catch(e){throw i(e),e}finally{n(!1)}},[e]),deleting:t,error:r}}function nP(){let e=Rg(),[t,n]=(0,j.useState)(!1),[r,i]=(0,j.useState)(null);return{submit:(0,j.useCallback)(async t=>{if(!e?.oauth?.consent)throw Error(`Client not ready`);n(!0),i(null);try{return await e.oauth.consent(t)}catch(e){throw i(e),e}finally{n(!1)}},[e]),submitting:t,error:r}}var rP=sa(`/oauth/consent`)({validateSearch:e=>e,component:iP});function iP(){let{t:e}=vt(),t=N(),n=Rg(),{user:r,loading:i}=zM(),{submit:a,submitting:o}=nP(),[s,c]=(0,j.useState)(null),l=typeof window<`u`?window.location.search:``,u=l.startsWith(`?`)?l.slice(1):l,d=new URLSearchParams(u),f=d.get(`client_id`)??void 0,p=d.get(`scope`)??``;(0,j.useEffect)(()=>{i||r||t({to:`/login`,search:{redirect:window.location.pathname+window.location.search}})},[r,i,t]),(0,j.useEffect)(()=>{if(!f||!n?.oauth?.applications?.getPublic)return;let e=!1;return n.oauth.applications.getPublic(f).then(t=>{if(e)return;let n=t?.data??t;c({name:n?.name??n?.client_name,icon:n?.icon??n?.logo_uri})},()=>{}),()=>{e=!0}},[n,f]);let m=p.split(/\s+/).filter(Boolean),h=async t=>{try{let n=await a({accept:t,oauth_query:u}),r=n?.redirect_uri??n?.redirectURI??n?.url;if(r){window.location.href=r;return}q({title:e(t?`oauth.consent.granted`:`oauth.consent.denied`),description:e(`oauth.consent.noRedirect`),variant:t?void 0:`destructive`})}catch(t){q({title:e(`oauth.consent.failed`),description:t.message,variant:`destructive`})}},g=s?.name??f??e(`oauth.consent.unknownApp`);return(0,M.jsx)(`div`,{className:`flex min-h-svh w-full flex-1 items-center justify-center bg-background px-4`,children:(0,M.jsxs)($,{className:`w-full max-w-md`,children:[(0,M.jsxs)(sN,{className:`items-center text-center`,children:[(0,M.jsx)(`div`,{className:`mb-3 rounded-full border bg-muted p-3`,children:s?.icon?(0,M.jsx)(`img`,{src:s.icon,alt:``,className:`h-8 w-8 rounded`,onError:e=>e.currentTarget.style.display=`none`}):(0,M.jsx)(yy,{className:`h-7 w-7 text-muted-foreground`})}),(0,M.jsx)(cN,{className:`text-xl`,children:e(`oauth.consent.title`,{appName:g})}),(0,M.jsx)(lN,{children:e(`oauth.consent.request`,{appName:g,suffix:r?.email?` (${r.email})`:``})})]}),(0,M.jsxs)(uN,{className:`space-y-4`,children:[m.length>0&&(0,M.jsxs)(`div`,{children:[(0,M.jsx)(`p`,{className:`mb-2 text-sm font-medium`,children:e(`oauth.consent.willAllow`)}),(0,M.jsx)(`ul`,{className:`space-y-1.5 rounded-md border bg-muted/40 p-3 text-sm`,children:m.map(t=>(0,M.jsxs)(`li`,{className:`flex items-start gap-2`,children:[(0,M.jsx)(ry,{className:`mt-0.5 h-4 w-4 text-green-600 dark:text-green-400`}),(0,M.jsx)(`span`,{children:aP(t,e)})]},t))})]}),(0,M.jsxs)(`div`,{className:`grid grid-cols-2 gap-2 pt-2`,children:[(0,M.jsxs)(Q,{variant:`outline`,onClick:()=>h(!1),disabled:o,children:[(0,M.jsx)(Gy,{className:`mr-2 h-4 w-4`}),e(`oauth.consent.deny`)]}),(0,M.jsxs)(Q,{onClick:()=>h(!0),disabled:o,children:[(0,M.jsx)(ry,{className:`mr-2 h-4 w-4`}),e(o?`oauth.consent.submitting`:`oauth.consent.authorize`)]})]}),(0,M.jsx)(`p`,{className:`pt-2 text-center text-xs text-muted-foreground`,children:e(`oauth.consent.footer`)})]})]})})}function aP(e,t){switch(e){case`openid`:return t(`oauth.consent.scope.openid`);case`profile`:return t(`oauth.consent.scope.profile`);case`email`:return t(`oauth.consent.scope.email`);case`offline_access`:return t(`oauth.consent.scope.offlineAccess`);default:return e}}var oP=sa(`/auth/device`)({validateSearch:e=>({user_code:e.user_code??e.code??``}),component:cP});function sP({children:e}){return(0,M.jsx)(`div`,{className:`flex min-h-svh w-full flex-col items-center justify-center gap-6 bg-muted p-6 md:p-10`,children:(0,M.jsxs)(`div`,{className:`flex w-full max-w-sm flex-col gap-6`,children:[(0,M.jsxs)(`a`,{href:`#`,className:`flex items-center gap-2 self-center font-medium`,children:[(0,M.jsx)(`div`,{className:`flex size-6 items-center justify-center rounded-md bg-primary text-primary-foreground`,children:(0,M.jsx)(hy,{className:`size-4`})}),`ObjectStack`]}),(0,M.jsx)(`div`,{className:`flex flex-col gap-6`,children:e})]})})}function cP(){let{t:e}=vt(),{user_code:t}=oP.useSearch(),{user:n,loading:r}=zM(),i=N(),[a,o]=(0,j.useState)(!1),[s,c]=(0,j.useState)(!1),[l,u]=(0,j.useState)(!1),[d,f]=(0,j.useState)(!1),[p,m]=(0,j.useState)(``);return t?r?(0,M.jsx)(sP,{children:(0,M.jsx)($,{children:(0,M.jsx)(sN,{className:`text-center`,children:(0,M.jsx)(lN,{children:e(`auth.device.loading`)})})})}):n?l?(0,M.jsx)(sP,{children:(0,M.jsx)($,{children:(0,M.jsxs)(sN,{className:`text-center`,children:[(0,M.jsx)(cy,{className:`h-10 w-10 text-green-500 mx-auto mb-2`}),(0,M.jsx)(cN,{children:e(`auth.device.approvedTitle`)}),(0,M.jsx)(lN,{children:e(`auth.device.approvedDescription`)})]})})}):d?(0,M.jsx)(sP,{children:(0,M.jsx)($,{children:(0,M.jsxs)(sN,{className:`text-center`,children:[(0,M.jsx)(cN,{children:e(`auth.device.deniedTitle`)}),(0,M.jsx)(lN,{children:e(`auth.device.deniedDescription`)})]})})}):(0,M.jsx)(sP,{children:(0,M.jsxs)($,{children:[(0,M.jsxs)(sN,{className:`text-center`,children:[(0,M.jsx)(cN,{children:e(`auth.device.title`)}),(0,M.jsx)(lN,{children:e(`auth.device.subtitle`,{email:n.email})})]}),(0,M.jsxs)(uN,{className:`space-y-4`,children:[(0,M.jsxs)(`div`,{className:`rounded-md border bg-background px-4 py-3 text-center`,children:[(0,M.jsx)(`p`,{className:`text-xs text-muted-foreground mb-1`,children:e(`auth.device.userCodeLabel`)}),(0,M.jsx)(`p`,{className:`font-mono font-semibold tracking-widest text-lg`,children:t})]}),(0,M.jsxs)(`div`,{className:`space-y-4`,children:[(0,M.jsx)(`p`,{className:`text-sm text-center text-muted-foreground`,children:e(`auth.device.loggedInAs`,{email:n.email})}),p&&(0,M.jsx)(`p`,{className:`text-sm text-destructive text-center`,children:p}),(0,M.jsx)(Q,{onClick:async()=>{m(``),o(!0);try{let n=await fetch(`/api/v1/auth/device/approve`,{method:`POST`,headers:{"Content-Type":`application/json`},credentials:`include`,body:JSON.stringify({userCode:t})});if(!n.ok){let t=await n.json().catch(()=>({}));throw Error(t?.message??t?.error?.message??e(`auth.device.approveFailed`))}u(!0),q({title:e(`auth.device.approveSuccess`),description:e(`auth.device.approveSuccessDescription`)})}catch(t){m(t?.message??e(`auth.device.approveFailed`))}finally{o(!1)}},className:`w-full`,disabled:a||s,children:e(a?`auth.device.approving`:`auth.device.approve`)}),(0,M.jsx)(Q,{onClick:async()=>{m(``),c(!0);try{await fetch(`/api/v1/auth/device/deny`,{method:`POST`,headers:{"Content-Type":`application/json`},credentials:`include`,body:JSON.stringify({userCode:t})}),f(!0)}catch(t){m(t?.message??e(`auth.device.denyFailed`))}finally{c(!1)}},variant:`outline`,className:`w-full`,disabled:a||s,children:e(s?`auth.device.denying`:`auth.device.deny`)}),(0,M.jsx)(`div`,{className:`text-center`,children:(0,M.jsx)(`button`,{type:`button`,className:`text-sm text-muted-foreground underline-offset-4 hover:underline`,onClick:()=>i({to:`/`}),children:e(`auth.device.cancel`)})})]})]})]})}):(0,M.jsx)(Vi,{to:`/login`,search:{redirect:`/auth/device?user_code=${encodeURIComponent(t)}`}}):(0,M.jsx)(sP,{children:(0,M.jsx)($,{children:(0,M.jsxs)(sN,{className:`text-center`,children:[(0,M.jsx)(cN,{children:e(`auth.device.invalidTitle`)}),(0,M.jsx)(lN,{children:e(`auth.device.invalidDescription`)})]})})})}var lP=sa(`/account/two-factor`)({component:uP});function uP(){let{t:e}=vt(),t=Rg(),{user:n,loading:r,refresh:i}=zM(),[a,o]=(0,j.useState)(null),[s,c]=(0,j.useState)(``),[l,u]=(0,j.useState)(!1),[d,f]=(0,j.useState)(null),[p,m]=(0,j.useState)(null),[h,g]=(0,j.useState)(!1),[_,v]=(0,j.useState)(``),[y,b]=(0,j.useState)(!1),[x,S]=(0,j.useState)(``),[C,w]=(0,j.useState)(!1),[T,E]=(0,j.useState)(``),[D,O]=(0,j.useState)(!1),[ee,te]=(0,j.useState)(null);(0,j.useEffect)(()=>{r||o(!!n?.twoFactorEnabled)},[r,n?.twoFactorEnabled]);let ne=async n=>{n.preventDefault(),u(!0);try{let e=await t.auth.twoFactor.enable({password:s});f(e?.totpURI??null),m(e?.backupCodes??null),c(``)}catch(t){q({title:e(`twoFactor.enableFailed`),description:t.message,variant:`destructive`})}finally{u(!1)}},re=async n=>{n.preventDefault(),b(!0);try{await t.auth.twoFactor.verifyTotp({code:_,trustDevice:h}),q({title:e(`twoFactor.enableSuccess`)}),o(!0),f(null),v(``),await i()}catch(t){q({title:e(`twoFactor.invalidCode`),description:t.message,variant:`destructive`})}finally{b(!1)}},ie=async n=>{n.preventDefault(),w(!0);try{await t.auth.twoFactor.disable({password:x}),q({title:e(`twoFactor.disableSuccess`)}),o(!1),S(``),te(null),await i()}catch(t){q({title:e(`twoFactor.disableFailed`),description:t.message,variant:`destructive`})}finally{w(!1)}},ae=async n=>{n.preventDefault(),O(!0);try{te((await t.auth.twoFactor.generateBackupCodes({password:T}))?.backupCodes??[]),E(``),q({title:e(`twoFactor.backupCodes.regenerated`)})}catch(t){q({title:e(`twoFactor.backupCodes.regenerateFailed`),description:t.message,variant:`destructive`})}finally{O(!1)}},oe=async t=>{try{await navigator.clipboard.writeText(t.join(`
|
|
118
|
-
`)),q({title:e(`twoFactor.backupCodes.copied`)})}catch{q({title:e(`twoFactor.backupCodes.copyFailed`),variant:`destructive`})}},k=(0,M.jsx)(HN,{icon:My,title:e(`twoFactor.title`),description:e(`twoFactor.notEnabledDescription`),actions:a===!0?(0,M.jsx)(VN,{className:`border-transparent bg-emerald-500/15 font-medium text-emerald-600 dark:text-emerald-400`,children:e(`twoFactor.enabled`)}):a===!1?(0,M.jsx)(VN,{variant:`outline`,className:`font-medium`,children:e(`twoFactor.notEnabled`)}):null});if(a===null)return(0,M.jsxs)(`div`,{className:`space-y-6`,children:[k,(0,M.jsxs)($,{children:[(0,M.jsx)(sN,{children:(0,M.jsx)(cN,{className:`text-base`,children:e(`twoFactor.loadingStatus`)})}),(0,M.jsxs)(uN,{className:`space-y-2`,children:[(0,M.jsx)(Mw,{className:`h-4 w-48`}),(0,M.jsx)(Mw,{className:`h-9 w-full`}),(0,M.jsx)(Mw,{className:`h-9 w-32`})]})]})]});if(d){let t=`https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=${encodeURIComponent(d)}`;return(0,M.jsxs)(`div`,{className:`space-y-6`,children:[k,(0,M.jsxs)($,{children:[(0,M.jsxs)(sN,{children:[(0,M.jsx)(cN,{className:`text-base`,children:e(`twoFactor.setupTitle`)}),(0,M.jsx)(lN,{children:e(`twoFactor.setupDescription`)})]}),(0,M.jsxs)(uN,{className:`space-y-4`,children:[(0,M.jsxs)(`div`,{className:`flex flex-col items-center gap-3`,children:[(0,M.jsx)(`img`,{src:t,alt:e(`twoFactor.qrAlt`),width:200,height:200,className:`rounded border bg-white p-2`}),(0,M.jsx)(`div`,{className:`w-full rounded bg-muted p-3 font-mono text-xs break-all`,children:d}),(0,M.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e(`twoFactor.uriHint`)})]}),p&&p.length>0&&(0,M.jsxs)(`div`,{className:`rounded border bg-muted/40 p-3`,children:[(0,M.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,M.jsx)(`p`,{className:`text-sm font-medium`,children:e(`twoFactor.backupCodes.savedTitle`)}),(0,M.jsxs)(Q,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>oe(p),children:[(0,M.jsx)(py,{className:`mr-1 h-3 w-3`}),e(`twoFactor.backupCodes.copy`)]})]}),(0,M.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:e(`twoFactor.backupCodes.savedHint`)}),(0,M.jsx)(`div`,{className:`mt-2 grid grid-cols-2 gap-1 font-mono text-xs`,children:p.map(e=>(0,M.jsx)(`span`,{className:`rounded bg-background px-2 py-1`,children:e},e))})]}),(0,M.jsx)(Yx,{}),(0,M.jsxs)(`form`,{onSubmit:re,className:`space-y-3`,children:[(0,M.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,M.jsx)(yN,{htmlFor:`totp-code`,children:e(`twoFactor.verificationCode`)}),(0,M.jsx)(Vx,{id:`totp-code`,placeholder:`000000`,maxLength:6,inputMode:`numeric`,autoComplete:`one-time-code`,value:_,onChange:e=>v(e.target.value),required:!0})]}),(0,M.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,M.jsx)(`input`,{type:`checkbox`,checked:h,onChange:e=>g(e.target.checked)}),e(`twoFactor.trustDevice`)]}),(0,M.jsxs)(`div`,{className:`flex gap-2`,children:[(0,M.jsx)(Q,{type:`submit`,disabled:y||_.length<6,children:e(y?`twoFactor.verifying`:`twoFactor.verify`)}),(0,M.jsx)(Q,{type:`button`,variant:`outline`,onClick:()=>f(null),children:e(`twoFactor.cancel`)})]})]})]})]})]})}return a===!0?(0,M.jsxs)(`div`,{className:`space-y-6`,children:[k,(0,M.jsxs)($,{children:[(0,M.jsxs)(sN,{children:[(0,M.jsx)(cN,{className:`text-base`,children:e(`twoFactor.enabledTitle`,{defaultValue:`Authenticator app`})}),(0,M.jsx)(lN,{children:e(`twoFactor.enabledDescription`)})]}),(0,M.jsx)(uN,{children:(0,M.jsxs)(`form`,{onSubmit:ie,className:`space-y-4`,children:[(0,M.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,M.jsx)(yN,{htmlFor:`disable-password`,children:e(`twoFactor.password`)}),(0,M.jsx)(Vx,{id:`disable-password`,type:`password`,autoComplete:`current-password`,required:!0,value:x,onChange:e=>S(e.target.value)})]}),(0,M.jsx)(Q,{variant:`destructive`,type:`submit`,disabled:C,children:e(C?`twoFactor.disabling`:`twoFactor.disable`)})]})})]}),(0,M.jsxs)($,{children:[(0,M.jsxs)(sN,{children:[(0,M.jsxs)(cN,{className:`text-base flex items-center gap-2`,children:[(0,M.jsx)(yy,{className:`h-4 w-4`}),e(`twoFactor.backupCodes.title`)]}),(0,M.jsx)(lN,{children:e(`twoFactor.backupCodes.description`)})]}),(0,M.jsxs)(uN,{className:`space-y-4`,children:[(0,M.jsxs)(`form`,{onSubmit:ae,className:`space-y-3`,children:[(0,M.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,M.jsx)(yN,{htmlFor:`backup-password`,children:e(`twoFactor.password`)}),(0,M.jsx)(Vx,{id:`backup-password`,type:`password`,autoComplete:`current-password`,required:!0,value:T,onChange:e=>E(e.target.value)})]}),(0,M.jsxs)(Q,{type:`submit`,variant:`outline`,disabled:D,children:[(0,M.jsx)(ky,{className:`mr-2 h-4 w-4`}),e(D?`common.saving`:`twoFactor.backupCodes.regenerate`)]})]}),ee&&ee.length>0&&(0,M.jsxs)(`div`,{className:`rounded border bg-muted/40 p-3`,children:[(0,M.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,M.jsx)(`p`,{className:`text-sm font-medium`,children:e(`twoFactor.backupCodes.newTitle`)}),(0,M.jsxs)(Q,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>oe(ee),children:[(0,M.jsx)(py,{className:`mr-1 h-3 w-3`}),e(`twoFactor.backupCodes.copy`)]})]}),(0,M.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:e(`twoFactor.backupCodes.savedHint`)}),(0,M.jsx)(`div`,{className:`mt-2 grid grid-cols-2 gap-1 font-mono text-xs`,children:ee.map(e=>(0,M.jsx)(`span`,{className:`rounded bg-background px-2 py-1`,children:e},e))})]})]})]})]}):(0,M.jsxs)(`div`,{className:`space-y-6`,children:[k,(0,M.jsxs)($,{children:[(0,M.jsxs)(sN,{children:[(0,M.jsx)(cN,{className:`text-base`,children:e(`twoFactor.enable`)}),(0,M.jsx)(lN,{children:e(`twoFactor.notEnabledDescription`)})]}),(0,M.jsx)(uN,{children:(0,M.jsxs)(`form`,{onSubmit:ne,className:`space-y-4`,children:[(0,M.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,M.jsx)(yN,{htmlFor:`enable-password`,children:e(`twoFactor.password`)}),(0,M.jsx)(Vx,{id:`enable-password`,type:`password`,autoComplete:`current-password`,required:!0,value:s,onChange:e=>c(e.target.value),placeholder:e(`twoFactor.passwordPlaceholder`)})]}),(0,M.jsx)(Q,{type:`submit`,disabled:l,className:`bg-brand-gradient text-primary-foreground shadow-sm shadow-primary/20 transition-all hover:opacity-95 hover:shadow-md hover:shadow-primary/30`,children:e(l?`twoFactor.loading`:`twoFactor.enable`)})]})})]})]})}var dP=[[/Edg\//i,`Edge`],[/OPR\//i,`Opera`],[/Chrome\//i,`Chrome`],[/Firefox\//i,`Firefox`],[/Safari\//i,`Safari`]],fP=[[/Windows NT 10/i,`Windows 10/11`],[/Windows/i,`Windows`],[/Mac OS X|Macintosh/i,`macOS`],[/iPhone|iOS/i,`iOS`],[/iPad/i,`iPadOS`],[/Android/i,`Android`],[/Linux/i,`Linux`]];function pP(e){if(!e)return{browser:`Unknown`,os:`Unknown`,device:`desktop`,label:`Unknown device`,icon:gy};let t=dP.find(([t])=>t.test(e))?.[1]??`Browser`,n=fP.find(([t])=>t.test(e))?.[1]??`Unknown OS`,r=/iPad|Tablet/i.test(e),i=!r&&/Mobile|Android|iPhone|iPod/i.test(e),a=r?`tablet`:i?`mobile`:`desktop`,o=Ty;return o=a===`mobile`?Py:a===`tablet`?Iy:/Linux|Windows|Mac/i.test(e)?Ty:gy,{browser:t,os:n,device:a,label:`${t} · ${n}`,icon:o}}var mP=sa(`/account/sessions`)({component:hP});function hP(){let{t:e}=vt(),t=Rg(),{session:n}=zM(),[r,i]=(0,j.useState)([]),[a,o]=(0,j.useState)(!0),[s,c]=(0,j.useState)(null),[l,u]=(0,j.useState)(!1),d=async()=>{try{i((await t.auth.sessions.list())?.sessions??[])}catch(t){q({title:e(`sessions.loadFailed`),description:t.message,variant:`destructive`})}finally{o(!1)}};(0,j.useEffect)(()=>{d()},[]);let f=async n=>{c(n);try{await t.auth.sessions.revoke(n),q({title:e(`sessions.revoked`)}),await d()}catch(t){q({title:e(`sessions.revokeFailed`),description:t.message,variant:`destructive`})}finally{c(null)}},p=async()=>{u(!0);try{await t.auth.sessions.revokeOthers(),q({title:e(`sessions.othersRevoked`)}),await d()}catch(t){q({title:e(`sessions.revokeOthersFailed`),description:t.message,variant:`destructive`})}finally{u(!1)}},m=n?.token,h=r.find(e=>e.token===m),g=r.filter(e=>e.token!==m);return(0,M.jsxs)(`div`,{className:`space-y-6`,children:[(0,M.jsx)(HN,{icon:Ty,title:e(`sessions.title`),description:e(`sessions.description`),actions:r.length>1?(0,M.jsxs)(Q,{variant:`outline`,size:`sm`,onClick:p,disabled:l,children:[(0,M.jsx)(Cy,{className:`mr-2 h-4 w-4`}),e(l?`sessions.revokingOthers`:`sessions.revokeOthers`)]}):null}),a&&(0,M.jsx)(`div`,{className:`space-y-3`,children:[0,1,2].map(e=>(0,M.jsx)($,{className:`overflow-hidden`,children:(0,M.jsxs)(uN,{className:`flex items-center gap-3 p-4`,children:[(0,M.jsx)(Mw,{className:`size-10 rounded-lg`}),(0,M.jsxs)(`div`,{className:`flex-1 space-y-2`,children:[(0,M.jsx)(Mw,{className:`h-4 w-40`}),(0,M.jsx)(Mw,{className:`h-3 w-64`})]})]})},e))}),!a&&r.length===0&&(0,M.jsx)($,{children:(0,M.jsxs)(uN,{className:`flex flex-col items-center gap-3 p-10 text-center text-sm text-muted-foreground`,children:[(0,M.jsx)(Ty,{className:`size-10 text-muted-foreground/50`}),e(`sessions.empty`)]})}),!a&&h&&(0,M.jsx)(gP,{session:h,isCurrent:!0,revoking:!1,onRevoke:()=>void 0,t:e}),!a&&g.length>0&&(0,M.jsxs)(`div`,{className:`space-y-3`,children:[(0,M.jsx)(`p`,{className:`text-xs font-medium uppercase tracking-wider text-muted-foreground`,children:e(`sessions.otherDevices`,{defaultValue:`Other signed-in devices`})}),(0,M.jsx)(`div`,{className:`space-y-2`,children:g.map(t=>(0,M.jsx)(gP,{session:t,isCurrent:!1,revoking:s===t.token,onRevoke:()=>f(t.token),t:e},t.id))})]})]})}function gP({session:e,isCurrent:t,revoking:n,onRevoke:r,t:i}){let a=pP(e.userAgent),o=a.icon;return(0,M.jsx)($,{className:t?`border-primary/40 bg-brand-gradient-subtle shadow-sm shadow-primary/10`:`transition-colors hover:bg-accent/30`,children:(0,M.jsxs)(uN,{className:`flex items-center gap-3 p-4`,children:[(0,M.jsx)(`div`,{className:`flex size-10 shrink-0 items-center justify-center rounded-lg `+(t?`bg-brand-gradient text-primary-foreground shadow-sm shadow-primary/30`:`bg-muted text-muted-foreground`),children:(0,M.jsx)(o,{className:`size-5`})}),(0,M.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,M.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,M.jsx)(`span`,{className:`truncate text-sm font-medium`,children:a.label}),t&&(0,M.jsx)(VN,{className:`border-transparent bg-emerald-500/15 text-[10px] font-medium text-emerald-600 dark:text-emerald-400`,children:i(`sessions.current`)})]}),(0,M.jsxs)(`div`,{className:`mt-1 flex flex-wrap items-center gap-x-3 gap-y-1 text-xs text-muted-foreground`,children:[e.ipAddress&&(0,M.jsx)(`span`,{className:`font-mono`,children:e.ipAddress}),(0,M.jsx)(`span`,{children:i(`sessions.expires`,{date:new Date(e.expiresAt).toLocaleDateString()})})]})]}),!t&&(0,M.jsxs)(Q,{variant:`ghost`,size:`sm`,onClick:r,disabled:n,className:`ml-3 shrink-0 text-muted-foreground hover:text-destructive`,children:[(0,M.jsx)(Cy,{className:`mr-1.5 h-4 w-4`}),i(`sessions.revoke`,{defaultValue:`Revoke`})]})]})})}var _P=gw,vP=_w,yP=j.forwardRef(({className:e,...t},n)=>(0,M.jsx)(vw,{ref:n,className:Z(`fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`,e),...t}));yP.displayName=vw.displayName;var bP=j.forwardRef(({className:e,children:t,...n},r)=>(0,M.jsxs)(vP,{children:[(0,M.jsx)(yP,{}),(0,M.jsxs)(yw,{ref:r,className:Z(`fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-1/2 data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-1/2 sm:rounded-lg`,e),...n,children:[t,(0,M.jsxs)(Sw,{className:`absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground`,children:[(0,M.jsx)(Gy,{className:`h-4 w-4`}),(0,M.jsx)(`span`,{className:`sr-only`,children:`Close`})]})]})]}));bP.displayName=yw.displayName;var xP=({className:e,...t})=>(0,M.jsx)(`div`,{className:Z(`flex flex-col space-y-1.5 text-center sm:text-left`,e),...t});xP.displayName=`DialogHeader`;var SP=({className:e,...t})=>(0,M.jsx)(`div`,{className:Z(`flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2`,e),...t});SP.displayName=`DialogFooter`;var CP=j.forwardRef(({className:e,...t},n)=>(0,M.jsx)(bw,{ref:n,className:Z(`text-lg font-semibold leading-none tracking-tight`,e),...t}));CP.displayName=bw.displayName;var wP=j.forwardRef(({className:e,...t},n)=>(0,M.jsx)(xw,{ref:n,className:Z(`text-sm text-muted-foreground`,e),...t}));wP.displayName=xw.displayName;var TP=sa(`/account/security`)({component:EP});function EP(){let{t:e}=vt(),t=Rg(),n=N(),{user:r,logout:i}=zM(),[a,o]=(0,j.useState)(``),[s,c]=(0,j.useState)(``),[l,u]=(0,j.useState)(``),[d,f]=(0,j.useState)(!0),[p,m]=(0,j.useState)(!1),[h,g]=(0,j.useState)(``),[_,v]=(0,j.useState)(!1),[y,b]=(0,j.useState)(!1),[x,S]=(0,j.useState)(``),[C,w]=(0,j.useState)(``),[T,E]=(0,j.useState)(!1);return(0,M.jsxs)(`div`,{className:`space-y-6`,children:[(0,M.jsx)(HN,{icon:Ny,title:e(`security.title`),description:e(`security.description`)}),(0,M.jsxs)($,{children:[(0,M.jsxs)(sN,{children:[(0,M.jsxs)(cN,{className:`text-base flex items-center gap-2`,children:[(0,M.jsx)(Ny,{className:`h-4 w-4 text-primary`}),e(`security.changePasswordTitle`,{defaultValue:`Change password`})]}),(0,M.jsx)(lN,{children:e(`security.changePasswordDescription`,{defaultValue:`Use at least 8 characters. Mix letters, numbers and symbols for strength.`})})]}),(0,M.jsx)(uN,{children:(0,M.jsxs)(`form`,{onSubmit:async n=>{if(n.preventDefault(),s!==l){q({title:e(`security.passwordsMismatch`),variant:`destructive`});return}m(!0);try{await t.auth.changePassword({currentPassword:a,newPassword:s,revokeOtherSessions:d}),q({title:e(`security.changed`)}),o(``),c(``),u(``)}catch(t){q({title:e(`security.changeFailed`),description:t.message,variant:`destructive`})}finally{m(!1)}},className:`space-y-4`,children:[(0,M.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,M.jsx)(yN,{htmlFor:`current-password`,children:e(`security.currentPassword`)}),(0,M.jsx)(Vx,{id:`current-password`,type:`password`,autoComplete:`current-password`,required:!0,value:a,onChange:e=>o(e.target.value)})]}),(0,M.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,M.jsx)(yN,{htmlFor:`new-password`,children:e(`security.newPassword`)}),(0,M.jsx)(Vx,{id:`new-password`,type:`password`,autoComplete:`new-password`,required:!0,minLength:8,value:s,onChange:e=>c(e.target.value)})]}),(0,M.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,M.jsx)(yN,{htmlFor:`confirm-new-password`,children:e(`security.confirmPassword`)}),(0,M.jsx)(Vx,{id:`confirm-new-password`,type:`password`,autoComplete:`new-password`,required:!0,minLength:8,value:l,onChange:e=>u(e.target.value)})]}),(0,M.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,M.jsx)(`input`,{type:`checkbox`,checked:d,onChange:e=>f(e.target.checked)}),e(`security.revokeOtherSessions`)]}),(0,M.jsx)(Q,{type:`submit`,disabled:p,children:e(p?`common.saving`:`security.submit`)})]})})]}),(0,M.jsxs)($,{children:[(0,M.jsxs)(sN,{children:[(0,M.jsxs)(cN,{className:`text-base flex items-center gap-2`,children:[(0,M.jsx)(wy,{className:`h-4 w-4 text-primary`}),e(`security.email.title`)]}),(0,M.jsx)(lN,{children:e(`security.email.description`)})]}),(0,M.jsx)(uN,{children:(0,M.jsxs)(`form`,{onSubmit:async n=>{if(n.preventDefault(),!(!h||h===r?.email)){v(!0);try{await t.auth.changeEmail({newEmail:h,callbackURL:window.location.origin+`/login`}),q({title:e(`security.email.requested`),description:e(`security.email.checkInbox`,{email:h})}),g(``)}catch(t){q({title:e(`security.email.requestFailed`),description:t.message,variant:`destructive`})}finally{v(!1)}}},className:`space-y-4`,children:[(0,M.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,M.jsx)(yN,{htmlFor:`current-email`,children:e(`security.email.current`)}),(0,M.jsx)(Vx,{id:`current-email`,value:r?.email??``,disabled:!0})]}),(0,M.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,M.jsx)(yN,{htmlFor:`new-email`,children:e(`security.email.new`)}),(0,M.jsx)(Vx,{id:`new-email`,type:`email`,value:h,onChange:e=>g(e.target.value),placeholder:e(`security.email.placeholder`),required:!0})]}),(0,M.jsx)(Q,{type:`submit`,disabled:_||!h||h===r?.email,children:e(_?`common.saving`:`security.email.submit`)})]})})]}),(0,M.jsxs)($,{className:`border-destructive/40 bg-destructive/5`,children:[(0,M.jsxs)(sN,{children:[(0,M.jsxs)(cN,{className:`text-base flex items-center gap-2 text-destructive`,children:[(0,M.jsx)(Ry,{className:`h-4 w-4`}),e(`security.delete.title`)]}),(0,M.jsx)(lN,{children:e(`security.delete.description`)})]}),(0,M.jsx)(uN,{children:(0,M.jsxs)(Q,{variant:`destructive`,onClick:()=>b(!0),children:[(0,M.jsx)(Ly,{className:`mr-2 h-4 w-4`}),e(`security.delete.cta`)]})})]}),(0,M.jsx)(_P,{open:y,onOpenChange:b,children:(0,M.jsxs)(bP,{children:[(0,M.jsxs)(xP,{children:[(0,M.jsx)(CP,{children:e(`security.delete.dialogTitle`)}),(0,M.jsx)(wP,{children:e(`security.delete.dialogDescription`,{email:r?.email??``})})]}),(0,M.jsxs)(`div`,{className:`space-y-4`,children:[(0,M.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,M.jsx)(yN,{htmlFor:`delete-password`,children:e(`security.delete.password`)}),(0,M.jsx)(Vx,{id:`delete-password`,type:`password`,autoComplete:`current-password`,value:x,onChange:e=>S(e.target.value)})]}),(0,M.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,M.jsx)(yN,{htmlFor:`delete-confirm`,children:e(`security.delete.typeEmail`,{email:r?.email??``})}),(0,M.jsx)(Vx,{id:`delete-confirm`,value:C,onChange:e=>w(e.target.value),placeholder:r?.email??``})]})]}),(0,M.jsxs)(SP,{children:[(0,M.jsx)(Q,{variant:`outline`,onClick:()=>b(!1),disabled:T,children:e(`common.cancel`)}),(0,M.jsx)(Q,{variant:`destructive`,onClick:async()=>{if(C!==r?.email){q({title:e(`security.delete.confirmationMismatch`),description:e(`security.delete.confirmationHint`,{email:r?.email??``}),variant:`destructive`});return}E(!0);try{await t.auth.deleteUser({password:x}),q({title:e(`security.delete.success`)});try{await i()}catch{}n({to:`/login`,replace:!0})}catch(t){q({title:e(`security.delete.failed`),description:t.message,variant:`destructive`})}finally{E(!1)}},disabled:T||C!==r?.email,children:e(T?`common.saving`:`security.delete.confirm`)})]})]})})]})}var DP=sa(`/account/profile`)({component:OP});function OP(){let{t:e}=vt(),t=Rg(),{user:n,refresh:r}=zM(),[i,a]=(0,j.useState)(n?.name??``),[o,s]=(0,j.useState)(n?.image??null),[c,l]=(0,j.useState)(!1),[u,d]=(0,j.useState)(!1),f=(0,j.useRef)(null);(0,j.useEffect)(()=>{a(n?.name??``),s(n?.image??null)},[n?.id,n?.name,n?.image]);let p=async n=>{n.preventDefault(),l(!0);try{await t.auth.updateUser({name:i,image:o}),await r(),q({title:e(`profile.updated`)})}catch(t){q({title:e(`profile.updateFailed`),description:t.message,variant:`destructive`})}finally{l(!1)}},m=()=>f.current?.click(),h=async n=>{let i=n.target.files?.[0];if(n.target.value=``,i){d(!0);try{if(!t?.storage?.upload)throw Error(e(`profile.avatarStorageUnavailable`));let n=await t.storage.upload(i,`user`),a=n?.data?.url??n?.url;if(!a)throw Error(`Upload returned no URL`);s(a),await t.auth.updateUser({image:a}),await r(),q({title:e(`profile.avatarUpdated`)})}catch(t){q({title:e(`profile.avatarUploadFailed`),description:t.message,variant:`destructive`})}finally{d(!1)}}},g=(n?.name??n?.email??`?`).split(/\s+/).map(e=>e[0]).join(``).slice(0,2).toUpperCase();return(0,M.jsxs)(`div`,{className:`space-y-6`,children:[(0,M.jsxs)(`div`,{className:`relative overflow-hidden rounded-xl border bg-card`,children:[(0,M.jsx)(`div`,{className:`absolute inset-x-0 top-0 h-24 bg-brand-gradient`,"aria-hidden":!0}),(0,M.jsx)(`div`,{className:`absolute inset-x-0 top-0 h-24 opacity-30`,style:{backgroundImage:`radial-gradient(ellipse at 20% 0%, rgba(255,255,255,0.4), transparent 60%)`},"aria-hidden":!0}),(0,M.jsx)(`div`,{className:`relative px-5 pb-5 pt-12 sm:px-6 sm:pb-6 sm:pt-16`,children:(0,M.jsxs)(`div`,{className:`flex flex-col gap-4 sm:flex-row sm:items-end sm:gap-5`,children:[(0,M.jsxs)(AM,{className:`size-20 shrink-0 ring-4 ring-card shadow-md`,children:[o?(0,M.jsx)(jM,{src:o,alt:n?.name??``}):null,(0,M.jsx)(MM,{className:`bg-brand-gradient text-base font-semibold text-primary-foreground`,children:g})]}),(0,M.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-1`,children:[(0,M.jsx)(`h2`,{className:`truncate text-xl font-semibold tracking-tight`,children:n?.name||e(`profile.namePlaceholder`)}),(0,M.jsx)(`p`,{className:`truncate text-sm text-muted-foreground`,children:n?.email})]}),(0,M.jsxs)(Q,{type:`button`,variant:`outline`,size:`sm`,onClick:m,disabled:u,className:`self-start sm:self-auto`,children:[(0,M.jsx)(zy,{className:`mr-2 h-4 w-4`}),e(u?`profile.avatarUploading`:`profile.changeAvatar`)]}),(0,M.jsx)(`input`,{ref:f,type:`file`,accept:`image/*`,className:`hidden`,onChange:h})]})})]}),(0,M.jsxs)($,{children:[(0,M.jsxs)(sN,{children:[(0,M.jsx)(cN,{className:`text-base`,children:e(`profile.title`)}),(0,M.jsx)(lN,{children:e(`profile.description`)})]}),(0,M.jsx)(uN,{children:(0,M.jsxs)(`form`,{onSubmit:p,className:`space-y-4`,children:[(0,M.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,M.jsx)(yN,{htmlFor:`profile-email`,children:e(`profile.email`)}),(0,M.jsx)(Vx,{id:`profile-email`,value:n?.email??``,disabled:!0})]}),(0,M.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,M.jsx)(yN,{htmlFor:`profile-name`,children:e(`profile.name`)}),(0,M.jsx)(Vx,{id:`profile-name`,value:i,onChange:e=>a(e.target.value),placeholder:e(`profile.namePlaceholder`)})]}),(0,M.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e(`profile.avatarHint`)}),(0,M.jsx)(Q,{type:`submit`,disabled:c,className:`bg-brand-gradient text-primary-foreground shadow-sm shadow-primary/20 transition-all hover:opacity-95 hover:shadow-md hover:shadow-primary/30`,children:e(c?`common.saving`:`profile.save`)})]})})]})]})}var kP=sa(`/account/linked-accounts`)({component:jP}),AP={google:`Google`,github:`GitHub`,microsoft:`Microsoft`,apple:`Apple`,discord:`Discord`,gitlab:`GitLab`,twitter:`Twitter / X`,facebook:`Facebook`};function jP(){let{t:e}=vt(),t=Rg(),[n,r]=(0,j.useState)([]),[i,a]=(0,j.useState)(!0),[o,s]=(0,j.useState)(null),c=(0,j.useCallback)(async()=>{if(t?.auth?.accounts){a(!0);try{let e=await t.auth.accounts.list();r(e?.accounts??e?.data??(Array.isArray(e)?e:[]))}catch{r([])}finally{a(!1)}}},[t]);(0,j.useEffect)(()=>{c()},[c]);let l=async n=>{if(confirm(e(`linkedAccounts.unlinkConfirm`,{provider:AP[n.providerId]??n.providerId}))){s(n.id);try{await t.auth.accounts.unlink({providerId:n.providerId,accountId:n.accountId}),q({title:e(`linkedAccounts.unlinked`)}),await c()}catch(t){q({title:e(`linkedAccounts.unlinkFailed`),description:t.message,variant:`destructive`})}finally{s(null)}}},u=async n=>{try{let r=await t.auth.accounts.linkSocial({provider:n,callbackURL:window.location.href}),i=r?.url??r?.data?.url;i?window.location.assign(i):q({title:e(`linkedAccounts.linkFailed`),variant:`destructive`})}catch(t){q({title:e(`linkedAccounts.linkFailed`),description:t.message,variant:`destructive`})}},d=new Set(n.map(e=>e.providerId)),f=Object.keys(AP).filter(e=>!d.has(e));return(0,M.jsxs)(`div`,{className:`space-y-6`,children:[(0,M.jsx)(HN,{icon:Sy,title:e(`linkedAccounts.title`),description:e(`linkedAccounts.description`)}),(0,M.jsxs)($,{children:[(0,M.jsxs)(sN,{children:[(0,M.jsx)(cN,{className:`text-base`,children:e(`linkedAccounts.connectedTitle`,{defaultValue:`Connected providers`})}),(0,M.jsx)(lN,{children:e(`linkedAccounts.connectedDescription`,{defaultValue:`Sign-in providers currently linked to this account.`})})]}),(0,M.jsxs)(uN,{children:[i&&(0,M.jsxs)(`div`,{className:`space-y-3`,children:[(0,M.jsx)(Mw,{className:`h-12 w-full`}),(0,M.jsx)(Mw,{className:`h-12 w-full`})]}),!i&&n.length===0&&(0,M.jsxs)(`div`,{className:`text-center py-8`,children:[(0,M.jsx)(Sy,{className:`mx-auto h-12 w-12 text-muted-foreground/50`}),(0,M.jsx)(`p`,{className:`mt-4 text-sm text-muted-foreground`,children:e(`linkedAccounts.empty`)})]}),!i&&n.length>0&&(0,M.jsx)(`div`,{className:`divide-y`,children:n.map(t=>(0,M.jsxs)(`div`,{className:`flex items-center justify-between py-3`,children:[(0,M.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,M.jsx)(VN,{variant:`secondary`,children:AP[t.providerId]??t.providerId}),t.createdAt&&(0,M.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:e(`linkedAccounts.linkedOn`,{date:new Date(t.createdAt).toLocaleDateString()})})]}),(0,M.jsxs)(Q,{variant:`ghost`,size:`sm`,disabled:o===t.id,onClick:()=>l(t),children:[(0,M.jsx)(xy,{className:`mr-1 h-4 w-4`}),e(`linkedAccounts.unlink`)]})]},t.id))})]})]}),f.length>0&&(0,M.jsxs)($,{children:[(0,M.jsxs)(sN,{children:[(0,M.jsx)(cN,{className:`text-base`,children:e(`linkedAccounts.addTitle`)}),(0,M.jsx)(lN,{children:e(`linkedAccounts.addDescription`)})]}),(0,M.jsx)(uN,{children:(0,M.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:f.map(e=>(0,M.jsxs)(Q,{variant:`outline`,size:`sm`,onClick:()=>u(e),children:[(0,M.jsx)(Oy,{className:`mr-1 h-3 w-3`}),AP[e]]},e))})})]})]})}function MP(e){let t=Rg(),[n,r]=(0,j.useState)([]),[i,a]=(0,j.useState)(!1),[o,s]=(0,j.useState)(null),c=(0,j.useCallback)(async()=>{if(!(!e||!t?.organizations)){a(!0),s(null);try{let n=await t.organizations.listMembers(e);r(n?.members??n?.data?.members??(Array.isArray(n)?n:[]))}catch(e){s(e),r([])}finally{a(!1)}}},[t,e]);return(0,j.useEffect)(()=>{c()},[c]),{members:n,loading:i,error:o,reload:c,inviteMember:(0,j.useCallback)(async(n,r=`member`)=>{if(!e||!t?.organizations)throw Error(`Organization ID or client not available`);let i=await t.organizations.invite({email:n,role:r,organizationId:e});return await c(),i},[t,e,c]),removeMember:(0,j.useCallback)(async n=>{if(!e||!t?.organizations?.removeMember)throw Error(`Organization ID or client not available`);let r=await t.organizations.removeMember(e,{memberIdOrEmail:n});return await c(),r},[t,e,c]),updateMemberRole:(0,j.useCallback)(async(n,r)=>{if(!e||!t?.organizations?.updateMemberRole)throw Error(`Organization ID or client not available`);let i=await t.organizations.updateMemberRole(e,{memberId:n,role:r});return await c(),i},[t,e,c])}}function NP(e){let t=Rg(),[n,r]=(0,j.useState)([]),[i,a]=(0,j.useState)(!1),[o,s]=(0,j.useState)(null),c=(0,j.useCallback)(async()=>{if(!(!e||!t?.organizations?.invitations)){a(!0),s(null);try{let n=await t.organizations.invitations.list(e);r(n?.invitations??n?.data?.invitations??(Array.isArray(n)?n:[]))}catch(e){s(e),r([])}finally{a(!1)}}},[t,e]);return(0,j.useEffect)(()=>{c()},[c]),{invitations:n,loading:i,error:o,reload:c,cancelInvitation:(0,j.useCallback)(async e=>{if(!t?.organizations?.invitations?.cancel)throw Error(`Client not available`);let n=await t.organizations.invitations.cancel(e);return await c(),n},[t,c]),resendInvitation:(0,j.useCallback)(async e=>{if(!t?.organizations?.invitations?.resend)throw Error(`Client not available`);let n=await t.organizations.invitations.resend({id:e.id,email:e.email,role:e.role,organizationId:e.organizationId,teamId:e.teamId??null});return await c(),n},[t,c])}}function PP(){let e=Rg(),[t,n]=(0,j.useState)([]),[r,i]=(0,j.useState)(!1),[a,o]=(0,j.useState)(null),s=(0,j.useCallback)(async()=>{if(e?.organizations?.invitations?.listMine){i(!0),o(null);try{let t=await e.organizations.invitations.listMine();n(t?.invitations??t?.data?.invitations??(Array.isArray(t)?t:[]))}catch(e){o(e),n([])}finally{i(!1)}}},[e]);return(0,j.useEffect)(()=>{s()},[s]),{invitations:t,loading:r,error:a,reload:s,accept:(0,j.useCallback)(async t=>{let n=await e.organizations.invitations.accept(t);return await s(),n},[e,s]),reject:(0,j.useCallback)(async t=>{let n=await e.organizations.invitations.reject(t);return await s(),n},[e,s])}}var FP=sa(`/account/invitations`)({component:IP});function IP(){let{t:e}=vt(),{invitations:t,loading:n,accept:r,reject:i}=PP(),a=t.filter(e=>e.status===`pending`),o=async t=>{try{await r(t),q({title:e(`invitations.accepted`)})}catch(t){q({title:e(`invitations.acceptFailed`),description:t.message,variant:`destructive`})}},s=async t=>{try{await i(t),q({title:e(`invitations.rejected`)})}catch(t){q({title:e(`invitations.rejectFailed`),description:t.message,variant:`destructive`})}};return(0,M.jsxs)(`div`,{className:`space-y-6`,children:[(0,M.jsx)(HN,{icon:vy,title:e(`invitations.title`),description:e(`invitations.description`),actions:a.length>0?(0,M.jsx)(VN,{variant:`outline`,className:`font-medium`,children:e(`invitations.pendingCount`,{count:a.length,defaultValue:`{{count}} pending`})}):null}),(0,M.jsxs)($,{children:[(0,M.jsxs)(sN,{children:[(0,M.jsx)(cN,{className:`text-base`,children:e(`invitations.pendingTitle`,{defaultValue:`Pending invitations`})}),(0,M.jsx)(lN,{children:e(`invitations.pendingDescription`,{defaultValue:`Accept to join an organization, or reject to remove it from your inbox.`})})]}),(0,M.jsxs)(uN,{children:[n&&(0,M.jsxs)(`div`,{className:`space-y-3`,children:[(0,M.jsx)(Mw,{className:`h-12 w-full`}),(0,M.jsx)(Mw,{className:`h-12 w-full`})]}),!n&&a.length===0&&(0,M.jsxs)(`div`,{className:`text-center py-8`,children:[(0,M.jsx)(vy,{className:`mx-auto h-12 w-12 text-muted-foreground/50`}),(0,M.jsx)(`p`,{className:`mt-4 text-sm text-muted-foreground`,children:e(`invitations.empty`)})]}),!n&&a.length>0&&(0,M.jsx)(`div`,{className:`divide-y`,children:a.map(t=>(0,M.jsxs)(`div`,{className:`flex items-center justify-between py-3`,children:[(0,M.jsxs)(`div`,{className:`flex-1`,children:[(0,M.jsx)(`div`,{className:`text-sm font-medium`,children:t.organizationId}),(0,M.jsxs)(`div`,{className:`flex items-center gap-2 mt-1`,children:[(0,M.jsx)(VN,{variant:`outline`,className:`text-xs`,children:e(`common.roles.${t.role}`)}),(0,M.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:e(`invitations.expires`,{date:new Date(t.expiresAt).toLocaleDateString()})})]})]}),(0,M.jsxs)(`div`,{className:`flex gap-2`,children:[(0,M.jsxs)(Q,{size:`sm`,onClick:()=>o(t.id),children:[(0,M.jsx)(ry,{className:`mr-1 h-4 w-4`}),e(`invitations.accept`)]}),(0,M.jsxs)(Q,{size:`sm`,variant:`outline`,onClick:()=>s(t.id),children:[(0,M.jsx)(Gy,{className:`mr-1 h-4 w-4`}),e(`invitations.reject`)]})]})]},t.id))})]})]})]})}var LP=sa(`/accept-invitation/$invitationId`)({component:RP});function RP(){let{t:e}=vt(),{invitationId:t}=LP.useParams(),n=N(),r=Rg(),{user:i,loading:a,reloadOrganizations:o}=zM(),[s,c]=(0,j.useState)(!1),[l,u]=(0,j.useState)(!1);return(0,j.useEffect)(()=>{a||i||n({to:`/login`,search:{redirect:`/accept-invitation/${t}`},replace:!0})},[a,i,t,n]),(0,M.jsx)(`div`,{className:`flex min-h-svh w-full flex-col items-center justify-center gap-6 bg-muted p-6 md:p-10`,children:(0,M.jsxs)(`div`,{className:`flex w-full max-w-sm flex-col gap-6`,children:[(0,M.jsxs)(`a`,{href:`#`,className:`flex items-center gap-2 self-center font-medium`,children:[(0,M.jsx)(`div`,{className:`flex size-6 items-center justify-center rounded-md bg-primary text-primary-foreground`,children:(0,M.jsx)(hy,{className:`size-4`})}),`ObjectStack`]}),(0,M.jsxs)($,{children:[(0,M.jsxs)(sN,{className:`text-center`,children:[(0,M.jsx)(cN,{className:`text-xl`,children:e(`acceptInvitation.title`)}),(0,M.jsx)(lN,{children:e(`acceptInvitation.description`)})]}),(0,M.jsxs)(uN,{className:`flex flex-col gap-3`,children:[(0,M.jsx)(Q,{className:`w-full`,onClick:async()=>{c(!0);try{await r.organizations.invitations.accept(t),await o().catch(()=>{}),q({title:e(`acceptInvitation.accepted`)}),n({to:`/organizations`})}catch(t){q({title:e(`acceptInvitation.acceptFailed`),description:t.message,variant:`destructive`})}finally{c(!1)}},disabled:s||l,children:e(s?`acceptInvitation.accepting`:`acceptInvitation.accept`)}),(0,M.jsx)(Q,{variant:`outline`,className:`w-full`,onClick:async()=>{u(!0);try{await r.organizations.invitations.reject(t),q({title:e(`acceptInvitation.declined`)}),n({to:`/organizations`})}catch(t){q({title:e(`acceptInvitation.declineFailed`),description:t.message,variant:`destructive`})}finally{u(!1)}},disabled:s||l,children:e(l?`acceptInvitation.declining`:`acceptInvitation.decline`)})]})]})]})})}var zP=sa(`/organizations/$orgId/`)({component:()=>{let{orgId:e}=zP.useParams();return(0,M.jsx)(Vi,{to:`/organizations/$orgId/general`,params:{orgId:e},replace:!0})}}),BP=sa(`/account/oauth-applications/`)({component:VP});function VP(){let{t:e}=vt(),t=N(),{applications:n,loading:r,reload:i}=$N(),{remove:a,deleting:o}=tP(),[s,c]=(0,j.useState)(null);return(0,M.jsxs)(`div`,{className:`space-y-6`,children:[(0,M.jsx)(HN,{icon:yy,title:e(`oauth.applications.title`),description:e(`oauth.applications.description`),actions:(0,M.jsxs)(Q,{onClick:()=>t({to:`/account/oauth-applications/new`}),className:`bg-brand-gradient text-primary-foreground shadow-sm shadow-primary/20 transition-all hover:opacity-95 hover:shadow-md hover:shadow-primary/30`,children:[(0,M.jsx)(Oy,{className:`mr-2 h-4 w-4`}),e(`oauth.applications.new`)]})}),r?(0,M.jsx)(`div`,{className:`space-y-3`,children:[0,1,2].map(e=>(0,M.jsx)($,{children:(0,M.jsxs)(uN,{className:`flex items-center gap-3 p-4`,children:[(0,M.jsx)(Mw,{className:`size-10 rounded-md`}),(0,M.jsxs)(`div`,{className:`flex-1 space-y-2`,children:[(0,M.jsx)(Mw,{className:`h-4 w-40`}),(0,M.jsx)(Mw,{className:`h-3 w-64`})]})]})},e))}):n.length===0?(0,M.jsx)($,{children:(0,M.jsxs)(uN,{className:`flex flex-col items-center gap-3 p-12 text-center`,children:[(0,M.jsx)(`div`,{className:`flex size-12 items-center justify-center rounded-lg bg-brand-gradient-subtle text-primary ring-1 ring-primary/15`,children:(0,M.jsx)(yy,{className:`h-6 w-6`})}),(0,M.jsxs)(`div`,{children:[(0,M.jsx)(`p`,{className:`font-medium`,children:e(`oauth.applications.emptyTitle`)}),(0,M.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:e(`oauth.applications.emptyDescription`)})]}),(0,M.jsxs)(Q,{onClick:()=>t({to:`/account/oauth-applications/new`}),className:`bg-brand-gradient text-primary-foreground shadow-sm shadow-primary/20`,children:[(0,M.jsx)(Oy,{className:`mr-2 h-4 w-4`}),e(`oauth.applications.register`)]})]})}):(0,M.jsx)(`div`,{className:`grid gap-3`,children:n.map(t=>(0,M.jsx)($,{className:`group transition-all hover:-translate-y-0.5 hover:border-primary/30 hover:shadow-md hover:shadow-primary/5`,children:(0,M.jsx)(sN,{className:`pb-3`,children:(0,M.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,M.jsxs)(ta,{to:`/account/oauth-applications/$clientId`,params:{clientId:t.client_id},className:`flex flex-1 items-center gap-3`,children:[(0,M.jsx)(`div`,{className:`flex size-10 shrink-0 items-center justify-center rounded-md bg-brand-gradient-subtle text-primary ring-1 ring-primary/15 transition-transform group-hover:scale-105`,children:(0,M.jsx)(yy,{className:`h-5 w-5`})}),(0,M.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,M.jsx)(cN,{className:`text-base`,children:t.name}),(0,M.jsx)(lN,{className:`font-mono text-xs`,children:t.client_id})]}),(0,M.jsx)(VN,{variant:`outline`,className:`capitalize`,children:t.type}),t.disabled&&(0,M.jsx)(VN,{variant:`destructive`,children:e(`oauth.applications.disabled`)})]}),(0,M.jsx)(Q,{variant:`ghost`,size:`icon`,className:`text-muted-foreground hover:text-destructive`,onClick:e=>{e.preventDefault(),e.stopPropagation(),c(t)},children:(0,M.jsx)(Ly,{className:`h-4 w-4`})})]})})},t.id))}),(0,M.jsx)(_P,{open:!!s,onOpenChange:e=>!e&&c(null),children:(0,M.jsxs)(bP,{children:[(0,M.jsxs)(xP,{children:[(0,M.jsx)(CP,{children:e(`oauth.applications.deleteDialogTitle`)}),(0,M.jsx)(wP,{children:e(`oauth.applications.deleteDialogDescription`,{name:s?.name??``})})]}),(0,M.jsxs)(SP,{children:[(0,M.jsx)(Q,{variant:`outline`,onClick:()=>c(null),disabled:o,children:e(`common.cancel`)}),(0,M.jsx)(Q,{variant:`destructive`,onClick:async()=>{if(s)try{await a(s.client_id),q({title:e(`oauth.applications.deleted`)}),c(null),await i()}catch(t){q({title:e(`oauth.applications.deleteFailed`),description:t.message,variant:`destructive`})}},disabled:o,children:e(o?`oauth.applications.deleting`:`common.delete`)})]})]})})]})}function HP(e,[t,n]){return Math.min(n,Math.max(t,e))}function UP(e){let t=j.useRef({value:e,previous:e});return j.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var WP=[` `,`Enter`,`ArrowUp`,`ArrowDown`],GP=[` `,`Enter`],KP=`Select`,[qP,JP,YP]=l_(KP),[XP,ZP]=e_(KP,[YP,ZE]),QP=ZE(),[$P,eF]=XP(KP),[tF,nF]=XP(KP),rF=e=>{let{__scopeSelect:t,children:n,open:r,defaultOpen:i,onOpenChange:a,value:o,defaultValue:s,onValueChange:c,dir:l,name:u,autoComplete:d,disabled:f,required:p,form:m}=e,h=QP(t),[g,_]=j.useState(null),[v,y]=j.useState(null),[b,x]=j.useState(!1),S=KO(l),[C,w]=R_({prop:r,defaultProp:i??!1,onChange:a,caller:KP}),[T,E]=R_({prop:o,defaultProp:s,onChange:c,caller:KP}),D=j.useRef(null),O=g?m||!!g.closest(`form`):!0,[ee,te]=j.useState(new Set),ne=Array.from(ee).map(e=>e.props.value).join(`;`);return(0,M.jsx)(pD,{...h,children:(0,M.jsxs)($P,{required:p,scope:t,trigger:g,onTriggerChange:_,valueNode:v,onValueNodeChange:y,valueNodeHasChildren:b,onValueNodeHasChildrenChange:x,contentId:Qx(),value:T,onValueChange:E,open:C,onOpenChange:w,dir:S,triggerPointerDownPosRef:D,disabled:f,children:[(0,M.jsx)(qP.Provider,{scope:t,children:(0,M.jsx)(tF,{scope:e.__scopeSelect,onNativeOptionAdd:j.useCallback(e=>{te(t=>new Set(t).add(e))},[]),onNativeOptionRemove:j.useCallback(e=>{te(t=>{let n=new Set(t);return n.delete(e),n})},[]),children:n})}),O?(0,M.jsxs)(QF,{"aria-hidden":!0,required:p,tabIndex:-1,name:u,autoComplete:d,value:T,onChange:e=>E(e.target.value),disabled:f,form:m,children:[T===void 0?(0,M.jsx)(`option`,{value:``}):null,Array.from(ee)]},ne):null]})})};rF.displayName=KP;var iF=`SelectTrigger`,aF=j.forwardRef((e,t)=>{let{__scopeSelect:n,disabled:r=!1,...i}=e,a=QP(n),o=eF(iF,n),s=o.disabled||r,c=Qg(t,o.onTriggerChange),l=JP(n),u=j.useRef(`touch`),[d,f,p]=eI(e=>{let t=l().filter(e=>!e.disabled),n=tI(t,e,t.find(e=>e.value===o.value));n!==void 0&&o.onValueChange(n.value)}),m=e=>{s||(o.onOpenChange(!0),p()),e&&(o.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})};return(0,M.jsx)(mD,{asChild:!0,...a,children:(0,M.jsx)(u_.button,{type:`button`,role:`combobox`,"aria-controls":o.contentId,"aria-expanded":o.open,"aria-required":o.required,"aria-autocomplete":`none`,dir:o.dir,"data-state":o.open?`open`:`closed`,disabled:s,"data-disabled":s?``:void 0,"data-placeholder":$F(o.value)?``:void 0,...i,ref:c,onClick:J(i.onClick,e=>{e.currentTarget.focus(),u.current!==`mouse`&&m(e)}),onPointerDown:J(i.onPointerDown,e=>{u.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),e.button===0&&e.ctrlKey===!1&&e.pointerType===`mouse`&&(m(e),e.preventDefault())}),onKeyDown:J(i.onKeyDown,e=>{let t=d.current!==``;!(e.ctrlKey||e.altKey||e.metaKey)&&e.key.length===1&&f(e.key),!(t&&e.key===` `)&&WP.includes(e.key)&&(m(),e.preventDefault())})})})});aF.displayName=iF;var oF=`SelectValue`,sF=j.forwardRef((e,t)=>{let{__scopeSelect:n,className:r,style:i,children:a,placeholder:o=``,...s}=e,c=eF(oF,n),{onValueNodeHasChildrenChange:l}=c,u=a!==void 0,d=Qg(t,c.onValueNodeChange);return k_(()=>{l(u)},[l,u]),(0,M.jsx)(u_.span,{...s,ref:d,style:{pointerEvents:`none`},children:$F(c.value)?(0,M.jsx)(M.Fragment,{children:o}):a})});sF.displayName=oF;var cF=`SelectIcon`,lF=j.forwardRef((e,t)=>{let{__scopeSelect:n,children:r,...i}=e;return(0,M.jsx)(u_.span,{"aria-hidden":!0,...i,ref:t,children:r||`▼`})});lF.displayName=cF;var uF=`SelectPortal`,dF=e=>(0,M.jsx)(j_,{asChild:!0,...e});dF.displayName=uF;var fF=`SelectContent`,pF=j.forwardRef((e,t)=>{let n=eF(fF,e.__scopeSelect),[r,i]=j.useState();if(k_(()=>{i(new DocumentFragment)},[]),!n.open){let t=r;return t?Ui.createPortal((0,M.jsx)(hF,{scope:e.__scopeSelect,children:(0,M.jsx)(qP.Slot,{scope:e.__scopeSelect,children:(0,M.jsx)(`div`,{children:e.children})})}),t):null}return(0,M.jsx)(yF,{...e,ref:t})});pF.displayName=fF;var mF=10,[hF,gF]=XP(fF),_F=`SelectContentImpl`,vF=n_(`SelectContent.RemoveScroll`),yF=j.forwardRef((e,t)=>{let{__scopeSelect:n,position:r=`item-aligned`,onCloseAutoFocus:i,onEscapeKeyDown:a,onPointerDownOutside:o,side:s,sideOffset:c,align:l,alignOffset:u,arrowPadding:d,collisionBoundary:f,collisionPadding:p,sticky:m,hideWhenDetached:h,avoidCollisions:g,..._}=e,v=eF(fF,n),[y,b]=j.useState(null),[x,S]=j.useState(null),C=Qg(t,e=>b(e)),[w,T]=j.useState(null),[E,D]=j.useState(null),O=JP(n),[ee,te]=j.useState(!1),ne=j.useRef(!1);j.useEffect(()=>{if(y)return FC(y)},[y]),gS();let re=j.useCallback(e=>{let[t,...n]=O().map(e=>e.ref.current),[r]=n.slice(-1),i=document.activeElement;for(let n of e)if(n===i||(n?.scrollIntoView({block:`nearest`}),n===t&&x&&(x.scrollTop=0),n===r&&x&&(x.scrollTop=x.scrollHeight),n?.focus(),document.activeElement!==i))return},[O,x]),ie=j.useCallback(()=>re([w,y]),[re,w,y]);j.useEffect(()=>{ee&&ie()},[ee,ie]);let{onOpenChange:ae,triggerPointerDownPosRef:oe}=v;j.useEffect(()=>{if(y){let e={x:0,y:0},t=t=>{e={x:Math.abs(Math.round(t.pageX)-(oe.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(oe.current?.y??0))}},n=n=>{e.x<=10&&e.y<=10?n.preventDefault():y.contains(n.target)||ae(!1),document.removeEventListener(`pointermove`,t),oe.current=null};return oe.current!==null&&(document.addEventListener(`pointermove`,t),document.addEventListener(`pointerup`,n,{capture:!0,once:!0})),()=>{document.removeEventListener(`pointermove`,t),document.removeEventListener(`pointerup`,n,{capture:!0})}}},[y,ae,oe]),j.useEffect(()=>{let e=()=>ae(!1);return window.addEventListener(`blur`,e),window.addEventListener(`resize`,e),()=>{window.removeEventListener(`blur`,e),window.removeEventListener(`resize`,e)}},[ae]);let[k,se]=eI(e=>{let t=O().filter(e=>!e.disabled),n=tI(t,e,t.find(e=>e.ref.current===document.activeElement));n&&setTimeout(()=>n.ref.current.focus())}),ce=j.useCallback((e,t,n)=>{let r=!ne.current&&!n;(v.value!==void 0&&v.value===t||r)&&(T(e),r&&(ne.current=!0))},[v.value]),le=j.useCallback(()=>y?.focus(),[y]),ue=j.useCallback((e,t,n)=>{let r=!ne.current&&!n;(v.value!==void 0&&v.value===t||r)&&D(e)},[v.value]),A=r===`popper`?CF:xF,de=A===CF?{side:s,sideOffset:c,align:l,alignOffset:u,arrowPadding:d,collisionBoundary:f,collisionPadding:p,sticky:m,hideWhenDetached:h,avoidCollisions:g}:{};return(0,M.jsx)(hF,{scope:n,content:y,viewport:x,onViewportChange:S,itemRefCallback:ce,selectedItem:w,onItemLeave:le,itemTextRefCallback:ue,focusSelectedItem:ie,selectedItemText:E,position:r,isPositioned:ee,searchRef:k,children:(0,M.jsx)(EC,{as:vF,allowPinchZoom:!0,children:(0,M.jsx)(rS,{asChild:!0,trapped:v.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:J(i,e=>{v.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:(0,M.jsx)(b_,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:a,onPointerDownOutside:o,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>v.onOpenChange(!1),children:(0,M.jsx)(A,{role:`listbox`,id:v.contentId,"data-state":v.open?`open`:`closed`,dir:v.dir,onContextMenu:e=>e.preventDefault(),..._,...de,onPlaced:()=>te(!0),ref:C,style:{display:`flex`,flexDirection:`column`,outline:`none`,..._.style},onKeyDown:J(_.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if(e.key===`Tab`&&e.preventDefault(),!t&&e.key.length===1&&se(e.key),[`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(e.key)){let t=O().filter(e=>!e.disabled).map(e=>e.ref.current);if([`ArrowUp`,`End`].includes(e.key)&&(t=t.slice().reverse()),[`ArrowUp`,`ArrowDown`].includes(e.key)){let n=e.target,r=t.indexOf(n);t=t.slice(r+1)}setTimeout(()=>re(t)),e.preventDefault()}})})})})})})});yF.displayName=_F;var bF=`SelectItemAlignedPosition`,xF=j.forwardRef((e,t)=>{let{__scopeSelect:n,onPlaced:r,...i}=e,a=eF(fF,n),o=gF(fF,n),[s,c]=j.useState(null),[l,u]=j.useState(null),d=Qg(t,e=>u(e)),f=JP(n),p=j.useRef(!1),m=j.useRef(!0),{viewport:h,selectedItem:g,selectedItemText:_,focusSelectedItem:v}=o,y=j.useCallback(()=>{if(a.trigger&&a.valueNode&&s&&l&&h&&g&&_){let e=a.trigger.getBoundingClientRect(),t=l.getBoundingClientRect(),n=a.valueNode.getBoundingClientRect(),i=_.getBoundingClientRect();if(a.dir!==`rtl`){let r=i.left-t.left,a=n.left-r,o=e.left-a,c=e.width+o,l=Math.max(c,t.width),u=window.innerWidth-mF,d=HP(a,[mF,Math.max(mF,u-l)]);s.style.minWidth=c+`px`,s.style.left=d+`px`}else{let r=t.right-i.right,a=window.innerWidth-n.right-r,o=window.innerWidth-e.right-a,c=e.width+o,l=Math.max(c,t.width),u=window.innerWidth-mF,d=HP(a,[mF,Math.max(mF,u-l)]);s.style.minWidth=c+`px`,s.style.right=d+`px`}let o=f(),c=window.innerHeight-mF*2,u=h.scrollHeight,d=window.getComputedStyle(l),m=parseInt(d.borderTopWidth,10),v=parseInt(d.paddingTop,10),y=parseInt(d.borderBottomWidth,10),b=parseInt(d.paddingBottom,10),x=m+v+u+b+y,S=Math.min(g.offsetHeight*5,x),C=window.getComputedStyle(h),w=parseInt(C.paddingTop,10),T=parseInt(C.paddingBottom,10),E=e.top+e.height/2-mF,D=c-E,O=g.offsetHeight/2,ee=g.offsetTop+O,te=m+v+ee,ne=x-te;if(te<=E){let e=o.length>0&&g===o[o.length-1].ref.current;s.style.bottom=`0px`;let t=l.clientHeight-h.offsetTop-h.offsetHeight,n=te+Math.max(D,O+(e?T:0)+t+y);s.style.height=n+`px`}else{let e=o.length>0&&g===o[0].ref.current;s.style.top=`0px`;let t=Math.max(E,m+h.offsetTop+(e?w:0)+O)+ne;s.style.height=t+`px`,h.scrollTop=te-E+h.offsetTop}s.style.margin=`${mF}px 0`,s.style.minHeight=S+`px`,s.style.maxHeight=c+`px`,r?.(),requestAnimationFrame(()=>p.current=!0)}},[f,a.trigger,a.valueNode,s,l,h,g,_,a.dir,r]);k_(()=>y(),[y]);let[b,x]=j.useState();return k_(()=>{l&&x(window.getComputedStyle(l).zIndex)},[l]),(0,M.jsx)(wF,{scope:n,contentWrapper:s,shouldExpandOnScrollRef:p,onScrollButtonChange:j.useCallback(e=>{e&&m.current===!0&&(y(),v?.(),m.current=!1)},[y,v]),children:(0,M.jsx)(`div`,{ref:c,style:{display:`flex`,flexDirection:`column`,position:`fixed`,zIndex:b},children:(0,M.jsx)(u_.div,{...i,ref:d,style:{boxSizing:`border-box`,maxHeight:`100%`,...i.style}})})})});xF.displayName=bF;var SF=`SelectPopperPosition`,CF=j.forwardRef((e,t)=>{let{__scopeSelect:n,align:r=`start`,collisionPadding:i=mF,...a}=e,o=QP(n);return(0,M.jsx)(hD,{...o,...a,ref:t,align:r,collisionPadding:i,style:{boxSizing:`border-box`,...a.style,"--radix-select-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-select-content-available-width":`var(--radix-popper-available-width)`,"--radix-select-content-available-height":`var(--radix-popper-available-height)`,"--radix-select-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-select-trigger-height":`var(--radix-popper-anchor-height)`}})});CF.displayName=SF;var[wF,TF]=XP(fF,{}),EF=`SelectViewport`,DF=j.forwardRef((e,t)=>{let{__scopeSelect:n,nonce:r,...i}=e,a=gF(EF,n),o=TF(EF,n),s=Qg(t,a.onViewportChange),c=j.useRef(0);return(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`},nonce:r}),(0,M.jsx)(qP.Slot,{scope:n,children:(0,M.jsx)(u_.div,{"data-radix-select-viewport":``,role:`presentation`,...i,ref:s,style:{position:`relative`,flex:1,overflow:`hidden auto`,...i.style},onScroll:J(i.onScroll,e=>{let t=e.currentTarget,{contentWrapper:n,shouldExpandOnScrollRef:r}=o;if(r?.current&&n){let e=Math.abs(c.current-t.scrollTop);if(e>0){let r=window.innerHeight-mF*2,i=parseFloat(n.style.minHeight),a=parseFloat(n.style.height),o=Math.max(i,a);if(o<r){let i=o+e,a=Math.min(r,i),s=i-a;n.style.height=a+`px`,n.style.bottom===`0px`&&(t.scrollTop=s>0?s:0,n.style.justifyContent=`flex-end`)}}}c.current=t.scrollTop})})})]})});DF.displayName=EF;var OF=`SelectGroup`,[kF,AF]=XP(OF),jF=j.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=Qx();return(0,M.jsx)(kF,{scope:n,id:i,children:(0,M.jsx)(u_.div,{role:`group`,"aria-labelledby":i,...r,ref:t})})});jF.displayName=OF;var MF=`SelectLabel`,NF=j.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=AF(MF,n);return(0,M.jsx)(u_.div,{id:i.id,...r,ref:t})});NF.displayName=MF;var PF=`SelectItem`,[FF,IF]=XP(PF),LF=j.forwardRef((e,t)=>{let{__scopeSelect:n,value:r,disabled:i=!1,textValue:a,...o}=e,s=eF(PF,n),c=gF(PF,n),l=s.value===r,[u,d]=j.useState(a??``),[f,p]=j.useState(!1),m=Qg(t,e=>c.itemRefCallback?.(e,r,i)),h=Qx(),g=j.useRef(`touch`),_=()=>{i||(s.onValueChange(r),s.onOpenChange(!1))};if(r===``)throw Error(`A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.`);return(0,M.jsx)(FF,{scope:n,value:r,disabled:i,textId:h,isSelected:l,onItemTextChange:j.useCallback(e=>{d(t=>t||(e?.textContent??``).trim())},[]),children:(0,M.jsx)(qP.ItemSlot,{scope:n,value:r,disabled:i,textValue:u,children:(0,M.jsx)(u_.div,{role:`option`,"aria-labelledby":h,"data-highlighted":f?``:void 0,"aria-selected":l&&f,"data-state":l?`checked`:`unchecked`,"aria-disabled":i||void 0,"data-disabled":i?``:void 0,tabIndex:i?void 0:-1,...o,ref:m,onFocus:J(o.onFocus,()=>p(!0)),onBlur:J(o.onBlur,()=>p(!1)),onClick:J(o.onClick,()=>{g.current!==`mouse`&&_()}),onPointerUp:J(o.onPointerUp,()=>{g.current===`mouse`&&_()}),onPointerDown:J(o.onPointerDown,e=>{g.current=e.pointerType}),onPointerMove:J(o.onPointerMove,e=>{g.current=e.pointerType,i?c.onItemLeave?.():g.current===`mouse`&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:J(o.onPointerLeave,e=>{e.currentTarget===document.activeElement&&c.onItemLeave?.()}),onKeyDown:J(o.onKeyDown,e=>{c.searchRef?.current!==``&&e.key===` `||(GP.includes(e.key)&&_(),e.key===` `&&e.preventDefault())})})})})});LF.displayName=PF;var RF=`SelectItemText`,zF=j.forwardRef((e,t)=>{let{__scopeSelect:n,className:r,style:i,...a}=e,o=eF(RF,n),s=gF(RF,n),c=IF(RF,n),l=nF(RF,n),[u,d]=j.useState(null),f=Qg(t,e=>d(e),c.onItemTextChange,e=>s.itemTextRefCallback?.(e,c.value,c.disabled)),p=u?.textContent,m=j.useMemo(()=>(0,M.jsx)(`option`,{value:c.value,disabled:c.disabled,children:p},c.value),[c.disabled,c.value,p]),{onNativeOptionAdd:h,onNativeOptionRemove:g}=l;return k_(()=>(h(m),()=>g(m)),[h,g,m]),(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(u_.span,{id:c.textId,...a,ref:f}),c.isSelected&&o.valueNode&&!o.valueNodeHasChildren?Ui.createPortal(a.children,o.valueNode):null]})});zF.displayName=RF;var BF=`SelectItemIndicator`,VF=j.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e;return IF(BF,n).isSelected?(0,M.jsx)(u_.span,{"aria-hidden":!0,...r,ref:t}):null});VF.displayName=BF;var HF=`SelectScrollUpButton`,UF=j.forwardRef((e,t)=>{let n=gF(HF,e.__scopeSelect),r=TF(HF,e.__scopeSelect),[i,a]=j.useState(!1),o=Qg(t,r.onScrollButtonChange);return k_(()=>{if(n.viewport&&n.isPositioned){let e=function(){a(t.scrollTop>0)},t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),i?(0,M.jsx)(KF,{...e,ref:o,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop-=t.offsetHeight)}}):null});UF.displayName=HF;var WF=`SelectScrollDownButton`,GF=j.forwardRef((e,t)=>{let n=gF(WF,e.__scopeSelect),r=TF(WF,e.__scopeSelect),[i,a]=j.useState(!1),o=Qg(t,r.onScrollButtonChange);return k_(()=>{if(n.viewport&&n.isPositioned){let e=function(){let e=t.scrollHeight-t.clientHeight;a(Math.ceil(t.scrollTop)<e)},t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),i?(0,M.jsx)(KF,{...e,ref:o,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop+=t.offsetHeight)}}):null});GF.displayName=WF;var KF=j.forwardRef((e,t)=>{let{__scopeSelect:n,onAutoScroll:r,...i}=e,a=gF(`SelectScrollButton`,n),o=j.useRef(null),s=JP(n),c=j.useCallback(()=>{o.current!==null&&(window.clearInterval(o.current),o.current=null)},[]);return j.useEffect(()=>()=>c(),[c]),k_(()=>{s().find(e=>e.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:`nearest`})},[s]),(0,M.jsx)(u_.div,{"aria-hidden":!0,...i,ref:t,style:{flexShrink:0,...i.style},onPointerDown:J(i.onPointerDown,()=>{o.current===null&&(o.current=window.setInterval(r,50))}),onPointerMove:J(i.onPointerMove,()=>{a.onItemLeave?.(),o.current===null&&(o.current=window.setInterval(r,50))}),onPointerLeave:J(i.onPointerLeave,()=>{c()})})}),qF=`SelectSeparator`,JF=j.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e;return(0,M.jsx)(u_.div,{"aria-hidden":!0,...r,ref:t})});JF.displayName=qF;var YF=`SelectArrow`,XF=j.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=QP(n),a=eF(YF,n),o=gF(YF,n);return a.open&&o.position===`popper`?(0,M.jsx)(gD,{...i,...r,ref:t}):null});XF.displayName=YF;var ZF=`SelectBubbleInput`,QF=j.forwardRef(({__scopeSelect:e,value:t,...n},r)=>{let i=j.useRef(null),a=Qg(r,i),o=UP(t);return j.useEffect(()=>{let e=i.current;if(!e)return;let n=window.HTMLSelectElement.prototype,r=Object.getOwnPropertyDescriptor(n,`value`).set;if(o!==t&&r){let n=new Event(`change`,{bubbles:!0});r.call(e,t),e.dispatchEvent(n)}},[o,t]),(0,M.jsx)(u_.select,{...n,style:{...V_,...n.style},ref:a,defaultValue:t})});QF.displayName=ZF;function $F(e){return e===``||e===void 0}function eI(e){let t=f_(e),n=j.useRef(``),r=j.useRef(0),i=j.useCallback(e=>{let i=n.current+e;t(i),(function e(t){n.current=t,window.clearTimeout(r.current),t!==``&&(r.current=window.setTimeout(()=>e(``),1e3))})(i)},[t]),a=j.useCallback(()=>{n.current=``,window.clearTimeout(r.current)},[]);return j.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,i,a]}function tI(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=nI(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.textValue.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}function nI(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var rI=rF,iI=aF,aI=sF,oI=lF,sI=dF,cI=pF,lI=DF,uI=NF,dI=LF,fI=zF,pI=VF,mI=UF,hI=GF,gI=JF,_I=rI,vI=aI,yI=j.forwardRef(({className:e,children:t,...n},r)=>(0,M.jsxs)(iI,{ref:r,className:Z(`flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1`,e),...n,children:[t,(0,M.jsx)(oI,{asChild:!0,children:(0,M.jsx)(iy,{className:`h-4 w-4 opacity-50`})})]}));yI.displayName=iI.displayName;var bI=j.forwardRef(({className:e,...t},n)=>(0,M.jsx)(mI,{ref:n,className:Z(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,M.jsx)(oy,{className:`h-4 w-4`})}));bI.displayName=mI.displayName;var xI=j.forwardRef(({className:e,...t},n)=>(0,M.jsx)(hI,{ref:n,className:Z(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,M.jsx)(iy,{className:`h-4 w-4`})}));xI.displayName=hI.displayName;var SI=j.forwardRef(({className:e,children:t,position:n=`popper`,...r},i)=>(0,M.jsx)(sI,{children:(0,M.jsxs)(cI,{ref:i,className:Z(`relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`,n===`popper`&&`data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1`,e),position:n,...r,children:[(0,M.jsx)(bI,{}),(0,M.jsx)(lI,{className:Z(`p-1`,n===`popper`&&`h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]`),children:t}),(0,M.jsx)(xI,{})]})}));SI.displayName=cI.displayName;var CI=j.forwardRef(({className:e,...t},n)=>(0,M.jsx)(uI,{ref:n,className:Z(`px-2 py-1.5 text-sm font-semibold`,e),...t}));CI.displayName=uI.displayName;var wI=j.forwardRef(({className:e,children:t,...n},r)=>(0,M.jsxs)(dI,{ref:r,className:Z(`relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,e),...n,children:[(0,M.jsx)(`span`,{className:`absolute right-2 flex h-3.5 w-3.5 items-center justify-center`,children:(0,M.jsx)(pI,{children:(0,M.jsx)(ry,{className:`h-4 w-4`})})}),(0,M.jsx)(fI,{children:t})]}));wI.displayName=dI.displayName;var TI=j.forwardRef(({className:e,...t},n)=>(0,M.jsx)(gI,{ref:n,className:Z(`-mx-1 my-1 h-px bg-muted`,e),...t}));TI.displayName=gI.displayName;var EI=sa(`/organizations/$orgId/teams`)({component:DI});function DI(){let{t:e}=vt(),{orgId:t}=EI.useParams(),n=Rg(),{members:r}=MP(t),[i,a]=(0,j.useState)([]),[o,s]=(0,j.useState)(!0),[c,l]=(0,j.useState)(!1),[u,d]=(0,j.useState)(``),[f,p]=(0,j.useState)(!1),[m,h]=(0,j.useState)(null),[g,_]=(0,j.useState)([]),[v,y]=(0,j.useState)(!1),[b,x]=(0,j.useState)(!1),[S,C]=(0,j.useState)(``),w=(0,j.useCallback)(async()=>{if(n?.organizations?.teams){s(!0);try{a((await n.organizations.teams.list(t))?.teams??[])}catch{a([])}finally{s(!1)}}},[n,t]);(0,j.useEffect)(()=>{w()},[w]);let T=(0,j.useCallback)(async e=>{if(n?.organizations?.teams){y(!0);try{_((await n.organizations.teams.listMembers(e))?.members??[])}catch{_([])}finally{y(!1)}}},[n]);(0,j.useEffect)(()=>{m&&T(m)},[m,T]);let E=async r=>{if(r.preventDefault(),u.trim()){p(!0);try{await n.organizations.teams.create({name:u.trim(),organizationId:t}),q({title:e(`teams.created`)}),l(!1),d(``),await w()}catch(t){q({title:e(`teams.createFailed`),description:t.message,variant:`destructive`})}finally{p(!1)}}},D=async r=>{if(confirm(e(`teams.deleteConfirm`,{name:r.name})))try{await n.organizations.teams.delete({teamId:r.id,organizationId:t}),q({title:e(`teams.deleted`)}),m===r.id&&h(null),await w()}catch(t){q({title:e(`teams.deleteFailed`),description:t.message,variant:`destructive`})}},O=async()=>{if(!(!m||!S))try{await n.organizations.teams.addMember({teamId:m,userId:S}),q({title:e(`teams.memberAdded`)}),x(!1),C(``),await T(m)}catch(t){q({title:e(`teams.addMemberFailed`),description:t.message,variant:`destructive`})}},ee=async(t,r)=>{try{await n.organizations.teams.removeMember({teamId:t,userId:r}),q({title:e(`teams.memberRemoved`)}),await T(t)}catch(t){q({title:e(`teams.removeMemberFailed`),description:t.message,variant:`destructive`})}},te=Object.fromEntries(r.map(e=>[e.userId,e])),ne=new Set(g.map(e=>e.userId)),re=r.filter(e=>!ne.has(e.userId));return(0,M.jsxs)(`div`,{className:`space-y-6`,children:[(0,M.jsxs)($,{children:[(0,M.jsx)(sN,{children:(0,M.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,M.jsxs)(`div`,{children:[(0,M.jsx)(cN,{className:`text-base`,children:e(`teams.title`,{count:i.length})}),(0,M.jsx)(lN,{children:e(`teams.description`)})]}),(0,M.jsxs)(Q,{size:`sm`,onClick:()=>l(!0),children:[(0,M.jsx)(Oy,{className:`mr-2 h-4 w-4`}),e(`teams.create`)]})]})}),(0,M.jsxs)(uN,{children:[o&&(0,M.jsxs)(`div`,{className:`space-y-3`,children:[(0,M.jsx)(Mw,{className:`h-12 w-full`}),(0,M.jsx)(Mw,{className:`h-12 w-full`})]}),!o&&i.length===0&&(0,M.jsxs)(`div`,{className:`text-center py-8`,children:[(0,M.jsx)(Uy,{className:`mx-auto h-12 w-12 text-muted-foreground/50`}),(0,M.jsx)(`p`,{className:`mt-4 text-sm text-muted-foreground`,children:e(`teams.empty`)})]}),!o&&i.length>0&&(0,M.jsx)(`div`,{className:`divide-y`,children:i.map(t=>(0,M.jsxs)(`div`,{children:[(0,M.jsxs)(`div`,{className:`flex items-center justify-between py-3`,children:[(0,M.jsxs)(`button`,{type:`button`,className:`flex-1 text-left`,onClick:()=>h(m===t.id?null:t.id),children:[(0,M.jsx)(`div`,{className:`font-medium text-sm`,children:t.name}),t.createdAt&&(0,M.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:new Date(t.createdAt).toLocaleDateString()})]}),(0,M.jsxs)(Hj,{children:[(0,M.jsx)(Uj,{asChild:!0,children:(0,M.jsx)(Q,{variant:`ghost`,size:`sm`,className:`h-8 w-8 p-0`,children:(0,M.jsx)(my,{className:`h-4 w-4`})})}),(0,M.jsx)(Kj,{align:`end`,children:(0,M.jsxs)(qj,{className:`text-destructive`,onClick:()=>D(t),children:[(0,M.jsx)(Ly,{className:`mr-2 h-4 w-4`}),e(`teams.delete`)]})})]})]}),m===t.id&&(0,M.jsxs)(`div`,{className:`pb-3 pl-4 border-l-2 ml-2 space-y-2`,children:[(0,M.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,M.jsx)(`p`,{className:`text-xs font-medium text-muted-foreground`,children:e(`teams.members`,{count:g.length})}),(0,M.jsxs)(Q,{size:`sm`,variant:`outline`,onClick:()=>x(!0),children:[(0,M.jsx)(Vy,{className:`mr-1 h-3 w-3`}),e(`teams.addMember`)]})]}),v&&(0,M.jsx)(Mw,{className:`h-8 w-full`}),!v&&g.length===0&&(0,M.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e(`teams.noMembers`)}),!v&&g.map(e=>{let n=te[e.userId];return(0,M.jsxs)(`div`,{className:`flex items-center justify-between py-1`,children:[(0,M.jsx)(`span`,{className:`text-sm`,children:n?.user?.name||n?.user?.email||e.userId}),(0,M.jsx)(Q,{variant:`ghost`,size:`sm`,className:`h-7 w-7 p-0`,onClick:()=>ee(t.id,e.userId),children:(0,M.jsx)(By,{className:`h-3 w-3`})})]},e.id)})]})]},t.id))})]})]}),(0,M.jsx)(_P,{open:c,onOpenChange:l,children:(0,M.jsxs)(bP,{children:[(0,M.jsxs)(xP,{children:[(0,M.jsx)(CP,{children:e(`teams.createTitle`)}),(0,M.jsx)(wP,{children:e(`teams.createDescription`)})]}),(0,M.jsxs)(`form`,{onSubmit:E,children:[(0,M.jsx)(`div`,{className:`space-y-4 py-4`,children:(0,M.jsxs)(`div`,{className:`space-y-2`,children:[(0,M.jsx)(yN,{htmlFor:`team-name`,children:e(`teams.nameLabel`)}),(0,M.jsx)(Vx,{id:`team-name`,required:!0,placeholder:e(`teams.namePlaceholder`),value:u,onChange:e=>d(e.target.value)})]})}),(0,M.jsxs)(SP,{children:[(0,M.jsx)(Q,{variant:`outline`,type:`button`,onClick:()=>l(!1),children:e(`common.cancel`)}),(0,M.jsx)(Q,{type:`submit`,disabled:f,children:e(f?`common.saving`:`teams.create`)})]})]})]})}),(0,M.jsx)(_P,{open:b,onOpenChange:x,children:(0,M.jsxs)(bP,{children:[(0,M.jsxs)(xP,{children:[(0,M.jsx)(CP,{children:e(`teams.addMemberTitle`)}),(0,M.jsx)(wP,{children:e(`teams.addMemberDescription`)})]}),(0,M.jsx)(`div`,{className:`space-y-4 py-4`,children:(0,M.jsxs)(`div`,{className:`space-y-2`,children:[(0,M.jsx)(yN,{children:e(`teams.selectMember`)}),(0,M.jsxs)(_I,{value:S,onValueChange:C,children:[(0,M.jsx)(yI,{children:(0,M.jsx)(vI,{placeholder:e(`teams.selectMemberPlaceholder`)})}),(0,M.jsx)(SI,{children:re.map(e=>(0,M.jsx)(wI,{value:e.userId,children:e.user?.name||e.user?.email||e.userId},e.userId))})]})]})}),(0,M.jsxs)(SP,{children:[(0,M.jsx)(Q,{variant:`outline`,onClick:()=>x(!1),children:e(`common.cancel`)}),(0,M.jsx)(Q,{onClick:O,disabled:!S,children:e(`teams.addMember`)})]})]})})]})}var OI=j.forwardRef(({className:e,...t},n)=>(0,M.jsx)(`textarea`,{className:Z(`flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50`,e),ref:n,...t}));OI.displayName=`Textarea`;var kI=sa(`/organizations/$orgId/members`)({component:AI});function AI(){let{t:e}=vt(),{orgId:t}=kI.useParams(),{organizations:n}=BM(),{user:r}=zM(),i=Rg(),a=n.find(e=>e.id===t),{members:o,loading:s,inviteMember:c,removeMember:l,updateMemberRole:u}=MP(t),{invitations:d,loading:f,cancelInvitation:p,resendInvitation:m}=NP(t),[h,g]=(0,j.useState)(!1),[_,v]=(0,j.useState)(!1),[y,b]=(0,j.useState)(``),[x,S]=(0,j.useState)(``),[C,w]=(0,j.useState)(`member`),[T,E]=(0,j.useState)(!1),[D,O]=(0,j.useState)(!1),ee=d.filter(e=>e.status===`pending`),te=o.find(e=>e.userId===r?.id),ne=te?.role===`owner`||te?.role===`admin`,re=async()=>{let t=_?x.split(/[,;\n]+/).map(e=>e.trim()).filter(Boolean):[y.trim()].filter(Boolean);if(t.length===0){q({title:e(`organizations.members.emailRequired`),variant:`destructive`});return}E(!0);let n=0;try{for(let e of t)try{await c(e,C)}catch{n++}n>0&&n<t.length?q({title:e(`organizations.members.invitePartialSuccess`,{sent:t.length-n,failed:n}),variant:`destructive`}):n===t.length?q({title:e(`organizations.members.inviteFailed`),variant:`destructive`}):q({title:e(`organizations.members.invitationSent`)}),g(!1),b(``),S(``),w(`member`)}finally{E(!1)}},ie=async(t,n)=>{if(confirm(e(`organizations.members.removeConfirm`,{name:n})))try{await l(t),q({title:e(`organizations.members.memberRemoved`)})}catch(t){q({title:e(`organizations.members.removeFailed`),description:t.message,variant:`destructive`})}},ae=async(t,n)=>{try{await u(t,n),q({title:e(`organizations.members.roleUpdated`)})}catch(t){q({title:e(`organizations.members.roleUpdateFailed`),description:t.message,variant:`destructive`})}},oe=async()=>{if(confirm(e(`organizations.members.leaveConfirm`,{org:a?.name??t}))){O(!0);try{await i.organizations.leave(t),q({title:e(`organizations.members.leftOrg`)}),window.location.assign(`/`)}catch(t){q({title:e(`organizations.members.leaveFailed`),description:t.message,variant:`destructive`})}finally{O(!1)}}},k=async(t,n)=>{if(confirm(e(`organizations.members.cancelConfirm`,{email:n})))try{await p(t),q({title:e(`organizations.members.invitationCanceled`)})}catch(t){q({title:e(`organizations.members.cancelFailed`),description:t.message,variant:`destructive`})}},se=async t=>{try{await m(t),q({title:e(`organizations.members.invitationResent`)})}catch(t){q({title:e(`organizations.members.resendFailed`),description:t.message,variant:`destructive`})}},ce=async t=>{let n=`${window.location.origin}/accept-invitation/${t}`;try{await navigator.clipboard.writeText(n),q({title:e(`organizations.members.linkCopied`)})}catch{q({title:e(`organizations.members.linkCopyFailed`),variant:`destructive`})}};return(0,M.jsxs)(`div`,{className:`space-y-6`,children:[(0,M.jsxs)($,{children:[(0,M.jsx)(sN,{children:(0,M.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,M.jsxs)(`div`,{children:[(0,M.jsx)(cN,{className:`text-base`,children:e(`organizations.members.title`,{count:o.length})}),(0,M.jsx)(lN,{children:e(`organizations.members.description`)})]}),(0,M.jsxs)(`div`,{className:`flex gap-2`,children:[te&&te.role!==`owner`&&(0,M.jsxs)(Q,{size:`sm`,variant:`outline`,onClick:oe,disabled:D,children:[(0,M.jsx)(Cy,{className:`mr-2 h-4 w-4`}),e(`organizations.members.leave`)]}),ne&&(0,M.jsxs)(Q,{size:`sm`,onClick:()=>g(!0),children:[(0,M.jsx)(Vy,{className:`mr-2 h-4 w-4`}),e(`organizations.members.invite`)]})]})]})}),(0,M.jsxs)(uN,{children:[s&&(0,M.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e(`organizations.members.loadingMembers`)}),!s&&o.length===0&&(0,M.jsxs)(`div`,{className:`text-center py-8`,children:[(0,M.jsx)(Wy,{className:`mx-auto h-12 w-12 text-muted-foreground/50`}),(0,M.jsx)(`p`,{className:`mt-4 text-sm text-muted-foreground`,children:e(`organizations.members.empty`)})]}),!s&&o.length>0&&(0,M.jsx)(`div`,{className:`divide-y`,children:o.map(t=>(0,M.jsxs)(`div`,{className:`flex items-center justify-between py-3`,children:[(0,M.jsxs)(`div`,{className:`flex-1`,children:[(0,M.jsxs)(`div`,{className:`font-medium text-sm`,children:[t.user?.name||t.user?.email||t.userId,t.userId===r?.id&&(0,M.jsx)(VN,{variant:`secondary`,className:`ml-2 text-xs`,children:e(`organizations.members.you`)})]}),t.user?.email&&(0,M.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:t.user.email})]}),(0,M.jsxs)(`div`,{className:`flex items-center gap-2`,children:[ne&&t.role!==`owner`&&t.userId!==r?.id?(0,M.jsxs)(_I,{value:t.role,onValueChange:e=>ae(t.id,e),children:[(0,M.jsx)(yI,{className:`h-7 w-24 text-xs`,children:(0,M.jsx)(vI,{})}),(0,M.jsxs)(SI,{children:[(0,M.jsx)(wI,{value:`admin`,children:e(`common.roles.admin`)}),(0,M.jsx)(wI,{value:`member`,children:e(`common.roles.member`)})]})]}):(0,M.jsx)(VN,{variant:`secondary`,className:`text-xs`,children:e(`common.roles.${t.role??`member`}`)}),ne&&t.role!==`owner`&&t.userId!==r?.id&&(0,M.jsxs)(Hj,{children:[(0,M.jsx)(Uj,{asChild:!0,children:(0,M.jsx)(Q,{variant:`ghost`,size:`sm`,className:`h-8 w-8 p-0`,children:(0,M.jsx)(my,{className:`h-4 w-4`})})}),(0,M.jsx)(Kj,{align:`end`,children:(0,M.jsxs)(qj,{className:`text-destructive`,onClick:()=>ie(t.id,t.user?.name||t.user?.email||t.userId),children:[(0,M.jsx)(Ly,{className:`mr-2 h-4 w-4`}),e(`organizations.members.removeMember`)]})})]})]})]},t.id))})]})]}),(0,M.jsxs)($,{children:[(0,M.jsx)(sN,{children:(0,M.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,M.jsxs)(`div`,{children:[(0,M.jsx)(cN,{className:`text-base`,children:e(`organizations.members.pendingTitle`,{count:ee.length})}),(0,M.jsx)(lN,{children:e(`organizations.members.pendingDescription`)})]}),ne&&(0,M.jsxs)(Q,{size:`sm`,variant:`outline`,onClick:()=>g(!0),children:[(0,M.jsx)(Vy,{className:`mr-2 h-4 w-4`}),e(`organizations.members.sendInvitation`)]})]})}),(0,M.jsxs)(uN,{children:[f&&(0,M.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e(`organizations.members.loadingInvitations`)}),!f&&ee.length===0&&(0,M.jsxs)(`div`,{className:`text-center py-8`,children:[(0,M.jsx)(wy,{className:`mx-auto h-12 w-12 text-muted-foreground/50`}),(0,M.jsx)(`p`,{className:`mt-4 text-sm text-muted-foreground`,children:e(`organizations.members.noPending`)})]}),!f&&ee.length>0&&(0,M.jsx)(`div`,{className:`divide-y`,children:ee.map(t=>(0,M.jsxs)(`div`,{className:`flex items-center justify-between py-3`,children:[(0,M.jsxs)(`div`,{className:`flex-1`,children:[(0,M.jsx)(`div`,{className:`font-medium text-sm`,children:t.email}),(0,M.jsxs)(`div`,{className:`flex items-center gap-2 mt-1`,children:[(0,M.jsx)(VN,{variant:`outline`,className:`text-xs`,children:e(`common.roles.${t.role}`)}),(0,M.jsxs)(`span`,{className:`text-xs text-muted-foreground flex items-center gap-1`,children:[(0,M.jsx)(fy,{className:`h-3 w-3`}),e(`organizations.members.expires`,{date:new Date(t.expiresAt).toLocaleDateString()})]})]})]}),(0,M.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,M.jsx)(Q,{variant:`ghost`,size:`sm`,className:`h-8 w-8 p-0`,title:e(`organizations.members.copyLink`),onClick:()=>ce(t.id),children:(0,M.jsx)(py,{className:`h-4 w-4`})}),(0,M.jsx)(Q,{variant:`ghost`,size:`sm`,className:`h-8 w-8 p-0`,title:e(`organizations.members.resend`),onClick:()=>se(t),children:(0,M.jsx)(ky,{className:`h-4 w-4`})}),(0,M.jsx)(Q,{variant:`ghost`,size:`sm`,className:`h-8 w-8 p-0`,title:e(`organizations.members.cancel`),onClick:()=>k(t.id,t.email),children:(0,M.jsx)(Gy,{className:`h-4 w-4`})})]})]},t.id))})]})]}),(0,M.jsx)(_P,{open:h,onOpenChange:g,children:(0,M.jsxs)(bP,{children:[(0,M.jsxs)(xP,{children:[(0,M.jsx)(CP,{children:e(`organizations.members.inviteDialogTitle`)}),(0,M.jsx)(wP,{children:e(`organizations.members.inviteDialogDescription`,{organization:a?.name??``})})]}),(0,M.jsxs)(`div`,{className:`space-y-4 py-4`,children:[(0,M.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,M.jsx)(Q,{type:`button`,variant:_?`outline`:`default`,size:`sm`,onClick:()=>v(!1),children:e(`organizations.members.singleInvite`)}),(0,M.jsx)(Q,{type:`button`,variant:_?`default`:`outline`,size:`sm`,onClick:()=>v(!0),children:e(`organizations.members.bulkInvite`)})]}),_?(0,M.jsxs)(`div`,{className:`space-y-2`,children:[(0,M.jsx)(yN,{children:e(`organizations.members.bulkEmails`)}),(0,M.jsx)(OI,{placeholder:e(`organizations.members.bulkEmailsPlaceholder`),rows:5,value:x,onChange:e=>S(e.target.value)}),(0,M.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e(`organizations.members.bulkEmailsHint`)})]}):(0,M.jsxs)(`div`,{className:`space-y-2`,children:[(0,M.jsx)(yN,{htmlFor:`invite-email`,children:e(`organizations.members.email`)}),(0,M.jsx)(Vx,{id:`invite-email`,type:`email`,placeholder:e(`organizations.members.emailPlaceholder`),value:y,onChange:e=>b(e.target.value)})]}),(0,M.jsxs)(`div`,{className:`space-y-2`,children:[(0,M.jsx)(yN,{htmlFor:`role`,children:e(`organizations.members.role`)}),(0,M.jsxs)(_I,{value:C,onValueChange:w,children:[(0,M.jsx)(yI,{id:`role`,children:(0,M.jsx)(vI,{})}),(0,M.jsxs)(SI,{children:[(0,M.jsx)(wI,{value:`owner`,children:e(`common.roles.owner`)}),(0,M.jsx)(wI,{value:`admin`,children:e(`common.roles.admin`)}),(0,M.jsx)(wI,{value:`member`,children:e(`common.roles.member`)})]})]})]})]}),(0,M.jsxs)(SP,{children:[(0,M.jsx)(Q,{variant:`outline`,onClick:()=>g(!1),disabled:T,children:e(`common.cancel`)}),(0,M.jsx)(Q,{onClick:re,disabled:T,children:e(T?`organizations.members.sending`:`organizations.members.sendInvitation`)})]})]})})]})}var jI=sa(`/organizations/$orgId/general`)({component:MI});function MI(){let{t:e}=vt(),{orgId:t}=jI.useParams(),n=N(),{organizations:r}=BM(),{session:i,user:a,setActiveOrganization:o}=zM(),s=r.find(e=>e.id===t),{members:c}=MP(t),{invitations:l}=NP(t),{remove:u,deleting:d}=UM(),{update:f,updating:p}=HM(),[m,h]=(0,j.useState)(``),[g,_]=(0,j.useState)(``),[v,y]=(0,j.useState)(``),[b,x]=(0,j.useState)(!1),[S,C]=(0,j.useState)(``);(0,j.useEffect)(()=>{h(s?.name??``),_(s?.slug??``),y(s?.logo??``)},[s?.id,s?.name,s?.slug,s?.logo]);let w=i?.activeOrganizationId===t,T=l.filter(e=>e.status===`pending`),E=(a?c.find(e=>e.userId===a.id):void 0)?.role??null,D=E===`owner`||E===`admin`,O=D&&s!=null&&(m.trim()!==(s.name??``)||g.trim()!==(s.slug??``)||v.trim()!==(s.logo??``));return(0,M.jsxs)(`div`,{className:`space-y-6`,children:[(0,M.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,M.jsxs)(`div`,{className:`flex items-center gap-2`,children:[w&&(0,M.jsx)(VN,{variant:`outline`,children:e(`organizations.active`)}),E&&(0,M.jsx)(VN,{variant:`secondary`,className:`capitalize`,children:e(`common.roles.${E}`)})]}),!w&&(0,M.jsx)(Q,{size:`sm`,variant:`outline`,onClick:async()=>{try{await o(t),q({title:e(`organizations.general.switched`)})}catch(t){q({title:e(`organizations.general.switchFailed`),description:t.message,variant:`destructive`})}},children:e(`organizations.general.setActive`)})]}),(0,M.jsxs)($,{children:[(0,M.jsxs)(sN,{children:[(0,M.jsx)(cN,{children:e(`organizations.general.detailsTitle`)}),(0,M.jsx)(lN,{children:e(D?`organizations.general.detailsDescription`:`organizations.general.detailsReadOnly`)})]}),(0,M.jsxs)(uN,{className:`space-y-4`,children:[(0,M.jsxs)(`div`,{className:`space-y-2`,children:[(0,M.jsx)(yN,{htmlFor:`org-name`,children:e(`organizations.new.name`)}),(0,M.jsx)(Vx,{id:`org-name`,value:m,onChange:e=>h(e.target.value),disabled:!D||p,placeholder:e(`organizations.general.namePlaceholder`)})]}),(0,M.jsxs)(`div`,{className:`space-y-2`,children:[(0,M.jsx)(yN,{htmlFor:`org-slug`,children:e(`organizations.new.slug`)}),(0,M.jsx)(Vx,{id:`org-slug`,value:g,onChange:e=>_(e.target.value),disabled:!D||p,placeholder:e(`organizations.general.slugPlaceholder`),className:`font-mono text-sm`}),(0,M.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e(`organizations.general.slugHint`)})]}),(0,M.jsxs)(`div`,{className:`space-y-2`,children:[(0,M.jsx)(yN,{htmlFor:`org-logo`,children:e(`organizations.general.logo`)}),(0,M.jsx)(Vx,{id:`org-logo`,value:v,onChange:e=>y(e.target.value),disabled:!D||p,placeholder:e(`organizations.general.logoPlaceholder`)})]}),(0,M.jsxs)(`div`,{className:`flex justify-between border-t pt-4 text-xs`,children:[(0,M.jsx)(`span`,{className:`text-muted-foreground`,children:e(`organizations.general.organizationId`)}),(0,M.jsx)(`code`,{className:`font-mono`,children:t})]})]}),D&&(0,M.jsxs)(uN,{className:`flex justify-end gap-2 border-t pt-4`,children:[(0,M.jsx)(Q,{variant:`ghost`,size:`sm`,onClick:()=>{h(s?.name??``),_(s?.slug??``),y(s?.logo??``)},disabled:!O||p,children:e(`organizations.general.reset`)}),(0,M.jsxs)(Q,{size:`sm`,onClick:async()=>{if(!s||!D||!O)return;let n=m.trim();if(!n){q({title:e(`organizations.general.nameRequired`),variant:`destructive`});return}try{await f(t,{name:n,slug:g.trim()||void 0,logo:v.trim()||void 0}),q({title:e(`organizations.general.updated`)})}catch(t){q({title:e(`organizations.general.updateFailed`),description:t.message,variant:`destructive`})}},disabled:!O||p,children:[(0,M.jsx)(Ay,{className:`mr-2 h-4 w-4`}),e(p?`common.saving`:`organizations.general.save`)]})]})]}),(0,M.jsxs)($,{children:[(0,M.jsx)(sN,{children:(0,M.jsx)(cN,{className:`text-base`,children:e(`organizations.general.overviewTitle`)})}),(0,M.jsxs)(uN,{className:`space-y-3 text-sm`,children:[(0,M.jsxs)(`div`,{className:`flex justify-between`,children:[(0,M.jsx)(`span`,{className:`text-muted-foreground`,children:e(`organizations.general.members`)}),(0,M.jsx)(`span`,{children:c.length})]}),(0,M.jsxs)(`div`,{className:`flex justify-between`,children:[(0,M.jsx)(`span`,{className:`text-muted-foreground`,children:e(`organizations.general.pendingInvitations`)}),(0,M.jsx)(`span`,{children:T.length})]})]})]}),D&&(0,M.jsxs)($,{className:`border-destructive/40`,children:[(0,M.jsxs)(sN,{children:[(0,M.jsx)(cN,{className:`text-base text-destructive`,children:e(`organizations.general.dangerTitle`)}),(0,M.jsx)(lN,{children:e(`organizations.general.dangerDescription`)})]}),(0,M.jsx)(uN,{children:(0,M.jsxs)(Q,{variant:`destructive`,size:`sm`,onClick:()=>x(!0),disabled:d,children:[(0,M.jsx)(Ly,{className:`mr-2 h-4 w-4`}),e(`organizations.general.delete`)]})})]}),(0,M.jsx)(_P,{open:b,onOpenChange:e=>{x(e),e||C(``)},children:(0,M.jsxs)(bP,{children:[(0,M.jsxs)(xP,{children:[(0,M.jsx)(CP,{className:`text-destructive`,children:e(`organizations.general.deleteDialogTitle`)}),(0,M.jsx)(wP,{children:e(`organizations.general.deleteDialogDescription`,{name:s?.name??``})})]}),(0,M.jsx)(`div`,{className:`space-y-4 py-2`,children:(0,M.jsxs)(`div`,{className:`space-y-2`,children:[(0,M.jsx)(yN,{htmlFor:`delete-confirm`,children:e(`organizations.general.deleteDialogLabel`,{name:s?.name??``})}),(0,M.jsx)(Vx,{id:`delete-confirm`,value:S,onChange:e=>C(e.target.value),placeholder:s?.name??``,disabled:d})]})}),(0,M.jsxs)(SP,{children:[(0,M.jsx)(Q,{variant:`outline`,onClick:()=>x(!1),disabled:d,children:e(`common.cancel`)}),(0,M.jsx)(Q,{variant:`destructive`,onClick:async()=>{if(s){if(S!==s.name){q({title:e(`organizations.general.confirmationMismatch`),description:e(`organizations.general.confirmationHint`,{name:s.name}),variant:`destructive`});return}try{let r=await u(t),i=r?.warnings,a=r?.deletedProjects??0;q({title:e(`organizations.general.deleted`),description:i?.length?e(`organizations.general.deletedWithWarnings`,{deletedProjects:a,warning:i[0],extraCount:Math.max(i.length-1,0)}):e(`organizations.general.deletedDescription`,{name:s.name,deletedProjects:a}),variant:i?.length?`destructive`:void 0}),x(!1),C(``),n({to:`/organizations`})}catch(t){q({title:e(`organizations.general.deleteFailed`),description:t.message,variant:`destructive`})}}},disabled:d||!s||S!==s.name,children:e(d?`organizations.general.deleting`:`organizations.general.delete`)})]})]})})]})}var NI=sa(`/account/oauth-applications/new`)({component:PI});function PI(){let{t:e}=vt(),t=N(),{register:n,registering:r}=eP(),[i,a]=(0,j.useState)(``),[o,s]=(0,j.useState)(``),[c,l]=(0,j.useState)(`client_secret_basic`),[u,d]=(0,j.useState)(``),[f,p]=(0,j.useState)(``),[m,h]=(0,j.useState)(null),g=async()=>{let t=i.trim(),r=o.split(/\r?\n|,/).map(e=>e.trim()).filter(Boolean);if(!t){q({title:e(`oauth.applications.form.nameRequired`),variant:`destructive`});return}if(r.length===0){q({title:e(`oauth.applications.form.redirectRequired`),variant:`destructive`});return}try{let i=await n({client_name:t,redirect_uris:r,token_endpoint_auth_method:c,...u.trim()?{client_uri:u.trim()}:{},...f.trim()?{logo_uri:f.trim()}:{}});h({client_id:i?.client_id??``,client_secret:i?.client_secret}),q({title:e(`oauth.applications.registered`)})}catch(t){q({title:e(`oauth.applications.registerFailed`),description:t.message,variant:`destructive`})}},_=(t,n)=>{navigator.clipboard.writeText(t).then(()=>q({title:e(`oauth.applications.copied`,{label:n})}),()=>q({title:e(`oauth.applications.copyFailed`,{label:n}),variant:`destructive`}))};return m?(0,M.jsxs)(`div`,{className:`space-y-6`,children:[(0,M.jsxs)(`div`,{children:[(0,M.jsx)(`h1`,{className:`text-2xl font-semibold`,children:e(`oauth.applications.registeredTitle`)}),(0,M.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:e(`oauth.applications.registeredDescription`)})]}),(0,M.jsxs)($,{children:[(0,M.jsxs)(sN,{children:[(0,M.jsx)(cN,{children:e(`oauth.applications.credentials`)}),(0,M.jsx)(lN,{children:e(`oauth.applications.credentialsDescription`)})]}),(0,M.jsxs)(uN,{className:`space-y-4`,children:[(0,M.jsxs)(`div`,{className:`space-y-1`,children:[(0,M.jsx)(yN,{children:e(`oauth.applications.clientId`)}),(0,M.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,M.jsx)(`code`,{className:`flex-1 rounded-md border bg-muted px-3 py-2 font-mono text-xs`,children:m.client_id}),(0,M.jsx)(Q,{size:`icon`,variant:`outline`,onClick:()=>_(m.client_id,e(`oauth.applications.clientId`)),children:(0,M.jsx)(py,{className:`h-4 w-4`})})]})]}),m.client_secret&&(0,M.jsxs)(`div`,{className:`space-y-1`,children:[(0,M.jsx)(yN,{children:e(`oauth.applications.clientSecret`)}),(0,M.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,M.jsx)(`code`,{className:`flex-1 break-all rounded-md border bg-muted px-3 py-2 font-mono text-xs`,children:m.client_secret}),(0,M.jsx)(Q,{size:`icon`,variant:`outline`,onClick:()=>_(m.client_secret,e(`oauth.applications.clientSecret`)),children:(0,M.jsx)(py,{className:`h-4 w-4`})})]}),(0,M.jsx)(`p`,{className:`text-xs text-destructive`,children:e(`oauth.applications.clientSecretWarning`)})]})]})]}),(0,M.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,M.jsx)(Q,{variant:`outline`,onClick:()=>t({to:`/account/oauth-applications`}),children:e(`oauth.applications.backToList`)}),(0,M.jsx)(Q,{onClick:()=>t({to:`/account/oauth-applications/$clientId`,params:{clientId:m.client_id}}),children:e(`oauth.applications.viewApplication`)})]})]}):(0,M.jsxs)(`div`,{className:`space-y-6`,children:[(0,M.jsxs)(`div`,{children:[(0,M.jsx)(`h1`,{className:`text-2xl font-semibold`,children:e(`oauth.applications.form.title`)}),(0,M.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:e(`oauth.applications.form.description`)})]}),(0,M.jsxs)($,{children:[(0,M.jsx)(sN,{children:(0,M.jsxs)(cN,{className:`flex items-center gap-2 text-base`,children:[(0,M.jsx)(yy,{className:`h-4 w-4`}),e(`oauth.applications.form.details`)]})}),(0,M.jsxs)(uN,{className:`space-y-4`,children:[(0,M.jsxs)(`div`,{className:`space-y-2`,children:[(0,M.jsx)(yN,{htmlFor:`oauth-name`,children:e(`oauth.applications.form.name`)}),(0,M.jsx)(Vx,{id:`oauth-name`,value:i,onChange:e=>a(e.target.value),placeholder:e(`oauth.applications.form.namePlaceholder`),disabled:r})]}),(0,M.jsxs)(`div`,{className:`space-y-2`,children:[(0,M.jsx)(yN,{htmlFor:`oauth-redirect`,children:e(`oauth.applications.form.redirectUris`)}),(0,M.jsx)(OI,{id:`oauth-redirect`,value:o,onChange:e=>s(e.target.value),placeholder:e(`oauth.applications.form.redirectPlaceholder`),rows:3,disabled:r}),(0,M.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e(`oauth.applications.form.redirectHint`)})]}),(0,M.jsxs)(`div`,{className:`space-y-2`,children:[(0,M.jsx)(yN,{children:e(`oauth.applications.form.authMethod`)}),(0,M.jsxs)(_I,{value:c,onValueChange:e=>l(e),disabled:r,children:[(0,M.jsx)(yI,{children:(0,M.jsx)(vI,{})}),(0,M.jsxs)(SI,{children:[(0,M.jsx)(wI,{value:`client_secret_basic`,children:e(`oauth.applications.form.authMethodBasic`)}),(0,M.jsx)(wI,{value:`client_secret_post`,children:e(`oauth.applications.form.authMethodPost`)}),(0,M.jsx)(wI,{value:`none`,children:e(`oauth.applications.form.authMethodNone`)})]})]})]}),(0,M.jsxs)(`div`,{className:`space-y-2`,children:[(0,M.jsx)(yN,{htmlFor:`oauth-client-uri`,children:e(`oauth.applications.form.clientUri`)}),(0,M.jsx)(Vx,{id:`oauth-client-uri`,value:u,onChange:e=>d(e.target.value),placeholder:e(`oauth.applications.form.clientUriPlaceholder`),disabled:r})]}),(0,M.jsxs)(`div`,{className:`space-y-2`,children:[(0,M.jsx)(yN,{htmlFor:`oauth-logo`,children:e(`oauth.applications.form.logoUri`)}),(0,M.jsx)(Vx,{id:`oauth-logo`,value:f,onChange:e=>p(e.target.value),placeholder:e(`oauth.applications.form.logoUriPlaceholder`),disabled:r}),(0,M.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e(`oauth.applications.form.logoHint`)})]})]})]}),(0,M.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,M.jsx)(Q,{variant:`ghost`,onClick:()=>t({to:`/account/oauth-applications`}),disabled:r,children:e(`common.cancel`)}),(0,M.jsx)(Q,{onClick:g,disabled:r,children:e(r?`oauth.applications.form.registering`:`oauth.applications.register`)})]})]})}var FI=sa(`/account/oauth-applications/$clientId`)({component:II});function II(){let{t:e}=vt(),{clientId:t}=FI.useParams(),n=N(),{applications:r,loading:i,reload:a}=$N(),{remove:o,deleting:s}=tP(),c=Rg(),l=r.find(e=>e.client_id===t),[u,d]=(0,j.useState)(null);(0,j.useEffect)(()=>{let e=!1;if(!l&&c?.oauth?.applications?.get)return c.oauth.applications.get(t).then(t=>{e||d(t?.data??t)},()=>{}),()=>{e=!0}},[c,t,l]);let f=l??u,[p,m]=(0,j.useState)(!1),h=(t,n)=>{navigator.clipboard.writeText(t).then(()=>q({title:e(`oauth.applications.copied`,{label:n})}),()=>q({title:e(`oauth.applications.copyFailed`,{label:n}),variant:`destructive`}))},g=async()=>{if(f)try{await o(f.client_id),q({title:e(`oauth.applications.deleted`)}),await a(),n({to:`/account/oauth-applications`})}catch(t){q({title:e(`oauth.applications.deleteFailed`),description:t.message,variant:`destructive`})}};if(i&&!f)return(0,M.jsx)(`div`,{className:`p-8 text-center text-sm text-muted-foreground`,children:e(`common.loading`)});if(!f)return(0,M.jsxs)(`div`,{className:`space-y-4`,children:[(0,M.jsx)(`h1`,{className:`text-2xl font-semibold`,children:e(`oauth.applications.notFoundTitle`)}),(0,M.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:e(`oauth.applications.notFoundDescription`)}),(0,M.jsx)(Q,{onClick:()=>n({to:`/account/oauth-applications`}),children:e(`oauth.applications.backToList`)})]});let _=typeof f.redirect_urls==`string`?f.redirect_urls.split(/\r?\n|,/).map(e=>e.trim()).filter(Boolean):Array.isArray(f.redirect_urls)?f.redirect_urls:[];return(0,M.jsxs)(`div`,{className:`space-y-6`,children:[(0,M.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,M.jsxs)(`div`,{children:[(0,M.jsx)(`h1`,{className:`text-2xl font-semibold`,children:f.name}),(0,M.jsx)(`p`,{className:`font-mono text-xs text-muted-foreground`,children:f.client_id})]}),(0,M.jsxs)(`div`,{className:`flex items-center gap-2`,children:[f.type&&(0,M.jsx)(VN,{variant:`outline`,className:`capitalize`,children:f.type}),f.disabled&&(0,M.jsx)(VN,{variant:`destructive`,children:e(`oauth.applications.disabled`)})]})]}),(0,M.jsxs)($,{children:[(0,M.jsxs)(sN,{children:[(0,M.jsx)(cN,{children:e(`oauth.applications.credentials`)}),(0,M.jsx)(lN,{children:e(`oauth.applications.credentialsDescriptionDetail`)})]}),(0,M.jsxs)(uN,{className:`space-y-4`,children:[(0,M.jsxs)(`div`,{className:`space-y-1`,children:[(0,M.jsx)(yN,{children:e(`oauth.applications.clientId`)}),(0,M.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,M.jsx)(`code`,{className:`flex-1 rounded-md border bg-muted px-3 py-2 font-mono text-xs`,children:f.client_id}),(0,M.jsx)(Q,{size:`icon`,variant:`outline`,onClick:()=>h(f.client_id,e(`oauth.applications.clientId`)),children:(0,M.jsx)(py,{className:`h-4 w-4`})})]})]}),(0,M.jsxs)(`div`,{className:`space-y-1`,children:[(0,M.jsx)(yN,{children:e(`oauth.applications.redirectUris`)}),_.length===0?(0,M.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:e(`oauth.applications.noRedirectUris`)}):(0,M.jsx)(`ul`,{className:`space-y-1`,children:_.map((e,t)=>(0,M.jsx)(`li`,{className:`rounded-md border bg-muted px-3 py-2 font-mono text-xs`,children:e},t))})]})]})]}),(0,M.jsxs)($,{className:`border-destructive/40`,children:[(0,M.jsxs)(sN,{children:[(0,M.jsx)(cN,{className:`text-base text-destructive`,children:e(`oauth.applications.dangerTitle`)}),(0,M.jsx)(lN,{children:e(`oauth.applications.dangerDescription`)})]}),(0,M.jsx)(uN,{children:(0,M.jsxs)(Q,{variant:`destructive`,size:`sm`,onClick:()=>m(!0),disabled:s,children:[(0,M.jsx)(Ly,{className:`mr-2 h-4 w-4`}),e(`oauth.applications.delete`)]})})]}),(0,M.jsx)(_P,{open:p,onOpenChange:m,children:(0,M.jsxs)(bP,{children:[(0,M.jsxs)(xP,{children:[(0,M.jsx)(CP,{className:`text-destructive`,children:e(`oauth.applications.deleteDialogTitle`)}),(0,M.jsx)(wP,{children:e(`oauth.applications.deleteDialogDescription`,{name:f.name})})]}),(0,M.jsxs)(SP,{children:[(0,M.jsx)(Q,{variant:`outline`,onClick:()=>m(!1),disabled:s,children:e(`common.cancel`)}),(0,M.jsx)(Q,{variant:`destructive`,onClick:g,disabled:s,children:e(s?`oauth.applications.deleting`:`common.delete`)})]})]})})]})}var LI=pN.update({id:`/verify-email`,path:`/verify-email`,getParentRoute:()=>oN}),RI=bN.update({id:`/setup`,path:`/setup`,getParentRoute:()=>oN}),zI=CN.update({id:`/reset-password`,path:`/reset-password`,getParentRoute:()=>oN}),BI=EN.update({id:`/register`,path:`/register`,getParentRoute:()=>oN}),VI=AN.update({id:`/login`,path:`/login`,getParentRoute:()=>oN}),HI=PN.update({id:`/forgot-password`,path:`/forgot-password`,getParentRoute:()=>oN}),UI=IN.update({id:`/account`,path:`/account`,getParentRoute:()=>oN}),WI=RN.update({id:`/`,path:`/`,getParentRoute:()=>oN}),GI=UN.update({id:`/organizations/`,path:`/organizations/`,getParentRoute:()=>oN}),KI=GN.update({id:`/`,path:`/`,getParentRoute:()=>UI}),qI=JN.update({id:`/organizations/new`,path:`/organizations/new`,getParentRoute:()=>oN}),JI=ZN.update({id:`/organizations/$orgId`,path:`/organizations/$orgId`,getParentRoute:()=>oN}),YI=rP.update({id:`/oauth/consent`,path:`/oauth/consent`,getParentRoute:()=>oN}),XI=oP.update({id:`/auth/device`,path:`/auth/device`,getParentRoute:()=>oN}),ZI=lP.update({id:`/two-factor`,path:`/two-factor`,getParentRoute:()=>UI}),QI=mP.update({id:`/sessions`,path:`/sessions`,getParentRoute:()=>UI}),$I=TP.update({id:`/security`,path:`/security`,getParentRoute:()=>UI}),eL=DP.update({id:`/profile`,path:`/profile`,getParentRoute:()=>UI}),tL=kP.update({id:`/linked-accounts`,path:`/linked-accounts`,getParentRoute:()=>UI}),nL=FP.update({id:`/invitations`,path:`/invitations`,getParentRoute:()=>UI}),rL=LP.update({id:`/accept-invitation/$invitationId`,path:`/accept-invitation/$invitationId`,getParentRoute:()=>oN}),iL=zP.update({id:`/`,path:`/`,getParentRoute:()=>JI}),aL=BP.update({id:`/oauth-applications/`,path:`/oauth-applications/`,getParentRoute:()=>UI}),oL=EI.update({id:`/teams`,path:`/teams`,getParentRoute:()=>JI}),sL=kI.update({id:`/members`,path:`/members`,getParentRoute:()=>JI}),cL=jI.update({id:`/general`,path:`/general`,getParentRoute:()=>JI}),lL=NI.update({id:`/oauth-applications/new`,path:`/oauth-applications/new`,getParentRoute:()=>UI}),uL={AccountInvitationsRoute:nL,AccountLinkedAccountsRoute:tL,AccountProfileRoute:eL,AccountSecurityRoute:$I,AccountSessionsRoute:QI,AccountTwoFactorRoute:ZI,AccountIndexRoute:KI,AccountOauthApplicationsClientIdRoute:FI.update({id:`/oauth-applications/$clientId`,path:`/oauth-applications/$clientId`,getParentRoute:()=>UI}),AccountOauthApplicationsNewRoute:lL,AccountOauthApplicationsIndexRoute:aL},dL=UI._addFileChildren(uL),fL={OrganizationsOrgIdGeneralRoute:cL,OrganizationsOrgIdMembersRoute:sL,OrganizationsOrgIdTeamsRoute:oL,OrganizationsOrgIdIndexRoute:iL},pL={IndexRoute:WI,AccountRoute:dL,ForgotPasswordRoute:HI,LoginRoute:VI,RegisterRoute:BI,ResetPasswordRoute:zI,SetupRoute:RI,VerifyEmailRoute:LI,AcceptInvitationInvitationIdRoute:rL,AuthDeviceRoute:XI,OauthConsentRoute:YI,OrganizationsOrgIdRoute:JI._addFileChildren(fL),OrganizationsNewRoute:qI,OrganizationsIndexRoute:GI},mL=oN._addFileChildren(pL)._addFileTypes();function hL(){let e=`/_account/`;return e.endsWith(`/`)?e.slice(0,-1):e}var gL=Sa({routeTree:mL,basepath:hL()});function _L(){return(0,M.jsx)(Ta,{router:gL})}var vL=typeof localStorage<`u`&&localStorage.getItem(`account.lang`)||typeof navigator<`u`&&navigator.language||`en`;Kf.createRoot(document.getElementById(`root`)).render((0,M.jsx)(j.StrictMode,{children:(0,M.jsx)(_t,{config:{defaultLanguage:vL,fallbackLanguage:`en`},loadLanguage:oM,children:(0,M.jsx)(_L,{})})}));
|