@fde-desktop/fde-core 0.4.8 → 0.4.10

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/index.cjs CHANGED
@@ -1,4 +1,4 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./chunk-CiTBaPhY.cjs`),t=require(`./CalendarApp-C1HvuJoa.cjs`),n=require(`./Box-D_64wv6n.cjs`),r=require(`./ColorPicker-BL4UbKCV.cjs`),i=require(`./create-safe-context-95P-Bfg3.cjs`),a=require(`./AppMenuBar-BiHbNg9V.cjs`),o=require(`./Tooltip-DDh_x-CB.cjs`),s=require(`./TextInput-DcYns3hz.cjs`),c=require(`./SettingsApp-B_rev1xh.cjs`),l=require(`./Slider-Bg_EIBg6.cjs`),u=require(`./CreateItemApp-BU9wmjKM.cjs`),d=require(`./DownloadProgress-IRw1dzLX.cjs`),f=require(`./UnstyledButton-Cl5RuIid.cjs`),p=require(`./Paper-DwCpwWwH.cjs`),m=require(`./ActionIcon-C_SfdBfx.cjs`),h=require(`./Group-DhwePB84.cjs`),g=require(`./getRuntime-BLXyQZBB.cjs`),_=require(`./FileIcon-BCrsxmtt.cjs`),v=require(`./Button-D0FXpkur.cjs`),y=require(`./AppIcon--qzR4sgf.cjs`),b=require(`./Center-T4No_FAa.cjs`),x=require(`./DeviceInfoApp-Cdju_LIB.cjs`),S=require(`./UploaderApp-CPpStgP5.cjs`),C=require(`./Stack-BOaJgV3N.cjs`),w=require(`./desktopStore-Cox-Og1z.cjs`),T=require(`./AppEmptyState-Dc4GaDfu.cjs`),E=require(`./useOpenApp-BdarhIgl.cjs`),D=require(`./useTranslation-D_O7S4RJ.cjs`),O=require(`./useDynamicIcon-SytdL1Tu.cjs`),k=require(`./useAdaptiveDimensions-Btp0m5Pm.cjs`),A=require(`./MenuEditApp-sz9GlLVH.cjs`),j=require(`./useCloseInterceptor-a_6Lcuqj.cjs`),M=require(`./VscIcon-CxEmqD80.cjs`),N=require(`./fc-xJ_v2ayq.cjs`),P=require(`./FilesApp-30OjnOuP.cjs`),F=require(`./useResolvedUrl-Be5ZlCX7.cjs`),I=require(`./NotesApp-BtR55Hva.cjs`),L=require(`./FilePickerApp-Eu0cr2Cm.cjs`),ee=require(`./Colors-BxX4G8kX.cjs`),R=require(`./ImageViewerApp-BeqY6voE.cjs`),te=require(`./PdfApp-BhIoJWeK.cjs`),ne=require(`./StorybookApp-Bkr-7mXp.cjs`);require(`./TerminalApp-b7_d0jRO.cjs`),require(`./CodeServerApp-CRjCngFv.cjs`);const z=require(`./useMenuBarUtils-Bp5PiztD.cjs`),re=require(`./NotesMenuBar-Bp0sPqyR.cjs`);require(`./TerminalMenuBar-yOaWd-hn.cjs`);const ie=require(`./MenuEditMenuBar-6QxlIDpl.cjs`),ae=require(`./SettingsMenuBar-DQjUa8g1.cjs`),oe=require(`./PdfMenuBar-JXHqwxhZ.cjs`),se=require(`./ImageViewerMenuBar-zOkJtqKo.cjs`);let B=require(`react`);B=e.a(B);let V=require(`react/jsx-runtime`),ce=require(`react-dom`);var le=(0,B.createContext)(void 0),ue={borderRadius:`8px`,headerHeight:40,minWidth:400,minHeight:300,defaultWidth:800,defaultHeight:600,shadow:`0 8px 32px rgba(0, 0, 0, 0.2)`},de={height:48,position:`bottom`,background:`rgba(0, 0, 0, 0.8)`,blur:!0},fe={light:{mode:`light`,colors:{desktop:`#f0f4f8`,taskbar:`rgba(255, 255, 255, 0.9)`,window:`#ffffff`,accent:`#339af0`},window:ue,taskbar:de,desktop:{background:`linear-gradient(135deg, #667eea 0%, #764ba2 100%)`,iconSize:64,iconSpacing:16}},dark:{mode:`dark`,colors:{desktop:`#1a1b1e`,taskbar:`rgba(26, 27, 30, 0.9)`,window:`#25262b`,accent:`#4dabf7`},window:ue,taskbar:de,desktop:{background:`linear-gradient(135deg, #1a1b1e 0%, #2d1f3d 100%)`,iconSize:64,iconSpacing:16}}};function pe({children:e,initialMode:t=`light`,mode:n,theme:r}){let[i,a]=(0,B.useState)(n??t),o=(0,B.useRef)(null);(0,B.useEffect)(()=>{n!==void 0&&n!==i&&a(n)},[n,i]);let s=(0,B.useCallback)(()=>{a(e=>e===`light`?`dark`:`light`)},[]),c=(0,B.useCallback)(e=>{o.current=e},[]),l=(0,B.useCallback)(()=>{let e=fe[i],t=o.current;return t?{...e,colors:{desktop:r?.colors?.desktop??e.colors.desktop,taskbar:t.taskbar,window:t.window,accent:t.accent},window:{...e.window,...r?.window},taskbar:{...e.taskbar,...r?.taskbar},desktop:{...e.desktop,...r?.desktop}}:r?{mode:r.mode??e.mode,colors:{desktop:r.colors?.desktop??e.colors.desktop,taskbar:r.colors?.taskbar??e.colors.taskbar,window:r.colors?.window??e.colors.window,accent:r.colors?.accent??e.colors.accent},window:{...e.window,...r.window},taskbar:{...e.taskbar,...r.taskbar},desktop:{...e.desktop,...r.desktop}}:e},[i,r]);(0,B.useEffect)(()=>{document.documentElement.style.setProperty(`color-scheme`,i),document.documentElement.setAttribute(`data-mantine-color-scheme`,i)},[i]);let u=(0,B.useMemo)(()=>({getTheme:l,setMode:a,toggle:s,setCustomColors:c}),[l,a,s,c]);return(0,V.jsx)(le.Provider,{value:u,children:e})}function me(){let e=(0,B.useContext)(le);if(!e)throw Error(`useTheme must be used within a ThemeProvider`);return e.getTheme()}function he(){let e=(0,B.useContext)(le);if(!e)throw Error(`useThemeContext must be used within a ThemeProvider`);return e}function ge(e,t,n){let r=(0,B.useEffectEvent)(t);(0,B.useEffect)(()=>(window.addEventListener(e,r,n),()=>window.removeEventListener(e,r,n)),[e])}function _e(e){return e===`auto`||e===`dark`||e===`light`}function ve({key:e=`mantine-color-scheme-value`}={}){let t;return{get:t=>{if(typeof window>`u`)return t;try{let n=window.localStorage.getItem(e);return _e(n)?n:t}catch{return t}},set:t=>{try{window.localStorage.setItem(e,t)}catch(e){console.warn(`[@mantine/core] Local storage color scheme manager was unable to save color scheme.`,e)}},subscribe:n=>{t=t=>{t.storageArea===window.localStorage&&t.key===e&&_e(t.newValue)&&n(t.newValue)},window.addEventListener(`storage`,t)},unsubscribe:()=>{window.removeEventListener(`storage`,t)},clear:()=>{window.localStorage.removeItem(e)}}}function ye(e,t){let n=typeof window<`u`&&`matchMedia`in window&&window.matchMedia(`(prefers-color-scheme: dark)`)?.matches,r=e===`auto`?n?`dark`:`light`:e;t()?.setAttribute(`data-mantine-color-scheme`,r)}function be({manager:e,defaultColorScheme:t,getRootElement:n,forceColorScheme:r}){let i=(0,B.useRef)(null),[a,o]=(0,B.useState)(()=>e.get(t)),c=r||a,l=(0,B.useCallback)(t=>{r||(ye(t,n),o(t),e.set(t))},[e.set,c,r]),u=(0,B.useCallback)(()=>{o(t),ye(t,n),e.clear()},[e.clear,t]);return(0,B.useEffect)(()=>(e.subscribe(l),e.unsubscribe),[e.subscribe,e.unsubscribe]),s.f(()=>{ye(e.get(t),n)},[]),(0,B.useEffect)(()=>{if(r)return ye(r,n),()=>{};r===void 0&&ye(a,n),typeof window<`u`&&`matchMedia`in window&&(i.current=window.matchMedia(`(prefers-color-scheme: dark)`));let e=e=>{a===`auto`&&ye(e.matches?`dark`:`light`,n)};return i.current?.addEventListener(`change`,e),()=>i.current?.removeEventListener(`change`,e)},[a,r]),{colorScheme:c,setColorScheme:l,clearColorScheme:u}}function xe(e){return Object.entries(e).map(([e,t])=>`${e}: ${t};`).join(``)}function Se(e,t){let n=t?[t]:[`:root`,`:host`],r=xe(e.variables),i=r?`${n.join(`, `)}{${r}}`:``,a=xe(e.dark),o=xe(e.light),s=e=>n.map(t=>t===`:host`?`${t}([data-mantine-color-scheme="${e}"])`:`${t}[data-mantine-color-scheme="${e}"]`).join(`, `);return`${i}\n\n${a?`${s(`dark`)}{${a}}`:``}\n\n${o?`${s(`light`)}{${o}}`:``}`}function Ce({theme:e,color:t,colorScheme:r,name:i=t,withColorValues:a=!0}){if(!e.colors[t])return{};if(r===`light`){let r=n.w(e,`light`),o={[`--mantine-color-${i}-text`]:`var(--mantine-color-${i}-filled)`,[`--mantine-color-${i}-filled`]:`var(--mantine-color-${i}-${r})`,[`--mantine-color-${i}-filled-hover`]:`var(--mantine-color-${i}-${r===9?8:r+1})`,[`--mantine-color-${i}-light`]:`var(--mantine-color-${i}-1)`,[`--mantine-color-${i}-light-hover`]:`var(--mantine-color-${i}-2)`,[`--mantine-color-${i}-light-color`]:`var(--mantine-color-${i}-9)`,[`--mantine-color-${i}-outline`]:`var(--mantine-color-${i}-${r})`,[`--mantine-color-${i}-outline-hover`]:n._(e.colors[t][r],.05)};return a?{[`--mantine-color-${i}-0`]:e.colors[t][0],[`--mantine-color-${i}-1`]:e.colors[t][1],[`--mantine-color-${i}-2`]:e.colors[t][2],[`--mantine-color-${i}-3`]:e.colors[t][3],[`--mantine-color-${i}-4`]:e.colors[t][4],[`--mantine-color-${i}-5`]:e.colors[t][5],[`--mantine-color-${i}-6`]:e.colors[t][6],[`--mantine-color-${i}-7`]:e.colors[t][7],[`--mantine-color-${i}-8`]:e.colors[t][8],[`--mantine-color-${i}-9`]:e.colors[t][9],...o}:o}let o=n.w(e,`dark`),s={[`--mantine-color-${i}-text`]:`var(--mantine-color-${i}-4)`,[`--mantine-color-${i}-filled`]:`var(--mantine-color-${i}-${o})`,[`--mantine-color-${i}-filled-hover`]:`var(--mantine-color-${i}-${o===9?8:o+1})`,[`--mantine-color-${i}-light`]:n.b(e.colors[t][9],.5),[`--mantine-color-${i}-light-hover`]:n.b(e.colors[t][9],.3),[`--mantine-color-${i}-light-color`]:`var(--mantine-color-${i}-0)`,[`--mantine-color-${i}-outline`]:`var(--mantine-color-${i}-${Math.max(o-4,0)})`,[`--mantine-color-${i}-outline-hover`]:n._(e.colors[t][Math.max(o-4,0)],.05)};return a?{[`--mantine-color-${i}-0`]:e.colors[t][0],[`--mantine-color-${i}-1`]:e.colors[t][1],[`--mantine-color-${i}-2`]:e.colors[t][2],[`--mantine-color-${i}-3`]:e.colors[t][3],[`--mantine-color-${i}-4`]:e.colors[t][4],[`--mantine-color-${i}-5`]:e.colors[t][5],[`--mantine-color-${i}-6`]:e.colors[t][6],[`--mantine-color-${i}-7`]:e.colors[t][7],[`--mantine-color-${i}-8`]:e.colors[t][8],[`--mantine-color-${i}-9`]:e.colors[t][9],...s}:s}function we(e){return!!e&&typeof e==`object`&&`mantine-virtual-color`in e}function Te(e,t,r){n.z(t).forEach(n=>Object.assign(e,{[`--mantine-${r}-${n}`]:t[n]}))}var Ee=e=>{let t=n.w(e,`light`),r=e.defaultRadius in e.radius?e.radius[e.defaultRadius]:n.L(e.defaultRadius),i={variables:{"--mantine-z-index-app":`100`,"--mantine-z-index-modal":`200`,"--mantine-z-index-popover":`300`,"--mantine-z-index-overlay":`400`,"--mantine-z-index-max":`9999`,"--mantine-scale":e.scale.toString(),"--mantine-cursor-type":e.cursorType,"--mantine-webkit-font-smoothing":e.fontSmoothing?`antialiased`:`unset`,"--mantine-moz-font-smoothing":e.fontSmoothing?`grayscale`:`unset`,"--mantine-color-white":e.white,"--mantine-color-black":e.black,"--mantine-line-height":e.lineHeights.md,"--mantine-font-family":e.fontFamily,"--mantine-font-family-monospace":e.fontFamilyMonospace,"--mantine-font-family-headings":e.headings.fontFamily,"--mantine-heading-font-weight":e.headings.fontWeight,"--mantine-heading-text-wrap":e.headings.textWrap,"--mantine-radius-default":r,"--mantine-primary-color-filled":`var(--mantine-color-${e.primaryColor}-filled)`,"--mantine-primary-color-filled-hover":`var(--mantine-color-${e.primaryColor}-filled-hover)`,"--mantine-primary-color-light":`var(--mantine-color-${e.primaryColor}-light)`,"--mantine-primary-color-light-hover":`var(--mantine-color-${e.primaryColor}-light-hover)`,"--mantine-primary-color-light-color":`var(--mantine-color-${e.primaryColor}-light-color)`},light:{"--mantine-color-scheme":`light`,"--mantine-primary-color-contrast":d.a(e,`light`),"--mantine-color-bright":`var(--mantine-color-black)`,"--mantine-color-text":e.black,"--mantine-color-body":e.white,"--mantine-color-error":`var(--mantine-color-red-6)`,"--mantine-color-placeholder":`var(--mantine-color-gray-5)`,"--mantine-color-anchor":`var(--mantine-color-${e.primaryColor}-${t})`,"--mantine-color-default":`var(--mantine-color-white)`,"--mantine-color-default-hover":`var(--mantine-color-gray-0)`,"--mantine-color-default-color":`var(--mantine-color-black)`,"--mantine-color-default-border":`var(--mantine-color-gray-4)`,"--mantine-color-dimmed":`var(--mantine-color-gray-6)`,"--mantine-color-disabled":`var(--mantine-color-gray-2)`,"--mantine-color-disabled-color":`var(--mantine-color-gray-5)`,"--mantine-color-disabled-border":`var(--mantine-color-gray-3)`},dark:{"--mantine-color-scheme":`dark`,"--mantine-primary-color-contrast":d.a(e,`dark`),"--mantine-color-bright":`var(--mantine-color-white)`,"--mantine-color-text":`var(--mantine-color-dark-0)`,"--mantine-color-body":`var(--mantine-color-dark-7)`,"--mantine-color-error":`var(--mantine-color-red-8)`,"--mantine-color-placeholder":`var(--mantine-color-dark-3)`,"--mantine-color-anchor":`var(--mantine-color-${e.primaryColor}-4)`,"--mantine-color-default":`var(--mantine-color-dark-6)`,"--mantine-color-default-hover":`var(--mantine-color-dark-5)`,"--mantine-color-default-color":`var(--mantine-color-white)`,"--mantine-color-default-border":`var(--mantine-color-dark-4)`,"--mantine-color-dimmed":`var(--mantine-color-dark-2)`,"--mantine-color-disabled":`var(--mantine-color-dark-6)`,"--mantine-color-disabled-color":`var(--mantine-color-dark-3)`,"--mantine-color-disabled-border":`var(--mantine-color-dark-4)`}};Te(i.variables,e.breakpoints,`breakpoint`),Te(i.variables,e.spacing,`spacing`),Te(i.variables,e.fontSizes,`font-size`),Te(i.variables,e.lineHeights,`line-height`),Te(i.variables,e.shadows,`shadow`),Te(i.variables,e.radius,`radius`),Te(i.variables,e.fontWeights,`font-weight`),e.colors[e.primaryColor].forEach((t,n)=>{i.variables[`--mantine-primary-color-${n}`]=`var(--mantine-color-${e.primaryColor}-${n})`}),n.z(e.colors).forEach(t=>{let n=e.colors[t];if(we(n)){Object.assign(i.light,Ce({theme:e,name:n.name,color:n.light,colorScheme:`light`,withColorValues:!0})),Object.assign(i.dark,Ce({theme:e,name:n.name,color:n.dark,colorScheme:`dark`,withColorValues:!0}));return}n.forEach((e,n)=>{i.variables[`--mantine-color-${t}-${n}`]=e}),Object.assign(i.light,Ce({theme:e,color:t,colorScheme:`light`,withColorValues:!1})),Object.assign(i.dark,Ce({theme:e,color:t,colorScheme:`dark`,withColorValues:!1}))});let a=e.headings.sizes;return n.z(a).forEach(t=>{i.variables[`--mantine-${t}-font-size`]=a[t].fontSize,i.variables[`--mantine-${t}-line-height`]=a[t].lineHeight,i.variables[`--mantine-${t}-font-weight`]=a[t].fontWeight||e.headings.fontWeight}),i};function De(){let e=n.d(),t=n.g(),i=n.z(e.breakpoints).reduce((t,i)=>{let a=e.breakpoints[i].includes(`px`),o=r.r(e.breakpoints[i]);return`${t}@media (max-width: ${a?`${o-.1}px`:n.I(o-.1)}) {.mantine-visible-from-${i} {display: none !important;}}@media (min-width: ${a?`${o}px`:n.I(o)}) {.mantine-hidden-from-${i} {display: none !important;}}`},``);return(0,V.jsx)(`style`,{"data-mantine-styles":`classes`,nonce:t?.(),dangerouslySetInnerHTML:{__html:i}})}function Oe({theme:e,generator:t}){let r=Ee(e),i=t?.(e);return i?n.R(r,i):r}var ke=Ee(n.f);function Ae(e){let t={variables:{},light:{},dark:{}};return n.z(e.variables).forEach(n=>{ke.variables[n]!==e.variables[n]&&(t.variables[n]=e.variables[n])}),n.z(e.light).forEach(n=>{ke.light[n]!==e.light[n]&&(t.light[n]=e.light[n])}),n.z(e.dark).forEach(n=>{ke.dark[n]!==e.dark[n]&&(t.dark[n]=e.dark[n])}),t}function je(e){return Se({variables:{},dark:{"--mantine-color-scheme":`dark`},light:{"--mantine-color-scheme":`light`}},e)}function Me({cssVariablesSelector:e,deduplicateCssVariables:t}){let r=n.d(),i=n.g(),a=Oe({theme:r,generator:n.m()}),o=(e===void 0||e===`:root`||e===`:host`)&&t,s=Se(o?Ae(a):a,e);return s?(0,V.jsx)(`style`,{"data-mantine-styles":!0,nonce:i?.(),dangerouslySetInnerHTML:{__html:`${s}${o?``:je(e)}`}}):null}Me.displayName=`@mantine/CssVariables`;function Ne({respectReducedMotion:e,getRootElement:t}){s.f(()=>{e&&t()?.setAttribute(`data-respect-reduced-motion`,`true`)},[e])}function Pe({theme:e,children:t,getStyleNonce:r,withStaticClasses:i=!0,withGlobalClasses:a=!0,deduplicateCssVariables:o=!0,withCssVariables:s=!0,cssVariablesSelector:c,classNamesPrefix:l=`mantine`,colorSchemeManager:u=ve(),defaultColorScheme:d=`light`,getRootElement:f=()=>document.documentElement,cssVariablesResolver:p,forceColorScheme:m,stylesTransform:h,env:g}){let{colorScheme:_,setColorScheme:v,clearColorScheme:y}=be({defaultColorScheme:d,forceColorScheme:m,manager:u,getRootElement:f});return Ne({respectReducedMotion:e?.respectReducedMotion||!1,getRootElement:f}),(0,V.jsx)(n.p,{value:{colorScheme:_,setColorScheme:v,clearColorScheme:y,getRootElement:f,classNamesPrefix:l,getStyleNonce:r,cssVariablesResolver:p,cssVariablesSelector:c??`:root`,withStaticClasses:i,stylesTransform:h,env:g},children:(0,V.jsxs)(n.u,{theme:e,children:[s&&(0,V.jsx)(Me,{cssVariablesSelector:c,deduplicateCssVariables:o}),a&&(0,V.jsx)(De,{}),t]})})}Pe.displayName=`@mantine/core/MantineProvider`;function Fe({children:e,theme:t,env:r}){return(0,V.jsx)(n.p,{value:{colorScheme:`auto`,setColorScheme:()=>{},clearColorScheme:()=>{},getRootElement:()=>document.documentElement,classNamesPrefix:`mantine`,cssVariablesSelector:`:root`,withStaticClasses:!1,headless:!0,env:r},children:(0,V.jsx)(n.u,{theme:t,children:e})})}Fe.displayName=`@mantine/core/HeadlessMantineProvider`;function Ie(e){return e}var[Le,H]=i.t(`ModalBase component was not found in tree`);function Re({opened:e,transitionDuration:t}){let[n,r]=(0,B.useState)(e),i=(0,B.useRef)(-1),a=s.l()?0:t;return(0,B.useEffect)(()=>(e?(r(!0),window.clearTimeout(i.current)):a===0?r(!1):i.current=window.setTimeout(()=>r(!1),a),()=>window.clearTimeout(i.current)),[e,a]),n}function ze({id:e,transitionProps:t,opened:n,trapFocus:r,closeOnEscape:i,onClose:a,returnFocus:c}){let l=s.u(e),[u,d]=(0,B.useState)(!1),[f,p]=(0,B.useState)(!1),m=Re({opened:n,transitionDuration:typeof t?.duration==`number`?t?.duration:200});return ge(`keydown`,e=>{e.key===`Escape`&&i&&!e.isComposing&&n&&e.target?.getAttribute(`data-mantine-stop-propagation`)!==`true`&&a()},{capture:!0}),o.p({opened:n,shouldReturnFocus:r&&c}),{_id:l,titleMounted:u,bodyMounted:f,shouldLockScroll:m,setTitleMounted:d,setBodyMounted:p}}var U=function(){return U=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},U.apply(this,arguments)};function Be(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 Ve(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 He=`right-scroll-bar-position`,Ue=`width-before-scroll-bar`,We=`with-scroll-bars-hidden`,Ge=`--removed-body-scroll-bar-size`;function Ke(e,t){return typeof e==`function`?e(t):e&&(e.current=t),e}function qe(e,t){var n=(0,B.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 Je=typeof window<`u`?B.useLayoutEffect:B.useEffect,Ye=new WeakMap;function Xe(e,t){var n=qe(t||null,function(t){return e.forEach(function(e){return Ke(e,t)})});return Je(function(){var t=Ye.get(n);if(t){var r=new Set(t),i=new Set(e),a=n.current;r.forEach(function(e){i.has(e)||Ke(e,null)}),i.forEach(function(e){r.has(e)||Ke(e,a)})}Ye.set(n,e)},[e]),n}function Ze(e){return e}function Qe(e,t){t===void 0&&(t=Ze);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 $e(e){e===void 0&&(e={});var t=Qe(null);return t.options=U({async:!0,ssr:!1},e),t}var et=function(e){var t=e.sideCar,n=Be(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 B.createElement(r,U({},n))};et.isSideCarExport=!0;function tt(e,t){return e.useMedium(t),et}var nt=$e(),rt=function(){},it=B.forwardRef(function(e,t){var n=B.useRef(null),r=B.useState({onScrollCapture:rt,onWheelCapture:rt,onTouchMoveCapture:rt}),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=Be(e,[`forwardProps`,`children`,`className`,`removeScrollBar`,`enabled`,`shards`,`sideCar`,`noRelative`,`noIsolation`,`inert`,`allowPinchZoom`,`as`,`gapMode`]),x=f,S=Xe([n,t]),C=U(U({},b),i);return B.createElement(B.Fragment,null,u&&B.createElement(x,{sideCar:nt,removeScrollBar:l,shards:d,noRelative:p,noIsolation:m,inert:h,setCallbacks:a,allowPinchZoom:!!g,lockRef:n,gapMode:y}),o?B.cloneElement(B.Children.only(s),U(U({},C),{ref:S})):B.createElement(v,U({},C,{className:c,ref:S}),s))});it.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},it.classNames={fullWidth:Ue,zeroRight:He};var at,ot=function(){if(at)return at;if(typeof __webpack_nonce__<`u`)return __webpack_nonce__};function st(){if(!document)return null;var e=document.createElement(`style`);e.type=`text/css`;var t=ot();return t&&e.setAttribute(`nonce`,t),e}function ct(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function lt(e){(document.head||document.getElementsByTagName(`head`)[0]).appendChild(e)}var ut=function(){var e=0,t=null;return{add:function(n){e==0&&(t=st())&&(ct(t,n),lt(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},dt=function(){var e=ut();return function(t,n){B.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},ft=function(){var e=dt();return function(t){var n=t.styles,r=t.dynamic;return e(n,r),null}},pt={left:0,top:0,right:0,gap:0},mt=function(e){return parseInt(e||``,10)||0},ht=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[mt(n),mt(r),mt(i)]},gt=function(e){if(e===void 0&&(e=`margin`),typeof window>`u`)return pt;var t=ht(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])}},_t=ft(),vt=`data-scroll-locked`,yt=function(e,t,n,r){var i=e.left,a=e.top,o=e.right,s=e.gap;return n===void 0&&(n=`margin`),`
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./chunk-CiTBaPhY.cjs`),t=require(`./CalendarApp-C1HvuJoa.cjs`),n=require(`./Box-D_64wv6n.cjs`),r=require(`./ColorPicker-BL4UbKCV.cjs`),i=require(`./create-safe-context-95P-Bfg3.cjs`),a=require(`./AppMenuBar-BiHbNg9V.cjs`),o=require(`./Tooltip-DDh_x-CB.cjs`),s=require(`./TextInput-DcYns3hz.cjs`),c=require(`./SettingsApp-ByiPAj1I.cjs`),l=require(`./Slider-Bg_EIBg6.cjs`),u=require(`./CreateItemApp-BU9wmjKM.cjs`),d=require(`./DownloadProgress-IRw1dzLX.cjs`),f=require(`./UnstyledButton-Cl5RuIid.cjs`),p=require(`./Paper-DwCpwWwH.cjs`),m=require(`./ActionIcon-C_SfdBfx.cjs`),h=require(`./Group-DhwePB84.cjs`),g=require(`./getRuntime-BLXyQZBB.cjs`),_=require(`./FileIcon-BCrsxmtt.cjs`),v=require(`./Button-D0FXpkur.cjs`),y=require(`./AppIcon--qzR4sgf.cjs`),b=require(`./Center-T4No_FAa.cjs`),x=require(`./DeviceInfoApp-Cdju_LIB.cjs`),S=require(`./UploaderApp-Q_a3mBik.cjs`),C=require(`./Stack-BOaJgV3N.cjs`),w=require(`./desktopStore-Cox-Og1z.cjs`),T=require(`./AppEmptyState-Dc4GaDfu.cjs`),E=require(`./useOpenApp-Br0jo4-y.cjs`),D=require(`./useTranslation-D_O7S4RJ.cjs`),O=require(`./useDynamicIcon-SytdL1Tu.cjs`),k=require(`./useAdaptiveDimensions-Btp0m5Pm.cjs`),A=require(`./MenuEditApp-sz9GlLVH.cjs`),j=require(`./useCloseInterceptor-a_6Lcuqj.cjs`),M=require(`./VscIcon-CxEmqD80.cjs`),N=require(`./fc-xJ_v2ayq.cjs`),P=require(`./FilesApp-SIWXFPXt.cjs`),F=require(`./useResolvedUrl-Be5ZlCX7.cjs`),I=require(`./NotesApp-BtR55Hva.cjs`),L=require(`./FilePickerApp-Eu0cr2Cm.cjs`),ee=require(`./Colors-BxX4G8kX.cjs`),R=require(`./ImageViewerApp-BeqY6voE.cjs`),te=require(`./PdfApp-BhIoJWeK.cjs`),ne=require(`./StorybookApp-Bkr-7mXp.cjs`);require(`./TerminalApp-b7_d0jRO.cjs`),require(`./CodeServerApp-CRjCngFv.cjs`);const z=require(`./useMenuBarUtils-Bp5PiztD.cjs`),re=require(`./NotesMenuBar-Bp0sPqyR.cjs`);require(`./TerminalMenuBar-yOaWd-hn.cjs`);const ie=require(`./MenuEditMenuBar-6QxlIDpl.cjs`),ae=require(`./SettingsMenuBar-DQjUa8g1.cjs`),oe=require(`./PdfMenuBar-JXHqwxhZ.cjs`),se=require(`./ImageViewerMenuBar-zOkJtqKo.cjs`);let B=require(`react`);B=e.a(B);let V=require(`react/jsx-runtime`),ce=require(`react-dom`);var le=(0,B.createContext)(void 0),ue={borderRadius:`8px`,headerHeight:40,minWidth:400,minHeight:300,defaultWidth:800,defaultHeight:600,shadow:`0 8px 32px rgba(0, 0, 0, 0.2)`},de={height:48,position:`bottom`,background:`rgba(0, 0, 0, 0.8)`,blur:!0},fe={light:{mode:`light`,colors:{desktop:`#f0f4f8`,taskbar:`rgba(255, 255, 255, 0.9)`,window:`#ffffff`,accent:`#339af0`},window:ue,taskbar:de,desktop:{background:`linear-gradient(135deg, #667eea 0%, #764ba2 100%)`,iconSize:64,iconSpacing:16}},dark:{mode:`dark`,colors:{desktop:`#1a1b1e`,taskbar:`rgba(26, 27, 30, 0.9)`,window:`#25262b`,accent:`#4dabf7`},window:ue,taskbar:de,desktop:{background:`linear-gradient(135deg, #1a1b1e 0%, #2d1f3d 100%)`,iconSize:64,iconSpacing:16}}};function pe({children:e,initialMode:t=`light`,mode:n,theme:r}){let[i,a]=(0,B.useState)(n??t),o=(0,B.useRef)(null);(0,B.useEffect)(()=>{n!==void 0&&n!==i&&a(n)},[n,i]);let s=(0,B.useCallback)(()=>{a(e=>e===`light`?`dark`:`light`)},[]),c=(0,B.useCallback)(e=>{o.current=e},[]),l=(0,B.useCallback)(()=>{let e=fe[i],t=o.current;return t?{...e,colors:{desktop:r?.colors?.desktop??e.colors.desktop,taskbar:t.taskbar,window:t.window,accent:t.accent},window:{...e.window,...r?.window},taskbar:{...e.taskbar,...r?.taskbar},desktop:{...e.desktop,...r?.desktop}}:r?{mode:r.mode??e.mode,colors:{desktop:r.colors?.desktop??e.colors.desktop,taskbar:r.colors?.taskbar??e.colors.taskbar,window:r.colors?.window??e.colors.window,accent:r.colors?.accent??e.colors.accent},window:{...e.window,...r.window},taskbar:{...e.taskbar,...r.taskbar},desktop:{...e.desktop,...r.desktop}}:e},[i,r]);(0,B.useEffect)(()=>{document.documentElement.style.setProperty(`color-scheme`,i),document.documentElement.setAttribute(`data-mantine-color-scheme`,i)},[i]);let u=(0,B.useMemo)(()=>({getTheme:l,setMode:a,toggle:s,setCustomColors:c}),[l,a,s,c]);return(0,V.jsx)(le.Provider,{value:u,children:e})}function me(){let e=(0,B.useContext)(le);if(!e)throw Error(`useTheme must be used within a ThemeProvider`);return e.getTheme()}function he(){let e=(0,B.useContext)(le);if(!e)throw Error(`useThemeContext must be used within a ThemeProvider`);return e}function ge(e,t,n){let r=(0,B.useEffectEvent)(t);(0,B.useEffect)(()=>(window.addEventListener(e,r,n),()=>window.removeEventListener(e,r,n)),[e])}function _e(e){return e===`auto`||e===`dark`||e===`light`}function ve({key:e=`mantine-color-scheme-value`}={}){let t;return{get:t=>{if(typeof window>`u`)return t;try{let n=window.localStorage.getItem(e);return _e(n)?n:t}catch{return t}},set:t=>{try{window.localStorage.setItem(e,t)}catch(e){console.warn(`[@mantine/core] Local storage color scheme manager was unable to save color scheme.`,e)}},subscribe:n=>{t=t=>{t.storageArea===window.localStorage&&t.key===e&&_e(t.newValue)&&n(t.newValue)},window.addEventListener(`storage`,t)},unsubscribe:()=>{window.removeEventListener(`storage`,t)},clear:()=>{window.localStorage.removeItem(e)}}}function ye(e,t){let n=typeof window<`u`&&`matchMedia`in window&&window.matchMedia(`(prefers-color-scheme: dark)`)?.matches,r=e===`auto`?n?`dark`:`light`:e;t()?.setAttribute(`data-mantine-color-scheme`,r)}function be({manager:e,defaultColorScheme:t,getRootElement:n,forceColorScheme:r}){let i=(0,B.useRef)(null),[a,o]=(0,B.useState)(()=>e.get(t)),c=r||a,l=(0,B.useCallback)(t=>{r||(ye(t,n),o(t),e.set(t))},[e.set,c,r]),u=(0,B.useCallback)(()=>{o(t),ye(t,n),e.clear()},[e.clear,t]);return(0,B.useEffect)(()=>(e.subscribe(l),e.unsubscribe),[e.subscribe,e.unsubscribe]),s.f(()=>{ye(e.get(t),n)},[]),(0,B.useEffect)(()=>{if(r)return ye(r,n),()=>{};r===void 0&&ye(a,n),typeof window<`u`&&`matchMedia`in window&&(i.current=window.matchMedia(`(prefers-color-scheme: dark)`));let e=e=>{a===`auto`&&ye(e.matches?`dark`:`light`,n)};return i.current?.addEventListener(`change`,e),()=>i.current?.removeEventListener(`change`,e)},[a,r]),{colorScheme:c,setColorScheme:l,clearColorScheme:u}}function xe(e){return Object.entries(e).map(([e,t])=>`${e}: ${t};`).join(``)}function Se(e,t){let n=t?[t]:[`:root`,`:host`],r=xe(e.variables),i=r?`${n.join(`, `)}{${r}}`:``,a=xe(e.dark),o=xe(e.light),s=e=>n.map(t=>t===`:host`?`${t}([data-mantine-color-scheme="${e}"])`:`${t}[data-mantine-color-scheme="${e}"]`).join(`, `);return`${i}\n\n${a?`${s(`dark`)}{${a}}`:``}\n\n${o?`${s(`light`)}{${o}}`:``}`}function Ce({theme:e,color:t,colorScheme:r,name:i=t,withColorValues:a=!0}){if(!e.colors[t])return{};if(r===`light`){let r=n.w(e,`light`),o={[`--mantine-color-${i}-text`]:`var(--mantine-color-${i}-filled)`,[`--mantine-color-${i}-filled`]:`var(--mantine-color-${i}-${r})`,[`--mantine-color-${i}-filled-hover`]:`var(--mantine-color-${i}-${r===9?8:r+1})`,[`--mantine-color-${i}-light`]:`var(--mantine-color-${i}-1)`,[`--mantine-color-${i}-light-hover`]:`var(--mantine-color-${i}-2)`,[`--mantine-color-${i}-light-color`]:`var(--mantine-color-${i}-9)`,[`--mantine-color-${i}-outline`]:`var(--mantine-color-${i}-${r})`,[`--mantine-color-${i}-outline-hover`]:n._(e.colors[t][r],.05)};return a?{[`--mantine-color-${i}-0`]:e.colors[t][0],[`--mantine-color-${i}-1`]:e.colors[t][1],[`--mantine-color-${i}-2`]:e.colors[t][2],[`--mantine-color-${i}-3`]:e.colors[t][3],[`--mantine-color-${i}-4`]:e.colors[t][4],[`--mantine-color-${i}-5`]:e.colors[t][5],[`--mantine-color-${i}-6`]:e.colors[t][6],[`--mantine-color-${i}-7`]:e.colors[t][7],[`--mantine-color-${i}-8`]:e.colors[t][8],[`--mantine-color-${i}-9`]:e.colors[t][9],...o}:o}let o=n.w(e,`dark`),s={[`--mantine-color-${i}-text`]:`var(--mantine-color-${i}-4)`,[`--mantine-color-${i}-filled`]:`var(--mantine-color-${i}-${o})`,[`--mantine-color-${i}-filled-hover`]:`var(--mantine-color-${i}-${o===9?8:o+1})`,[`--mantine-color-${i}-light`]:n.b(e.colors[t][9],.5),[`--mantine-color-${i}-light-hover`]:n.b(e.colors[t][9],.3),[`--mantine-color-${i}-light-color`]:`var(--mantine-color-${i}-0)`,[`--mantine-color-${i}-outline`]:`var(--mantine-color-${i}-${Math.max(o-4,0)})`,[`--mantine-color-${i}-outline-hover`]:n._(e.colors[t][Math.max(o-4,0)],.05)};return a?{[`--mantine-color-${i}-0`]:e.colors[t][0],[`--mantine-color-${i}-1`]:e.colors[t][1],[`--mantine-color-${i}-2`]:e.colors[t][2],[`--mantine-color-${i}-3`]:e.colors[t][3],[`--mantine-color-${i}-4`]:e.colors[t][4],[`--mantine-color-${i}-5`]:e.colors[t][5],[`--mantine-color-${i}-6`]:e.colors[t][6],[`--mantine-color-${i}-7`]:e.colors[t][7],[`--mantine-color-${i}-8`]:e.colors[t][8],[`--mantine-color-${i}-9`]:e.colors[t][9],...s}:s}function we(e){return!!e&&typeof e==`object`&&`mantine-virtual-color`in e}function Te(e,t,r){n.z(t).forEach(n=>Object.assign(e,{[`--mantine-${r}-${n}`]:t[n]}))}var Ee=e=>{let t=n.w(e,`light`),r=e.defaultRadius in e.radius?e.radius[e.defaultRadius]:n.L(e.defaultRadius),i={variables:{"--mantine-z-index-app":`100`,"--mantine-z-index-modal":`200`,"--mantine-z-index-popover":`300`,"--mantine-z-index-overlay":`400`,"--mantine-z-index-max":`9999`,"--mantine-scale":e.scale.toString(),"--mantine-cursor-type":e.cursorType,"--mantine-webkit-font-smoothing":e.fontSmoothing?`antialiased`:`unset`,"--mantine-moz-font-smoothing":e.fontSmoothing?`grayscale`:`unset`,"--mantine-color-white":e.white,"--mantine-color-black":e.black,"--mantine-line-height":e.lineHeights.md,"--mantine-font-family":e.fontFamily,"--mantine-font-family-monospace":e.fontFamilyMonospace,"--mantine-font-family-headings":e.headings.fontFamily,"--mantine-heading-font-weight":e.headings.fontWeight,"--mantine-heading-text-wrap":e.headings.textWrap,"--mantine-radius-default":r,"--mantine-primary-color-filled":`var(--mantine-color-${e.primaryColor}-filled)`,"--mantine-primary-color-filled-hover":`var(--mantine-color-${e.primaryColor}-filled-hover)`,"--mantine-primary-color-light":`var(--mantine-color-${e.primaryColor}-light)`,"--mantine-primary-color-light-hover":`var(--mantine-color-${e.primaryColor}-light-hover)`,"--mantine-primary-color-light-color":`var(--mantine-color-${e.primaryColor}-light-color)`},light:{"--mantine-color-scheme":`light`,"--mantine-primary-color-contrast":d.a(e,`light`),"--mantine-color-bright":`var(--mantine-color-black)`,"--mantine-color-text":e.black,"--mantine-color-body":e.white,"--mantine-color-error":`var(--mantine-color-red-6)`,"--mantine-color-placeholder":`var(--mantine-color-gray-5)`,"--mantine-color-anchor":`var(--mantine-color-${e.primaryColor}-${t})`,"--mantine-color-default":`var(--mantine-color-white)`,"--mantine-color-default-hover":`var(--mantine-color-gray-0)`,"--mantine-color-default-color":`var(--mantine-color-black)`,"--mantine-color-default-border":`var(--mantine-color-gray-4)`,"--mantine-color-dimmed":`var(--mantine-color-gray-6)`,"--mantine-color-disabled":`var(--mantine-color-gray-2)`,"--mantine-color-disabled-color":`var(--mantine-color-gray-5)`,"--mantine-color-disabled-border":`var(--mantine-color-gray-3)`},dark:{"--mantine-color-scheme":`dark`,"--mantine-primary-color-contrast":d.a(e,`dark`),"--mantine-color-bright":`var(--mantine-color-white)`,"--mantine-color-text":`var(--mantine-color-dark-0)`,"--mantine-color-body":`var(--mantine-color-dark-7)`,"--mantine-color-error":`var(--mantine-color-red-8)`,"--mantine-color-placeholder":`var(--mantine-color-dark-3)`,"--mantine-color-anchor":`var(--mantine-color-${e.primaryColor}-4)`,"--mantine-color-default":`var(--mantine-color-dark-6)`,"--mantine-color-default-hover":`var(--mantine-color-dark-5)`,"--mantine-color-default-color":`var(--mantine-color-white)`,"--mantine-color-default-border":`var(--mantine-color-dark-4)`,"--mantine-color-dimmed":`var(--mantine-color-dark-2)`,"--mantine-color-disabled":`var(--mantine-color-dark-6)`,"--mantine-color-disabled-color":`var(--mantine-color-dark-3)`,"--mantine-color-disabled-border":`var(--mantine-color-dark-4)`}};Te(i.variables,e.breakpoints,`breakpoint`),Te(i.variables,e.spacing,`spacing`),Te(i.variables,e.fontSizes,`font-size`),Te(i.variables,e.lineHeights,`line-height`),Te(i.variables,e.shadows,`shadow`),Te(i.variables,e.radius,`radius`),Te(i.variables,e.fontWeights,`font-weight`),e.colors[e.primaryColor].forEach((t,n)=>{i.variables[`--mantine-primary-color-${n}`]=`var(--mantine-color-${e.primaryColor}-${n})`}),n.z(e.colors).forEach(t=>{let n=e.colors[t];if(we(n)){Object.assign(i.light,Ce({theme:e,name:n.name,color:n.light,colorScheme:`light`,withColorValues:!0})),Object.assign(i.dark,Ce({theme:e,name:n.name,color:n.dark,colorScheme:`dark`,withColorValues:!0}));return}n.forEach((e,n)=>{i.variables[`--mantine-color-${t}-${n}`]=e}),Object.assign(i.light,Ce({theme:e,color:t,colorScheme:`light`,withColorValues:!1})),Object.assign(i.dark,Ce({theme:e,color:t,colorScheme:`dark`,withColorValues:!1}))});let a=e.headings.sizes;return n.z(a).forEach(t=>{i.variables[`--mantine-${t}-font-size`]=a[t].fontSize,i.variables[`--mantine-${t}-line-height`]=a[t].lineHeight,i.variables[`--mantine-${t}-font-weight`]=a[t].fontWeight||e.headings.fontWeight}),i};function De(){let e=n.d(),t=n.g(),i=n.z(e.breakpoints).reduce((t,i)=>{let a=e.breakpoints[i].includes(`px`),o=r.r(e.breakpoints[i]);return`${t}@media (max-width: ${a?`${o-.1}px`:n.I(o-.1)}) {.mantine-visible-from-${i} {display: none !important;}}@media (min-width: ${a?`${o}px`:n.I(o)}) {.mantine-hidden-from-${i} {display: none !important;}}`},``);return(0,V.jsx)(`style`,{"data-mantine-styles":`classes`,nonce:t?.(),dangerouslySetInnerHTML:{__html:i}})}function Oe({theme:e,generator:t}){let r=Ee(e),i=t?.(e);return i?n.R(r,i):r}var ke=Ee(n.f);function Ae(e){let t={variables:{},light:{},dark:{}};return n.z(e.variables).forEach(n=>{ke.variables[n]!==e.variables[n]&&(t.variables[n]=e.variables[n])}),n.z(e.light).forEach(n=>{ke.light[n]!==e.light[n]&&(t.light[n]=e.light[n])}),n.z(e.dark).forEach(n=>{ke.dark[n]!==e.dark[n]&&(t.dark[n]=e.dark[n])}),t}function je(e){return Se({variables:{},dark:{"--mantine-color-scheme":`dark`},light:{"--mantine-color-scheme":`light`}},e)}function Me({cssVariablesSelector:e,deduplicateCssVariables:t}){let r=n.d(),i=n.g(),a=Oe({theme:r,generator:n.m()}),o=(e===void 0||e===`:root`||e===`:host`)&&t,s=Se(o?Ae(a):a,e);return s?(0,V.jsx)(`style`,{"data-mantine-styles":!0,nonce:i?.(),dangerouslySetInnerHTML:{__html:`${s}${o?``:je(e)}`}}):null}Me.displayName=`@mantine/CssVariables`;function Ne({respectReducedMotion:e,getRootElement:t}){s.f(()=>{e&&t()?.setAttribute(`data-respect-reduced-motion`,`true`)},[e])}function Pe({theme:e,children:t,getStyleNonce:r,withStaticClasses:i=!0,withGlobalClasses:a=!0,deduplicateCssVariables:o=!0,withCssVariables:s=!0,cssVariablesSelector:c,classNamesPrefix:l=`mantine`,colorSchemeManager:u=ve(),defaultColorScheme:d=`light`,getRootElement:f=()=>document.documentElement,cssVariablesResolver:p,forceColorScheme:m,stylesTransform:h,env:g}){let{colorScheme:_,setColorScheme:v,clearColorScheme:y}=be({defaultColorScheme:d,forceColorScheme:m,manager:u,getRootElement:f});return Ne({respectReducedMotion:e?.respectReducedMotion||!1,getRootElement:f}),(0,V.jsx)(n.p,{value:{colorScheme:_,setColorScheme:v,clearColorScheme:y,getRootElement:f,classNamesPrefix:l,getStyleNonce:r,cssVariablesResolver:p,cssVariablesSelector:c??`:root`,withStaticClasses:i,stylesTransform:h,env:g},children:(0,V.jsxs)(n.u,{theme:e,children:[s&&(0,V.jsx)(Me,{cssVariablesSelector:c,deduplicateCssVariables:o}),a&&(0,V.jsx)(De,{}),t]})})}Pe.displayName=`@mantine/core/MantineProvider`;function Fe({children:e,theme:t,env:r}){return(0,V.jsx)(n.p,{value:{colorScheme:`auto`,setColorScheme:()=>{},clearColorScheme:()=>{},getRootElement:()=>document.documentElement,classNamesPrefix:`mantine`,cssVariablesSelector:`:root`,withStaticClasses:!1,headless:!0,env:r},children:(0,V.jsx)(n.u,{theme:t,children:e})})}Fe.displayName=`@mantine/core/HeadlessMantineProvider`;function Ie(e){return e}var[Le,H]=i.t(`ModalBase component was not found in tree`);function Re({opened:e,transitionDuration:t}){let[n,r]=(0,B.useState)(e),i=(0,B.useRef)(-1),a=s.l()?0:t;return(0,B.useEffect)(()=>(e?(r(!0),window.clearTimeout(i.current)):a===0?r(!1):i.current=window.setTimeout(()=>r(!1),a),()=>window.clearTimeout(i.current)),[e,a]),n}function ze({id:e,transitionProps:t,opened:n,trapFocus:r,closeOnEscape:i,onClose:a,returnFocus:c}){let l=s.u(e),[u,d]=(0,B.useState)(!1),[f,p]=(0,B.useState)(!1),m=Re({opened:n,transitionDuration:typeof t?.duration==`number`?t?.duration:200});return ge(`keydown`,e=>{e.key===`Escape`&&i&&!e.isComposing&&n&&e.target?.getAttribute(`data-mantine-stop-propagation`)!==`true`&&a()},{capture:!0}),o.p({opened:n,shouldReturnFocus:r&&c}),{_id:l,titleMounted:u,bodyMounted:f,shouldLockScroll:m,setTitleMounted:d,setBodyMounted:p}}var U=function(){return U=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},U.apply(this,arguments)};function Be(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 Ve(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 He=`right-scroll-bar-position`,Ue=`width-before-scroll-bar`,We=`with-scroll-bars-hidden`,Ge=`--removed-body-scroll-bar-size`;function Ke(e,t){return typeof e==`function`?e(t):e&&(e.current=t),e}function qe(e,t){var n=(0,B.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 Je=typeof window<`u`?B.useLayoutEffect:B.useEffect,Ye=new WeakMap;function Xe(e,t){var n=qe(t||null,function(t){return e.forEach(function(e){return Ke(e,t)})});return Je(function(){var t=Ye.get(n);if(t){var r=new Set(t),i=new Set(e),a=n.current;r.forEach(function(e){i.has(e)||Ke(e,null)}),i.forEach(function(e){r.has(e)||Ke(e,a)})}Ye.set(n,e)},[e]),n}function Ze(e){return e}function Qe(e,t){t===void 0&&(t=Ze);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 $e(e){e===void 0&&(e={});var t=Qe(null);return t.options=U({async:!0,ssr:!1},e),t}var et=function(e){var t=e.sideCar,n=Be(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 B.createElement(r,U({},n))};et.isSideCarExport=!0;function tt(e,t){return e.useMedium(t),et}var nt=$e(),rt=function(){},it=B.forwardRef(function(e,t){var n=B.useRef(null),r=B.useState({onScrollCapture:rt,onWheelCapture:rt,onTouchMoveCapture:rt}),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=Be(e,[`forwardProps`,`children`,`className`,`removeScrollBar`,`enabled`,`shards`,`sideCar`,`noRelative`,`noIsolation`,`inert`,`allowPinchZoom`,`as`,`gapMode`]),x=f,S=Xe([n,t]),C=U(U({},b),i);return B.createElement(B.Fragment,null,u&&B.createElement(x,{sideCar:nt,removeScrollBar:l,shards:d,noRelative:p,noIsolation:m,inert:h,setCallbacks:a,allowPinchZoom:!!g,lockRef:n,gapMode:y}),o?B.cloneElement(B.Children.only(s),U(U({},C),{ref:S})):B.createElement(v,U({},C,{className:c,ref:S}),s))});it.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},it.classNames={fullWidth:Ue,zeroRight:He};var at,ot=function(){if(at)return at;if(typeof __webpack_nonce__<`u`)return __webpack_nonce__};function st(){if(!document)return null;var e=document.createElement(`style`);e.type=`text/css`;var t=ot();return t&&e.setAttribute(`nonce`,t),e}function ct(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function lt(e){(document.head||document.getElementsByTagName(`head`)[0]).appendChild(e)}var ut=function(){var e=0,t=null;return{add:function(n){e==0&&(t=st())&&(ct(t,n),lt(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},dt=function(){var e=ut();return function(t,n){B.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},ft=function(){var e=dt();return function(t){var n=t.styles,r=t.dynamic;return e(n,r),null}},pt={left:0,top:0,right:0,gap:0},mt=function(e){return parseInt(e||``,10)||0},ht=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[mt(n),mt(r),mt(i)]},gt=function(e){if(e===void 0&&(e=`margin`),typeof window>`u`)return pt;var t=ht(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])}},_t=ft(),vt=`data-scroll-locked`,yt=function(e,t,n,r){var i=e.left,a=e.top,o=e.right,s=e.gap;return n===void 0&&(n=`margin`),`
2
2
  .${We} {
3
3
  overflow: hidden ${r};
4
4
  padding-right: ${s}px ${r};
@@ -46,7 +46,7 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=requi
46
46
  ${h}px !important;
47
47
  ${g}px !important;
48
48
  }
49
- `),()=>{s.current?.removeAttribute(`data-motion-pop-id`),v.contains(_)&&v.removeChild(_)}},[t]),(0,V.jsx)(Pn,{isPresent:t,childRef:s,sizeRef:c,pop:a,children:a===!1?e:B.cloneElement(e,{ref:u})})}var In=({children:e,initial:t,isPresent:n,onExitComplete:r,custom:i,presenceAffectsLayout:a,mode:o,anchorX:s,anchorY:c,root:l})=>{let u=T.f(Ln),d=(0,B.useId)(),f=!0,p=(0,B.useMemo)(()=>(f=!1,{id:d,initial:t,isPresent:n,custom:i,onExitComplete:e=>{u.set(e,!0);for(let e of u.values())if(!e)return;r&&r()},register:e=>(u.set(e,!1),()=>u.delete(e))}),[n,u,r]);return a&&f&&(p={...p}),(0,B.useMemo)(()=>{u.forEach((e,t)=>u.set(t,!1))},[n]),B.useEffect(()=>{!n&&!u.size&&r&&r()},[n]),e=(0,V.jsx)(Fn,{pop:o===`popLayout`,isPresent:n,anchorX:s,anchorY:c,root:l,children:e}),(0,V.jsx)(T.u.Provider,{value:p,children:e})};function Ln(){return new Map}var Rn=e=>e.key||``;function zn(e){let t=[];return B.Children.forEach(e,e=>{(0,B.isValidElement)(e)&&t.push(e)}),t}var Bn=({children:e,custom:t,initial:n=!0,onExitComplete:r,presenceAffectsLayout:i=!0,mode:a=`sync`,propagate:o=!1,anchorX:s=`left`,anchorY:c=`top`,root:l})=>{let[u,d]=T.i(o),f=(0,B.useMemo)(()=>zn(e),[e]),p=o&&!u?[]:f.map(Rn),m=(0,B.useRef)(!0),h=(0,B.useRef)(f),g=T.f(()=>new Map),_=(0,B.useRef)(new Set),[v,y]=(0,B.useState)(f),[b,x]=(0,B.useState)(f);T.d(()=>{m.current=!1,h.current=f;for(let e=0;e<b.length;e++){let t=Rn(b[e]);p.includes(t)?(g.delete(t),_.current.delete(t)):g.get(t)!==!0&&g.set(t,!1)}},[b,p.length,p.join(`-`)]);let S=[];if(f!==v){let e=[...f];for(let t=0;t<b.length;t++){let n=b[t],r=Rn(n);p.includes(r)||(e.splice(t,0,n),S.push(n))}return a===`wait`&&S.length&&(e=S),x(zn(e)),y(f),null}process.env.NODE_ENV!==`production`&&a===`wait`&&b.length>1&&console.warn(`You're attempting to animate multiple children within AnimatePresence, but its mode is set to "wait". This will lead to odd visual behaviour.`);let{forceRender:C}=(0,B.useContext)(T.p);return(0,V.jsx)(V.Fragment,{children:b.map(e=>{let v=Rn(e),y=o&&!u?!1:f===b||p.includes(v);return(0,V.jsx)(In,{isPresent:y,initial:!m.current||n?void 0:!1,custom:t,presenceAffectsLayout:i,mode:a,root:l,onExitComplete:y?void 0:()=>{if(_.current.has(v))return;if(g.has(v))_.current.add(v),g.set(v,!0);else return;let e=!0;g.forEach(t=>{t||(e=!1)}),e&&(C?.(),x(h.current),o&&d?.(),r&&r())},anchorX:s,anchorY:c,children:e},v)})})};function Vn(e){e.values.forEach(e=>e.stop())}function Hn(e,t){[...t].reverse().forEach(n=>{let r=e.getVariant(n);r&&T.c(e,r),e.variantChildren&&e.variantChildren.forEach(e=>{Hn(e,t)})})}function Un(e,t){if(Array.isArray(t))return Hn(e,t);if(typeof t==`string`)return Hn(e,[t]);T.c(e,t)}function Wn(){let e=!1,t=new Set,n={subscribe(e){return t.add(e),()=>void t.delete(e)},start(n,r){T.l(e,`controls.start() should only be called after a component has mounted. Consider calling within a useEffect hook.`);let i=[];return t.forEach(e=>{i.push(T.s(e,n,{transitionOverride:r}))}),Promise.all(i)},set(n){return T.l(e,`controls.set() should only be called after a component has mounted. Consider calling within a useEffect hook.`),t.forEach(e=>{Un(e,n)})},stop(){t.forEach(e=>{Vn(e)})},mount(){return e=!0,()=>{e=!1,n.stop()}}};return n}function Gn(){let e=T.f(Wn);return T.d(e.mount,[]),e}var Kn=(0,B.createContext)(null),qn=({children:e})=>{let t=(0,B.useRef)(new Map);return(0,V.jsx)(Kn.Provider,{value:{register:(e,n)=>{t.current.set(e,n)},unregister:e=>{t.current.delete(e)},getRect:e=>t.current.get(e)},children:e})},Jn=()=>{let e=(0,B.useContext)(Kn);if(!e)throw Error(`useWindowButtonRegistry must be used within WindowButtonRegistryProvider`);return e},Yn={root:`_root_1z0nr_1`},Xn=`linear-gradient(90deg, rgba(42, 123, 155, 1) 0%, rgba(87, 199, 133, 1) 50%, rgba(237, 221, 83, 1) 100%)`,Zn=({children:e,onContextMenu:t,wallpaper:n,backgroundColor:r})=>{let i=w.o(e=>e.setViewportSize),a=(0,B.useRef)(null);(0,B.useEffect)(()=>{let e=a.current;if(!e)return;let t=new ResizeObserver(e=>{let{width:t,height:n}=e[0]?.contentRect??{};t&&t>0&&n&&n>0&&i(t,n)});return t.observe(e),()=>t.disconnect()},[i]);let o=n?`url(${n})`:Xn;return(0,V.jsx)(`div`,{ref:a,className:Yn.root,"data-testid":`desktop-area`,style:{"--taskbar-height":`48px`,backgroundColor:r??`transparent`,backgroundImage:o,backgroundSize:`cover`,backgroundPosition:`center`},onContextMenu:t,children:e})},K=e=>typeof e==`string`,Qn=()=>{let e,t,n=new Promise((n,r)=>{e=n,t=r});return n.resolve=e,n.reject=t,n},$n=e=>e==null?``:``+e,er=(e,t,n)=>{e.forEach(e=>{t[e]&&(n[e]=t[e])})},tr=/###/g,nr=e=>e&&e.indexOf(`###`)>-1?e.replace(tr,`.`):e,rr=e=>!e||K(e),ir=(e,t,n)=>{let r=K(t)?t.split(`.`):t,i=0;for(;i<r.length-1;){if(rr(e))return{};let t=nr(r[i]);!e[t]&&n&&(e[t]=new n),e=Object.prototype.hasOwnProperty.call(e,t)?e[t]:{},++i}return rr(e)?{}:{obj:e,k:nr(r[i])}},ar=(e,t,n)=>{let{obj:r,k:i}=ir(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=ir(e,o,Object);for(;s.obj===void 0&&o.length;)a=`${o[o.length-1]}.${a}`,o=o.slice(0,o.length-1),s=ir(e,o,Object),s?.obj&&s.obj[`${s.k}.${a}`]!==void 0&&(s.obj=void 0);s.obj[`${s.k}.${a}`]=n},or=(e,t,n,r)=>{let{obj:i,k:a}=ir(e,t,Object);i[a]=i[a]||[],i[a].push(n)},sr=(e,t)=>{let{obj:n,k:r}=ir(e,t);if(n&&Object.prototype.hasOwnProperty.call(n,r))return n[r]},cr=(e,t,n)=>{let r=sr(e,n);return r===void 0?sr(t,n):r},lr=(e,t,n)=>{for(let r in t)r!==`__proto__`&&r!==`constructor`&&(r in e?K(e[r])||e[r]instanceof String||K(t[r])||t[r]instanceof String?n&&(e[r]=t[r]):lr(e[r],t[r],n):e[r]=t[r]);return e},ur=e=>e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,`\\$&`),dr={"&":`&amp;`,"<":`&lt;`,">":`&gt;`,'"':`&quot;`,"'":`&#39;`,"/":`&#x2F;`},fr=e=>K(e)?e.replace(/[&<>"'\/]/g,e=>dr[e]):e,pr=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}},mr=[` `,`,`,`?`,`!`,`;`],hr=new pr(20),gr=(e,t,n)=>{t||=``,n||=``;let r=mr.filter(e=>t.indexOf(e)<0&&n.indexOf(e)<0);if(r.length===0)return!0;let i=hr.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},_r=(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`].indexOf(typeof t)>-1&&o<r.length-1)continue;e+=o-e+1;break}i=t}return i},vr=e=>e?.replace(/_/g,`-`),yr={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)}},q=new class e{constructor(e,t={}){this.init(e,t)}init(e,t={}){this.prefix=t.prefix||`i18next:`,this.logger=e||yr,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:(K(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)}},br=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)}}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.apply(n,[e,...t])})}},xr=class extends br{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.indexOf(e)<0&&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.indexOf(`.`)>-1?o=e.split(`.`):(o=[e,t],n&&(Array.isArray(n)?o.push(...n):K(n)&&i?o.push(...n.split(i)):o.push(n)));let s=sr(this.data,o);return!s&&!t&&!n&&e.indexOf(`.`)>-1&&(e=o[0],t=o[1],n=o.slice(2).join(`.`)),s||!a||!K(n)?s:_r(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.indexOf(`.`)>-1&&(o=e.split(`.`),r=t,t=o[1]),this.addNamespaces(t),ar(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)(K(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.indexOf(`.`)>-1&&(o=e.split(`.`),r=n,n=t,t=o[1]),this.addNamespaces(t);let s=sr(this.data,o)||{};a.skipCopy||(n=JSON.parse(JSON.stringify(n))),r?lr(s,n,i):s={...s,...n},ar(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}},Sr={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}},Cr=Symbol(`i18next/PATH_KEY`);function wr(){let e=[],t=Object.create(null),n;return t.get=(r,i)=>(n?.revoke?.(),i===Cr?e:(e.push(i),n=Proxy.revocable(r,t),n.proxy)),Proxy.revocable(Object.create(null),t).proxy}function Tr(e,t){let{[Cr]:n}=e(wr()),r=t?.keySeparator??`.`,i=t?.nsSeparator??`:`;if(n.length>1&&i){let e=t?.ns,a=Array.isArray(e)?e:null;if(a&&a.length>1&&a.slice(1).includes(n[0]))return`${n[0]}${i}${n.slice(1).join(r)}`}return n.join(r)}var Er={},Dr=e=>!K(e)&&typeof e!=`boolean`&&typeof e!=`number`,Or=class e extends br{constructor(e,t={}){super(),er([`resourceStore`,`languageUtils`,`pluralResolver`,`interpolator`,`backendConnector`,`i18nFormat`,`utils`],e,this),this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator=`.`),this.logger=q.create(`translator`)}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=Dr(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.indexOf(n)>-1,o=!this.options.userDefinedKeySeparator&&!t.keySeparator&&!this.options.userDefinedNsSeparator&&!t.nsSeparator&&!gr(e,n,r);if(a&&!o){let t=e.match(this.interpolator.nestingRegexp);if(t&&t.length>0)return{key:e,namespaces:K(i)?[i]:i};let a=e.split(n);(n!==r||n===r&&this.options.ns.indexOf(a[0])>-1)&&(i=a.shift()),e=a.join(r)}return{key:e,namespaces:K(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=Tr(t,{...this.options,...i})),Array.isArray(t)||(t=[String(t)]),t=t.map(e=>typeof e==`function`?Tr(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]`],v=i.joinArrays===void 0?this.options.joinArrays:i.joinArrays,y=!this.i18nFormat||this.i18nFormat.handleAsObject,b=i.count!==void 0&&!K(i.count),x=e.hasDefaultValue(i),S=b?this.pluralResolver.getSuffix(d,i.count,i):``,C=i.ordinal&&b?this.pluralResolver.getSuffix(d,i.count,{ordinal:!1}):``,w=b&&!i.ordinal&&i.count===0,T=w&&i[`defaultValue${this.options.pluralSeparator}zero`]||i[`defaultValue${S}`]||i[`defaultValue${C}`]||i.defaultValue,E=m;y&&!m&&x&&(E=T);let D=Dr(E),O=Object.prototype.toString.apply(E);if(y&&E&&D&&_.indexOf(O)<0&&!(K(v)&&Array.isArray(E))){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,E,{...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(E),t=e?[]:{},n=e?g:h;for(let e in E)if(Object.prototype.hasOwnProperty.call(E,e)){let r=`${n}${o}${e}`;x&&!m?t[e]=this.translate(r,{...i,defaultValue:Dr(T)?T[e]:void 0,joinArrays:!1,ns:c}):t[e]=this.translate(r,{...i,joinArrays:!1,ns:c}),t[e]===r&&(t[e]=E[e])}m=t}}else if(y&&K(v)&&Array.isArray(m))m=m.join(v),m&&=this.extendTranslation(m,t,i,r);else{let e=!1,n=!1;!this.isValidLookup(m)&&x&&(e=!0,m=T),this.isValidLookup(m)||(n=!0,m=s);let a=(i.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&n?void 0:m,c=x&&T!==m&&this.options.updateMissing;if(n||e||c){if(this.logger.log(c?`updateKey`:`missingKey`,d,l,s,c?T: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=x&&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&&b?e.forEach(e=>{let t=this.pluralResolver.getSuffixes(e,i);w&&i[`defaultValue${this.options.pluralSeparator}zero`]&&t.indexOf(`${this.options.pluralSeparator}zero`)<0&&t.push(`${this.options.pluralSeparator}zero`),t.forEach(t=>{n([e],s+t,i[`defaultValue${t}`]||T)})}):n(e,s,T))}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=K(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&&!K(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=K(a)?[a]:a;return e!=null&&o?.length&&n.applyPostProcessor!==!1&&(e=Sr.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 K(e)&&(e=[e]),Array.isArray(e)&&(e=e.map(e=>typeof e==`function`?Tr(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&&!K(t.count),d=u&&!t.ordinal&&t.count===0,f=t.context!==void 0&&(K(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,!Er[`${p[0]}-${e}`]&&this.utils?.hasLoadedNamespace&&!this.utils?.hasLoadedNamespace(o)&&(Er[`${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.indexOf(i)===0&&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.indexOf(i)===0&&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&&!K(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.substring(0,12)===`defaultValue`&&e[t]!==void 0)return!0;return!1}},kr=class{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=q.create(`languageUtils`)}getScriptPartFromCode(e){if(e=vr(e),!e||e.indexOf(`-`)<0)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=vr(e),!e||e.indexOf(`-`)<0)return e;let t=e.split(`-`);return this.formatLanguageCode(t[0])}formatLanguageCode(e){if(K(e)&&e.indexOf(`-`)>-1){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.indexOf(e)>-1}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=>{if(e===r||!(e.indexOf(`-`)<0&&r.indexOf(`-`)<0)&&(e.indexOf(`-`)>0&&r.indexOf(`-`)<0&&e.substring(0,e.indexOf(`-`))===r||e.indexOf(r)===0&&r.length>1))return e})}),t||=this.getFallbackCodes(this.options.fallbackLng)[0],t}getFallbackCodes(e,t){if(!e)return[];if(typeof e==`function`&&(e=e(t)),K(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 K(e)&&(e.indexOf(`-`)>-1||e.indexOf(`_`)>-1)?(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))):K(e)&&i(this.formatLanguageCode(e)),n.forEach(e=>{r.indexOf(e)<0&&i(this.formatLanguageCode(e))}),r}},Ar={zero:0,one:1,two:2,few:3,many:4,other:5},jr={select:e=>e===1?`one`:`other`,resolvedOptions:()=>({pluralCategories:[`one`,`other`]})},Mr=class{constructor(e,t={}){this.languageUtils=e,this.options=t,this.logger=q.create(`pluralResolver`),this.pluralRulesCache={}}clearCache(){this.pluralRulesCache={}}getRule(e,t={}){let n=vr(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!`),jr;if(!e.match(/-|_/))return jr;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)=>Ar[e]-Ar[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))}},Nr=(e,t,n,r=`.`,i=!0)=>{let a=cr(e,t,n);return!a&&i&&K(n)&&(a=_r(e,n,r),a===void 0&&(a=_r(t,n,r))),a},Pr=e=>e.replace(/\$/g,`$$$$`),Fr=class{constructor(e={}){this.logger=q.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?fr:t,this.escapeValue=n===void 0?!0:n,this.useRawValueToEscape=r===void 0?!1:r,this.prefix=i?ur(i):a||`{{`,this.suffix=o?ur(o):s||`}}`,this.formatSeparator=c||`,`,this.unescapePrefix=l?``:u||`-`,this.unescapeSuffix=this.unescapePrefix?``:l||``,this.nestingPrefix=d?ur(d):f||ur(`$t(`),this.nestingSuffix=p?ur(p):m||ur(`)`),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.indexOf(this.formatSeparator)<0){let i=Nr(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(Nr(t,s,a,this.options.keySeparator,this.options.ignoreJSONStructure),o,n,{...r,...t,interpolationkey:a})};this.resetRegExp();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=>Pr(e)},{regex:this.regexp,safeValue:e=>this.escapeValue?Pr(this.escape(e)):Pr(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=K(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 !K(a)&&!this.useRawValueToEscape&&(a=$n(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.indexOf(n)<0)return e;let r=e.split(RegExp(`${ur(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.indexOf(this.prefix)>-1&&delete a.defaultValue,e};for(;r=this.nestingRegexp.exec(e);){let s=[];a={...n},a=a.replace&&!K(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&&!K(i))return i;K(i)||(i=$n(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}},Ir=e=>{let t=e.toLowerCase().trim(),n={};if(e.indexOf(`(`)>-1){let r=e.split(`(`);t=r[0].toLowerCase().trim();let i=r[1].substring(0,r[1].length-1);t===`currency`&&i.indexOf(`:`)<0?n.currency||=i.trim():t===`relativetime`&&i.indexOf(`:`)<0?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}},Lr=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(vr(r),i),t[o]=s),s(n)}},Rr=e=>(t,n,r)=>e(vr(n),r)(t),zr=class{constructor(e={}){this.logger=q.create(`formatter`),this.options=e,this.init(e)}init(e,t={interpolation:{}}){this.formatSeparator=t.interpolation.formatSeparator||`,`;let n=t.cacheInBuiltFormats?Lr:Rr;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()]=Lr(t)}format(e,t,n,r={}){let i=t.split(this.formatSeparator);if(i.length>1&&i[0].indexOf(`(`)>1&&i[0].indexOf(`)`)<0&&i.find(e=>e.indexOf(`)`)>-1)){let e=i.findIndex(e=>e.indexOf(`)`)>-1);i[0]=[i[0],...i.splice(1,e)].join(this.formatSeparator)}return i.reduce((e,t)=>{let{formatName:i,formatOptions:a}=Ir(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)}},Br=(e,t)=>{e.pending[t]!==void 0&&(delete e.pending[t],e.pendingCount--)},Vr=class extends br{constructor(e,t,n,r={}){super(),this.backend=e,this.store=t,this.services=n,this.languageUtils=n.languageUtils,this.options=r,this.logger=q.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=>{or(n.loaded,[i],a),Br(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.call(this,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();K(e)&&(e=this.languageUtils.toResolveHierarchy(e)),K(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)}}},Hr=()=>({debug:!1,initAsync:!0,ns:[`translation`],defaultNS:[`translation`],fallbackLng:[`dev`],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:`all`,preload:!1,simplifyPluralSuffix:!0,keySeparator:`.`,nsSeparator:`:`,pluralSeparator:`_`,contextSeparator:`_`,partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:`fallback`,saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:e=>{let t={};if(typeof e[1]==`object`&&(t=e[1]),K(e[1])&&(t.defaultValue=e[1]),K(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,format:e=>e,prefix:`{{`,suffix:`}}`,formatSeparator:`,`,unescapePrefix:`-`,nestingPrefix:`$t(`,nestingSuffix:`)`,nestingOptionsSeparator:`,`,maxReplaces:1e3,skipOnVariables:!0},cacheInBuiltFormats:!0}),Ur=e=>(K(e.ns)&&(e.ns=[e.ns]),K(e.fallbackLng)&&(e.fallbackLng=[e.fallbackLng]),K(e.fallbackNS)&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs?.indexOf?.(`cimode`)<0&&(e.supportedLngs=e.supportedLngs.concat([`cimode`])),typeof e.initImmediate==`boolean`&&(e.initAsync=e.initImmediate),e),Wr=()=>{},Gr=e=>{Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(t=>{typeof e[t]==`function`&&(e[t]=e[t].bind(e))})},Kr=`__i18next_supportNoticeShown`,qr=()=>!!(typeof globalThis<`u`&&globalThis[Kr]||typeof process<`u`&&process.env&&process.env.I18NEXT_NO_SUPPORT_NOTICE||typeof process<`u`&&process.env&&process.env.NODE_ENV===`production`),Jr=()=>{typeof globalThis<`u`&&(globalThis[Kr]=!0)},Yr=e=>!!(e?.modules?.backend?.name?.indexOf(`Locize`)>0||e?.modules?.backend?.constructor?.name?.indexOf(`Locize`)>0||e?.options?.backend?.backends&&e.options.backend.backends.some(e=>e?.name?.indexOf(`Locize`)>0||e?.constructor?.name?.indexOf(`Locize`)>0)||e?.options?.backend?.projectId||e?.options?.backend?.backendOptions&&e.options.backend.backendOptions.some(e=>e?.projectId)),J=class e extends br{constructor(e={},t){if(super(),this.options=Ur(e),this.services={},this.logger=q,this.modules={external:[]},Gr(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&&(K(e.ns)?e.defaultNS=e.ns:e.ns.indexOf(`translation`)<0&&(e.defaultNS=e.ns[0]));let n=Hr();this.options={...n,...this.options,...Ur(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),this.options.showSupportNotice!==!1&&!Yr(this)&&!qr()&&(typeof console<`u`&&console.info!==void 0&&console.info(`🌐 i18next is made possible by our own product, Locize — consider powering your project with managed localization (AI, CDN, integrations): https://locize.com 💙`),Jr());let r=e=>e?typeof e==`function`?new e:e:null;if(!this.options.isClone){this.modules.logger?q.init(r(this.modules.logger),this.options):q.init(null,this.options);let e;e=this.modules.formatter?this.modules.formatter:zr;let t=new kr(this.options);this.store=new xr(this.options.resources,this.options);let i=this.services;i.logger=q,i.resourceStore=this.store,i.languageUtils=t,i.pluralResolver=new Mr(t,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),this.options.interpolation.format&&this.options.interpolation.format!==n.interpolation.format&&this.logger.deprecate(`init: you are still using the legacy format function, please use the new approach: https://www.i18next.com/translation-function/formatting`),e&&(!this.options.interpolation.format||this.options.interpolation.format===n.interpolation.format)&&(i.formatter=r(e),i.formatter.init&&i.formatter.init(i,this.options),this.options.interpolation.format=i.formatter.format.bind(i.formatter)),i.interpolator=new Fr(this.options),i.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},i.backendConnector=new Vr(r(this.modules.backend),i.resourceStore,i,this.options),i.backendConnector.on(`*`,(e,...t)=>{this.emit(e,...t)}),this.modules.languageDetector&&(i.languageDetector=r(this.modules.languageDetector),i.languageDetector.init&&i.languageDetector.init(i,this.options.detection,this.options)),this.modules.i18nFormat&&(i.i18nFormat=r(this.modules.i18nFormat),i.i18nFormat.init&&i.i18nFormat.init(this)),this.translator=new Or(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||=Wr,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=Qn(),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.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=Wr){let n=t,r=K(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.indexOf(t)<0&&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=Qn();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||=Wr,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`&&Sr.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`].indexOf(e)>-1)){for(let e=0;e<this.languages.length;e++){let t=this.languages[e];if(!([`cimode`,`dev`].indexOf(t)>-1)&&this.store.hasLanguageSomeTranslations(t)){this.resolvedLanguage=t;break}}!this.resolvedLanguage&&this.languages.indexOf(e)<0&&this.store.hasLanguageSomeTranslations(e)&&(this.resolvedLanguage=e,this.languages.unshift(e))}}changeLanguage(e,t){this.isLanguageChangingTo=e;let n=Qn();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=K(t)?t:t&&t[0],a=this.store.hasLanguageSomeTranslations(n)?n:this.services.languageUtils.getBestMatchFromCodes(K(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){let r=(e,t,...i)=>{let a;a=typeof t==`object`?{...t}:this.options.overloadTranslationOptionHandler([e,t].concat(i)),a.lng=a.lng||r.lng,a.lngs=a.lngs||r.lngs,a.ns=a.ns||r.ns,a.keyPrefix!==``&&(a.keyPrefix=a.keyPrefix||n||r.keyPrefix);let o={...this.options,...a};typeof a.keyPrefix==`function`&&(a.keyPrefix=Tr(a.keyPrefix,o));let s=this.options.keySeparator||`.`,c;return a.keyPrefix&&Array.isArray(e)?c=e.map(e=>(typeof e==`function`&&(e=Tr(e,o)),`${a.keyPrefix}${s}${e}`)):(typeof e==`function`&&(e=Tr(e,o)),c=a.keyPrefix?`${a.keyPrefix}${s}${e}`:e),this.t(c,a)};return K(e)?r.lng=e:r.lngs=e,r.ns=t,r.keyPrefix=n,r}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=Qn();return this.options.ns?(K(e)&&(e=[e]),e.forEach(e=>{this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}),this.loadResources(e=>{n.resolve(),t&&t(e)}),n):(t&&t(),Promise.resolve())}loadLanguages(e,t){let n=Qn();K(e)&&(e=[e]);let r=this.options.preload||[],i=e.filter(e=>r.indexOf(e)<0&&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 kr(Hr());return e.toLowerCase().indexOf(`-latn`)>1?`ltr`:t.indexOf(n.getLanguagePartFromCode(e))>-1||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=Wr){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 xr(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={...Hr().interpolation,...this.options.interpolation,...t.interpolation},n={...i,interpolation:e};a.services.interpolator=new Fr(n)}return a.translator=new Or(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();J.createInstance,J.dir,J.init,J.loadResources,J.reloadResources,J.use,J.changeLanguage,J.getFixedT,J.t,J.exists,J.setDefaultNamespace,J.hasLoadedNamespace,J.loadNamespaces,J.loadLanguages;var Xr=e=>e.toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`}),Zr=()=>{let[e,t]=(0,B.useState)(()=>Xr(new Date));return(0,B.useEffect)(()=>{let e=setInterval(()=>t(Xr(new Date)),1e3);return()=>clearInterval(e)},[]),e},Qr=-8,$r=0,ei=()=>{let[e,t]=(0,B.useState)({activeMenu:null,position:{x:0,y:0},targetWindowId:null}),n=(0,B.useCallback)((e,n)=>{e.preventDefault(),e.stopPropagation(),t({activeMenu:`window`,position:{x:e.clientX,y:e.clientY+Qr},targetWindowId:n})},[]),r=(0,B.useCallback)(e=>{e.preventDefault(),t({activeMenu:`panel`,position:{x:e.clientX,y:e.clientY+Qr},targetWindowId:null})},[]),i=(0,B.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),t({activeMenu:`launcher`,position:{x:e.clientX,y:e.clientY+$r},targetWindowId:null})},[]),a=(0,B.useCallback)(()=>{t(e=>({...e,activeMenu:null}))},[]);return{activeMenu:e.activeMenu,position:e.position,targetWindowId:e.targetWindowId,windowMenuOpened:e.activeMenu===`window`,panelMenuOpened:e.activeMenu===`panel`,launcherMenuOpened:e.activeMenu===`launcher`,openWindowMenu:n,openPanelMenu:r,openLauncherMenu:i,closeMenu:a}},ti=()=>{let e=c.h(e=>e.animationDuration);return{duration:e,windowVariants:E.f(e),panelVariants:E.u(e),minimizeVariant:E.l(.3),restoreVariant:E.d(.3),maximizeTransition:E.c(.25),easeIn:E.o(e),easeOut:E.s(e)}},Y={WELCOME:`welcome`,NOTEPAD:`notepad`,UPLOADER:`uploader`,FILES:`files`,SETTINGS:`settings`,PDF:`pdf`,CALENDAR:`calendar`,STORYBOOK:`storybook`,LINKEDIN:`linkedin`,GITHUB:`github`,IMAGE_VIEWER:`image-viewer`,DOS_EMULATOR:`dos-emulator`,DOOM:`doom`,TERMINAL:`terminal`,CODE_SERVER:`code-server`,DEVICE_INFO:`device-info`,MENUEDIT:`menuedit`},ni={[Y.FILES]:`filesApp`,[Y.PDF]:`pdfViewer`,[Y.IMAGE_VIEWER]:`imageViewer`,[Y.DOS_EMULATOR]:`dosEmulator`,[Y.CODE_SERVER]:`codeServer`,[Y.DEVICE_INFO]:`deviceInfo`},ri=[Y.WELCOME,Y.UPLOADER,Y.TERMINAL,Y.CODE_SERVER,Y.STORYBOOK,Y.SETTINGS,Y.NOTEPAD,Y.LINKEDIN,Y.GITHUB,Y.FILES,Y.DOOM];function ii(e){let{t}=D.t(`apps`);return e?t(`names.${ni[e]??e}`,e):``}function ai(e,t,n){return(0,B.useMemo)(()=>{if(!t.trim())return e;let r=t.toLowerCase().trim();return e.filter(e=>{let t=n(e);return Array.isArray(t)?t.some(e=>e.toLowerCase().includes(r)):t.toLowerCase().includes(r)})},[e,t,n])}function oi(e){let[t,n]=(0,B.useState)(e??new Set);return{expanded:t,toggle:(0,B.useCallback)(e=>{n(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),expand:(0,B.useCallback)(e=>{n(t=>{let n=new Set(t);return n.add(e),n})},[]),collapse:(0,B.useCallback)(e=>{n(t=>{let n=new Set(t);return n.delete(e),n})},[]),expandAll:(0,B.useCallback)(e=>{n(new Set(e))},[]),collapseAll:(0,B.useCallback)(()=>{n(new Set)},[]),reset:(0,B.useCallback)(()=>{n(new Set)},[]),isExpanded:(0,B.useCallback)(e=>t.has(e),[t])}}var si={header:`_header_2d0oy_1`,iconContainer:`_iconContainer_2d0oy_20`,expandIcon:`_expandIcon_2d0oy_28`,icon:`_icon_2d0oy_20`,title:`_title_2d0oy_42`,content:`_content_2d0oy_48`},ci=({title:e,fcIcon:t=`FcFolder`,expanded:n,onToggle:r,children:i,className:a,"aria-label":o})=>{let s=O.c(n?`VscRemove`:`VscAdd`,{size:14,className:si.expandIcon});return(0,V.jsxs)(`div`,{className:a,children:[(0,V.jsxs)(f.t,{className:si.header,onClick:r,"aria-expanded":n,"aria-label":o??e,children:[(0,V.jsx)(`span`,{className:si.iconContainer,children:s}),(0,V.jsx)(`span`,{className:si.icon,children:(0,V.jsx)(y.t,{fcIcon:t,size:16})}),(0,V.jsx)(g.o,{size:`sm`,fw:500,className:si.title,children:e})]}),n&&(0,V.jsx)(`div`,{className:si.content,children:i})]})},li={trigger:`_trigger_4gumo_1`,panel:`_panel_4gumo_23`,searchContainer:`_searchContainer_4gumo_39`,searchInput:`_searchInput_4gumo_43`,scrollContainer:`_scrollContainer_4gumo_47`,appsSection:`_appsSection_4gumo_56`,appButton:`_appButton_4gumo_62`,appIcon:`_appIcon_4gumo_82`};function ui(e){let t=e.icon,n=`fcIcon`in e?e.fcIcon:void 0,r=t?.startsWith(`Fc`)||t?.startsWith(`Fi`)||t?.startsWith(`Vsc`);return{id:e.id,name:e.name,fcIcon:n??(r?t:void 0),icon:r?void 0:t,iconUrl:`iconUrl`in e?e.iconUrl:void 0,iconColor:`iconColor`in e?e.iconColor:void 0}}var di=({app:e,onOpen:t})=>{let n=ii(e.id);return(0,V.jsxs)(`button`,{className:li.appButton,onClick:()=>t(e.id),role:`menuitem`,"aria-label":n,children:[(0,V.jsx)(`span`,{className:li.appIcon,children:(0,V.jsx)(y.t,{fcIcon:e.fcIcon,iconUrl:e.iconUrl,fallback:e.icon,color:e.iconColor})}),(0,V.jsx)(g.o,{size:`sm`,children:n})]},e.id)},fi=({folder:e,isExpanded:t,apps:n,onToggle:r,onOpen:i})=>(0,V.jsx)(ci,{title:A.o(e),fcIcon:e.fcIcon,expanded:t,onToggle:r,children:n.map(e=>(0,V.jsx)(di,{app:e,onOpen:i},e.id))},e.id),pi=({fcIcon:e=`FcDebian`,onContextMenu:t})=>{let n=O.i(e,{size:22,style:{display:`block`}}),[r,i]=(0,B.useState)(!1),[a,o]=(0,B.useState)(``),l=E.t(),u=c.h(e=>e.theme.taskbar),d=w.o(e=>e.launcherFolders),f=w.o(e=>e.customApps),{panelVariants:p}=ti(),m=(0,B.useRef)(null),h=(0,B.useRef)(null),{expanded:_,toggle:v,reset:y}=oi(new Set),b=(0,B.useMemo)(()=>[...w.C].sort((e,t)=>e.name.localeCompare(t.name)),[]),x=(0,B.useMemo)(()=>new Set(d.flatMap(e=>e.appIds)),[d]),S=ai((0,B.useMemo)(()=>b.filter(e=>!x.has(e.id)),[b,x]),a,e=>[e.id,e.name]),C=(0,B.useMemo)(()=>{if(!a.trim())return[...d].sort((e,t)=>e.isPredefined===t.isPredefined?e.name.localeCompare(t.name):e.isPredefined?-1:1);let e=a.toLowerCase();return d.map(t=>({...t,appIds:t.appIds.filter(t=>{let n=b.find(e=>e.id===t);return n?n.id.toLowerCase().includes(e)||n.name.toLowerCase().includes(e):!1})})).filter(e=>e.appIds.length>0).sort((e,t)=>e.isPredefined===t.isPredefined?e.name.localeCompare(t.name):e.isPredefined?-1:1)},[d,a,b]),D=(0,B.useMemo)(()=>{if(!a.trim())return f;let e=a.toLowerCase();return f.filter(t=>t.id.toLowerCase().includes(e)||t.name.toLowerCase().includes(e))},[f,a]);(0,B.useEffect)(()=>{a.trim()&&r&&(C.map(e=>e.id).forEach(e=>{_.has(e)||v(e)}),D.length>0&&!_.has(`launcher-folder-custom-apps`)&&v(w.J))},[a,C,D,r,_,v]),(0,B.useEffect)(()=>{r||y()},[r,y]),(0,B.useEffect)(()=>{if(!r)return;let e=e=>{m.current&&!m.current.contains(e.target)&&(i(!1),o(``))},t=e=>{e.key===`Escape`&&(i(!1),o(``))};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[r]);let k=e=>{if(e.preventDefault(),e.stopPropagation(),r){i(!1),o(``);return}t?.(e)};(0,B.useEffect)(()=>{r&&h.current&&h.current.focus()},[r]);let A=(0,B.useCallback)(e=>{l(e),i(!1),o(``)},[l]),j=(0,B.useCallback)(e=>{v(e)},[v]),M=O.i(`FcSearch`,{size:16}),N=(0,B.useCallback)(()=>{r?(i(!1),o(``)):i(!0)},[r]);return(0,V.jsxs)(`div`,{ref:m,children:[(0,V.jsx)(`button`,{className:li.trigger,onClick:N,onContextMenu:k,"aria-label":`Launcher`,"aria-expanded":r,children:n}),(0,V.jsx)(Bn,{children:r&&(0,V.jsxs)(T.r.div,{className:li.panel,style:{background:u.background},role:`menu`,"aria-label":`App launcher`,initial:p.initial,animate:p.animate,exit:p.exit,children:[(0,V.jsx)(`div`,{className:li.searchContainer,children:(0,V.jsx)(s.t,{ref:h,placeholder:`Search apps...`,value:a,onChange:e=>o(e.target.value),leftSection:M,size:`xs`,classNames:{input:li.searchInput},"aria-label":`Search apps`})}),(0,V.jsxs)(`div`,{className:li.scrollContainer,children:[C.map(e=>{let t=_.has(e.id);return e.id===`launcher-folder-custom-apps`?D.length===0?null:(0,V.jsx)(fi,{folder:e,isExpanded:t,apps:D.map(ui),onToggle:()=>j(e.id),onOpen:A},e.id):(0,V.jsx)(fi,{folder:e,isExpanded:t,apps:e.appIds.map(e=>b.find(t=>t.id===e)).filter(e=>e!==void 0).sort((e,t)=>e.name.localeCompare(t.name)).map(ui),onToggle:()=>j(e.id),onOpen:A},e.id)}),S.length>0&&(0,V.jsx)(`div`,{className:li.appsSection,children:S.map(e=>(0,V.jsx)(di,{app:ui(e),onOpen:A},e.id))}),a&&S.length===0&&C.length===0&&D.length===0&&(0,V.jsx)(g.o,{size:`sm`,c:`dimmed`,ta:`center`,mt:`md`,children:`No apps found`})]})]})})]})},mi=({x:e,y:t})=>(0,V.jsx)(a.r.Target,{children:(0,V.jsx)(`div`,{"aria-hidden":`true`,style:{position:`fixed`,left:e,top:t,width:0,height:0,pointerEvents:`none`}})}),hi=e=>{let t=(0,B.useRef)(null),[n,r]=(0,B.useState)(0);return(0,B.useLayoutEffect)(()=>{if(t.current&&e){let e=t.current.offsetHeight;r(e)}},[e]),{menuRef:t,menuHeight:n}},gi={menuItem:`_menuItem_18vno_1`},_i=8,vi=({windowMenuOpened:e,panelMenuOpened:t,launcherMenuOpened:n,menuPosition:r,targetWindowId:i,targetWindowState:o,onCloseWindow:s,onMinimizeWindow:c,onMaximizeWindow:l,onRestoreWindow:u,onClose:d})=>{let{t:f}=D.t(`contextMenu`),p={size:14,style:{display:`block`}},m=()=>O.i(`FcCancel`,p),h=()=>O.i(`FcMinus`,p),g=()=>O.i(`FcTemplate`,p),_=()=>O.i(`FcUndo`,p),v=()=>O.i(`FcSettings`,p),y=()=>O.i(`FcFolder`,p),b=E.t(),x=ii(`menuedit`),S=w.o(e=>e.openWindow),C=o===`minimized`,T=o===`maximized`,{menuRef:k,menuHeight:A}=hi(e),{menuRef:j,menuHeight:M}=hi(t),{menuRef:N,menuHeight:P}=hi(n),[F,I]=(0,B.useState)(!1),[L,ee]=(0,B.useState)(!1),[R,te]=(0,B.useState)(!1);(0,B.useLayoutEffect)(()=>{e||I(!1),e&&A>0&&I(!0)},[e,A]),(0,B.useLayoutEffect)(()=>{t||ee(!1),t&&M>0&&ee(!0)},[t,M]),(0,B.useLayoutEffect)(()=>{n||te(!1),n&&P>0&&te(!0)},[n,P]);let ne=(0,B.useMemo)(()=>e?{height:A,ready:F}:t?{height:M,ready:L}:n?{height:P,ready:R}:{height:0,ready:!1},[e,t,n,A,M,P,F,L,R]),z=(0,B.useMemo)(()=>{let{x:e,y:t}=r,{height:n,ready:i}=ne,a=t-_i;return i&&n>0&&t>window.innerHeight-48-n-_i&&(a=t-n+_i),{x:e,y:a}},[r,ne]),re=()=>{d(),S({title:x,content:`menuedit`,fcIcon:`FcFolder`,x:Math.min(r.x+10,window.innerWidth-800),y:Math.min(r.y+10,window.innerHeight-600),width:700,height:500,minWidth:500,minHeight:400})},ie=()=>{d(),b(`settings`)},ae=e=>({opacity:e?1:0,transition:`opacity 0.05s ease`,zIndex:99999});return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(a.r,{opened:e,onClose:d,closeOnClickOutside:!0,closeOnEscape:!0,closeOnItemClick:!0,withinPortal:!0,children:[(0,V.jsx)(mi,{x:z.x,y:z.y}),(0,V.jsxs)(a.r.Dropdown,{ref:k,style:ae(F),children:[!C&&(0,V.jsx)(a.r.Item,{onClick:()=>{i&&c(i)},children:(0,V.jsxs)(`div`,{className:gi.menuItem,children:[(0,V.jsx)(h,{}),` `,f(`window.minimize`)]})}),C||T?(0,V.jsx)(a.r.Item,{onClick:()=>{i&&u(i)},children:(0,V.jsxs)(`div`,{className:gi.menuItem,children:[(0,V.jsx)(_,{}),` `,f(`window.restore`)]})}):(0,V.jsx)(a.r.Item,{onClick:()=>{i&&l(i)},children:(0,V.jsxs)(`div`,{className:gi.menuItem,children:[(0,V.jsx)(g,{}),` `,f(`window.maximize`)]})}),(0,V.jsx)(a.r.Divider,{}),(0,V.jsx)(a.r.Item,{onClick:()=>{i&&s(i)},children:(0,V.jsxs)(`div`,{className:gi.menuItem,children:[(0,V.jsx)(m,{}),` `,f(`window.close`)]})})]})]}),(0,V.jsxs)(a.r,{opened:t,onClose:d,closeOnClickOutside:!0,closeOnEscape:!0,closeOnItemClick:!0,withinPortal:!0,children:[(0,V.jsx)(mi,{x:z.x,y:z.y}),(0,V.jsx)(a.r.Dropdown,{ref:j,style:ae(L),children:(0,V.jsx)(a.r.Item,{onClick:()=>{b(`settings`)},children:(0,V.jsxs)(`div`,{className:gi.menuItem,children:[(0,V.jsx)(v,{}),` `,f(`apps:names.settings`)]})})})]}),(0,V.jsxs)(a.r,{opened:n,onClose:d,closeOnClickOutside:!0,closeOnEscape:!0,closeOnItemClick:!0,withinPortal:!0,children:[(0,V.jsx)(mi,{x:z.x,y:z.y}),(0,V.jsxs)(a.r.Dropdown,{ref:N,style:ae(R),children:[(0,V.jsx)(a.r.Label,{children:f(`launcher.title`)}),(0,V.jsx)(a.r.Item,{leftSection:(0,V.jsx)(y,{}),onClick:re,children:f(`launcher.editLauncher`)}),(0,V.jsx)(a.r.Item,{leftSection:(0,V.jsx)(v,{}),onClick:ie,children:f(`apps:names.settings`)})]})]})]})},{slice:yi,forEach:bi}=[];function xi(e){return bi.call(yi.call(arguments,1),t=>{if(t)for(let n in t)e[n]===void 0&&(e[n]=t[n])}),e}function Si(e){return typeof e==`string`?[/<\s*script.*?>/i,/<\s*\/\s*script\s*>/i,/<\s*img.*?on\w+\s*=/i,/<\s*\w+\s*on\w+\s*=.*?>/i,/javascript\s*:/i,/vbscript\s*:/i,/expression\s*\(/i,/eval\s*\(/i,/alert\s*\(/i,/document\.cookie/i,/document\.write\s*\(/i,/window\.location/i,/innerHTML/i].some(t=>t.test(e)):!1}var Ci=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,wi=function(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{path:`/`},r=`${e}=${encodeURIComponent(t)}`;if(n.maxAge>0){let e=n.maxAge-0;if(Number.isNaN(e))throw Error(`maxAge should be a Number`);r+=`; Max-Age=${Math.floor(e)}`}if(n.domain){if(!Ci.test(n.domain))throw TypeError(`option domain is invalid`);r+=`; Domain=${n.domain}`}if(n.path){if(!Ci.test(n.path))throw TypeError(`option path is invalid`);r+=`; Path=${n.path}`}if(n.expires){if(typeof n.expires.toUTCString!=`function`)throw TypeError(`option expires is invalid`);r+=`; Expires=${n.expires.toUTCString()}`}if(n.httpOnly&&(r+=`; HttpOnly`),n.secure&&(r+=`; Secure`),n.sameSite)switch(typeof n.sameSite==`string`?n.sameSite.toLowerCase():n.sameSite){case!0:r+=`; SameSite=Strict`;break;case`lax`:r+=`; SameSite=Lax`;break;case`strict`:r+=`; SameSite=Strict`;break;case`none`:r+=`; SameSite=None`;break;default:throw TypeError(`option sameSite is invalid`)}return n.partitioned&&(r+=`; Partitioned`),r},Ti={create(e,t,n,r){let i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{path:`/`,sameSite:`strict`};n&&(i.expires=new Date,i.expires.setTime(i.expires.getTime()+n*60*1e3)),r&&(i.domain=r),document.cookie=wi(e,t,i)},read(e){let t=`${e}=`,n=document.cookie.split(`;`);for(let e=0;e<n.length;e++){let r=n[e];for(;r.charAt(0)===` `;)r=r.substring(1,r.length);if(r.indexOf(t)===0)return r.substring(t.length,r.length)}return null},remove(e,t){this.create(e,``,-1,t)}},Ei={name:`cookie`,lookup(e){let{lookupCookie:t}=e;if(t&&typeof document<`u`)return Ti.read(t)||void 0},cacheUserLanguage(e,t){let{lookupCookie:n,cookieMinutes:r,cookieDomain:i,cookieOptions:a}=t;n&&typeof document<`u`&&Ti.create(n,e,r,i,a)}},Di={name:`querystring`,lookup(e){let{lookupQuerystring:t}=e,n;if(typeof window<`u`){let{search:e}=window.location;!window.location.search&&window.location.hash?.indexOf(`?`)>-1&&(e=window.location.hash.substring(window.location.hash.indexOf(`?`)));let r=e.substring(1).split(`&`);for(let e=0;e<r.length;e++){let i=r[e].indexOf(`=`);i>0&&r[e].substring(0,i)===t&&(n=r[e].substring(i+1))}}return n}},Oi={name:`hash`,lookup(e){let{lookupHash:t,lookupFromHashIndex:n}=e,r;if(typeof window<`u`){let{hash:e}=window.location;if(e&&e.length>2){let i=e.substring(1);if(t){let e=i.split(`&`);for(let n=0;n<e.length;n++){let i=e[n].indexOf(`=`);i>0&&e[n].substring(0,i)===t&&(r=e[n].substring(i+1))}}if(r)return r;if(!r&&n>-1){let t=e.match(/\/([a-zA-Z-]*)/g);return Array.isArray(t)?t[typeof n==`number`?n:0]?.replace(`/`,``):void 0}}}return r}},ki=null,Ai=()=>{if(ki!==null)return ki;try{if(ki=typeof window<`u`&&window.localStorage!==null,!ki)return!1;let e=`i18next.translate.boo`;window.localStorage.setItem(e,`foo`),window.localStorage.removeItem(e)}catch{ki=!1}return ki},ji={name:`localStorage`,lookup(e){let{lookupLocalStorage:t}=e;if(t&&Ai())return window.localStorage.getItem(t)||void 0},cacheUserLanguage(e,t){let{lookupLocalStorage:n}=t;n&&Ai()&&window.localStorage.setItem(n,e)}},Mi=null,Ni=()=>{if(Mi!==null)return Mi;try{if(Mi=typeof window<`u`&&window.sessionStorage!==null,!Mi)return!1;let e=`i18next.translate.boo`;window.sessionStorage.setItem(e,`foo`),window.sessionStorage.removeItem(e)}catch{Mi=!1}return Mi},Pi={name:`sessionStorage`,lookup(e){let{lookupSessionStorage:t}=e;if(t&&Ni())return window.sessionStorage.getItem(t)||void 0},cacheUserLanguage(e,t){let{lookupSessionStorage:n}=t;n&&Ni()&&window.sessionStorage.setItem(n,e)}},Fi={name:`navigator`,lookup(e){let t=[];if(typeof navigator<`u`){let{languages:e,userLanguage:n,language:r}=navigator;if(e)for(let n=0;n<e.length;n++)t.push(e[n]);n&&t.push(n),r&&t.push(r)}return t.length>0?t:void 0}},Ii={name:`htmlTag`,lookup(e){let{htmlTag:t}=e,n,r=t||(typeof document<`u`?document.documentElement:null);return r&&typeof r.getAttribute==`function`&&(n=r.getAttribute(`lang`)),n}},Li={name:`path`,lookup(e){let{lookupFromPathIndex:t}=e;if(typeof window>`u`)return;let n=window.location.pathname.match(/\/([a-zA-Z-]*)/g);if(Array.isArray(n))return n[typeof t==`number`?t:0]?.replace(`/`,``)}},Ri={name:`subdomain`,lookup(e){let{lookupFromSubdomainIndex:t}=e,n=typeof t==`number`?t+1:1,r=typeof window<`u`&&window.location?.hostname?.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i);if(r)return r[n]}},zi=!1;try{document.cookie,zi=!0}catch{}var Bi=[`querystring`,`cookie`,`localStorage`,`sessionStorage`,`navigator`,`htmlTag`];zi||Bi.splice(1,1);var Vi=()=>({order:Bi,lookupQuerystring:`lng`,lookupCookie:`i18next`,lookupLocalStorage:`i18nextLng`,lookupSessionStorage:`i18nextLng`,caches:[`localStorage`],excludeCacheFor:[`cimode`],convertDetectedLanguage:e=>e}),Hi=class{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.type=`languageDetector`,this.detectors={},this.init(e,t)}init(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{languageUtils:{}},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=e,this.options=xi(t,this.options||{},Vi()),typeof this.options.convertDetectedLanguage==`string`&&this.options.convertDetectedLanguage.indexOf(`15897`)>-1&&(this.options.convertDetectedLanguage=e=>e.replace(`-`,`_`)),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=n,this.addDetector(Ei),this.addDetector(Di),this.addDetector(ji),this.addDetector(Pi),this.addDetector(Fi),this.addDetector(Ii),this.addDetector(Li),this.addDetector(Ri),this.addDetector(Oi)}addDetector(e){return this.detectors[e.name]=e,this}detect(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.options.order,t=[];return e.forEach(e=>{if(this.detectors[e]){let n=this.detectors[e].lookup(this.options);n&&typeof n==`string`&&(n=[n]),n&&(t=t.concat(n))}}),t=t.filter(e=>e!=null&&!Si(e)).map(e=>this.options.convertDetectedLanguage(e)),this.services&&this.services.languageUtils&&this.services.languageUtils.getBestMatchFromCodes?t:t.length>0?t[0]:null}cacheUserLanguage(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.options.caches;t&&(this.options.excludeCacheFor&&this.options.excludeCacheFor.indexOf(e)>-1||t.forEach(t=>{this.detectors[t]&&this.detectors[t].cacheUserLanguage(e,this.options)}))}};Hi.type=`languageDetector`;var Ui={actions:{save:`Save`,saveAs:`Save As`,cancel:`Cancel`,ok:`OK`,open:`Open`,close:`Close`,delete:`Delete`,create:`Create`,new:`New`,exit:`Exit`,apply:`Apply`,discard:`Discard`,reset:`Reset`,download:`Download`,upload:`Upload`,copy:`Copy`,cut:`Cut`,paste:`Paste`,undo:`Undo`,redo:`Redo`,createFolder:`Create folder`,createFile:`Create new file`,select:`Select`},buttons:{minimize:`Minimize`,maximize:`Maximize`,restore:`Restore`,close:`Close`,yes:`Yes`,no:`No`,confirm:`Confirm`,continue:`Continue`},labels:{name:`Name`,title:`Title`,filename:`Filename`,url:`URL`,file:`File`,folder:`Folder`,home:`Home`,type:`Type`,loading:`Loading...`,search:`Search`,searchIcons:`Search icons...`,unsavedChanges:`Unsaved Changes`,unsaved:`Unsaved changes`,workInProgress:`Work In Progress`},messages:{areYouSure:`Are you sure?`,cannotBeUndone:`This action cannot be undone.`,noFileSelected:`No file selected`,folderEmpty:`This folder is empty`,noMatchingFiles:`No matching files`,noSubfolders:`No subfolders`,replaceFile:`Replace file?`,replaceFileMessage:`A file named "{{name}}" already exists. Do you want to replace it?`,yesReplace:`Yes, replace`,forBetterExperience:`For a better experience use this app desktop OR horizontal mode`,turnYourDevice:`Turn your device`,continueVertically:`Continue vertically?`},theme:{light:`Light`,dark:`Dark`,system:`System`,custom:`Custom`,switchToLight:`Switch to light mode`,switchToDark:`Switch to dark mode`},status:{error:`error`,success:`success`},menu:{file:`File`,edit:`Edit`,view:`View`},filePicker:{folderTreeAria:`Folder tree`,filesAria:`Files`,foldersAria:`Folders`,cancelAria:`Cancel`,openSelectedAria:`Open selected file`,fileNameAria:`File name`},externalLink:{securityMessage:`blocks embedding in iframes for security reasons.`,goToProfile:`Click below to go to my {{name}} profile.`},taskbar:{ariaLabel:`Taskbar`},launcher:{label:`Launcher`,ariaLabel:`App launcher`,selectedIcon:`Selected: {{icon}}`}},Wi={names:{notepad:`Notepad`,terminal:`Terminal`,filesApp:`Files`,files:`Files`,uploader:`Uploader`,settings:`Settings`,pdfViewer:`PDF Viewer`,calendar:`Calendar`,storybook:`Storybook`,linkedin:`LinkedIn`,github:`GitHub`,imageViewer:`Image Viewer`,dosEmulator:`DOS Emulator`,doom:`DOOM`,deviceInfo:`Device Info`,welcome:`Welcome`,menuedit:`Edit Launcher`,codeServer:`VS Code`},folders:{socialLinks:`Social Links`,office:`Office and media`,programming:`Programming`,games:`Games`,customApps:`Custom Apps`},descriptions:{notepad:`Markdown editor with rich text toolbar`,terminal:`Terminal emulator`,filesApp:`File explorer`,settings:`System settings`,pdfViewer:`PDF document viewer`,calendar:`Calendar view`,storybook:`Storybook playground`,linkedin:`LinkedIn profile link`,github:`GitHub profile link`,imageViewer:`Image viewer with file picker`,dosEmulator:`DOS game and program emulator`,doom:`Play the classic DOOM game`},launcher:{label:`Launcher`,ariaLabel:`App launcher`},imageViewer:{noImage:`No image to display. Please open one.`,fitToWindow:`Fit to window`,zoom:`Zoom`},pdf:{viewer:`PDF viewer`},dosEmulator:{noBundle:`No DOS program loaded. Open a .jsdos bundle to start.`,loading:`Loading DOS emulator...`,controls:{pause:`Pause`,resume:`Resume`,restart:`Restart`,mute:`Mute`,unmute:`Unmute`,fullscreen:`Fullscreen`},menu:{file:`File`,open:`Open Bundle`,restart:`Restart`,exit:`Exit`,emulation:`Emulation`,pause:`Pause`,resume:`Resume`,audio:`Audio`,mute:`Mute`,unmute:`Unmute`,volume:`Volume`},errors:{failedToLoad:`Failed to load DOS bundle`,notSupported:`DOS emulation is not supported in this browser`}},uploader:{clickToUpload:`Click here to upload`,selectDestination:`Select destination folder`,fileInfo:`File: {{name}} ({{size}})`,uploading:`Uploading...`,uploadProgress:`Upload progress`,uploadComplete:`Upload complete!`,uploadFailed:`Upload wasn't successful for the following reason`,readyToUpload:`Ready to upload`,showFile:`Show in Files`,openFile:`Open file`,upload:`Upload`,stepSelect:`Select`,stepDestination:`Destination`,stepUpload:`Upload`,stepDone:`Done`,folderSelected:`Folder selected`,uploadTo:`Destination`,uploadToRoot:`Uploading to root folder`},terminal:{notAvailable:`Terminal Not Available`,notAvailableMessage:`The terminal cannot be used because this environment does not currently allow terminal access.`,dockerRequired:`Please run in Docker mode to use the terminal.`,offlineTitle:`Terminal Unavailable`,offlineMessage:`The terminal requires a Docker environment to function. It connects directly to the container's shell.`,offlineInstructions:`To use the terminal, run the application in Docker mode:`,dockerCommand:`docker compose up dev`,openWelcome:`Open Welcome App`,connecting:`Connecting...`,connected:`Connected`,disconnected:`Disconnected`,connectionError:`Connection error`,menu:{edit:`Edit`,copy:`Copy`,paste:`Paste`,clear:`Clear`,reset:`Reset`,reconnect:`Reconnect`,exit:`Exit`},scrollback:`Lines`,shell:`Shell`},codeServer:{notAvailable:`VS Code Not Available`,notAvailableMessage:`VS Code (code-server) cannot be used in browser mode.`,dockerRequired:`Please run in Docker to use VS Code.`}},Gi={sections:{wallpaper:{label:`Wallpaper`,description:`Change the desktop background image.`},appearance:{label:`Appearance`,description:`Switch between light and dark mode.`},launcher:{label:`Launcher`,description:`Choose the launcher button icon.`},font:{label:`Font`,description:`Select the system font family.`},reset:{label:`Reset to Default`,description:`Reset all settings and data to defaults.`},language:{label:`Language`,description:`Choose your preferred language.`}},wallpaper:{title:`Wallpaper`,wallpaperType:`Wallpaper Type`,staticImage:`Static Image`,chooseFromImages:`Choose from Images`,uploadFromDisk:`Upload from disk`,resetToDefault:`Reset to default`,orEnterUrl:`Or enter a URL`,wallpaperPreview:`Wallpaper preview`},appearance:{title:`Appearance`,description:`Choose whether the desktop uses a light or dark theme, or follows the system preference.`,taskbar:`Taskbar`,window:`Window`,accent:`Accent`,animationDuration:`Animation Duration`,animationDescription:`Controls the speed of window open/close animations (0.1s - 1.0s) must save to see changes.`},font:{title:`Font`,description:`Changes the font across the entire desktop interface. Fonts must be downloaded before use.`,download:`Download`,fontSize:`Font Size`,downloadByName:`Download a font by name`,fromGoogleFonts:`(From Google Fonts)`,downloadError:`Font didn't download successfully. Try again with the correct name`,downloadSuccess:`Downloaded successfully.`,systemDefault:`System Default`},reset:{title:`Reset to Default`,description:`Reset all settings and data to their default values. This action cannot be undone.`,resetButton:`⚠️ Reset app to defaults?`,modalTitle:`Are you sure?`,modalDescription:`This will erase all your data and settings.`,goBack:`Please go back! 🙏`,burnEverything:`Yes, burn everything! 🔥`,keepFiles:`Yes, but keep my files`},language:{title:`Language`,description:`Select your preferred language for the desktop interface.`,selectPlaceholder:`Select language`,english:`English`,spanish:`Español`},all:`All Settings`},Ki={window:{title:`Window`,minimize:`Minimize`,maximize:`Maximize`,restore:`Restore`,close:`Close`,ariaLabels:{minimize:`Minimize`,maximize:`Maximize`,restore:`Restore`,close:`Close`}},unsavedModal:{title:`Unsaved Changes`,message:`You have unsaved changes. What would you like to do?`,dontSave:`Don't Save`,save:`Save`},fileDialog:{openFile:`Open file`,saveFile:`Save file`,selectFile:`Select file {{name}}`,openFolder:`Open folder {{name}}`,selectFolder:`Select folder`,filename:`filename.md`}},qi={window:{minimize:`Minimize`,restore:`Restore`,maximize:`Maximize`,close:`Close window`},actions:{cut:`Cut`,copy:`Copy`,paste:`Paste`,pasteItems:`Paste ({{count}} items)`,delete:`Delete`,createFolder:`Create folder`,createFile:`Create new file`},createItem:{folderTitle:`Create Folder`,fileTitle:`Create File`,newFolder:`New Folder`,newFile:`New File`,nameError:`There is already a {{mode}} with that name`,clearNameAria:`Clear name`,customIcon:`Choose custom icon or color`,colorError:`Enter a valid hex color (e.g. #ff0000)`,changeLater:`You can change the icon later in folder properties.`},deleteConfirm:{title:`Delete "{{name}}"?`,message:`Are you sure you want to delete "{{name}}"? This action cannot be undone.`},app:{open:`Open {{name}}`,toggleTheme:`Toggle Theme`},sort:{title:`Sort Icons`,default:`Default`,nameAsc:`Name (A-Z)`,nameDesc:`Name (Z-A)`,byType:`By Type`},launcher:{title:`Launcher`,editLauncher:`Edit Launcher`}},Ji={empty:{title:`There are no new notifications`,message:`For now`},taskbar:{showNotifications:`Show notifications`,hideNotifications:`Hide notifications`,clock:`clock`}},Yi={toolbar:{formatting:`Text formatting`,bold:`Bold`,italic:`Italic`,strikethrough:`Strikethrough`,inlineCode:`Inline code`,heading1:`Heading 1`,heading2:`Heading 2`,bulletList:`Bullet list`,orderedList:`Ordered list`,blockquote:`Blockquote`,codeBlock:`Code block`,horizontalRule:`Horizontal rule`},untitled:`untitled.md`},Xi={hero:{title:`Fullstack Developer & DevOps`,downloadCV:`Download CV`,contactMe:`Contact Me`},skills:{technical:`Technical Skills`,soft:`Soft Skills`},experience:`Professional Experience`,techStack:`Tech Stack`,languages:`Languages`},Zi={title:`Edit Launcher`,newFolder:`New Folder`,predefined:`Predefined`,rename:`Rename`,delete:`Delete`,predefinedFolders:`Predefined Folders`,customFolders:`Custom Folders`,availableApps:`Available Apps (drag and drop to add to folder)`,clickToAdd:`Click to add to first custom folder`,addFolder:`Add folder`,instructions:`Right-click an app in a folder to remove it. Click an available app to add it to the first custom folder.`,canCreateNewFolder:`You can create new folders if needed.`},Qi={actions:{save:`Guardar`,saveAs:`Guardar como`,cancel:`Cancelar`,ok:`Aceptar`,open:`Abrir`,close:`Cerrar`,delete:`Eliminar`,create:`Crear`,new:`Nuevo`,exit:`Salir`,apply:`Aplicar`,discard:`Descartar`,reset:`Restablecer`,download:`Descargar`,upload:`Subir`,copy:`Copiar`,cut:`Cortar`,paste:`Pegar`,undo:`Deshacer`,redo:`Rehacer`,createFolder:`Crear carpeta`,createFile:`Crear nuevo archivo`,select:`Seleccionar`},buttons:{minimize:`Minimizar`,maximize:`Maximizar`,restore:`Restaurar`,close:`Cerrar`,yes:`Sí`,no:`No`,confirm:`Confirmar`,continue:`Continuar`},labels:{name:`Nombre`,title:`Título`,filename:`Nombre de archivo`,url:`URL`,file:`Archivo`,folder:`Carpeta`,home:`Inicio`,type:`Tipo`,loading:`Cargando...`,search:`Buscar`,searchIcons:`Buscar iconos...`,unsavedChanges:`Cambios sin guardar`,unsaved:`Cambios sin guardar`,workInProgress:`Trabajo en progreso`},messages:{areYouSure:`¿Estás seguro?`,cannotBeUndone:`Esta acción no se puede deshacer.`,noFileSelected:`Ningún archivo seleccionado`,folderEmpty:`Esta carpeta está vacía`,noMatchingFiles:`No hay archivos coincidentes`,noSubfolders:`Sin subcarpetas`,replaceFile:`¿Reemplazar archivo?`,replaceFileMessage:`Ya existe un archivo llamado "{{name}}". ¿Deseas reemplazarlo?`,yesReplace:`Sí, reemplazar`,forBetterExperience:`Para una mejor experiencia usa esta aplicación en modo escritorio u horizontal`,turnYourDevice:`Gira tu dispositivo`,continueVertically:`¿Continuar verticalmente?`},theme:{light:`Claro`,dark:`Oscuro`,system:`Sistema`,custom:`Personalizado`,switchToLight:`Cambiar a modo claro`,switchToDark:`Cambiar a modo oscuro`},status:{error:`error`,success:`éxito`},menu:{file:`Archivo`,edit:`Editar`,view:`Ver`},filePicker:{folderTreeAria:`Árbol de carpetas`,filesAria:`Archivos`,foldersAria:`Carpetas`,cancelAria:`Cancelar`,openSelectedAria:`Abrir archivo seleccionado`,fileNameAria:`Nombre de archivo`},externalLink:{securityMessage:`bloquea la incrustación en iframes por razones de seguridad.`,goToProfile:`Haz clic abajo para ir a mi perfil de {{name}}.`},taskbar:{ariaLabel:`Barra de tareas`},launcher:{label:`Lanzador`,ariaLabel:`Lanzador de aplicaciones`,selectedIcon:`Seleccionado: {{icon}}`}},$i={names:{notepad:`Bloc de notas`,terminal:`Terminal`,filesApp:`Archivos`,files:`Archivos`,uploader:`Subida de archivos`,settings:`Ajustes`,pdfViewer:`Visor PDF`,calendar:`Calendario`,storybook:`Storybook`,linkedin:`LinkedIn`,github:`GitHub`,imageViewer:`Visor de imágenes`,dosEmulator:`Emulador DOS`,doom:`DOOM`,deviceInfo:`Info del dispositivo`,welcome:`Bienvenido`,menuedit:`Editar lanzador`,codeServer:`VS Code`},folders:{socialLinks:`Enlaces sociales`,office:`Oficina y medios`,programming:`Programación`,games:`Juegos`,customApps:`Aplicaciones personalizadas`},descriptions:{notepad:`Editor Markdown con barra de herramientas`,terminal:`Emulador de terminal`,filesApp:`Explorador de archivos`,settings:`Ajustes del sistema`,pdfViewer:`Visor de documentos PDF`,calendar:`Vista de calendario`,storybook:`Zona de pruebas Storybook`,linkedin:`Enlace al perfil de LinkedIn`,github:`Enlace al perfil de GitHub`,imageViewer:`Visor de imágenes con selector de archivos`,dosEmulator:`Emulador de juegos y programas DOS`,doom:`Juega al clásico DOOM`},launcher:{label:`Lanzador`,ariaLabel:`Lanzador de aplicaciones`},imageViewer:{noImage:`Sin imagen para mostrar. Por favor, abre una.`,fitToWindow:`Ajustar a ventana`,zoom:`Zoom`},pdf:{viewer:`Visor PDF`},dosEmulator:{noBundle:`Ningún programa DOS cargado. Abre un bundle .jsdos para comenzar.`,loading:`Cargando emulador DOS...`,controls:{pause:`Pausar`,resume:`Reanudar`,restart:`Reiniciar`,mute:`Silenciar`,unmute:`Activar sonido`,fullscreen:`Pantalla completa`},menu:{file:`Archivo`,open:`Abrir Bundle`,restart:`Reiniciar`,exit:`Salir`,emulation:`Emulación`,pause:`Pausar`,resume:`Reanudar`,audio:`Audio`,mute:`Silenciar`,unmute:`Activar sonido`,volume:`Volumen`},errors:{failedToLoad:`Error al cargar el bundle DOS`,notSupported:`La emulación DOS no está soportada en este navegador`}},uploader:{clickToUpload:`Haz clic aquí para subir`,selectDestination:`Seleccionar carpeta destino`,fileInfo:`Archivo: {{name}} ({{size}})`,uploading:`Subiendo...`,uploadProgress:`Progreso de subida`,uploadComplete:`¡Subida completada!`,uploadFailed:`La subida no fue exitosa por la siguiente razón`,readyToUpload:`Listo para subir`,showFile:`Mostrar en Archivos`,openFile:`Abrir archivo`,upload:`Subir`,stepSelect:`Seleccionar`,stepDestination:`Destino`,stepUpload:`Subir`,stepDone:`Listo`,folderSelected:`Carpeta seleccionada`,uploadTo:`Destino`,uploadToRoot:`Subiendo a la carpeta raíz`},terminal:{notAvailable:`Terminal no disponible`,notAvailableMessage:`La terminal no puede usarse porque este entorno no permite actualmente el acceso a terminal.`,dockerRequired:`Por favor, ejecuta en modo Docker para usar la terminal.`,offlineTitle:`Terminal no disponible`,offlineMessage:`La terminal requiere un entorno Docker para funcionar. Se conecta directamente al shell del contenedor.`,offlineInstructions:`Para usar la terminal, ejecuta la aplicación en modo Docker:`,dockerCommand:`docker compose up dev`,openWelcome:`Abrir Bienvenida`,connecting:`Conectando...`,connected:`Conectado`,disconnected:`Desconectado`,connectionError:`Error de conexión`,menu:{edit:`Editar`,copy:`Copiar`,paste:`Pegar`,clear:`Limpiar`,reset:`Reiniciar`,reconnect:`Reconectar`,exit:`Salir`},scrollback:`Líneas`,shell:`Shell`},codeServer:{notAvailable:`VS Code no disponible`,notAvailableMessage:`VS Code (code-server) no puede usarse en modo navegador.`,dockerRequired:`Por favor, ejecuta la aplicación en Docker para usar VS Code.`}},ea={sections:{wallpaper:{label:`Fondo de pantalla`,description:`Cambia la imagen de fondo del escritorio.`},appearance:{label:`Apariencia`,description:`Cambia entre modo claro y oscuro.`},launcher:{label:`Lanzador`,description:`Elige el icono del botón del lanzador.`},font:{label:`Fuente`,description:`Selecciona la familia de fuentes del sistema.`},reset:{label:`Restablecer`,description:`Restaura todos los ajustes y datos a sus valores por defecto.`},language:{label:`Idioma`,description:`Elige tu idioma preferido.`}},wallpaper:{title:`Fondo de pantalla`,wallpaperType:`Tipo de fondo`,staticImage:`Imagen estática`,chooseFromImages:`Elegir de imágenes`,uploadFromDisk:`Subir desde disco`,resetToDefault:`Restablecer por defecto`,orEnterUrl:`O introduce una URL`,wallpaperPreview:`Vista previa del fondo`},appearance:{title:`Apariencia`,description:`Elige si el escritorio usa un tema claro u oscuro, o sigue la preferencia del sistema.`,taskbar:`Barra de tareas`,window:`Ventana`,accent:`Acento`,animationDuration:`Duración de animación`,animationDescription:`Controla la velocidad de las animaciones de abrir/cerrar ventanas (0.1s - 1.0s), debes guardar para ver los cambios.`},font:{title:`Fuente`,description:`Cambia la fuente en toda la interfaz del escritorio. Las fuentes deben descargarse antes de usar.`,download:`Descargar`,fontSize:`Tamaño de fuente`,downloadByName:`Descargar una fuente por nombre`,fromGoogleFonts:`(Desde Google Fonts)`,downloadError:`La fuente no se descargó correctamente. Intenta de nuevo con el nombre correcto`,downloadSuccess:`Descargada correctamente.`,systemDefault:`Sistema por defecto`},reset:{title:`Restablecer`,description:`Restaura todos los ajustes y datos a sus valores por defecto. Esta acción no se puede deshacer.`,resetButton:`⚠️ ¿Restablecer la app?`,modalTitle:`¿Estás seguro?`,modalDescription:`Esto borrará todos tus datos y ajustes.`,goBack:`¡Por favor vuelve atrás! 🙏`,burnEverything:`¡Sí, quémalo todo! 🔥`,keepFiles:`Sí, pero mantener mis archivos`},language:{title:`Idioma`,description:`Selecciona tu idioma preferido para la interfaz del escritorio.`,selectPlaceholder:`Selecciona idioma`,english:`English`,spanish:`Español`},all:`Todos los ajustes`},ta={window:{title:`Ventana`,minimize:`Minimizar`,maximize:`Maximizar`,restore:`Restaurar`,close:`Cerrar`,ariaLabels:{minimize:`Minimizar`,maximize:`Maximizar`,restore:`Restaurar`,close:`Cerrar`}},unsavedModal:{title:`Cambios sin guardar`,message:`Tienes cambios sin guardar. ¿Qué deseas hacer?`,dontSave:`No guardar`,save:`Guardar`},fileDialog:{openFile:`Abrir archivo`,saveFile:`Guardar archivo`,selectFile:`Seleccionar archivo {{name}}`,openFolder:`Abrir carpeta {{name}}`,selectFolder:`Seleccionar carpeta`,filename:`nombre.md`}},na={window:{minimize:`Minimizar`,restore:`Restaurar`,maximize:`Maximizar`,close:`Cerrar ventana`},actions:{cut:`Cortar`,copy:`Copiar`,paste:`Pegar`,pasteItems:`Pegar ({{count}} elementos)`,delete:`Eliminar`,createFolder:`Crear carpeta`,createFile:`Crear nuevo archivo`},createItem:{folderTitle:`Crear Carpeta`,fileTitle:`Crear Archivo`,newFolder:`Nueva Carpeta`,newFile:`Nuevo Archivo`,nameError:`Ya existe un {{mode}} con ese nombre`,clearNameAria:`Limpiar nombre`,customIcon:`Elige icono o color personalizado`,colorError:`Introduce un color hexadecimal válido (ej. #ff0000)`,changeLater:`Puedes cambiar el icono más tarde en las propiedades de la carpeta.`},deleteConfirm:{title:`¿Eliminar "{{name}}"?`,message:`¿Estás seguro de que quieres eliminar "{{name}}"? Esta acción no se puede deshacer.`},app:{open:`Abrir {{name}}`,toggleTheme:`Cambiar Tema`},sort:{title:`Ordenar Iconos`,default:`Por defecto`,nameAsc:`Nombre (A-Z)`,nameDesc:`Nombre (Z-A)`,byType:`Por Tipo`},launcher:{title:`Launcher`,editLauncher:`Editar Launcher`}},ra={empty:{title:`No hay notificaciones nuevas`,message:`Por ahora`},taskbar:{showNotifications:`Mostrar notificaciones`,hideNotifications:`Ocultar notificaciones`,clock:`reloj`}},ia={toolbar:{formatting:`Formato de texto`,bold:`Negrita`,italic:`Cursiva`,strikethrough:`Tachado`,inlineCode:`Código en línea`,heading1:`Título 1`,heading2:`Título 2`,bulletList:`Lista con viñetas`,orderedList:`Lista ordenada`,blockquote:`Cita`,codeBlock:`Bloque de código`,horizontalRule:`Línea horizontal`},untitled:`sin-titulo.md`},aa={hero:{title:`Fullstack Developer & DevOps`,downloadCV:`Descargar CV`,contactMe:`Contactar`},skills:{technical:`Habilidades Técnicas`,soft:`Habilidades Blandas`},experience:`Experiencia Profesional`,techStack:`Stack Tecnológico`,languages:`Idiomas`},oa={newFolder:`Nueva Carpeta`,predefined:`Predefinida`,rename:`Renombrar`,delete:`Eliminar`,predefinedFolders:`Carpetas Predefinidas`,customFolders:`Carpetas Personalizadas`,availableApps:`Apps Disponibles (arrastrar y soltar para añadir a carpetas)`,clickToAdd:`Clic para añadir a la primera carpeta personalizada`,addFolder:`Añadir carpeta`,instructions:`Clic derecho en una app dentro de una carpeta para eliminarla. Clic en una app disponible para añadirla a la primera carpeta personalizada.`,canCreateNewFolder:`Puedes crear una nueva carpeta si lo necesitas.`},sa=[`en`,`es`];J.use(Hi).use(D.r).init({resources:{en:{common:Ui,apps:Wi,settings:Gi,window:Ki,contextMenu:qi,notifications:Ji,notes:Yi,welcome:Xi,menuedit:Zi},es:{common:Qi,apps:$i,settings:ea,window:ta,contextMenu:na,notifications:ra,notes:ia,welcome:aa,menuedit:oa}},fallbackLng:`en`,supportedLngs:sa,ns:[`common`,`apps`,`settings`,`window`,`contextMenu`,`notifications`,`notes`,`welcome`,`menuedit`],defaultNS:`common`,interpolation:{escapeValue:!1},detection:{order:[`localStorage`,`navigator`],lookupLocalStorage:`fde-desktop:language`,caches:[`localStorage`]}});var ca=J,la={root:`_root_17um1_1`,windowButton:`_windowButton_17um1_15`,systemTray:`_systemTray_17um1_44`,themeToggle:`_themeToggle_17um1_51`,clock:`_clock_17um1_70`,notifButton:`_notifButton_17um1_88`,langButton:`_langButton_17um1_109`},ua={en:`English`,es:`Español`},da=()=>{let{t:e,i18n:t}=D.t(`settings`),n=c.h(e=>e.language),r=c.h(e=>e.setLanguage),[i,a]=(0,B.useState)(!1),s=(0,B.useCallback)(e=>{r(e),t.changeLanguage(e),localStorage.setItem(`fde-desktop:language`,e),a(!1)},[r,t]);return(0,V.jsxs)(o.n,{opened:i,onChange:a,position:`top-end`,shadow:`md`,withArrow:!0,children:[(0,V.jsx)(o.n.Target,{children:(0,V.jsx)(f.t,{className:la.langButton,onClick:()=>a(e=>!e),"aria-label":e(`language.selectPlaceholder`),"aria-expanded":i,children:(0,V.jsx)(c.p,{lang:n,size:16})})}),(0,V.jsx)(o.n.Dropdown,{children:(0,V.jsx)(C.t,{gap:`xs`,children:sa.map(e=>(0,V.jsx)(f.t,{onClick:()=>s(e),"aria-label":ua[e],"aria-pressed":e===n,style:{padding:`8px 12px`,borderRadius:6,width:`100%`,background:e===n?`var(--mantine-primary-color-light)`:`transparent`,cursor:`pointer`},children:(0,V.jsxs)(h.t,{gap:`sm`,children:[(0,V.jsx)(c.p,{lang:e,size:20}),(0,V.jsx)(g.o,{size:`sm`,fw:e===n?600:400,children:ua[e]})]})},e))})})]})},fa=({win:e,onClick:t,onContextMenu:n})=>{let r=(0,B.useRef)(null),{register:i,unregister:a}=Jn();return(0,B.useEffect)(()=>(r.current&&i(e.id,r.current.getBoundingClientRect()),()=>a(e.id)),[e.id,i,a]),(0,V.jsxs)(`button`,{ref:r,className:la.windowButton,"data-active":e.state===`minimized`?`false`:`true`,onClick:t,onContextMenu:n,"aria-label":e.title,children:[(0,V.jsx)(y.t,{fcIcon:e.fcIcon,iconUrl:e.iconUrl,fallback:e.icon,size:14,color:e.iconColor}),(0,V.jsx)(g.o,{size:`xs`,truncate:!0,children:e.title})]})},pa=({calendarSlot:e})=>{let{t}=D.t(`notifications`),n=c.h(e=>e.theme.colors.taskbar),r=c.h(e=>e.theme.mode),i=c.h(e=>e.toggleTheme),a=c.h(e=>e.launcherIcon),s=w.o(e=>e.notifications),l=w.o(e=>e.removeNotification),u=w.o(e=>e.windows),d=w.o(e=>e.restoreWindow),f=w.o(e=>e.minimizeWindow),p=w.o(e=>e.focusWindow),m=w.o(e=>e.closeWindow),h=w.o(e=>e.maximizeWindow),_=Zr(),[v,b]=(0,B.useState)(!1),[x,S]=(0,B.useState)(!1),{position:C,targetWindowId:T,windowMenuOpened:E,panelMenuOpened:O,launcherMenuOpened:k,openWindowMenu:A,openPanelMenu:j,openLauncherMenu:M,closeMenu:N}=ei(),P=T?u.find(e=>e.id===T)?.state??null:null,F=(0,B.useRef)(0);(0,B.useEffect)(()=>{s.length>F.current&&setTimeout(()=>S(!0),0),F.current=s.length},[s.length]);let I=u.filter(e=>e.isOpen),L=(e,t)=>{t===`minimized`?(d(e),p(e)):f(e)};return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`div`,{className:la.root,style:{background:n},role:`toolbar`,"aria-label":`Taskbar`,onContextMenu:j,children:[(0,V.jsx)(pi,{fcIcon:a,onContextMenu:M}),I.map(e=>(0,V.jsx)(fa,{win:e,onClick:()=>L(e.id,e.state),onContextMenu:t=>A(t,e.id)},e.id)),(0,V.jsxs)(`div`,{className:la.systemTray,"data-testid":`system-tray`,children:[(0,V.jsxs)(o.n,{opened:x,onChange:S,position:`top-end`,shadow:`md`,withArrow:!0,keepMounted:!0,children:[(0,V.jsx)(o.n.Target,{children:(0,V.jsx)(`button`,{className:la.notifButton,onClick:()=>S(e=>!e),"aria-label":t(x?`taskbar.hideNotifications`:`taskbar.showNotifications`),children:(0,V.jsx)(y.t,{fcIcon:x?`FcCollapse`:`FcExpand`,size:18})})}),(0,V.jsx)(o.n.Dropdown,{style:{background:`transparent`,border:`none`,padding:0},children:(0,V.jsx)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:8,minWidth:300},children:s.length===0?(0,V.jsx)(Tn,{title:t(`empty.title`),onClose:()=>S(!1),children:t(`empty.message`)}):s.map(e=>(0,V.jsx)(Tn,{withBorder:!0,icon:e.fcIcon?(0,V.jsx)(y.t,{fcIcon:e.fcIcon,size:18}):void 0,title:e.title,onClose:()=>{l(e.id),e.onClose?.()},children:e.message},e.id))})})]}),(0,V.jsx)(da,{}),(0,V.jsx)(`button`,{className:la.themeToggle,onClick:i,"aria-label":t(r===`dark`?`theme.switchToLight`:`theme.switchToDark`,{ns:`common`}),title:t(r===`dark`?`theme.switchToLight`:`theme.switchToDark`,{ns:`common`}),children:r===`dark`?`☀️`:`🌙`}),(0,V.jsxs)(o.n,{opened:v,onChange:b,position:`top-end`,shadow:`md`,withArrow:!0,children:[(0,V.jsx)(o.n.Target,{children:(0,V.jsx)(`button`,{className:la.clock,onClick:()=>b(e=>!e),"aria-label":t(`taskbar.clock`),"aria-expanded":v,children:(0,V.jsx)(g.o,{size:`xs`,children:_})})}),(0,V.jsx)(o.n.Dropdown,{children:e})]})]})]}),(0,V.jsx)(vi,{windowMenuOpened:E,panelMenuOpened:O,launcherMenuOpened:k,menuPosition:C,targetWindowId:T,targetWindowState:P,onCloseWindow:m,onMinimizeWindow:f,onMaximizeWindow:h,onRestoreWindow:d,onClose:N})]})},ma=e.t((e=>{var t=typeof Symbol==`function`&&Symbol.for,n=t?Symbol.for(`react.element`):60103,r=t?Symbol.for(`react.portal`):60106,i=t?Symbol.for(`react.fragment`):60107,a=t?Symbol.for(`react.strict_mode`):60108,o=t?Symbol.for(`react.profiler`):60114,s=t?Symbol.for(`react.provider`):60109,c=t?Symbol.for(`react.context`):60110,l=t?Symbol.for(`react.async_mode`):60111,u=t?Symbol.for(`react.concurrent_mode`):60111,d=t?Symbol.for(`react.forward_ref`):60112,f=t?Symbol.for(`react.suspense`):60113,p=t?Symbol.for(`react.suspense_list`):60120,m=t?Symbol.for(`react.memo`):60115,h=t?Symbol.for(`react.lazy`):60116,g=t?Symbol.for(`react.block`):60121,_=t?Symbol.for(`react.fundamental`):60117,v=t?Symbol.for(`react.responder`):60118,y=t?Symbol.for(`react.scope`):60119;function b(e){if(typeof e==`object`&&e){var t=e.$$typeof;switch(t){case n:switch(e=e.type,e){case l:case u:case i:case o:case a:case f:return e;default:switch(e&&=e.$$typeof,e){case c:case d:case h:case m:case s:return e;default:return t}}case r:return t}}}function x(e){return b(e)===u}e.AsyncMode=l,e.ConcurrentMode=u,e.ContextConsumer=c,e.ContextProvider=s,e.Element=n,e.ForwardRef=d,e.Fragment=i,e.Lazy=h,e.Memo=m,e.Portal=r,e.Profiler=o,e.StrictMode=a,e.Suspense=f,e.isAsyncMode=function(e){return x(e)||b(e)===l},e.isConcurrentMode=x,e.isContextConsumer=function(e){return b(e)===c},e.isContextProvider=function(e){return b(e)===s},e.isElement=function(e){return typeof e==`object`&&!!e&&e.$$typeof===n},e.isForwardRef=function(e){return b(e)===d},e.isFragment=function(e){return b(e)===i},e.isLazy=function(e){return b(e)===h},e.isMemo=function(e){return b(e)===m},e.isPortal=function(e){return b(e)===r},e.isProfiler=function(e){return b(e)===o},e.isStrictMode=function(e){return b(e)===a},e.isSuspense=function(e){return b(e)===f},e.isValidElementType=function(e){return typeof e==`string`||typeof e==`function`||e===i||e===u||e===o||e===a||e===f||e===p||typeof e==`object`&&!!e&&(e.$$typeof===h||e.$$typeof===m||e.$$typeof===s||e.$$typeof===c||e.$$typeof===d||e.$$typeof===_||e.$$typeof===v||e.$$typeof===y||e.$$typeof===g)},e.typeOf=b})),ha=e.t((e=>{process.env.NODE_ENV!==`production`&&(function(){"use strict";var t=typeof Symbol==`function`&&Symbol.for,n=t?Symbol.for(`react.element`):60103,r=t?Symbol.for(`react.portal`):60106,i=t?Symbol.for(`react.fragment`):60107,a=t?Symbol.for(`react.strict_mode`):60108,o=t?Symbol.for(`react.profiler`):60114,s=t?Symbol.for(`react.provider`):60109,c=t?Symbol.for(`react.context`):60110,l=t?Symbol.for(`react.async_mode`):60111,u=t?Symbol.for(`react.concurrent_mode`):60111,d=t?Symbol.for(`react.forward_ref`):60112,f=t?Symbol.for(`react.suspense`):60113,p=t?Symbol.for(`react.suspense_list`):60120,m=t?Symbol.for(`react.memo`):60115,h=t?Symbol.for(`react.lazy`):60116,g=t?Symbol.for(`react.block`):60121,_=t?Symbol.for(`react.fundamental`):60117,v=t?Symbol.for(`react.responder`):60118,y=t?Symbol.for(`react.scope`):60119;function b(e){return typeof e==`string`||typeof e==`function`||e===i||e===u||e===o||e===a||e===f||e===p||typeof e==`object`&&!!e&&(e.$$typeof===h||e.$$typeof===m||e.$$typeof===s||e.$$typeof===c||e.$$typeof===d||e.$$typeof===_||e.$$typeof===v||e.$$typeof===y||e.$$typeof===g)}function x(e){if(typeof e==`object`&&e){var t=e.$$typeof;switch(t){case n:var p=e.type;switch(p){case l:case u:case i:case o:case a:case f:return p;default:var g=p&&p.$$typeof;switch(g){case c:case d:case h:case m:case s:return g;default:return t}}case r:return t}}}var S=l,C=u,w=c,T=s,E=n,D=d,O=i,k=h,A=m,j=r,M=o,N=a,P=f,F=!1;function I(e){return F||(F=!0,console.warn(`The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.`)),L(e)||x(e)===l}function L(e){return x(e)===u}function ee(e){return x(e)===c}function R(e){return x(e)===s}function te(e){return typeof e==`object`&&!!e&&e.$$typeof===n}function ne(e){return x(e)===d}function z(e){return x(e)===i}function re(e){return x(e)===h}function ie(e){return x(e)===m}function ae(e){return x(e)===r}function oe(e){return x(e)===o}function se(e){return x(e)===a}function B(e){return x(e)===f}e.AsyncMode=S,e.ConcurrentMode=C,e.ContextConsumer=w,e.ContextProvider=T,e.Element=E,e.ForwardRef=D,e.Fragment=O,e.Lazy=k,e.Memo=A,e.Portal=j,e.Profiler=M,e.StrictMode=N,e.Suspense=P,e.isAsyncMode=I,e.isConcurrentMode=L,e.isContextConsumer=ee,e.isContextProvider=R,e.isElement=te,e.isForwardRef=ne,e.isFragment=z,e.isLazy=re,e.isMemo=ie,e.isPortal=ae,e.isProfiler=oe,e.isStrictMode=se,e.isSuspense=B,e.isValidElementType=b,e.typeOf=x})()})),ga=e.t(((e,t)=>{process.env.NODE_ENV===`production`?t.exports=ma():t.exports=ha()})),_a=e.t(((e,t)=>{var n=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;function a(e){if(e==null)throw TypeError(`Object.assign cannot be called with null or undefined`);return Object(e)}function o(){try{if(!Object.assign)return!1;var e=new String(`abc`);if(e[5]=`de`,Object.getOwnPropertyNames(e)[0]===`5`)return!1;for(var t={},n=0;n<10;n++)t[`_`+String.fromCharCode(n)]=n;if(Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(``)!==`0123456789`)return!1;var r={};return`abcdefghijklmnopqrst`.split(``).forEach(function(e){r[e]=e}),Object.keys(Object.assign({},r)).join(``)===`abcdefghijklmnopqrst`}catch{return!1}}t.exports=o()?Object.assign:function(e,t){for(var o,s=a(e),c,l=1;l<arguments.length;l++){for(var u in o=Object(arguments[l]),o)r.call(o,u)&&(s[u]=o[u]);if(n){c=n(o);for(var d=0;d<c.length;d++)i.call(o,c[d])&&(s[c[d]]=o[c[d]])}}return s}})),va=e.t(((e,t)=>{t.exports=`SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED`})),ya=e.t(((e,t)=>{t.exports=Function.call.bind(Object.prototype.hasOwnProperty)})),ba=e.t(((e,t)=>{var n=function(){};if(process.env.NODE_ENV!==`production`){var r=va(),i={},a=ya();n=function(e){var t=`Warning: `+e;typeof console<`u`&&console.error(t);try{throw Error(t)}catch{}}}function o(e,t,o,s,c){if(process.env.NODE_ENV!==`production`){for(var l in e)if(a(e,l)){var u;try{if(typeof e[l]!=`function`){var d=Error((s||`React class`)+`: `+o+" type `"+l+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof e[l]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw d.name=`Invariant Violation`,d}u=e[l](t,l,s,o,null,r)}catch(e){u=e}if(u&&!(u instanceof Error)&&n((s||`React class`)+`: type specification of `+o+" `"+l+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof u+`. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).`),u instanceof Error&&!(u.message in i)){i[u.message]=!0;var f=c?c():``;n(`Failed `+o+` type: `+u.message+(f??``))}}}}o.resetWarningCache=function(){process.env.NODE_ENV!==`production`&&(i={})},t.exports=o})),xa=e.t(((e,t)=>{var n=ga(),r=_a(),i=va(),a=ya(),o=ba(),s=function(){};process.env.NODE_ENV!==`production`&&(s=function(e){var t=`Warning: `+e;typeof console<`u`&&console.error(t);try{throw Error(t)}catch{}});function c(){return null}t.exports=function(e,t){var l=typeof Symbol==`function`&&Symbol.iterator,u=`@@iterator`;function d(e){var t=e&&(l&&e[l]||e[u]);if(typeof t==`function`)return t}var f=`<<anonymous>>`,p={array:_(`array`),bigint:_(`bigint`),bool:_(`boolean`),func:_(`function`),number:_(`number`),object:_(`object`),string:_(`string`),symbol:_(`symbol`),any:v(),arrayOf:y,element:b(),elementType:x(),instanceOf:S,node:E(),objectOf:w,oneOf:C,oneOfType:T,shape:O,exact:k};function m(e,t){return e===t?e!==0||1/e==1/t:e!==e&&t!==t}function h(e,t){this.message=e,this.data=t&&typeof t==`object`?t:{},this.stack=``}h.prototype=Error.prototype;function g(e){if(process.env.NODE_ENV!==`production`)var n={},r=0;function a(a,o,c,l,u,d,p){if(l||=f,d||=c,p!==i){if(t){var m=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");throw m.name=`Invariant Violation`,m}else if(process.env.NODE_ENV!==`production`&&typeof console<`u`){var g=l+`:`+c;!n[g]&&r<3&&(s("You are manually calling a React.PropTypes validation function for the `"+d+"` prop on `"+l+"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."),n[g]=!0,r++)}}return o[c]==null?a?o[c]===null?new h(`The `+u+" `"+d+"` is marked as required "+("in `"+l+"`, but its value is `null`.")):new h(`The `+u+" `"+d+"` is marked as required in "+("`"+l+"`, but its value is `undefined`.")):null:e(o,c,l,u,d)}var o=a.bind(null,!1);return o.isRequired=a.bind(null,!0),o}function _(e){function t(t,n,r,i,a,o){var s=t[n];if(M(s)!==e){var c=N(s);return new h(`Invalid `+i+" `"+a+"` of type "+("`"+c+"` supplied to `"+r+"`, expected ")+("`"+e+"`."),{expectedType:e})}return null}return g(t)}function v(){return g(c)}function y(e){function t(t,n,r,a,o){if(typeof e!=`function`)return new h("Property `"+o+"` of component `"+r+"` has invalid PropType notation inside arrayOf.");var s=t[n];if(!Array.isArray(s)){var c=M(s);return new h(`Invalid `+a+" `"+o+"` of type "+("`"+c+"` supplied to `"+r+"`, expected an array."))}for(var l=0;l<s.length;l++){var u=e(s,l,r,a,o+`[`+l+`]`,i);if(u instanceof Error)return u}return null}return g(t)}function b(){function t(t,n,r,i,a){var o=t[n];if(!e(o)){var s=M(o);return new h(`Invalid `+i+" `"+a+"` of type "+("`"+s+"` supplied to `"+r+"`, expected a single ReactElement."))}return null}return g(t)}function x(){function e(e,t,r,i,a){var o=e[t];if(!n.isValidElementType(o)){var s=M(o);return new h(`Invalid `+i+" `"+a+"` of type "+("`"+s+"` supplied to `"+r+"`, expected a single ReactElement type."))}return null}return g(e)}function S(e){function t(t,n,r,i,a){if(!(t[n]instanceof e)){var o=e.name||f,s=F(t[n]);return new h(`Invalid `+i+" `"+a+"` of type "+("`"+s+"` supplied to `"+r+"`, expected ")+("instance of `"+o+"`."))}return null}return g(t)}function C(e){if(!Array.isArray(e))return process.env.NODE_ENV!==`production`&&(arguments.length>1?s(`Invalid arguments supplied to oneOf, expected an array, got `+arguments.length+` arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).`):s(`Invalid argument supplied to oneOf, expected an array.`)),c;function t(t,n,r,i,a){for(var o=t[n],s=0;s<e.length;s++)if(m(o,e[s]))return null;var c=JSON.stringify(e,function(e,t){return N(t)===`symbol`?String(t):t});return new h(`Invalid `+i+" `"+a+"` of value `"+String(o)+"` "+("supplied to `"+r+"`, expected one of "+c+`.`))}return g(t)}function w(e){function t(t,n,r,o,s){if(typeof e!=`function`)return new h("Property `"+s+"` of component `"+r+"` has invalid PropType notation inside objectOf.");var c=t[n],l=M(c);if(l!==`object`)return new h(`Invalid `+o+" `"+s+"` of type "+("`"+l+"` supplied to `"+r+"`, expected an object."));for(var u in c)if(a(c,u)){var d=e(c,u,r,o,s+`.`+u,i);if(d instanceof Error)return d}return null}return g(t)}function T(e){if(!Array.isArray(e))return process.env.NODE_ENV!==`production`&&s(`Invalid argument supplied to oneOfType, expected an instance of array.`),c;for(var t=0;t<e.length;t++){var n=e[t];if(typeof n!=`function`)return s(`Invalid argument supplied to oneOfType. Expected an array of check functions, but received `+P(n)+` at index `+t+`.`),c}function r(t,n,r,o,s){for(var c=[],l=0;l<e.length;l++){var u=e[l],d=u(t,n,r,o,s,i);if(d==null)return null;d.data&&a(d.data,`expectedType`)&&c.push(d.data.expectedType)}var f=c.length>0?`, expected one of type [`+c.join(`, `)+`]`:``;return new h(`Invalid `+o+" `"+s+"` supplied to "+("`"+r+"`"+f+`.`))}return g(r)}function E(){function e(e,t,n,r,i){return A(e[t])?null:new h(`Invalid `+r+" `"+i+"` supplied to "+("`"+n+"`, expected a ReactNode."))}return g(e)}function D(e,t,n,r,i){return new h((e||`React class`)+`: `+t+" type `"+n+`.`+r+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+i+"`.")}function O(e){function t(t,n,r,a,o){var s=t[n],c=M(s);if(c!==`object`)return new h(`Invalid `+a+" `"+o+"` of type `"+c+"` "+("supplied to `"+r+"`, expected `object`."));for(var l in e){var u=e[l];if(typeof u!=`function`)return D(r,a,o,l,N(u));var d=u(s,l,r,a,o+`.`+l,i);if(d)return d}return null}return g(t)}function k(e){function t(t,n,o,s,c){var l=t[n],u=M(l);if(u!==`object`)return new h(`Invalid `+s+" `"+c+"` of type `"+u+"` "+("supplied to `"+o+"`, expected `object`."));for(var d in r({},t[n],e)){var f=e[d];if(a(e,d)&&typeof f!=`function`)return D(o,s,c,d,N(f));if(!f)return new h(`Invalid `+s+" `"+c+"` key `"+d+"` supplied to `"+o+`\`.
49
+ `),()=>{s.current?.removeAttribute(`data-motion-pop-id`),v.contains(_)&&v.removeChild(_)}},[t]),(0,V.jsx)(Pn,{isPresent:t,childRef:s,sizeRef:c,pop:a,children:a===!1?e:B.cloneElement(e,{ref:u})})}var In=({children:e,initial:t,isPresent:n,onExitComplete:r,custom:i,presenceAffectsLayout:a,mode:o,anchorX:s,anchorY:c,root:l})=>{let u=T.f(Ln),d=(0,B.useId)(),f=!0,p=(0,B.useMemo)(()=>(f=!1,{id:d,initial:t,isPresent:n,custom:i,onExitComplete:e=>{u.set(e,!0);for(let e of u.values())if(!e)return;r&&r()},register:e=>(u.set(e,!1),()=>u.delete(e))}),[n,u,r]);return a&&f&&(p={...p}),(0,B.useMemo)(()=>{u.forEach((e,t)=>u.set(t,!1))},[n]),B.useEffect(()=>{!n&&!u.size&&r&&r()},[n]),e=(0,V.jsx)(Fn,{pop:o===`popLayout`,isPresent:n,anchorX:s,anchorY:c,root:l,children:e}),(0,V.jsx)(T.u.Provider,{value:p,children:e})};function Ln(){return new Map}var Rn=e=>e.key||``;function zn(e){let t=[];return B.Children.forEach(e,e=>{(0,B.isValidElement)(e)&&t.push(e)}),t}var Bn=({children:e,custom:t,initial:n=!0,onExitComplete:r,presenceAffectsLayout:i=!0,mode:a=`sync`,propagate:o=!1,anchorX:s=`left`,anchorY:c=`top`,root:l})=>{let[u,d]=T.i(o),f=(0,B.useMemo)(()=>zn(e),[e]),p=o&&!u?[]:f.map(Rn),m=(0,B.useRef)(!0),h=(0,B.useRef)(f),g=T.f(()=>new Map),_=(0,B.useRef)(new Set),[v,y]=(0,B.useState)(f),[b,x]=(0,B.useState)(f);T.d(()=>{m.current=!1,h.current=f;for(let e=0;e<b.length;e++){let t=Rn(b[e]);p.includes(t)?(g.delete(t),_.current.delete(t)):g.get(t)!==!0&&g.set(t,!1)}},[b,p.length,p.join(`-`)]);let S=[];if(f!==v){let e=[...f];for(let t=0;t<b.length;t++){let n=b[t],r=Rn(n);p.includes(r)||(e.splice(t,0,n),S.push(n))}return a===`wait`&&S.length&&(e=S),x(zn(e)),y(f),null}process.env.NODE_ENV!==`production`&&a===`wait`&&b.length>1&&console.warn(`You're attempting to animate multiple children within AnimatePresence, but its mode is set to "wait". This will lead to odd visual behaviour.`);let{forceRender:C}=(0,B.useContext)(T.p);return(0,V.jsx)(V.Fragment,{children:b.map(e=>{let v=Rn(e),y=o&&!u?!1:f===b||p.includes(v);return(0,V.jsx)(In,{isPresent:y,initial:!m.current||n?void 0:!1,custom:t,presenceAffectsLayout:i,mode:a,root:l,onExitComplete:y?void 0:()=>{if(_.current.has(v))return;if(g.has(v))_.current.add(v),g.set(v,!0);else return;let e=!0;g.forEach(t=>{t||(e=!1)}),e&&(C?.(),x(h.current),o&&d?.(),r&&r())},anchorX:s,anchorY:c,children:e},v)})})};function Vn(e){e.values.forEach(e=>e.stop())}function Hn(e,t){[...t].reverse().forEach(n=>{let r=e.getVariant(n);r&&T.c(e,r),e.variantChildren&&e.variantChildren.forEach(e=>{Hn(e,t)})})}function Un(e,t){if(Array.isArray(t))return Hn(e,t);if(typeof t==`string`)return Hn(e,[t]);T.c(e,t)}function Wn(){let e=!1,t=new Set,n={subscribe(e){return t.add(e),()=>void t.delete(e)},start(n,r){T.l(e,`controls.start() should only be called after a component has mounted. Consider calling within a useEffect hook.`);let i=[];return t.forEach(e=>{i.push(T.s(e,n,{transitionOverride:r}))}),Promise.all(i)},set(n){return T.l(e,`controls.set() should only be called after a component has mounted. Consider calling within a useEffect hook.`),t.forEach(e=>{Un(e,n)})},stop(){t.forEach(e=>{Vn(e)})},mount(){return e=!0,()=>{e=!1,n.stop()}}};return n}function Gn(){let e=T.f(Wn);return T.d(e.mount,[]),e}var Kn=(0,B.createContext)(null),qn=({children:e})=>{let t=(0,B.useRef)(new Map);return(0,V.jsx)(Kn.Provider,{value:{register:(e,n)=>{t.current.set(e,n)},unregister:e=>{t.current.delete(e)},getRect:e=>t.current.get(e)},children:e})},Jn=()=>{let e=(0,B.useContext)(Kn);if(!e)throw Error(`useWindowButtonRegistry must be used within WindowButtonRegistryProvider`);return e},Yn={root:`_root_1z0nr_1`},Xn=`linear-gradient(90deg, rgba(42, 123, 155, 1) 0%, rgba(87, 199, 133, 1) 50%, rgba(237, 221, 83, 1) 100%)`,Zn=({children:e,onContextMenu:t,wallpaper:n,backgroundColor:r})=>{let i=w.o(e=>e.setViewportSize),a=(0,B.useRef)(null);(0,B.useEffect)(()=>{let e=a.current;if(!e)return;let t=new ResizeObserver(e=>{let{width:t,height:n}=e[0]?.contentRect??{};t&&t>0&&n&&n>0&&i(t,n)});return t.observe(e),()=>t.disconnect()},[i]);let o=n?`url(${n})`:Xn;return(0,V.jsx)(`div`,{ref:a,className:Yn.root,"data-testid":`desktop-area`,style:{"--taskbar-height":`48px`,backgroundColor:r??`transparent`,backgroundImage:o,backgroundSize:`cover`,backgroundPosition:`center`},onContextMenu:t,children:e})},K=e=>typeof e==`string`,Qn=()=>{let e,t,n=new Promise((n,r)=>{e=n,t=r});return n.resolve=e,n.reject=t,n},$n=e=>e==null?``:``+e,er=(e,t,n)=>{e.forEach(e=>{t[e]&&(n[e]=t[e])})},tr=/###/g,nr=e=>e&&e.indexOf(`###`)>-1?e.replace(tr,`.`):e,rr=e=>!e||K(e),ir=(e,t,n)=>{let r=K(t)?t.split(`.`):t,i=0;for(;i<r.length-1;){if(rr(e))return{};let t=nr(r[i]);!e[t]&&n&&(e[t]=new n),e=Object.prototype.hasOwnProperty.call(e,t)?e[t]:{},++i}return rr(e)?{}:{obj:e,k:nr(r[i])}},ar=(e,t,n)=>{let{obj:r,k:i}=ir(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=ir(e,o,Object);for(;s.obj===void 0&&o.length;)a=`${o[o.length-1]}.${a}`,o=o.slice(0,o.length-1),s=ir(e,o,Object),s?.obj&&s.obj[`${s.k}.${a}`]!==void 0&&(s.obj=void 0);s.obj[`${s.k}.${a}`]=n},or=(e,t,n,r)=>{let{obj:i,k:a}=ir(e,t,Object);i[a]=i[a]||[],i[a].push(n)},sr=(e,t)=>{let{obj:n,k:r}=ir(e,t);if(n&&Object.prototype.hasOwnProperty.call(n,r))return n[r]},cr=(e,t,n)=>{let r=sr(e,n);return r===void 0?sr(t,n):r},lr=(e,t,n)=>{for(let r in t)r!==`__proto__`&&r!==`constructor`&&(r in e?K(e[r])||e[r]instanceof String||K(t[r])||t[r]instanceof String?n&&(e[r]=t[r]):lr(e[r],t[r],n):e[r]=t[r]);return e},ur=e=>e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,`\\$&`),dr={"&":`&amp;`,"<":`&lt;`,">":`&gt;`,'"':`&quot;`,"'":`&#39;`,"/":`&#x2F;`},fr=e=>K(e)?e.replace(/[&<>"'\/]/g,e=>dr[e]):e,pr=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}},mr=[` `,`,`,`?`,`!`,`;`],hr=new pr(20),gr=(e,t,n)=>{t||=``,n||=``;let r=mr.filter(e=>t.indexOf(e)<0&&n.indexOf(e)<0);if(r.length===0)return!0;let i=hr.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},_r=(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`].indexOf(typeof t)>-1&&o<r.length-1)continue;e+=o-e+1;break}i=t}return i},vr=e=>e?.replace(/_/g,`-`),yr={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)}},q=new class e{constructor(e,t={}){this.init(e,t)}init(e,t={}){this.prefix=t.prefix||`i18next:`,this.logger=e||yr,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:(K(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)}},br=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)}}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.apply(n,[e,...t])})}},xr=class extends br{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.indexOf(e)<0&&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.indexOf(`.`)>-1?o=e.split(`.`):(o=[e,t],n&&(Array.isArray(n)?o.push(...n):K(n)&&i?o.push(...n.split(i)):o.push(n)));let s=sr(this.data,o);return!s&&!t&&!n&&e.indexOf(`.`)>-1&&(e=o[0],t=o[1],n=o.slice(2).join(`.`)),s||!a||!K(n)?s:_r(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.indexOf(`.`)>-1&&(o=e.split(`.`),r=t,t=o[1]),this.addNamespaces(t),ar(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)(K(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.indexOf(`.`)>-1&&(o=e.split(`.`),r=n,n=t,t=o[1]),this.addNamespaces(t);let s=sr(this.data,o)||{};a.skipCopy||(n=JSON.parse(JSON.stringify(n))),r?lr(s,n,i):s={...s,...n},ar(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}},Sr={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}},Cr=Symbol(`i18next/PATH_KEY`);function wr(){let e=[],t=Object.create(null),n;return t.get=(r,i)=>(n?.revoke?.(),i===Cr?e:(e.push(i),n=Proxy.revocable(r,t),n.proxy)),Proxy.revocable(Object.create(null),t).proxy}function Tr(e,t){let{[Cr]:n}=e(wr()),r=t?.keySeparator??`.`,i=t?.nsSeparator??`:`;if(n.length>1&&i){let e=t?.ns,a=Array.isArray(e)?e:null;if(a&&a.length>1&&a.slice(1).includes(n[0]))return`${n[0]}${i}${n.slice(1).join(r)}`}return n.join(r)}var Er={},Dr=e=>!K(e)&&typeof e!=`boolean`&&typeof e!=`number`,Or=class e extends br{constructor(e,t={}){super(),er([`resourceStore`,`languageUtils`,`pluralResolver`,`interpolator`,`backendConnector`,`i18nFormat`,`utils`],e,this),this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator=`.`),this.logger=q.create(`translator`)}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=Dr(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.indexOf(n)>-1,o=!this.options.userDefinedKeySeparator&&!t.keySeparator&&!this.options.userDefinedNsSeparator&&!t.nsSeparator&&!gr(e,n,r);if(a&&!o){let t=e.match(this.interpolator.nestingRegexp);if(t&&t.length>0)return{key:e,namespaces:K(i)?[i]:i};let a=e.split(n);(n!==r||n===r&&this.options.ns.indexOf(a[0])>-1)&&(i=a.shift()),e=a.join(r)}return{key:e,namespaces:K(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=Tr(t,{...this.options,...i})),Array.isArray(t)||(t=[String(t)]),t=t.map(e=>typeof e==`function`?Tr(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]`],v=i.joinArrays===void 0?this.options.joinArrays:i.joinArrays,y=!this.i18nFormat||this.i18nFormat.handleAsObject,b=i.count!==void 0&&!K(i.count),x=e.hasDefaultValue(i),S=b?this.pluralResolver.getSuffix(d,i.count,i):``,C=i.ordinal&&b?this.pluralResolver.getSuffix(d,i.count,{ordinal:!1}):``,w=b&&!i.ordinal&&i.count===0,T=w&&i[`defaultValue${this.options.pluralSeparator}zero`]||i[`defaultValue${S}`]||i[`defaultValue${C}`]||i.defaultValue,E=m;y&&!m&&x&&(E=T);let D=Dr(E),O=Object.prototype.toString.apply(E);if(y&&E&&D&&_.indexOf(O)<0&&!(K(v)&&Array.isArray(E))){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,E,{...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(E),t=e?[]:{},n=e?g:h;for(let e in E)if(Object.prototype.hasOwnProperty.call(E,e)){let r=`${n}${o}${e}`;x&&!m?t[e]=this.translate(r,{...i,defaultValue:Dr(T)?T[e]:void 0,joinArrays:!1,ns:c}):t[e]=this.translate(r,{...i,joinArrays:!1,ns:c}),t[e]===r&&(t[e]=E[e])}m=t}}else if(y&&K(v)&&Array.isArray(m))m=m.join(v),m&&=this.extendTranslation(m,t,i,r);else{let e=!1,n=!1;!this.isValidLookup(m)&&x&&(e=!0,m=T),this.isValidLookup(m)||(n=!0,m=s);let a=(i.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&n?void 0:m,c=x&&T!==m&&this.options.updateMissing;if(n||e||c){if(this.logger.log(c?`updateKey`:`missingKey`,d,l,s,c?T: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=x&&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&&b?e.forEach(e=>{let t=this.pluralResolver.getSuffixes(e,i);w&&i[`defaultValue${this.options.pluralSeparator}zero`]&&t.indexOf(`${this.options.pluralSeparator}zero`)<0&&t.push(`${this.options.pluralSeparator}zero`),t.forEach(t=>{n([e],s+t,i[`defaultValue${t}`]||T)})}):n(e,s,T))}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=K(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&&!K(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=K(a)?[a]:a;return e!=null&&o?.length&&n.applyPostProcessor!==!1&&(e=Sr.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 K(e)&&(e=[e]),Array.isArray(e)&&(e=e.map(e=>typeof e==`function`?Tr(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&&!K(t.count),d=u&&!t.ordinal&&t.count===0,f=t.context!==void 0&&(K(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,!Er[`${p[0]}-${e}`]&&this.utils?.hasLoadedNamespace&&!this.utils?.hasLoadedNamespace(o)&&(Er[`${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.indexOf(i)===0&&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.indexOf(i)===0&&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&&!K(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.substring(0,12)===`defaultValue`&&e[t]!==void 0)return!0;return!1}},kr=class{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=q.create(`languageUtils`)}getScriptPartFromCode(e){if(e=vr(e),!e||e.indexOf(`-`)<0)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=vr(e),!e||e.indexOf(`-`)<0)return e;let t=e.split(`-`);return this.formatLanguageCode(t[0])}formatLanguageCode(e){if(K(e)&&e.indexOf(`-`)>-1){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.indexOf(e)>-1}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=>{if(e===r||!(e.indexOf(`-`)<0&&r.indexOf(`-`)<0)&&(e.indexOf(`-`)>0&&r.indexOf(`-`)<0&&e.substring(0,e.indexOf(`-`))===r||e.indexOf(r)===0&&r.length>1))return e})}),t||=this.getFallbackCodes(this.options.fallbackLng)[0],t}getFallbackCodes(e,t){if(!e)return[];if(typeof e==`function`&&(e=e(t)),K(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 K(e)&&(e.indexOf(`-`)>-1||e.indexOf(`_`)>-1)?(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))):K(e)&&i(this.formatLanguageCode(e)),n.forEach(e=>{r.indexOf(e)<0&&i(this.formatLanguageCode(e))}),r}},Ar={zero:0,one:1,two:2,few:3,many:4,other:5},jr={select:e=>e===1?`one`:`other`,resolvedOptions:()=>({pluralCategories:[`one`,`other`]})},Mr=class{constructor(e,t={}){this.languageUtils=e,this.options=t,this.logger=q.create(`pluralResolver`),this.pluralRulesCache={}}clearCache(){this.pluralRulesCache={}}getRule(e,t={}){let n=vr(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!`),jr;if(!e.match(/-|_/))return jr;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)=>Ar[e]-Ar[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))}},Nr=(e,t,n,r=`.`,i=!0)=>{let a=cr(e,t,n);return!a&&i&&K(n)&&(a=_r(e,n,r),a===void 0&&(a=_r(t,n,r))),a},Pr=e=>e.replace(/\$/g,`$$$$`),Fr=class{constructor(e={}){this.logger=q.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?fr:t,this.escapeValue=n===void 0?!0:n,this.useRawValueToEscape=r===void 0?!1:r,this.prefix=i?ur(i):a||`{{`,this.suffix=o?ur(o):s||`}}`,this.formatSeparator=c||`,`,this.unescapePrefix=l?``:u||`-`,this.unescapeSuffix=this.unescapePrefix?``:l||``,this.nestingPrefix=d?ur(d):f||ur(`$t(`),this.nestingSuffix=p?ur(p):m||ur(`)`),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.indexOf(this.formatSeparator)<0){let i=Nr(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(Nr(t,s,a,this.options.keySeparator,this.options.ignoreJSONStructure),o,n,{...r,...t,interpolationkey:a})};this.resetRegExp();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=>Pr(e)},{regex:this.regexp,safeValue:e=>this.escapeValue?Pr(this.escape(e)):Pr(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=K(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 !K(a)&&!this.useRawValueToEscape&&(a=$n(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.indexOf(n)<0)return e;let r=e.split(RegExp(`${ur(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.indexOf(this.prefix)>-1&&delete a.defaultValue,e};for(;r=this.nestingRegexp.exec(e);){let s=[];a={...n},a=a.replace&&!K(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&&!K(i))return i;K(i)||(i=$n(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}},Ir=e=>{let t=e.toLowerCase().trim(),n={};if(e.indexOf(`(`)>-1){let r=e.split(`(`);t=r[0].toLowerCase().trim();let i=r[1].substring(0,r[1].length-1);t===`currency`&&i.indexOf(`:`)<0?n.currency||=i.trim():t===`relativetime`&&i.indexOf(`:`)<0?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}},Lr=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(vr(r),i),t[o]=s),s(n)}},Rr=e=>(t,n,r)=>e(vr(n),r)(t),zr=class{constructor(e={}){this.logger=q.create(`formatter`),this.options=e,this.init(e)}init(e,t={interpolation:{}}){this.formatSeparator=t.interpolation.formatSeparator||`,`;let n=t.cacheInBuiltFormats?Lr:Rr;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()]=Lr(t)}format(e,t,n,r={}){let i=t.split(this.formatSeparator);if(i.length>1&&i[0].indexOf(`(`)>1&&i[0].indexOf(`)`)<0&&i.find(e=>e.indexOf(`)`)>-1)){let e=i.findIndex(e=>e.indexOf(`)`)>-1);i[0]=[i[0],...i.splice(1,e)].join(this.formatSeparator)}return i.reduce((e,t)=>{let{formatName:i,formatOptions:a}=Ir(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)}},Br=(e,t)=>{e.pending[t]!==void 0&&(delete e.pending[t],e.pendingCount--)},Vr=class extends br{constructor(e,t,n,r={}){super(),this.backend=e,this.store=t,this.services=n,this.languageUtils=n.languageUtils,this.options=r,this.logger=q.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=>{or(n.loaded,[i],a),Br(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.call(this,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();K(e)&&(e=this.languageUtils.toResolveHierarchy(e)),K(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)}}},Hr=()=>({debug:!1,initAsync:!0,ns:[`translation`],defaultNS:[`translation`],fallbackLng:[`dev`],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:`all`,preload:!1,simplifyPluralSuffix:!0,keySeparator:`.`,nsSeparator:`:`,pluralSeparator:`_`,contextSeparator:`_`,partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:`fallback`,saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:e=>{let t={};if(typeof e[1]==`object`&&(t=e[1]),K(e[1])&&(t.defaultValue=e[1]),K(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,format:e=>e,prefix:`{{`,suffix:`}}`,formatSeparator:`,`,unescapePrefix:`-`,nestingPrefix:`$t(`,nestingSuffix:`)`,nestingOptionsSeparator:`,`,maxReplaces:1e3,skipOnVariables:!0},cacheInBuiltFormats:!0}),Ur=e=>(K(e.ns)&&(e.ns=[e.ns]),K(e.fallbackLng)&&(e.fallbackLng=[e.fallbackLng]),K(e.fallbackNS)&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs?.indexOf?.(`cimode`)<0&&(e.supportedLngs=e.supportedLngs.concat([`cimode`])),typeof e.initImmediate==`boolean`&&(e.initAsync=e.initImmediate),e),Wr=()=>{},Gr=e=>{Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(t=>{typeof e[t]==`function`&&(e[t]=e[t].bind(e))})},Kr=`__i18next_supportNoticeShown`,qr=()=>!!(typeof globalThis<`u`&&globalThis[Kr]||typeof process<`u`&&process.env&&process.env.I18NEXT_NO_SUPPORT_NOTICE||typeof process<`u`&&process.env&&process.env.NODE_ENV===`production`),Jr=()=>{typeof globalThis<`u`&&(globalThis[Kr]=!0)},Yr=e=>!!(e?.modules?.backend?.name?.indexOf(`Locize`)>0||e?.modules?.backend?.constructor?.name?.indexOf(`Locize`)>0||e?.options?.backend?.backends&&e.options.backend.backends.some(e=>e?.name?.indexOf(`Locize`)>0||e?.constructor?.name?.indexOf(`Locize`)>0)||e?.options?.backend?.projectId||e?.options?.backend?.backendOptions&&e.options.backend.backendOptions.some(e=>e?.projectId)),J=class e extends br{constructor(e={},t){if(super(),this.options=Ur(e),this.services={},this.logger=q,this.modules={external:[]},Gr(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&&(K(e.ns)?e.defaultNS=e.ns:e.ns.indexOf(`translation`)<0&&(e.defaultNS=e.ns[0]));let n=Hr();this.options={...n,...this.options,...Ur(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),this.options.showSupportNotice!==!1&&!Yr(this)&&!qr()&&(typeof console<`u`&&console.info!==void 0&&console.info(`🌐 i18next is made possible by our own product, Locize — consider powering your project with managed localization (AI, CDN, integrations): https://locize.com 💙`),Jr());let r=e=>e?typeof e==`function`?new e:e:null;if(!this.options.isClone){this.modules.logger?q.init(r(this.modules.logger),this.options):q.init(null,this.options);let e;e=this.modules.formatter?this.modules.formatter:zr;let t=new kr(this.options);this.store=new xr(this.options.resources,this.options);let i=this.services;i.logger=q,i.resourceStore=this.store,i.languageUtils=t,i.pluralResolver=new Mr(t,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),this.options.interpolation.format&&this.options.interpolation.format!==n.interpolation.format&&this.logger.deprecate(`init: you are still using the legacy format function, please use the new approach: https://www.i18next.com/translation-function/formatting`),e&&(!this.options.interpolation.format||this.options.interpolation.format===n.interpolation.format)&&(i.formatter=r(e),i.formatter.init&&i.formatter.init(i,this.options),this.options.interpolation.format=i.formatter.format.bind(i.formatter)),i.interpolator=new Fr(this.options),i.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},i.backendConnector=new Vr(r(this.modules.backend),i.resourceStore,i,this.options),i.backendConnector.on(`*`,(e,...t)=>{this.emit(e,...t)}),this.modules.languageDetector&&(i.languageDetector=r(this.modules.languageDetector),i.languageDetector.init&&i.languageDetector.init(i,this.options.detection,this.options)),this.modules.i18nFormat&&(i.i18nFormat=r(this.modules.i18nFormat),i.i18nFormat.init&&i.i18nFormat.init(this)),this.translator=new Or(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||=Wr,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=Qn(),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.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=Wr){let n=t,r=K(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.indexOf(t)<0&&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=Qn();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||=Wr,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`&&Sr.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`].indexOf(e)>-1)){for(let e=0;e<this.languages.length;e++){let t=this.languages[e];if(!([`cimode`,`dev`].indexOf(t)>-1)&&this.store.hasLanguageSomeTranslations(t)){this.resolvedLanguage=t;break}}!this.resolvedLanguage&&this.languages.indexOf(e)<0&&this.store.hasLanguageSomeTranslations(e)&&(this.resolvedLanguage=e,this.languages.unshift(e))}}changeLanguage(e,t){this.isLanguageChangingTo=e;let n=Qn();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=K(t)?t:t&&t[0],a=this.store.hasLanguageSomeTranslations(n)?n:this.services.languageUtils.getBestMatchFromCodes(K(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){let r=(e,t,...i)=>{let a;a=typeof t==`object`?{...t}:this.options.overloadTranslationOptionHandler([e,t].concat(i)),a.lng=a.lng||r.lng,a.lngs=a.lngs||r.lngs,a.ns=a.ns||r.ns,a.keyPrefix!==``&&(a.keyPrefix=a.keyPrefix||n||r.keyPrefix);let o={...this.options,...a};typeof a.keyPrefix==`function`&&(a.keyPrefix=Tr(a.keyPrefix,o));let s=this.options.keySeparator||`.`,c;return a.keyPrefix&&Array.isArray(e)?c=e.map(e=>(typeof e==`function`&&(e=Tr(e,o)),`${a.keyPrefix}${s}${e}`)):(typeof e==`function`&&(e=Tr(e,o)),c=a.keyPrefix?`${a.keyPrefix}${s}${e}`:e),this.t(c,a)};return K(e)?r.lng=e:r.lngs=e,r.ns=t,r.keyPrefix=n,r}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=Qn();return this.options.ns?(K(e)&&(e=[e]),e.forEach(e=>{this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}),this.loadResources(e=>{n.resolve(),t&&t(e)}),n):(t&&t(),Promise.resolve())}loadLanguages(e,t){let n=Qn();K(e)&&(e=[e]);let r=this.options.preload||[],i=e.filter(e=>r.indexOf(e)<0&&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 kr(Hr());return e.toLowerCase().indexOf(`-latn`)>1?`ltr`:t.indexOf(n.getLanguagePartFromCode(e))>-1||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=Wr){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 xr(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={...Hr().interpolation,...this.options.interpolation,...t.interpolation},n={...i,interpolation:e};a.services.interpolator=new Fr(n)}return a.translator=new Or(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();J.createInstance,J.dir,J.init,J.loadResources,J.reloadResources,J.use,J.changeLanguage,J.getFixedT,J.t,J.exists,J.setDefaultNamespace,J.hasLoadedNamespace,J.loadNamespaces,J.loadLanguages;var Xr=e=>e.toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`}),Zr=()=>{let[e,t]=(0,B.useState)(()=>Xr(new Date));return(0,B.useEffect)(()=>{let e=setInterval(()=>t(Xr(new Date)),1e3);return()=>clearInterval(e)},[]),e},Qr=-8,$r=0,ei=()=>{let[e,t]=(0,B.useState)({activeMenu:null,position:{x:0,y:0},targetWindowId:null}),n=(0,B.useCallback)((e,n)=>{e.preventDefault(),e.stopPropagation(),t({activeMenu:`window`,position:{x:e.clientX,y:e.clientY+Qr},targetWindowId:n})},[]),r=(0,B.useCallback)(e=>{e.preventDefault(),t({activeMenu:`panel`,position:{x:e.clientX,y:e.clientY+Qr},targetWindowId:null})},[]),i=(0,B.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),t({activeMenu:`launcher`,position:{x:e.clientX,y:e.clientY+$r},targetWindowId:null})},[]),a=(0,B.useCallback)(()=>{t(e=>({...e,activeMenu:null}))},[]);return{activeMenu:e.activeMenu,position:e.position,targetWindowId:e.targetWindowId,windowMenuOpened:e.activeMenu===`window`,panelMenuOpened:e.activeMenu===`panel`,launcherMenuOpened:e.activeMenu===`launcher`,openWindowMenu:n,openPanelMenu:r,openLauncherMenu:i,closeMenu:a}},ti=()=>{let e=c.h(e=>e.animationDuration);return{duration:e,windowVariants:E.f(e),panelVariants:E.u(e),minimizeVariant:E.l(.3),restoreVariant:E.d(.3),maximizeTransition:E.c(.25),easeIn:E.o(e),easeOut:E.s(e)}},Y={WELCOME:`welcome`,NOTEPAD:`notepad`,UPLOADER:`uploader`,FILES:`files`,SETTINGS:`settings`,PDF:`pdf`,CALENDAR:`calendar`,STORYBOOK:`storybook`,LINKEDIN:`linkedin`,GITHUB:`github`,IMAGE_VIEWER:`image-viewer`,DOS_EMULATOR:`dos-emulator`,DOOM:`doom`,TERMINAL:`terminal`,CODE_SERVER:`code-server`,DEVICE_INFO:`device-info`,MENUEDIT:`menuedit`},ni={[Y.FILES]:`filesApp`,[Y.PDF]:`pdfViewer`,[Y.IMAGE_VIEWER]:`imageViewer`,[Y.DOS_EMULATOR]:`dosEmulator`,[Y.CODE_SERVER]:`codeServer`,[Y.DEVICE_INFO]:`deviceInfo`},ri=[Y.WELCOME,Y.UPLOADER,Y.TERMINAL,Y.CODE_SERVER,Y.STORYBOOK,Y.SETTINGS,Y.NOTEPAD,Y.LINKEDIN,Y.GITHUB,Y.FILES,Y.DOOM];function ii(e){let{t}=D.t(`apps`);return e?t(`names.${ni[e]??e}`,e):``}function ai(e,t,n){return(0,B.useMemo)(()=>{if(!t.trim())return e;let r=t.toLowerCase().trim();return e.filter(e=>{let t=n(e);return Array.isArray(t)?t.some(e=>e.toLowerCase().includes(r)):t.toLowerCase().includes(r)})},[e,t,n])}function oi(e){let[t,n]=(0,B.useState)(e??new Set);return{expanded:t,toggle:(0,B.useCallback)(e=>{n(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),expand:(0,B.useCallback)(e=>{n(t=>{let n=new Set(t);return n.add(e),n})},[]),collapse:(0,B.useCallback)(e=>{n(t=>{let n=new Set(t);return n.delete(e),n})},[]),expandAll:(0,B.useCallback)(e=>{n(new Set(e))},[]),collapseAll:(0,B.useCallback)(()=>{n(new Set)},[]),reset:(0,B.useCallback)(()=>{n(new Set)},[]),isExpanded:(0,B.useCallback)(e=>t.has(e),[t])}}var si={header:`_header_2d0oy_1`,iconContainer:`_iconContainer_2d0oy_20`,expandIcon:`_expandIcon_2d0oy_28`,icon:`_icon_2d0oy_20`,title:`_title_2d0oy_42`,content:`_content_2d0oy_48`},ci=({title:e,fcIcon:t=`FcFolder`,expanded:n,onToggle:r,children:i,className:a,"aria-label":o})=>{let s=O.c(n?`VscRemove`:`VscAdd`,{size:14,className:si.expandIcon});return(0,V.jsxs)(`div`,{className:a,children:[(0,V.jsxs)(f.t,{className:si.header,onClick:r,"aria-expanded":n,"aria-label":o??e,children:[(0,V.jsx)(`span`,{className:si.iconContainer,children:s}),(0,V.jsx)(`span`,{className:si.icon,children:(0,V.jsx)(y.t,{fcIcon:t,size:16})}),(0,V.jsx)(g.o,{size:`sm`,fw:500,className:si.title,children:e})]}),n&&(0,V.jsx)(`div`,{className:si.content,children:i})]})},li={trigger:`_trigger_4gumo_1`,panel:`_panel_4gumo_23`,searchContainer:`_searchContainer_4gumo_39`,searchInput:`_searchInput_4gumo_43`,scrollContainer:`_scrollContainer_4gumo_47`,appsSection:`_appsSection_4gumo_56`,appButton:`_appButton_4gumo_62`,appIcon:`_appIcon_4gumo_82`};function ui(e){let t=e.icon,n=`fcIcon`in e?e.fcIcon:void 0,r=t?.startsWith(`Fc`)||t?.startsWith(`Fi`)||t?.startsWith(`Vsc`);return{id:e.id,name:e.name,fcIcon:n??(r?t:void 0),icon:r?void 0:t,iconUrl:`iconUrl`in e?e.iconUrl:void 0,iconColor:`iconColor`in e?e.iconColor:void 0}}var di=({app:e,onOpen:t})=>{let n=ii(e.id);return(0,V.jsxs)(`button`,{className:li.appButton,onClick:()=>t(e.id),role:`menuitem`,"aria-label":n,children:[(0,V.jsx)(`span`,{className:li.appIcon,children:(0,V.jsx)(y.t,{fcIcon:e.fcIcon,iconUrl:e.iconUrl,fallback:e.icon,color:e.iconColor})}),(0,V.jsx)(g.o,{size:`sm`,children:n})]},e.id)},fi=({folder:e,isExpanded:t,apps:n,onToggle:r,onOpen:i})=>(0,V.jsx)(ci,{title:A.o(e),fcIcon:e.fcIcon,expanded:t,onToggle:r,children:n.map(e=>(0,V.jsx)(di,{app:e,onOpen:i},e.id))},e.id),pi=({fcIcon:e=`FcDebian`,onContextMenu:t})=>{let n=O.i(e,{size:22,style:{display:`block`}}),[r,i]=(0,B.useState)(!1),[a,o]=(0,B.useState)(``),l=E.t(),u=c.h(e=>e.theme.colors.taskbar),d=w.o(e=>e.launcherFolders),f=w.o(e=>e.customApps),{panelVariants:p}=ti(),m=(0,B.useRef)(null),h=(0,B.useRef)(null),{expanded:_,toggle:v,reset:y}=oi(new Set),b=(0,B.useMemo)(()=>[...w.C].sort((e,t)=>e.name.localeCompare(t.name)),[]),x=(0,B.useMemo)(()=>new Set(d.flatMap(e=>e.appIds)),[d]),S=ai((0,B.useMemo)(()=>b.filter(e=>!x.has(e.id)),[b,x]),a,e=>[e.id,e.name]),C=(0,B.useMemo)(()=>{if(!a.trim())return[...d].sort((e,t)=>e.isPredefined===t.isPredefined?e.name.localeCompare(t.name):e.isPredefined?-1:1);let e=a.toLowerCase();return d.map(t=>({...t,appIds:t.appIds.filter(t=>{let n=b.find(e=>e.id===t);return n?n.id.toLowerCase().includes(e)||n.name.toLowerCase().includes(e):!1})})).filter(e=>e.appIds.length>0).sort((e,t)=>e.isPredefined===t.isPredefined?e.name.localeCompare(t.name):e.isPredefined?-1:1)},[d,a,b]),D=(0,B.useMemo)(()=>{if(!a.trim())return f;let e=a.toLowerCase();return f.filter(t=>t.id.toLowerCase().includes(e)||t.name.toLowerCase().includes(e))},[f,a]);(0,B.useEffect)(()=>{a.trim()&&r&&(C.map(e=>e.id).forEach(e=>{_.has(e)||v(e)}),D.length>0&&!_.has(`launcher-folder-custom-apps`)&&v(w.J))},[a,C,D,r,_,v]),(0,B.useEffect)(()=>{r||y()},[r,y]),(0,B.useEffect)(()=>{if(!r)return;let e=e=>{m.current&&!m.current.contains(e.target)&&(i(!1),o(``))},t=e=>{e.key===`Escape`&&(i(!1),o(``))};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[r]);let k=e=>{if(e.preventDefault(),e.stopPropagation(),r){i(!1),o(``);return}t?.(e)};(0,B.useEffect)(()=>{r&&h.current&&h.current.focus()},[r]);let A=(0,B.useCallback)(e=>{l(e),i(!1),o(``)},[l]),j=(0,B.useCallback)(e=>{v(e)},[v]),M=O.i(`FcSearch`,{size:16}),N=(0,B.useCallback)(()=>{r?(i(!1),o(``)):i(!0)},[r]);return(0,V.jsxs)(`div`,{ref:m,children:[(0,V.jsx)(`button`,{className:li.trigger,onClick:N,onContextMenu:k,"aria-label":`Launcher`,"aria-expanded":r,children:n}),(0,V.jsx)(Bn,{children:r&&(0,V.jsxs)(T.r.div,{className:li.panel,style:{background:u},role:`menu`,"aria-label":`App launcher`,initial:p.initial,animate:p.animate,exit:p.exit,children:[(0,V.jsx)(`div`,{className:li.searchContainer,children:(0,V.jsx)(s.t,{ref:h,placeholder:`Search apps...`,value:a,onChange:e=>o(e.target.value),leftSection:M,size:`xs`,classNames:{input:li.searchInput},"aria-label":`Search apps`})}),(0,V.jsxs)(`div`,{className:li.scrollContainer,children:[C.map(e=>{let t=_.has(e.id);return e.id===`launcher-folder-custom-apps`?D.length===0?null:(0,V.jsx)(fi,{folder:e,isExpanded:t,apps:D.map(ui),onToggle:()=>j(e.id),onOpen:A},e.id):(0,V.jsx)(fi,{folder:e,isExpanded:t,apps:e.appIds.map(e=>b.find(t=>t.id===e)).filter(e=>e!==void 0).sort((e,t)=>e.name.localeCompare(t.name)).map(ui),onToggle:()=>j(e.id),onOpen:A},e.id)}),S.length>0&&(0,V.jsx)(`div`,{className:li.appsSection,children:S.map(e=>(0,V.jsx)(di,{app:ui(e),onOpen:A},e.id))}),a&&S.length===0&&C.length===0&&D.length===0&&(0,V.jsx)(g.o,{size:`sm`,c:`dimmed`,ta:`center`,mt:`md`,children:`No apps found`})]})]})})]})},mi=({x:e,y:t})=>(0,V.jsx)(a.r.Target,{children:(0,V.jsx)(`div`,{"aria-hidden":`true`,style:{position:`fixed`,left:e,top:t,width:0,height:0,pointerEvents:`none`}})}),hi=e=>{let t=(0,B.useRef)(null),[n,r]=(0,B.useState)(0);return(0,B.useLayoutEffect)(()=>{if(t.current&&e){let e=t.current.offsetHeight;r(e)}},[e]),{menuRef:t,menuHeight:n}},gi={menuItem:`_menuItem_18vno_1`},_i=8,vi=({windowMenuOpened:e,panelMenuOpened:t,launcherMenuOpened:n,menuPosition:r,targetWindowId:i,targetWindowState:o,onCloseWindow:s,onMinimizeWindow:c,onMaximizeWindow:l,onRestoreWindow:u,onClose:d})=>{let{t:f}=D.t(`contextMenu`),p={size:14,style:{display:`block`}},m=()=>O.i(`FcCancel`,p),h=()=>O.i(`FcMinus`,p),g=()=>O.i(`FcTemplate`,p),_=()=>O.i(`FcUndo`,p),v=()=>O.i(`FcSettings`,p),y=()=>O.i(`FcFolder`,p),b=E.t(),x=ii(`menuedit`),S=w.o(e=>e.openWindow),C=o===`minimized`,T=o===`maximized`,{menuRef:k,menuHeight:A}=hi(e),{menuRef:j,menuHeight:M}=hi(t),{menuRef:N,menuHeight:P}=hi(n),[F,I]=(0,B.useState)(!1),[L,ee]=(0,B.useState)(!1),[R,te]=(0,B.useState)(!1);(0,B.useLayoutEffect)(()=>{e||I(!1),e&&A>0&&I(!0)},[e,A]),(0,B.useLayoutEffect)(()=>{t||ee(!1),t&&M>0&&ee(!0)},[t,M]),(0,B.useLayoutEffect)(()=>{n||te(!1),n&&P>0&&te(!0)},[n,P]);let ne=(0,B.useMemo)(()=>e?{height:A,ready:F}:t?{height:M,ready:L}:n?{height:P,ready:R}:{height:0,ready:!1},[e,t,n,A,M,P,F,L,R]),z=(0,B.useMemo)(()=>{let{x:e,y:t}=r,{height:n,ready:i}=ne,a=t-_i;return i&&n>0&&t>window.innerHeight-48-n-_i&&(a=t-n+_i),{x:e,y:a}},[r,ne]),re=()=>{d(),S({title:x,content:`menuedit`,fcIcon:`FcFolder`,x:Math.min(r.x+10,window.innerWidth-800),y:Math.min(r.y+10,window.innerHeight-600),width:700,height:500,minWidth:500,minHeight:400})},ie=()=>{d(),b(`settings`)},ae=e=>({opacity:e?1:0,transition:`opacity 0.05s ease`,zIndex:99999});return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(a.r,{opened:e,onClose:d,closeOnClickOutside:!0,closeOnEscape:!0,closeOnItemClick:!0,withinPortal:!0,children:[(0,V.jsx)(mi,{x:z.x,y:z.y}),(0,V.jsxs)(a.r.Dropdown,{ref:k,style:ae(F),children:[!C&&(0,V.jsx)(a.r.Item,{onClick:()=>{i&&c(i)},children:(0,V.jsxs)(`div`,{className:gi.menuItem,children:[(0,V.jsx)(h,{}),` `,f(`window.minimize`)]})}),C||T?(0,V.jsx)(a.r.Item,{onClick:()=>{i&&u(i)},children:(0,V.jsxs)(`div`,{className:gi.menuItem,children:[(0,V.jsx)(_,{}),` `,f(`window.restore`)]})}):(0,V.jsx)(a.r.Item,{onClick:()=>{i&&l(i)},children:(0,V.jsxs)(`div`,{className:gi.menuItem,children:[(0,V.jsx)(g,{}),` `,f(`window.maximize`)]})}),(0,V.jsx)(a.r.Divider,{}),(0,V.jsx)(a.r.Item,{onClick:()=>{i&&s(i)},children:(0,V.jsxs)(`div`,{className:gi.menuItem,children:[(0,V.jsx)(m,{}),` `,f(`window.close`)]})})]})]}),(0,V.jsxs)(a.r,{opened:t,onClose:d,closeOnClickOutside:!0,closeOnEscape:!0,closeOnItemClick:!0,withinPortal:!0,children:[(0,V.jsx)(mi,{x:z.x,y:z.y}),(0,V.jsx)(a.r.Dropdown,{ref:j,style:ae(L),children:(0,V.jsx)(a.r.Item,{onClick:()=>{b(`settings`)},children:(0,V.jsxs)(`div`,{className:gi.menuItem,children:[(0,V.jsx)(v,{}),` `,f(`apps:names.settings`)]})})})]}),(0,V.jsxs)(a.r,{opened:n,onClose:d,closeOnClickOutside:!0,closeOnEscape:!0,closeOnItemClick:!0,withinPortal:!0,children:[(0,V.jsx)(mi,{x:z.x,y:z.y}),(0,V.jsxs)(a.r.Dropdown,{ref:N,style:ae(R),children:[(0,V.jsx)(a.r.Label,{children:f(`launcher.title`)}),(0,V.jsx)(a.r.Item,{leftSection:(0,V.jsx)(y,{}),onClick:re,children:f(`launcher.editLauncher`)}),(0,V.jsx)(a.r.Item,{leftSection:(0,V.jsx)(v,{}),onClick:ie,children:f(`apps:names.settings`)})]})]})]})},{slice:yi,forEach:bi}=[];function xi(e){return bi.call(yi.call(arguments,1),t=>{if(t)for(let n in t)e[n]===void 0&&(e[n]=t[n])}),e}function Si(e){return typeof e==`string`?[/<\s*script.*?>/i,/<\s*\/\s*script\s*>/i,/<\s*img.*?on\w+\s*=/i,/<\s*\w+\s*on\w+\s*=.*?>/i,/javascript\s*:/i,/vbscript\s*:/i,/expression\s*\(/i,/eval\s*\(/i,/alert\s*\(/i,/document\.cookie/i,/document\.write\s*\(/i,/window\.location/i,/innerHTML/i].some(t=>t.test(e)):!1}var Ci=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,wi=function(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{path:`/`},r=`${e}=${encodeURIComponent(t)}`;if(n.maxAge>0){let e=n.maxAge-0;if(Number.isNaN(e))throw Error(`maxAge should be a Number`);r+=`; Max-Age=${Math.floor(e)}`}if(n.domain){if(!Ci.test(n.domain))throw TypeError(`option domain is invalid`);r+=`; Domain=${n.domain}`}if(n.path){if(!Ci.test(n.path))throw TypeError(`option path is invalid`);r+=`; Path=${n.path}`}if(n.expires){if(typeof n.expires.toUTCString!=`function`)throw TypeError(`option expires is invalid`);r+=`; Expires=${n.expires.toUTCString()}`}if(n.httpOnly&&(r+=`; HttpOnly`),n.secure&&(r+=`; Secure`),n.sameSite)switch(typeof n.sameSite==`string`?n.sameSite.toLowerCase():n.sameSite){case!0:r+=`; SameSite=Strict`;break;case`lax`:r+=`; SameSite=Lax`;break;case`strict`:r+=`; SameSite=Strict`;break;case`none`:r+=`; SameSite=None`;break;default:throw TypeError(`option sameSite is invalid`)}return n.partitioned&&(r+=`; Partitioned`),r},Ti={create(e,t,n,r){let i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{path:`/`,sameSite:`strict`};n&&(i.expires=new Date,i.expires.setTime(i.expires.getTime()+n*60*1e3)),r&&(i.domain=r),document.cookie=wi(e,t,i)},read(e){let t=`${e}=`,n=document.cookie.split(`;`);for(let e=0;e<n.length;e++){let r=n[e];for(;r.charAt(0)===` `;)r=r.substring(1,r.length);if(r.indexOf(t)===0)return r.substring(t.length,r.length)}return null},remove(e,t){this.create(e,``,-1,t)}},Ei={name:`cookie`,lookup(e){let{lookupCookie:t}=e;if(t&&typeof document<`u`)return Ti.read(t)||void 0},cacheUserLanguage(e,t){let{lookupCookie:n,cookieMinutes:r,cookieDomain:i,cookieOptions:a}=t;n&&typeof document<`u`&&Ti.create(n,e,r,i,a)}},Di={name:`querystring`,lookup(e){let{lookupQuerystring:t}=e,n;if(typeof window<`u`){let{search:e}=window.location;!window.location.search&&window.location.hash?.indexOf(`?`)>-1&&(e=window.location.hash.substring(window.location.hash.indexOf(`?`)));let r=e.substring(1).split(`&`);for(let e=0;e<r.length;e++){let i=r[e].indexOf(`=`);i>0&&r[e].substring(0,i)===t&&(n=r[e].substring(i+1))}}return n}},Oi={name:`hash`,lookup(e){let{lookupHash:t,lookupFromHashIndex:n}=e,r;if(typeof window<`u`){let{hash:e}=window.location;if(e&&e.length>2){let i=e.substring(1);if(t){let e=i.split(`&`);for(let n=0;n<e.length;n++){let i=e[n].indexOf(`=`);i>0&&e[n].substring(0,i)===t&&(r=e[n].substring(i+1))}}if(r)return r;if(!r&&n>-1){let t=e.match(/\/([a-zA-Z-]*)/g);return Array.isArray(t)?t[typeof n==`number`?n:0]?.replace(`/`,``):void 0}}}return r}},ki=null,Ai=()=>{if(ki!==null)return ki;try{if(ki=typeof window<`u`&&window.localStorage!==null,!ki)return!1;let e=`i18next.translate.boo`;window.localStorage.setItem(e,`foo`),window.localStorage.removeItem(e)}catch{ki=!1}return ki},ji={name:`localStorage`,lookup(e){let{lookupLocalStorage:t}=e;if(t&&Ai())return window.localStorage.getItem(t)||void 0},cacheUserLanguage(e,t){let{lookupLocalStorage:n}=t;n&&Ai()&&window.localStorage.setItem(n,e)}},Mi=null,Ni=()=>{if(Mi!==null)return Mi;try{if(Mi=typeof window<`u`&&window.sessionStorage!==null,!Mi)return!1;let e=`i18next.translate.boo`;window.sessionStorage.setItem(e,`foo`),window.sessionStorage.removeItem(e)}catch{Mi=!1}return Mi},Pi={name:`sessionStorage`,lookup(e){let{lookupSessionStorage:t}=e;if(t&&Ni())return window.sessionStorage.getItem(t)||void 0},cacheUserLanguage(e,t){let{lookupSessionStorage:n}=t;n&&Ni()&&window.sessionStorage.setItem(n,e)}},Fi={name:`navigator`,lookup(e){let t=[];if(typeof navigator<`u`){let{languages:e,userLanguage:n,language:r}=navigator;if(e)for(let n=0;n<e.length;n++)t.push(e[n]);n&&t.push(n),r&&t.push(r)}return t.length>0?t:void 0}},Ii={name:`htmlTag`,lookup(e){let{htmlTag:t}=e,n,r=t||(typeof document<`u`?document.documentElement:null);return r&&typeof r.getAttribute==`function`&&(n=r.getAttribute(`lang`)),n}},Li={name:`path`,lookup(e){let{lookupFromPathIndex:t}=e;if(typeof window>`u`)return;let n=window.location.pathname.match(/\/([a-zA-Z-]*)/g);if(Array.isArray(n))return n[typeof t==`number`?t:0]?.replace(`/`,``)}},Ri={name:`subdomain`,lookup(e){let{lookupFromSubdomainIndex:t}=e,n=typeof t==`number`?t+1:1,r=typeof window<`u`&&window.location?.hostname?.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i);if(r)return r[n]}},zi=!1;try{document.cookie,zi=!0}catch{}var Bi=[`querystring`,`cookie`,`localStorage`,`sessionStorage`,`navigator`,`htmlTag`];zi||Bi.splice(1,1);var Vi=()=>({order:Bi,lookupQuerystring:`lng`,lookupCookie:`i18next`,lookupLocalStorage:`i18nextLng`,lookupSessionStorage:`i18nextLng`,caches:[`localStorage`],excludeCacheFor:[`cimode`],convertDetectedLanguage:e=>e}),Hi=class{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.type=`languageDetector`,this.detectors={},this.init(e,t)}init(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{languageUtils:{}},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=e,this.options=xi(t,this.options||{},Vi()),typeof this.options.convertDetectedLanguage==`string`&&this.options.convertDetectedLanguage.indexOf(`15897`)>-1&&(this.options.convertDetectedLanguage=e=>e.replace(`-`,`_`)),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=n,this.addDetector(Ei),this.addDetector(Di),this.addDetector(ji),this.addDetector(Pi),this.addDetector(Fi),this.addDetector(Ii),this.addDetector(Li),this.addDetector(Ri),this.addDetector(Oi)}addDetector(e){return this.detectors[e.name]=e,this}detect(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.options.order,t=[];return e.forEach(e=>{if(this.detectors[e]){let n=this.detectors[e].lookup(this.options);n&&typeof n==`string`&&(n=[n]),n&&(t=t.concat(n))}}),t=t.filter(e=>e!=null&&!Si(e)).map(e=>this.options.convertDetectedLanguage(e)),this.services&&this.services.languageUtils&&this.services.languageUtils.getBestMatchFromCodes?t:t.length>0?t[0]:null}cacheUserLanguage(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.options.caches;t&&(this.options.excludeCacheFor&&this.options.excludeCacheFor.indexOf(e)>-1||t.forEach(t=>{this.detectors[t]&&this.detectors[t].cacheUserLanguage(e,this.options)}))}};Hi.type=`languageDetector`;var Ui={actions:{save:`Save`,saveAs:`Save As`,cancel:`Cancel`,ok:`OK`,open:`Open`,close:`Close`,delete:`Delete`,create:`Create`,new:`New`,exit:`Exit`,apply:`Apply`,discard:`Discard`,reset:`Reset`,download:`Download`,upload:`Upload`,copy:`Copy`,cut:`Cut`,paste:`Paste`,undo:`Undo`,redo:`Redo`,createFolder:`Create folder`,createFile:`Create new file`,select:`Select`},buttons:{minimize:`Minimize`,maximize:`Maximize`,restore:`Restore`,close:`Close`,yes:`Yes`,no:`No`,confirm:`Confirm`,continue:`Continue`},labels:{name:`Name`,title:`Title`,filename:`Filename`,url:`URL`,file:`File`,folder:`Folder`,home:`Home`,type:`Type`,loading:`Loading...`,search:`Search`,searchIcons:`Search icons...`,unsavedChanges:`Unsaved Changes`,unsaved:`Unsaved changes`,workInProgress:`Work In Progress`},messages:{areYouSure:`Are you sure?`,cannotBeUndone:`This action cannot be undone.`,noFileSelected:`No file selected`,folderEmpty:`This folder is empty`,noMatchingFiles:`No matching files`,noSubfolders:`No subfolders`,replaceFile:`Replace file?`,replaceFileMessage:`A file named "{{name}}" already exists. Do you want to replace it?`,yesReplace:`Yes, replace`,forBetterExperience:`For a better experience use this app desktop OR horizontal mode`,turnYourDevice:`Turn your device`,continueVertically:`Continue vertically?`},theme:{light:`Light`,dark:`Dark`,system:`System`,custom:`Custom`,switchToLight:`Switch to light mode`,switchToDark:`Switch to dark mode`},status:{error:`error`,success:`success`},menu:{file:`File`,edit:`Edit`,view:`View`},filePicker:{folderTreeAria:`Folder tree`,filesAria:`Files`,foldersAria:`Folders`,cancelAria:`Cancel`,openSelectedAria:`Open selected file`,fileNameAria:`File name`},externalLink:{securityMessage:`blocks embedding in iframes for security reasons.`,goToProfile:`Click below to go to my {{name}} profile.`},taskbar:{ariaLabel:`Taskbar`},launcher:{label:`Launcher`,ariaLabel:`App launcher`,selectedIcon:`Selected: {{icon}}`}},Wi={names:{notepad:`Notepad`,terminal:`Terminal`,filesApp:`Files`,files:`Files`,uploader:`Uploader`,settings:`Settings`,pdfViewer:`PDF Viewer`,calendar:`Calendar`,storybook:`Storybook`,linkedin:`LinkedIn`,github:`GitHub`,imageViewer:`Image Viewer`,dosEmulator:`DOS Emulator`,doom:`DOOM`,deviceInfo:`Device Info`,welcome:`Welcome`,menuedit:`Edit Launcher`,codeServer:`VS Code`},folders:{socialLinks:`Social Links`,office:`Office and media`,programming:`Programming`,games:`Games`,customApps:`Custom Apps`},descriptions:{notepad:`Markdown editor with rich text toolbar`,terminal:`Terminal emulator`,filesApp:`File explorer`,settings:`System settings`,pdfViewer:`PDF document viewer`,calendar:`Calendar view`,storybook:`Storybook playground`,linkedin:`LinkedIn profile link`,github:`GitHub profile link`,imageViewer:`Image viewer with file picker`,dosEmulator:`DOS game and program emulator`,doom:`Play the classic DOOM game`},launcher:{label:`Launcher`,ariaLabel:`App launcher`},imageViewer:{noImage:`No image to display. Please open one.`,fitToWindow:`Fit to window`,zoom:`Zoom`},pdf:{viewer:`PDF viewer`},dosEmulator:{noBundle:`No DOS program loaded. Open a .jsdos bundle to start.`,loading:`Loading DOS emulator...`,controls:{pause:`Pause`,resume:`Resume`,restart:`Restart`,mute:`Mute`,unmute:`Unmute`,fullscreen:`Fullscreen`},menu:{file:`File`,open:`Open Bundle`,restart:`Restart`,exit:`Exit`,emulation:`Emulation`,pause:`Pause`,resume:`Resume`,audio:`Audio`,mute:`Mute`,unmute:`Unmute`,volume:`Volume`},errors:{failedToLoad:`Failed to load DOS bundle`,notSupported:`DOS emulation is not supported in this browser`}},uploader:{clickToUpload:`Click here to upload`,selectDestination:`Select destination folder`,fileInfo:`File: {{name}} ({{size}})`,uploading:`Uploading...`,uploadProgress:`Upload progress`,uploadComplete:`Upload complete!`,uploadFailed:`Upload wasn't successful for the following reason`,readyToUpload:`Ready to upload`,showFile:`Show in Files`,openFile:`Open file`,upload:`Upload`,stepSelect:`Select`,stepDestination:`Destination`,stepUpload:`Upload`,stepDone:`Done`,folderSelected:`Folder selected`,uploadTo:`Destination`,uploadToRoot:`Uploading to root folder`},terminal:{notAvailable:`Terminal Not Available`,notAvailableMessage:`The terminal cannot be used because this environment does not currently allow terminal access.`,dockerRequired:`Please run in Docker mode to use the terminal.`,offlineTitle:`Terminal Unavailable`,offlineMessage:`The terminal requires a Docker environment to function. It connects directly to the container's shell.`,offlineInstructions:`To use the terminal, run the application in Docker mode:`,dockerCommand:`docker compose up dev`,openWelcome:`Open Welcome App`,connecting:`Connecting...`,connected:`Connected`,disconnected:`Disconnected`,connectionError:`Connection error`,menu:{edit:`Edit`,copy:`Copy`,paste:`Paste`,clear:`Clear`,reset:`Reset`,reconnect:`Reconnect`,exit:`Exit`},scrollback:`Lines`,shell:`Shell`},codeServer:{notAvailable:`VS Code Not Available`,notAvailableMessage:`VS Code (code-server) cannot be used in browser mode.`,dockerRequired:`Please run in Docker to use VS Code.`}},Gi={sections:{wallpaper:{label:`Wallpaper`,description:`Change the desktop background image.`},appearance:{label:`Appearance`,description:`Switch between light and dark mode.`},launcher:{label:`Launcher`,description:`Choose the launcher button icon.`},font:{label:`Font`,description:`Select the system font family.`},reset:{label:`Reset to Default`,description:`Reset all settings and data to defaults.`},language:{label:`Language`,description:`Choose your preferred language.`}},wallpaper:{title:`Wallpaper`,wallpaperType:`Wallpaper Type`,staticImage:`Static Image`,chooseFromImages:`Choose from Images`,uploadFromDisk:`Upload from disk`,resetToDefault:`Reset to default`,orEnterUrl:`Or enter a URL`,wallpaperPreview:`Wallpaper preview`},appearance:{title:`Appearance`,description:`Choose whether the desktop uses a light or dark theme, or follows the system preference.`,taskbar:`Taskbar`,window:`Window`,accent:`Accent`,animationDuration:`Animation Duration`,animationDescription:`Controls the speed of window open/close animations (0.1s - 1.0s) must save to see changes.`},font:{title:`Font`,description:`Changes the font across the entire desktop interface. Fonts must be downloaded before use.`,download:`Download`,fontSize:`Font Size`,downloadByName:`Download a font by name`,fromGoogleFonts:`(From Google Fonts)`,downloadError:`Font didn't download successfully. Try again with the correct name`,downloadSuccess:`Downloaded successfully.`,systemDefault:`System Default`},reset:{title:`Reset to Default`,description:`Reset all settings and data to their default values. This action cannot be undone.`,resetButton:`⚠️ Reset app to defaults?`,modalTitle:`Are you sure?`,modalDescription:`This will erase all your data and settings.`,goBack:`Please go back! 🙏`,burnEverything:`Yes, burn everything! 🔥`,keepFiles:`Yes, but keep my files`},language:{title:`Language`,description:`Select your preferred language for the desktop interface.`,selectPlaceholder:`Select language`,english:`English`,spanish:`Español`},all:`All Settings`},Ki={window:{title:`Window`,minimize:`Minimize`,maximize:`Maximize`,restore:`Restore`,close:`Close`,ariaLabels:{minimize:`Minimize`,maximize:`Maximize`,restore:`Restore`,close:`Close`}},unsavedModal:{title:`Unsaved Changes`,message:`You have unsaved changes. What would you like to do?`,dontSave:`Don't Save`,save:`Save`},fileDialog:{openFile:`Open file`,saveFile:`Save file`,selectFile:`Select file {{name}}`,openFolder:`Open folder {{name}}`,selectFolder:`Select folder`,filename:`filename.md`}},qi={window:{minimize:`Minimize`,restore:`Restore`,maximize:`Maximize`,close:`Close window`},actions:{cut:`Cut`,copy:`Copy`,paste:`Paste`,pasteItems:`Paste ({{count}} items)`,delete:`Delete`,createFolder:`Create folder`,createFile:`Create new file`},createItem:{folderTitle:`Create Folder`,fileTitle:`Create File`,newFolder:`New Folder`,newFile:`New File`,nameError:`There is already a {{mode}} with that name`,clearNameAria:`Clear name`,customIcon:`Choose custom icon or color`,colorError:`Enter a valid hex color (e.g. #ff0000)`,changeLater:`You can change the icon later in folder properties.`},deleteConfirm:{title:`Delete "{{name}}"?`,message:`Are you sure you want to delete "{{name}}"? This action cannot be undone.`},app:{open:`Open {{name}}`,toggleTheme:`Toggle Theme`},sort:{title:`Sort Icons`,default:`Default`,nameAsc:`Name (A-Z)`,nameDesc:`Name (Z-A)`,byType:`By Type`},launcher:{title:`Launcher`,editLauncher:`Edit Launcher`}},Ji={empty:{title:`There are no new notifications`,message:`For now`},taskbar:{showNotifications:`Show notifications`,hideNotifications:`Hide notifications`,clock:`clock`}},Yi={toolbar:{formatting:`Text formatting`,bold:`Bold`,italic:`Italic`,strikethrough:`Strikethrough`,inlineCode:`Inline code`,heading1:`Heading 1`,heading2:`Heading 2`,bulletList:`Bullet list`,orderedList:`Ordered list`,blockquote:`Blockquote`,codeBlock:`Code block`,horizontalRule:`Horizontal rule`},untitled:`untitled.md`},Xi={hero:{title:`Fullstack Developer & DevOps`,downloadCV:`Download CV`,contactMe:`Contact Me`},skills:{technical:`Technical Skills`,soft:`Soft Skills`},experience:`Professional Experience`,techStack:`Tech Stack`,languages:`Languages`},Zi={title:`Edit Launcher`,newFolder:`New Folder`,predefined:`Predefined`,rename:`Rename`,delete:`Delete`,predefinedFolders:`Predefined Folders`,customFolders:`Custom Folders`,availableApps:`Available Apps (drag and drop to add to folder)`,clickToAdd:`Click to add to first custom folder`,addFolder:`Add folder`,instructions:`Right-click an app in a folder to remove it. Click an available app to add it to the first custom folder.`,canCreateNewFolder:`You can create new folders if needed.`},Qi={actions:{save:`Guardar`,saveAs:`Guardar como`,cancel:`Cancelar`,ok:`Aceptar`,open:`Abrir`,close:`Cerrar`,delete:`Eliminar`,create:`Crear`,new:`Nuevo`,exit:`Salir`,apply:`Aplicar`,discard:`Descartar`,reset:`Restablecer`,download:`Descargar`,upload:`Subir`,copy:`Copiar`,cut:`Cortar`,paste:`Pegar`,undo:`Deshacer`,redo:`Rehacer`,createFolder:`Crear carpeta`,createFile:`Crear nuevo archivo`,select:`Seleccionar`},buttons:{minimize:`Minimizar`,maximize:`Maximizar`,restore:`Restaurar`,close:`Cerrar`,yes:`Sí`,no:`No`,confirm:`Confirmar`,continue:`Continuar`},labels:{name:`Nombre`,title:`Título`,filename:`Nombre de archivo`,url:`URL`,file:`Archivo`,folder:`Carpeta`,home:`Inicio`,type:`Tipo`,loading:`Cargando...`,search:`Buscar`,searchIcons:`Buscar iconos...`,unsavedChanges:`Cambios sin guardar`,unsaved:`Cambios sin guardar`,workInProgress:`Trabajo en progreso`},messages:{areYouSure:`¿Estás seguro?`,cannotBeUndone:`Esta acción no se puede deshacer.`,noFileSelected:`Ningún archivo seleccionado`,folderEmpty:`Esta carpeta está vacía`,noMatchingFiles:`No hay archivos coincidentes`,noSubfolders:`Sin subcarpetas`,replaceFile:`¿Reemplazar archivo?`,replaceFileMessage:`Ya existe un archivo llamado "{{name}}". ¿Deseas reemplazarlo?`,yesReplace:`Sí, reemplazar`,forBetterExperience:`Para una mejor experiencia usa esta aplicación en modo escritorio u horizontal`,turnYourDevice:`Gira tu dispositivo`,continueVertically:`¿Continuar verticalmente?`},theme:{light:`Claro`,dark:`Oscuro`,system:`Sistema`,custom:`Personalizado`,switchToLight:`Cambiar a modo claro`,switchToDark:`Cambiar a modo oscuro`},status:{error:`error`,success:`éxito`},menu:{file:`Archivo`,edit:`Editar`,view:`Ver`},filePicker:{folderTreeAria:`Árbol de carpetas`,filesAria:`Archivos`,foldersAria:`Carpetas`,cancelAria:`Cancelar`,openSelectedAria:`Abrir archivo seleccionado`,fileNameAria:`Nombre de archivo`},externalLink:{securityMessage:`bloquea la incrustación en iframes por razones de seguridad.`,goToProfile:`Haz clic abajo para ir a mi perfil de {{name}}.`},taskbar:{ariaLabel:`Barra de tareas`},launcher:{label:`Lanzador`,ariaLabel:`Lanzador de aplicaciones`,selectedIcon:`Seleccionado: {{icon}}`}},$i={names:{notepad:`Bloc de notas`,terminal:`Terminal`,filesApp:`Archivos`,files:`Archivos`,uploader:`Subida de archivos`,settings:`Ajustes`,pdfViewer:`Visor PDF`,calendar:`Calendario`,storybook:`Storybook`,linkedin:`LinkedIn`,github:`GitHub`,imageViewer:`Visor de imágenes`,dosEmulator:`Emulador DOS`,doom:`DOOM`,deviceInfo:`Info del dispositivo`,welcome:`Bienvenido`,menuedit:`Editar lanzador`,codeServer:`VS Code`},folders:{socialLinks:`Enlaces sociales`,office:`Oficina y medios`,programming:`Programación`,games:`Juegos`,customApps:`Aplicaciones personalizadas`},descriptions:{notepad:`Editor Markdown con barra de herramientas`,terminal:`Emulador de terminal`,filesApp:`Explorador de archivos`,settings:`Ajustes del sistema`,pdfViewer:`Visor de documentos PDF`,calendar:`Vista de calendario`,storybook:`Zona de pruebas Storybook`,linkedin:`Enlace al perfil de LinkedIn`,github:`Enlace al perfil de GitHub`,imageViewer:`Visor de imágenes con selector de archivos`,dosEmulator:`Emulador de juegos y programas DOS`,doom:`Juega al clásico DOOM`},launcher:{label:`Lanzador`,ariaLabel:`Lanzador de aplicaciones`},imageViewer:{noImage:`Sin imagen para mostrar. Por favor, abre una.`,fitToWindow:`Ajustar a ventana`,zoom:`Zoom`},pdf:{viewer:`Visor PDF`},dosEmulator:{noBundle:`Ningún programa DOS cargado. Abre un bundle .jsdos para comenzar.`,loading:`Cargando emulador DOS...`,controls:{pause:`Pausar`,resume:`Reanudar`,restart:`Reiniciar`,mute:`Silenciar`,unmute:`Activar sonido`,fullscreen:`Pantalla completa`},menu:{file:`Archivo`,open:`Abrir Bundle`,restart:`Reiniciar`,exit:`Salir`,emulation:`Emulación`,pause:`Pausar`,resume:`Reanudar`,audio:`Audio`,mute:`Silenciar`,unmute:`Activar sonido`,volume:`Volumen`},errors:{failedToLoad:`Error al cargar el bundle DOS`,notSupported:`La emulación DOS no está soportada en este navegador`}},uploader:{clickToUpload:`Haz clic aquí para subir`,selectDestination:`Seleccionar carpeta destino`,fileInfo:`Archivo: {{name}} ({{size}})`,uploading:`Subiendo...`,uploadProgress:`Progreso de subida`,uploadComplete:`¡Subida completada!`,uploadFailed:`La subida no fue exitosa por la siguiente razón`,readyToUpload:`Listo para subir`,showFile:`Mostrar en Archivos`,openFile:`Abrir archivo`,upload:`Subir`,stepSelect:`Seleccionar`,stepDestination:`Destino`,stepUpload:`Subir`,stepDone:`Listo`,folderSelected:`Carpeta seleccionada`,uploadTo:`Destino`,uploadToRoot:`Subiendo a la carpeta raíz`},terminal:{notAvailable:`Terminal no disponible`,notAvailableMessage:`La terminal no puede usarse porque este entorno no permite actualmente el acceso a terminal.`,dockerRequired:`Por favor, ejecuta en modo Docker para usar la terminal.`,offlineTitle:`Terminal no disponible`,offlineMessage:`La terminal requiere un entorno Docker para funcionar. Se conecta directamente al shell del contenedor.`,offlineInstructions:`Para usar la terminal, ejecuta la aplicación en modo Docker:`,dockerCommand:`docker compose up dev`,openWelcome:`Abrir Bienvenida`,connecting:`Conectando...`,connected:`Conectado`,disconnected:`Desconectado`,connectionError:`Error de conexión`,menu:{edit:`Editar`,copy:`Copiar`,paste:`Pegar`,clear:`Limpiar`,reset:`Reiniciar`,reconnect:`Reconectar`,exit:`Salir`},scrollback:`Líneas`,shell:`Shell`},codeServer:{notAvailable:`VS Code no disponible`,notAvailableMessage:`VS Code (code-server) no puede usarse en modo navegador.`,dockerRequired:`Por favor, ejecuta la aplicación en Docker para usar VS Code.`}},ea={sections:{wallpaper:{label:`Fondo de pantalla`,description:`Cambia la imagen de fondo del escritorio.`},appearance:{label:`Apariencia`,description:`Cambia entre modo claro y oscuro.`},launcher:{label:`Lanzador`,description:`Elige el icono del botón del lanzador.`},font:{label:`Fuente`,description:`Selecciona la familia de fuentes del sistema.`},reset:{label:`Restablecer`,description:`Restaura todos los ajustes y datos a sus valores por defecto.`},language:{label:`Idioma`,description:`Elige tu idioma preferido.`}},wallpaper:{title:`Fondo de pantalla`,wallpaperType:`Tipo de fondo`,staticImage:`Imagen estática`,chooseFromImages:`Elegir de imágenes`,uploadFromDisk:`Subir desde disco`,resetToDefault:`Restablecer por defecto`,orEnterUrl:`O introduce una URL`,wallpaperPreview:`Vista previa del fondo`},appearance:{title:`Apariencia`,description:`Elige si el escritorio usa un tema claro u oscuro, o sigue la preferencia del sistema.`,taskbar:`Barra de tareas`,window:`Ventana`,accent:`Acento`,animationDuration:`Duración de animación`,animationDescription:`Controla la velocidad de las animaciones de abrir/cerrar ventanas (0.1s - 1.0s), debes guardar para ver los cambios.`},font:{title:`Fuente`,description:`Cambia la fuente en toda la interfaz del escritorio. Las fuentes deben descargarse antes de usar.`,download:`Descargar`,fontSize:`Tamaño de fuente`,downloadByName:`Descargar una fuente por nombre`,fromGoogleFonts:`(Desde Google Fonts)`,downloadError:`La fuente no se descargó correctamente. Intenta de nuevo con el nombre correcto`,downloadSuccess:`Descargada correctamente.`,systemDefault:`Sistema por defecto`},reset:{title:`Restablecer`,description:`Restaura todos los ajustes y datos a sus valores por defecto. Esta acción no se puede deshacer.`,resetButton:`⚠️ ¿Restablecer la app?`,modalTitle:`¿Estás seguro?`,modalDescription:`Esto borrará todos tus datos y ajustes.`,goBack:`¡Por favor vuelve atrás! 🙏`,burnEverything:`¡Sí, quémalo todo! 🔥`,keepFiles:`Sí, pero mantener mis archivos`},language:{title:`Idioma`,description:`Selecciona tu idioma preferido para la interfaz del escritorio.`,selectPlaceholder:`Selecciona idioma`,english:`English`,spanish:`Español`},all:`Todos los ajustes`},ta={window:{title:`Ventana`,minimize:`Minimizar`,maximize:`Maximizar`,restore:`Restaurar`,close:`Cerrar`,ariaLabels:{minimize:`Minimizar`,maximize:`Maximizar`,restore:`Restaurar`,close:`Cerrar`}},unsavedModal:{title:`Cambios sin guardar`,message:`Tienes cambios sin guardar. ¿Qué deseas hacer?`,dontSave:`No guardar`,save:`Guardar`},fileDialog:{openFile:`Abrir archivo`,saveFile:`Guardar archivo`,selectFile:`Seleccionar archivo {{name}}`,openFolder:`Abrir carpeta {{name}}`,selectFolder:`Seleccionar carpeta`,filename:`nombre.md`}},na={window:{minimize:`Minimizar`,restore:`Restaurar`,maximize:`Maximizar`,close:`Cerrar ventana`},actions:{cut:`Cortar`,copy:`Copiar`,paste:`Pegar`,pasteItems:`Pegar ({{count}} elementos)`,delete:`Eliminar`,createFolder:`Crear carpeta`,createFile:`Crear nuevo archivo`},createItem:{folderTitle:`Crear Carpeta`,fileTitle:`Crear Archivo`,newFolder:`Nueva Carpeta`,newFile:`Nuevo Archivo`,nameError:`Ya existe un {{mode}} con ese nombre`,clearNameAria:`Limpiar nombre`,customIcon:`Elige icono o color personalizado`,colorError:`Introduce un color hexadecimal válido (ej. #ff0000)`,changeLater:`Puedes cambiar el icono más tarde en las propiedades de la carpeta.`},deleteConfirm:{title:`¿Eliminar "{{name}}"?`,message:`¿Estás seguro de que quieres eliminar "{{name}}"? Esta acción no se puede deshacer.`},app:{open:`Abrir {{name}}`,toggleTheme:`Cambiar Tema`},sort:{title:`Ordenar Iconos`,default:`Por defecto`,nameAsc:`Nombre (A-Z)`,nameDesc:`Nombre (Z-A)`,byType:`Por Tipo`},launcher:{title:`Launcher`,editLauncher:`Editar Launcher`}},ra={empty:{title:`No hay notificaciones nuevas`,message:`Por ahora`},taskbar:{showNotifications:`Mostrar notificaciones`,hideNotifications:`Ocultar notificaciones`,clock:`reloj`}},ia={toolbar:{formatting:`Formato de texto`,bold:`Negrita`,italic:`Cursiva`,strikethrough:`Tachado`,inlineCode:`Código en línea`,heading1:`Título 1`,heading2:`Título 2`,bulletList:`Lista con viñetas`,orderedList:`Lista ordenada`,blockquote:`Cita`,codeBlock:`Bloque de código`,horizontalRule:`Línea horizontal`},untitled:`sin-titulo.md`},aa={hero:{title:`Fullstack Developer & DevOps`,downloadCV:`Descargar CV`,contactMe:`Contactar`},skills:{technical:`Habilidades Técnicas`,soft:`Habilidades Blandas`},experience:`Experiencia Profesional`,techStack:`Stack Tecnológico`,languages:`Idiomas`},oa={newFolder:`Nueva Carpeta`,predefined:`Predefinida`,rename:`Renombrar`,delete:`Eliminar`,predefinedFolders:`Carpetas Predefinidas`,customFolders:`Carpetas Personalizadas`,availableApps:`Apps Disponibles (arrastrar y soltar para añadir a carpetas)`,clickToAdd:`Clic para añadir a la primera carpeta personalizada`,addFolder:`Añadir carpeta`,instructions:`Clic derecho en una app dentro de una carpeta para eliminarla. Clic en una app disponible para añadirla a la primera carpeta personalizada.`,canCreateNewFolder:`Puedes crear una nueva carpeta si lo necesitas.`},sa=[`en`,`es`];J.use(Hi).use(D.r).init({resources:{en:{common:Ui,apps:Wi,settings:Gi,window:Ki,contextMenu:qi,notifications:Ji,notes:Yi,welcome:Xi,menuedit:Zi},es:{common:Qi,apps:$i,settings:ea,window:ta,contextMenu:na,notifications:ra,notes:ia,welcome:aa,menuedit:oa}},fallbackLng:`en`,supportedLngs:sa,ns:[`common`,`apps`,`settings`,`window`,`contextMenu`,`notifications`,`notes`,`welcome`,`menuedit`],defaultNS:`common`,interpolation:{escapeValue:!1},detection:{order:[`localStorage`,`navigator`],lookupLocalStorage:`fde-desktop:language`,caches:[`localStorage`]}});var ca=J,la={root:`_root_17um1_1`,windowButton:`_windowButton_17um1_15`,systemTray:`_systemTray_17um1_44`,themeToggle:`_themeToggle_17um1_51`,clock:`_clock_17um1_70`,notifButton:`_notifButton_17um1_88`,langButton:`_langButton_17um1_109`},ua={en:`English`,es:`Español`},da=()=>{let{t:e,i18n:t}=D.t(`settings`),n=c.h(e=>e.language),r=c.h(e=>e.setLanguage),[i,a]=(0,B.useState)(!1),s=(0,B.useCallback)(e=>{r(e),t.changeLanguage(e),localStorage.setItem(`fde-desktop:language`,e),a(!1)},[r,t]);return(0,V.jsxs)(o.n,{opened:i,onChange:a,position:`top-end`,shadow:`md`,withArrow:!0,children:[(0,V.jsx)(o.n.Target,{children:(0,V.jsx)(f.t,{className:la.langButton,onClick:()=>a(e=>!e),"aria-label":e(`language.selectPlaceholder`),"aria-expanded":i,children:(0,V.jsx)(c.p,{lang:n,size:16})})}),(0,V.jsx)(o.n.Dropdown,{children:(0,V.jsx)(C.t,{gap:`xs`,children:sa.map(e=>(0,V.jsx)(f.t,{onClick:()=>s(e),"aria-label":ua[e],"aria-pressed":e===n,style:{padding:`8px 12px`,borderRadius:6,width:`100%`,background:e===n?`var(--mantine-primary-color-light)`:`transparent`,cursor:`pointer`},children:(0,V.jsxs)(h.t,{gap:`sm`,children:[(0,V.jsx)(c.p,{lang:e,size:20}),(0,V.jsx)(g.o,{size:`sm`,fw:e===n?600:400,children:ua[e]})]})},e))})})]})},fa=({win:e,onClick:t,onContextMenu:n})=>{let r=(0,B.useRef)(null),{register:i,unregister:a}=Jn();return(0,B.useEffect)(()=>(r.current&&i(e.id,r.current.getBoundingClientRect()),()=>a(e.id)),[e.id,i,a]),(0,V.jsxs)(`button`,{ref:r,className:la.windowButton,"data-active":e.state===`minimized`?`false`:`true`,onClick:t,onContextMenu:n,"aria-label":e.title,children:[(0,V.jsx)(y.t,{fcIcon:e.fcIcon,iconUrl:e.iconUrl,fallback:e.icon,size:14,color:e.iconColor}),(0,V.jsx)(g.o,{size:`xs`,truncate:!0,children:e.title})]})},pa=({calendarSlot:e})=>{let{t}=D.t(`notifications`),n=c.h(e=>e.theme.colors.taskbar),r=c.h(e=>e.theme.mode),i=c.h(e=>e.toggleTheme),a=c.h(e=>e.launcherIcon),s=w.o(e=>e.notifications),l=w.o(e=>e.removeNotification),u=w.o(e=>e.windows),d=w.o(e=>e.restoreWindow),f=w.o(e=>e.minimizeWindow),p=w.o(e=>e.focusWindow),m=w.o(e=>e.closeWindow),h=w.o(e=>e.maximizeWindow),_=Zr(),[v,b]=(0,B.useState)(!1),[x,S]=(0,B.useState)(!1),{position:C,targetWindowId:T,windowMenuOpened:E,panelMenuOpened:O,launcherMenuOpened:k,openWindowMenu:A,openPanelMenu:j,openLauncherMenu:M,closeMenu:N}=ei(),P=T?u.find(e=>e.id===T)?.state??null:null,F=(0,B.useRef)(0);(0,B.useEffect)(()=>{s.length>F.current&&setTimeout(()=>S(!0),0),F.current=s.length},[s.length]);let I=u.filter(e=>e.isOpen),L=(e,t)=>{t===`minimized`?(d(e),p(e)):f(e)};return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`div`,{className:la.root,style:{background:n},role:`toolbar`,"aria-label":`Taskbar`,onContextMenu:j,children:[(0,V.jsx)(pi,{fcIcon:a,onContextMenu:M}),I.map(e=>(0,V.jsx)(fa,{win:e,onClick:()=>L(e.id,e.state),onContextMenu:t=>A(t,e.id)},e.id)),(0,V.jsxs)(`div`,{className:la.systemTray,"data-testid":`system-tray`,children:[(0,V.jsxs)(o.n,{opened:x,onChange:S,position:`top-end`,shadow:`md`,withArrow:!0,keepMounted:!0,children:[(0,V.jsx)(o.n.Target,{children:(0,V.jsx)(`button`,{className:la.notifButton,onClick:()=>S(e=>!e),"aria-label":t(x?`taskbar.hideNotifications`:`taskbar.showNotifications`),children:(0,V.jsx)(y.t,{fcIcon:x?`FcCollapse`:`FcExpand`,size:18})})}),(0,V.jsx)(o.n.Dropdown,{style:{background:`transparent`,border:`none`,padding:0},children:(0,V.jsx)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:8,minWidth:300},children:s.length===0?(0,V.jsx)(Tn,{title:t(`empty.title`),onClose:()=>S(!1),children:t(`empty.message`)}):s.map(e=>(0,V.jsx)(Tn,{withBorder:!0,icon:e.fcIcon?(0,V.jsx)(y.t,{fcIcon:e.fcIcon,size:18}):void 0,title:e.title,onClose:()=>{l(e.id),e.onClose?.()},children:e.message},e.id))})})]}),(0,V.jsx)(da,{}),(0,V.jsx)(`button`,{className:la.themeToggle,onClick:i,"aria-label":t(r===`dark`?`theme.switchToLight`:`theme.switchToDark`,{ns:`common`}),title:t(r===`dark`?`theme.switchToLight`:`theme.switchToDark`,{ns:`common`}),children:r===`dark`?`☀️`:`🌙`}),(0,V.jsxs)(o.n,{opened:v,onChange:b,position:`top-end`,shadow:`md`,withArrow:!0,children:[(0,V.jsx)(o.n.Target,{children:(0,V.jsx)(`button`,{className:la.clock,onClick:()=>b(e=>!e),"aria-label":t(`taskbar.clock`),"aria-expanded":v,children:(0,V.jsx)(g.o,{size:`xs`,children:_})})}),(0,V.jsx)(o.n.Dropdown,{children:e})]})]})]}),(0,V.jsx)(vi,{windowMenuOpened:E,panelMenuOpened:O,launcherMenuOpened:k,menuPosition:C,targetWindowId:T,targetWindowState:P,onCloseWindow:m,onMinimizeWindow:f,onMaximizeWindow:h,onRestoreWindow:d,onClose:N})]})},ma=e.t((e=>{var t=typeof Symbol==`function`&&Symbol.for,n=t?Symbol.for(`react.element`):60103,r=t?Symbol.for(`react.portal`):60106,i=t?Symbol.for(`react.fragment`):60107,a=t?Symbol.for(`react.strict_mode`):60108,o=t?Symbol.for(`react.profiler`):60114,s=t?Symbol.for(`react.provider`):60109,c=t?Symbol.for(`react.context`):60110,l=t?Symbol.for(`react.async_mode`):60111,u=t?Symbol.for(`react.concurrent_mode`):60111,d=t?Symbol.for(`react.forward_ref`):60112,f=t?Symbol.for(`react.suspense`):60113,p=t?Symbol.for(`react.suspense_list`):60120,m=t?Symbol.for(`react.memo`):60115,h=t?Symbol.for(`react.lazy`):60116,g=t?Symbol.for(`react.block`):60121,_=t?Symbol.for(`react.fundamental`):60117,v=t?Symbol.for(`react.responder`):60118,y=t?Symbol.for(`react.scope`):60119;function b(e){if(typeof e==`object`&&e){var t=e.$$typeof;switch(t){case n:switch(e=e.type,e){case l:case u:case i:case o:case a:case f:return e;default:switch(e&&=e.$$typeof,e){case c:case d:case h:case m:case s:return e;default:return t}}case r:return t}}}function x(e){return b(e)===u}e.AsyncMode=l,e.ConcurrentMode=u,e.ContextConsumer=c,e.ContextProvider=s,e.Element=n,e.ForwardRef=d,e.Fragment=i,e.Lazy=h,e.Memo=m,e.Portal=r,e.Profiler=o,e.StrictMode=a,e.Suspense=f,e.isAsyncMode=function(e){return x(e)||b(e)===l},e.isConcurrentMode=x,e.isContextConsumer=function(e){return b(e)===c},e.isContextProvider=function(e){return b(e)===s},e.isElement=function(e){return typeof e==`object`&&!!e&&e.$$typeof===n},e.isForwardRef=function(e){return b(e)===d},e.isFragment=function(e){return b(e)===i},e.isLazy=function(e){return b(e)===h},e.isMemo=function(e){return b(e)===m},e.isPortal=function(e){return b(e)===r},e.isProfiler=function(e){return b(e)===o},e.isStrictMode=function(e){return b(e)===a},e.isSuspense=function(e){return b(e)===f},e.isValidElementType=function(e){return typeof e==`string`||typeof e==`function`||e===i||e===u||e===o||e===a||e===f||e===p||typeof e==`object`&&!!e&&(e.$$typeof===h||e.$$typeof===m||e.$$typeof===s||e.$$typeof===c||e.$$typeof===d||e.$$typeof===_||e.$$typeof===v||e.$$typeof===y||e.$$typeof===g)},e.typeOf=b})),ha=e.t((e=>{process.env.NODE_ENV!==`production`&&(function(){"use strict";var t=typeof Symbol==`function`&&Symbol.for,n=t?Symbol.for(`react.element`):60103,r=t?Symbol.for(`react.portal`):60106,i=t?Symbol.for(`react.fragment`):60107,a=t?Symbol.for(`react.strict_mode`):60108,o=t?Symbol.for(`react.profiler`):60114,s=t?Symbol.for(`react.provider`):60109,c=t?Symbol.for(`react.context`):60110,l=t?Symbol.for(`react.async_mode`):60111,u=t?Symbol.for(`react.concurrent_mode`):60111,d=t?Symbol.for(`react.forward_ref`):60112,f=t?Symbol.for(`react.suspense`):60113,p=t?Symbol.for(`react.suspense_list`):60120,m=t?Symbol.for(`react.memo`):60115,h=t?Symbol.for(`react.lazy`):60116,g=t?Symbol.for(`react.block`):60121,_=t?Symbol.for(`react.fundamental`):60117,v=t?Symbol.for(`react.responder`):60118,y=t?Symbol.for(`react.scope`):60119;function b(e){return typeof e==`string`||typeof e==`function`||e===i||e===u||e===o||e===a||e===f||e===p||typeof e==`object`&&!!e&&(e.$$typeof===h||e.$$typeof===m||e.$$typeof===s||e.$$typeof===c||e.$$typeof===d||e.$$typeof===_||e.$$typeof===v||e.$$typeof===y||e.$$typeof===g)}function x(e){if(typeof e==`object`&&e){var t=e.$$typeof;switch(t){case n:var p=e.type;switch(p){case l:case u:case i:case o:case a:case f:return p;default:var g=p&&p.$$typeof;switch(g){case c:case d:case h:case m:case s:return g;default:return t}}case r:return t}}}var S=l,C=u,w=c,T=s,E=n,D=d,O=i,k=h,A=m,j=r,M=o,N=a,P=f,F=!1;function I(e){return F||(F=!0,console.warn(`The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.`)),L(e)||x(e)===l}function L(e){return x(e)===u}function ee(e){return x(e)===c}function R(e){return x(e)===s}function te(e){return typeof e==`object`&&!!e&&e.$$typeof===n}function ne(e){return x(e)===d}function z(e){return x(e)===i}function re(e){return x(e)===h}function ie(e){return x(e)===m}function ae(e){return x(e)===r}function oe(e){return x(e)===o}function se(e){return x(e)===a}function B(e){return x(e)===f}e.AsyncMode=S,e.ConcurrentMode=C,e.ContextConsumer=w,e.ContextProvider=T,e.Element=E,e.ForwardRef=D,e.Fragment=O,e.Lazy=k,e.Memo=A,e.Portal=j,e.Profiler=M,e.StrictMode=N,e.Suspense=P,e.isAsyncMode=I,e.isConcurrentMode=L,e.isContextConsumer=ee,e.isContextProvider=R,e.isElement=te,e.isForwardRef=ne,e.isFragment=z,e.isLazy=re,e.isMemo=ie,e.isPortal=ae,e.isProfiler=oe,e.isStrictMode=se,e.isSuspense=B,e.isValidElementType=b,e.typeOf=x})()})),ga=e.t(((e,t)=>{process.env.NODE_ENV===`production`?t.exports=ma():t.exports=ha()})),_a=e.t(((e,t)=>{var n=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;function a(e){if(e==null)throw TypeError(`Object.assign cannot be called with null or undefined`);return Object(e)}function o(){try{if(!Object.assign)return!1;var e=new String(`abc`);if(e[5]=`de`,Object.getOwnPropertyNames(e)[0]===`5`)return!1;for(var t={},n=0;n<10;n++)t[`_`+String.fromCharCode(n)]=n;if(Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(``)!==`0123456789`)return!1;var r={};return`abcdefghijklmnopqrst`.split(``).forEach(function(e){r[e]=e}),Object.keys(Object.assign({},r)).join(``)===`abcdefghijklmnopqrst`}catch{return!1}}t.exports=o()?Object.assign:function(e,t){for(var o,s=a(e),c,l=1;l<arguments.length;l++){for(var u in o=Object(arguments[l]),o)r.call(o,u)&&(s[u]=o[u]);if(n){c=n(o);for(var d=0;d<c.length;d++)i.call(o,c[d])&&(s[c[d]]=o[c[d]])}}return s}})),va=e.t(((e,t)=>{t.exports=`SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED`})),ya=e.t(((e,t)=>{t.exports=Function.call.bind(Object.prototype.hasOwnProperty)})),ba=e.t(((e,t)=>{var n=function(){};if(process.env.NODE_ENV!==`production`){var r=va(),i={},a=ya();n=function(e){var t=`Warning: `+e;typeof console<`u`&&console.error(t);try{throw Error(t)}catch{}}}function o(e,t,o,s,c){if(process.env.NODE_ENV!==`production`){for(var l in e)if(a(e,l)){var u;try{if(typeof e[l]!=`function`){var d=Error((s||`React class`)+`: `+o+" type `"+l+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof e[l]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw d.name=`Invariant Violation`,d}u=e[l](t,l,s,o,null,r)}catch(e){u=e}if(u&&!(u instanceof Error)&&n((s||`React class`)+`: type specification of `+o+" `"+l+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof u+`. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).`),u instanceof Error&&!(u.message in i)){i[u.message]=!0;var f=c?c():``;n(`Failed `+o+` type: `+u.message+(f??``))}}}}o.resetWarningCache=function(){process.env.NODE_ENV!==`production`&&(i={})},t.exports=o})),xa=e.t(((e,t)=>{var n=ga(),r=_a(),i=va(),a=ya(),o=ba(),s=function(){};process.env.NODE_ENV!==`production`&&(s=function(e){var t=`Warning: `+e;typeof console<`u`&&console.error(t);try{throw Error(t)}catch{}});function c(){return null}t.exports=function(e,t){var l=typeof Symbol==`function`&&Symbol.iterator,u=`@@iterator`;function d(e){var t=e&&(l&&e[l]||e[u]);if(typeof t==`function`)return t}var f=`<<anonymous>>`,p={array:_(`array`),bigint:_(`bigint`),bool:_(`boolean`),func:_(`function`),number:_(`number`),object:_(`object`),string:_(`string`),symbol:_(`symbol`),any:v(),arrayOf:y,element:b(),elementType:x(),instanceOf:S,node:E(),objectOf:w,oneOf:C,oneOfType:T,shape:O,exact:k};function m(e,t){return e===t?e!==0||1/e==1/t:e!==e&&t!==t}function h(e,t){this.message=e,this.data=t&&typeof t==`object`?t:{},this.stack=``}h.prototype=Error.prototype;function g(e){if(process.env.NODE_ENV!==`production`)var n={},r=0;function a(a,o,c,l,u,d,p){if(l||=f,d||=c,p!==i){if(t){var m=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");throw m.name=`Invariant Violation`,m}else if(process.env.NODE_ENV!==`production`&&typeof console<`u`){var g=l+`:`+c;!n[g]&&r<3&&(s("You are manually calling a React.PropTypes validation function for the `"+d+"` prop on `"+l+"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."),n[g]=!0,r++)}}return o[c]==null?a?o[c]===null?new h(`The `+u+" `"+d+"` is marked as required "+("in `"+l+"`, but its value is `null`.")):new h(`The `+u+" `"+d+"` is marked as required in "+("`"+l+"`, but its value is `undefined`.")):null:e(o,c,l,u,d)}var o=a.bind(null,!1);return o.isRequired=a.bind(null,!0),o}function _(e){function t(t,n,r,i,a,o){var s=t[n];if(M(s)!==e){var c=N(s);return new h(`Invalid `+i+" `"+a+"` of type "+("`"+c+"` supplied to `"+r+"`, expected ")+("`"+e+"`."),{expectedType:e})}return null}return g(t)}function v(){return g(c)}function y(e){function t(t,n,r,a,o){if(typeof e!=`function`)return new h("Property `"+o+"` of component `"+r+"` has invalid PropType notation inside arrayOf.");var s=t[n];if(!Array.isArray(s)){var c=M(s);return new h(`Invalid `+a+" `"+o+"` of type "+("`"+c+"` supplied to `"+r+"`, expected an array."))}for(var l=0;l<s.length;l++){var u=e(s,l,r,a,o+`[`+l+`]`,i);if(u instanceof Error)return u}return null}return g(t)}function b(){function t(t,n,r,i,a){var o=t[n];if(!e(o)){var s=M(o);return new h(`Invalid `+i+" `"+a+"` of type "+("`"+s+"` supplied to `"+r+"`, expected a single ReactElement."))}return null}return g(t)}function x(){function e(e,t,r,i,a){var o=e[t];if(!n.isValidElementType(o)){var s=M(o);return new h(`Invalid `+i+" `"+a+"` of type "+("`"+s+"` supplied to `"+r+"`, expected a single ReactElement type."))}return null}return g(e)}function S(e){function t(t,n,r,i,a){if(!(t[n]instanceof e)){var o=e.name||f,s=F(t[n]);return new h(`Invalid `+i+" `"+a+"` of type "+("`"+s+"` supplied to `"+r+"`, expected ")+("instance of `"+o+"`."))}return null}return g(t)}function C(e){if(!Array.isArray(e))return process.env.NODE_ENV!==`production`&&(arguments.length>1?s(`Invalid arguments supplied to oneOf, expected an array, got `+arguments.length+` arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).`):s(`Invalid argument supplied to oneOf, expected an array.`)),c;function t(t,n,r,i,a){for(var o=t[n],s=0;s<e.length;s++)if(m(o,e[s]))return null;var c=JSON.stringify(e,function(e,t){return N(t)===`symbol`?String(t):t});return new h(`Invalid `+i+" `"+a+"` of value `"+String(o)+"` "+("supplied to `"+r+"`, expected one of "+c+`.`))}return g(t)}function w(e){function t(t,n,r,o,s){if(typeof e!=`function`)return new h("Property `"+s+"` of component `"+r+"` has invalid PropType notation inside objectOf.");var c=t[n],l=M(c);if(l!==`object`)return new h(`Invalid `+o+" `"+s+"` of type "+("`"+l+"` supplied to `"+r+"`, expected an object."));for(var u in c)if(a(c,u)){var d=e(c,u,r,o,s+`.`+u,i);if(d instanceof Error)return d}return null}return g(t)}function T(e){if(!Array.isArray(e))return process.env.NODE_ENV!==`production`&&s(`Invalid argument supplied to oneOfType, expected an instance of array.`),c;for(var t=0;t<e.length;t++){var n=e[t];if(typeof n!=`function`)return s(`Invalid argument supplied to oneOfType. Expected an array of check functions, but received `+P(n)+` at index `+t+`.`),c}function r(t,n,r,o,s){for(var c=[],l=0;l<e.length;l++){var u=e[l],d=u(t,n,r,o,s,i);if(d==null)return null;d.data&&a(d.data,`expectedType`)&&c.push(d.data.expectedType)}var f=c.length>0?`, expected one of type [`+c.join(`, `)+`]`:``;return new h(`Invalid `+o+" `"+s+"` supplied to "+("`"+r+"`"+f+`.`))}return g(r)}function E(){function e(e,t,n,r,i){return A(e[t])?null:new h(`Invalid `+r+" `"+i+"` supplied to "+("`"+n+"`, expected a ReactNode."))}return g(e)}function D(e,t,n,r,i){return new h((e||`React class`)+`: `+t+" type `"+n+`.`+r+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+i+"`.")}function O(e){function t(t,n,r,a,o){var s=t[n],c=M(s);if(c!==`object`)return new h(`Invalid `+a+" `"+o+"` of type `"+c+"` "+("supplied to `"+r+"`, expected `object`."));for(var l in e){var u=e[l];if(typeof u!=`function`)return D(r,a,o,l,N(u));var d=u(s,l,r,a,o+`.`+l,i);if(d)return d}return null}return g(t)}function k(e){function t(t,n,o,s,c){var l=t[n],u=M(l);if(u!==`object`)return new h(`Invalid `+s+" `"+c+"` of type `"+u+"` "+("supplied to `"+o+"`, expected `object`."));for(var d in r({},t[n],e)){var f=e[d];if(a(e,d)&&typeof f!=`function`)return D(o,s,c,d,N(f));if(!f)return new h(`Invalid `+s+" `"+c+"` key `"+d+"` supplied to `"+o+`\`.
50
50
  Bad object: `+JSON.stringify(t[n],null,` `)+`
51
51
  Valid keys: `+JSON.stringify(Object.keys(e),null,` `));var p=f(l,d,o,s,c+`.`+d,i);if(p)return p}return null}return g(t)}function A(t){switch(typeof t){case`number`:case`string`:case`undefined`:return!0;case`boolean`:return!t;case`object`:if(Array.isArray(t))return t.every(A);if(t===null||e(t))return!0;var n=d(t);if(n){var r=n.call(t),i;if(n!==t.entries){for(;!(i=r.next()).done;)if(!A(i.value))return!1}else for(;!(i=r.next()).done;){var a=i.value;if(a&&!A(a[1]))return!1}}else return!1;return!0;default:return!1}}function j(e,t){return e===`symbol`?!0:t?t[`@@toStringTag`]===`Symbol`||typeof Symbol==`function`&&t instanceof Symbol:!1}function M(e){var t=typeof e;return Array.isArray(e)?`array`:e instanceof RegExp?`object`:j(t,e)?`symbol`:t}function N(e){if(e==null)return``+e;var t=M(e);if(t===`object`){if(e instanceof Date)return`date`;if(e instanceof RegExp)return`regexp`}return t}function P(e){var t=N(e);switch(t){case`array`:case`object`:return`an `+t;case`boolean`:case`date`:case`regexp`:return`a `+t;default:return t}}function F(e){return!e.constructor||!e.constructor.name?f:e.constructor.name}return p.checkPropTypes=o,p.resetWarningCache=o.resetWarningCache,p.PropTypes=p,p}})),Sa=e.t(((e,t)=>{var n=va();function r(){}function i(){}i.resetWarningCache=r,t.exports=function(){function e(e,t,r,i,a,o){if(o!==n){var s=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name=`Invariant Violation`,s}}e.isRequired=e;function t(){return e}var a={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:r};return a.PropTypes=a,a}})),Ca=e.t(((e,t)=>{if(process.env.NODE_ENV!==`production`){var n=ga();t.exports=xa()(n.isElement,!0)}else t.exports=Sa()()})),wa=e.t(((e,t)=>{function n(e){var t,r,i=``;if(typeof e==`string`||typeof e==`number`)i+=e;else if(typeof e==`object`)if(Array.isArray(e)){var a=e.length;for(t=0;t<a;t++)e[t]&&(r=n(e[t]))&&(i&&(i+=` `),i+=r)}else for(r in e)e[r]&&(i&&(i+=` `),i+=r);return i}function r(){for(var e,t,r=0,i=``,a=arguments.length;r<a;r++)(e=arguments[r])&&(t=n(e))&&(i&&(i+=` `),i+=t);return i}t.exports=r,t.exports.clsx=r})),Ta=e.t((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.dontSetMe=a,e.findInArray=t,e.int=i,e.isFunction=n,e.isNum=r;function t(e,t){for(let n=0,r=e.length;n<r;n++)if(t.apply(t,[e[n],n,e]))return e[n]}function n(e){return typeof e==`function`||Object.prototype.toString.call(e)===`[object Function]`}function r(e){return typeof e==`number`&&!isNaN(e)}function i(e){return parseInt(e,10)}function a(e,t,n){if(e[t])return Error(`Invalid prop ${t} passed to ${n} - do not set this, set it on the child.`)}})),Ea=e.t((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.browserPrefixToKey=r,e.browserPrefixToStyle=i,e.default=void 0,e.getPrefix=n;var t=[`Moz`,`Webkit`,`O`,`ms`];function n(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:`transform`;if(typeof window>`u`)return``;let n=window.document?.documentElement?.style;if(!n||e in n)return``;for(let i=0;i<t.length;i++)if(r(e,t[i])in n)return t[i];return``}function r(e,t){return t?`${t}${a(e)}`:e}function i(e,t){return t?`-${t.toLowerCase()}-${e}`:e}function a(e){let t=``,n=!0;for(let r=0;r<e.length;r++)n?(t+=e[r].toUpperCase(),n=!1):e[r]===`-`?n=!0:t+=e[r];return t}e.default=n()})),Da=e.t((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.addClassName=S,e.addEvent=s,e.addUserSelectStyles=y,e.createCSSTransform=m,e.createSVGTransform=h,e.getTouch=_,e.getTouchIdentifier=v,e.getTranslation=g,e.innerHeight=d,e.innerWidth=f,e.matchesSelector=a,e.matchesSelectorAndParentsTo=o,e.offsetXYFromParent=p,e.outerHeight=l,e.outerWidth=u,e.removeClassName=C,e.removeEvent=c,e.scheduleRemoveUserSelectStyles=b;var t=Ta(),n=r(Ea());function r(e,t){if(typeof WeakMap==`function`)var n=new WeakMap,i=new WeakMap;return(r=function(e,t){if(!t&&e&&e.__esModule)return e;var r,a,o={__proto__:null,default:e};if(e===null||typeof e!=`object`&&typeof e!=`function`)return o;if(r=t?i:n){if(r.has(e))return r.get(e);r.set(e,o)}for(let t in e)t!==`default`&&{}.hasOwnProperty.call(e,t)&&((a=(r=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(a.get||a.set)?r(o,t,a):o[t]=e[t]);return o})(e,t)}var i=``;function a(e,n){return i||=(0,t.findInArray)([`matches`,`webkitMatchesSelector`,`mozMatchesSelector`,`msMatchesSelector`,`oMatchesSelector`],function(n){return(0,t.isFunction)(e[n])}),(0,t.isFunction)(e[i])?e[i](n):!1}function o(e,t,n){let r=e;do{if(a(r,t))return!0;if(r===n)return!1;r=r.parentNode}while(r);return!1}function s(e,t,n,r){if(!e)return;let i={capture:!0,...r};e.addEventListener?e.addEventListener(t,n,i):e.attachEvent?e.attachEvent(`on`+t,n):e[`on`+t]=n}function c(e,t,n,r){if(!e)return;let i={capture:!0,...r};e.removeEventListener?e.removeEventListener(t,n,i):e.detachEvent?e.detachEvent(`on`+t,n):e[`on`+t]=null}function l(e){let n=e.clientHeight,r=e.ownerDocument.defaultView.getComputedStyle(e);return n+=(0,t.int)(r.borderTopWidth),n+=(0,t.int)(r.borderBottomWidth),n}function u(e){let n=e.clientWidth,r=e.ownerDocument.defaultView.getComputedStyle(e);return n+=(0,t.int)(r.borderLeftWidth),n+=(0,t.int)(r.borderRightWidth),n}function d(e){let n=e.clientHeight,r=e.ownerDocument.defaultView.getComputedStyle(e);return n-=(0,t.int)(r.paddingTop),n-=(0,t.int)(r.paddingBottom),n}function f(e){let n=e.clientWidth,r=e.ownerDocument.defaultView.getComputedStyle(e);return n-=(0,t.int)(r.paddingLeft),n-=(0,t.int)(r.paddingRight),n}function p(e,t,n){let r=t===t.ownerDocument.body?{left:0,top:0}:t.getBoundingClientRect();return{x:(e.clientX+t.scrollLeft-r.left)/n,y:(e.clientY+t.scrollTop-r.top)/n}}function m(e,t){let r=g(e,t,`px`);return{[(0,n.browserPrefixToKey)(`transform`,n.default)]:r}}function h(e,t){return g(e,t,``)}function g(e,t,n){let{x:r,y:i}=e,a=`translate(${r}${n},${i}${n})`;return t&&(a=`translate(${`${typeof t.x==`string`?t.x:t.x+n}`}, ${`${typeof t.y==`string`?t.y:t.y+n}`})`+a),a}function _(e,n){return e.targetTouches&&(0,t.findInArray)(e.targetTouches,e=>n===e.identifier)||e.changedTouches&&(0,t.findInArray)(e.changedTouches,e=>n===e.identifier)}function v(e){if(e.targetTouches&&e.targetTouches[0])return e.targetTouches[0].identifier;if(e.changedTouches&&e.changedTouches[0])return e.changedTouches[0].identifier}function y(e){if(!e)return;let t=e.getElementById(`react-draggable-style-el`);t||(t=e.createElement(`style`),t.type=`text/css`,t.id=`react-draggable-style-el`,t.innerHTML=`.react-draggable-transparent-selection *::-moz-selection {all: inherit;}
52
52
  `,t.innerHTML+=`.react-draggable-transparent-selection *::selection {all: inherit;}