const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./OverviewView-CmVFZWGR.js","./vendor-ui-DBxeWLyT.js","./rolldown-runtime-CIDIeb-o.js","./vendor-vue-Bqq1sBNf.js","./CardDescription-CRV0m8La.js","./useGameConfig-D2EZdt1x.js","./BuildingsView-DhLhA5iU.js","./AlertDialog-_72FqRCT.js","./ResearchView-BnXltulQ.js","./UnlockRequirement-BdFx1RC0.js","./CardUnlockOverlay-SeY-L1Ut.js","./ShipyardView-DXEuisRD.js","./shipValidation-Cx6mhfwF.js","./DefenseView-Dgqev78h.js","./FleetView-BtTh_NDj.js","./eye-B5ACPUPU.js","./OfficersView-B0Yv-kWu.js","./BattleSimulatorView-DADwA9bi.js","./MessagesView-0qhXN5qt.js","./GalaxyView-BQhXx0XP.js","./SettingsView-VjOhq7qI.js"])))=>i.map(i=>d[i]); import{i as e,r as t,t as n}from"./rolldown-runtime-CIDIeb-o.js";import{$ as r,A as i,At as a,B as o,Dt as s,F as c,G as l,H as u,I as d,J as f,K as p,L as m,M as h,N as g,Ot as _,P as v,Q as y,R as b,St as ee,U as x,V as te,W as S,X as C,Y as w,Z as T,_ as E,at as D,b as O,dt as k,ft as A,g as ne,h as j,j as re,jt as M,kt as ie,lt as N,mt as P,n as F,ot as ae,pt as I,q as L,rt as oe,st as R,t as se,ut as z,v as ce,vt as le,x as ue,y as de,z as fe}from"./vendor-ui-DBxeWLyT.js";import{a as pe,c as me,i as he,l as ge,n as _e,r as ve,u as ye}from"./vendor-vue-Bqq1sBNf.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})(),``+new URL(`logo-Cz0cNqhe.svg`,import.meta.url).href;var be={name:`ogame-vue-ts`,title:`OGame-Vue-Ts`,qq:`920930589`,id:`2zBlHPUA6E`,author:`setube`,private:!0,version:`1.0.0`,type:`module`,scripts:{dev:`vite --port 25121`,build:`vue-tsc -b && vite build`,preview:`vite preview`},dependencies:{"@tailwindcss/vite":`^4.1.17`,"@tanstack/vue-table":`^8.21.3`,"@vueuse/core":`^14.1.0`,"class-variance-authority":`^0.7.1`,clsx:`^2.1.1`,"crypto-js":`^4.2.0`,"file-saver":`^2.0.5`,"lucide-vue-next":`^0.556.0`,pinia:`^3.0.4`,"pinia-plugin-persistedstate":`^4.7.1`,"reka-ui":`^2.6.1`,"tailwind-merge":`^3.4.0`,tailwindcss:`^4.1.17`,vue:`^3.5.24`,"vue-router":`4`,"vue-sonner":`^2.0.9`},devDependencies:{"@types/crypto-js":`^4.2.2`,"@types/file-saver":`^2.0.7`,"@types/node":`^24.10.2`,"@vitejs/plugin-vue":`^6.0.1`,"@vue/tsconfig":`^0.8.1`,"tw-animate-css":`^1.4.0`,typescript:`~5.9.3`,vite:`npm:rolldown-vite@7.2.5`,"vue-tsc":`^3.1.4`},pnpm:{overrides:{vite:`npm:rolldown-vite@7.2.5`}},packageManager:`pnpm@10.13.1+sha512.37ebf1a5c7a30d5fabe0c5df44ee8da4c965ca0c5af3dbab28c3a1681b70a256218d05c81c9c0dcf767ef6b8551eb5b960042b9ed4300c59242336377e01cfad`},xe=n(((e,t)=>{t.exports={}})),B=n(((e,n)=>{(function(t,r){typeof e==`object`?n.exports=e=r():typeof define==`function`&&define.amd?define([],r):t.CryptoJS=r()})(e,function(){var e=e||function(e,n){var r;if(typeof window<`u`&&window.crypto&&(r=window.crypto),typeof self<`u`&&self.crypto&&(r=self.crypto),typeof globalThis<`u`&&globalThis.crypto&&(r=globalThis.crypto),!r&&typeof window<`u`&&window.msCrypto&&(r=window.msCrypto),!r&&typeof global<`u`&&global.crypto&&(r=global.crypto),!r&&typeof t==`function`)try{r=xe()}catch{}var i=function(){if(r){if(typeof r.getRandomValues==`function`)try{return r.getRandomValues(new Uint32Array(1))[0]}catch{}if(typeof r.randomBytes==`function`)try{return r.randomBytes(4).readInt32LE()}catch{}}throw Error(`Native crypto module could not be used to get secure random number.`)},a=Object.create||function(){function e(){}return function(t){var n;return e.prototype=t,n=new e,e.prototype=null,n}}(),o={},s=o.lib={},c=s.Base=function(){return{extend:function(e){var t=a(this);return e&&t.mixIn(e),(!t.hasOwnProperty(`init`)||this.init===t.init)&&(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty(`toString`)&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),l=s.WordArray=c.extend({init:function(e,t){e=this.words=e||[],t==n?this.sigBytes=e.length*4:this.sigBytes=t},toString:function(e){return(e||d).stringify(this)},concat:function(e){var t=this.words,n=e.words,r=this.sigBytes,i=e.sigBytes;if(this.clamp(),r%4)for(var a=0;a>>2]>>>24-a%4*8&255;t[r+a>>>2]|=o<<24-(r+a)%4*8}else for(var s=0;s>>2]=n[s>>>2];return this.sigBytes+=i,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=c.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],n=0;n>>2]>>>24-i%4*8&255;r.push((a>>>4).toString(16)),r.push((a&15).toString(16))}return r.join(``)},parse:function(e){for(var t=e.length,n=[],r=0;r>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new l.init(n,t/2)}},f=u.Latin1={stringify:function(e){for(var t=e.words,n=e.sigBytes,r=[],i=0;i>>2]>>>24-i%4*8&255;r.push(String.fromCharCode(a))}return r.join(``)},parse:function(e){for(var t=e.length,n=[],r=0;r>>2]|=(e.charCodeAt(r)&255)<<24-r%4*8;return new l.init(n,t)}},p=u.Utf8={stringify:function(e){try{return decodeURIComponent(escape(f.stringify(e)))}catch{throw Error(`Malformed UTF-8 data`)}},parse:function(e){return f.parse(unescape(encodeURIComponent(e)))}},m=s.BufferedBlockAlgorithm=c.extend({reset:function(){this._data=new l.init,this._nDataBytes=0},_append:function(e){typeof e==`string`&&(e=p.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var n,r=this._data,i=r.words,a=r.sigBytes,o=this.blockSize,s=a/(o*4);s=t?e.ceil(s):e.max((s|0)-this._minBufferSize,0);var c=s*o,u=e.min(c*4,a);if(c){for(var d=0;d{(function(n,r){typeof e==`object`?t.exports=e=r(B()):typeof define==`function`&&define.amd?define([`./core`],r):r(n.CryptoJS)})(e,function(e){return(function(t){var n=e,r=n.lib,i=r.Base,a=r.WordArray,o=n.x64={};o.Word=i.extend({init:function(e,t){this.high=e,this.low=t}}),o.WordArray=i.extend({init:function(e,n){e=this.words=e||[],n==t?this.sigBytes=e.length*8:this.sigBytes=n},toX32:function(){for(var e=this.words,t=e.length,n=[],r=0;r{(function(n,r){typeof e==`object`?t.exports=e=r(B()):typeof define==`function`&&define.amd?define([`./core`],r):r(n.CryptoJS)})(e,function(e){return(function(){if(typeof ArrayBuffer==`function`){var t=e.lib.WordArray,n=t.init,r=t.init=function(e){if(e instanceof ArrayBuffer&&(e=new Uint8Array(e)),(e instanceof Int8Array||typeof Uint8ClampedArray<`u`&&e instanceof Uint8ClampedArray||e instanceof Int16Array||e instanceof Uint16Array||e instanceof Int32Array||e instanceof Uint32Array||e instanceof Float32Array||e instanceof Float64Array)&&(e=new Uint8Array(e.buffer,e.byteOffset,e.byteLength)),e instanceof Uint8Array){for(var t=e.byteLength,r=[],i=0;i>>2]|=e[i]<<24-i%4*8;n.call(this,r,t)}else n.apply(this,arguments)};r.prototype=t}})(),e.lib.WordArray})})),we=n(((e,t)=>{(function(n,r){typeof e==`object`?t.exports=e=r(B()):typeof define==`function`&&define.amd?define([`./core`],r):r(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib.WordArray,r=t.enc;r.Utf16=r.Utf16BE={stringify:function(e){for(var t=e.words,n=e.sigBytes,r=[],i=0;i>>2]>>>16-i%4*8&65535;r.push(String.fromCharCode(a))}return r.join(``)},parse:function(e){for(var t=e.length,r=[],i=0;i>>1]|=e.charCodeAt(i)<<16-i%2*16;return n.create(r,t*2)}},r.Utf16LE={stringify:function(e){for(var t=e.words,n=e.sigBytes,r=[],a=0;a>>2]>>>16-a%4*8&65535);r.push(String.fromCharCode(o))}return r.join(``)},parse:function(e){for(var t=e.length,r=[],a=0;a>>1]|=i(e.charCodeAt(a)<<16-a%2*16);return n.create(r,t*2)}};function i(e){return e<<8&4278255360|e>>>8&16711935}})(),e.enc.Utf16})})),Te=n(((e,t)=>{(function(n,r){typeof e==`object`?t.exports=e=r(B()):typeof define==`function`&&define.amd?define([`./core`],r):r(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib.WordArray,r=t.enc;r.Base64={stringify:function(e){var t=e.words,n=e.sigBytes,r=this._map;e.clamp();for(var i=[],a=0;a>>2]>>>24-a%4*8&255,s=t[a+1>>>2]>>>24-(a+1)%4*8&255,c=t[a+2>>>2]>>>24-(a+2)%4*8&255,l=o<<16|s<<8|c,u=0;u<4&&a+u*.75>>6*(3-u)&63));var d=r.charAt(64);if(d)for(;i.length%4;)i.push(d);return i.join(``)},parse:function(e){var t=e.length,n=this._map,r=this._reverseMap;if(!r){r=this._reverseMap=[];for(var a=0;a>>6-o%4*2;i[a>>>2]|=s<<24-a%4*8,a++}return n.create(i,a)}})(),e.enc.Base64})})),Ee=n(((e,t)=>{(function(n,r){typeof e==`object`?t.exports=e=r(B()):typeof define==`function`&&define.amd?define([`./core`],r):r(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib.WordArray,r=t.enc;r.Base64url={stringify:function(e,t){t===void 0&&(t=!0);var n=e.words,r=e.sigBytes,i=t?this._safe_map:this._map;e.clamp();for(var a=[],o=0;o>>2]>>>24-o%4*8&255,c=n[o+1>>>2]>>>24-(o+1)%4*8&255,l=n[o+2>>>2]>>>24-(o+2)%4*8&255,u=s<<16|c<<8|l,d=0;d<4&&o+d*.75>>6*(3-d)&63));var f=i.charAt(64);if(f)for(;a.length%4;)a.push(f);return a.join(``)},parse:function(e,t){t===void 0&&(t=!0);var n=e.length,r=t?this._safe_map:this._map,a=this._reverseMap;if(!a){a=this._reverseMap=[];for(var o=0;o>>6-o%4*2;i[a>>>2]|=s<<24-a%4*8,a++}return n.create(i,a)}})(),e.enc.Base64url})})),De=n(((e,t)=>{(function(n,r){typeof e==`object`?t.exports=e=r(B()):typeof define==`function`&&define.amd?define([`./core`],r):r(n.CryptoJS)})(e,function(e){return(function(t){var n=e,r=n.lib,i=r.WordArray,a=r.Hasher,o=n.algo,s=[];(function(){for(var e=0;e<64;e++)s[e]=t.abs(t.sin(e+1))*4294967296|0})();var c=o.MD5=a.extend({_doReset:function(){this._hash=new i.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,t){for(var n=0;n<16;n++){var r=t+n,i=e[r];e[r]=(i<<8|i>>>24)&16711935|(i<<24|i>>>8)&4278255360}var a=this._hash.words,o=e[t+0],c=e[t+1],p=e[t+2],m=e[t+3],h=e[t+4],g=e[t+5],_=e[t+6],v=e[t+7],y=e[t+8],b=e[t+9],ee=e[t+10],x=e[t+11],te=e[t+12],S=e[t+13],C=e[t+14],w=e[t+15],T=a[0],E=a[1],D=a[2],O=a[3];T=l(T,E,D,O,o,7,s[0]),O=l(O,T,E,D,c,12,s[1]),D=l(D,O,T,E,p,17,s[2]),E=l(E,D,O,T,m,22,s[3]),T=l(T,E,D,O,h,7,s[4]),O=l(O,T,E,D,g,12,s[5]),D=l(D,O,T,E,_,17,s[6]),E=l(E,D,O,T,v,22,s[7]),T=l(T,E,D,O,y,7,s[8]),O=l(O,T,E,D,b,12,s[9]),D=l(D,O,T,E,ee,17,s[10]),E=l(E,D,O,T,x,22,s[11]),T=l(T,E,D,O,te,7,s[12]),O=l(O,T,E,D,S,12,s[13]),D=l(D,O,T,E,C,17,s[14]),E=l(E,D,O,T,w,22,s[15]),T=u(T,E,D,O,c,5,s[16]),O=u(O,T,E,D,_,9,s[17]),D=u(D,O,T,E,x,14,s[18]),E=u(E,D,O,T,o,20,s[19]),T=u(T,E,D,O,g,5,s[20]),O=u(O,T,E,D,ee,9,s[21]),D=u(D,O,T,E,w,14,s[22]),E=u(E,D,O,T,h,20,s[23]),T=u(T,E,D,O,b,5,s[24]),O=u(O,T,E,D,C,9,s[25]),D=u(D,O,T,E,m,14,s[26]),E=u(E,D,O,T,y,20,s[27]),T=u(T,E,D,O,S,5,s[28]),O=u(O,T,E,D,p,9,s[29]),D=u(D,O,T,E,v,14,s[30]),E=u(E,D,O,T,te,20,s[31]),T=d(T,E,D,O,g,4,s[32]),O=d(O,T,E,D,y,11,s[33]),D=d(D,O,T,E,x,16,s[34]),E=d(E,D,O,T,C,23,s[35]),T=d(T,E,D,O,c,4,s[36]),O=d(O,T,E,D,h,11,s[37]),D=d(D,O,T,E,v,16,s[38]),E=d(E,D,O,T,ee,23,s[39]),T=d(T,E,D,O,S,4,s[40]),O=d(O,T,E,D,o,11,s[41]),D=d(D,O,T,E,m,16,s[42]),E=d(E,D,O,T,_,23,s[43]),T=d(T,E,D,O,b,4,s[44]),O=d(O,T,E,D,te,11,s[45]),D=d(D,O,T,E,w,16,s[46]),E=d(E,D,O,T,p,23,s[47]),T=f(T,E,D,O,o,6,s[48]),O=f(O,T,E,D,v,10,s[49]),D=f(D,O,T,E,C,15,s[50]),E=f(E,D,O,T,g,21,s[51]),T=f(T,E,D,O,te,6,s[52]),O=f(O,T,E,D,m,10,s[53]),D=f(D,O,T,E,ee,15,s[54]),E=f(E,D,O,T,c,21,s[55]),T=f(T,E,D,O,y,6,s[56]),O=f(O,T,E,D,w,10,s[57]),D=f(D,O,T,E,_,15,s[58]),E=f(E,D,O,T,S,21,s[59]),T=f(T,E,D,O,h,6,s[60]),O=f(O,T,E,D,x,10,s[61]),D=f(D,O,T,E,p,15,s[62]),E=f(E,D,O,T,b,21,s[63]),a[0]=a[0]+T|0,a[1]=a[1]+E|0,a[2]=a[2]+D|0,a[3]=a[3]+O|0},_doFinalize:function(){var e=this._data,n=e.words,r=this._nDataBytes*8,i=e.sigBytes*8;n[i>>>5]|=128<<24-i%32;var a=t.floor(r/4294967296),o=r;n[(i+64>>>9<<4)+15]=(a<<8|a>>>24)&16711935|(a<<24|a>>>8)&4278255360,n[(i+64>>>9<<4)+14]=(o<<8|o>>>24)&16711935|(o<<24|o>>>8)&4278255360,e.sigBytes=(n.length+1)*4,this._process();for(var s=this._hash,c=s.words,l=0;l<4;l++){var u=c[l];c[l]=(u<<8|u>>>24)&16711935|(u<<24|u>>>8)&4278255360}return s},clone:function(){var e=a.clone.call(this);return e._hash=this._hash.clone(),e}});function l(e,t,n,r,i,a,o){var s=e+(t&n|~t&r)+i+o;return(s<>>32-a)+t}function u(e,t,n,r,i,a,o){var s=e+(t&r|n&~r)+i+o;return(s<>>32-a)+t}function d(e,t,n,r,i,a,o){var s=e+(t^n^r)+i+o;return(s<>>32-a)+t}function f(e,t,n,r,i,a,o){var s=e+(n^(t|~r))+i+o;return(s<>>32-a)+t}n.MD5=a._createHelper(c),n.HmacMD5=a._createHmacHelper(c)})(Math),e.MD5})})),Oe=n(((e,t)=>{(function(n,r){typeof e==`object`?t.exports=e=r(B()):typeof define==`function`&&define.amd?define([`./core`],r):r(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib,r=n.WordArray,i=n.Hasher,a=t.algo,o=[],s=a.SHA1=i.extend({_doReset:function(){this._hash=new r.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var n=this._hash.words,r=n[0],i=n[1],a=n[2],s=n[3],c=n[4],l=0;l<80;l++){if(l<16)o[l]=e[t+l]|0;else{var u=o[l-3]^o[l-8]^o[l-14]^o[l-16];o[l]=u<<1|u>>>31}var d=(r<<5|r>>>27)+c+o[l];l<20?d+=(i&a|~i&s)+1518500249:l<40?d+=(i^a^s)+1859775393:l<60?d+=(i&a|i&s|a&s)-1894007588:d+=(i^a^s)-899497514,c=s,s=a,a=i<<30|i>>>2,i=r,r=d}n[0]=n[0]+r|0,n[1]=n[1]+i|0,n[2]=n[2]+a|0,n[3]=n[3]+s|0,n[4]=n[4]+c|0},_doFinalize:function(){var e=this._data,t=e.words,n=this._nDataBytes*8,r=e.sigBytes*8;return t[r>>>5]|=128<<24-r%32,t[(r+64>>>9<<4)+14]=Math.floor(n/4294967296),t[(r+64>>>9<<4)+15]=n,e.sigBytes=t.length*4,this._process(),this._hash},clone:function(){var e=i.clone.call(this);return e._hash=this._hash.clone(),e}});t.SHA1=i._createHelper(s),t.HmacSHA1=i._createHmacHelper(s)})(),e.SHA1})})),ke=n(((e,t)=>{(function(n,r){typeof e==`object`?t.exports=e=r(B()):typeof define==`function`&&define.amd?define([`./core`],r):r(n.CryptoJS)})(e,function(e){return(function(t){var n=e,r=n.lib,i=r.WordArray,a=r.Hasher,o=n.algo,s=[],c=[];(function(){function e(e){for(var n=t.sqrt(e),r=2;r<=n;r++)if(!(e%r))return!1;return!0}function n(e){return(e-(e|0))*4294967296|0}for(var r=2,i=0;i<64;)e(r)&&(i<8&&(s[i]=n(t.pow(r,1/2))),c[i]=n(t.pow(r,1/3)),i++),r++})();var l=[],u=o.SHA256=a.extend({_doReset:function(){this._hash=new i.init(s.slice(0))},_doProcessBlock:function(e,t){for(var n=this._hash.words,r=n[0],i=n[1],a=n[2],o=n[3],s=n[4],u=n[5],d=n[6],f=n[7],p=0;p<64;p++){if(p<16)l[p]=e[t+p]|0;else{var m=l[p-15],h=(m<<25|m>>>7)^(m<<14|m>>>18)^m>>>3,g=l[p-2],_=(g<<15|g>>>17)^(g<<13|g>>>19)^g>>>10;l[p]=h+l[p-7]+_+l[p-16]}var v=s&u^~s&d,y=r&i^r&a^i&a,b=(r<<30|r>>>2)^(r<<19|r>>>13)^(r<<10|r>>>22),ee=(s<<26|s>>>6)^(s<<21|s>>>11)^(s<<7|s>>>25),x=f+ee+v+c[p]+l[p],te=b+y;f=d,d=u,u=s,s=o+x|0,o=a,a=i,i=r,r=x+te|0}n[0]=n[0]+r|0,n[1]=n[1]+i|0,n[2]=n[2]+a|0,n[3]=n[3]+o|0,n[4]=n[4]+s|0,n[5]=n[5]+u|0,n[6]=n[6]+d|0,n[7]=n[7]+f|0},_doFinalize:function(){var e=this._data,n=e.words,r=this._nDataBytes*8,i=e.sigBytes*8;return n[i>>>5]|=128<<24-i%32,n[(i+64>>>9<<4)+14]=t.floor(r/4294967296),n[(i+64>>>9<<4)+15]=r,e.sigBytes=n.length*4,this._process(),this._hash},clone:function(){var e=a.clone.call(this);return e._hash=this._hash.clone(),e}});n.SHA256=a._createHelper(u),n.HmacSHA256=a._createHmacHelper(u)})(Math),e.SHA256})})),Ae=n(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(B(),ke()):typeof define==`function`&&define.amd?define([`./core`,`./sha256`],r):r(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib.WordArray,r=t.algo,i=r.SHA256,a=r.SHA224=i.extend({_doReset:function(){this._hash=new n.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var e=i._doFinalize.call(this);return e.sigBytes-=4,e}});t.SHA224=i._createHelper(a),t.HmacSHA224=i._createHmacHelper(a)})(),e.SHA224})})),je=n(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(B(),Se()):typeof define==`function`&&define.amd?define([`./core`,`./x64-core`],r):r(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib.Hasher,r=t.x64,i=r.Word,a=r.WordArray,o=t.algo;function s(){return i.create.apply(i,arguments)}var c=[s(1116352408,3609767458),s(1899447441,602891725),s(3049323471,3964484399),s(3921009573,2173295548),s(961987163,4081628472),s(1508970993,3053834265),s(2453635748,2937671579),s(2870763221,3664609560),s(3624381080,2734883394),s(310598401,1164996542),s(607225278,1323610764),s(1426881987,3590304994),s(1925078388,4068182383),s(2162078206,991336113),s(2614888103,633803317),s(3248222580,3479774868),s(3835390401,2666613458),s(4022224774,944711139),s(264347078,2341262773),s(604807628,2007800933),s(770255983,1495990901),s(1249150122,1856431235),s(1555081692,3175218132),s(1996064986,2198950837),s(2554220882,3999719339),s(2821834349,766784016),s(2952996808,2566594879),s(3210313671,3203337956),s(3336571891,1034457026),s(3584528711,2466948901),s(113926993,3758326383),s(338241895,168717936),s(666307205,1188179964),s(773529912,1546045734),s(1294757372,1522805485),s(1396182291,2643833823),s(1695183700,2343527390),s(1986661051,1014477480),s(2177026350,1206759142),s(2456956037,344077627),s(2730485921,1290863460),s(2820302411,3158454273),s(3259730800,3505952657),s(3345764771,106217008),s(3516065817,3606008344),s(3600352804,1432725776),s(4094571909,1467031594),s(275423344,851169720),s(430227734,3100823752),s(506948616,1363258195),s(659060556,3750685593),s(883997877,3785050280),s(958139571,3318307427),s(1322822218,3812723403),s(1537002063,2003034995),s(1747873779,3602036899),s(1955562222,1575990012),s(2024104815,1125592928),s(2227730452,2716904306),s(2361852424,442776044),s(2428436474,593698344),s(2756734187,3733110249),s(3204031479,2999351573),s(3329325298,3815920427),s(3391569614,3928383900),s(3515267271,566280711),s(3940187606,3454069534),s(4118630271,4000239992),s(116418474,1914138554),s(174292421,2731055270),s(289380356,3203993006),s(460393269,320620315),s(685471733,587496836),s(852142971,1086792851),s(1017036298,365543100),s(1126000580,2618297676),s(1288033470,3409855158),s(1501505948,4234509866),s(1607167915,987167468),s(1816402316,1246189591)],l=[];(function(){for(var e=0;e<80;e++)l[e]=s()})();var u=o.SHA512=n.extend({_doReset:function(){this._hash=new a.init([new i.init(1779033703,4089235720),new i.init(3144134277,2227873595),new i.init(1013904242,4271175723),new i.init(2773480762,1595750129),new i.init(1359893119,2917565137),new i.init(2600822924,725511199),new i.init(528734635,4215389547),new i.init(1541459225,327033209)])},_doProcessBlock:function(e,t){for(var n=this._hash.words,r=n[0],i=n[1],a=n[2],o=n[3],s=n[4],u=n[5],d=n[6],f=n[7],p=r.high,m=r.low,h=i.high,g=i.low,_=a.high,v=a.low,y=o.high,b=o.low,ee=s.high,x=s.low,te=u.high,S=u.low,C=d.high,w=d.low,T=f.high,E=f.low,D=p,O=m,k=h,A=g,ne=_,j=v,re=y,M=b,ie=ee,N=x,P=te,F=S,ae=C,I=w,L=T,oe=E,R=0;R<80;R++){var se,z,ce=l[R];if(R<16)z=ce.high=e[t+R*2]|0,se=ce.low=e[t+R*2+1]|0;else{var le=l[R-15],ue=le.high,de=le.low,fe=(ue>>>1|de<<31)^(ue>>>8|de<<24)^ue>>>7,pe=(de>>>1|ue<<31)^(de>>>8|ue<<24)^(de>>>7|ue<<25),me=l[R-2],he=me.high,ge=me.low,_e=(he>>>19|ge<<13)^(he<<3|ge>>>29)^he>>>6,ve=(ge>>>19|he<<13)^(ge<<3|he>>>29)^(ge>>>6|he<<26),ye=l[R-7],be=ye.high,xe=ye.low,B=l[R-16],Se=B.high,Ce=B.low;se=pe+xe,z=fe+be+(se>>>0>>0?1:0),se+=ve,z=z+_e+(se>>>0>>0?1:0),se+=Ce,z=z+Se+(se>>>0>>0?1:0),ce.high=z,ce.low=se}var we=ie&P^~ie&ae,Te=N&F^~N&I,Ee=D&k^D&ne^k&ne,De=O&A^O&j^A&j,Oe=(D>>>28|O<<4)^(D<<30|O>>>2)^(D<<25|O>>>7),ke=(O>>>28|D<<4)^(O<<30|D>>>2)^(O<<25|D>>>7),Ae=(ie>>>14|N<<18)^(ie>>>18|N<<14)^(ie<<23|N>>>9),je=(N>>>14|ie<<18)^(N>>>18|ie<<14)^(N<<23|ie>>>9),Me=c[R],Ne=Me.high,Pe=Me.low,Fe=oe+je,Ie=L+Ae+(Fe>>>0>>0?1:0),Fe=Fe+Te,Ie=Ie+we+(Fe>>>0>>0?1:0),Fe=Fe+Pe,Ie=Ie+Ne+(Fe>>>0>>0?1:0),Fe=Fe+se,Ie=Ie+z+(Fe>>>0>>0?1:0),Le=ke+De,Re=Oe+Ee+(Le>>>0>>0?1:0);L=ae,oe=I,ae=P,I=F,P=ie,F=N,N=M+Fe|0,ie=re+Ie+(N>>>0>>0?1:0)|0,re=ne,M=j,ne=k,j=A,k=D,A=O,O=Fe+Le|0,D=Ie+Re+(O>>>0>>0?1:0)|0}m=r.low=m+O,r.high=p+D+(m>>>0>>0?1:0),g=i.low=g+A,i.high=h+k+(g>>>0>>0?1:0),v=a.low=v+j,a.high=_+ne+(v>>>0>>0?1:0),b=o.low=b+M,o.high=y+re+(b>>>0>>0?1:0),x=s.low=x+N,s.high=ee+ie+(x>>>0>>0?1:0),S=u.low=S+F,u.high=te+P+(S>>>0>>0?1:0),w=d.low=w+I,d.high=C+ae+(w>>>0>>0?1:0),E=f.low=E+oe,f.high=T+L+(E>>>0>>0?1:0)},_doFinalize:function(){var e=this._data,t=e.words,n=this._nDataBytes*8,r=e.sigBytes*8;return t[r>>>5]|=128<<24-r%32,t[(r+128>>>10<<5)+30]=Math.floor(n/4294967296),t[(r+128>>>10<<5)+31]=n,e.sigBytes=t.length*4,this._process(),this._hash.toX32()},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e},blockSize:1024/32});t.SHA512=n._createHelper(u),t.HmacSHA512=n._createHmacHelper(u)})(),e.SHA512})})),Me=n(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(B(),Se(),je()):typeof define==`function`&&define.amd?define([`./core`,`./x64-core`,`./sha512`],r):r(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.x64,r=n.Word,i=n.WordArray,a=t.algo,o=a.SHA512,s=a.SHA384=o.extend({_doReset:function(){this._hash=new i.init([new r.init(3418070365,3238371032),new r.init(1654270250,914150663),new r.init(2438529370,812702999),new r.init(355462360,4144912697),new r.init(1731405415,4290775857),new r.init(2394180231,1750603025),new r.init(3675008525,1694076839),new r.init(1203062813,3204075428)])},_doFinalize:function(){var e=o._doFinalize.call(this);return e.sigBytes-=16,e}});t.SHA384=o._createHelper(s),t.HmacSHA384=o._createHmacHelper(s)})(),e.SHA384})})),Ne=n(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(B(),Se()):typeof define==`function`&&define.amd?define([`./core`,`./x64-core`],r):r(n.CryptoJS)})(e,function(e){return(function(t){var n=e,r=n.lib,i=r.WordArray,a=r.Hasher,o=n.x64.Word,s=n.algo,c=[],l=[],u=[];(function(){for(var e=1,t=0,n=0;n<24;n++){c[e+5*t]=(n+1)*(n+2)/2%64;var r=t%5,i=(2*e+3*t)%5;e=r,t=i}for(var e=0;e<5;e++)for(var t=0;t<5;t++)l[e+5*t]=t+(2*e+3*t)%5*5;for(var a=1,s=0;s<24;s++){for(var d=0,f=0,p=0;p<7;p++){if(a&1){var m=(1<>>24)&16711935|(a<<24|a>>>8)&4278255360,o=(o<<8|o>>>24)&16711935|(o<<24|o>>>8)&4278255360;var s=n[i];s.high^=o,s.low^=a}for(var f=0;f<24;f++){for(var p=0;p<5;p++){for(var m=0,h=0,g=0;g<5;g++){var s=n[p+5*g];m^=s.high,h^=s.low}var _=d[p];_.high=m,_.low=h}for(var p=0;p<5;p++)for(var v=d[(p+4)%5],y=d[(p+1)%5],b=y.high,ee=y.low,m=v.high^(b<<1|ee>>>31),h=v.low^(ee<<1|b>>>31),g=0;g<5;g++){var s=n[p+5*g];s.high^=m,s.low^=h}for(var x=1;x<25;x++){var m,h,s=n[x],te=s.high,S=s.low,C=c[x];C<32?(m=te<>>32-C,h=S<>>32-C):(m=S<>>64-C,h=te<>>64-C);var w=d[l[x]];w.high=m,w.low=h}var T=d[0],E=n[0];T.high=E.high,T.low=E.low;for(var p=0;p<5;p++)for(var g=0;g<5;g++){var x=p+5*g,s=n[x],D=d[x],O=d[(p+1)%5+5*g],k=d[(p+2)%5+5*g];s.high=D.high^~O.high&k.high,s.low=D.low^~O.low&k.low}var s=n[0],A=u[f];s.high^=A.high,s.low^=A.low}},_doFinalize:function(){var e=this._data,n=e.words;this._nDataBytes*8;var r=e.sigBytes*8,a=this.blockSize*32;n[r>>>5]|=1<<24-r%32,n[(t.ceil((r+1)/a)*a>>>5)-1]|=128,e.sigBytes=n.length*4,this._process();for(var o=this._state,s=this.cfg.outputLength/8,c=s/8,l=[],u=0;u>>24)&16711935|(f<<24|f>>>8)&4278255360,p=(p<<8|p>>>24)&16711935|(p<<24|p>>>8)&4278255360,l.push(p),l.push(f)}return new i.init(l,s)},clone:function(){for(var e=a.clone.call(this),t=e._state=this._state.slice(0),n=0;n<25;n++)t[n]=t[n].clone();return e}});n.SHA3=a._createHelper(f),n.HmacSHA3=a._createHmacHelper(f)})(Math),e.SHA3})})),Pe=n(((e,t)=>{(function(n,r){typeof e==`object`?t.exports=e=r(B()):typeof define==`function`&&define.amd?define([`./core`],r):r(n.CryptoJS)})(e,function(e){return(function(t){var n=e,r=n.lib,i=r.WordArray,a=r.Hasher,o=n.algo,s=i.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),c=i.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),l=i.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),u=i.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),d=i.create([0,1518500249,1859775393,2400959708,2840853838]),f=i.create([1352829926,1548603684,1836072691,2053994217,0]),p=o.RIPEMD160=a.extend({_doReset:function(){this._hash=i.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var n=0;n<16;n++){var r=t+n,i=e[r];e[r]=(i<<8|i>>>24)&16711935|(i<<24|i>>>8)&4278255360}for(var a=this._hash.words,o=d.words,p=f.words,b=s.words,ee=c.words,x=l.words,te=u.words,S,C,w,T,E,D=S=a[0],O=C=a[1],k=w=a[2],A=T=a[3],ne=E=a[4],j,n=0;n<80;n+=1)j=S+e[t+b[n]]|0,n<16?j+=m(C,w,T)+o[0]:n<32?j+=h(C,w,T)+o[1]:n<48?j+=g(C,w,T)+o[2]:n<64?j+=_(C,w,T)+o[3]:j+=v(C,w,T)+o[4],j|=0,j=y(j,x[n]),j=j+E|0,S=E,E=T,T=y(w,10),w=C,C=j,j=D+e[t+ee[n]]|0,n<16?j+=v(O,k,A)+p[0]:n<32?j+=_(O,k,A)+p[1]:n<48?j+=g(O,k,A)+p[2]:n<64?j+=h(O,k,A)+p[3]:j+=m(O,k,A)+p[4],j|=0,j=y(j,te[n]),j=j+ne|0,D=ne,ne=A,A=y(k,10),k=O,O=j;j=a[1]+w+A|0,a[1]=a[2]+T+ne|0,a[2]=a[3]+E+D|0,a[3]=a[4]+S+O|0,a[4]=a[0]+C+k|0,a[0]=j},_doFinalize:function(){var e=this._data,t=e.words,n=this._nDataBytes*8,r=e.sigBytes*8;t[r>>>5]|=128<<24-r%32,t[(r+64>>>9<<4)+14]=(n<<8|n>>>24)&16711935|(n<<24|n>>>8)&4278255360,e.sigBytes=(t.length+1)*4,this._process();for(var i=this._hash,a=i.words,o=0;o<5;o++){var s=a[o];a[o]=(s<<8|s>>>24)&16711935|(s<<24|s>>>8)&4278255360}return i},clone:function(){var e=a.clone.call(this);return e._hash=this._hash.clone(),e}});function m(e,t,n){return e^t^n}function h(e,t,n){return e&t|~e&n}function g(e,t,n){return(e|~t)^n}function _(e,t,n){return e&n|t&~n}function v(e,t,n){return e^(t|~n)}function y(e,t){return e<>>32-t}n.RIPEMD160=a._createHelper(p),n.HmacRIPEMD160=a._createHmacHelper(p)})(Math),e.RIPEMD160})})),Fe=n(((e,t)=>{(function(n,r){typeof e==`object`?t.exports=e=r(B()):typeof define==`function`&&define.amd?define([`./core`],r):r(n.CryptoJS)})(e,function(e){(function(){var t=e,n=t.lib.Base,r=t.enc.Utf8,i=t.algo;i.HMAC=n.extend({init:function(e,t){e=this._hasher=new e.init,typeof t==`string`&&(t=r.parse(t));var n=e.blockSize,i=n*4;t.sigBytes>i&&(t=e.finalize(t)),t.clamp();for(var a=this._oKey=t.clone(),o=this._iKey=t.clone(),s=a.words,c=o.words,l=0;l{(function(n,r,i){typeof e==`object`?t.exports=e=r(B(),ke(),Fe()):typeof define==`function`&&define.amd?define([`./core`,`./sha256`,`./hmac`],r):r(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib,r=n.Base,i=n.WordArray,a=t.algo,o=a.SHA256,s=a.HMAC,c=a.PBKDF2=r.extend({cfg:r.extend({keySize:128/32,hasher:o,iterations:25e4}),init:function(e){this.cfg=this.cfg.extend(e)},compute:function(e,t){for(var n=this.cfg,r=s.create(n.hasher,e),a=i.create(),o=i.create([1]),c=a.words,l=o.words,u=n.keySize,d=n.iterations;c.length{(function(n,r,i){typeof e==`object`?t.exports=e=r(B(),Oe(),Fe()):typeof define==`function`&&define.amd?define([`./core`,`./sha1`,`./hmac`],r):r(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib,r=n.Base,i=n.WordArray,a=t.algo,o=a.MD5,s=a.EvpKDF=r.extend({cfg:r.extend({keySize:128/32,hasher:o,iterations:1}),init:function(e){this.cfg=this.cfg.extend(e)},compute:function(e,t){for(var n,r=this.cfg,a=r.hasher.create(),o=i.create(),s=o.words,c=r.keySize,l=r.iterations;s.length{(function(n,r,i){typeof e==`object`?t.exports=e=r(B(),Le()):typeof define==`function`&&define.amd?define([`./core`,`./evpkdf`],r):r(n.CryptoJS)})(e,function(e){e.lib.Cipher||function(t){var n=e,r=n.lib,i=r.Base,a=r.WordArray,o=r.BufferedBlockAlgorithm,s=n.enc;s.Utf8;var c=s.Base64,l=n.algo.EvpKDF,u=r.Cipher=o.extend({cfg:i.extend(),createEncryptor:function(e,t){return this.create(this._ENC_XFORM_MODE,e,t)},createDecryptor:function(e,t){return this.create(this._DEC_XFORM_MODE,e,t)},init:function(e,t,n){this.cfg=this.cfg.extend(n),this._xformMode=e,this._key=t,this.reset()},reset:function(){o.reset.call(this),this._doReset()},process:function(e){return this._append(e),this._process()},finalize:function(e){return e&&this._append(e),this._doFinalize()},keySize:128/32,ivSize:128/32,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){function e(e){return typeof e==`string`?x:y}return function(t){return{encrypt:function(n,r,i){return e(r).encrypt(t,n,r,i)},decrypt:function(n,r,i){return e(r).decrypt(t,n,r,i)}}}}()});r.StreamCipher=u.extend({_doFinalize:function(){return this._process(!0)},blockSize:1});var d=n.mode={},f=r.BlockCipherMode=i.extend({createEncryptor:function(e,t){return this.Encryptor.create(e,t)},createDecryptor:function(e,t){return this.Decryptor.create(e,t)},init:function(e,t){this._cipher=e,this._iv=t}}),p=d.CBC=function(){var e=f.extend();e.Encryptor=e.extend({processBlock:function(e,t){var r=this._cipher,i=r.blockSize;n.call(this,e,t,i),r.encryptBlock(e,t),this._prevBlock=e.slice(t,t+i)}}),e.Decryptor=e.extend({processBlock:function(e,t){var r=this._cipher,i=r.blockSize,a=e.slice(t,t+i);r.decryptBlock(e,t),n.call(this,e,t,i),this._prevBlock=a}});function n(e,n,r){var i,a=this._iv;a?(i=a,this._iv=t):i=this._prevBlock;for(var o=0;o>>2]&255;e.sigBytes-=t}};r.BlockCipher=u.extend({cfg:u.cfg.extend({mode:p,padding:h}),reset:function(){var e;u.reset.call(this);var t=this.cfg,n=t.iv,r=t.mode;this._xformMode==this._ENC_XFORM_MODE?e=r.createEncryptor:(e=r.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==e?this._mode.init(this,n&&n.words):(this._mode=e.call(r,this,n&&n.words),this._mode.__creator=e)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e,t=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(t.pad(this._data,this.blockSize),e=this._process(!0)):(e=this._process(!0),t.unpad(e)),e},blockSize:128/32});var g=r.CipherParams=i.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),_=n.format={},v=_.OpenSSL={stringify:function(e){var t,n=e.ciphertext,r=e.salt;return t=r?a.create([1398893684,1701076831]).concat(r).concat(n):n,t.toString(c)},parse:function(e){var t,n=c.parse(e),r=n.words;return r[0]==1398893684&&r[1]==1701076831&&(t=a.create(r.slice(2,4)),r.splice(0,4),n.sigBytes-=16),g.create({ciphertext:n,salt:t})}},y=r.SerializableCipher=i.extend({cfg:i.extend({format:v}),encrypt:function(e,t,n,r){r=this.cfg.extend(r);var i=e.createEncryptor(n,r),a=i.finalize(t),o=i.cfg;return g.create({ciphertext:a,key:n,iv:o.iv,algorithm:e,mode:o.mode,padding:o.padding,blockSize:e.blockSize,formatter:r.format})},decrypt:function(e,t,n,r){return r=this.cfg.extend(r),t=this._parse(t,r.format),e.createDecryptor(n,r).finalize(t.ciphertext)},_parse:function(e,t){return typeof e==`string`?t.parse(e,this):e}}),b=n.kdf={},ee=b.OpenSSL={execute:function(e,t,n,r,i){if(r||=a.random(64/8),i)var o=l.create({keySize:t+n,hasher:i}).compute(e,r);else var o=l.create({keySize:t+n}).compute(e,r);var s=a.create(o.words.slice(t),n*4);return o.sigBytes=t*4,g.create({key:o,iv:s,salt:r})}},x=r.PasswordBasedCipher=y.extend({cfg:y.cfg.extend({kdf:ee}),encrypt:function(e,t,n,r){r=this.cfg.extend(r);var i=r.kdf.execute(n,e.keySize,e.ivSize,r.salt,r.hasher);r.iv=i.iv;var a=y.encrypt.call(this,e,t,i.key,r);return a.mixIn(i),a},decrypt:function(e,t,n,r){r=this.cfg.extend(r),t=this._parse(t,r.format);var i=r.kdf.execute(n,e.keySize,e.ivSize,t.salt,r.hasher);return r.iv=i.iv,y.decrypt.call(this,e,t,i.key,r)}})}()})})),ze=n(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(B(),Re()):typeof define==`function`&&define.amd?define([`./core`,`./cipher-core`],r):r(n.CryptoJS)})(e,function(e){return e.mode.CFB=function(){var t=e.lib.BlockCipherMode.extend();t.Encryptor=t.extend({processBlock:function(e,t){var r=this._cipher,i=r.blockSize;n.call(this,e,t,i,r),this._prevBlock=e.slice(t,t+i)}}),t.Decryptor=t.extend({processBlock:function(e,t){var r=this._cipher,i=r.blockSize,a=e.slice(t,t+i);n.call(this,e,t,i,r),this._prevBlock=a}});function n(e,t,n,r){var i,a=this._iv;a?(i=a.slice(0),this._iv=void 0):i=this._prevBlock,r.encryptBlock(i,0);for(var o=0;o{(function(n,r,i){typeof e==`object`?t.exports=e=r(B(),Re()):typeof define==`function`&&define.amd?define([`./core`,`./cipher-core`],r):r(n.CryptoJS)})(e,function(e){return e.mode.CTR=function(){var t=e.lib.BlockCipherMode.extend();return t.Decryptor=t.Encryptor=t.extend({processBlock:function(e,t){var n=this._cipher,r=n.blockSize,i=this._iv,a=this._counter;i&&(a=this._counter=i.slice(0),this._iv=void 0);var o=a.slice(0);n.encryptBlock(o,0),a[r-1]=a[r-1]+1|0;for(var s=0;s{(function(n,r,i){typeof e==`object`?t.exports=e=r(B(),Re()):typeof define==`function`&&define.amd?define([`./core`,`./cipher-core`],r):r(n.CryptoJS)})(e,function(e){return e.mode.CTRGladman=function(){var t=e.lib.BlockCipherMode.extend();function n(e){if((e>>24&255)==255){var t=e>>16&255,n=e>>8&255,r=e&255;t===255?(t=0,n===255?(n=0,r===255?r=0:++r):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=r}else e+=1<<24;return e}function r(e){return(e[0]=n(e[0]))===0&&(e[1]=n(e[1])),e}return t.Decryptor=t.Encryptor=t.extend({processBlock:function(e,t){var n=this._cipher,i=n.blockSize,a=this._iv,o=this._counter;a&&(o=this._counter=a.slice(0),this._iv=void 0),r(o);var s=o.slice(0);n.encryptBlock(s,0);for(var c=0;c{(function(n,r,i){typeof e==`object`?t.exports=e=r(B(),Re()):typeof define==`function`&&define.amd?define([`./core`,`./cipher-core`],r):r(n.CryptoJS)})(e,function(e){return e.mode.OFB=function(){var t=e.lib.BlockCipherMode.extend();return t.Decryptor=t.Encryptor=t.extend({processBlock:function(e,t){var n=this._cipher,r=n.blockSize,i=this._iv,a=this._keystream;i&&(a=this._keystream=i.slice(0),this._iv=void 0),n.encryptBlock(a,0);for(var o=0;o{(function(n,r,i){typeof e==`object`?t.exports=e=r(B(),Re()):typeof define==`function`&&define.amd?define([`./core`,`./cipher-core`],r):r(n.CryptoJS)})(e,function(e){return e.mode.ECB=function(){var t=e.lib.BlockCipherMode.extend();return t.Encryptor=t.extend({processBlock:function(e,t){this._cipher.encryptBlock(e,t)}}),t.Decryptor=t.extend({processBlock:function(e,t){this._cipher.decryptBlock(e,t)}}),t}(),e.mode.ECB})})),We=n(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(B(),Re()):typeof define==`function`&&define.amd?define([`./core`,`./cipher-core`],r):r(n.CryptoJS)})(e,function(e){return e.pad.AnsiX923={pad:function(e,t){var n=e.sigBytes,r=t*4,i=r-n%r,a=n+i-1;e.clamp(),e.words[a>>>2]|=i<<24-a%4*8,e.sigBytes+=i},unpad:function(e){var t=e.words[e.sigBytes-1>>>2]&255;e.sigBytes-=t}},e.pad.Ansix923})})),Ge=n(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(B(),Re()):typeof define==`function`&&define.amd?define([`./core`,`./cipher-core`],r):r(n.CryptoJS)})(e,function(e){return e.pad.Iso10126={pad:function(t,n){var r=n*4,i=r-t.sigBytes%r;t.concat(e.lib.WordArray.random(i-1)).concat(e.lib.WordArray.create([i<<24],1))},unpad:function(e){var t=e.words[e.sigBytes-1>>>2]&255;e.sigBytes-=t}},e.pad.Iso10126})})),Ke=n(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(B(),Re()):typeof define==`function`&&define.amd?define([`./core`,`./cipher-core`],r):r(n.CryptoJS)})(e,function(e){return e.pad.Iso97971={pad:function(t,n){t.concat(e.lib.WordArray.create([2147483648],1)),e.pad.ZeroPadding.pad(t,n)},unpad:function(t){e.pad.ZeroPadding.unpad(t),t.sigBytes--}},e.pad.Iso97971})})),qe=n(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(B(),Re()):typeof define==`function`&&define.amd?define([`./core`,`./cipher-core`],r):r(n.CryptoJS)})(e,function(e){return e.pad.ZeroPadding={pad:function(e,t){var n=t*4;e.clamp(),e.sigBytes+=n-(e.sigBytes%n||n)},unpad:function(e){for(var t=e.words,n=e.sigBytes-1,n=e.sigBytes-1;n>=0;n--)if(t[n>>>2]>>>24-n%4*8&255){e.sigBytes=n+1;break}}},e.pad.ZeroPadding})})),Je=n(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(B(),Re()):typeof define==`function`&&define.amd?define([`./core`,`./cipher-core`],r):r(n.CryptoJS)})(e,function(e){return e.pad.NoPadding={pad:function(){},unpad:function(){}},e.pad.NoPadding})})),Ye=n(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(B(),Re()):typeof define==`function`&&define.amd?define([`./core`,`./cipher-core`],r):r(n.CryptoJS)})(e,function(e){return(function(t){var n=e,r=n.lib.CipherParams,i=n.enc.Hex,a=n.format;a.Hex={stringify:function(e){return e.ciphertext.toString(i)},parse:function(e){var t=i.parse(e);return r.create({ciphertext:t})}}})(),e.format.Hex})})),Xe=n(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(B(),Te(),De(),Le(),Re()):typeof define==`function`&&define.amd?define([`./core`,`./enc-base64`,`./md5`,`./evpkdf`,`./cipher-core`],r):r(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib.BlockCipher,r=t.algo,i=[],a=[],o=[],s=[],c=[],l=[],u=[],d=[],f=[],p=[];(function(){for(var e=[],t=0;t<256;t++)t<128?e[t]=t<<1:e[t]=t<<1^283;for(var n=0,r=0,t=0;t<256;t++){var m=r^r<<1^r<<2^r<<3^r<<4;m=m>>>8^m&255^99,i[n]=m,a[m]=n;var h=e[n],g=e[h],_=e[g],v=e[m]*257^m*16843008;o[n]=v<<24|v>>>8,s[n]=v<<16|v>>>16,c[n]=v<<8|v>>>24,l[n]=v;var v=_*16843009^g*65537^h*257^n*16843008;u[m]=v<<24|v>>>8,d[m]=v<<16|v>>>16,f[m]=v<<8|v>>>24,p[m]=v,n?(n=h^e[e[e[_^h]]],r^=e[e[r]]):n=r=1}})();var m=[0,1,2,4,8,16,32,64,128,27,54],h=r.AES=n.extend({_doReset:function(){var e;if(!(this._nRounds&&this._keyPriorReset===this._key)){for(var t=this._keyPriorReset=this._key,n=t.words,r=t.sigBytes/4,a=((this._nRounds=r+6)+1)*4,o=this._keySchedule=[],s=0;s6&&s%r==4&&(e=i[e>>>24]<<24|i[e>>>16&255]<<16|i[e>>>8&255]<<8|i[e&255]):(e=e<<8|e>>>24,e=i[e>>>24]<<24|i[e>>>16&255]<<16|i[e>>>8&255]<<8|i[e&255],e^=m[s/r|0]<<24),o[s]=o[s-r]^e);for(var c=this._invKeySchedule=[],l=0;l>>24]]^d[i[e>>>16&255]]^f[i[e>>>8&255]]^p[i[e&255]]}}},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,o,s,c,l,i)},decryptBlock:function(e,t){var n=e[t+1];e[t+1]=e[t+3],e[t+3]=n,this._doCryptBlock(e,t,this._invKeySchedule,u,d,f,p,a);var n=e[t+1];e[t+1]=e[t+3],e[t+3]=n},_doCryptBlock:function(e,t,n,r,i,a,o,s){for(var c=this._nRounds,l=e[t]^n[0],u=e[t+1]^n[1],d=e[t+2]^n[2],f=e[t+3]^n[3],p=4,m=1;m>>24]^i[u>>>16&255]^a[d>>>8&255]^o[f&255]^n[p++],g=r[u>>>24]^i[d>>>16&255]^a[f>>>8&255]^o[l&255]^n[p++],_=r[d>>>24]^i[f>>>16&255]^a[l>>>8&255]^o[u&255]^n[p++],v=r[f>>>24]^i[l>>>16&255]^a[u>>>8&255]^o[d&255]^n[p++];l=h,u=g,d=_,f=v}var h=(s[l>>>24]<<24|s[u>>>16&255]<<16|s[d>>>8&255]<<8|s[f&255])^n[p++],g=(s[u>>>24]<<24|s[d>>>16&255]<<16|s[f>>>8&255]<<8|s[l&255])^n[p++],_=(s[d>>>24]<<24|s[f>>>16&255]<<16|s[l>>>8&255]<<8|s[u&255])^n[p++],v=(s[f>>>24]<<24|s[l>>>16&255]<<16|s[u>>>8&255]<<8|s[d&255])^n[p++];e[t]=h,e[t+1]=g,e[t+2]=_,e[t+3]=v},keySize:256/32});t.AES=n._createHelper(h)})(),e.AES})})),Ze=n(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(B(),Te(),De(),Le(),Re()):typeof define==`function`&&define.amd?define([`./core`,`./enc-base64`,`./md5`,`./evpkdf`,`./cipher-core`],r):r(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib,r=n.WordArray,i=n.BlockCipher,a=t.algo,o=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],s=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],c=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],l=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],u=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],d=a.DES=i.extend({_doReset:function(){for(var e=this._key.words,t=[],n=0;n<56;n++){var r=o[n]-1;t[n]=e[r>>>5]>>>31-r%32&1}for(var i=this._subKeys=[],a=0;a<16;a++){for(var l=i[a]=[],u=c[a],n=0;n<24;n++)l[n/6|0]|=t[(s[n]-1+u)%28]<<31-n%6,l[4+(n/6|0)]|=t[28+(s[n+24]-1+u)%28]<<31-n%6;l[0]=l[0]<<1|l[0]>>>31;for(var n=1;n<7;n++)l[n]=l[n]>>>(n-1)*4+3;l[7]=l[7]<<5|l[7]>>>27}for(var d=this._invSubKeys=[],n=0;n<16;n++)d[n]=i[15-n]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._subKeys)},decryptBlock:function(e,t){this._doCryptBlock(e,t,this._invSubKeys)},_doCryptBlock:function(e,t,n){this._lBlock=e[t],this._rBlock=e[t+1],f.call(this,4,252645135),f.call(this,16,65535),p.call(this,2,858993459),p.call(this,8,16711935),f.call(this,1,1431655765);for(var r=0;r<16;r++){for(var i=n[r],a=this._lBlock,o=this._rBlock,s=0,c=0;c<8;c++)s|=l[c][((o^i[c])&u[c])>>>0];this._lBlock=o,this._rBlock=a^s}var d=this._lBlock;this._lBlock=this._rBlock,this._rBlock=d,f.call(this,1,1431655765),p.call(this,8,16711935),p.call(this,2,858993459),f.call(this,16,65535),f.call(this,4,252645135),e[t]=this._lBlock,e[t+1]=this._rBlock},keySize:64/32,ivSize:64/32,blockSize:64/32});function f(e,t){var n=(this._lBlock>>>e^this._rBlock)&t;this._rBlock^=n,this._lBlock^=n<>>e^this._lBlock)&t;this._lBlock^=n,this._rBlock^=n<192.`);var t=e.slice(0,2),n=e.length<4?e.slice(0,2):e.slice(2,4),i=e.length<6?e.slice(0,2):e.slice(4,6);this._des1=d.createEncryptor(r.create(t)),this._des2=d.createEncryptor(r.create(n)),this._des3=d.createEncryptor(r.create(i))},encryptBlock:function(e,t){this._des1.encryptBlock(e,t),this._des2.decryptBlock(e,t),this._des3.encryptBlock(e,t)},decryptBlock:function(e,t){this._des3.decryptBlock(e,t),this._des2.encryptBlock(e,t),this._des1.decryptBlock(e,t)},keySize:192/32,ivSize:64/32,blockSize:64/32});t.TripleDES=i._createHelper(m)})(),e.TripleDES})})),Qe=n(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(B(),Te(),De(),Le(),Re()):typeof define==`function`&&define.amd?define([`./core`,`./enc-base64`,`./md5`,`./evpkdf`,`./cipher-core`],r):r(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib.StreamCipher,r=t.algo,i=r.RC4=n.extend({_doReset:function(){for(var e=this._key,t=e.words,n=e.sigBytes,r=this._S=[],i=0;i<256;i++)r[i]=i;for(var i=0,a=0;i<256;i++){var o=i%n,s=t[o>>>2]>>>24-o%4*8&255;a=(a+r[i]+s)%256;var c=r[i];r[i]=r[a],r[a]=c}this._i=this._j=0},_doProcessBlock:function(e,t){e[t]^=a.call(this)},keySize:256/32,ivSize:0});function a(){for(var e=this._S,t=this._i,n=this._j,r=0,i=0;i<4;i++){t=(t+1)%256,n=(n+e[t])%256;var a=e[t];e[t]=e[n],e[n]=a,r|=e[(e[t]+e[n])%256]<<24-i*8}return this._i=t,this._j=n,r}t.RC4=n._createHelper(i);var o=r.RC4Drop=i.extend({cfg:i.cfg.extend({drop:192}),_doReset:function(){i._doReset.call(this);for(var e=this.cfg.drop;e>0;e--)a.call(this)}});t.RC4Drop=n._createHelper(o)})(),e.RC4})})),$e=n(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(B(),Te(),De(),Le(),Re()):typeof define==`function`&&define.amd?define([`./core`,`./enc-base64`,`./md5`,`./evpkdf`,`./cipher-core`],r):r(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib.StreamCipher,r=t.algo,i=[],a=[],o=[],s=r.Rabbit=n.extend({_doReset:function(){for(var e=this._key.words,t=this.cfg.iv,n=0;n<4;n++)e[n]=(e[n]<<8|e[n]>>>24)&16711935|(e[n]<<24|e[n]>>>8)&4278255360;var r=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],i=this._C=[e[2]<<16|e[2]>>>16,e[0]&4294901760|e[1]&65535,e[3]<<16|e[3]>>>16,e[1]&4294901760|e[2]&65535,e[0]<<16|e[0]>>>16,e[2]&4294901760|e[3]&65535,e[1]<<16|e[1]>>>16,e[3]&4294901760|e[0]&65535];this._b=0;for(var n=0;n<4;n++)c.call(this);for(var n=0;n<8;n++)i[n]^=r[n+4&7];if(t){var a=t.words,o=a[0],s=a[1],l=(o<<8|o>>>24)&16711935|(o<<24|o>>>8)&4278255360,u=(s<<8|s>>>24)&16711935|(s<<24|s>>>8)&4278255360,d=l>>>16|u&4294901760,f=u<<16|l&65535;i[0]^=l,i[1]^=d,i[2]^=u,i[3]^=f,i[4]^=l,i[5]^=d,i[6]^=u,i[7]^=f;for(var n=0;n<4;n++)c.call(this)}},_doProcessBlock:function(e,t){var n=this._X;c.call(this),i[0]=n[0]^n[5]>>>16^n[3]<<16,i[1]=n[2]^n[7]>>>16^n[5]<<16,i[2]=n[4]^n[1]>>>16^n[7]<<16,i[3]=n[6]^n[3]>>>16^n[1]<<16;for(var r=0;r<4;r++)i[r]=(i[r]<<8|i[r]>>>24)&16711935|(i[r]<<24|i[r]>>>8)&4278255360,e[t+r]^=i[r]},blockSize:128/32,ivSize:64/32});function c(){for(var e=this._X,t=this._C,n=0;n<8;n++)a[n]=t[n];t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0;for(var n=0;n<8;n++){var r=e[n]+t[n],i=r&65535,s=r>>>16;o[n]=((i*i>>>17)+i*s>>>15)+s*s^((r&4294901760)*r|0)+((r&65535)*r|0)}e[0]=o[0]+(o[7]<<16|o[7]>>>16)+(o[6]<<16|o[6]>>>16)|0,e[1]=o[1]+(o[0]<<8|o[0]>>>24)+o[7]|0,e[2]=o[2]+(o[1]<<16|o[1]>>>16)+(o[0]<<16|o[0]>>>16)|0,e[3]=o[3]+(o[2]<<8|o[2]>>>24)+o[1]|0,e[4]=o[4]+(o[3]<<16|o[3]>>>16)+(o[2]<<16|o[2]>>>16)|0,e[5]=o[5]+(o[4]<<8|o[4]>>>24)+o[3]|0,e[6]=o[6]+(o[5]<<16|o[5]>>>16)+(o[4]<<16|o[4]>>>16)|0,e[7]=o[7]+(o[6]<<8|o[6]>>>24)+o[5]|0}t.Rabbit=n._createHelper(s)})(),e.Rabbit})})),et=n(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(B(),Te(),De(),Le(),Re()):typeof define==`function`&&define.amd?define([`./core`,`./enc-base64`,`./md5`,`./evpkdf`,`./cipher-core`],r):r(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib.StreamCipher,r=t.algo,i=[],a=[],o=[],s=r.RabbitLegacy=n.extend({_doReset:function(){var e=this._key.words,t=this.cfg.iv,n=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],r=this._C=[e[2]<<16|e[2]>>>16,e[0]&4294901760|e[1]&65535,e[3]<<16|e[3]>>>16,e[1]&4294901760|e[2]&65535,e[0]<<16|e[0]>>>16,e[2]&4294901760|e[3]&65535,e[1]<<16|e[1]>>>16,e[3]&4294901760|e[0]&65535];this._b=0;for(var i=0;i<4;i++)c.call(this);for(var i=0;i<8;i++)r[i]^=n[i+4&7];if(t){var a=t.words,o=a[0],s=a[1],l=(o<<8|o>>>24)&16711935|(o<<24|o>>>8)&4278255360,u=(s<<8|s>>>24)&16711935|(s<<24|s>>>8)&4278255360,d=l>>>16|u&4294901760,f=u<<16|l&65535;r[0]^=l,r[1]^=d,r[2]^=u,r[3]^=f,r[4]^=l,r[5]^=d,r[6]^=u,r[7]^=f;for(var i=0;i<4;i++)c.call(this)}},_doProcessBlock:function(e,t){var n=this._X;c.call(this),i[0]=n[0]^n[5]>>>16^n[3]<<16,i[1]=n[2]^n[7]>>>16^n[5]<<16,i[2]=n[4]^n[1]>>>16^n[7]<<16,i[3]=n[6]^n[3]>>>16^n[1]<<16;for(var r=0;r<4;r++)i[r]=(i[r]<<8|i[r]>>>24)&16711935|(i[r]<<24|i[r]>>>8)&4278255360,e[t+r]^=i[r]},blockSize:128/32,ivSize:64/32});function c(){for(var e=this._X,t=this._C,n=0;n<8;n++)a[n]=t[n];t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0>>0?1:0)|0,this._b=t[7]>>>0>>0?1:0;for(var n=0;n<8;n++){var r=e[n]+t[n],i=r&65535,s=r>>>16;o[n]=((i*i>>>17)+i*s>>>15)+s*s^((r&4294901760)*r|0)+((r&65535)*r|0)}e[0]=o[0]+(o[7]<<16|o[7]>>>16)+(o[6]<<16|o[6]>>>16)|0,e[1]=o[1]+(o[0]<<8|o[0]>>>24)+o[7]|0,e[2]=o[2]+(o[1]<<16|o[1]>>>16)+(o[0]<<16|o[0]>>>16)|0,e[3]=o[3]+(o[2]<<8|o[2]>>>24)+o[1]|0,e[4]=o[4]+(o[3]<<16|o[3]>>>16)+(o[2]<<16|o[2]>>>16)|0,e[5]=o[5]+(o[4]<<8|o[4]>>>24)+o[3]|0,e[6]=o[6]+(o[5]<<16|o[5]>>>16)+(o[4]<<16|o[4]>>>16)|0,e[7]=o[7]+(o[6]<<8|o[6]>>>24)+o[5]|0}t.RabbitLegacy=n._createHelper(s)})(),e.RabbitLegacy})})),tt=n(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(B(),Te(),De(),Le(),Re()):typeof define==`function`&&define.amd?define([`./core`,`./enc-base64`,`./md5`,`./evpkdf`,`./cipher-core`],r):r(n.CryptoJS)})(e,function(e){return(function(){var t=e,n=t.lib.BlockCipher,r=t.algo;let i=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],a=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]];var o={pbox:[],sbox:[]};function s(e,t){let n=t>>24&255,r=t>>16&255,i=t>>8&255,a=t&255,o=e.sbox[0][n]+e.sbox[1][r];return o^=e.sbox[2][i],o+=e.sbox[3][a],o}function c(e,t,n){let r=t,i=n,a;for(let t=0;t<16;++t)r^=e.pbox[t],i=s(e,r)^i,a=r,r=i,i=a;return a=r,r=i,i=a,i^=e.pbox[16],r^=e.pbox[17],{left:r,right:i}}function l(e,t,n){let r=t,i=n,a;for(let t=17;t>1;--t)r^=e.pbox[t],i=s(e,r)^i,a=r,r=i,i=a;return a=r,r=i,i=a,i^=e.pbox[1],r^=e.pbox[0],{left:r,right:i}}function u(e,t,n){for(let t=0;t<4;t++){e.sbox[t]=[];for(let n=0;n<256;n++)e.sbox[t][n]=a[t][n]}let r=0;for(let a=0;a<18;a++)e.pbox[a]=i[a]^t[r],r++,r>=n&&(r=0);let o=0,s=0,l=0;for(let t=0;t<18;t+=2)l=c(e,o,s),o=l.left,s=l.right,e.pbox[t]=o,e.pbox[t+1]=s;for(let t=0;t<4;t++)for(let n=0;n<256;n+=2)l=c(e,o,s),o=l.left,s=l.right,e.sbox[t][n]=o,e.sbox[t][n+1]=s;return!0}var d=r.Blowfish=n.extend({_doReset:function(){if(this._keyPriorReset!==this._key){var e=this._keyPriorReset=this._key,t=e.words;u(o,t,e.sigBytes/4)}},encryptBlock:function(e,t){var n=c(o,e[t],e[t+1]);e[t]=n.left,e[t+1]=n.right},decryptBlock:function(e,t){var n=l(o,e[t],e[t+1]);e[t]=n.left,e[t+1]=n.right},blockSize:64/32,keySize:128/32,ivSize:64/32});t.Blowfish=n._createHelper(d)})(),e.Blowfish})})),nt=e(n(((e,t)=>{(function(n,r,i){typeof e==`object`?t.exports=e=r(B(),Se(),Ce(),we(),Te(),Ee(),De(),Oe(),ke(),Ae(),je(),Me(),Ne(),Pe(),Fe(),Ie(),Le(),Re(),ze(),Be(),Ve(),He(),Ue(),We(),Ge(),Ke(),qe(),Je(),Ye(),Xe(),Ze(),Qe(),$e(),et(),tt()):typeof define==`function`&&define.amd?define(`./core,./x64-core,./lib-typedarrays,./enc-utf16,./enc-base64,./enc-base64url,./md5,./sha1,./sha256,./sha224,./sha512,./sha384,./sha3,./ripemd160,./hmac,./pbkdf2,./evpkdf,./cipher-core,./mode-cfb,./mode-ctr,./mode-ctr-gladman,./mode-ofb,./mode-ecb,./pad-ansix923,./pad-iso10126,./pad-iso97971,./pad-zeropadding,./pad-nopadding,./format-hex,./aes,./tripledes,./rc4,./rabbit,./rabbit-legacy,./blowfish`.split(`,`),r):n.CryptoJS=r(n.CryptoJS)})(e,function(e){return e})}))(),1);const rt=e=>{try{let t=JSON.stringify(e);return nt.default.AES.encrypt(t,be.name).toString()}catch(e){return console.error(`数据加密失败:`,e),``}},it=e=>{try{let t=nt.default.AES.decrypt(e,be.name).toString(nt.default.enc.Utf8);return JSON.parse(t)}catch(e){return console.error(`数据解密失败:`,e),{}}},at=ye(`game`,{state:()=>({gameTime:Date.now(),isPaused:!1,player:{id:`player1`,name:``,planets:[],technologies:{},officers:{},researchQueue:[],fleetMissions:[],battleReports:[],spyReports:[]},currentPlanetId:``,isDark:``,locale:`zh-CN`,sidebarCollapsed:!(window.innerWidth<1024),universePlanets:{}}),getters:{currentPlanet(){return this.player.planets.find(e=>e.id===this.currentPlanetId)},getMoonForPlanet(){return e=>this.player.planets.find(t=>t.parentPlanetId===e&&t.isMoon)}},persist:{key:be.name,storage:localStorage,serializer:{serialize:e=>rt(e),deserialize:e=>it(e)}}});var ot=ee(!1);const st=()=>{let e=at();D(()=>{e.isDark?ot.value=e.isDark===`dark`:(ot.value=window.matchMedia(`(prefers-color-scheme: dark)`).matches,e.isDark=ot.value?`dark`:`light`),t()}),A(ot,()=>{t(),e.isDark=ot.value?`dark`:`light`});let t=()=>{ot.value?document.documentElement.classList.add(`dark`):document.documentElement.classList.remove(`dark`)};return{isDark:ot,toggleTheme:()=>{ot.value=!ot.value}}};var ct={common:{confirm:`确认`,cancel:`取消`,delete:`删除`,edit:`编辑`,save:`保存`,close:`关闭`,back:`返回`,next:`下一步`,previous:`上一步`,submit:`提交`,reset:`重置`,search:`搜索`,filter:`筛选`,loading:`加载中...`,noData:`暂无数据`,error:`错误`,success:`成功`,warning:`警告`,info:`信息`,resourceType:`资源类型`,playerName:`指挥官`,timeHour:`时`,timeMinute:`分`,timeSecond:`秒`,featureLocked:`功能已锁定`,unlockRequired:`需要解锁前置建筑`,requiredBuilding:`所需建筑`,currentLevel:`当前等级`,goToBuildings:`前往建筑页面`,locked:`已锁定`,viewRequirements:`查看前置条件`,requirementsNotMet:`前置条件未满足`,current:`当前`},errors:{requirementsNotMet:`不满足前置条件`,insufficientResources:`资源不足`,shieldDomeLimit:`护盾罩数量限制`,fleetMissionsFull:`舰队任务槽位已满`,insufficientFleet:`舰队数量不足`,insufficientFuel:`燃料不足`,planetOnly:`该建筑只能在行星上建造`,moonOnly:`该建筑只能在月球上建造`,buildQueueFull:`建造队列已满`,insufficientSpace:`空间不足`,buildingLevelZero:`建筑等级为0,无法拆除`,researchQueueFull:`研究队列已满`,moonExists:`已存在月球`,insufficientDebris:`残骸场不足`},nav:{overview:`总览`,buildings:`建筑`,research:`研究`,shipyard:`船坞`,defense:`防御`,fleet:`舰队`,officers:`军官`,simulator:`模拟`,galaxy:`星系`,messages:`消息`,settings:`设置`},sidebar:{language:`语言`,lightMode:`日间模式`,darkMode:`夜间模式`,collapse:`收起菜单`,expand:`展开菜单`},resources:{metal:`金属`,crystal:`晶体`,deuterium:`重氢`,darkMatter:`暗物质`,energy:`能量`,production:`产量`,capacity:`容量`,current:`当前储量`,max:`最大容量`,perHour:`小时`},planet:{planet:`星球`,moon:`月球`,colony:`殖民地`,position:`位置`,coordinates:`坐标`,switchToMoon:`查看月球`,backToPlanet:`返回母星`,fields:`场地`,temperature:`温度`,homePlanet:`母星`,planetPrefix:`星球`,moonSuffix:`的月球`,colonyPrefix:`殖民地`},player:{points:`总积分`},buildings:{metalMine:`金属矿`,crystalMine:`晶体矿`,deuteriumSynthesizer:`重氢合成器`,solarPlant:`太阳能电站`,roboticsFactory:`机器人工厂`,naniteFactory:`纳米工厂`,shipyard:`船坞`,researchLab:`研究实验室`,metalStorage:`金属仓库`,crystalStorage:`晶体仓库`,deuteriumTank:`重氢罐`,darkMatterCollector:`暗物质收集器`,lunarBase:`月球基地`,sensorPhalanx:`传感器阵列`,jumpGate:`跳跃门`,buildTime:`建造时间`,production:`产量`,consumption:`消耗`,totalCost:`累积成本`,totalPoints:`累积积分`,levelRange:`等级范围`},buildingDescriptions:{metalMine:`开采金属资源`,crystalMine:`开采晶体资源`,deuteriumSynthesizer:`合成重氢资源`,solarPlant:`提供能源`,roboticsFactory:`加快建造速度`,naniteFactory:`增加建造队列数量,每级+1队列(最多10个)`,shipyard:`建造舰船`,researchLab:`研究科技`,metalStorage:`增加金属存储上限`,crystalStorage:`增加晶体存储上限`,deuteriumTank:`增加重氢存储上限`,darkMatterCollector:`收集稀有的暗物质资源`,lunarBase:`增加月球可用空间`,sensorPhalanx:`侦测周围星系的舰队活动`,jumpGate:`瞬间传送舰队到其他月球`},ships:{lightFighter:`轻型战斗机`,heavyFighter:`重型战斗机`,cruiser:`巡洋舰`,battleship:`战列舰`,smallCargo:`小型运输船`,largeCargo:`大型运输船`,colonyShip:`殖民船`,recycler:`回收船`,espionageProbe:`间谍探测器`,darkMatterHarvester:`暗物质采集船`},shipDescriptions:{lightFighter:`基础战斗单位`,heavyFighter:`重装战斗机`,cruiser:`中型战舰,攻守平衡`,battleship:`强力战舰`,smallCargo:`运输少量资源`,largeCargo:`运输大量资源`,colonyShip:`用于殖民新星球`,recycler:`收集残骸场资源`,espionageProbe:`侦察敌方星球`,darkMatterHarvester:`专门用于采集暗物质的特殊飞船`},defenses:{rocketLauncher:`火箭发射器`,lightLaser:`轻型激光炮`,heavyLaser:`重型激光炮`,gaussCannon:`高斯炮`,ionCannon:`离子炮`,plasmaTurret:`等离子炮塔`,smallShieldDome:`小型护盾罩`,largeShieldDome:`大型护盾罩`},defenseDescriptions:{rocketLauncher:`基础防御设施`,lightLaser:`轻型能量武器`,heavyLaser:`重型能量武器`,gaussCannon:`高速动能武器`,ionCannon:`破坏护盾的利器`,plasmaTurret:`强力防御设施`,smallShieldDome:`保护整个星球的小型护盾`,largeShieldDome:`保护整个星球的大型护盾`},research:{researchTime:`研究时间`,totalCost:`累积成本`,totalPoints:`累积积分`,levelRange:`等级范围`},technologies:{energyTechnology:`能源技术`,laserTechnology:`激光技术`,ionTechnology:`离子技术`,hyperspaceTechnology:`超空间技术`,plasmaTechnology:`等离子技术`,computerTechnology:`计算机技术`,combustionDrive:`燃烧引擎`,impulseDrive:`脉冲引擎`,hyperspaceDrive:`超空间引擎`,darkMatterTechnology:`暗物质技术`},technologyDescriptions:{energyTechnology:`提高能源利用效率`,laserTechnology:`激光武器和防御的基础`,ionTechnology:`离子武器技术`,hyperspaceTechnology:`超空间跳跃技术`,plasmaTechnology:`等离子武器技术`,computerTechnology:`增加研究队列数量,每级+1队列(最多10个)`,combustionDrive:`基础推进技术`,impulseDrive:`中级推进技术`,hyperspaceDrive:`高级推进技术`,darkMatterTechnology:`研究暗物质的性质和应用`},officers:{commander:`指挥官`,admiral:`上将`,engineer:`工程师`,geologist:`地质学家`,technocrat:`技术专家`,darkMatterSpecialist:`暗物质专家`},officerDescriptions:{commander:`提升建筑速度和管理能力`,admiral:`提升舰队战斗力和速度`,engineer:`提升能源和防御能力`,geologist:`提升资源产量`,technocrat:`提升研究速度和间谍能力`,darkMatterSpecialist:`提升暗物质采集效率`},queue:{buildQueue:`建造队列`,researchQueue:`研究队列`,building:`建造中`,researching:`研究中`,remaining:`剩余时间`,cancel:`取消`,cancelBuild:`取消建造`,cancelResearch:`取消研究`,confirmCancel:`确定要取消吗?将返还50%的资源。`,level:`等级`,upgradeToLevel:`升级到等级`},overview:{title:`星球总览`,resourceOverview:`资源概览`,fleetInfo:`舰队`,currentShips:`当前星球的舰船数量`},buildingsView:{title:`建筑`,usedSpace:`已用空间`,spaceUsage:`占用空间`,level:`等级`,upgradeCost:`升级消耗`,buildTime:`建造时间`,upgrade:`升级`,upgradeFailed:`升级失败`,upgradeFailedMessage:`请检查资源是否足够、空间是否充足或是否有其他建造任务。`,demolish:`拆除`,demolishRefund:`拆除返还`,demolishFailed:`拆除失败`,demolishFailedMessage:`无法拆除该建筑,请检查建造队列是否已满或建筑等级是否为0。`},researchView:{title:`研究`,researchCost:`研究消耗`,research:`研究`,researchFailed:`研究失败`,researchFailedMessage:`请检查资源是否足够、前置条件是否满足,或是否有其他研究任务。`},shipyard:{attack:`攻击力`,shield:`护盾`,armor:`装甲`,speed:`速度`,cargoCapacity:`载货量`,fuelConsumption:`燃料消耗`,buildCost:`建造成本`,buildTime:`建造时间`,perUnit:`每个单位`,batchCalculator:`批量建造计算器`,quantity:`数量`,totalCost:`总成本`,totalTime:`总时间`},shipyardView:{title:`船坞`,attack:`攻击力`,shield:`护盾`,speed:`速度`,cargoCapacity:`载货量`,unitCost:`单位成本`,buildQuantity:`建造数量`,totalCost:`总成本`,build:`建造`,inputError:`输入错误`,inputErrorMessage:`请输入建造数量!`,buildFailed:`建造失败`,buildFailedMessage:`请检查资源是否足够或前置条件是否满足。`},defense:{attack:`攻击力`,shield:`护盾`,armor:`装甲`,buildCost:`建造成本`,buildTime:`建造时间`,perUnit:`每个单位`,batchCalculator:`批量建造计算器`,quantity:`数量`,totalCost:`总成本`,totalTime:`总时间`},defenseView:{title:`防御设施`,attack:`攻击力`,shield:`护盾`,armor:`装甲`,buildTime:`建造时间`,seconds:`秒`,unitCost:`单位成本`,buildQuantity:`建造数量`,totalCost:`总成本`,build:`建造`,shieldDomeBuilt:`护盾罩已建造`,inputError:`输入错误`,inputErrorMessage:`请输入建造数量!`,buildFailed:`建造失败`,buildFailedMessage:`请检查资源是否足够或前置条件是否满足。护盾罩只能建造一个。`},fleetView:{title:`舰队管理`,fleetOverview:`舰队总览`,sendFleet:`派遣舰队`,flightMissions:`飞行任务`,currentPlanetFleet:`当前星球舰队`,attack:`攻击`,shield:`护盾`,armor:`装甲`,speed:`速度`,cargo:`载货`,selectFleet:`选择舰队`,selectFleetDescription:`选择要派遣的舰船数量`,available:`可用`,all:`全部`,targetCoordinates:`目标坐标`,galaxy:`银河系`,system:`星系`,position:`位置`,missionType:`任务类型`,missionInfo:`任务信息`,fuelConsumption:`燃料消耗`,flightTime:`飞行时间`,attackMission:`攻击`,transport:`运输`,colonize:`殖民`,spy:`侦察`,deploy:`部署`,transportResources:`运输资源`,totalCargoCapacity:`总载货量`,used:`已用`,noFlightMissions:`暂无飞行任务`,outbound:`前往`,returning:`返回`,fleetComposition:`舰队组成`,carryingResources:`携带资源`,arrivalTime:`到达时间`,returnTime:`返回时间`,recallFleet:`召回舰队`,sendFailed:`派遣失败`,sendFailedMessage:`请检查舰队数量、燃料是否充足,或载货量是否超出限制。`,recallFailed:`召回失败`,recallFailedMessage:`该任务无法召回。`,unknownPlanet:`未知星球`,fleetMissionSlots:`舰队任务槽位`},officersView:{title:`军官`,activated:`已激活`,inactive:`未激活`,activeStatus:`激活状态`,expirationTime:`到期时间`,remainingTime:`剩余时间`,recruitCost:`招募成本`,days:`天`,benefitsBonus:`效果加成`,resourceProduction:`资源产量`,darkMatterProduction:`暗物质产量`,energyProduction:`电量产出`,buildingSpeed:`建筑速度`,researchSpeed:`研究速度`,fleetSpeed:`舰队速度`,fuelConsumption:`燃料消耗`,defense:`防御力`,storageCapacity:`仓储容量`,buildQueue:`建筑队列`,fleetSlots:`舰队槽位`,hire:`招募`,renew:`续约`,dismiss:`解雇`,hireTitle:`招募军官`,hireMessage:`确定要招募 {name} 吗?有效期为7天。`,renewTitle:`续约军官`,renewMessage:`确定要为 {name} 续约7天吗?`,dismissTitle:`解雇军官`,dismissMessage:`确定要解雇 {name} 吗?不会返还任何费用。`,hireFailed:`招募失败`,renewFailed:`续约失败`,insufficientResources:`资源不足!`},galaxyView:{title:`星系`,selectCoordinates:`选择坐标`,galaxy:`银河系`,selectGalaxy:`选择银河系`,system:`星系`,selectSystem:`选择星系`,view:`查看`,myPlanet:`我的星球`,totalPositions:`共10个星球位置`,mine:`我的`,hostile:`敌对`,emptySlot:`空位 - 可殖民`,scout:`侦察`,attack:`攻击`,colonize:`殖民`,switch:`切换`,scoutPlanetTitle:`侦察星球`,attackPlanetTitle:`攻击星球`,colonizePlanetTitle:`殖民星球`,scoutPlanetMessage:`确定要派遣间谍探测器侦察星球 [{coordinates}] 吗? 请前往舰队页面选择舰船并派遣。`,attackPlanetMessage:`确定要攻击星球 [{coordinates}] 吗? 请前往舰队页面选择舰船并派遣。`,colonizePlanetMessage:`确定要殖民位置 [{coordinates}] 吗? 请前往舰队页面派遣殖民船。`},messagesView:{title:`消息中心`,battleReports:`战斗报告`,spyReports:`间谍报告`,noBattleReports:`暂无战斗报告`,noSpyReports:`暂无间谍报告`,battleReport:`战斗报告`,spyReport:`间谍报告`,victory:`胜利`,defeat:`失败`,draw:`平局`,attackerFleet:`攻击方舰队`,defenderFleet:`防守方舰队`,defenderDefense:`防守方防御`,attackerLosses:`攻击方损失`,defenderLosses:`防守方损失`,noLosses:`无损失`,plunder:`掠夺资源`,debrisField:`残骸场`,resources:`资源`,fleet:`舰队`,defense:`防御`,buildings:`建筑`},simulatorView:{title:`战斗模拟器`,attacker:`攻击方`,defender:`防守方`,attackerConfig:`攻击方配置`,attackerConfigDesc:`设置攻击方的舰队和科技等级`,defenderConfig:`防守方配置`,defenderConfigDesc:`设置防守方的舰队、防御和科技等级`,fleet:`舰队`,defenseStructures:`防御设施`,techLevels:`科技等级`,weapon:`武器`,shield:`护盾`,armor:`装甲`,defenderResources:`防守方资源(用于掠夺计算)`,startSimulation:`开始模拟`,reset:`重置`,battleResult:`战斗结果`,attackerVictory:`攻击方胜利`,defenderVictory:`防守方胜利`,draw:`平局`,afterRounds:`经过 {rounds} 回合战斗`,attackerLosses:`攻击方损失`,defenderLosses:`防守方损失`,noLosses:`无损失`,attackerRemaining:`攻击方剩余`,defenderRemaining:`防守方剩余`,allDestroyed:`全部摧毁`,plunderableResources:`可掠夺资源`,debrisField:`残骸场`,moonChance:`月球生成概率`,showRoundDetails:`显示回合详情`,hideRoundDetails:`隐藏回合详情`,round:`第 {round} 回合`,attackerRemainingPower:`攻击方剩余火力`,defenderRemainingPower:`防守方剩余火力`},settings:{dataManagement:`数据管理`,dataManagementDesc:`导出、导入或清除游戏数据`,exportData:`导出数据`,exportDataDesc:`将游戏进度导出为JSON文件`,export:`导出`,exporting:`导出中...`,exportSuccess:`导出成功`,exportFailed:`导出失败,请重试`,importData:`导入数据`,importDataDesc:`从JSON文件恢复游戏进度`,selectFile:`导入`,importSuccess:`导入成功`,importConfirmTitle:`确认导入数据`,importConfirmMessage:`导入数据将覆盖当前游戏进度,此操作不可撤销。确定要继续吗?`,importFailed:`导入失败,请检查文件格式`,clearData:`清除数据`,clearDataDesc:`删除所有游戏数据并重置游戏`,clear:`清除`,clearConfirmTitle:`确认清除数据`,clearConfirmMessage:`这将删除所有游戏数据并重新开始,此操作不可撤销。确定要继续吗?`,gameSettings:`游戏设置`,gameSettingsDesc:`调整游戏参数和偏好设置`,playerName:`玩家名称`,gameSpeed:`游戏速度`,gameSpeedDesc:`当前游戏速度倍率`,about:`关于`,version:`版本`,buildDate:`构建日期`,community:`社区`,github:`GitHub 仓库`,qqGroup:`QQ 交流群`}},lt={common:{confirm:`確認`,cancel:`取消`,delete:`刪除`,edit:`編輯`,save:`儲存`,close:`關閉`,back:`返回`,next:`下一步`,previous:`上一步`,submit:`提交`,reset:`重置`,search:`搜尋`,filter:`篩選`,loading:`載入中...`,noData:`暫無資料`,error:`錯誤`,success:`成功`,warning:`警告`,info:`資訊`,resourceType:`資源類型`,playerName:`指揮官`,timeHour:`時`,timeMinute:`分`,timeSecond:`秒`,featureLocked:`功能已鎖定`,unlockRequired:`需要解鎖前置建築`,requiredBuilding:`所需建築`,currentLevel:`當前等級`,goToBuildings:`前往建築頁面`,locked:`已鎖定`,viewRequirements:`查看前置條件`,requirementsNotMet:`前置條件未滿足`,current:`當前`},errors:{requirementsNotMet:`不滿足前置條件`,insufficientResources:`資源不足`,shieldDomeLimit:`護盾罩數量限制`,fleetMissionsFull:`艦隊任務槽位已滿`,insufficientFleet:`艦隊數量不足`,insufficientFuel:`燃料不足`,planetOnly:`該建築只能在行星上建造`,moonOnly:`該建築只能在月球上建造`,buildQueueFull:`建造隊列已滿`,insufficientSpace:`空間不足`,buildingLevelZero:`建築等級為0,無法拆除`,researchQueueFull:`研究隊列已滿`,moonExists:`已存在月球`,insufficientDebris:`殘骸場不足`},nav:{overview:`總覽`,buildings:`建築`,research:`研究`,shipyard:`船塢`,defense:`防禦`,fleet:`艦隊`,officers:`軍官`,simulator:`模擬`,galaxy:`星系`,messages:`訊息`,settings:`設定`},sidebar:{language:`語言`,lightMode:`日間模式`,darkMode:`夜間模式`,collapse:`收起選單`,expand:`展開選單`},resources:{metal:`金屬`,crystal:`晶體`,deuterium:`重氫`,darkMatter:`暗物質`,energy:`能量`,production:`產量`,capacity:`容量`,current:`當前儲量`,max:`最大容量`,perHour:`小時`},planet:{planet:`星球`,moon:`月球`,colony:`殖民地`,position:`位置`,coordinates:`座標`,switchToMoon:`查看月球`,backToPlanet:`返回母星`,fields:`場地`,temperature:`溫度`,homePlanet:`母星`,planetPrefix:`星球`,moonSuffix:`的月球`,colonyPrefix:`殖民地`},player:{points:`總積分`},buildings:{metalMine:`金屬礦`,crystalMine:`晶體礦`,deuteriumSynthesizer:`重氫合成器`,solarPlant:`太陽能電站`,roboticsFactory:`機器人工廠`,naniteFactory:`納米工廠`,shipyard:`船塢`,researchLab:`研究實驗室`,metalStorage:`金屬倉庫`,crystalStorage:`晶體倉庫`,deuteriumTank:`重氫罐`,darkMatterCollector:`暗物質收集器`,lunarBase:`月球基地`,sensorPhalanx:`傳感器陣列`,jumpGate:`跳躍門`,buildTime:`建造時間`,production:`產量`,consumption:`消耗`,totalCost:`累積成本`,totalPoints:`累積積分`,levelRange:`等級範圍`},buildingDescriptions:{metalMine:`開採金屬資源`,crystalMine:`開採晶體資源`,deuteriumSynthesizer:`合成重氫資源`,solarPlant:`提供能源`,roboticsFactory:`加快建造速度`,naniteFactory:`增加建造佇列數量,每級+1佇列(最多10個)`,shipyard:`建造艦船`,researchLab:`研究科技`,metalStorage:`增加金屬儲存上限`,crystalStorage:`增加晶體儲存上限`,deuteriumTank:`增加重氫儲存上限`,darkMatterCollector:`收集稀有的暗物質資源`,lunarBase:`增加月球可用空間`,sensorPhalanx:`偵測周圍星系的艦隊活動`,jumpGate:`瞬間傳送艦隊到其他月球`},ships:{lightFighter:`輕型戰鬥機`,heavyFighter:`重型戰鬥機`,cruiser:`巡洋艦`,battleship:`戰列艦`,smallCargo:`小型運輸船`,largeCargo:`大型運輸船`,colonyShip:`殖民船`,recycler:`回收船`,espionageProbe:`間諜探測器`,darkMatterHarvester:`暗物質採集船`},shipDescriptions:{lightFighter:`基礎戰鬥單位`,heavyFighter:`重裝戰鬥機`,cruiser:`中型戰艦,攻守平衡`,battleship:`強力戰艦`,smallCargo:`運輸少量資源`,largeCargo:`運輸大量資源`,colonyShip:`用於殖民新星球`,recycler:`收集殘骸場資源`,espionageProbe:`偵察敵方星球`,darkMatterHarvester:`專門用於採集暗物質的特殊飛船`},defenses:{rocketLauncher:`火箭發射器`,lightLaser:`輕型激光炮`,heavyLaser:`重型激光炮`,gaussCannon:`高斯炮`,ionCannon:`離子炮`,plasmaTurret:`等離子炮塔`,smallShieldDome:`小型護盾罩`,largeShieldDome:`大型護盾罩`},defenseDescriptions:{rocketLauncher:`基礎防禦設施`,lightLaser:`輕型能量武器`,heavyLaser:`重型能量武器`,gaussCannon:`高速動能武器`,ionCannon:`破壞護盾的利器`,plasmaTurret:`強力防禦設施`,smallShieldDome:`保護整個星球的小型護盾`,largeShieldDome:`保護整個星球的大型護盾`},research:{researchTime:`研究時間`,totalCost:`累積成本`,totalPoints:`累積積分`,levelRange:`等級範圍`},technologies:{energyTechnology:`能源技術`,laserTechnology:`激光技術`,ionTechnology:`離子技術`,hyperspaceTechnology:`超空間技術`,plasmaTechnology:`等離子技術`,computerTechnology:`計算機技術`,combustionDrive:`燃燒引擎`,impulseDrive:`脈衝引擎`,hyperspaceDrive:`超空間引擎`,darkMatterTechnology:`暗物質技術`},technologyDescriptions:{energyTechnology:`提高能源利用效率`,laserTechnology:`激光武器和防禦的基礎`,ionTechnology:`離子武器技術`,hyperspaceTechnology:`超空間跳躍技術`,plasmaTechnology:`等離子武器技術`,computerTechnology:`增加研究佇列數量,每級+1佇列(最多10個)`,combustionDrive:`基礎推進技術`,impulseDrive:`中級推進技術`,hyperspaceDrive:`高級推進技術`,darkMatterTechnology:`研究暗物質的性質和應用`},officers:{commander:`指揮官`,admiral:`上將`,engineer:`工程師`,geologist:`地質學家`,technocrat:`技術專家`,darkMatterSpecialist:`暗物質專家`},officerDescriptions:{commander:`提升建築速度和管理能力`,admiral:`提升艦隊戰鬥力和速度`,engineer:`提升能源和防禦能力`,geologist:`提升資源產量`,technocrat:`提升研究速度和間諜能力`,darkMatterSpecialist:`提升暗物質採集效率`},queue:{buildQueue:`建造佇列`,researchQueue:`研究佇列`,building:`建造中`,researching:`研究中`,remaining:`剩餘時間`,cancel:`取消`,cancelBuild:`取消建造`,cancelResearch:`取消研究`,confirmCancel:`確定要取消嗎?將返還50%的資源。`,level:`等級`,upgradeToLevel:`升級到等級`},overview:{title:`星球總覽`,resourceOverview:`資源概覽`,fleetInfo:`艦隊資訊`,currentShips:`當前星球的艦船數量`},buildingsView:{title:`建築`,usedSpace:`已用空間`,spaceUsage:`佔用空間`,level:`等級`,upgradeCost:`升級消耗`,buildTime:`建造時間`,upgrade:`升級`,upgradeFailed:`升級失敗`,upgradeFailedMessage:`請檢查資源是否足夠、空間是否充足或是否有其他建造任務。`,demolish:`拆除`,demolishRefund:`拆除返還`,demolishFailed:`拆除失敗`,demolishFailedMessage:`無法拆除該建築,請檢查建造隊列是否已滿或建築等級是否為0。`},researchView:{title:`研究`,researchCost:`研究消耗`,research:`研究`,researchFailed:`研究失敗`,researchFailedMessage:`請檢查資源是否足夠、前置條件是否滿足,或是否有其他研究任務。`},shipyard:{attack:`攻擊力`,shield:`護盾`,armor:`裝甲`,speed:`速度`,cargoCapacity:`載貨量`,fuelConsumption:`燃料消耗`,buildCost:`建造成本`,buildTime:`建造時間`,perUnit:`每個單位`,batchCalculator:`批量建造計算器`,quantity:`數量`,totalCost:`總成本`,totalTime:`總時間`},shipyardView:{title:`船塢`,attack:`攻擊力`,shield:`護盾`,speed:`速度`,cargoCapacity:`載貨量`,unitCost:`單位成本`,buildQuantity:`建造數量`,totalCost:`總成本`,build:`建造`,inputError:`輸入錯誤`,inputErrorMessage:`請輸入建造數量!`,buildFailed:`建造失敗`,buildFailedMessage:`請檢查資源是否足夠或前置條件是否滿足。`},defense:{attack:`攻擊力`,shield:`護盾`,armor:`裝甲`,buildCost:`建造成本`,buildTime:`建造時間`,perUnit:`每個單位`,batchCalculator:`批量建造計算器`,quantity:`數量`,totalCost:`總成本`,totalTime:`總時間`},defenseView:{title:`防禦設施`,attack:`攻擊力`,shield:`護盾`,armor:`裝甲`,buildTime:`建造時間`,seconds:`秒`,unitCost:`單位成本`,buildQuantity:`建造數量`,totalCost:`總成本`,build:`建造`,shieldDomeBuilt:`護盾罩已建造`,inputError:`輸入錯誤`,inputErrorMessage:`請輸入建造數量!`,buildFailed:`建造失敗`,buildFailedMessage:`請檢查資源是否足夠或前置條件是否滿足。護盾罩只能建造一個。`},fleetView:{title:`艦隊管理`,fleetOverview:`艦隊總覽`,sendFleet:`派遣艦隊`,flightMissions:`飛行任務`,currentPlanetFleet:`當前星球艦隊`,attack:`攻擊`,shield:`護盾`,armor:`裝甲`,speed:`速度`,cargo:`載貨`,selectFleet:`選擇艦隊`,selectFleetDescription:`選擇要派遣的艦船數量`,available:`可用`,all:`全部`,targetCoordinates:`目標座標`,galaxy:`銀河系`,system:`星系`,position:`位置`,missionType:`任務類型`,missionInfo:`任務資訊`,fuelConsumption:`燃料消耗`,flightTime:`飛行時間`,attackMission:`攻擊`,transport:`運輸`,colonize:`殖民`,spy:`偵察`,deploy:`部署`,transportResources:`運輸資源`,totalCargoCapacity:`總載貨量`,used:`已用`,noFlightMissions:`暫無飛行任務`,outbound:`前往`,returning:`返回`,fleetComposition:`艦隊組成`,carryingResources:`攜帶資源`,arrivalTime:`到達時間`,returnTime:`返回時間`,recallFleet:`召回艦隊`,sendFailed:`派遣失敗`,sendFailedMessage:`請檢查艦隊數量、燃料是否充足,或載貨量是否超出限制。`,recallFailed:`召回失敗`,recallFailedMessage:`該任務無法召回。`,unknownPlanet:`未知星球`,fleetMissionSlots:`艦隊任務槽位`},officersView:{title:`軍官`,activated:`已啟用`,inactive:`未啟用`,activeStatus:`啟用狀態`,expirationTime:`到期時間`,remainingTime:`剩餘時間`,recruitCost:`招募成本`,days:`天`,benefitsBonus:`效果加成`,resourceProduction:`資源產量`,darkMatterProduction:`暗物質產量`,energyProduction:`電量產出`,buildingSpeed:`建築速度`,researchSpeed:`研究速度`,fleetSpeed:`艦隊速度`,fuelConsumption:`燃料消耗`,defense:`防禦力`,storageCapacity:`倉儲容量`,buildQueue:`建築佇列`,fleetSlots:`艦隊槽位`,hire:`招募`,renew:`續約`,dismiss:`解雇`,hireTitle:`招募軍官`,hireMessage:`確定要招募 {name} 嗎?有效期為7天。`,renewTitle:`續約軍官`,renewMessage:`確定要為 {name} 續約7天嗎?`,dismissTitle:`解雇軍官`,dismissMessage:`確定要解雇 {name} 嗎?不會返還任何費用。`,hireFailed:`招募失敗`,renewFailed:`續約失敗`,insufficientResources:`資源不足!`},galaxyView:{title:`星系`,selectCoordinates:`選擇座標`,galaxy:`銀河系`,selectGalaxy:`選擇銀河系`,system:`星系`,selectSystem:`選擇星系`,view:`查看`,myPlanet:`我的星球`,totalPositions:`共10個星球位置`,mine:`我的`,hostile:`敵對`,emptySlot:`空位 - 可殖民`,scout:`偵察`,attack:`攻擊`,colonize:`殖民`,switch:`切換`,scoutPlanetTitle:`偵察星球`,attackPlanetTitle:`攻擊星球`,colonizePlanetTitle:`殖民星球`,scoutPlanetMessage:`確定要派遣間諜探測器偵察星球 [{coordinates}] 嗎? 請前往艦隊頁面選擇艦船並派遣。`,attackPlanetMessage:`確定要攻擊星球 [{coordinates}] 嗎? 請前往艦隊頁面選擇艦船並派遣。`,colonizePlanetMessage:`確定要殖民位置 [{coordinates}] 嗎? 請前往艦隊頁面派遣殖民船。`},messagesView:{title:`訊息中心`,battleReports:`戰鬥報告`,spyReports:`間諜報告`,noBattleReports:`暫無戰鬥報告`,noSpyReports:`暫無間諜報告`,battleReport:`戰鬥報告`,spyReport:`間諜報告`,victory:`勝利`,defeat:`失敗`,draw:`平局`,attackerFleet:`攻擊方艦隊`,defenderFleet:`防守方艦隊`,defenderDefense:`防守方防禦`,attackerLosses:`攻擊方損失`,defenderLosses:`防守方損失`,noLosses:`無損失`,plunder:`掠奪資源`,debrisField:`殘骸場`,resources:`資源`,fleet:`艦隊`,defense:`防禦`,buildings:`建築`},simulatorView:{title:`戰鬥模擬器`,attacker:`攻擊方`,defender:`防守方`,attackerConfig:`攻擊方配置`,attackerConfigDesc:`設置攻擊方的艦隊和科技等級`,defenderConfig:`防守方配置`,defenderConfigDesc:`設置防守方的艦隊、防禦和科技等級`,fleet:`艦隊`,defenseStructures:`防禦設施`,techLevels:`科技等級`,weapon:`武器`,shield:`護盾`,armor:`裝甲`,defenderResources:`防守方資源(用於掠奪計算)`,startSimulation:`開始模擬`,reset:`重置`,battleResult:`戰鬥結果`,attackerVictory:`攻擊方勝利`,defenderVictory:`防守方勝利`,draw:`平局`,afterRounds:`經過 {rounds} 回合戰鬥`,attackerLosses:`攻擊方損失`,defenderLosses:`防守方損失`,noLosses:`無損失`,attackerRemaining:`攻擊方剩餘`,defenderRemaining:`防守方剩餘`,allDestroyed:`全部摧毀`,plunderableResources:`可掠奪資源`,debrisField:`殘骸場`,moonChance:`月球生成機率`,showRoundDetails:`顯示回合詳情`,hideRoundDetails:`隱藏回合詳情`,round:`第 {round} 回合`,attackerRemainingPower:`攻擊方剩餘火力`,defenderRemainingPower:`防守方剩餘火力`},settings:{dataManagement:`資料管理`,dataManagementDesc:`匯出、匯入或清除遊戲資料`,exportData:`匯出資料`,exportDataDesc:`將遊戲進度匯出為JSON檔案`,export:`匯出`,exporting:`匯出中...`,exportSuccess:`匯出成功`,exportFailed:`匯出失敗,請重試`,importData:`匯入資料`,importDataDesc:`從JSON檔案恢復遊戲進度`,selectFile:`匯入`,importSuccess:`匯入成功`,importConfirmTitle:`確認匯入資料`,importConfirmMessage:`匯入資料將覆蓋目前遊戲進度,此操作不可撤銷。確定要繼續嗎?`,importFailed:`匯入失敗,請檢查檔案格式`,clearData:`清除資料`,clearDataDesc:`刪除所有遊戲資料並重置遊戲`,clear:`清除`,clearConfirmTitle:`確認清除資料`,clearConfirmMessage:`這將刪除所有遊戲資料並重新開始,此操作不可撤銷。確定要繼續嗎?`,gameSettings:`遊戲設定`,gameSettingsDesc:`調整遊戲參數和偏好設定`,playerName:`玩家名稱`,gameSpeed:`遊戲速度`,gameSpeedDesc:`目前遊戲速度倍率`,about:`關於`,version:`版本`,buildDate:`建置日期`,community:`社群`,github:`GitHub 儲存庫`,qqGroup:`QQ 交流群`}},ut={common:{confirm:`Confirm`,cancel:`Cancel`,delete:`Delete`,edit:`Edit`,save:`Save`,close:`Close`,back:`Back`,next:`Next`,previous:`Previous`,submit:`Submit`,reset:`Reset`,search:`Search`,filter:`Filter`,loading:`Loading...`,noData:`No Data`,error:`Error`,success:`Success`,warning:`Warning`,info:`Info`,resourceType:`Resource Type`,playerName:`Commander`,timeHour:`h`,timeMinute:`m`,timeSecond:`s`,featureLocked:`Feature Locked`,unlockRequired:`Building Required`,requiredBuilding:`Required Building`,currentLevel:`Current Level`,goToBuildings:`Go to Buildings`,locked:`Locked`,viewRequirements:`View Requirements`,requirementsNotMet:`Requirements Not Met`,current:`Current`},errors:{requirementsNotMet:`Requirements not met`,insufficientResources:`Insufficient resources`,shieldDomeLimit:`Shield dome limit reached`,fleetMissionsFull:`Fleet mission slots full`,insufficientFleet:`Insufficient fleet`,insufficientFuel:`Insufficient fuel`,planetOnly:`This building can only be built on planets`,moonOnly:`This building can only be built on moons`,buildQueueFull:`Build queue full`,insufficientSpace:`Insufficient space`,buildingLevelZero:`Building level is 0, cannot demolish`,researchQueueFull:`Research queue full`,moonExists:`Moon already exists`,insufficientDebris:`Insufficient debris field`},nav:{overview:`Overview`,buildings:`Buildings`,research:`Research`,shipyard:`Shipyard`,defense:`Defense`,fleet:`Fleet`,officers:`Officers`,simulator:`Simulator`,galaxy:`Galaxy`,messages:`Messages`,settings:`Settings`},sidebar:{language:`Language`,lightMode:`Light Mode`,darkMode:`Dark Mode`,collapse:`Collapse`,expand:`Expand`},resources:{metal:`Metal`,crystal:`Crystal`,deuterium:`Deuterium`,darkMatter:`Dark Matter`,energy:`Energy`,production:`Production`,capacity:`Capacity`,current:`Current`,max:`Max Capacity`,perHour:`hour`},planet:{planet:`Planet`,moon:`Moon`,colony:`Colony`,position:`Position`,coordinates:`Coordinates`,switchToMoon:`View Moon`,backToPlanet:`Back to Planet`,fields:`Fields`,temperature:`Temperature`,homePlanet:`Home Planet`,planetPrefix:`Planet`,moonSuffix:`'s Moon`,colonyPrefix:`Colony`},player:{points:`Total Points`},buildings:{metalMine:`Metal Mine`,crystalMine:`Crystal Mine`,deuteriumSynthesizer:`Deuterium Synthesizer`,solarPlant:`Solar Plant`,roboticsFactory:`Robotics Factory`,naniteFactory:`Nanite Factory`,shipyard:`Shipyard`,researchLab:`Research Lab`,metalStorage:`Metal Storage`,crystalStorage:`Crystal Storage`,deuteriumTank:`Deuterium Tank`,darkMatterCollector:`Dark Matter Collector`,lunarBase:`Lunar Base`,sensorPhalanx:`Sensor Phalanx`,jumpGate:`Jump Gate`,buildTime:`Build Time`,production:`Production`,consumption:`Consumption`,totalCost:`Total Cost`,totalPoints:`Total Points`,levelRange:`Level Range`},buildingDescriptions:{metalMine:`Extracts metal resources`,crystalMine:`Extracts crystal resources`,deuteriumSynthesizer:`Synthesizes deuterium resources`,solarPlant:`Provides energy`,roboticsFactory:`Accelerates construction speed`,naniteFactory:`Increases build queue capacity, +1 per level (max 10)`,shipyard:`Constructs ships`,researchLab:`Researches technologies`,metalStorage:`Increases metal storage capacity`,crystalStorage:`Increases crystal storage capacity`,deuteriumTank:`Increases deuterium storage capacity`,darkMatterCollector:`Collects rare dark matter resources`,lunarBase:`Increases available space on the moon`,sensorPhalanx:`Detects fleet activities in surrounding systems`,jumpGate:`Instantly transfers fleets to other moons`},ships:{lightFighter:`Light Fighter`,heavyFighter:`Heavy Fighter`,cruiser:`Cruiser`,battleship:`Battleship`,smallCargo:`Small Cargo`,largeCargo:`Large Cargo`,colonyShip:`Colony Ship`,recycler:`Recycler`,espionageProbe:`Espionage Probe`,darkMatterHarvester:`Dark Matter Harvester`},shipDescriptions:{lightFighter:`Basic combat unit`,heavyFighter:`Heavily armored fighter`,cruiser:`Medium warship, balanced offense and defense`,battleship:`Powerful warship`,smallCargo:`Transports small amounts of resources`,largeCargo:`Transports large amounts of resources`,colonyShip:`Used to colonize new planets`,recycler:`Collects debris field resources`,espionageProbe:`Scouts enemy planets`,darkMatterHarvester:`Special ship for harvesting dark matter`},defenses:{rocketLauncher:`Rocket Launcher`,lightLaser:`Light Laser`,heavyLaser:`Heavy Laser`,gaussCannon:`Gauss Cannon`,ionCannon:`Ion Cannon`,plasmaTurret:`Plasma Turret`,smallShieldDome:`Small Shield Dome`,largeShieldDome:`Large Shield Dome`},defenseDescriptions:{rocketLauncher:`Basic defense facility`,lightLaser:`Light energy weapon`,heavyLaser:`Heavy energy weapon`,gaussCannon:`High-speed kinetic weapon`,ionCannon:`Effective against shields`,plasmaTurret:`Powerful defense facility`,smallShieldDome:`Small shield protecting the entire planet`,largeShieldDome:`Large shield protecting the entire planet`},research:{researchTime:`Research Time`,totalCost:`Total Cost`,totalPoints:`Total Points`,levelRange:`Level Range`},technologies:{energyTechnology:`Energy Technology`,laserTechnology:`Laser Technology`,ionTechnology:`Ion Technology`,hyperspaceTechnology:`Hyperspace Technology`,plasmaTechnology:`Plasma Technology`,computerTechnology:`Computer Technology`,combustionDrive:`Combustion Drive`,impulseDrive:`Impulse Drive`,hyperspaceDrive:`Hyperspace Drive`,darkMatterTechnology:`Dark Matter Technology`},technologyDescriptions:{energyTechnology:`Improves energy efficiency`,laserTechnology:`Foundation of laser weapons and defense`,ionTechnology:`Ion weapon technology`,hyperspaceTechnology:`Hyperspace jump technology`,plasmaTechnology:`Plasma weapon technology`,computerTechnology:`Increases research queue capacity, +1 per level (max 10)`,combustionDrive:`Basic propulsion technology`,impulseDrive:`Intermediate propulsion technology`,hyperspaceDrive:`Advanced propulsion technology`,darkMatterTechnology:`Research into dark matter properties and applications`},officers:{commander:`Commander`,admiral:`Admiral`,engineer:`Engineer`,geologist:`Geologist`,technocrat:`Technocrat`,darkMatterSpecialist:`Dark Matter Specialist`},officerDescriptions:{commander:`Improves building speed and management`,admiral:`Improves fleet combat and speed`,engineer:`Improves energy and defense`,geologist:`Improves resource production`,technocrat:`Improves research speed and espionage`,darkMatterSpecialist:`Improves dark matter collection efficiency`},queue:{buildQueue:`Build Queue`,researchQueue:`Research Queue`,building:`Building`,researching:`Researching`,remaining:`Remaining`,cancel:`Cancel`,cancelBuild:`Cancel Build`,cancelResearch:`Cancel Research`,confirmCancel:`Are you sure you want to cancel? 50% of resources will be refunded.`,level:`Level`,upgradeToLevel:`Upgrade to Level`},overview:{title:`Planet Overview`,resourceOverview:`Resources`,fleetInfo:`Fleet`,currentShips:`Ships on this planet`},buildingsView:{title:`Buildings`,usedSpace:`Used Space`,spaceUsage:`Space Usage`,level:`Level`,upgradeCost:`Upgrade Cost`,buildTime:`Build Time`,upgrade:`Upgrade`,upgradeFailed:`Upgrade Failed`,upgradeFailedMessage:`Please check if you have enough resources, space, or if there are other build tasks.`,demolish:`Demolish`,demolishRefund:`Demolish Refund`,demolishFailed:`Demolish Failed`,demolishFailedMessage:`Unable to demolish this building. Please check if the build queue is full or the building level is 0.`},researchView:{title:`Research`,researchCost:`Research Cost`,research:`Research`,researchFailed:`Research Failed`,researchFailedMessage:`Please check if you have enough resources, prerequisites are met, or if there are other research tasks.`},shipyard:{attack:`Attack`,shield:`Shield`,armor:`Armor`,speed:`Speed`,cargoCapacity:`Cargo Capacity`,fuelConsumption:`Fuel Consumption`,buildCost:`Build Cost`,buildTime:`Build Time`,perUnit:`Per Unit`,batchCalculator:`Batch Calculator`,quantity:`Quantity`,totalCost:`Total Cost`,totalTime:`Total Time`},shipyardView:{title:`Shipyard`,attack:`Attack`,shield:`Shield`,speed:`Speed`,cargoCapacity:`Cargo Capacity`,unitCost:`Unit Cost`,buildQuantity:`Build Quantity`,totalCost:`Total Cost`,build:`Build`,inputError:`Input Error`,inputErrorMessage:`Please enter build quantity!`,buildFailed:`Build Failed`,buildFailedMessage:`Please check if you have enough resources or if prerequisites are met.`},defense:{attack:`Attack`,shield:`Shield`,armor:`Armor`,buildCost:`Build Cost`,buildTime:`Build Time`,perUnit:`Per Unit`,batchCalculator:`Batch Calculator`,quantity:`Quantity`,totalCost:`Total Cost`,totalTime:`Total Time`},defenseView:{title:`Defense`,attack:`Attack`,shield:`Shield`,armor:`Armor`,buildTime:`Build Time`,seconds:`s`,unitCost:`Unit Cost`,buildQuantity:`Build Quantity`,totalCost:`Total Cost`,build:`Build`,shieldDomeBuilt:`Shield dome already built`,inputError:`Input Error`,inputErrorMessage:`Please enter build quantity!`,buildFailed:`Build Failed`,buildFailedMessage:`Please check if you have enough resources or if prerequisites are met. Shield domes can only be built once.`},fleetView:{title:`Fleet Management`,fleetOverview:`Fleet Overview`,sendFleet:`Send Fleet`,flightMissions:`Flight Missions`,currentPlanetFleet:`Current Planet Fleet`,attack:`Attack`,shield:`Shield`,armor:`Armor`,speed:`Speed`,cargo:`Cargo`,selectFleet:`Select Fleet`,selectFleetDescription:`Select the number of ships to send`,available:`Available`,all:`All`,targetCoordinates:`Target Coordinates`,galaxy:`Galaxy`,system:`System`,position:`Position`,missionType:`Mission Type`,missionInfo:`Mission Info`,fuelConsumption:`Fuel Consumption`,flightTime:`Flight Time`,attackMission:`Attack`,transport:`Transport`,colonize:`Colonize`,spy:`Spy`,deploy:`Deploy`,transportResources:`Transport Resources`,totalCargoCapacity:`Total Cargo Capacity`,used:`Used`,noFlightMissions:`No flight missions`,outbound:`Outbound`,returning:`Returning`,fleetComposition:`Fleet Composition`,carryingResources:`Carrying Resources`,arrivalTime:`Arrival Time`,returnTime:`Return Time`,recallFleet:`Recall Fleet`,sendFailed:`Send Failed`,sendFailedMessage:`Please check fleet count, fuel availability, or cargo capacity limits.`,recallFailed:`Recall Failed`,recallFailedMessage:`This mission cannot be recalled.`,unknownPlanet:`Unknown Planet`,fleetMissionSlots:`Fleet Mission Slots`},officersView:{title:`Officers`,activated:`Activated`,inactive:`Inactive`,activeStatus:`Active Status`,expirationTime:`Expiration Time`,remainingTime:`Remaining Time`,recruitCost:`Recruitment Cost`,days:`days`,benefitsBonus:`Benefits Bonus`,resourceProduction:`Resource Production`,darkMatterProduction:`Dark Matter Production`,energyProduction:`Energy Production`,buildingSpeed:`Building Speed`,researchSpeed:`Research Speed`,fleetSpeed:`Fleet Speed`,fuelConsumption:`Fuel Consumption`,defense:`Defense`,storageCapacity:`Storage Capacity`,buildQueue:`Build Queue`,fleetSlots:`Fleet Slots`,hire:`Hire`,renew:`Renew`,dismiss:`Dismiss`,hireTitle:`Hire Officer`,hireMessage:`Are you sure you want to hire {name}? Valid for 7 days.`,renewTitle:`Renew Officer`,renewMessage:`Are you sure you want to renew {name} for 7 days?`,dismissTitle:`Dismiss Officer`,dismissMessage:`Are you sure you want to dismiss {name}? No refunds will be given.`,hireFailed:`Hire Failed`,renewFailed:`Renew Failed`,insufficientResources:`Insufficient resources!`},galaxyView:{title:`Galaxy`,selectCoordinates:`Select Coordinates`,galaxy:`Galaxy`,selectGalaxy:`Select Galaxy`,system:`System`,selectSystem:`Select System`,view:`View`,myPlanet:`My Planet`,totalPositions:`10 planet positions total`,mine:`Mine`,hostile:`Hostile`,emptySlot:`Empty - Colonizable`,scout:`Scout`,attack:`Attack`,colonize:`Colonize`,switch:`Switch`,scoutPlanetTitle:`Scout Planet`,attackPlanetTitle:`Attack Planet`,colonizePlanetTitle:`Colonize Planet`,scoutPlanetMessage:`Are you sure you want to send espionage probes to scout planet [{coordinates}]? Please go to the fleet page to select ships and send.`,attackPlanetMessage:`Are you sure you want to attack planet [{coordinates}]? Please go to the fleet page to select ships and send.`,colonizePlanetMessage:`Are you sure you want to colonize position [{coordinates}]? Please go to the fleet page to send a colony ship.`},messagesView:{title:`Messages`,battleReports:`Battle Reports`,spyReports:`Spy Reports`,noBattleReports:`No battle reports`,noSpyReports:`No spy reports`,battleReport:`Battle Report`,spyReport:`Spy Report`,victory:`Victory`,defeat:`Defeat`,draw:`Draw`,attackerFleet:`Attacker Fleet`,defenderFleet:`Defender Fleet`,defenderDefense:`Defender Defense`,attackerLosses:`Attacker Losses`,defenderLosses:`Defender Losses`,noLosses:`No losses`,plunder:`Plunder`,debrisField:`Debris Field`,resources:`Resources`,fleet:`Fleet`,defense:`Defense`,buildings:`Buildings`},simulatorView:{title:`Battle Simulator`,attacker:`Attacker`,defender:`Defender`,attackerConfig:`Attacker Configuration`,attackerConfigDesc:`Configure attacker fleet and technology levels`,defenderConfig:`Defender Configuration`,defenderConfigDesc:`Configure defender fleet, defense, and technology levels`,fleet:`Fleet`,defenseStructures:`Defense Structures`,techLevels:`Technology Levels`,weapon:`Weapon`,shield:`Shield`,armor:`Armor`,defenderResources:`Defender Resources (for plunder calculation)`,startSimulation:`Start Simulation`,reset:`Reset`,battleResult:`Battle Result`,attackerVictory:`Attacker Victory`,defenderVictory:`Defender Victory`,draw:`Draw`,afterRounds:`After {rounds} rounds`,attackerLosses:`Attacker Losses`,defenderLosses:`Defender Losses`,noLosses:`No losses`,attackerRemaining:`Attacker Remaining`,defenderRemaining:`Defender Remaining`,allDestroyed:`All destroyed`,plunderableResources:`Plunderable Resources`,debrisField:`Debris Field`,moonChance:`Moon chance`,showRoundDetails:`Show round details`,hideRoundDetails:`Hide round details`,round:`Round {round}`,attackerRemainingPower:`Attacker remaining power`,defenderRemainingPower:`Defender remaining power`},settings:{dataManagement:`Data Management`,dataManagementDesc:`Export, import, or clear game data`,exportData:`Export Data`,exportDataDesc:`Export game progress as JSON file`,export:`Export`,exporting:`Exporting...`,exportSuccess:`Export successful`,exportFailed:`Export failed, please try again`,importData:`Import Data`,importDataDesc:`Restore game progress from JSON file`,selectFile:`Select File`,importSuccess:`Import successful`,importConfirmTitle:`Confirm Import`,importConfirmMessage:`Importing will overwrite current game progress. This action cannot be undone. Continue?`,importFailed:`Import failed, please check file format`,clearData:`Clear Data`,clearDataDesc:`Delete all game data and reset`,clear:`Clear`,clearConfirmTitle:`Confirm Clear Data`,clearConfirmMessage:`This will delete all game data and start over. This action cannot be undone. Continue?`,gameSettings:`Game Settings`,gameSettingsDesc:`Adjust game parameters and preferences`,playerName:`Player Name`,gameSpeed:`Game Speed`,gameSpeedDesc:`Current game speed multiplier`,about:`About`,version:`Version`,buildDate:`Build Date`,community:`Community`,github:`GitHub Repository`,qqGroup:`QQ Group`}},dt={common:{confirm:`Bestätigen`,cancel:`Abbrechen`,delete:`Löschen`,edit:`Bearbeiten`,save:`Speichern`,close:`Schließen`,back:`Zurück`,next:`Weiter`,previous:`Vorherige`,submit:`Absenden`,reset:`Zurücksetzen`,search:`Suchen`,filter:`Filtern`,loading:`Laden...`,noData:`Keine Daten`,error:`Fehler`,success:`Erfolg`,warning:`Warnung`,info:`Info`,resourceType:`Ressourcentyp`,playerName:`Kommandant`,timeHour:`Std`,timeMinute:`Min`,timeSecond:`Sek`,featureLocked:`Funktion gesperrt`,unlockRequired:`Gebäude erforderlich`,requiredBuilding:`Erforderliches Gebäude`,currentLevel:`Aktuelles Level`,goToBuildings:`Zu Gebäuden`,locked:`Gesperrt`,viewRequirements:`Anforderungen anzeigen`,requirementsNotMet:`Anforderungen nicht erfüllt`,current:`Aktuell`},errors:{requirementsNotMet:`Anforderungen nicht erfüllt`,insufficientResources:`Unzureichende Ressourcen`,shieldDomeLimit:`Schildkuppel-Limit erreicht`,fleetMissionsFull:`Flottenmissionsplätze voll`,insufficientFleet:`Unzureichende Flotte`,insufficientFuel:`Unzureichender Treibstoff`,planetOnly:`Dieses Gebäude kann nur auf Planeten gebaut werden`,moonOnly:`Dieses Gebäude kann nur auf Monden gebaut werden`,buildQueueFull:`Bauauftrag voll`,insufficientSpace:`Unzureichender Platz`,buildingLevelZero:`Gebäudelevel ist 0, kann nicht abgerissen werden`,researchQueueFull:`Forschungsauftrag voll`,moonExists:`Mond existiert bereits`,insufficientDebris:`Unzureichendes Trümmerfeld`},nav:{overview:`Übersicht`,buildings:`Gebäude`,research:`Forschung`,shipyard:`Raumschiffwerft`,defense:`Verteidigung`,fleet:`Flotte`,officers:`Offiziere`,simulator:`Simulator`,galaxy:`Galaxie`,messages:`Nachrichten`,settings:`Einstellungen`},sidebar:{language:`Sprache`,lightMode:`Heller Modus`,darkMode:`Dunkler Modus`,collapse:`Einklappen`,expand:`Ausklappen`},resources:{metal:`Metall`,crystal:`Kristall`,deuterium:`Deuterium`,darkMatter:`Dunkle Materie`,energy:`Energie`,production:`Produktion`,capacity:`Kapazität`,current:`Aktuell`,max:`Max. Kapazität`,perHour:`Stunde`},planet:{planet:`Planet`,moon:`Mond`,colony:`Kolonie`,position:`Position`,coordinates:`Koordinaten`,switchToMoon:`Zum Mond`,backToPlanet:`Zurück zum Planeten`,fields:`Felder`,temperature:`Temperatur`,homePlanet:`Heimatplanet`,planetPrefix:`Planet`,moonSuffix:`s Mond`,colonyPrefix:`Kolonie`},player:{points:`Gesamtpunkte`},buildings:{metalMine:`Metallmine`,crystalMine:`Kristallmine`,deuteriumSynthesizer:`Deuterium-Synthesizer`,solarPlant:`Solarkraftwerk`,roboticsFactory:`Roboterfabrik`,naniteFactory:`Nanitenfabrik`,shipyard:`Raumschiffwerft`,researchLab:`Forschungslabor`,metalStorage:`Metallspeicher`,crystalStorage:`Kristallspeicher`,deuteriumTank:`Deuteriumtank`,darkMatterCollector:`Dunkle-Materie-Kollektor`,lunarBase:`Mondbasis`,sensorPhalanx:`Sensorphalanx`,jumpGate:`Sprungtor`,buildTime:`Bauzeit`,production:`Produktion`,consumption:`Verbrauch`,totalCost:`Gesamtkosten`,totalPoints:`Gesamtpunkte`,levelRange:`Stufenbereich`},buildingDescriptions:{metalMine:`Fördert Metallressourcen`,crystalMine:`Fördert Kristallressourcen`,deuteriumSynthesizer:`Synthesiert Deuteriumressourcen`,solarPlant:`Liefert Energie`,roboticsFactory:`Beschleunigt Baugeschwindigkeit`,naniteFactory:`Erhöht Bauauftragskapazität, +1 pro Stufe (max 10)`,shipyard:`Baut Schiffe`,researchLab:`Erforscht Technologien`,metalStorage:`Erhöht Metallspeicherkapazität`,crystalStorage:`Erhöht Kristallspeicherkapazität`,deuteriumTank:`Erhöht Deuteriumspeicherkapazität`,darkMatterCollector:`Sammelt seltene Dunkle-Materie-Ressourcen`,lunarBase:`Erhöht verfügbaren Platz auf dem Mond`,sensorPhalanx:`Erkennt Flottenaktivitäten in umliegenden Systemen`,jumpGate:`Überträgt Flotten sofort zu anderen Monden`},ships:{lightFighter:`Leichter Jäger`,heavyFighter:`Schwerer Jäger`,cruiser:`Kreuzer`,battleship:`Schlachtschiff`,smallCargo:`Kleiner Transporter`,largeCargo:`Großer Transporter`,colonyShip:`Kolonieschiff`,recycler:`Recycler`,espionageProbe:`Spionagesonde`,darkMatterHarvester:`Dunkle-Materie-Ernter`},shipDescriptions:{lightFighter:`Grundlegende Kampfeinheit`,heavyFighter:`Schwer gepanzerter Jäger`,cruiser:`Mittleres Kriegsschiff, ausgewogene Offensive und Defensive`,battleship:`Mächtiges Kriegsschiff`,smallCargo:`Transportiert kleine Mengen Ressourcen`,largeCargo:`Transportiert große Mengen Ressourcen`,colonyShip:`Zur Kolonisierung neuer Planeten`,recycler:`Sammelt Trümmerfeld-Ressourcen`,espionageProbe:`Späht feindliche Planeten aus`,darkMatterHarvester:`Spezielles Schiff zum Ernten von Dunkler Materie`},defenses:{rocketLauncher:`Raketenwerfer`,lightLaser:`Leichtes Lasergeschütz`,heavyLaser:`Schweres Lasergeschütz`,gaussCannon:`Gaußkanone`,ionCannon:`Ionengeschütz`,plasmaTurret:`Plasmawerfer`,smallShieldDome:`Kleine Schildkuppel`,largeShieldDome:`Große Schildkuppel`},defenseDescriptions:{rocketLauncher:`Grundlegende Verteidigungsanlage`,lightLaser:`Leichte Energiewaffe`,heavyLaser:`Schwere Energiewaffe`,gaussCannon:`Hochgeschwindigkeits-Kinetikwaffe`,ionCannon:`Effektiv gegen Schilde`,plasmaTurret:`Mächtige Verteidigungsanlage`,smallShieldDome:`Kleiner Schild zum Schutz des gesamten Planeten`,largeShieldDome:`Großer Schild zum Schutz des gesamten Planeten`},research:{researchTime:`Forschungszeit`,totalCost:`Gesamtkosten`,totalPoints:`Gesamtpunkte`,levelRange:`Stufenbereich`},technologies:{energyTechnology:`Energietechnik`,laserTechnology:`Lasertechnik`,ionTechnology:`Ionentechnik`,hyperspaceTechnology:`Hyperraumtechnik`,plasmaTechnology:`Plasmatechnik`,computerTechnology:`Computertechnologie`,combustionDrive:`Verbrennungsantrieb`,impulseDrive:`Impulsantrieb`,hyperspaceDrive:`Hyperraumantrieb`,darkMatterTechnology:`Dunkle-Materie-Technologie`},technologyDescriptions:{energyTechnology:`Verbessert Energieeffizienz`,laserTechnology:`Grundlage für Laserwaffen und -verteidigung`,ionTechnology:`Ionenwaffentechnologie`,hyperspaceTechnology:`Hyperraumsprung-Technologie`,plasmaTechnology:`Plasmawaffentechnologie`,computerTechnology:`Erhöht Forschungsauftragskapazität, +1 pro Stufe (max 10)`,combustionDrive:`Grundlegende Antriebstechnologie`,impulseDrive:`Mittlere Antriebstechnologie`,hyperspaceDrive:`Fortgeschrittene Antriebstechnologie`,darkMatterTechnology:`Forschung zu Eigenschaften und Anwendungen von Dunkler Materie`},officers:{commander:`Kommandant`,admiral:`Admiral`,engineer:`Ingenieur`,geologist:`Geologe`,technocrat:`Technokrat`,darkMatterSpecialist:`Dunkle-Materie-Spezialist`},officerDescriptions:{commander:`Verbessert Baugeschwindigkeit und Management`,admiral:`Verbessert Flottenkampf und Geschwindigkeit`,engineer:`Verbessert Energie und Verteidigung`,geologist:`Verbessert Ressourcenproduktion`,technocrat:`Verbessert Forschungsgeschwindigkeit und Spionage`,darkMatterSpecialist:`Verbessert Dunkle-Materie-Sammlungseffizienz`},queue:{buildQueue:`Bauauftrag`,researchQueue:`Forschungsauftrag`,building:`Im Bau`,researching:`In Forschung`,remaining:`Verbleibend`,cancel:`Abbrechen`,cancelBuild:`Bau abbrechen`,cancelResearch:`Forschung abbrechen`,confirmCancel:`Möchten Sie wirklich abbrechen? 50% der Ressourcen werden zurückerstattet.`,level:`Stufe`,upgradeToLevel:`Auf Stufe aufrüsten`},overview:{title:`Planetenübersicht`,resourceOverview:`Ressourcen`,fleetInfo:`Flotte`,currentShips:`Schiffe auf diesem Planeten`},buildingsView:{title:`Gebäude`,usedSpace:`Verwendeter Platz`,spaceUsage:`Platzbedarf`,level:`Stufe`,upgradeCost:`Ausbaukosten`,buildTime:`Bauzeit`,upgrade:`Ausbauen`,upgradeFailed:`Ausbau fehlgeschlagen`,upgradeFailedMessage:`Bitte überprüfen Sie, ob Sie genügend Ressourcen, Platz oder keine anderen Bauaufträge haben.`,demolish:`Abreißen`,demolishRefund:`Abriss-Rückerstattung`,demolishFailed:`Abriss fehlgeschlagen`,demolishFailedMessage:`Abriss nicht möglich. Bitte überprüfen Sie, ob die Bauqueue voll ist oder die Gebäudestufe 0 ist.`},researchView:{title:`Forschung`,researchCost:`Forschungskosten`,research:`Forschen`,researchFailed:`Forschung fehlgeschlagen`,researchFailedMessage:`Bitte überprüfen Sie, ob Sie genügend Ressourcen haben, die Voraussetzungen erfüllt sind oder keine anderen Forschungsaufträge vorhanden sind.`},shipyard:{attack:`Angriff`,shield:`Schild`,armor:`Panzerung`,speed:`Geschwindigkeit`,cargoCapacity:`Ladekapazität`,fuelConsumption:`Treibstoffverbrauch`,buildCost:`Baukosten`,buildTime:`Bauzeit`,perUnit:`Pro Einheit`,batchCalculator:`Batch-Rechner`,quantity:`Menge`,totalCost:`Gesamtkosten`,totalTime:`Gesamtzeit`},shipyardView:{title:`Raumschiffwerft`,attack:`Angriff`,shield:`Schild`,speed:`Geschwindigkeit`,cargoCapacity:`Ladekapazität`,unitCost:`Stückkosten`,buildQuantity:`Baumenge`,totalCost:`Gesamtkosten`,build:`Bauen`,inputError:`Eingabefehler`,inputErrorMessage:`Bitte Baumenge eingeben!`,buildFailed:`Bau fehlgeschlagen`,buildFailedMessage:`Bitte überprüfen Sie, ob Sie genügend Ressourcen haben oder die Voraussetzungen erfüllt sind.`},defense:{attack:`Angriff`,shield:`Schild`,armor:`Panzerung`,buildCost:`Baukosten`,buildTime:`Bauzeit`,perUnit:`Pro Einheit`,batchCalculator:`Batch-Rechner`,quantity:`Menge`,totalCost:`Gesamtkosten`,totalTime:`Gesamtzeit`},defenseView:{title:`Verteidigung`,attack:`Angriff`,shield:`Schild`,armor:`Panzerung`,buildTime:`Bauzeit`,seconds:`s`,unitCost:`Stückkosten`,buildQuantity:`Baumenge`,totalCost:`Gesamtkosten`,build:`Bauen`,shieldDomeBuilt:`Schildkuppel bereits gebaut`,inputError:`Eingabefehler`,inputErrorMessage:`Bitte Baumenge eingeben!`,buildFailed:`Bau fehlgeschlagen`,buildFailedMessage:`Bitte überprüfen Sie, ob Sie genügend Ressourcen haben oder die Voraussetzungen erfüllt sind. Schildkuppeln können nur einmal gebaut werden.`},fleetView:{title:`Flottenverwaltung`,fleetOverview:`Flottenübersicht`,sendFleet:`Flotte senden`,flightMissions:`Flugmissionen`,currentPlanetFleet:`Flotte auf diesem Planeten`,attack:`Angriff`,shield:`Schild`,armor:`Panzerung`,speed:`Geschwindigkeit`,cargo:`Fracht`,selectFleet:`Flotte auswählen`,selectFleetDescription:`Wählen Sie die Anzahl der zu sendenden Schiffe`,available:`Verfügbar`,all:`Alle`,targetCoordinates:`Zielkoordinaten`,galaxy:`Galaxie`,system:`System`,position:`Position`,missionType:`Missionstyp`,missionInfo:`Missionsinfo`,fuelConsumption:`Treibstoffverbrauch`,flightTime:`Flugzeit`,attackMission:`Angriff`,transport:`Transport`,colonize:`Kolonisieren`,spy:`Spionage`,deploy:`Stationieren`,transportResources:`Ressourcen transportieren`,totalCargoCapacity:`Gesamtladekapazität`,used:`Verwendet`,noFlightMissions:`Keine Flugmissionen`,outbound:`Hinflug`,returning:`Rückflug`,fleetComposition:`Flottenzusammensetzung`,carryingResources:`Transportierte Ressourcen`,arrivalTime:`Ankunftszeit`,returnTime:`Rückkehrzeit`,recallFleet:`Flotte zurückrufen`,sendFailed:`Senden fehlgeschlagen`,sendFailedMessage:`Bitte überprüfen Sie Flottenanzahl, Treibstoffverfügbarkeit oder Ladekapazitätsgrenzen.`,recallFailed:`Zurückrufen fehlgeschlagen`,recallFailedMessage:`Diese Mission kann nicht zurückgerufen werden.`,unknownPlanet:`Unbekannter Planet`,fleetMissionSlots:`Flottenmissionsplätze`},officersView:{title:`Offiziere`,activated:`Aktiviert`,inactive:`Inaktiv`,activeStatus:`Aktivierungsstatus`,expirationTime:`Ablaufzeit`,remainingTime:`Verbleibende Zeit`,recruitCost:`Rekrutierungskosten`,days:`Tage`,benefitsBonus:`Vorteile`,resourceProduction:`Ressourcenproduktion`,darkMatterProduction:`Dunkle-Materie-Produktion`,energyProduction:`Energieproduktion`,buildingSpeed:`Baugeschwindigkeit`,researchSpeed:`Forschungsgeschwindigkeit`,fleetSpeed:`Flottengeschwindigkeit`,fuelConsumption:`Treibstoffverbrauch`,defense:`Verteidigung`,storageCapacity:`Lagerkapazität`,buildQueue:`Bauauftrag`,fleetSlots:`Flottenslots`,hire:`Rekrutieren`,renew:`Verlängern`,dismiss:`Entlassen`,hireTitle:`Offizier rekrutieren`,hireMessage:`Möchten Sie wirklich {name} rekrutieren? Gültig für 7 Tage.`,renewTitle:`Offizier verlängern`,renewMessage:`Möchten Sie wirklich {name} für 7 Tage verlängern?`,dismissTitle:`Offizier entlassen`,dismissMessage:`Möchten Sie wirklich {name} entlassen? Es werden keine Kosten zurückerstattet.`,hireFailed:`Rekrutierung fehlgeschlagen`,renewFailed:`Verlängerung fehlgeschlagen`,insufficientResources:`Nicht genug Ressourcen!`},galaxyView:{title:`Galaxie`,selectCoordinates:`Koordinaten auswählen`,galaxy:`Galaxie`,selectGalaxy:`Galaxie auswählen`,system:`System`,selectSystem:`System auswählen`,view:`Anzeigen`,myPlanet:`Mein Planet`,totalPositions:`Insgesamt 10 Planetenpositionen`,mine:`Mein`,hostile:`Feindlich`,emptySlot:`Leer - Kolonisierbar`,scout:`Spähen`,attack:`Angriff`,colonize:`Kolonisieren`,switch:`Wechseln`,scoutPlanetTitle:`Planet ausspionieren`,attackPlanetTitle:`Planet angreifen`,colonizePlanetTitle:`Planet kolonisieren`,scoutPlanetMessage:`Möchten Sie wirklich Spionagesonden senden, um Planet [{coordinates}] auszuspionieren? Bitte gehen Sie zur Flottenseite, um Schiffe auszuwählen und zu senden.`,attackPlanetMessage:`Möchten Sie wirklich Planet [{coordinates}] angreifen? Bitte gehen Sie zur Flottenseite, um Schiffe auszuwählen und zu senden.`,colonizePlanetMessage:`Möchten Sie wirklich Position [{coordinates}] kolonisieren? Bitte gehen Sie zur Flottenseite, um ein Kolonieschiff zu senden.`},messagesView:{title:`Nachrichten`,battleReports:`Kampfberichte`,spyReports:`Spionageberichte`,noBattleReports:`Keine Kampfberichte`,noSpyReports:`Keine Spionageberichte`,battleReport:`Kampfbericht`,spyReport:`Spionagebericht`,victory:`Sieg`,defeat:`Niederlage`,draw:`Unentschieden`,attackerFleet:`Angreiferflotte`,defenderFleet:`Verteidigerflotte`,defenderDefense:`Verteidigerverteidigung`,attackerLosses:`Angreiferverluste`,defenderLosses:`Verteidigerverluste`,noLosses:`Keine Verluste`,plunder:`Beute`,debrisField:`Trümmerfeld`,resources:`Ressourcen`,fleet:`Flotte`,defense:`Verteidigung`,buildings:`Gebäude`},simulatorView:{title:`Kampfsimulator`,attacker:`Angreifer`,defender:`Verteidiger`,attackerConfig:`Angreiferkonfiguration`,attackerConfigDesc:`Angreiferflotte und Technologiestufen konfigurieren`,defenderConfig:`Verteidigerkonfiguration`,defenderConfigDesc:`Verteidigerflotte, Verteidigung und Technologiestufen konfigurieren`,fleet:`Flotte`,defenseStructures:`Verteidigungsanlagen`,techLevels:`Technologiestufen`,weapon:`Waffe`,shield:`Schild`,armor:`Panzerung`,defenderResources:`Verteidigerressourcen (für Beuteberechnung)`,startSimulation:`Simulation starten`,reset:`Zurücksetzen`,battleResult:`Kampfergebnis`,attackerVictory:`Angreifer Sieg`,defenderVictory:`Verteidiger Sieg`,draw:`Unentschieden`,afterRounds:`Nach {rounds} Runden`,attackerLosses:`Angreiferverluste`,defenderLosses:`Verteidigerverluste`,noLosses:`Keine Verluste`,attackerRemaining:`Angreifer verblieben`,defenderRemaining:`Verteidiger verblieben`,allDestroyed:`Alle zerstört`,plunderableResources:`Erbeutbare Ressourcen`,debrisField:`Trümmerfeld`,moonChance:`Mondchance`,showRoundDetails:`Rundendetails anzeigen`,hideRoundDetails:`Rundendetails ausblenden`,round:`Runde {round}`,attackerRemainingPower:`Verbleibende Angreiferkraft`,defenderRemainingPower:`Verbleibende Verteidigerkraft`},settings:{dataManagement:`Datenverwaltung`,dataManagementDesc:`Spieldaten exportieren, importieren oder löschen`,exportData:`Daten exportieren`,exportDataDesc:`Spielfortschritt als JSON-Datei exportieren`,export:`Exportieren`,exporting:`Exportieren...`,exportSuccess:`Export erfolgreich`,exportFailed:`Export fehlgeschlagen, bitte erneut versuchen`,importData:`Daten importieren`,importDataDesc:`Spielfortschritt aus JSON-Datei wiederherstellen`,selectFile:`Datei auswählen`,importSuccess:`Import erfolgreich`,importConfirmTitle:`Import bestätigen`,importConfirmMessage:`Beim Importieren wird der aktuelle Spielfortschritt überschrieben. Diese Aktion kann nicht rückgängig gemacht werden. Fortfahren?`,importFailed:`Import fehlgeschlagen, bitte Dateiformat überprüfen`,clearData:`Daten löschen`,clearDataDesc:`Alle Spieldaten löschen und zurücksetzen`,clear:`Löschen`,clearConfirmTitle:`Löschen bestätigen`,clearConfirmMessage:`Alle Spieldaten werden gelöscht und von vorne begonnen. Diese Aktion kann nicht rückgängig gemacht werden. Fortfahren?`,gameSettings:`Spieleinstellungen`,gameSettingsDesc:`Spielparameter und Einstellungen anpassen`,playerName:`Spielername`,gameSpeed:`Spielgeschwindigkeit`,gameSpeedDesc:`Aktueller Spielgeschwindigkeitsmultiplikator`,about:`Über`,version:`Version`,buildDate:`Build-Datum`,community:`Community`,github:`GitHub-Repository`,qqGroup:`QQ-Gruppe`}},ft={common:{confirm:`Подтвердить`,cancel:`Отмена`,delete:`Удалить`,edit:`Редактировать`,save:`Сохранить`,close:`Закрыть`,back:`Назад`,next:`Далее`,previous:`Предыдущий`,submit:`Отправить`,reset:`Сбросить`,search:`Поиск`,filter:`Фильтр`,loading:`Загрузка...`,noData:`Нет данных`,error:`Ошибка`,success:`Успешно`,warning:`Предупреждение`,info:`Информация`,resourceType:`Тип ресурса`,playerName:`Командир`,timeHour:`ч`,timeMinute:`мин`,timeSecond:`сек`,featureLocked:`Функция заблокирована`,unlockRequired:`Требуется здание`,requiredBuilding:`Необходимое здание`,currentLevel:`Текущий уровень`,goToBuildings:`К зданиям`,locked:`Заблокировано`,viewRequirements:`Просмотр требований`,requirementsNotMet:`Требования не выполнены`,current:`Текущий`},errors:{requirementsNotMet:`Требования не выполнены`,insufficientResources:`Недостаточно ресурсов`,shieldDomeLimit:`Достигнут лимит щитовых куполов`,fleetMissionsFull:`Слоты миссий флота заполнены`,insufficientFleet:`Недостаточно флота`,insufficientFuel:`Недостаточно топлива`,planetOnly:`Это здание можно построить только на планетах`,moonOnly:`Это здание можно построить только на лунах`,buildQueueFull:`Очередь строительства заполнена`,insufficientSpace:`Недостаточно места`,buildingLevelZero:`Уровень здания 0, нельзя снести`,researchQueueFull:`Очередь исследований заполнена`,moonExists:`Луна уже существует`,insufficientDebris:`Недостаточно обломков`},nav:{overview:`Обзор`,buildings:`Здания`,research:`Исследования`,shipyard:`Верфь`,defense:`Оборона`,fleet:`Флот`,officers:`Офицеры`,simulator:`Симулятор`,galaxy:`Галактика`,messages:`Сообщения`,settings:`Настройки`},sidebar:{language:`Язык`,lightMode:`Светлая тема`,darkMode:`Тёмная тема`,collapse:`Свернуть`,expand:`Развернуть`},resources:{metal:`Металл`,crystal:`Кристалл`,deuterium:`Дейтерий`,darkMatter:`Тёмная материя`,energy:`Энергия`,production:`Производство`,capacity:`Вместимость`,current:`Текущий`,max:`Макс. вместимость`,perHour:`час`},planet:{planet:`Планета`,moon:`Луна`,colony:`Колония`,position:`Позиция`,coordinates:`Координаты`,switchToMoon:`На луну`,backToPlanet:`Вернуться на планету`,fields:`Поля`,temperature:`Температура`,homePlanet:`Родная планета`,planetPrefix:`Планета`,moonSuffix:`я луна`,colonyPrefix:`Колония`},player:{points:`Всего очков`},buildings:{metalMine:`Рудник металла`,crystalMine:`Рудник кристалла`,deuteriumSynthesizer:`Синтезатор дейтерия`,solarPlant:`Солнечная электростанция`,roboticsFactory:`Фабрика роботов`,naniteFactory:`Нанитная фабрика`,shipyard:`Верфь`,researchLab:`Исследовательская лаборатория`,metalStorage:`Хранилище металла`,crystalStorage:`Хранилище кристалла`,deuteriumTank:`Цистерна дейтерия`,darkMatterCollector:`Коллектор тёмной материи`,lunarBase:`Лунная база`,sensorPhalanx:`Сенсорная фаланга`,jumpGate:`Прыжковые ворота`,buildTime:`Время строительства`,production:`Производство`,consumption:`Потребление`,totalCost:`Общая стоимость`,totalPoints:`Общие очки`,levelRange:`Диапазон уровней`},buildingDescriptions:{metalMine:`Добывает металлические ресурсы`,crystalMine:`Добывает кристаллические ресурсы`,deuteriumSynthesizer:`Синтезирует дейтериевые ресурсы`,solarPlant:`Обеспечивает энергией`,roboticsFactory:`Ускоряет скорость строительства`,naniteFactory:`Увеличивает вместимость очереди строительства, +1 за уровень (макс 10)`,shipyard:`Строит корабли`,researchLab:`Исследует технологии`,metalStorage:`Увеличивает ёмкость хранилища металла`,crystalStorage:`Увеличивает ёмкость хранилища кристалла`,deuteriumTank:`Увеличивает ёмкость хранилища дейтерия`,darkMatterCollector:`Собирает редкие ресурсы тёмной материи`,lunarBase:`Увеличивает доступное пространство на луне`,sensorPhalanx:`Обнаруживает активность флота в окружающих системах`,jumpGate:`Мгновенно переносит флоты на другие луны`},ships:{lightFighter:`Лёгкий истребитель`,heavyFighter:`Тяжёлый истребитель`,cruiser:`Крейсер`,battleship:`Линкор`,smallCargo:`Малый транспорт`,largeCargo:`Большой транспорт`,colonyShip:`Колонизатор`,recycler:`Переработчик`,espionageProbe:`Шпионский зонд`,darkMatterHarvester:`Сборщик тёмной материи`},shipDescriptions:{lightFighter:`Базовая боевая единица`,heavyFighter:`Тяжелобронированный истребитель`,cruiser:`Средний боевой корабль, сбалансированная атака и защита`,battleship:`Мощный боевой корабль`,smallCargo:`Транспортирует небольшое количество ресурсов`,largeCargo:`Транспортирует большое количество ресурсов`,colonyShip:`Используется для колонизации новых планет`,recycler:`Собирает ресурсы с поля обломков`,espionageProbe:`Разведывает вражеские планеты`,darkMatterHarvester:`Специальный корабль для сбора тёмной материи`},defenses:{rocketLauncher:`Ракетная установка`,lightLaser:`Лёгкий лазер`,heavyLaser:`Тяжёлый лазер`,gaussCannon:`Гауссова пушка`,ionCannon:`Ионное орудие`,plasmaTurret:`Плазменная турель`,smallShieldDome:`Малый щитовой купол`,largeShieldDome:`Большой щитовой купол`},defenseDescriptions:{rocketLauncher:`Базовое оборонительное сооружение`,lightLaser:`Лёгкое энергетическое оружие`,heavyLaser:`Тяжёлое энергетическое оружие`,gaussCannon:`Высокоскоростное кинетическое оружие`,ionCannon:`Эффективно против щитов`,plasmaTurret:`Мощное оборонительное сооружение`,smallShieldDome:`Малый щит, защищающий всю планету`,largeShieldDome:`Большой щит, защищающий всю планету`},research:{researchTime:`Время исследования`,totalCost:`Общая стоимость`,totalPoints:`Общие очки`,levelRange:`Диапазон уровней`},technologies:{energyTechnology:`Энергетическая технология`,laserTechnology:`Лазерная технология`,ionTechnology:`Ионная технология`,hyperspaceTechnology:`Гиперпространственная технология`,plasmaTechnology:`Плазменная технология`,computerTechnology:`Компьютерная технология`,combustionDrive:`Реактивный двигатель`,impulseDrive:`Импульсный двигатель`,hyperspaceDrive:`Гиперпространственный двигатель`,darkMatterTechnology:`Технология тёмной материи`},technologyDescriptions:{energyTechnology:`Улучшает энергоэффективность`,laserTechnology:`Основа лазерного оружия и обороны`,ionTechnology:`Технология ионного оружия`,hyperspaceTechnology:`Технология гиперпространственных прыжков`,plasmaTechnology:`Технология плазменного оружия`,computerTechnology:`Увеличивает вместимость очереди исследований, +1 за уровень (макс 10)`,combustionDrive:`Базовая технология двигателей`,impulseDrive:`Средняя технология двигателей`,hyperspaceDrive:`Продвинутая технология двигателей`,darkMatterTechnology:`Исследование свойств и применения тёмной материи`},officers:{commander:`Командир`,admiral:`Адмирал`,engineer:`Инженер`,geologist:`Геолог`,technocrat:`Технократ`,darkMatterSpecialist:`Специалист по тёмной материи`},officerDescriptions:{commander:`Улучшает скорость строительства и управление`,admiral:`Улучшает боевую мощь и скорость флота`,engineer:`Улучшает энергию и оборону`,geologist:`Улучшает производство ресурсов`,technocrat:`Улучшает скорость исследований и шпионаж`,darkMatterSpecialist:`Улучшает эффективность сбора тёмной материи`},queue:{buildQueue:`Очередь строительства`,researchQueue:`Очередь исследований`,building:`Строится`,researching:`Исследуется`,remaining:`Осталось`,cancel:`Отменить`,cancelBuild:`Отменить строительство`,cancelResearch:`Отменить исследование`,confirmCancel:`Вы уверены, что хотите отменить? 50% ресурсов будет возвращено.`,level:`Уровень`,upgradeToLevel:`Улучшить до уровня`},overview:{title:`Обзор планеты`,resourceOverview:`Ресурсы`,fleetInfo:`Флот`,currentShips:`Корабли на этой планете`},buildingsView:{title:`Здания`,usedSpace:`Использовано полей`,spaceUsage:`Использование полей`,level:`Уровень`,upgradeCost:`Стоимость улучшения`,buildTime:`Время строительства`,upgrade:`Улучшить`,upgradeFailed:`Улучшение не удалось`,upgradeFailedMessage:`Пожалуйста, проверьте, достаточно ли у вас ресурсов, места или нет других задач строительства.`,demolish:`Снести`,demolishRefund:`Возврат от сноса`,demolishFailed:`Снос не удался`,demolishFailedMessage:`Невозможно снести это здание. Проверьте, не заполнена ли очередь строительства или уровень здания не равен 0.`},researchView:{title:`Исследования`,researchCost:`Стоимость исследования`,research:`Исследовать`,researchFailed:`Исследование не удалось`,researchFailedMessage:`Пожалуйста, проверьте, достаточно ли у вас ресурсов, выполнены ли предварительные условия или нет других исследовательских задач.`},shipyard:{attack:`Атака`,shield:`Щит`,armor:`Броня`,speed:`Скорость`,cargoCapacity:`Грузоподъёмность`,fuelConsumption:`Расход топлива`,buildCost:`Стоимость постройки`,buildTime:`Время строительства`,perUnit:`За единицу`,batchCalculator:`Калькулятор партий`,quantity:`Количество`,totalCost:`Общая стоимость`,totalTime:`Общее время`},shipyardView:{title:`Верфь`,attack:`Атака`,shield:`Щит`,speed:`Скорость`,cargoCapacity:`Грузоподъёмность`,unitCost:`Стоимость единицы`,buildQuantity:`Количество для постройки`,totalCost:`Общая стоимость`,build:`Построить`,inputError:`Ошибка ввода`,inputErrorMessage:`Пожалуйста, введите количество для постройки!`,buildFailed:`Постройка не удалась`,buildFailedMessage:`Пожалуйста, проверьте, достаточно ли у вас ресурсов или выполнены ли предварительные условия.`},defense:{attack:`Атака`,shield:`Щит`,armor:`Броня`,buildCost:`Стоимость постройки`,buildTime:`Время строительства`,perUnit:`За единицу`,batchCalculator:`Калькулятор партий`,quantity:`Количество`,totalCost:`Общая стоимость`,totalTime:`Общее время`},defenseView:{title:`Оборона`,attack:`Атака`,shield:`Щит`,armor:`Броня`,buildTime:`Время постройки`,seconds:`с`,unitCost:`Стоимость единицы`,buildQuantity:`Количество для постройки`,totalCost:`Общая стоимость`,build:`Построить`,shieldDomeBuilt:`Щитовой купол уже построен`,inputError:`Ошибка ввода`,inputErrorMessage:`Пожалуйста, введите количество для постройки!`,buildFailed:`Постройка не удалась`,buildFailedMessage:`Пожалуйста, проверьте, достаточно ли у вас ресурсов или выполнены ли предварительные условия. Щитовые купола можно построить только один раз.`},fleetView:{title:`Управление флотом`,fleetOverview:`Обзор флота`,sendFleet:`Отправить флот`,flightMissions:`Полетные миссии`,currentPlanetFleet:`Флот на этой планете`,attack:`Атака`,shield:`Щит`,armor:`Броня`,speed:`Скорость`,cargo:`Груз`,selectFleet:`Выбрать флот`,selectFleetDescription:`Выберите количество кораблей для отправки`,available:`Доступно`,all:`Все`,targetCoordinates:`Целевые координаты`,galaxy:`Галактика`,system:`Система`,position:`Позиция`,missionType:`Тип миссии`,missionInfo:`Информация о миссии`,fuelConsumption:`Расход топлива`,flightTime:`Время полета`,attackMission:`Атака`,transport:`Транспорт`,colonize:`Колонизация`,spy:`Разведка`,deploy:`Размещение`,transportResources:`Транспортировка ресурсов`,totalCargoCapacity:`Общая грузоподъёмность`,used:`Использовано`,noFlightMissions:`Нет полетных миссий`,outbound:`Туда`,returning:`Возвращение`,fleetComposition:`Состав флота`,carryingResources:`Перевозимые ресурсы`,arrivalTime:`Время прибытия`,returnTime:`Время возврата`,recallFleet:`Отозвать флот`,sendFailed:`Отправка не удалась`,sendFailedMessage:`Пожалуйста, проверьте количество флота, наличие топлива или ограничения грузоподъёмности.`,recallFailed:`Отзыв не удался`,recallFailedMessage:`Эта миссия не может быть отозвана.`,unknownPlanet:`Неизвестная планета`,fleetMissionSlots:`Слоты миссий флота`},officersView:{title:`Офицеры`,activated:`Активирован`,inactive:`Неактивен`,activeStatus:`Статус активации`,expirationTime:`Время истечения`,remainingTime:`Оставшееся время`,recruitCost:`Стоимость найма`,days:`дн.`,benefitsBonus:`Бонусы`,resourceProduction:`Производство ресурсов`,darkMatterProduction:`Производство тёмной материи`,energyProduction:`Производство энергии`,buildingSpeed:`Скорость строительства`,researchSpeed:`Скорость исследований`,fleetSpeed:`Скорость флота`,fuelConsumption:`Расход топлива`,defense:`Защита`,storageCapacity:`Вместимость хранилища`,buildQueue:`Очередь строительства`,fleetSlots:`Слоты флота`,hire:`Нанять`,renew:`Продлить`,dismiss:`Уволить`,hireTitle:`Нанять офицера`,hireMessage:`Вы уверены, что хотите нанять {name}? Действует 7 дней.`,renewTitle:`Продлить офицера`,renewMessage:`Вы уверены, что хотите продлить {name} на 7 дней?`,dismissTitle:`Уволить офицера`,dismissMessage:`Вы уверены, что хотите уволить {name}? Средства не возвращаются.`,hireFailed:`Найм не удался`,renewFailed:`Продление не удалось`,insufficientResources:`Недостаточно ресурсов!`},galaxyView:{title:`Галактика`,selectCoordinates:`Выбрать координаты`,galaxy:`Галактика`,selectGalaxy:`Выбрать галактику`,system:`Система`,selectSystem:`Выбрать систему`,view:`Показать`,myPlanet:`Моя планета`,totalPositions:`Всего 10 позиций планет`,mine:`Моя`,hostile:`Враждебная`,emptySlot:`Пусто - можно колонизировать`,scout:`Разведка`,attack:`Атака`,colonize:`Колонизация`,switch:`Переключить`,scoutPlanetTitle:`Разведать планету`,attackPlanetTitle:`Атаковать планету`,colonizePlanetTitle:`Колонизировать планету`,scoutPlanetMessage:`Вы уверены, что хотите отправить шпионские зонды для разведки планеты [{coordinates}]? Перейдите на страницу флота, чтобы выбрать корабли и отправить.`,attackPlanetMessage:`Вы уверены, что хотите атаковать планету [{coordinates}]? Перейдите на страницу флота, чтобы выбрать корабли и отправить.`,colonizePlanetMessage:`Вы уверены, что хотите колонизировать позицию [{coordinates}]? Перейдите на страницу флота, чтобы отправить колонизационный корабль.`},messagesView:{title:`Сообщения`,battleReports:`Отчёты о боях`,spyReports:`Отчёты разведки`,noBattleReports:`Нет отчётов о боях`,noSpyReports:`Нет отчётов разведки`,battleReport:`Отчёт о бое`,spyReport:`Отчёт разведки`,victory:`Победа`,defeat:`Поражение`,draw:`Ничья`,attackerFleet:`Флот нападающего`,defenderFleet:`Флот защитника`,defenderDefense:`Оборона защитника`,attackerLosses:`Потери нападающего`,defenderLosses:`Потери защитника`,noLosses:`Без потерь`,plunder:`Добыча`,debrisField:`Поле обломков`,resources:`Ресурсы`,fleet:`Флот`,defense:`Оборона`,buildings:`Здания`},simulatorView:{title:`Симулятор боя`,attacker:`Нападающий`,defender:`Защитник`,attackerConfig:`Настройки нападающего`,attackerConfigDesc:`Настроить флот и уровни технологий нападающего`,defenderConfig:`Настройки защитника`,defenderConfigDesc:`Настроить флот, оборону и уровни технологий защитника`,fleet:`Флот`,defenseStructures:`Оборонительные сооружения`,techLevels:`Уровни технологий`,weapon:`Оружие`,shield:`Щит`,armor:`Броня`,defenderResources:`Ресурсы защитника (для расчёта добычи)`,startSimulation:`Начать симуляцию`,reset:`Сбросить`,battleResult:`Результат боя`,attackerVictory:`Победа нападающего`,defenderVictory:`Победа защитника`,draw:`Ничья`,afterRounds:`После {rounds} раундов`,attackerLosses:`Потери нападающего`,defenderLosses:`Потери защитника`,noLosses:`Без потерь`,attackerRemaining:`Осталось у нападающего`,defenderRemaining:`Осталось у защитника`,allDestroyed:`Всё уничтожено`,plunderableResources:`Доступная добыча`,debrisField:`Поле обломков`,moonChance:`Шанс появления луны`,showRoundDetails:`Показать детали раундов`,hideRoundDetails:`Скрыть детали раундов`,round:`Раунд {round}`,attackerRemainingPower:`Оставшаяся мощь нападающего`,defenderRemainingPower:`Оставшаяся мощь защитника`},settings:{dataManagement:`Управление данными`,dataManagementDesc:`Экспорт, импорт или очистка игровых данных`,exportData:`Экспорт данных`,exportDataDesc:`Экспортировать прогресс игры в JSON файл`,export:`Экспорт`,exporting:`Экспорт...`,exportSuccess:`Экспорт успешен`,exportFailed:`Экспорт не удался, попробуйте еще раз`,importData:`Импорт данных`,importDataDesc:`Восстановить прогресс игры из JSON файла`,selectFile:`Выбрать файл`,importSuccess:`Импорт успешен`,importConfirmTitle:`Подтвердить импорт`,importConfirmMessage:`Импорт перезапишет текущий прогресс игры. Это действие невозможно отменить. Продолжить?`,importFailed:`Импорт не удался, проверьте формат файла`,clearData:`Очистить данные`,clearDataDesc:`Удалить все игровые данные и сбросить`,clear:`Очистить`,clearConfirmTitle:`Подтвердить очистку данных`,clearConfirmMessage:`Все игровые данные будут удалены и игра начнется заново. Это действие невозможно отменить. Продолжить?`,gameSettings:`Настройки игры`,gameSettingsDesc:`Настроить параметры и предпочтения игры`,playerName:`Имя игрока`,gameSpeed:`Скорость игры`,gameSpeedDesc:`Текущий множитель скорости игры`,about:`О программе`,version:`Версия`,buildDate:`Дата сборки`,community:`Сообщество`,github:`Репозиторий GitHub`,qqGroup:`Группа QQ`}},pt={common:{confirm:`확인`,cancel:`취소`,delete:`삭제`,edit:`편집`,save:`저장`,close:`닫기`,back:`돌아가기`,next:`다음`,previous:`이전`,submit:`제출`,reset:`초기화`,search:`검색`,filter:`필터`,loading:`로딩 중...`,noData:`데이터 없음`,error:`오류`,success:`성공`,warning:`경고`,info:`정보`,resourceType:`자원 유형`,playerName:`사령관`,timeHour:`시간`,timeMinute:`분`,timeSecond:`초`,featureLocked:`기능 잠김`,unlockRequired:`건물 필요`,requiredBuilding:`필요한 건물`,currentLevel:`현재 레벨`,goToBuildings:`건물로 이동`,locked:`잠김`,viewRequirements:`요구사항 보기`,requirementsNotMet:`요구사항 미충족`,current:`현재`},errors:{requirementsNotMet:`전제 조건 미충족`,insufficientResources:`자원 부족`,shieldDomeLimit:`실드 돔 한도 도달`,fleetMissionsFull:`함대 임무 슬롯 가득 참`,insufficientFleet:`함대 부족`,insufficientFuel:`연료 부족`,planetOnly:`이 건물은 행성에서만 지을 수 있습니다`,moonOnly:`이 건물은 위성에서만 지을 수 있습니다`,buildQueueFull:`건설 대기열 가득 참`,insufficientSpace:`공간 부족`,buildingLevelZero:`건물 레벨이 0이므로 철거할 수 없습니다`,researchQueueFull:`연구 대기열 가득 참`,moonExists:`위성이 이미 존재합니다`,insufficientDebris:`잔해장 부족`},nav:{overview:`개요`,buildings:`건물`,research:`연구`,shipyard:`조선소`,defense:`방어`,fleet:`함대`,officers:`장교`,simulator:`시뮬레이터`,galaxy:`은하계`,messages:`메시지`,settings:`설정`},sidebar:{language:`언어`,lightMode:`라이트 모드`,darkMode:`다크 모드`,collapse:`메뉴 접기`,expand:`메뉴 펼치기`},resources:{metal:`금속`,crystal:`크리스탈`,deuterium:`중수소`,darkMatter:`암흑 물질`,energy:`에너지`,production:`생산량`,capacity:`용량`,current:`현재 저장량`,max:`최대 용량`,perHour:`시간`},planet:{planet:`행성`,moon:`위성`,colony:`식민지`,position:`위치`,coordinates:`좌표`,switchToMoon:`위성 보기`,backToPlanet:`모행성으로 돌아가기`,fields:`필드`,temperature:`온도`,homePlanet:`모행성`,planetPrefix:`행성`,moonSuffix:`의 위성`,colonyPrefix:`식민지`},player:{points:`총 점수`},buildings:{metalMine:`금속 광산`,crystalMine:`크리스탈 광산`,deuteriumSynthesizer:`중수소 합성기`,solarPlant:`태양광 발전소`,roboticsFactory:`로봇 공장`,naniteFactory:`나노 공장`,shipyard:`조선소`,researchLab:`연구소`,metalStorage:`금속 창고`,crystalStorage:`크리스탈 창고`,deuteriumTank:`중수소 탱크`,darkMatterCollector:`암흑 물질 수집기`,lunarBase:`달 기지`,sensorPhalanx:`센서 팔랑크스`,jumpGate:`점프 게이트`,buildTime:`건설 시간`,production:`생산량`,consumption:`소비`,totalCost:`총 비용`,totalPoints:`총 점수`,levelRange:`레벨 범위`},buildingDescriptions:{metalMine:`금속 자원 채굴`,crystalMine:`크리스탈 자원 채굴`,deuteriumSynthesizer:`중수소 자원 합성`,solarPlant:`에너지 제공`,roboticsFactory:`건설 속도 향상`,naniteFactory:`건설 대기열 수 증가, 레벨당 +1 (최대 10개)`,shipyard:`함선 건조`,researchLab:`기술 연구`,metalStorage:`금속 저장 용량 증가`,crystalStorage:`크리스탈 저장 용량 증가`,deuteriumTank:`중수소 저장 용량 증가`,darkMatterCollector:`희귀한 암흑 물질 자원 수집`,lunarBase:`달 가용 공간 증가`,sensorPhalanx:`주변 행성계의 함대 활동 감지`,jumpGate:`다른 위성으로 함대 순간 이동`},ships:{lightFighter:`경전투기`,heavyFighter:`중전투기`,cruiser:`순양함`,battleship:`전함`,smallCargo:`소형 수송선`,largeCargo:`대형 수송선`,colonyShip:`식민선`,recycler:`재활용선`,espionageProbe:`정찰기`,darkMatterHarvester:`암흑 물질 채취선`},shipDescriptions:{lightFighter:`기본 전투 유닛`,heavyFighter:`중장갑 전투기`,cruiser:`중형 전함, 공격과 방어 균형`,battleship:`강력한 전함`,smallCargo:`소량의 자원 운송`,largeCargo:`대량의 자원 운송`,colonyShip:`새로운 행성 식민에 사용`,recycler:`잔해장 자원 수집`,espionageProbe:`적 행성 정찰`,darkMatterHarvester:`암흑 물질 채취 전용 특수 함선`},defenses:{rocketLauncher:`로켓 발사대`,lightLaser:`경량 레이저포`,heavyLaser:`중형 레이저포`,gaussCannon:`가우스 캐논`,ionCannon:`이온 캐논`,plasmaTurret:`플라즈마 포탑`,smallShieldDome:`소형 실드 돔`,largeShieldDome:`대형 실드 돔`},defenseDescriptions:{rocketLauncher:`기본 방어 시설`,lightLaser:`경량 에너지 무기`,heavyLaser:`중형 에너지 무기`,gaussCannon:`고속 운동 에너지 무기`,ionCannon:`실드 파괴의 이기`,plasmaTurret:`강력한 방어 시설`,smallShieldDome:`행성 전체를 보호하는 소형 실드`,largeShieldDome:`행성 전체를 보호하는 대형 실드`},research:{researchTime:`연구 시간`,totalCost:`총 비용`,totalPoints:`총 점수`,levelRange:`레벨 범위`},technologies:{energyTechnology:`에너지 기술`,laserTechnology:`레이저 기술`,ionTechnology:`이온 기술`,hyperspaceTechnology:`초공간 기술`,plasmaTechnology:`플라즈마 기술`,computerTechnology:`컴퓨터 기술`,combustionDrive:`연소 엔진`,impulseDrive:`임펄스 엔진`,hyperspaceDrive:`초공간 엔진`,darkMatterTechnology:`암흑 물질 기술`},technologyDescriptions:{energyTechnology:`에너지 이용 효율 향상`,laserTechnology:`레이저 무기와 방어의 기초`,ionTechnology:`이온 무기 기술`,hyperspaceTechnology:`초공간 점프 기술`,plasmaTechnology:`플라즈마 무기 기술`,computerTechnology:`연구 대기열 수 증가, 레벨당 +1 (최대 10개)`,combustionDrive:`기본 추진 기술`,impulseDrive:`중급 추진 기술`,hyperspaceDrive:`고급 추진 기술`,darkMatterTechnology:`암흑 물질의 성질과 응용 연구`},officers:{commander:`사령관`,admiral:`제독`,engineer:`엔지니어`,geologist:`지질학자`,technocrat:`기술 전문가`,darkMatterSpecialist:`암흑 물질 전문가`},officerDescriptions:{commander:`건설 속도 및 관리 능력 향상`,admiral:`함대 전투력 및 속도 향상`,engineer:`에너지 및 방어력 향상`,geologist:`자원 생산량 향상`,technocrat:`연구 속도 및 정찰 능력 향상`,darkMatterSpecialist:`암흑 물질 수집 효율 향상`},queue:{buildQueue:`건설 대기열`,researchQueue:`연구 대기열`,building:`건설 중`,researching:`연구 중`,remaining:`남은 시간`,cancel:`취소`,cancelBuild:`건설 취소`,cancelResearch:`연구 취소`,confirmCancel:`취소하시겠습니까? 자원의 50%가 환불됩니다.`,level:`레벨`,upgradeToLevel:`레벨로 업그레이드`},overview:{title:`행성 개요`,resourceOverview:`자원 개요`,fleetInfo:`함대`,currentShips:`현재 행성의 함선 수`},buildingsView:{title:`건물`,usedSpace:`사용된 공간`,spaceUsage:`공간 사용`,level:`레벨`,upgradeCost:`업그레이드 비용`,buildTime:`건설 시간`,upgrade:`업그레이드`,upgradeFailed:`업그레이드 실패`,upgradeFailedMessage:`자원이 충분한지, 공간이 충분한지, 또는 다른 건설 작업이 있는지 확인하세요.`,demolish:`철거`,demolishRefund:`철거 환불`,demolishFailed:`철거 실패`,demolishFailedMessage:`이 건물을 철거할 수 없습니다. 건설 대기열이 가득 찼거나 건물 레벨이 0인지 확인하세요.`},researchView:{title:`연구`,researchCost:`연구 비용`,research:`연구`,researchFailed:`연구 실패`,researchFailedMessage:`자원이 충분한지, 전제 조건이 충족되었는지, 또는 다른 연구 작업이 있는지 확인하세요.`},shipyard:{attack:`공격력`,shield:`쉴드`,armor:`장갑`,speed:`속도`,cargoCapacity:`화물 용량`,fuelConsumption:`연료 소비`,buildCost:`건설 비용`,buildTime:`건설 시간`,perUnit:`단위당`,batchCalculator:`일괄 계산기`,quantity:`수량`,totalCost:`총 비용`,totalTime:`총 시간`},shipyardView:{title:`조선소`,attack:`공격력`,shield:`실드`,speed:`속도`,cargoCapacity:`적재량`,unitCost:`단위 비용`,buildQuantity:`건조 수량`,totalCost:`총 비용`,build:`건조`,inputError:`입력 오류`,inputErrorMessage:`건조 수량을 입력하세요!`,buildFailed:`건조 실패`,buildFailedMessage:`자원이 충분한지 또는 전제 조건이 충족되었는지 확인하세요.`},defense:{attack:`공격력`,shield:`쉴드`,armor:`장갑`,buildCost:`건설 비용`,buildTime:`건설 시간`,perUnit:`단위당`,batchCalculator:`일괄 계산기`,quantity:`수량`,totalCost:`총 비용`,totalTime:`총 시간`},defenseView:{title:`방어 시설`,attack:`공격력`,shield:`실드`,armor:`장갑`,buildTime:`건설 시간`,seconds:`초`,unitCost:`단위 비용`,buildQuantity:`건조 수량`,totalCost:`총 비용`,build:`건조`,shieldDomeBuilt:`실드 돔이 이미 건설됨`,inputError:`입력 오류`,inputErrorMessage:`건조 수량을 입력하세요!`,buildFailed:`건조 실패`,buildFailedMessage:`자원이 충분한지 또는 전제 조건이 충족되었는지 확인하세요. 실드 돔은 하나만 건설할 수 있습니다.`},fleetView:{title:`함대 관리`,fleetOverview:`함대 개요`,sendFleet:`함대 파견`,flightMissions:`비행 임무`,currentPlanetFleet:`현재 행성 함대`,attack:`공격`,shield:`실드`,armor:`장갑`,speed:`속도`,cargo:`화물`,selectFleet:`함대 선택`,selectFleetDescription:`파견할 함선 수 선택`,available:`사용 가능`,all:`전체`,targetCoordinates:`목표 좌표`,galaxy:`은하계`,system:`행성계`,position:`위치`,missionType:`임무 유형`,missionInfo:`임무 정보`,fuelConsumption:`연료 소비`,flightTime:`비행 시간`,attackMission:`공격`,transport:`수송`,colonize:`식민`,spy:`정찰`,deploy:`배치`,transportResources:`자원 수송`,totalCargoCapacity:`총 적재량`,used:`사용됨`,noFlightMissions:`비행 임무 없음`,outbound:`이동 중`,returning:`귀환 중`,fleetComposition:`함대 구성`,carryingResources:`운반 자원`,arrivalTime:`도착 시간`,returnTime:`귀환 시간`,recallFleet:`함대 소환`,sendFailed:`파견 실패`,sendFailedMessage:`함대 수, 연료 충분 여부 또는 적재량 한계를 확인하세요.`,recallFailed:`소환 실패`,recallFailedMessage:`이 임무는 소환할 수 없습니다.`,unknownPlanet:`알 수 없는 행성`,fleetMissionSlots:`함대 임무 슬롯`},officersView:{title:`장교`,activated:`활성화됨`,inactive:`비활성`,activeStatus:`활성 상태`,expirationTime:`만료 시간`,remainingTime:`남은 시간`,recruitCost:`모집 비용`,days:`일`,benefitsBonus:`효과 보너스`,resourceProduction:`자원 생산량`,darkMatterProduction:`암흑 물질 생산량`,energyProduction:`에너지 생산량`,buildingSpeed:`건설 속도`,researchSpeed:`연구 속도`,fleetSpeed:`함대 속도`,fuelConsumption:`연료 소비`,defense:`방어력`,storageCapacity:`저장 용량`,buildQueue:`건설 대기열`,fleetSlots:`함대 슬롯`,hire:`고용`,renew:`갱신`,dismiss:`해고`,hireTitle:`장교 고용`,hireMessage:`{name}을(를) 고용하시겠습니까? 유효 기간은 7일입니다.`,renewTitle:`장교 갱신`,renewMessage:`{name}을(를) 7일간 갱신하시겠습니까?`,dismissTitle:`장교 해고`,dismissMessage:`{name}을(를) 해고하시겠습니까? 비용은 환불되지 않습니다.`,hireFailed:`고용 실패`,renewFailed:`갱신 실패`,insufficientResources:`자원 부족!`},galaxyView:{title:`은하계`,selectCoordinates:`좌표 선택`,galaxy:`은하계`,selectGalaxy:`은하계 선택`,system:`행성계`,selectSystem:`행성계 선택`,view:`보기`,myPlanet:`내 행성`,totalPositions:`총 10개 행성 위치`,mine:`내 것`,hostile:`적대`,emptySlot:`빈 자리 - 식민 가능`,scout:`정찰`,attack:`공격`,colonize:`식민`,switch:`전환`,scoutPlanetTitle:`행성 정찰`,attackPlanetTitle:`행성 공격`,colonizePlanetTitle:`행성 식민`,scoutPlanetMessage:`행성 [{coordinates}]을(를) 정찰하기 위해 정찰기를 보내시겠습니까? 함대 페이지로 이동하여 함선을 선택하고 파견하세요.`,attackPlanetMessage:`행성 [{coordinates}]을(를) 공격하시겠습니까? 함대 페이지로 이동하여 함선을 선택하고 파견하세요.`,colonizePlanetMessage:`위치 [{coordinates}]을(를) 식민하시겠습니까? 함대 페이지로 이동하여 식민선을 파견하세요.`},messagesView:{title:`메시지 센터`,battleReports:`전투 보고서`,spyReports:`정찰 보고서`,noBattleReports:`전투 보고서 없음`,noSpyReports:`정찰 보고서 없음`,battleReport:`전투 보고서`,spyReport:`정찰 보고서`,victory:`승리`,defeat:`패배`,draw:`무승부`,attackerFleet:`공격자 함대`,defenderFleet:`방어자 함대`,defenderDefense:`방어자 방어`,attackerLosses:`공격자 손실`,defenderLosses:`방어자 손실`,noLosses:`손실 없음`,plunder:`약탈 자원`,debrisField:`잔해장`,resources:`자원`,fleet:`함대`,defense:`방어`,buildings:`건물`},simulatorView:{title:`전투 시뮬레이터`,attacker:`공격자`,defender:`방어자`,attackerConfig:`공격자 설정`,attackerConfigDesc:`공격자의 함대와 기술 레벨 설정`,defenderConfig:`방어자 설정`,defenderConfigDesc:`방어자의 함대, 방어 및 기술 레벨 설정`,fleet:`함대`,defenseStructures:`방어 시설`,techLevels:`기술 레벨`,weapon:`무기`,shield:`실드`,armor:`장갑`,defenderResources:`방어자 자원 (약탈 계산용)`,startSimulation:`시뮬레이션 시작`,reset:`초기화`,battleResult:`전투 결과`,attackerVictory:`공격자 승리`,defenderVictory:`방어자 승리`,draw:`무승부`,afterRounds:`{rounds}회 전투 후`,attackerLosses:`공격자 손실`,defenderLosses:`방어자 손실`,noLosses:`손실 없음`,attackerRemaining:`공격자 잔여`,defenderRemaining:`방어자 잔여`,allDestroyed:`모두 파괴됨`,plunderableResources:`약탈 가능 자원`,debrisField:`잔해장`,moonChance:`위성 생성 확률`,showRoundDetails:`라운드 상세 표시`,hideRoundDetails:`라운드 상세 숨기기`,round:`제 {round} 라운드`,attackerRemainingPower:`공격자 잔여 화력`,defenderRemainingPower:`방어자 잔여 화력`},settings:{dataManagement:`데이터 관리`,dataManagementDesc:`게임 데이터 내보내기, 가져오기 또는 지우기`,exportData:`데이터 내보내기`,exportDataDesc:`게임 진행 상황을 JSON 파일로 내보내기`,export:`내보내기`,exporting:`내보내는 중...`,exportSuccess:`내보내기 성공`,exportFailed:`내보내기 실패, 다시 시도해주세요`,importData:`데이터 가져오기`,importDataDesc:`JSON 파일에서 게임 진행 상황 복원`,selectFile:`파일 선택`,importSuccess:`가져오기 성공`,importConfirmTitle:`가져오기 확인`,importConfirmMessage:`가져오기를 하면 현재 게임 진행 상황이 덮어쓰기됩니다. 이 작업은 되돌릴 수 없습니다. 계속하시겠습니까?`,importFailed:`가져오기 실패, 파일 형식을 확인해주세요`,clearData:`데이터 지우기`,clearDataDesc:`모든 게임 데이터 삭제 및 초기화`,clear:`지우기`,clearConfirmTitle:`데이터 지우기 확인`,clearConfirmMessage:`모든 게임 데이터가 삭제되고 처음부터 시작됩니다. 이 작업은 되돌릴 수 없습니다. 계속하시겠습니까?`,gameSettings:`게임 설정`,gameSettingsDesc:`게임 매개변수 및 설정 조정`,playerName:`플레이어 이름`,gameSpeed:`게임 속도`,gameSpeedDesc:`현재 게임 속도 배율`,about:`정보`,version:`버전`,buildDate:`빌드 날짜`,community:`커뮤니티`,github:`GitHub 저장소`,qqGroup:`QQ 그룹`}},mt={common:{confirm:`確認`,cancel:`キャンセル`,delete:`削除`,edit:`編集`,save:`保存`,close:`閉じる`,back:`戻る`,next:`次へ`,previous:`前へ`,submit:`送信`,reset:`リセット`,search:`検索`,filter:`フィルター`,loading:`読み込み中...`,noData:`データなし`,error:`エラー`,success:`成功`,warning:`警告`,info:`情報`,resourceType:`資源タイプ`,playerName:`司令官`,timeHour:`時間`,timeMinute:`分`,timeSecond:`秒`,featureLocked:`機能がロックされています`,unlockRequired:`建物が必要です`,requiredBuilding:`必要な建物`,currentLevel:`現在のレベル`,goToBuildings:`建物へ移動`,locked:`ロック済み`,viewRequirements:`必要条件を表示`,requirementsNotMet:`必要条件が満たされていません`,current:`現在`},errors:{requirementsNotMet:`前提条件を満たしていません`,insufficientResources:`資源が不足しています`,shieldDomeLimit:`シールドドームの上限に達しました`,fleetMissionsFull:`艦隊ミッションスロットが満杯です`,insufficientFleet:`艦隊が不足しています`,insufficientFuel:`燃料が不足しています`,planetOnly:`この建物は惑星でのみ建設できます`,moonOnly:`この建物は月でのみ建設できます`,buildQueueFull:`建設キューが満杯です`,insufficientSpace:`スペースが不足しています`,buildingLevelZero:`建物レベルが0のため、解体できません`,researchQueueFull:`研究キューが満杯です`,moonExists:`月は既に存在します`,insufficientDebris:`残骸フィールドが不足しています`},nav:{overview:`概要`,buildings:`建物`,research:`研究`,shipyard:`造船所`,defense:`防衛`,fleet:`艦隊`,officers:`士官`,simulator:`シミュレーター`,galaxy:`銀河`,messages:`メッセージ`,settings:`設定`},sidebar:{language:`言語`,lightMode:`ライトモード`,darkMode:`ダークモード`,collapse:`メニューを閉じる`,expand:`メニューを開く`},resources:{metal:`金属`,crystal:`クリスタル`,deuterium:`重水素`,darkMatter:`ダークマター`,energy:`エネルギー`,production:`生産量`,capacity:`容量`,current:`現在の貯蔵量`,max:`最大容量`,perHour:`時間`},planet:{planet:`惑星`,moon:`月`,colony:`コロニー`,position:`位置`,coordinates:`座標`,switchToMoon:`月を表示`,backToPlanet:`母星に戻る`,fields:`フィールド`,temperature:`温度`,homePlanet:`母星`,planetPrefix:`惑星`,moonSuffix:`の月`,colonyPrefix:`コロニー`},player:{points:`総ポイント`},buildings:{metalMine:`金属鉱山`,crystalMine:`クリスタル鉱山`,deuteriumSynthesizer:`重水素合成装置`,solarPlant:`太陽光発電所`,roboticsFactory:`ロボット工場`,naniteFactory:`ナノマシン工場`,shipyard:`造船所`,researchLab:`研究所`,metalStorage:`金属倉庫`,crystalStorage:`クリスタル倉庫`,deuteriumTank:`重水素タンク`,darkMatterCollector:`ダークマター採取装置`,lunarBase:`月面基地`,sensorPhalanx:`センサーファランクス`,jumpGate:`ジャンプゲート`,buildTime:`建設時間`,production:`生産量`,consumption:`消費`,totalCost:`総コスト`,totalPoints:`総ポイント`,levelRange:`レベル範囲`},buildingDescriptions:{metalMine:`金属資源を採掘`,crystalMine:`クリスタル資源を採掘`,deuteriumSynthesizer:`重水素資源を合成`,solarPlant:`エネルギーを供給`,roboticsFactory:`建設速度を向上`,naniteFactory:`建設キュー数を増加、レベル毎に+1(最大10)`,shipyard:`艦船を建造`,researchLab:`技術を研究`,metalStorage:`金属の貯蔵上限を増加`,crystalStorage:`クリスタルの貯蔵上限を増加`,deuteriumTank:`重水素の貯蔵上限を増加`,darkMatterCollector:`希少なダークマター資源を収集`,lunarBase:`月の利用可能スペースを増加`,sensorPhalanx:`周辺星系の艦隊活動を探知`,jumpGate:`他の月へ艦隊を瞬間移動`},ships:{lightFighter:`軽戦闘機`,heavyFighter:`重戦闘機`,cruiser:`巡洋艦`,battleship:`戦艦`,smallCargo:`小型輸送船`,largeCargo:`大型輸送船`,colonyShip:`コロニーシップ`,recycler:`リサイクラー`,espionageProbe:`スパイプローブ`,darkMatterHarvester:`ダークマター採取船`},shipDescriptions:{lightFighter:`基本戦闘ユニット`,heavyFighter:`重装甲戦闘機`,cruiser:`中型戦艦、攻守バランス型`,battleship:`強力な戦艦`,smallCargo:`少量の資源を輸送`,largeCargo:`大量の資源を輸送`,colonyShip:`新惑星の植民に使用`,recycler:`デブリフィールドの資源を回収`,espionageProbe:`敵惑星を偵察`,darkMatterHarvester:`ダークマター採取専用の特殊艦`},defenses:{rocketLauncher:`ロケットランチャー`,lightLaser:`ライトレーザー`,heavyLaser:`ヘビーレーザー`,gaussCannon:`ガウスキャノン`,ionCannon:`イオンキャノン`,plasmaTurret:`プラズマタレット`,smallShieldDome:`小型シールドドーム`,largeShieldDome:`大型シールドドーム`},defenseDescriptions:{rocketLauncher:`基本防衛施設`,lightLaser:`軽量エネルギー兵器`,heavyLaser:`重型エネルギー兵器`,gaussCannon:`高速運動エネルギー兵器`,ionCannon:`シールド破壊に効果的`,plasmaTurret:`強力な防衛施設`,smallShieldDome:`惑星全体を保護する小型シールド`,largeShieldDome:`惑星全体を保護する大型シールド`},research:{researchTime:`研究時間`,totalCost:`総コスト`,totalPoints:`総ポイント`,levelRange:`レベル範囲`},technologies:{energyTechnology:`エネルギー技術`,laserTechnology:`レーザー技術`,ionTechnology:`イオン技術`,hyperspaceTechnology:`ハイパースペース技術`,plasmaTechnology:`プラズマ技術`,computerTechnology:`コンピューター技術`,combustionDrive:`燃焼ドライブ`,impulseDrive:`インパルスドライブ`,hyperspaceDrive:`ハイパースペースドライブ`,darkMatterTechnology:`ダークマター技術`},technologyDescriptions:{energyTechnology:`エネルギー利用効率を向上`,laserTechnology:`レーザー兵器と防衛の基礎`,ionTechnology:`イオン兵器技術`,hyperspaceTechnology:`ハイパースペースジャンプ技術`,plasmaTechnology:`プラズマ兵器技術`,computerTechnology:`研究キュー数を増加、レベル毎に+1(最大10)`,combustionDrive:`基本推進技術`,impulseDrive:`中級推進技術`,hyperspaceDrive:`高級推進技術`,darkMatterTechnology:`ダークマターの性質と応用を研究`},officers:{commander:`司令官`,admiral:`提督`,engineer:`エンジニア`,geologist:`地質学者`,technocrat:`技術専門家`,darkMatterSpecialist:`ダークマター専門家`},officerDescriptions:{commander:`建設速度と管理能力を向上`,admiral:`艦隊戦闘力と速度を向上`,engineer:`エネルギーと防御力を向上`,geologist:`資源生産量を向上`,technocrat:`研究速度と偵察能力を向上`,darkMatterSpecialist:`ダークマター採取効率を向上`},queue:{buildQueue:`建設キュー`,researchQueue:`研究キュー`,building:`建設中`,researching:`研究中`,remaining:`残り時間`,cancel:`キャンセル`,cancelBuild:`建設キャンセル`,cancelResearch:`研究キャンセル`,confirmCancel:`キャンセルしますか?資源の50%が返還されます。`,level:`レベル`,upgradeToLevel:`レベルにアップグレード`},shipyard:{attack:`攻撃力`,shield:`シールド`,armor:`装甲`,speed:`速度`,cargoCapacity:`貨物容量`,fuelConsumption:`燃料消費`,buildCost:`建設コスト`,buildTime:`建設時間`,perUnit:`ユニットあたり`,batchCalculator:`一括計算機`,quantity:`数量`,totalCost:`総コスト`,totalTime:`総時間`},overview:{title:`惑星概要`,resourceOverview:`資源概要`,fleetInfo:`艦隊`,currentShips:`現在の惑星の艦船数`},buildingsView:{title:`建物`,usedSpace:`使用済みスペース`,spaceUsage:`スペース使用量`,level:`レベル`,upgradeCost:`アップグレードコスト`,buildTime:`建設時間`,upgrade:`アップグレード`,upgradeFailed:`アップグレード失敗`,upgradeFailedMessage:`資源が十分か、スペースが十分か、または他の建設タスクがないか確認してください。`,demolish:`解体`,demolishRefund:`解体返還`,demolishFailed:`解体失敗`,demolishFailedMessage:`この建物を解体できません。建設キューが満杯か、建物レベルが0でないか確認してください。`},researchView:{title:`研究`,researchCost:`研究コスト`,research:`研究`,researchFailed:`研究失敗`,researchFailedMessage:`資源が十分か、前提条件が満たされているか、または他の研究タスクがないか確認してください。`},defense:{attack:`攻撃力`,shield:`シールド`,armor:`装甲`,buildCost:`建設コスト`,buildTime:`建設時間`,perUnit:`ユニットあたり`,batchCalculator:`一括計算機`,quantity:`数量`,totalCost:`総コスト`,totalTime:`総時間`},shipyardView:{title:`造船所`,attack:`攻撃力`,shield:`シールド`,speed:`速度`,cargoCapacity:`積載量`,unitCost:`ユニットコスト`,buildQuantity:`建造数`,totalCost:`総コスト`,build:`建造`,inputError:`入力エラー`,inputErrorMessage:`建造数を入力してください!`,buildFailed:`建造失敗`,buildFailedMessage:`資源が十分か、前提条件が満たされているか確認してください。`},defenseView:{title:`防衛施設`,attack:`攻撃力`,shield:`シールド`,armor:`装甲`,buildTime:`建設時間`,seconds:`秒`,unitCost:`ユニットコスト`,buildQuantity:`建造数`,totalCost:`総コスト`,build:`建造`,shieldDomeBuilt:`シールドドーム建設済み`,inputError:`入力エラー`,inputErrorMessage:`建造数を入力してください!`,buildFailed:`建造失敗`,buildFailedMessage:`資源が十分か、前提条件が満たされているか確認してください。シールドドームは1つのみ建設できます。`},fleetView:{title:`艦隊管理`,fleetOverview:`艦隊概要`,sendFleet:`艦隊派遣`,flightMissions:`飛行ミッション`,currentPlanetFleet:`現在の惑星艦隊`,attack:`攻撃`,shield:`シールド`,armor:`装甲`,speed:`速度`,cargo:`貨物`,selectFleet:`艦隊選択`,selectFleetDescription:`派遣する艦船数を選択`,available:`利用可能`,all:`全て`,targetCoordinates:`目標座標`,galaxy:`銀河`,system:`星系`,position:`位置`,missionType:`ミッションタイプ`,missionInfo:`ミッション情報`,fuelConsumption:`燃料消費`,flightTime:`飛行時間`,attackMission:`攻撃`,transport:`輸送`,colonize:`植民`,spy:`偵察`,deploy:`配備`,transportResources:`資源輸送`,totalCargoCapacity:`総積載量`,used:`使用済み`,noFlightMissions:`飛行ミッションなし`,outbound:`往路`,returning:`帰路`,fleetComposition:`艦隊構成`,carryingResources:`運搬資源`,arrivalTime:`到着時刻`,returnTime:`帰還時刻`,recallFleet:`艦隊召還`,sendFailed:`派遣失敗`,sendFailedMessage:`艦隊数、燃料の充足、または積載量の制限を確認してください。`,recallFailed:`召還失敗`,recallFailedMessage:`このミッションは召還できません。`,unknownPlanet:`未知の惑星`,fleetMissionSlots:`艦隊ミッションスロット`},officersView:{title:`士官`,activated:`アクティブ`,inactive:`非アクティブ`,activeStatus:`アクティブ状態`,expirationTime:`期限切れ時刻`,remainingTime:`残り時間`,recruitCost:`募集コスト`,days:`日`,benefitsBonus:`効果ボーナス`,resourceProduction:`資源生産量`,darkMatterProduction:`ダークマター生産量`,energyProduction:`エネルギー生産量`,buildingSpeed:`建設速度`,researchSpeed:`研究速度`,fleetSpeed:`艦隊速度`,fuelConsumption:`燃料消費`,defense:`防御力`,storageCapacity:`貯蔵容量`,buildQueue:`建設キュー`,fleetSlots:`艦隊スロット`,hire:`雇用`,renew:`更新`,dismiss:`解雇`,hireTitle:`士官雇用`,hireMessage:`{name}を雇用しますか?有効期限は7日間です。`,renewTitle:`士官更新`,renewMessage:`{name}を7日間更新しますか?`,dismissTitle:`士官解雇`,dismissMessage:`{name}を解雇しますか?費用は返金されません。`,hireFailed:`雇用失敗`,renewFailed:`更新失敗`,insufficientResources:`資源不足!`},galaxyView:{title:`銀河`,selectCoordinates:`座標選択`,galaxy:`銀河`,selectGalaxy:`銀河を選択`,system:`星系`,selectSystem:`星系を選択`,view:`表示`,myPlanet:`自分の惑星`,totalPositions:`全10惑星位置`,mine:`自分`,hostile:`敵対`,emptySlot:`空き - 植民可能`,scout:`偵察`,attack:`攻撃`,colonize:`植民`,switch:`切り替え`,scoutPlanetTitle:`惑星偵察`,attackPlanetTitle:`惑星攻撃`,colonizePlanetTitle:`惑星植民`,scoutPlanetMessage:`惑星[{coordinates}]にスパイプローブを送りますか? 艦隊ページに移動して艦船を選択して派遣してください。`,attackPlanetMessage:`惑星[{coordinates}]を攻撃しますか? 艦隊ページに移動して艦船を選択して派遣してください。`,colonizePlanetMessage:`位置[{coordinates}]を植民しますか? 艦隊ページに移動してコロニーシップを派遣してください。`},messagesView:{title:`メッセージセンター`,battleReports:`戦闘レポート`,spyReports:`スパイレポート`,noBattleReports:`戦闘レポートなし`,noSpyReports:`スパイレポートなし`,battleReport:`戦闘レポート`,spyReport:`スパイレポート`,victory:`勝利`,defeat:`敗北`,draw:`引き分け`,attackerFleet:`攻撃側艦隊`,defenderFleet:`防御側艦隊`,defenderDefense:`防御側防衛`,attackerLosses:`攻撃側損失`,defenderLosses:`防御側損失`,noLosses:`損失なし`,plunder:`略奪資源`,debrisField:`デブリフィールド`,resources:`資源`,fleet:`艦隊`,defense:`防衛`,buildings:`建物`},simulatorView:{title:`戦闘シミュレーター`,attacker:`攻撃側`,defender:`防御側`,attackerConfig:`攻撃側設定`,attackerConfigDesc:`攻撃側の艦隊と技術レベルを設定`,defenderConfig:`防御側設定`,defenderConfigDesc:`防御側の艦隊、防衛、技術レベルを設定`,fleet:`艦隊`,defenseStructures:`防衛施設`,techLevels:`技術レベル`,weapon:`武器`,shield:`シールド`,armor:`装甲`,defenderResources:`防御側資源(略奪計算用)`,startSimulation:`シミュレーション開始`,reset:`リセット`,battleResult:`戦闘結果`,attackerVictory:`攻撃側勝利`,defenderVictory:`防御側勝利`,draw:`引き分け`,afterRounds:`{rounds}ラウンド後`,attackerLosses:`攻撃側損失`,defenderLosses:`防御側損失`,noLosses:`損失なし`,attackerRemaining:`攻撃側残存`,defenderRemaining:`防御側残存`,allDestroyed:`全て破壊`,plunderableResources:`略奪可能資源`,debrisField:`デブリフィールド`,moonChance:`月生成確率`,showRoundDetails:`ラウンド詳細表示`,hideRoundDetails:`ラウンド詳細非表示`,round:`第{round}ラウンド`,attackerRemainingPower:`攻撃側残存火力`,defenderRemainingPower:`防御側残存火力`},settings:{dataManagement:`データ管理`,dataManagementDesc:`ゲームデータのエクスポート、インポート、またはクリア`,exportData:`データエクスポート`,exportDataDesc:`ゲームの進行状況をJSONファイルとしてエクスポート`,export:`エクスポート`,exporting:`エクスポート中...`,exportSuccess:`エクスポート成功`,exportFailed:`エクスポートに失敗しました。もう一度お試しください`,importData:`データインポート`,importDataDesc:`JSONファイルからゲームの進行状況を復元`,selectFile:`ファイルを選択`,importSuccess:`インポート成功`,importConfirmTitle:`インポート確認`,importConfirmMessage:`インポートすると現在のゲームの進行状況が上書きされます。この操作は元に戻せません。続行しますか?`,importFailed:`インポートに失敗しました。ファイル形式を確認してください`,clearData:`データクリア`,clearDataDesc:`すべてのゲームデータを削除してリセット`,clear:`クリア`,clearConfirmTitle:`データクリア確認`,clearConfirmMessage:`すべてのゲームデータが削除され、最初からやり直します。この操作は元に戻せません。続行しますか?`,gameSettings:`ゲーム設定`,gameSettingsDesc:`ゲームパラメータと設定を調整`,playerName:`プレイヤー名`,gameSpeed:`ゲーム速度`,gameSpeedDesc:`現在のゲーム速度倍率`,about:`について`,version:`バージョン`,buildDate:`ビルド日`,community:`コミュニティ`,github:`GitHubリポジトリ`,qqGroup:`QQグループ`}};const ht={"zh-CN":ct,"zh-TW":lt,en:ut,de:dt,ru:ft,ko:pt,ja:mt},gt={"zh-CN":`简体中文`,"zh-TW":`繁體中文`,en:`English`,de:`Deutsch`,ru:`Русский`,ko:`한국어`,ja:`日本語`},_t=()=>{let e=(navigator.language||navigator.languages&&navigator.languages[0]||`zh-CN`).toLowerCase();return e.startsWith(`zh-tw`)||e.startsWith(`zh-hant`)||e.startsWith(`zh-hk`)||e.startsWith(`zh-mo`)?`zh-TW`:e.startsWith(`zh`)?`zh-CN`:e.startsWith(`ja`)?`ja`:e.startsWith(`ko`)?`ko`:e.startsWith(`en`)?`en`:e.startsWith(`de`)?`de`:e.startsWith(`ru`)?`ru`:`zh-CN`},vt=()=>{let e=at(),t=S(()=>e.locale),n=S(()=>ht[t.value]);return{t:e=>{let t=e.split(`.`),r=n.value;for(let n of t)if(r&&typeof r==`object`&&n in r)r=r[n];else return e;return typeof r==`string`?r:e},locale:t,setLocale:t=>{e.locale=t},messages:n}};function yt(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;ttypeof e==`boolean`?`${e}`:e===0?`0`:e;const St=bt,Ct=(e,t)=>n=>{if(t?.variants==null)return St(e,n?.class,n?.className);let{variants:r,defaultVariants:i}=t,a=Object.keys(r).map(e=>{let t=n?.[e],a=i?.[e];if(t===null)return null;let o=xt(t)||xt(a);return r[e][o]}),o=n&&Object.entries(n).reduce((e,t)=>{let[n,r]=t;return r===void 0||(e[n]=r),e},{});return St(e,a,t?.compoundVariants?.reduce((e,t)=>{let{class:n,className:r,...a}=t;return Object.entries(a).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...i,...o}[t]):{...i,...o}[t]===n})?[...e,n,r]:e},[]),n?.class,n?.className)};var wt=(e,t)=>{let n=Array(e.length+t.length);for(let t=0;t({classGroupId:e,validator:t}),Et=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),Dt=`-`,Ot=[],kt=`arbitrary..`,At=e=>{let t=Nt(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return Mt(e);let n=e.split(Dt);return jt(n,n[0]===``&&n.length>1?1:0,t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?wt(i,t):t:i||Ot}return n[e]||Ot}}},jt=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=jt(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(Dt):e.slice(t).join(Dt),s=a.length;for(let e=0;ee.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?kt+r:void 0})(),Nt=e=>{let{theme:t,classGroups:n}=e;return Pt(n,t)},Pt=(e,t)=>{let n=Et();for(let r in e){let i=e[r];Ft(i,n,r,t)}return n},Ft=(e,t,n,r)=>{let i=e.length;for(let a=0;a{if(typeof e==`string`){Lt(e,t,n);return}if(typeof e==`function`){Rt(e,t,n,r);return}zt(e,t,n,r)},Lt=(e,t,n)=>{let r=e===``?t:Bt(t,e);r.classGroupId=n},Rt=(e,t,n,r)=>{if(Vt(e)){Ft(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(Tt(n,e))},zt=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e{let n=e,r=t.split(Dt),i=r.length;for(let e=0;e`isThemeGetter`in e&&e.isThemeGetter===!0,Ht=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),i=(i,a)=>{n[i]=a,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){let t=n[e];if(t!==void 0)return t;if((t=r[e])!==void 0)return i(e,t),t},set(e,t){e in n?n[e]=t:i(e,t)}}},Ut=`!`,Wt=`:`,Gt=[],Kt=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),qt=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t=[],n=0,r=0,i=0,a,o=e.length;for(let s=0;si?a-i:void 0;return Kt(t,l,c,u)};if(t){let e=t+Wt,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):Kt(Gt,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},Jt=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},Yt=e=>({cache:Ht(e.cacheSize),parseClassName:qt(e),sortModifiers:Jt(e),...At(e)}),Xt=/\s+/,Zt=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a}=t,o=[],s=e.trim().split(Xt),c=``;for(let e=s.length-1;e>=0;--e){let t=s[e],{isExternal:l,modifiers:u,hasImportantModifier:d,baseClassName:f,maybePostfixModifierPosition:p}=n(t);if(l){c=t+(c.length>0?` `+c:c);continue}let m=!!p,h=r(m?f.substring(0,p):f);if(!h){if(!m){c=t+(c.length>0?` `+c:c);continue}if(h=r(f),!h){c=t+(c.length>0?` `+c:c);continue}m=!1}let g=u.length===0?``:u.length===1?u[0]:a(u).join(`:`),_=d?g+Ut:g,v=_+h;if(o.indexOf(v)>-1)continue;o.push(v);let y=i(h,m);for(let e=0;e0?` `+c:c)}return c},Qt=(...e)=>{let t=0,n,r,i=``;for(;t{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r{let n,r,i,a,o=o=>(n=Yt(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)),s=e=>{let t=r(e);if(t)return t;let a=Zt(e,n);return i(e,a),a};return a=o,(...e)=>a(Qt(...e))},tn=[],nn=e=>{let t=t=>t[e]||tn;return t.isThemeGetter=!0,t},rn=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,an=/^\((?:(\w[\w-]*):)?(.+)\)$/i,on=/^\d+\/\d+$/,sn=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,cn=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,ln=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,un=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,dn=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,fn=e=>on.test(e),V=e=>!!e&&!Number.isNaN(Number(e)),pn=e=>!!e&&Number.isInteger(Number(e)),mn=e=>e.endsWith(`%`)&&V(e.slice(0,-1)),hn=e=>sn.test(e),gn=()=>!0,_n=e=>cn.test(e)&&!ln.test(e),vn=()=>!1,yn=e=>un.test(e),bn=e=>dn.test(e),xn=e=>!H(e)&&!U(e),Sn=e=>Pn(e,Rn,vn),H=e=>rn.test(e),Cn=e=>Pn(e,zn,_n),wn=e=>Pn(e,Bn,V),Tn=e=>Pn(e,In,vn),En=e=>Pn(e,Ln,bn),Dn=e=>Pn(e,Hn,yn),U=e=>an.test(e),On=e=>Fn(e,zn),kn=e=>Fn(e,Vn),An=e=>Fn(e,In),jn=e=>Fn(e,Rn),Mn=e=>Fn(e,Ln),Nn=e=>Fn(e,Hn,!0),Pn=(e,t,n)=>{let r=rn.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},Fn=(e,t,n=!1)=>{let r=an.exec(e);return r?r[1]?t(r[1]):n:!1},In=e=>e===`position`||e===`percentage`,Ln=e=>e===`image`||e===`url`,Rn=e=>e===`length`||e===`size`||e===`bg-size`,zn=e=>e===`length`,Bn=e=>e===`number`,Vn=e=>e===`family-name`,Hn=e=>e===`shadow`,Un=en(()=>{let e=nn(`color`),t=nn(`font`),n=nn(`text`),r=nn(`font-weight`),i=nn(`tracking`),a=nn(`leading`),o=nn(`breakpoint`),s=nn(`container`),c=nn(`spacing`),l=nn(`radius`),u=nn(`shadow`),d=nn(`inset-shadow`),f=nn(`text-shadow`),p=nn(`drop-shadow`),m=nn(`blur`),h=nn(`perspective`),g=nn(`aspect`),_=nn(`ease`),v=nn(`animate`),y=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],b=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],ee=()=>[...b(),U,H],x=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],te=()=>[`auto`,`contain`,`none`],S=()=>[U,H,c],C=()=>[fn,`full`,`auto`,...S()],w=()=>[pn,`none`,`subgrid`,U,H],T=()=>[`auto`,{span:[`full`,pn,U,H]},pn,U,H],E=()=>[pn,`auto`,U,H],D=()=>[`auto`,`min`,`max`,`fr`,U,H],O=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],k=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],A=()=>[`auto`,...S()],ne=()=>[fn,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...S()],j=()=>[e,U,H],re=()=>[...b(),An,Tn,{position:[U,H]}],M=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],ie=()=>[`auto`,`cover`,`contain`,jn,Sn,{size:[U,H]}],N=()=>[mn,On,Cn],P=()=>[``,`none`,`full`,l,U,H],F=()=>[``,V,On,Cn],ae=()=>[`solid`,`dashed`,`dotted`,`double`],I=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],L=()=>[V,mn,An,Tn],oe=()=>[``,`none`,m,U,H],R=()=>[`none`,V,U,H],se=()=>[`none`,V,U,H],z=()=>[V,U,H],ce=()=>[fn,`full`,...S()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[hn],breakpoint:[hn],color:[gn],container:[hn],"drop-shadow":[hn],ease:[`in`,`out`,`in-out`],font:[xn],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[hn],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[hn],shadow:[hn],spacing:[`px`,V],text:[hn],"text-shadow":[hn],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,fn,H,U,g]}],container:[`container`],columns:[{columns:[V,H,U,s]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],sr:[`sr-only`,`not-sr-only`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:ee()}],overflow:[{overflow:x()}],"overflow-x":[{"overflow-x":x()}],"overflow-y":[{"overflow-y":x()}],overscroll:[{overscroll:te()}],"overscroll-x":[{"overscroll-x":te()}],"overscroll-y":[{"overscroll-y":te()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:C()}],"inset-x":[{"inset-x":C()}],"inset-y":[{"inset-y":C()}],start:[{start:C()}],end:[{end:C()}],top:[{top:C()}],right:[{right:C()}],bottom:[{bottom:C()}],left:[{left:C()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[pn,`auto`,U,H]}],basis:[{basis:[fn,`full`,`auto`,s,...S()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[V,fn,`auto`,`initial`,`none`,H]}],grow:[{grow:[``,V,U,H]}],shrink:[{shrink:[``,V,U,H]}],order:[{order:[pn,`first`,`last`,`none`,U,H]}],"grid-cols":[{"grid-cols":w()}],"col-start-end":[{col:T()}],"col-start":[{"col-start":E()}],"col-end":[{"col-end":E()}],"grid-rows":[{"grid-rows":w()}],"row-start-end":[{row:T()}],"row-start":[{"row-start":E()}],"row-end":[{"row-end":E()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":D()}],"auto-rows":[{"auto-rows":D()}],gap:[{gap:S()}],"gap-x":[{"gap-x":S()}],"gap-y":[{"gap-y":S()}],"justify-content":[{justify:[...O(),`normal`]}],"justify-items":[{"justify-items":[...k(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...k()]}],"align-content":[{content:[`normal`,...O()]}],"align-items":[{items:[...k(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...k(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":O()}],"place-items":[{"place-items":[...k(),`baseline`]}],"place-self":[{"place-self":[`auto`,...k()]}],p:[{p:S()}],px:[{px:S()}],py:[{py:S()}],ps:[{ps:S()}],pe:[{pe:S()}],pt:[{pt:S()}],pr:[{pr:S()}],pb:[{pb:S()}],pl:[{pl:S()}],m:[{m:A()}],mx:[{mx:A()}],my:[{my:A()}],ms:[{ms:A()}],me:[{me:A()}],mt:[{mt:A()}],mr:[{mr:A()}],mb:[{mb:A()}],ml:[{ml:A()}],"space-x":[{"space-x":S()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":S()}],"space-y-reverse":[`space-y-reverse`],size:[{size:ne()}],w:[{w:[s,`screen`,...ne()]}],"min-w":[{"min-w":[s,`screen`,`none`,...ne()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...ne()]}],h:[{h:[`screen`,`lh`,...ne()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...ne()]}],"max-h":[{"max-h":[`screen`,`lh`,...ne()]}],"font-size":[{text:[`base`,n,On,Cn]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,U,wn]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,mn,H]}],"font-family":[{font:[kn,H,t]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[i,U,H]}],"line-clamp":[{"line-clamp":[V,`none`,U,wn]}],leading:[{leading:[a,...S()]}],"list-image":[{"list-image":[`none`,U,H]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,U,H]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:j()}],"text-color":[{text:j()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...ae(),`wavy`]}],"text-decoration-thickness":[{decoration:[V,`from-font`,`auto`,U,Cn]}],"text-decoration-color":[{decoration:j()}],"underline-offset":[{"underline-offset":[V,`auto`,U,H]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:S()}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,U,H]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],wrap:[{wrap:[`break-word`,`anywhere`,`normal`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,U,H]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:re()}],"bg-repeat":[{bg:M()}],"bg-size":[{bg:ie()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},pn,U,H],radial:[``,U,H],conic:[pn,U,H]},Mn,En]}],"bg-color":[{bg:j()}],"gradient-from-pos":[{from:N()}],"gradient-via-pos":[{via:N()}],"gradient-to-pos":[{to:N()}],"gradient-from":[{from:j()}],"gradient-via":[{via:j()}],"gradient-to":[{to:j()}],rounded:[{rounded:P()}],"rounded-s":[{"rounded-s":P()}],"rounded-e":[{"rounded-e":P()}],"rounded-t":[{"rounded-t":P()}],"rounded-r":[{"rounded-r":P()}],"rounded-b":[{"rounded-b":P()}],"rounded-l":[{"rounded-l":P()}],"rounded-ss":[{"rounded-ss":P()}],"rounded-se":[{"rounded-se":P()}],"rounded-ee":[{"rounded-ee":P()}],"rounded-es":[{"rounded-es":P()}],"rounded-tl":[{"rounded-tl":P()}],"rounded-tr":[{"rounded-tr":P()}],"rounded-br":[{"rounded-br":P()}],"rounded-bl":[{"rounded-bl":P()}],"border-w":[{border:F()}],"border-w-x":[{"border-x":F()}],"border-w-y":[{"border-y":F()}],"border-w-s":[{"border-s":F()}],"border-w-e":[{"border-e":F()}],"border-w-t":[{"border-t":F()}],"border-w-r":[{"border-r":F()}],"border-w-b":[{"border-b":F()}],"border-w-l":[{"border-l":F()}],"divide-x":[{"divide-x":F()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":F()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...ae(),`hidden`,`none`]}],"divide-style":[{divide:[...ae(),`hidden`,`none`]}],"border-color":[{border:j()}],"border-color-x":[{"border-x":j()}],"border-color-y":[{"border-y":j()}],"border-color-s":[{"border-s":j()}],"border-color-e":[{"border-e":j()}],"border-color-t":[{"border-t":j()}],"border-color-r":[{"border-r":j()}],"border-color-b":[{"border-b":j()}],"border-color-l":[{"border-l":j()}],"divide-color":[{divide:j()}],"outline-style":[{outline:[...ae(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[V,U,H]}],"outline-w":[{outline:[``,V,On,Cn]}],"outline-color":[{outline:j()}],shadow:[{shadow:[``,`none`,u,Nn,Dn]}],"shadow-color":[{shadow:j()}],"inset-shadow":[{"inset-shadow":[`none`,d,Nn,Dn]}],"inset-shadow-color":[{"inset-shadow":j()}],"ring-w":[{ring:F()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:j()}],"ring-offset-w":[{"ring-offset":[V,Cn]}],"ring-offset-color":[{"ring-offset":j()}],"inset-ring-w":[{"inset-ring":F()}],"inset-ring-color":[{"inset-ring":j()}],"text-shadow":[{"text-shadow":[`none`,f,Nn,Dn]}],"text-shadow-color":[{"text-shadow":j()}],opacity:[{opacity:[V,U,H]}],"mix-blend":[{"mix-blend":[...I(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":I()}],"mask-clip":[{"mask-clip":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]},`mask-no-clip`],"mask-composite":[{mask:[`add`,`subtract`,`intersect`,`exclude`]}],"mask-image-linear-pos":[{"mask-linear":[V]}],"mask-image-linear-from-pos":[{"mask-linear-from":L()}],"mask-image-linear-to-pos":[{"mask-linear-to":L()}],"mask-image-linear-from-color":[{"mask-linear-from":j()}],"mask-image-linear-to-color":[{"mask-linear-to":j()}],"mask-image-t-from-pos":[{"mask-t-from":L()}],"mask-image-t-to-pos":[{"mask-t-to":L()}],"mask-image-t-from-color":[{"mask-t-from":j()}],"mask-image-t-to-color":[{"mask-t-to":j()}],"mask-image-r-from-pos":[{"mask-r-from":L()}],"mask-image-r-to-pos":[{"mask-r-to":L()}],"mask-image-r-from-color":[{"mask-r-from":j()}],"mask-image-r-to-color":[{"mask-r-to":j()}],"mask-image-b-from-pos":[{"mask-b-from":L()}],"mask-image-b-to-pos":[{"mask-b-to":L()}],"mask-image-b-from-color":[{"mask-b-from":j()}],"mask-image-b-to-color":[{"mask-b-to":j()}],"mask-image-l-from-pos":[{"mask-l-from":L()}],"mask-image-l-to-pos":[{"mask-l-to":L()}],"mask-image-l-from-color":[{"mask-l-from":j()}],"mask-image-l-to-color":[{"mask-l-to":j()}],"mask-image-x-from-pos":[{"mask-x-from":L()}],"mask-image-x-to-pos":[{"mask-x-to":L()}],"mask-image-x-from-color":[{"mask-x-from":j()}],"mask-image-x-to-color":[{"mask-x-to":j()}],"mask-image-y-from-pos":[{"mask-y-from":L()}],"mask-image-y-to-pos":[{"mask-y-to":L()}],"mask-image-y-from-color":[{"mask-y-from":j()}],"mask-image-y-to-color":[{"mask-y-to":j()}],"mask-image-radial":[{"mask-radial":[U,H]}],"mask-image-radial-from-pos":[{"mask-radial-from":L()}],"mask-image-radial-to-pos":[{"mask-radial-to":L()}],"mask-image-radial-from-color":[{"mask-radial-from":j()}],"mask-image-radial-to-color":[{"mask-radial-to":j()}],"mask-image-radial-shape":[{"mask-radial":[`circle`,`ellipse`]}],"mask-image-radial-size":[{"mask-radial":[{closest:[`side`,`corner`],farthest:[`side`,`corner`]}]}],"mask-image-radial-pos":[{"mask-radial-at":b()}],"mask-image-conic-pos":[{"mask-conic":[V]}],"mask-image-conic-from-pos":[{"mask-conic-from":L()}],"mask-image-conic-to-pos":[{"mask-conic-to":L()}],"mask-image-conic-from-color":[{"mask-conic-from":j()}],"mask-image-conic-to-color":[{"mask-conic-to":j()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:re()}],"mask-repeat":[{mask:M()}],"mask-size":[{mask:ie()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,U,H]}],filter:[{filter:[``,`none`,U,H]}],blur:[{blur:oe()}],brightness:[{brightness:[V,U,H]}],contrast:[{contrast:[V,U,H]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,Nn,Dn]}],"drop-shadow-color":[{"drop-shadow":j()}],grayscale:[{grayscale:[``,V,U,H]}],"hue-rotate":[{"hue-rotate":[V,U,H]}],invert:[{invert:[``,V,U,H]}],saturate:[{saturate:[V,U,H]}],sepia:[{sepia:[``,V,U,H]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,U,H]}],"backdrop-blur":[{"backdrop-blur":oe()}],"backdrop-brightness":[{"backdrop-brightness":[V,U,H]}],"backdrop-contrast":[{"backdrop-contrast":[V,U,H]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,V,U,H]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[V,U,H]}],"backdrop-invert":[{"backdrop-invert":[``,V,U,H]}],"backdrop-opacity":[{"backdrop-opacity":[V,U,H]}],"backdrop-saturate":[{"backdrop-saturate":[V,U,H]}],"backdrop-sepia":[{"backdrop-sepia":[``,V,U,H]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":S()}],"border-spacing-x":[{"border-spacing-x":S()}],"border-spacing-y":[{"border-spacing-y":S()}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[``,`all`,`colors`,`opacity`,`shadow`,`transform`,`none`,U,H]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[V,`initial`,U,H]}],ease:[{ease:[`linear`,`initial`,_,U,H]}],delay:[{delay:[V,U,H]}],animate:[{animate:[`none`,v,U,H]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[h,U,H]}],"perspective-origin":[{"perspective-origin":ee()}],rotate:[{rotate:R()}],"rotate-x":[{"rotate-x":R()}],"rotate-y":[{"rotate-y":R()}],"rotate-z":[{"rotate-z":R()}],scale:[{scale:se()}],"scale-x":[{"scale-x":se()}],"scale-y":[{"scale-y":se()}],"scale-z":[{"scale-z":se()}],"scale-3d":[`scale-3d`],skew:[{skew:z()}],"skew-x":[{"skew-x":z()}],"skew-y":[{"skew-y":z()}],transform:[{transform:[U,H,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:ee()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:ce()}],"translate-x":[{"translate-x":ce()}],"translate-y":[{"translate-y":ce()}],"translate-z":[{"translate-z":ce()}],"translate-none":[`translate-none`],accent:[{accent:j()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:j()}],"color-scheme":[{scheme:[`normal`,`dark`,`light`,`light-dark`,`only-dark`,`only-light`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,U,H]}],"field-sizing":[{"field-sizing":[`fixed`,`content`]}],"pointer-events":[{"pointer-events":[`auto`,`none`]}],resize:[{resize:[`none`,``,`y`,`x`]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scroll-m":[{"scroll-m":S()}],"scroll-mx":[{"scroll-mx":S()}],"scroll-my":[{"scroll-my":S()}],"scroll-ms":[{"scroll-ms":S()}],"scroll-me":[{"scroll-me":S()}],"scroll-mt":[{"scroll-mt":S()}],"scroll-mr":[{"scroll-mr":S()}],"scroll-mb":[{"scroll-mb":S()}],"scroll-ml":[{"scroll-ml":S()}],"scroll-p":[{"scroll-p":S()}],"scroll-px":[{"scroll-px":S()}],"scroll-py":[{"scroll-py":S()}],"scroll-ps":[{"scroll-ps":S()}],"scroll-pe":[{"scroll-pe":S()}],"scroll-pt":[{"scroll-pt":S()}],"scroll-pr":[{"scroll-pr":S()}],"scroll-pb":[{"scroll-pb":S()}],"scroll-pl":[{"scroll-pl":S()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,U,H]}],fill:[{fill:[`none`,...j()]}],"stroke-w":[{stroke:[V,On,Cn,wn]}],stroke:[{stroke:[`none`,...j()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`right`,`left`],"inset-y":[`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mt`,`mr`,`mb`,`ml`],mx:[`mr`,`ml`],my:[`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-x`,`border-w-y`,`border-w-s`,`border-w-e`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-r`,`border-w-l`],"border-w-y":[`border-w-t`,`border-w-b`],"border-color":[`border-color-x`,`border-color-y`,`border-color-s`,`border-color-e`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-r`,`border-color-l`],"border-color-y":[`border-color-t`,`border-color-b`],translate:[`translate-x`,`translate-y`,`translate-none`],"translate-none":[`translate`,`translate-x`,`translate-y`,`translate-z`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]},orderSensitiveModifiers:[`*`,`**`,`after`,`backdrop`,`before`,`details-content`,`file`,`first-letter`,`first-line`,`marker`,`placeholder`,`selection`]}});const W=(...e)=>Un(bt(e));var Wn=T({__name:`Button`,props:{variant:{},size:{},class:{},asChild:{type:Boolean},as:{default:`button`}},setup(e){let t=e;return(n,r)=>(R(),p(s(m),{"data-slot":`button`,as:e.as,"as-child":e.asChild,class:_(s(W)(s(Gn)({variant:e.variant,size:e.size}),t.class))},{default:I(()=>[z(n.$slots,`default`)]),_:3},8,[`as`,`as-child`,`class`]))}});const Gn=Ct(`inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive`,{variants:{variant:{default:`bg-primary text-primary-foreground hover:bg-primary/90`,destructive:`bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60`,outline:`border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50`,secondary:`bg-secondary text-secondary-foreground hover:bg-secondary/80`,ghost:`hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50`,link:`text-primary underline-offset-4 hover:underline`},size:{default:`h-9 px-4 py-2 has-[>svg]:px-3`,sm:`h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5`,lg:`h-10 rounded-md px-6 has-[>svg]:px-4`,icon:`size-9`,"icon-sm":`size-8`,"icon-lg":`size-10`}},defaultVariants:{variant:`default`,size:`default`}});var Kn=T({__name:`Badge`,props:{asChild:{type:Boolean},as:{},variant:{},class:{}},setup(e){let t=e,n=F(t,`class`);return(r,i)=>(R(),p(s(m),oe({"data-slot":`badge`,class:s(W)(s(qn)({variant:e.variant}),t.class)},s(n)),{default:I(()=>[z(r.$slots,`default`)]),_:3},16,[`class`]))}});const qn=Ct(`inline-flex items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden`,{variants:{variant:{default:`border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90`,secondary:`border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90`,destructive:`border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60`,outline:`text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground`}},defaultVariants:{variant:`default`}});var Jn=T({__name:`Progress`,props:{modelValue:{default:0},max:{},getValueLabel:{},getValueText:{},asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=F(t,`class`);return(e,r)=>(R(),p(s(ne),oe({"data-slot":`progress`},s(n),{class:s(W)(`bg-primary/20 relative h-2 w-full overflow-hidden rounded-full`,t.class)}),{default:I(()=>[C(s(j),{"data-slot":`progress-indicator`,class:`bg-primary h-full w-full flex-1 transition-all`,style:a(`transform: translateX(-${100-(t.modelValue??0)}%);`)},null,8,[`style`])]),_:1},16,[`class`]))}}),Yn=T({__name:`Popover`,props:{defaultOpen:{type:Boolean},open:{type:Boolean},modal:{type:Boolean}},emits:[`update:open`],setup(e,{emit:t}){let n=b(e,t);return(e,t)=>(R(),p(s(ue),oe({"data-slot":`popover`},s(n)),{default:I(t=>[z(e.$slots,`default`,ie(y(t)))]),_:3},16))}}),Xn=T({inheritAttrs:!1,__name:`PopoverContent`,props:{forceMount:{type:Boolean},side:{},sideOffset:{default:4},sideFlip:{type:Boolean},align:{default:`center`},alignOffset:{},alignFlip:{type:Boolean},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},disableUpdateOnLayoutShift:{type:Boolean},prioritizePosition:{type:Boolean},reference:{},asChild:{type:Boolean},as:{},disableOutsidePointerEvents:{type:Boolean},class:{}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=b(F(n,`class`),r);return(e,t)=>(R(),p(s(de),null,{default:I(()=>[C(s(O),oe({"data-slot":`popover-content`},{...e.$attrs,...s(i)},{class:s(W)(`bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 rounded-md border p-4 shadow-md origin-(--reka-popover-content-transform-origin) outline-hidden`,n.class)}),{default:I(()=>[z(e.$slots,`default`)]),_:3},16,[`class`])]),_:3}))}}),Zn=T({__name:`PopoverTrigger`,props:{asChild:{type:Boolean},as:{}},setup(e){let t=e;return(e,n)=>(R(),p(s(ce),oe({"data-slot":`popover-trigger`},t),{default:I(()=>[z(e.$slots,`default`)]),_:3},16))}}),Qn=T({__name:`ResourceIcon`,props:{type:{},size:{default:`md`}},setup(e){let t={metal:`bg-gradient-to-br from-slate-400 to-slate-600`,crystal:`bg-gradient-to-br from-cyan-400 to-blue-600`,deuterium:`bg-gradient-to-br from-green-400 to-emerald-600`,darkMatter:`bg-gradient-to-br from-purple-600 to-indigo-900`,energy:`bg-gradient-to-br from-yellow-400 to-orange-500`},n={sm:`w-3 h-3`,md:`w-4 h-4`,lg:`w-5 h-5`};return(r,i)=>(R(),f(`div`,{class:_([t[e.type],n[e.size],`rounded shadow-sm`])},null,2))}}),$n={key:0,class:`fixed inset-0 z-50 flex items-center justify-center`},er={class:`relative bg-card border rounded-lg shadow-lg p-6 max-w-md w-full mx-4 z-10`},tr={class:`text-lg font-semibold mb-2`},nr={class:`text-sm text-muted-foreground mb-6`},rr={class:`flex justify-end gap-3`},ir=T({__name:`ConfirmDialog`,setup(e,{expose:t}){let{t:n}=vt(),r=ee(!1),i=ee(null),a=e=>{i.value=e,r.value=!0},o=()=>{i.value&&i.value.onConfirm(),r.value=!1},c=()=>{r.value=!1};return t({show:a}),(e,t)=>(R(),p(x,{to:`body`},[r.value?(R(),f(`div`,$n,[l(`div`,{class:`fixed inset-0 bg-black/50`,onClick:c}),l(`div`,er,[l(`h2`,tr,M(i.value?.title),1),l(`p`,nr,M(i.value?.message),1),l(`div`,rr,[C(s(Wn),{onClick:c,variant:`outline`},{default:I(()=>[w(M(s(n)(`common.cancel`)),1)]),_:1}),C(s(Wn),{onClick:o,variant:`default`},{default:I(()=>[w(M(s(n)(`common.confirm`)),1)]),_:1})])])])):L(``,!0)]))}}),ar=T({__name:`Dialog`,props:{open:{type:Boolean},defaultOpen:{type:Boolean},modal:{type:Boolean}},emits:[`update:open`],setup(e,{emit:t}){let n=b(e,t);return(e,t)=>(R(),p(s(d),oe({"data-slot":`dialog`},s(n)),{default:I(t=>[z(e.$slots,`default`,ie(y(t)))]),_:3},16))}}),or=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),sr=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),cr=e=>{let t=sr(e);return t.charAt(0).toUpperCase()+t.slice(1)},lr=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),ur=e=>e===``,dr={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":2,"stroke-linecap":`round`,"stroke-linejoin":`round`},fr=({name:e,iconNode:t,absoluteStrokeWidth:n,"absolute-stroke-width":i,strokeWidth:a,"stroke-width":o,size:s=dr.width,color:c=dr.stroke,...l},{slots:u})=>r(`svg`,{...dr,...l,width:s,height:s,stroke:c,"stroke-width":ur(n)||ur(i)||n===!0||i===!0?Number(a||o||dr[`stroke-width`])*24/Number(s):a||o||dr[`stroke-width`],class:lr(`lucide`,l.class,...e?[`lucide-${or(cr(e))}-icon`,`lucide-${or(e)}`]:[`lucide-icon`])},[...t.map(e=>r(...e)),...u.default?[u.default()]:[]]),G=(e,t)=>(n,{slots:i,attrs:a})=>r(fr,{...a,...n,iconNode:t,name:e},i),pr=G(`building-2`,[[`path`,{d:`M10 12h4`,key:`a56b0p`}],[`path`,{d:`M10 8h4`,key:`1sr2af`}],[`path`,{d:`M14 21v-3a2 2 0 0 0-4 0v3`,key:`1rgiei`}],[`path`,{d:`M6 10H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-2`,key:`secmi2`}],[`path`,{d:`M6 21V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v16`,key:`16ra0t`}]]),mr=G(`chevron-left`,[[`path`,{d:`m15 18-6-6 6-6`,key:`1wnfg3`}]]),hr=G(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]),gr=G(`flask-conical`,[[`path`,{d:`M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2`,key:`18mbvz`}],[`path`,{d:`M6.453 15h11.094`,key:`3shlmq`}],[`path`,{d:`M8.5 2h7`,key:`csnxdl`}]]),_r=G(`fuel`,[[`path`,{d:`M14 13h2a2 2 0 0 1 2 2v2a2 2 0 0 0 4 0v-6.998a2 2 0 0 0-.59-1.42L18 5`,key:`1wtuz0`}],[`path`,{d:`M14 21V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v16`,key:`e09ifn`}],[`path`,{d:`M2 21h13`,key:`1x0fut`}],[`path`,{d:`M3 9h11`,key:`1p7c0w`}]]),vr=G(`globe`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20`,key:`13o1zl`}],[`path`,{d:`M2 12h20`,key:`9i4pu4`}]]),yr=G(`house`,[[`path`,{d:`M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8`,key:`5wwlr5`}],[`path`,{d:`M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`,key:`r6nss1`}]]),br=G(`languages`,[[`path`,{d:`m5 8 6 6`,key:`1wu5hv`}],[`path`,{d:`m4 14 6-6 2-3`,key:`1k1g8d`}],[`path`,{d:`M2 5h12`,key:`or177f`}],[`path`,{d:`M7 2h1`,key:`1t2jsx`}],[`path`,{d:`m22 22-5-10-5 10`,key:`don7ne`}],[`path`,{d:`M14 18h6`,key:`1m8k6r`}]]),xr=G(`mail`,[[`path`,{d:`m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7`,key:`132q7q`}],[`rect`,{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`,key:`izxlao`}]]),Sr=G(`menu`,[[`path`,{d:`M4 5h16`,key:`1tepv9`}],[`path`,{d:`M4 12h16`,key:`1lakjw`}],[`path`,{d:`M4 19h16`,key:`1djgab`}]]),Cr=G(`moon`,[[`path`,{d:`M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401`,key:`kfwtm`}]]),wr=G(`package`,[[`path`,{d:`M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z`,key:`1a0edw`}],[`path`,{d:`M12 22V12`,key:`d0xqtd`}],[`polyline`,{points:`3.29 7 12 12 20.71 7`,key:`ousv84`}],[`path`,{d:`m7.5 4.27 9 5.15`,key:`1c824w`}]]),Tr=G(`rocket`,[[`path`,{d:`M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z`,key:`m3kijz`}],[`path`,{d:`m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z`,key:`1fmvmk`}],[`path`,{d:`M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0`,key:`1f8sc4`}],[`path`,{d:`M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5`,key:`qeys4`}]]),Er=G(`settings`,[[`path`,{d:`M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915`,key:`1i5ecw`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),Dr=G(`shield-check`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),Or=G(`shield`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}]]),kr=G(`ship`,[[`path`,{d:`M12 10.189V14`,key:`1p8cqu`}],[`path`,{d:`M12 2v3`,key:`qbqxhf`}],[`path`,{d:`M19 13V7a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2v6`,key:`qpkstq`}],[`path`,{d:`M19.38 20A11.6 11.6 0 0 0 21 14l-8.188-3.639a2 2 0 0 0-1.624 0L3 14a11.6 11.6 0 0 0 2.81 7.76`,key:`7tigtc`}],[`path`,{d:`M2 21c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1s1.2 1 2.5 1c2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1`,key:`1924j5`}]]),Ar=G(`sun`,[[`circle`,{cx:`12`,cy:`12`,r:`4`,key:`4exip2`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`m4.93 4.93 1.41 1.41`,key:`149t6j`}],[`path`,{d:`m17.66 17.66 1.41 1.41`,key:`ptbguv`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`m6.34 17.66-1.41 1.41`,key:`1m8zz5`}],[`path`,{d:`m19.07 4.93-1.41 1.41`,key:`1shlcs`}]]),jr=G(`swords`,[[`polyline`,{points:`14.5 17.5 3 6 3 3 6 3 17.5 14.5`,key:`1hfsw2`}],[`line`,{x1:`13`,x2:`19`,y1:`19`,y2:`13`,key:`1vrmhu`}],[`line`,{x1:`16`,x2:`20`,y1:`16`,y2:`20`,key:`1bron3`}],[`line`,{x1:`19`,x2:`21`,y1:`21`,y2:`19`,key:`13pww6`}],[`polyline`,{points:`14.5 6.5 18 3 21 3 21 6 17.5 9.5`,key:`hbey2j`}],[`line`,{x1:`5`,x2:`9`,y1:`14`,y2:`18`,key:`1hf58s`}],[`line`,{x1:`7`,x2:`4`,y1:`17`,y2:`20`,key:`pidxm4`}],[`line`,{x1:`3`,x2:`5`,y1:`19`,y2:`21`,key:`1pehsh`}]]),Mr=G(`sword`,[[`path`,{d:`m11 19-6-6`,key:`s7kpr`}],[`path`,{d:`m5 21-2-2`,key:`1kw20b`}],[`path`,{d:`m8 16-4 4`,key:`1oqv8h`}],[`path`,{d:`M9.5 17.5 21 6V3h-3L6.5 14.5`,key:`pkxemp`}]]),Nr=G(`users`,[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`path`,{d:`M16 3.128a4 4 0 0 1 0 7.744`,key:`16gr8j`}],[`path`,{d:`M22 21v-2a4 4 0 0 0-3-3.87`,key:`kshegd`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}]]),Pr=G(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),Fr=G(`zap`,[[`path`,{d:`M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z`,key:`1xq2db`}]]),Ir=T({__name:`DialogOverlay`,props:{forceMount:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=F(t,`class`);return(e,r)=>(R(),p(s(h),oe({"data-slot":`dialog-overlay`},s(n),{class:s(W)(`data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80`,t.class)}),{default:I(()=>[z(e.$slots,`default`)]),_:3},16,[`class`]))}}),Lr=T({inheritAttrs:!1,__name:`DialogContent`,props:{forceMount:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{},class:{},showCloseButton:{type:Boolean,default:!0}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=b(F(n,`class`),r);return(t,r)=>(R(),p(s(re),null,{default:I(()=>[C(Ir),C(s(v),oe({"data-slot":`dialog-content`},{...t.$attrs,...s(i)},{class:s(W)(`bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg`,n.class)}),{default:I(()=>[z(t.$slots,`default`),e.showCloseButton?(R(),p(s(c),{key:0,"data-slot":`dialog-close`,class:`ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`},{default:I(()=>[C(s(Pr)),r[0]||=l(`span`,{class:`sr-only`},`Close`,-1)]),_:1})):L(``,!0)]),_:3},16,[`class`])]),_:3}))}}),Rr=T({__name:`DialogDescription`,props:{asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=fe(F(t,`class`));return(e,r)=>(R(),p(s(g),oe({"data-slot":`dialog-description`},s(n),{class:s(W)(`text-muted-foreground text-sm`,t.class)}),{default:I(()=>[z(e.$slots,`default`)]),_:3},16,[`class`]))}}),zr=T({__name:`DialogHeader`,props:{class:{}},setup(e){let t=e;return(e,n)=>(R(),f(`div`,{"data-slot":`dialog-header`,class:_(s(W)(`flex flex-col gap-2 text-center sm:text-left`,t.class))},[z(e.$slots,`default`)],2))}}),Br=T({__name:`DialogTitle`,props:{asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=fe(F(t,`class`));return(e,r)=>(R(),p(s(i),oe({"data-slot":`dialog-title`},s(n),{class:s(W)(`text-lg leading-none font-semibold`,t.class)}),{default:I(()=>[z(e.$slots,`default`)]),_:3},16,[`class`]))}});const Vr=ye(`detailDialog`,{state:()=>({isOpen:!1,type:null,itemType:null,currentLevel:void 0}),actions:{openBuilding(e,t){this.isOpen=!0,this.type=`building`,this.itemType=e,this.currentLevel=t},openTechnology(e,t){this.isOpen=!0,this.type=`technology`,this.itemType=e,this.currentLevel=t},openShip(e){this.isOpen=!0,this.type=`ship`,this.itemType=e,this.currentLevel=void 0},openDefense(e){this.isOpen=!0,this.type=`defense`,this.itemType=e,this.currentLevel=void 0},close(){this.isOpen=!1,this.type=null,this.itemType=null,this.currentLevel=void 0}}});var Hr={"data-slot":`table-container`,class:`relative w-full overflow-auto`},Ur=T({__name:`Table`,props:{class:{}},setup(e){let t=e;return(e,n)=>(R(),f(`div`,Hr,[l(`table`,{"data-slot":`table`,class:_(s(W)(`w-full caption-bottom text-sm`,t.class))},[z(e.$slots,`default`)],2)]))}}),Wr=T({__name:`TableBody`,props:{class:{}},setup(e){let t=e;return(e,n)=>(R(),f(`tbody`,{"data-slot":`table-body`,class:_(s(W)(`[&_tr:last-child]:border-0`,t.class))},[z(e.$slots,`default`)],2))}}),Gr=T({__name:`TableCell`,props:{class:{}},setup(e){let t=e;return(e,n)=>(R(),f(`td`,{"data-slot":`table-cell`,class:_(s(W)(`p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]`,t.class))},[z(e.$slots,`default`)],2))}}),Kr=T({__name:`TableRow`,props:{class:{}},setup(e){let t=e;return(e,n)=>(R(),f(`tr`,{"data-slot":`table-row`,class:_(s(W)(`hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors`,t.class))},[z(e.$slots,`default`)],2))}}),qr=T({__name:`TableHead`,props:{class:{}},setup(e){let t=e;return(e,n)=>(R(),f(`th`,{"data-slot":`table-head`,class:_(s(W)(`text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]`,t.class))},[z(e.$slots,`default`)],2))}}),Jr=T({__name:`TableHeader`,props:{class:{}},setup(e){let t=e;return(e,n)=>(R(),f(`thead`,{"data-slot":`table-header`,class:_(s(W)(`[&_tr]:border-b`,t.class))},[z(e.$slots,`default`)],2))}}),K=T({__name:`Card`,props:{class:{}},setup(e){let t=e;return(e,n)=>(R(),f(`div`,{"data-slot":`card`,class:_(s(W)(`bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm`,t.class))},[z(e.$slots,`default`)],2))}}),q=T({__name:`CardContent`,props:{class:{}},setup(e){let t=e;return(e,n)=>(R(),f(`div`,{"data-slot":`card-content`,class:_(s(W)(`px-6`,t.class))},[z(e.$slots,`default`)],2))}}),J=T({__name:`CardHeader`,props:{class:{}},setup(e){let t=e;return(e,n)=>(R(),f(`div`,{"data-slot":`card-header`,class:_(s(W)(`@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6`,t.class))},[z(e.$slots,`default`)],2))}}),Y=T({__name:`CardTitle`,props:{class:{}},setup(e){let t=e;return(e,n)=>(R(),f(`h3`,{"data-slot":`card-title`,class:_(s(W)(`leading-none font-semibold`,t.class))},[z(e.$slots,`default`)],2))}});const X={MetalMine:`metalMine`,CrystalMine:`crystalMine`,DeuteriumSynthesizer:`deuteriumSynthesizer`,SolarPlant:`solarPlant`,RoboticsFactory:`roboticsFactory`,NaniteFactory:`naniteFactory`,Shipyard:`shipyard`,ResearchLab:`researchLab`,MetalStorage:`metalStorage`,CrystalStorage:`crystalStorage`,DeuteriumTank:`deuteriumTank`,DarkMatterCollector:`darkMatterCollector`,LunarBase:`lunarBase`,SensorPhalanx:`sensorPhalanx`,JumpGate:`jumpGate`},Z={EnergyTechnology:`energyTechnology`,LaserTechnology:`laserTechnology`,IonTechnology:`ionTechnology`,HyperspaceTechnology:`hyperspaceTechnology`,PlasmaTechnology:`plasmaTechnology`,ComputerTechnology:`computerTechnology`,CombustionDrive:`combustionDrive`,ImpulseDrive:`impulseDrive`,HyperspaceDrive:`hyperspaceDrive`,DarkMatterTechnology:`darkMatterTechnology`},Q={RocketLauncher:`rocketLauncher`,LightLaser:`lightLaser`,HeavyLaser:`heavyLaser`,GaussCannon:`gaussCannon`,IonCannon:`ionCannon`,PlasmaTurret:`plasmaTurret`,SmallShieldDome:`smallShieldDome`,LargeShieldDome:`largeShieldDome`},$={LightFighter:`lightFighter`,HeavyFighter:`heavyFighter`,Cruiser:`cruiser`,Battleship:`battleship`,SmallCargo:`smallCargo`,LargeCargo:`largeCargo`,ColonyShip:`colonyShip`,Recycler:`recycler`,EspionageProbe:`espionageProbe`,DarkMatterHarvester:`darkMatterHarvester`},Yr={Attack:`attack`,Transport:`transport`,Colonize:`colonize`,Spy:`spy`,Deploy:`deploy`,Expedition:`expedition`,HarvestDarkMatter:`harvestDarkMatter`},Xr={Commander:`commander`,Admiral:`admiral`,Engineer:`engineer`,Geologist:`geologist`,Technocrat:`technocrat`,DarkMatterSpecialist:`darkMatterSpecialist`},Zr={[X.MetalMine]:{id:X.MetalMine,name:`金属矿`,description:`开采金属资源`,baseCost:{metal:60,crystal:15,deuterium:0,darkMatter:0,energy:0},baseTime:15,costMultiplier:1.5,spaceUsage:3,planetOnly:!0},[X.CrystalMine]:{id:X.CrystalMine,name:`晶体矿`,description:`开采晶体资源`,baseCost:{metal:48,crystal:24,deuterium:0,darkMatter:0,energy:0},baseTime:15,costMultiplier:1.6,spaceUsage:3,planetOnly:!0},[X.DeuteriumSynthesizer]:{id:X.DeuteriumSynthesizer,name:`重氢合成器`,description:`合成重氢资源`,baseCost:{metal:225,crystal:75,deuterium:0,darkMatter:0,energy:0},baseTime:20,costMultiplier:1.5,spaceUsage:4,planetOnly:!0},[X.SolarPlant]:{id:X.SolarPlant,name:`太阳能电站`,description:`提供能源`,baseCost:{metal:75,crystal:30,deuterium:0,darkMatter:0,energy:0},baseTime:15,costMultiplier:1.5,spaceUsage:5},[X.RoboticsFactory]:{id:X.RoboticsFactory,name:`机器人工厂`,description:`加快建造速度`,baseCost:{metal:400,crystal:120,deuterium:200,darkMatter:0,energy:0},baseTime:40,costMultiplier:2,spaceUsage:6},[X.NaniteFactory]:{id:X.NaniteFactory,name:`纳米工厂`,description:`增加建造队列数量,每级+1队列`,baseCost:{metal:1e6,crystal:5e5,deuterium:1e5,darkMatter:0,energy:0},baseTime:240,costMultiplier:2,spaceUsage:15,requirements:{[X.RoboticsFactory]:10}},[X.Shipyard]:{id:X.Shipyard,name:`船坞`,description:`建造舰船`,baseCost:{metal:400,crystal:200,deuterium:100,darkMatter:0,energy:0},baseTime:30,costMultiplier:2,spaceUsage:8},[X.ResearchLab]:{id:X.ResearchLab,name:`研究实验室`,description:`研究科技`,baseCost:{metal:200,crystal:400,deuterium:200,darkMatter:0,energy:0},baseTime:30,costMultiplier:2,spaceUsage:5},[X.MetalStorage]:{id:X.MetalStorage,name:`金属仓库`,description:`增加金属存储上限`,baseCost:{metal:1e3,crystal:0,deuterium:0,darkMatter:0,energy:0},baseTime:15,costMultiplier:2,spaceUsage:2},[X.CrystalStorage]:{id:X.CrystalStorage,name:`晶体仓库`,description:`增加晶体存储上限`,baseCost:{metal:1e3,crystal:500,deuterium:0,darkMatter:0,energy:0},baseTime:15,costMultiplier:2,spaceUsage:2},[X.DeuteriumTank]:{id:X.DeuteriumTank,name:`重氢罐`,description:`增加重氢存储上限`,baseCost:{metal:1e3,crystal:1e3,deuterium:0,darkMatter:0,energy:0},baseTime:15,costMultiplier:2,spaceUsage:2},[X.DarkMatterCollector]:{id:X.DarkMatterCollector,name:`暗物质收集器`,description:`收集稀有的暗物质资源`,baseCost:{metal:5e4,crystal:1e5,deuterium:5e4,darkMatter:0,energy:0},baseTime:90,costMultiplier:2,spaceUsage:10,planetOnly:!0},[X.LunarBase]:{id:X.LunarBase,name:`月球基地`,description:`增加月球可用空间`,baseCost:{metal:2e4,crystal:4e4,deuterium:2e4,darkMatter:0,energy:0},baseTime:45,costMultiplier:2,spaceUsage:0,moonOnly:!0},[X.SensorPhalanx]:{id:X.SensorPhalanx,name:`传感器阵列`,description:`侦测周围星系的舰队活动`,baseCost:{metal:2e4,crystal:4e4,deuterium:2e4,darkMatter:0,energy:0},baseTime:60,costMultiplier:2,spaceUsage:10,moonOnly:!0},[X.JumpGate]:{id:X.JumpGate,name:`跳跃门`,description:`瞬间传送舰队到其他月球`,baseCost:{metal:2e6,crystal:4e6,deuterium:2e6,darkMatter:0,energy:0},baseTime:240,costMultiplier:2,spaceUsage:20,moonOnly:!0}},Qr={[Z.EnergyTechnology]:{id:Z.EnergyTechnology,name:`能源技术`,description:`提高能源利用效率`,baseCost:{metal:0,crystal:800,deuterium:400,darkMatter:0,energy:0},baseTime:30,costMultiplier:2,requirements:{[X.ResearchLab]:1}},[Z.LaserTechnology]:{id:Z.LaserTechnology,name:`激光技术`,description:`开发激光武器`,baseCost:{metal:200,crystal:100,deuterium:0,darkMatter:0,energy:0},baseTime:60,costMultiplier:2,requirements:{[X.ResearchLab]:1,[Z.EnergyTechnology]:2}},[Z.IonTechnology]:{id:Z.IonTechnology,name:`离子技术`,description:`开发离子武器`,baseCost:{metal:1e3,crystal:300,deuterium:100,darkMatter:0,energy:0},baseTime:60,costMultiplier:2,requirements:{[X.ResearchLab]:4,[Z.LaserTechnology]:5,[Z.EnergyTechnology]:4}},[Z.HyperspaceTechnology]:{id:Z.HyperspaceTechnology,name:`超空间技术`,description:`研究超空间跳跃`,baseCost:{metal:0,crystal:4e3,deuterium:2e3,darkMatter:0,energy:0},baseTime:60,costMultiplier:2,requirements:{[X.ResearchLab]:7,[Z.EnergyTechnology]:5}},[Z.PlasmaTechnology]:{id:Z.PlasmaTechnology,name:`等离子技术`,description:`开发等离子武器`,baseCost:{metal:2e3,crystal:4e3,deuterium:1e3,darkMatter:0,energy:0},baseTime:60,costMultiplier:2,requirements:{[X.ResearchLab]:4,[Z.EnergyTechnology]:8,[Z.LaserTechnology]:10,[Z.IonTechnology]:5}},[Z.ComputerTechnology]:{id:Z.ComputerTechnology,name:`计算机技术`,description:`增加研究队列数量,每级+1队列`,baseCost:{metal:0,crystal:400,deuterium:600,darkMatter:0,energy:0},baseTime:60,costMultiplier:2,requirements:{[X.ResearchLab]:1}},[Z.CombustionDrive]:{id:Z.CombustionDrive,name:`燃烧引擎`,description:`基础推进系统`,baseCost:{metal:400,crystal:0,deuterium:600,darkMatter:0,energy:0},baseTime:60,costMultiplier:2,requirements:{[X.ResearchLab]:1,[Z.EnergyTechnology]:1}},[Z.ImpulseDrive]:{id:Z.ImpulseDrive,name:`脉冲引擎`,description:`高级推进系统`,baseCost:{metal:2e3,crystal:4e3,deuterium:600,darkMatter:0,energy:0},baseTime:60,costMultiplier:2,requirements:{[X.ResearchLab]:2,[Z.EnergyTechnology]:1}},[Z.HyperspaceDrive]:{id:Z.HyperspaceDrive,name:`超空间引擎`,description:`超空间推进系统`,baseCost:{metal:1e4,crystal:2e4,deuterium:6e3,darkMatter:0,energy:0},baseTime:60,costMultiplier:2,requirements:{[X.ResearchLab]:7,[Z.HyperspaceTechnology]:3}},[Z.DarkMatterTechnology]:{id:Z.DarkMatterTechnology,name:`暗物质技术`,description:`研究暗物质的性质和应用`,baseCost:{metal:1e5,crystal:2e5,deuterium:1e5,darkMatter:0,energy:0},baseTime:180,costMultiplier:2,requirements:{[X.ResearchLab]:8,[Z.HyperspaceTechnology]:5}}},$r={[$.LightFighter]:{id:$.LightFighter,name:`轻型战斗机`,description:`基础战斗单位`,cost:{metal:3e3,crystal:1e3,deuterium:0,darkMatter:0,energy:0},buildTime:20,cargoCapacity:50,attack:50,shield:10,armor:400,speed:12500,fuelConsumption:20,requirements:{[X.Shipyard]:1,[Z.CombustionDrive]:1}},[$.HeavyFighter]:{id:$.HeavyFighter,name:`重型战斗机`,description:`强力战斗单位`,cost:{metal:6e3,crystal:4e3,deuterium:0,darkMatter:0,energy:0},buildTime:30,cargoCapacity:100,attack:150,shield:25,armor:1e3,speed:1e4,fuelConsumption:75,requirements:{[X.Shipyard]:3,[Z.ImpulseDrive]:2}},[$.Cruiser]:{id:$.Cruiser,name:`巡洋舰`,description:`中型战舰`,cost:{metal:2e4,crystal:7e3,deuterium:2e3,darkMatter:0,energy:0},buildTime:60,cargoCapacity:800,attack:400,shield:50,armor:2700,speed:15e3,fuelConsumption:300,requirements:{[X.Shipyard]:5,[Z.ImpulseDrive]:4,[Z.IonTechnology]:2}},[$.Battleship]:{id:$.Battleship,name:`战列舰`,description:`重型战舰`,cost:{metal:45e3,crystal:15e3,deuterium:0,darkMatter:0,energy:0},buildTime:90,cargoCapacity:1500,attack:1e3,shield:200,armor:6e3,speed:1e4,fuelConsumption:500,requirements:{[X.Shipyard]:7,[Z.HyperspaceDrive]:4}},[$.SmallCargo]:{id:$.SmallCargo,name:`小型运输船`,description:`运输资源`,cost:{metal:2e3,crystal:2e3,deuterium:0,darkMatter:0,energy:0},buildTime:15,cargoCapacity:5e3,attack:5,shield:10,armor:400,speed:5e3,fuelConsumption:10,requirements:{[X.Shipyard]:2,[Z.CombustionDrive]:2}},[$.LargeCargo]:{id:$.LargeCargo,name:`大型运输船`,description:`大量运输资源`,cost:{metal:6e3,crystal:6e3,deuterium:0,darkMatter:0,energy:0},buildTime:30,cargoCapacity:25e3,attack:5,shield:25,armor:1200,speed:7500,fuelConsumption:50,requirements:{[X.Shipyard]:4,[Z.CombustionDrive]:6}},[$.ColonyShip]:{id:$.ColonyShip,name:`殖民船`,description:`建立新殖民地`,cost:{metal:1e4,crystal:2e4,deuterium:1e4,darkMatter:0,energy:0},buildTime:120,cargoCapacity:7500,attack:50,shield:100,armor:3e3,speed:2500,fuelConsumption:1e3,requirements:{[X.Shipyard]:4,[Z.ImpulseDrive]:3}},[$.Recycler]:{id:$.Recycler,name:`回收船`,description:`回收废墟资源`,cost:{metal:1e4,crystal:6e3,deuterium:2e3,darkMatter:0,energy:0},buildTime:60,cargoCapacity:2e4,attack:1,shield:10,armor:1600,speed:2e3,fuelConsumption:300,requirements:{[X.Shipyard]:4,[Z.CombustionDrive]:6}},[$.EspionageProbe]:{id:$.EspionageProbe,name:`间谍探测器`,description:`侦察敌方星球`,cost:{metal:0,crystal:1e3,deuterium:0,darkMatter:0,energy:0},buildTime:5,cargoCapacity:5,attack:0,shield:0,armor:100,speed:1e8,fuelConsumption:1,requirements:{[X.Shipyard]:3,[Z.CombustionDrive]:3}},[$.DarkMatterHarvester]:{id:$.DarkMatterHarvester,name:`暗物质采集船`,description:`专门用于采集暗物质的特殊飞船`,cost:{metal:1e5,crystal:15e4,deuterium:5e4,darkMatter:0,energy:0},buildTime:120,cargoCapacity:1e3,attack:10,shield:50,armor:2e3,speed:5e3,fuelConsumption:500,requirements:{[X.Shipyard]:8,[Z.HyperspaceDrive]:5,[Z.DarkMatterTechnology]:1}}},ei={[Q.RocketLauncher]:{id:Q.RocketLauncher,name:`火箭发射器`,description:`基础防御设施`,cost:{metal:2e3,crystal:0,deuterium:0,darkMatter:0,energy:0},buildTime:10,attack:80,shield:20,armor:200,requirements:{[X.Shipyard]:1}},[Q.LightLaser]:{id:Q.LightLaser,name:`轻型激光炮`,description:`激光防御武器`,cost:{metal:1500,crystal:500,deuterium:0,darkMatter:0,energy:0},buildTime:12,attack:100,shield:25,armor:200,requirements:{[X.Shipyard]:2,[Z.LaserTechnology]:3}},[Q.HeavyLaser]:{id:Q.HeavyLaser,name:`重型激光炮`,description:`强力激光武器`,cost:{metal:6e3,crystal:2e3,deuterium:0,darkMatter:0,energy:0},buildTime:20,attack:250,shield:100,armor:800,requirements:{[X.Shipyard]:4,[Z.LaserTechnology]:6}},[Q.GaussCannon]:{id:Q.GaussCannon,name:`高斯炮`,description:`电磁加速武器`,cost:{metal:2e4,crystal:15e3,deuterium:2e3,darkMatter:0,energy:0},buildTime:35,attack:1100,shield:200,armor:3500,requirements:{[X.Shipyard]:6,[Z.EnergyTechnology]:6}},[Q.IonCannon]:{id:Q.IonCannon,name:`离子炮`,description:`离子武器系统`,cost:{metal:2e3,crystal:6e3,deuterium:0,darkMatter:0,energy:0},buildTime:30,attack:150,shield:500,armor:800,requirements:{[X.Shipyard]:4,[Z.IonTechnology]:4}},[Q.PlasmaTurret]:{id:Q.PlasmaTurret,name:`等离子炮台`,description:`最强防御武器`,cost:{metal:5e4,crystal:5e4,deuterium:3e4,darkMatter:0,energy:0},buildTime:60,attack:3e3,shield:300,armor:1e4,requirements:{[X.Shipyard]:8,[Z.PlasmaTechnology]:7}},[Q.SmallShieldDome]:{id:Q.SmallShieldDome,name:`小型护盾罩`,description:`保护星球的能量护盾`,cost:{metal:1e4,crystal:1e4,deuterium:0,darkMatter:0,energy:0},buildTime:30,attack:1,shield:2e3,armor:2e3,requirements:{[X.Shipyard]:6,[Z.EnergyTechnology]:3}},[Q.LargeShieldDome]:{id:Q.LargeShieldDome,name:`大型护盾罩`,description:`强大的星球护盾`,cost:{metal:5e4,crystal:5e4,deuterium:0,darkMatter:0,energy:0},buildTime:60,attack:1,shield:1e4,armor:1e4,requirements:{[X.Shipyard]:6,[Z.EnergyTechnology]:6}}},ti={[Xr.Commander]:{id:Xr.Commander,name:`指挥官`,description:`提升建筑速度和管理能力`,cost:{metal:0,crystal:5e4,deuterium:25e3,darkMatter:0,energy:0},weeklyMaintenance:{metal:0,crystal:5e3,deuterium:2500,darkMatter:0,energy:0},benefits:{buildingSpeedBonus:10,additionalBuildQueue:1,storageCapacityBonus:10}},[Xr.Admiral]:{id:Xr.Admiral,name:`上将`,description:`提升舰队作战能力`,cost:{metal:5e4,crystal:25e3,deuterium:0,darkMatter:0,energy:0},weeklyMaintenance:{metal:5e3,crystal:2500,deuterium:0,darkMatter:0,energy:0},benefits:{additionalFleetSlots:2,fleetSpeedBonus:10,fuelConsumptionReduction:10}},[Xr.Engineer]:{id:Xr.Engineer,name:`工程师`,description:`增强防御和能量系统`,cost:{metal:4e4,crystal:2e4,deuterium:1e4,darkMatter:0,energy:0},weeklyMaintenance:{metal:4e3,crystal:2e3,deuterium:1e3,darkMatter:0,energy:0},benefits:{defenseBonus:15,energyProductionBonus:10,buildingSpeedBonus:5}},[Xr.Geologist]:{id:Xr.Geologist,name:`地质学家`,description:`提高资源开采效率`,cost:{metal:3e4,crystal:3e4,deuterium:2e4,darkMatter:0,energy:0},weeklyMaintenance:{metal:3e3,crystal:3e3,deuterium:2e3,darkMatter:0,energy:0},benefits:{resourceProductionBonus:15,storageCapacityBonus:10}},[Xr.Technocrat]:{id:Xr.Technocrat,name:`技术专家`,description:`加快科技研究速度`,cost:{metal:2e4,crystal:4e4,deuterium:2e4,darkMatter:0,energy:0},weeklyMaintenance:{metal:2e3,crystal:4e3,deuterium:2e3,darkMatter:0,energy:0},benefits:{researchSpeedBonus:15}},[Xr.DarkMatterSpecialist]:{id:Xr.DarkMatterSpecialist,name:`暗物质专家`,description:`提升暗物质采集效率`,cost:{metal:5e4,crystal:1e5,deuterium:5e4,darkMatter:100,energy:0},weeklyMaintenance:{metal:5e3,crystal:1e4,deuterium:5e3,darkMatter:10,energy:0},benefits:{darkMatterProductionBonus:25}}},ni={minDebrisField:1e5,baseChance:1,maxChance:20,chancePerDebris:1e5,baseSize:100,lunarBaseSpaceBonus:3},ri=(e,t)=>{let n=Qr[e],r=n.costMultiplier**(t-1);return{metal:Math.floor(n.baseCost.metal*r),crystal:Math.floor(n.baseCost.crystal*r),deuterium:Math.floor(n.baseCost.deuterium*r),darkMatter:Math.floor(n.baseCost.darkMatter*r),energy:0}},ii=(e,t,n=0)=>{let r=Qr[e],i=r.baseTime*r.costMultiplier**+t,a=1-n/100;return Math.floor(i*a)},ai=(e,t,n)=>{let r=Qr[e];if(!r.requirements)return!0;for(let[e,i]of Object.entries(r.requirements))if(Object.values(X).includes(e)){if((t[e]||0){let r=Date.now();return{id:`research_${r}`,type:`technology`,itemType:e,targetLevel:t,startTime:r,endTime:r+n*1e3}},si=(e,t,n,r)=>e.filter(e=>{if(n>=e.endTime){let n=t[e.itemType]||0,i=e.targetLevel||0;return t[e.itemType]=i,r&&i>n&&r(fi(e.itemType,n,i),`technology`,e.itemType,i),!1}return!0}),ci=e=>e.metal+e.crystal+e.deuterium,li=e=>Math.floor(e/1e3),ui=(e,t)=>{e.points+=t},di=(e,t,n)=>{let r=0;for(let i=t+1;i<=n;i++){let t=ci(hi(e,i));r+=li(t)}return r},fi=(e,t,n)=>{let r=0;for(let i=t+1;i<=n;i++){let t=ci(ri(e,i));r+=li(t)}return r},pi=(e,t)=>{let n=$r[e];return li(ci(n.cost))*t},mi=(e,t)=>{let n=ei[e];return li(ci(n.cost))*t},hi=(e,t)=>{let n=Zr[e],r=n.costMultiplier**(t-1);return{metal:Math.floor(n.baseCost.metal*r),crystal:Math.floor(n.baseCost.crystal*r),deuterium:Math.floor(n.baseCost.deuterium*r),darkMatter:Math.floor(n.baseCost.darkMatter*r),energy:0}},gi=(e,t,n=0)=>{let r=Zr[e],i=r.costMultiplier**(t-1),a=r.baseTime*i,o=1-n/100;return Math.floor(a*o)},_i=e=>{let t=0;return Object.entries(e.buildings).forEach(([e,n])=>{if(n>0){let r=Zr[e];t+=r.spaceUsage*n}}),t},vi=(e,t,n)=>{let r=Zr[e].requirements;if(!r)return!0;for(let[e,i]of Object.entries(r)){let r=i;if(Object.values(X).includes(e)){if((t.buildings[e]||0)_i(e)+Zr[t].spaceUsage<=e.maxSpace,bi=(e,t,n)=>{let r=Date.now();return{id:`build_${r}`,type:`building`,itemType:e,targetLevel:t,startTime:r,endTime:r+n*1e3}},xi=(e,t,n)=>{e.buildQueue=e.buildQueue.filter(r=>{if(t>=r.endTime){if(r.type===`building`){let t=e.buildings[r.itemType]||0,i=r.targetLevel||0;e.buildings[r.itemType]=i,n&&i>t&&n(di(r.itemType,t,i),`building`,r.itemType,i)}else if(r.type===`ship`){let t=r.itemType,i=r.quantity||0;e.fleet[t]=(e.fleet[t]||0)+i,n&&i>0&&n(pi(t,i),`ship`,r.itemType,void 0,i)}else if(r.type===`defense`){let t=r.itemType,i=r.quantity||0;e.defense[t]=(e.defense[t]||0)+i,n&&i>0&&n(mi(t,i),`defense`,r.itemType,void 0,i)}else if(r.type===`demolish`){let t=r.itemType,n=e.buildings[t]||0;e.buildings[t]=Math.max(0,n-1)}return!1}return!0})},Si=(e,t)=>{let n=hi(e,t);return{metal:Math.floor(n.metal*.5),crystal:Math.floor(n.crystal*.5),deuterium:Math.floor(n.deuterium*.5),darkMatter:Math.floor(n.darkMatter*.5),energy:0}},Ci=(e,t,n=0)=>{let r=gi(e,t,n);return Math.floor(r*.5)},wi=(e,t,n)=>{let r=Date.now();return{id:`demolish_${r}`,type:`demolish`,itemType:e,targetLevel:t-1,startTime:r,endTime:r+n*1e3}};var Ti={class:`space-y-4`},Ei={class:`border rounded-lg overflow-hidden`},Di={key:1},Oi={key:0,class:`text-green-600 dark:text-green-400`},ki={key:1},Ai={key:0,class:`text-red-600 dark:text-red-400`},ji={key:1},Mi={class:`text-primary font-medium`},Ni={class:`grid grid-cols-2 gap-4`},Pi={class:`flex items-center justify-between text-sm`},Fi={class:`text-muted-foreground`},Ii={class:`font-medium`},Li={class:`flex items-center justify-between text-sm`},Ri={class:`text-muted-foreground`},zi={class:`font-medium`},Bi={class:`flex items-center justify-between text-sm`},Vi={class:`text-muted-foreground`},Hi={class:`font-medium`},Ui={class:`text-3xl font-bold text-primary`},Wi={class:`text-xs text-muted-foreground mt-1`},Gi=T({__name:`BuildingDetailView`,props:{buildingType:{},currentLevel:{}},setup(e){let{t}=vt(),n=e,r=S(()=>{let e=Math.max(0,n.currentLevel-10),t=n.currentLevel+10,r=[];for(let n=e;n<=t;n++)r.push(n);return r}),i=e=>{if(e===0)return{cost:{metal:0,crystal:0,deuterium:0},buildTime:0,production:0,consumption:0,points:0};let t=hi(n.buildingType,e),r=gi(n.buildingType,e),i=0,a=0;n.buildingType===`metalMine`?i=Math.floor(30*e*1.1**e):n.buildingType===`crystalMine`?i=Math.floor(20*e*1.1**e):n.buildingType===`deuteriumSynthesizer`&&(i=Math.floor(10*e*1.1**e)),n.buildingType===`solarPlant`&&(i=Math.floor(20*e*1.1**e)),[`metalMine`,`crystalMine`,`deuteriumSynthesizer`].includes(n.buildingType)&&(a=Math.floor(10*e*1.1**e));let o=di(n.buildingType,e-1,e);return{cost:t,buildTime:r,production:i,consumption:a,points:o}},a=S(()=>{let e=0,t=0,n=0,a=0;for(let o of r.value){if(o===0)continue;let r=i(o);e+=r.cost.metal,t+=r.cost.crystal,n+=r.cost.deuterium,a+=r.points}return{metal:e,crystal:t,deuterium:n,points:a}}),o=e=>e.toLocaleString(),c=e=>{if(e<60)return`${e}${t(`common.timeSecond`)}`;let n=Math.floor(e/60),r=e%60;if(n<60)return`${n}${t(`common.timeMinute`)}${r}${t(`common.timeSecond`)}`;let i=Math.floor(n/60),a=n%60;return`${i}${t(`common.timeHour`)}${a}${t(`common.timeMinute`)}`};return(n,d)=>(R(),f(`div`,Ti,[l(`div`,Ei,[C(s(Ur),null,{default:I(()=>[C(s(Jr),null,{default:I(()=>[C(s(Kr),null,{default:I(()=>[C(s(qr),{class:`w-20 text-center`},{default:I(()=>[w(M(s(t)(`buildings.levelRange`)),1)]),_:1}),C(s(qr),{class:`text-center`},{default:I(()=>[w(M(s(t)(`resources.metal`)),1)]),_:1}),C(s(qr),{class:`text-center`},{default:I(()=>[w(M(s(t)(`resources.crystal`)),1)]),_:1}),C(s(qr),{class:`text-center`},{default:I(()=>[w(M(s(t)(`resources.deuterium`)),1)]),_:1}),C(s(qr),{class:`text-center`},{default:I(()=>[w(M(s(t)(`buildings.buildTime`)),1)]),_:1}),C(s(qr),{class:`text-center`},{default:I(()=>[w(M(s(t)(`buildings.production`)),1)]),_:1}),C(s(qr),{class:`text-center`},{default:I(()=>[w(M(s(t)(`buildings.consumption`)),1)]),_:1}),C(s(qr),{class:`text-center`},{default:I(()=>[w(M(s(t)(`player.points`)),1)]),_:1})]),_:1})]),_:1}),C(s(Wr),null,{default:I(()=>[(R(!0),f(u,null,N(r.value,n=>(R(),p(s(Kr),{key:n,class:_({"bg-muted/50":n===e.currentLevel})},{default:I(()=>[C(s(Gr),{class:`text-center font-medium`},{default:I(()=>[n===e.currentLevel?(R(),p(s(Kn),{key:0,variant:`default`},{default:I(()=>[w(M(n),1)]),_:2},1024)):(R(),f(`span`,Di,M(n),1))]),_:2},1024),C(s(Gr),{class:`text-center text-sm`},{default:I(()=>[w(M(o(i(n).cost.metal)),1)]),_:2},1024),C(s(Gr),{class:`text-center text-sm`},{default:I(()=>[w(M(o(i(n).cost.crystal)),1)]),_:2},1024),C(s(Gr),{class:`text-center text-sm`},{default:I(()=>[w(M(o(i(n).cost.deuterium)),1)]),_:2},1024),C(s(Gr),{class:`text-center text-sm`},{default:I(()=>[w(M(c(i(n).buildTime)),1)]),_:2},1024),C(s(Gr),{class:`text-center text-sm`},{default:I(()=>[i(n).production>0?(R(),f(`span`,Oi,` +`+M(o(i(n).production))+`/`+M(s(t)(`resources.perHour`)),1)):(R(),f(`span`,ki,`-`))]),_:2},1024),C(s(Gr),{class:`text-center text-sm`},{default:I(()=>[i(n).consumption>0?(R(),f(`span`,Ai,` -`+M(o(i(n).consumption)),1)):(R(),f(`span`,ji,`-`))]),_:2},1024),C(s(Gr),{class:`text-center text-sm`},{default:I(()=>[l(`span`,Mi,`+`+M(i(n).points),1)]),_:2},1024)]),_:2},1032,[`class`]))),128))]),_:1})]),_:1})]),l(`div`,Ni,[C(s(K),null,{default:I(()=>[C(s(J),{class:`pb-3`},{default:I(()=>[C(s(Y),{class:`text-sm`},{default:I(()=>[w(M(s(t)(`buildings.totalCost`)),1)]),_:1})]),_:1}),C(s(q),{class:`space-y-2`},{default:I(()=>[l(`div`,Pi,[l(`span`,Fi,M(s(t)(`resources.metal`))+`:`,1),l(`span`,Ii,M(o(a.value.metal)),1)]),l(`div`,Li,[l(`span`,Ri,M(s(t)(`resources.crystal`))+`:`,1),l(`span`,zi,M(o(a.value.crystal)),1)]),l(`div`,Bi,[l(`span`,Vi,M(s(t)(`resources.deuterium`))+`:`,1),l(`span`,Hi,M(o(a.value.deuterium)),1)])]),_:1})]),_:1}),C(s(K),null,{default:I(()=>[C(s(J),{class:`pb-3`},{default:I(()=>[C(s(Y),{class:`text-sm`},{default:I(()=>[w(M(s(t)(`buildings.totalPoints`)),1)]),_:1})]),_:1}),C(s(q),null,{default:I(()=>[l(`div`,Ui,M(o(a.value.points)),1),l(`p`,Wi,M(s(t)(`buildings.levelRange`))+`: `+M(Math.max(0,e.currentLevel-10))+` - `+M(Math.min(e.currentLevel+10,e.currentLevel+10)),1)]),_:1})]),_:1})])]))}}),Ki={class:`space-y-4`},qi={class:`border rounded-lg overflow-hidden`},Ji={key:1},Yi={class:`text-primary font-medium`},Xi={class:`grid grid-cols-2 gap-4`},Zi={class:`flex items-center justify-between text-sm`},Qi={class:`text-muted-foreground`},$i={class:`font-medium`},ea={class:`flex items-center justify-between text-sm`},ta={class:`text-muted-foreground`},na={class:`font-medium`},ra={class:`flex items-center justify-between text-sm`},ia={class:`text-muted-foreground`},aa={class:`font-medium`},oa={class:`text-3xl font-bold text-primary`},sa={class:`text-xs text-muted-foreground mt-1`},ca=T({__name:`TechnologyDetailView`,props:{technologyType:{},currentLevel:{}},setup(e){let{t}=vt(),n=e,r=S(()=>{let e=Math.max(0,n.currentLevel-10),t=n.currentLevel+10,r=[];for(let n=e;n<=t;n++)r.push(n);return r}),i=e=>e===0?{cost:{metal:0,crystal:0,deuterium:0},researchTime:0,points:0}:{cost:ri(n.technologyType,e),researchTime:ii(n.technologyType,e-1),points:fi(n.technologyType,e-1,e)},a=S(()=>{let e=0,t=0,n=0,a=0;for(let o of r.value){if(o===0)continue;let r=i(o);e+=r.cost.metal,t+=r.cost.crystal,n+=r.cost.deuterium,a+=r.points}return{metal:e,crystal:t,deuterium:n,points:a}}),o=e=>e.toLocaleString(),c=e=>{if(e<60)return`${e}${t(`common.timeSecond`)}`;let n=Math.floor(e/60),r=e%60;if(n<60)return`${n}${t(`common.timeMinute`)}${r}${t(`common.timeSecond`)}`;let i=Math.floor(n/60),a=n%60;return`${i}${t(`common.timeHour`)}${a}${t(`common.timeMinute`)}`};return(n,d)=>(R(),f(`div`,Ki,[l(`div`,qi,[C(s(Ur),null,{default:I(()=>[C(s(Jr),null,{default:I(()=>[C(s(Kr),null,{default:I(()=>[C(s(qr),{class:`w-20 text-center`},{default:I(()=>[w(M(s(t)(`research.levelRange`)),1)]),_:1}),C(s(qr),{class:`text-center`},{default:I(()=>[w(M(s(t)(`resources.metal`)),1)]),_:1}),C(s(qr),{class:`text-center`},{default:I(()=>[w(M(s(t)(`resources.crystal`)),1)]),_:1}),C(s(qr),{class:`text-center`},{default:I(()=>[w(M(s(t)(`resources.deuterium`)),1)]),_:1}),C(s(qr),{class:`text-center`},{default:I(()=>[w(M(s(t)(`research.researchTime`)),1)]),_:1}),C(s(qr),{class:`text-center`},{default:I(()=>[w(M(s(t)(`player.points`)),1)]),_:1})]),_:1})]),_:1}),C(s(Wr),null,{default:I(()=>[(R(!0),f(u,null,N(r.value,t=>(R(),p(s(Kr),{key:t,class:_({"bg-muted/50":t===e.currentLevel})},{default:I(()=>[C(s(Gr),{class:`text-center font-medium`},{default:I(()=>[t===e.currentLevel?(R(),p(s(Kn),{key:0,variant:`default`},{default:I(()=>[w(M(t),1)]),_:2},1024)):(R(),f(`span`,Ji,M(t),1))]),_:2},1024),C(s(Gr),{class:`text-center text-sm`},{default:I(()=>[w(M(o(i(t).cost.metal)),1)]),_:2},1024),C(s(Gr),{class:`text-center text-sm`},{default:I(()=>[w(M(o(i(t).cost.crystal)),1)]),_:2},1024),C(s(Gr),{class:`text-center text-sm`},{default:I(()=>[w(M(o(i(t).cost.deuterium)),1)]),_:2},1024),C(s(Gr),{class:`text-center text-sm`},{default:I(()=>[w(M(c(i(t).researchTime)),1)]),_:2},1024),C(s(Gr),{class:`text-center text-sm`},{default:I(()=>[l(`span`,Yi,`+`+M(i(t).points),1)]),_:2},1024)]),_:2},1032,[`class`]))),128))]),_:1})]),_:1})]),l(`div`,Xi,[C(s(K),null,{default:I(()=>[C(s(J),{class:`pb-3`},{default:I(()=>[C(s(Y),{class:`text-sm`},{default:I(()=>[w(M(s(t)(`research.totalCost`)),1)]),_:1})]),_:1}),C(s(q),{class:`space-y-2`},{default:I(()=>[l(`div`,Zi,[l(`span`,Qi,M(s(t)(`resources.metal`))+`:`,1),l(`span`,$i,M(o(a.value.metal)),1)]),l(`div`,ea,[l(`span`,ta,M(s(t)(`resources.crystal`))+`:`,1),l(`span`,na,M(o(a.value.crystal)),1)]),l(`div`,ra,[l(`span`,ia,M(s(t)(`resources.deuterium`))+`:`,1),l(`span`,aa,M(o(a.value.deuterium)),1)])]),_:1})]),_:1}),C(s(K),null,{default:I(()=>[C(s(J),{class:`pb-3`},{default:I(()=>[C(s(Y),{class:`text-sm`},{default:I(()=>[w(M(s(t)(`research.totalPoints`)),1)]),_:1})]),_:1}),C(s(q),null,{default:I(()=>[l(`div`,oa,M(o(a.value.points)),1),l(`p`,sa,M(s(t)(`research.levelRange`))+`: `+M(Math.max(0,e.currentLevel-10))+` - `+M(Math.min(e.currentLevel+10,e.currentLevel+10)),1)]),_:1})]),_:1})])]))}}),la=T({__name:`Input`,props:{defaultValue:{},modelValue:{},class:{}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=e,r=se(n,`modelValue`,t,{passive:!0,defaultValue:n.defaultValue});return(e,t)=>P((R(),f(`input`,{"onUpdate:modelValue":t[0]||=e=>le(r)?r.value=e:null,"data-slot":`input`,class:_(s(W)(`file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm`,`focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]`,`aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive`,n.class))},null,2)),[[te,s(r)]])}}),ua=T({__name:`Label`,props:{for:{},asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=F(t,`class`);return(e,r)=>(R(),p(s(E),oe({"data-slot":`label`},s(n),{class:s(W)(`flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50`,t.class)}),{default:I(()=>[z(e.$slots,`default`)]),_:3},16,[`class`]))}}),da={class:`space-y-4`},fa={class:`grid grid-cols-2 md:grid-cols-3 gap-4`},pa={class:`text-2xl font-bold`},ma={class:`text-2xl font-bold`},ha={class:`text-2xl font-bold`},ga={class:`text-2xl font-bold`},_a={class:`text-2xl font-bold`},va={class:`text-2xl font-bold`},ya={class:`grid grid-cols-1 md:grid-cols-2 gap-4`},ba={key:0,class:`flex items-center justify-between text-sm`},xa={class:`text-muted-foreground`},Sa={class:`font-medium`},Ca={key:1,class:`flex items-center justify-between text-sm`},wa={class:`text-muted-foreground`},Ta={class:`font-medium`},Ea={key:2,class:`flex items-center justify-between text-sm`},Da={class:`text-muted-foreground`},Oa={class:`font-medium`},ka={class:`flex items-center justify-between text-sm pt-2 border-t`},Aa={class:`text-muted-foreground`},ja={class:`font-bold text-primary`},Ma={class:`text-3xl font-bold`},Na={class:`text-xs text-muted-foreground mt-2`},Pa={class:`flex items-center gap-4`},Fa={class:`grid grid-cols-2 gap-4 pt-4 border-t`},Ia={class:`space-y-2`},La={class:`text-sm text-muted-foreground`},Ra={class:`space-y-1 text-sm`},za={class:`flex justify-between`},Ba={class:`font-medium`},Va={class:`flex justify-between`},Ha={class:`font-medium`},Ua={class:`flex justify-between`},Wa={class:`font-medium`},Ga={class:`space-y-2`},Ka={class:`text-sm text-muted-foreground`},qa={class:`text-xl font-bold`},Ja={class:`text-xs text-muted-foreground`},Ya=T({__name:`ShipDetailView`,props:{shipType:{}},setup(e){let{t}=vt(),n=e,r=S(()=>$r[n.shipType]),i=ee(1),a=S(()=>pi(n.shipType,1)),o=S(()=>({metal:r.value.cost.metal*i.value,crystal:r.value.cost.crystal*i.value,deuterium:r.value.cost.deuterium*i.value})),c=S(()=>pi(n.shipType,i.value)),u=e=>e.toLocaleString(),d=e=>{if(e<60)return`${e}${t(`common.timeSecond`)}`;let n=Math.floor(e/60),r=e%60;if(n<60)return`${n}${t(`common.timeMinute`)}${r}${t(`common.timeSecond`)}`;let i=Math.floor(n/60),a=n%60;return`${i}${t(`common.timeHour`)}${a}${t(`common.timeMinute`)}`};return(e,n)=>(R(),f(`div`,da,[l(`div`,fa,[C(s(K),null,{default:I(()=>[C(s(J),{class:`pb-3`},{default:I(()=>[C(s(Y),{class:`text-sm flex items-center gap-2`},{default:I(()=>[C(s(Mr),{class:`h-4 w-4`}),w(` `+M(s(t)(`shipyard.attack`)),1)]),_:1})]),_:1}),C(s(q),null,{default:I(()=>[l(`div`,pa,M(u(r.value.attack)),1)]),_:1})]),_:1}),C(s(K),null,{default:I(()=>[C(s(J),{class:`pb-3`},{default:I(()=>[C(s(Y),{class:`text-sm flex items-center gap-2`},{default:I(()=>[C(s(Or),{class:`h-4 w-4`}),w(` `+M(s(t)(`shipyard.shield`)),1)]),_:1})]),_:1}),C(s(q),null,{default:I(()=>[l(`div`,ma,M(u(r.value.shield)),1)]),_:1})]),_:1}),C(s(K),null,{default:I(()=>[C(s(J),{class:`pb-3`},{default:I(()=>[C(s(Y),{class:`text-sm flex items-center gap-2`},{default:I(()=>[C(s(Dr),{class:`h-4 w-4`}),w(` `+M(s(t)(`shipyard.armor`)),1)]),_:1})]),_:1}),C(s(q),null,{default:I(()=>[l(`div`,ha,M(u(r.value.armor)),1)]),_:1})]),_:1}),C(s(K),null,{default:I(()=>[C(s(J),{class:`pb-3`},{default:I(()=>[C(s(Y),{class:`text-sm flex items-center gap-2`},{default:I(()=>[C(s(Fr),{class:`h-4 w-4`}),w(` `+M(s(t)(`shipyard.speed`)),1)]),_:1})]),_:1}),C(s(q),null,{default:I(()=>[l(`div`,ga,M(u(r.value.speed)),1)]),_:1})]),_:1}),C(s(K),null,{default:I(()=>[C(s(J),{class:`pb-3`},{default:I(()=>[C(s(Y),{class:`text-sm flex items-center gap-2`},{default:I(()=>[C(s(wr),{class:`h-4 w-4`}),w(` `+M(s(t)(`shipyard.cargoCapacity`)),1)]),_:1})]),_:1}),C(s(q),null,{default:I(()=>[l(`div`,_a,M(u(r.value.cargoCapacity)),1)]),_:1})]),_:1}),C(s(K),null,{default:I(()=>[C(s(J),{class:`pb-3`},{default:I(()=>[C(s(Y),{class:`text-sm flex items-center gap-2`},{default:I(()=>[C(s(_r),{class:`h-4 w-4`}),w(` `+M(s(t)(`shipyard.fuelConsumption`)),1)]),_:1})]),_:1}),C(s(q),null,{default:I(()=>[l(`div`,va,M(u(r.value.fuelConsumption)),1)]),_:1})]),_:1})]),l(`div`,ya,[C(s(K),null,{default:I(()=>[C(s(J),null,{default:I(()=>[C(s(Y),{class:`text-sm`},{default:I(()=>[w(M(s(t)(`shipyard.buildCost`)),1)]),_:1})]),_:1}),C(s(q),{class:`space-y-2`},{default:I(()=>[r.value.cost.metal>0?(R(),f(`div`,ba,[l(`span`,xa,M(s(t)(`resources.metal`))+`:`,1),l(`span`,Sa,M(u(r.value.cost.metal)),1)])):L(``,!0),r.value.cost.crystal>0?(R(),f(`div`,Ca,[l(`span`,wa,M(s(t)(`resources.crystal`))+`:`,1),l(`span`,Ta,M(u(r.value.cost.crystal)),1)])):L(``,!0),r.value.cost.deuterium>0?(R(),f(`div`,Ea,[l(`span`,Da,M(s(t)(`resources.deuterium`))+`:`,1),l(`span`,Oa,M(u(r.value.cost.deuterium)),1)])):L(``,!0),l(`div`,ka,[l(`span`,Aa,M(s(t)(`player.points`))+`:`,1),l(`span`,ja,M(a.value),1)])]),_:1})]),_:1}),C(s(K),null,{default:I(()=>[C(s(J),null,{default:I(()=>[C(s(Y),{class:`text-sm`},{default:I(()=>[w(M(s(t)(`shipyard.buildTime`)),1)]),_:1})]),_:1}),C(s(q),null,{default:I(()=>[l(`div`,Ma,M(d(r.value.buildTime)),1),l(`p`,Na,M(s(t)(`shipyard.perUnit`)),1)]),_:1})]),_:1})]),C(s(K),null,{default:I(()=>[C(s(J),null,{default:I(()=>[C(s(Y),{class:`text-sm`},{default:I(()=>[w(M(s(t)(`shipyard.batchCalculator`)),1)]),_:1})]),_:1}),C(s(q),{class:`space-y-4`},{default:I(()=>[l(`div`,Pa,[C(s(ua),{class:`w-20`},{default:I(()=>[w(M(s(t)(`shipyard.quantity`))+`:`,1)]),_:1}),C(s(la),{modelValue:i.value,"onUpdate:modelValue":n[0]||=e=>i.value=e,modelModifiers:{number:!0},type:`number`,min:`1`,class:`flex-1`},null,8,[`modelValue`])]),l(`div`,Fa,[l(`div`,Ia,[l(`p`,La,M(s(t)(`shipyard.totalCost`))+`:`,1),l(`div`,Ra,[l(`div`,za,[l(`span`,null,M(s(t)(`resources.metal`))+`:`,1),l(`span`,Ba,M(u(o.value.metal)),1)]),l(`div`,Va,[l(`span`,null,M(s(t)(`resources.crystal`))+`:`,1),l(`span`,Ha,M(u(o.value.crystal)),1)]),l(`div`,Ua,[l(`span`,null,M(s(t)(`resources.deuterium`))+`:`,1),l(`span`,Wa,M(u(o.value.deuterium)),1)])])]),l(`div`,Ga,[l(`p`,Ka,M(s(t)(`shipyard.totalTime`))+`:`,1),l(`div`,qa,M(d(r.value.buildTime*i.value)),1),l(`p`,Ja,M(s(t)(`player.points`))+`: +`+M(u(c.value)),1)])])]),_:1})]),_:1})]))}}),Xa={class:`space-y-4`},Za={class:`grid grid-cols-2 md:grid-cols-3 gap-4`},Qa={class:`text-2xl font-bold`},$a={class:`text-2xl font-bold`},eo={class:`text-2xl font-bold`},to={class:`grid grid-cols-1 md:grid-cols-2 gap-4`},no={key:0,class:`flex items-center justify-between text-sm`},ro={class:`text-muted-foreground`},io={class:`font-medium`},ao={key:1,class:`flex items-center justify-between text-sm`},oo={class:`text-muted-foreground`},so={class:`font-medium`},co={key:2,class:`flex items-center justify-between text-sm`},lo={class:`text-muted-foreground`},uo={class:`font-medium`},fo={class:`flex items-center justify-between text-sm pt-2 border-t`},po={class:`text-muted-foreground`},mo={class:`font-bold text-primary`},ho={class:`text-3xl font-bold`},go={class:`text-xs text-muted-foreground mt-2`},_o={class:`flex items-center gap-4`},vo={class:`grid grid-cols-2 gap-4 pt-4 border-t`},yo={class:`space-y-2`},bo={class:`text-sm text-muted-foreground`},xo={class:`space-y-1 text-sm`},So={class:`flex justify-between`},Co={class:`font-medium`},wo={class:`flex justify-between`},To={class:`font-medium`},Eo={class:`flex justify-between`},Do={class:`font-medium`},Oo={class:`space-y-2`},ko={class:`text-sm text-muted-foreground`},Ao={class:`text-xl font-bold`},jo={class:`text-xs text-muted-foreground`},Mo=T({__name:`DefenseDetailView`,props:{defenseType:{}},setup(e){let{t}=vt(),n=e,r=S(()=>ei[n.defenseType]),i=ee(1),a=S(()=>mi(n.defenseType,1)),o=S(()=>({metal:r.value.cost.metal*i.value,crystal:r.value.cost.crystal*i.value,deuterium:r.value.cost.deuterium*i.value})),c=S(()=>mi(n.defenseType,i.value)),u=e=>e.toLocaleString(),d=e=>{if(e<60)return`${e}${t(`common.timeSecond`)}`;let n=Math.floor(e/60),r=e%60;if(n<60)return`${n}${t(`common.timeMinute`)}${r}${t(`common.timeSecond`)}`;let i=Math.floor(n/60),a=n%60;return`${i}${t(`common.timeHour`)}${a}${t(`common.timeMinute`)}`};return(e,n)=>(R(),f(`div`,Xa,[l(`div`,Za,[C(s(K),null,{default:I(()=>[C(s(J),{class:`pb-3`},{default:I(()=>[C(s(Y),{class:`text-sm flex items-center gap-2`},{default:I(()=>[C(s(Mr),{class:`h-4 w-4`}),w(` `+M(s(t)(`defense.attack`)),1)]),_:1})]),_:1}),C(s(q),null,{default:I(()=>[l(`div`,Qa,M(u(r.value.attack)),1)]),_:1})]),_:1}),C(s(K),null,{default:I(()=>[C(s(J),{class:`pb-3`},{default:I(()=>[C(s(Y),{class:`text-sm flex items-center gap-2`},{default:I(()=>[C(s(Or),{class:`h-4 w-4`}),w(` `+M(s(t)(`defense.shield`)),1)]),_:1})]),_:1}),C(s(q),null,{default:I(()=>[l(`div`,$a,M(u(r.value.shield)),1)]),_:1})]),_:1}),C(s(K),null,{default:I(()=>[C(s(J),{class:`pb-3`},{default:I(()=>[C(s(Y),{class:`text-sm flex items-center gap-2`},{default:I(()=>[C(s(Dr),{class:`h-4 w-4`}),w(` `+M(s(t)(`defense.armor`)),1)]),_:1})]),_:1}),C(s(q),null,{default:I(()=>[l(`div`,eo,M(u(r.value.armor)),1)]),_:1})]),_:1})]),l(`div`,to,[C(s(K),null,{default:I(()=>[C(s(J),null,{default:I(()=>[C(s(Y),{class:`text-sm`},{default:I(()=>[w(M(s(t)(`defense.buildCost`)),1)]),_:1})]),_:1}),C(s(q),{class:`space-y-2`},{default:I(()=>[r.value.cost.metal>0?(R(),f(`div`,no,[l(`span`,ro,M(s(t)(`resources.metal`))+`:`,1),l(`span`,io,M(u(r.value.cost.metal)),1)])):L(``,!0),r.value.cost.crystal>0?(R(),f(`div`,ao,[l(`span`,oo,M(s(t)(`resources.crystal`))+`:`,1),l(`span`,so,M(u(r.value.cost.crystal)),1)])):L(``,!0),r.value.cost.deuterium>0?(R(),f(`div`,co,[l(`span`,lo,M(s(t)(`resources.deuterium`))+`:`,1),l(`span`,uo,M(u(r.value.cost.deuterium)),1)])):L(``,!0),l(`div`,fo,[l(`span`,po,M(s(t)(`player.points`))+`:`,1),l(`span`,mo,M(a.value),1)])]),_:1})]),_:1}),C(s(K),null,{default:I(()=>[C(s(J),null,{default:I(()=>[C(s(Y),{class:`text-sm`},{default:I(()=>[w(M(s(t)(`defense.buildTime`)),1)]),_:1})]),_:1}),C(s(q),null,{default:I(()=>[l(`div`,ho,M(d(r.value.buildTime)),1),l(`p`,go,M(s(t)(`defense.perUnit`)),1)]),_:1})]),_:1})]),C(s(K),null,{default:I(()=>[C(s(J),null,{default:I(()=>[C(s(Y),{class:`text-sm`},{default:I(()=>[w(M(s(t)(`defense.batchCalculator`)),1)]),_:1})]),_:1}),C(s(q),{class:`space-y-4`},{default:I(()=>[l(`div`,_o,[C(s(ua),{class:`w-20`},{default:I(()=>[w(M(s(t)(`defense.quantity`))+`:`,1)]),_:1}),C(s(la),{modelValue:i.value,"onUpdate:modelValue":n[0]||=e=>i.value=e,modelModifiers:{number:!0},type:`number`,min:`1`,class:`flex-1`},null,8,[`modelValue`])]),l(`div`,vo,[l(`div`,yo,[l(`p`,bo,M(s(t)(`defense.totalCost`))+`:`,1),l(`div`,xo,[l(`div`,So,[l(`span`,null,M(s(t)(`resources.metal`))+`:`,1),l(`span`,Co,M(u(o.value.metal)),1)]),l(`div`,wo,[l(`span`,null,M(s(t)(`resources.crystal`))+`:`,1),l(`span`,To,M(u(o.value.crystal)),1)]),l(`div`,Eo,[l(`span`,null,M(s(t)(`resources.deuterium`))+`:`,1),l(`span`,Do,M(u(o.value.deuterium)),1)])])]),l(`div`,Oo,[l(`p`,ko,M(s(t)(`defense.totalTime`))+`:`,1),l(`div`,Ao,M(d(r.value.buildTime*i.value)),1),l(`p`,jo,M(s(t)(`player.points`))+`: +`+M(u(c.value)),1)])])]),_:1})]),_:1})]))}}),No={class:`overflow-y-auto px-6 pb-6`},Po={class:`overflow-y-auto px-6 pb-6`},Fo={class:`overflow-y-auto px-6 pb-6`},Io={class:`overflow-y-auto px-6 pb-6`},Lo=T({__name:`DetailDialog`,setup(e){let{t}=vt(),n=Vr(),r=e=>{e||n.close()};return(e,i)=>(R(),p(s(ar),{open:s(n).isOpen,"onUpdate:open":r},{default:I(()=>[C(s(Lr),{class:`max-w-[calc(100%-1rem)] sm:max-w-[90vw] md:max-w-3xl lg:max-w-4xl max-h-[90vh] flex flex-col p-0`},{default:I(()=>[s(n).type===`building`&&s(n).itemType?(R(),f(u,{key:0},[C(s(zr),{class:`px-6 pt-6 pb-4 shrink-0`},{default:I(()=>[C(s(Br),{class:`flex items-center gap-2`},{default:I(()=>[w(M(s(t)(`buildings.${s(n).itemType}`))+` `,1),C(s(Kn),{variant:`outline`},{default:I(()=>[w(M(s(t)(`common.currentLevel`))+` `+M(s(n).currentLevel||0),1)]),_:1})]),_:1}),C(s(Rr),null,{default:I(()=>[w(M(s(t)(`buildingDescriptions.${s(n).itemType}`)),1)]),_:1})]),_:1}),l(`div`,No,[C(Gi,{buildingType:s(n).itemType,currentLevel:s(n).currentLevel||0},null,8,[`buildingType`,`currentLevel`])])],64)):s(n).type===`technology`&&s(n).itemType?(R(),f(u,{key:1},[C(s(zr),{class:`px-6 pt-6 pb-4 shrink-0`},{default:I(()=>[C(s(Br),{class:`flex items-center gap-2`},{default:I(()=>[w(M(s(t)(`technologies.${s(n).itemType}`))+` `,1),C(s(Kn),{variant:`outline`},{default:I(()=>[w(M(s(t)(`common.currentLevel`))+` `+M(s(n).currentLevel||0),1)]),_:1})]),_:1}),C(s(Rr),null,{default:I(()=>[w(M(s(t)(`technologyDescriptions.${s(n).itemType}`)),1)]),_:1})]),_:1}),l(`div`,Po,[C(ca,{technologyType:s(n).itemType,currentLevel:s(n).currentLevel||0},null,8,[`technologyType`,`currentLevel`])])],64)):s(n).type===`ship`&&s(n).itemType?(R(),f(u,{key:2},[C(s(zr),{class:`px-6 pt-6 pb-4 shrink-0`},{default:I(()=>[C(s(Br),null,{default:I(()=>[w(M(s(t)(`ships.${s(n).itemType}`)),1)]),_:1}),C(s(Rr),null,{default:I(()=>[w(M(s(t)(`shipDescriptions.${s(n).itemType}`)),1)]),_:1})]),_:1}),l(`div`,Fo,[C(Ya,{shipType:s(n).itemType},null,8,[`shipType`])])],64)):s(n).type===`defense`&&s(n).itemType?(R(),f(u,{key:3},[C(s(zr),{class:`px-6 pt-6 pb-4 shrink-0`},{default:I(()=>[C(s(Br),null,{default:I(()=>[w(M(s(t)(`defenses.${s(n).itemType}`)),1)]),_:1}),C(s(Rr),null,{default:I(()=>[w(M(s(t)(`defenseDescriptions.${s(n).itemType}`)),1)]),_:1})]),_:1}),l(`div`,Io,[C(Mo,{defenseType:s(n).itemType},null,8,[`defenseType`])])],64)):L(``,!0)]),_:1})]),_:1},8,[`open`]))}});const Ro=(e,t=2)=>e>=1e9?(e/1e9).toFixed(t)+`B`:e>=1e6?(e/1e6).toFixed(t)+`M`:e>=1e3?(e/1e3).toFixed(t)+`K`:Math.floor(e).toString(),zo=(e,t)=>{let n=e/t;return n>=1?`text-red-600 dark:text-red-400`:n>=.7?`text-yellow-600 dark:text-yellow-400`:``},Bo=e=>{let t=Math.floor(e/3600),n=Math.floor(e%3600/60),r=Math.floor(e%60);return`${t.toString().padStart(2,`0`)}:${n.toString().padStart(2,`0`)}:${r.toString().padStart(2,`0`)}`},Vo=e=>new Date(e).toLocaleString(`zh-CN`,{year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`}),Ho=(e,t)=>eti[e].cost,Wo=(e,t)=>e.active&&(!e.expiresAt||e.expiresAt>t),Go=(e,t)=>{let n=Date.now();return{type:e,active:!0,hiredAt:n,expiresAt:n+t*24*60*60*1e3}},Ko=e=>({type:e,active:!1}),qo=(e,t,n)=>{let r=e.expiresAt&&e.expiresAt>n?e.expiresAt:n;return{...e,active:!0,expiresAt:r+t*24*60*60*1e3}},Jo=(e,t)=>{let n={buildingSpeedBonus:0,researchSpeedBonus:0,resourceProductionBonus:0,darkMatterProductionBonus:0,energyProductionBonus:0,fleetSpeedBonus:0,fuelConsumptionReduction:0,defenseBonus:0,additionalBuildQueue:0,additionalFleetSlots:0,storageCapacityBonus:0};return Object.values(e).forEach(e=>{if(Wo(e,t)){let t=ti[e.type];Object.entries(t.benefits).forEach(([e,t])=>{t!==void 0&&(n[e]+=t)})}}),n},Yo=(e,t)=>{Object.values(e).forEach(e=>{e.active&&e.expiresAt&&e.expiresAt<=t&&(e.active=!1)})},Xo=(e,t)=>{let n=e.buildings[X.SolarPlant]||0,r=1+(t.energyProductionBonus||0)/100;return n*50*1.1**n*r},Zo=e=>{let t=e.buildings[X.MetalMine]||0,n=e.buildings[X.CrystalMine]||0,r=e.buildings[X.DeuteriumSynthesizer]||0,i=t*10*1.1**t,a=n*10*1.1**n,o=r*15*1.1**r;return i+a+o},Qo=(e,t)=>{let n=e.buildings[X.MetalMine]||0,r=e.buildings[X.CrystalMine]||0,i=e.buildings[X.DeuteriumSynthesizer]||0,a=e.buildings[X.DarkMatterCollector]||0,o=1+(t.resourceProductionBonus||0)/100,s=1+(t.darkMatterProductionBonus||0)/100,c=Xo(e,{energyProductionBonus:t.energyProductionBonus}),l=Zo(e),u=c-l,d=u>=0?1:Math.max(0,c/l);return{metal:n*150*1.1**n*o*d,crystal:r*100*1.1**r*o*d,deuterium:i*50*1.1**i*o*d,darkMatter:a*2.5*1.1**a*s,energy:u}},$o=(e,t)=>{let n=e.buildings[X.MetalStorage]||0,r=e.buildings[X.CrystalStorage]||0,i=e.buildings[X.DeuteriumTank]||0,a=e.buildings[X.DarkMatterCollector]||0,o=1+(t||0)/100,s=1e4;return{metal:s*2**n*o,crystal:s*2**r*o,deuterium:s*2**i*o,darkMatter:1e3+a*100,energy:0}},es=(e,t,n)=>{let r=(t-e.lastUpdate)/1e3,i=Qo(e,{resourceProductionBonus:n.resourceProductionBonus,darkMatterProductionBonus:n.darkMatterProductionBonus,energyProductionBonus:n.energyProductionBonus});e.resources.metal+=i.metal*r/3600,e.resources.crystal+=i.crystal*r/3600,e.resources.deuterium+=i.deuterium*r/3600,e.resources.darkMatter+=i.darkMatter*r/3600;let a=$o(e,n.storageCapacityBonus);e.resources.metal=Math.min(e.resources.metal,a.metal),e.resources.crystal=Math.min(e.resources.crystal,a.crystal),e.resources.deuterium=Math.min(e.resources.deuterium,a.deuterium),e.resources.darkMatter=Math.min(e.resources.darkMatter,a.darkMatter),e.lastUpdate=t},ts=(e,t)=>e.metal>=t.metal&&e.crystal>=t.crystal&&e.deuterium>=t.deuterium&&e.darkMatter>=t.darkMatter,ns=(e,t)=>{e.metal-=t.metal,e.crystal-=t.crystal,e.deuterium-=t.deuterium,e.darkMatter-=t.darkMatter},rs=(e,t)=>{e.metal+=t.metal,e.crystal+=t.crystal,e.deuterium+=t.deuterium,e.darkMatter+=t.darkMatter},is=(e,t=`Commander`)=>{let n={id:e,name:t,planets:[],technologies:{},officers:{},researchQueue:[],fleetMissions:[],battleReports:[],spyReports:[],points:0};return Object.values(Z).forEach(e=>{n.technologies[e]=0}),Object.values(Xr).forEach(e=>{n.officers[e]=Ko(e)}),n},as=e=>e.length===0,os=(e,t)=>{e.forEach(e=>{e.lastUpdate=t})},ss=(e,t,n=10)=>{let r=[];for(let e=1;e<=n;e++)r.push({position:e,planet:null});return r},cs=()=>({galaxy:Math.floor(Math.random()*9)+1,system:Math.floor(Math.random()*10)+1,position:Math.floor(Math.random()*10)+1}),ls=(e,t,n)=>`${e}:${t}:${n}`,us=(e,t)=>{let n=Jo(e.officers,t),r=(t,n,r,i,a)=>{ui(e,t)};return e.planets.forEach(e=>{es(e,t,n),xi(e,t,r)}),{updatedResearchQueue:si(e.researchQueue,e.technologies,t,r)}},ds=(e,t)=>{Yo(e,t)},fs=(e,t=`Home Planet`)=>{let n={id:`planet1`,name:t,ownerId:e,position:{galaxy:1,system:1,position:1},resources:{metal:500,crystal:500,deuterium:0,darkMatter:0,energy:0},buildings:{},fleet:{[$.LightFighter]:0,[$.HeavyFighter]:0,[$.Cruiser]:0,[$.Battleship]:0,[$.SmallCargo]:0,[$.LargeCargo]:0,[$.ColonyShip]:0,[$.Recycler]:0,[$.EspionageProbe]:0,[$.DarkMatterHarvester]:0},defense:{[Q.RocketLauncher]:0,[Q.LightLaser]:0,[Q.HeavyLaser]:0,[Q.GaussCannon]:0,[Q.IonCannon]:0,[Q.PlasmaTurret]:0,[Q.SmallShieldDome]:0,[Q.LargeShieldDome]:0},buildQueue:[],lastUpdate:Date.now(),maxSpace:200,isMoon:!1};return Object.values(X).forEach(e=>{n.buildings[e]=0}),n},ps=(e,t,n=`Planet`)=>{let r={id:`npc_planet_${e}`,name:`${n} ${t.galaxy}:${t.system}:${t.position}`,ownerId:`npc_${e}`,position:t,resources:{metal:Math.floor(Math.random()*1e4)+5e3,crystal:Math.floor(Math.random()*5e3)+2e3,deuterium:Math.floor(Math.random()*2e3)+500,darkMatter:Math.floor(Math.random()*100),energy:0},buildings:{},fleet:{[$.LightFighter]:Math.floor(Math.random()*50),[$.HeavyFighter]:Math.floor(Math.random()*20),[$.Cruiser]:Math.floor(Math.random()*10),[$.Battleship]:Math.floor(Math.random()*5),[$.SmallCargo]:Math.floor(Math.random()*10),[$.LargeCargo]:Math.floor(Math.random()*5),[$.ColonyShip]:0,[$.Recycler]:0,[$.EspionageProbe]:0,[$.DarkMatterHarvester]:0},defense:{[Q.RocketLauncher]:Math.floor(Math.random()*100),[Q.LightLaser]:Math.floor(Math.random()*50),[Q.HeavyLaser]:Math.floor(Math.random()*20),[Q.GaussCannon]:Math.floor(Math.random()*10),[Q.IonCannon]:Math.floor(Math.random()*10),[Q.PlasmaTurret]:Math.floor(Math.random()*5),[Q.SmallShieldDome]:Math.random()>.5?1:0,[Q.LargeShieldDome]:Math.random()>.8?1:0},buildQueue:[],lastUpdate:Date.now(),maxSpace:200,isMoon:!1};return Object.values(X).forEach(e=>{r.buildings[e]=Math.floor(Math.random()*10)}),r},ms=e=>{let t=e.metal+e.crystal;if(t{if(!e||!n)return!0;for(let[r,i]of Object.entries(n))if(Object.values(X).includes(r)){if((e.buildings[r]||0)Qo(e,Jo(t,Date.now())),_s=(e,t)=>$o(e,Jo(t,Date.now()).storageCapacityBonus),vs=(e,t=0)=>{let n=e.buildings[X.NaniteFactory]||0;return Math.min(1+n+t,10)},ys=e=>{let t=e[Z.ComputerTechnology]||0;return Math.min(1+t,10)},bs=(e=0)=>Math.min(1+e,10),xs=(e,t,n,r)=>{let i=hi(t,(e.buildings[t]||0)+1),a=Zr[t];if(a.planetOnly&&e.isMoon)return{valid:!1,reason:`errors.planetOnly`};if(a.moonOnly&&!e.isMoon)return{valid:!1,reason:`errors.moonOnly`};let o=vs(e,Jo(r,Date.now()).additionalBuildQueue);return e.buildQueue.length>=o?{valid:!1,reason:`errors.buildQueueFull`}:yi(e,t)?ts(e.resources,i)?vi(t,e,n)?{valid:!0}:{valid:!1,reason:`errors.requirementsNotMet`}:{valid:!1,reason:`errors.insufficientResources`}:{valid:!1,reason:`errors.insufficientSpace`}},Ss=(e,t,n)=>{let r=(e.buildings[t]||0)+1,i=hi(t,r),a=gi(t,r,Jo(n,Date.now()).buildingSpeedBonus);return ns(e.resources,i),bi(t,r,a)},Cs=(e,t)=>{let n=hi(t.itemType,t.targetLevel||1);return{metal:Math.floor(n.metal*.5),crystal:Math.floor(n.crystal*.5),deuterium:Math.floor(n.deuterium*.5),darkMatter:Math.floor(n.darkMatter*.5),energy:0}},ws=(e,t)=>{let n=e.findIndex(e=>e.id===t);return n===-1?{item:null,index:-1}:{item:e[n]||null,index:n}},Ts=(e,t,n)=>{if((e.buildings[t]||0)<=0)return{valid:!1,reason:`errors.buildingLevelZero`};let r=vs(e,Jo(n,Date.now()).additionalBuildQueue);return e.buildQueue.length>=r?{valid:!1,reason:`errors.buildQueueFull`}:{valid:!0}},Es=(e,t,n)=>{let r=e.buildings[t]||0,i=Ci(t,r,Jo(n,Date.now()).buildingSpeedBonus),a=Si(t,r);return e.resources.metal+=a.metal,e.resources.crystal+=a.crystal,e.resources.deuterium+=a.deuterium,e.resources.darkMatter+=a.darkMatter,wi(t,r,i)},Ds=(e,t,n,r)=>{let i=ri(t,(n[t]||0)+1),a=ys(n);return r.length>=a?{valid:!1,reason:`errors.researchQueueFull`}:ai(t,e.buildings,n)?ts(e.resources,i)?{valid:!0}:{valid:!1,reason:`errors.insufficientResources`}:{valid:!1,reason:`errors.requirementsNotMet`}},Os=(e,t,n,r)=>{let i=n+1,a=ri(t,i),o=ii(t,n,Jo(r,Date.now()).researchSpeedBonus);return ns(e.resources,a),{queueItem:oi(t,i,o)}},ks=e=>{let t=ri(e.itemType,e.targetLevel||1);return{metal:Math.floor(t.metal*.5),crystal:Math.floor(t.crystal*.5),deuterium:Math.floor(t.deuterium*.5),darkMatter:Math.floor(t.darkMatter*.5),energy:0}};var As=(e,t,n=0)=>{let r={fleet:[],defense:[],totalShields:0,totalArmor:0};return Object.entries(e).forEach(([e,t])=>{if(t>0){let i=$r[e],a={type:e,count:t,attack:i.attack,shield:i.shield*(1+n/100),armor:i.armor*(1+n/100),isShip:!0};r.fleet.push(a),r.totalShields+=a.shield*t,r.totalArmor+=a.armor*t}}),Object.entries(t).forEach(([e,t])=>{if(t>0){let i=ei[e],a={type:e,count:t,attack:i.attack,shield:i.shield*(1+n/100),armor:i.armor*(1+n/100),isShip:!1};r.defense.push(a),r.totalShields+=a.shield*t,r.totalArmor+=a.armor*t}}),r},js=e=>{let t=0;return e.fleet.forEach(e=>{t+=e.attack*e.count}),e.defense.forEach(e=>{t+=e.attack*e.count}),t},Ms=(e,t)=>{Ns(t,js(e)),Ns(e,js(t))},Ns=(e,t)=>{let n=t,r=e.totalShields;if(r>0){let t=Math.min(n,r);n-=t,e.totalShields-=t}n>0&&Ps(e,n)},Ps=(e,t)=>{let n=t,r=[...e.fleet,...e.defense];for(;n>0&&r.some(e=>e.count>0);){let t=r.filter(e=>e.count>0);if(t.length===0)break;let i=t[Math.floor(Math.random()*t.length)];if(!i)break;let a=Math.min(n/i.armor,1);Math.random(){let n=e.fleet.some(e=>e.count>0)||e.defense.some(e=>e.count>0),r=t.fleet.some(e=>e.count>0)||t.defense.some(e=>e.count>0);return!n||!r},Is=(e,t)=>{let n={fleet:{},defense:{}};return e.fleet.forEach((e,r)=>{let i=t.fleet[r],a=e.count-(i?.count||0);a>0&&(n.fleet[e.type]=a)}),e.defense.forEach((e,r)=>{let i=t.defense[r],a=e.count-(i?.count||0);a>0&&(n.defense[e.type]=a)}),n},Ls=(e,t)=>{let n={metal:0,crystal:0,deuterium:0,darkMatter:0,energy:0},r=.3;return Object.entries(e).forEach(([e,t])=>{let i=$r[e];n.metal+=i.cost.metal*t*r,n.crystal+=i.cost.crystal*t*r}),Object.entries(t.fleet).forEach(([e,t])=>{let i=$r[e];n.metal+=i.cost.metal*t*r,n.crystal+=i.cost.crystal*t*r}),n},Rs=(e,t,n)=>{let r=0;Object.entries(t).forEach(([e,t])=>{let n=$r[e];r+=n.cargoCapacity*t});let i=Math.min(r,n),a=.5;return{metal:Math.min(e.metal*a,i*.5),crystal:Math.min(e.crystal*a,i*.3),deuterium:Math.min(e.deuterium*a,i*.2),darkMatter:0,energy:0}};const zs=(e,t,n,r,i,a)=>{let o=Jo(i,Date.now()),s=Jo(a,Date.now()),c=As(e,{},o.defenseBonus),l=As(t,n,s.defenseBonus),u=JSON.parse(JSON.stringify(c)),d=JSON.parse(JSON.stringify(l)),f=0;for(;f<6&&!Fs(u,d);)Ms(u,d),f++;let p=Is(c,u).fleet,m=Is(l,d),h=`draw`,g=u.fleet.some(e=>e.count>0),_=d.fleet.some(e=>e.count>0)||d.defense.some(e=>e.count>0);g&&!_?h=`attacker`:!g&&_&&(h=`defender`);let v=Ls(p,m),y=h===`attacker`?Rs(r,e,1e4):{metal:0,crystal:0,deuterium:0,darkMatter:0,energy:0};return{id:`battle_${Date.now()}`,timestamp:Date.now(),attackerId:``,defenderId:``,attackerPlanetId:``,defenderPlanetId:``,attackerFleet:e,defenderFleet:t,defenderDefense:n,attackerLosses:p,defenderLosses:m,winner:h,plunder:y,debrisField:v}},Bs=(e,t)=>{let n={...t};return Object.keys(e).forEach(r=>{let i=e[r]||0,a=t[r]||0,o=i-a;o>0&&(n[r]=a+Math.floor(o*.7))}),n},Vs=e=>{let t=e.metal+e.crystal;if(t{let i=Vs(e);if(i===0||Math.random()*100>=i)return null;let a={id:`moon_${Date.now()}`,name:`Moon [${t.galaxy}:${t.system}:${t.position}]`,ownerId:r,position:t,resources:{metal:0,crystal:0,deuterium:0,darkMatter:0,energy:0},buildings:{},fleet:{[$.LightFighter]:0,[$.HeavyFighter]:0,[$.Cruiser]:0,[$.Battleship]:0,[$.SmallCargo]:0,[$.LargeCargo]:0,[$.ColonyShip]:0,[$.Recycler]:0,[$.EspionageProbe]:0,[$.DarkMatterHarvester]:0},defense:{[Q.RocketLauncher]:0,[Q.LightLaser]:0,[Q.HeavyLaser]:0,[Q.GaussCannon]:0,[Q.IonCannon]:0,[Q.PlasmaTurret]:0,[Q.SmallShieldDome]:0,[Q.LargeShieldDome]:0},buildQueue:[],lastUpdate:Date.now(),maxSpace:ni.baseSize,isMoon:!0,parentPlanetId:n};return Object.values(X).forEach(e=>{a.buildings[e]=0}),a},Us=(e,t,n)=>{if(e.find(e=>e.position.galaxy===t.galaxy&&e.position.system===t.system&&e.position.position===t.position&&e.isMoon))return{canCreate:!1,reason:`errors.moonExists`};let r=ms(n);return r===0?{canCreate:!1,reason:`errors.insufficientDebris`,chance:r}:{canCreate:!0,chance:r}},Ws=e=>Math.random()*100<=e,Gs=(e,t)=>Math.sqrt((t.galaxy-e.galaxy)**2+(t.system-e.system)**2+(t.position-e.position)**2),Ks=(e,t)=>Math.max(10,Math.floor(e*1e4/t)),qs=(e,t,n,r,i,a,o)=>{let s=Date.now();return{id:`mission_${s}`,playerId:e,originPlanetId:t,targetPosition:n,missionType:r,fleet:i,cargo:a,departureTime:s,arrivalTime:s+o*1e3,returnTime:s+o*2*1e3,status:`outbound`}},Js=(e,t)=>{t&&(t.resources.metal+=e.cargo.metal,t.resources.crystal+=e.cargo.crystal,t.resources.deuterium+=e.cargo.deuterium,t.resources.darkMatter+=e.cargo.darkMatter),e.status=`returning`,e.cargo={metal:0,crystal:0,deuterium:0,darkMatter:0,energy:0}},Ys=(e,t,n,r,i)=>{if(!t||t.ownerId===n.id)return e.status=`returning`,null;let a=zs(e.fleet,t.fleet,t.defense,t.resources,n.officers,r?.officers||{});a.id=`battle_${Date.now()}`,a.attackerId=n.id,a.defenderId=t.ownerId||`unknown`,a.attackerPlanetId=e.originPlanetId,a.defenderPlanetId=t.id,e.cargo=a.plunder;let o={};Object.entries(e.fleet).forEach(([e,t])=>{let n=t-(a.attackerLosses[e]||0);n>0&&(o[e]=n)}),e.fleet=o,Object.entries(a.defenderLosses.fleet).forEach(([e,n])=>{t.fleet[e]=Math.max(0,t.fleet[e]-n)}),Object.entries(a.defenderLosses.defense).forEach(([e,n])=>{t.defense[e]=Math.max(0,t.defense[e]-n)});let s={...t.defense};Object.entries(a.defenderLosses.defense).forEach(([e,t])=>{s[e]=(s[e]||0)+t}),t.defense=Bs(s,t.defense),t.resources.metal-=a.plunder.metal,t.resources.crystal-=a.plunder.crystal,t.resources.deuterium-=a.plunder.deuterium,e.status=`returning`;let c=null,l=Us(i,t.position,a.debrisField);return l.canCreate&&l.chance&&Ws(l.chance)&&(c=Hs(a.debrisField,t.position,t.id,t.ownerId||`unknown`)),{battleResult:a,moon:c}},Xs=(e,t,n,r=`Colony`)=>{if(t)return e.status=`returning`,null;let i={id:`planet_${Date.now()}`,name:`${r} ${e.targetPosition.galaxy}:${e.targetPosition.system}:${e.targetPosition.position}`,ownerId:n,position:e.targetPosition,resources:{metal:500,crystal:500,deuterium:0,darkMatter:0,energy:0},buildings:{},fleet:{[$.LightFighter]:0,[$.HeavyFighter]:0,[$.Cruiser]:0,[$.Battleship]:0,[$.SmallCargo]:0,[$.LargeCargo]:0,[$.ColonyShip]:0,[$.Recycler]:0,[$.EspionageProbe]:0,[$.DarkMatterHarvester]:0},defense:{[Q.RocketLauncher]:0,[Q.LightLaser]:0,[Q.HeavyLaser]:0,[Q.GaussCannon]:0,[Q.IonCannon]:0,[Q.PlasmaTurret]:0,[Q.SmallShieldDome]:0,[Q.LargeShieldDome]:0},buildQueue:[],lastUpdate:Date.now(),maxSpace:200,isMoon:!1};return Object.values(X).forEach(e=>{i.buildings[e]=0}),e.fleet[$.ColonyShip]=(e.fleet[$.ColonyShip]||1)-1,e.status=`returning`,i},Zs=(e,t,n)=>{if(!t)return e.status=`returning`,null;let r={id:`spy_${Date.now()}`,timestamp:Date.now(),spyId:n,targetPlanetId:t.id,targetPlayerId:t.ownerId||`unknown`,resources:{...t.resources},fleet:{...t.fleet},defense:{...t.defense},buildings:{...t.buildings},technologies:{},detectionChance:.3};return e.status=`returning`,r},Qs=(e,t,n)=>{if(!t||t.ownerId!==n)return e.status=`returning`,!1;for(let[n,r]of Object.entries(e.fleet))t.fleet[n]+=r;return!0},$s=(e,t)=>{if(e.status!==`outbound`)return!1;let n=t-e.departureTime;return t{let n=$r[e];return{metal:n.cost.metal*t,crystal:n.cost.crystal*t,deuterium:n.cost.deuterium*t,darkMatter:n.cost.darkMatter*t,energy:0}},tc=(e,t)=>{let n=ei[e];return{metal:n.cost.metal*t,crystal:n.cost.crystal*t,deuterium:n.cost.deuterium*t,darkMatter:n.cost.darkMatter*t,energy:0}},nc=(e,t,n=0)=>{let r=$r[e].buildTime*t,i=1-n/100;return Math.floor(r*i)},rc=(e,t,n=0)=>{let r=ei[e].buildTime*t,i=1-n/100;return Math.floor(r*i)},ic=(e,t,n)=>{let r=$r[e];if(!r.requirements)return!0;for(let[e,i]of Object.entries(r.requirements))if(Object.values(X).includes(e)){if((t[e]||0){let r=ei[e];if(!r.requirements)return!0;for(let[e,i]of Object.entries(r.requirements))if(Object.values(X).includes(e)){if((t[e]||0)!((e===Q.SmallShieldDome||e===Q.LargeShieldDome)&&((t[e]||0)>0||n>1)),sc=(e,t,n)=>{let r=Date.now();return{id:`ship_${r}`,type:`ship`,itemType:e,quantity:t,startTime:r,endTime:r+n*1e3}},cc=(e,t,n)=>{let r=Date.now();return{id:`defense_${r}`,type:`defense`,itemType:e,quantity:t,startTime:r,endTime:r+n*1e3}},lc=(e,t)=>{for(let[n,r]of Object.entries(t))if((e[n]||0){let r=0;for(let[t,n]of Object.entries(e)){let e=$r[t];r+=e.fuelConsumption*n}let i=0;if(n){let e=n.metal+n.crystal+n.deuterium+n.darkMatter;i=Math.floor(e/1e3)}let a=1-t/100;return Math.floor(r*a)+i},dc=(e,t=0)=>{let n=1/0;for(let[t,r]of Object.entries(e))if(r>0){let e=$r[t];n=Math.min(n,e.speed)}let r=1+t/100;return Math.floor(n*r)},fc=(e,t)=>{for(let[n,r]of Object.entries(t))e[n]-=r},pc=(e,t)=>{for(let[n,r]of Object.entries(t))r>0&&(e[n]+=r)};var mc={class:`flex h-screen bg-background overflow-hidden`},hc={class:`p-4 border-b flex items-center justify-center`},gc={key:0,class:`text-xl font-bold flex items-center gap-2`},_c={key:1,class:`text-2xl`},vc={key:0,class:`p-4 border-b`},yc={class:`text-sm space-y-2`},bc={class:`font-semibold mb-1`},xc={class:`text-muted-foreground text-xs`},Sc={class:`bg-muted/50 rounded-lg p-2`},Cc={class:`flex items-center justify-between`},wc={class:`text-xs text-muted-foreground`},Tc={class:`text-sm font-bold text-primary`},Ec={key:0,class:`flex gap-1`},Dc={class:`flex-1 p-2 space-y-1 overflow-y-auto`},Oc={key:0},kc={class:`p-2 border-t`},Ac={key:0,class:`ml-2`},jc={class:`space-y-1`},Mc={class:`p-2 border-t`},Nc={key:2,class:`ml-2`},Pc={class:`p-2 border-t`},Fc={key:2,class:`ml-2`},Ic={class:`flex-1 flex flex-col overflow-hidden`},Lc={key:0,class:`bg-card border-b px-4 sm:px-6 py-4.5 shadow-md`},Rc={class:`flex items-center justify-between gap-3 sm:gap-6`},zc={class:`lg:flex-1`},Bc={class:`flex items-center gap-3 sm:gap-6 flex-1 lg:flex-none overflow-x-auto lg:justify-center`},Vc={class:`min-w-0`},Hc={class:`text-[10px] sm:text-xs text-muted-foreground truncate`},Uc={class:`text-[10px] sm:text-xs text-muted-foreground truncate`},Wc={class:`flex items-center gap-2 sm:gap-4 flex-shrink-0 lg:flex-1 lg:justify-end`},Gc={key:0,class:`flex items-center gap-1.5 sm:gap-2 text-xs sm:text-sm`},Kc={class:`text-muted-foreground hidden sm:inline`},qc={key:1,class:`flex items-center gap-1.5 sm:gap-2 text-xs sm:text-sm`},Jc={class:`text-muted-foreground hidden sm:inline`},Yc={key:1,class:`bg-card border-b px-4 sm:px-6 py-4.5`},Xc={class:`space-y-3`},Zc={class:`flex items-center justify-between text-xs sm:text-sm gap-2`},Qc={class:`flex items-center gap-1.5 sm:gap-2 min-w-0 flex-1`},$c={class:`font-medium truncate`},el={class:`text-muted-foreground hidden sm:inline flex-shrink-0 text-[10px] sm:text-xs`},tl={class:`flex items-center gap-2 sm:gap-3 flex-shrink-0`},nl={class:`text-muted-foreground text-[10px] sm:text-xs whitespace-nowrap`},rl={class:`flex items-center justify-between text-xs sm:text-sm gap-2`},il={class:`flex items-center gap-1.5 sm:gap-2 min-w-0 flex-1`},al={class:`font-medium truncate`},ol={class:`text-muted-foreground hidden sm:inline flex-shrink-0 text-[10px] sm:text-xs`},sl={class:`flex items-center gap-2 sm:gap-3 flex-shrink-0`},cl={class:`text-muted-foreground text-[10px] sm:text-xs whitespace-nowrap`},ll={class:`flex-1 overflow-y-auto`},ul={class:`animate-fade-in`},dl=((e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n})(T({__name:`App`,setup(e){let t=at(),{isDark:n}=st(),{t:r}=vt(),i=ee(null),a=[`zh-CN`,`zh-TW`,`en`,`de`,`ru`,`ko`,`ja`],o=()=>{if(!as(t.player.planets)){let e=Date.now();os(t.player.planets,e),t.player.planets.forEach(e=>{let n=ls(e.position.galaxy,e.position.system,e.position.position);t.universePlanets[n]=e}),c();return}t.player=is(t.player.id,r(`common.playerName`));let e=fs(t.player.id,r(`planet.homePlanet`));t.player.planets=[e],t.currentPlanetId=e.id;let n=ls(e.position.galaxy,e.position.system,e.position.position);t.universePlanets[n]=e},c=()=>{for(let e=0;e<200;e++){let n=cs(),i=ls(n.galaxy,n.system,n.position);if(t.universePlanets[i])continue;let a=ps(e,n,r(`planet.planetPrefix`));t.universePlanets[i]=a}},d=()=>{if(t.isPaused)return;let e=Date.now();t.gameTime=e,ds(t.player.officers,e);let n=us(t.player,e);t.player.researchQueue=n.updatedResearchQueue,t.player.fleetMissions.forEach(t=>{t.status===`outbound`&&e>=t.arrivalTime?m(t):t.status===`returning`&&t.returnTime&&e>=t.returnTime&&h(t)})},m=e=>{let n=t.player.planets.find(t=>t.position.galaxy===e.targetPosition.galaxy&&t.position.system===e.targetPosition.system&&t.position.position===e.targetPosition.position);if(e.missionType===Yr.Transport)Js(e,n);else if(e.missionType===Yr.Attack){let r=Ys(e,n,t.player,null,t.player.planets);r&&(t.player.battleReports.push(r.battleResult),r.moon&&t.player.planets.push(r.moon))}else if(e.missionType===Yr.Colonize){let i=Xs(e,n,t.player.id,r(`planet.colonyPrefix`));i&&t.player.planets.push(i)}else if(e.missionType===Yr.Spy){let r=Zs(e,n,t.player.id);r&&t.player.spyReports.push(r)}else if(e.missionType===Yr.Deploy&&Qs(e,n,t.player.id)){let n=t.player.fleetMissions.indexOf(e);n>-1&&t.player.fleetMissions.splice(n,1);return}},h=e=>{let n=t.player.planets.find(t=>t.id===e.originPlanetId);if(!n)return;pc(n.fleet,e.fleet),rs(n.resources,e.cargo);let r=t.player.fleetMissions.indexOf(e);r>-1&&t.player.fleetMissions.splice(r,1)};D(()=>{t.player.planets.length===0&&(t.locale=_t()),o();let e=setInterval(()=>{d()},1e3);ae(()=>{clearInterval(e)})});let g=[{name:S(()=>r(`nav.overview`)),path:`/`,icon:yr},{name:S(()=>r(`nav.buildings`)),path:`/buildings`,icon:pr},{name:S(()=>r(`nav.research`)),path:`/research`,icon:gr},{name:S(()=>r(`nav.shipyard`)),path:`/shipyard`,icon:kr},{name:S(()=>r(`nav.defense`)),path:`/defense`,icon:Or},{name:S(()=>r(`nav.fleet`)),path:`/fleet`,icon:Tr},{name:S(()=>r(`nav.officers`)),path:`/officers`,icon:Nr},{name:S(()=>r(`nav.simulator`)),path:`/battle-simulator`,icon:jr},{name:S(()=>r(`nav.galaxy`)),path:`/galaxy`,icon:vr},{name:S(()=>r(`nav.messages`)),path:`/messages`,icon:xr},{name:S(()=>r(`nav.settings`)),path:`/settings`,icon:Er}],v=S(()=>t.currentPlanet),y=S(()=>v.value?gs(v.value,t.player.officers):null),b=S(()=>v.value?_s(v.value,t.player.officers):null),x=S(()=>{if(!v.value)return 0;let e=Jo(t.player.officers,Date.now());return Xo(v.value,{energyProductionBonus:e.energyProductionBonus})}),te=S(()=>v.value?Zo(v.value):0),T=[{key:`metal`},{key:`crystal`},{key:`deuterium`},{key:`energy`},{key:`darkMatter`}],E=S(()=>!v.value||v.value.isMoon?null:t.getMoonForPlanet(v.value.id)),O=S(()=>!!E.value),A=()=>{E.value&&(t.currentPlanetId=E.value.id)},ne=()=>{v.value?.parentPlanetId&&(t.currentPlanetId=v.value.parentPlanetId)},j=()=>{t.sidebarCollapsed=!t.sidebarCollapsed},re=e=>{if(e.type===`building`||e.type===`demolish`){let t=Zr[e.itemType]?.name||e.itemType;return e.type===`demolish`?`${r(`buildingsView.demolish`)} - ${t}`:t}else if(e.type===`technology`)return Qr[e.itemType]?.name||e.itemType;else if(e.type===`ship`)return $r[e.itemType]?.name||e.itemType;else if(e.type===`defense`)return ei[e.itemType]?.name||e.itemType;return e.itemType},ie=e=>{let t=Date.now();return Math.max(0,Math.floor((e.endTime-t)/1e3))},P=e=>{let t=Date.now(),n=e.endTime-e.startTime,r=t-e.startTime;return Math.min(100,Math.max(0,r/n*100))},F=e=>{i.value?.show({title:r(`queue.cancelBuild`),message:r(`queue.confirmCancel`),onConfirm:()=>{if(!t.currentPlanet)return!1;let{item:n,index:r}=ws(t.currentPlanet.buildQueue,e);if(!n)return!1;if(n.type===`building`){let e=Cs(t.currentPlanet,n);rs(t.currentPlanet.resources,e)}return t.currentPlanet.buildQueue.splice(r,1),!0}})},oe=e=>{i.value?.show({title:r(`queue.cancelResearch`),message:r(`queue.confirmCancel`),onConfirm:()=>{if(!t.currentPlanet)return!1;let{item:n,index:r}=ws(t.player.researchQueue,e);if(!n)return!1;if(n.type===`technology`){let e=ks(n);rs(t.currentPlanet.resources,e)}return t.player.researchQueue.splice(r,1),!0}})};return(e,o)=>(R(),f(`div`,mc,[s(t).sidebarCollapsed?L(``,!0):(R(),f(`div`,{key:0,class:`fixed inset-0 bg-black/50 z-30 lg:hidden`,onClick:j})),l(`aside`,{class:_([`border-r bg-card flex flex-col transition-all duration-300 ease-in-out shadow-lg z-40`,`fixed lg:relative h-full`,s(t).sidebarCollapsed?`-translate-x-full lg:translate-x-0 lg:w-16`:`translate-x-0 w-64`])},[l(`div`,hc,[s(t).sidebarCollapsed?(R(),f(`span`,_c,[...o[2]||=[l(`img`,{src:``+new URL(`logo-Cz0cNqhe.svg`,import.meta.url).href,class:`w-10`},null,-1)]])):(R(),f(`h1`,gc,[o[1]||=l(`span`,{class:`text-2xl`},[l(`img`,{src:``+new URL(`logo-Cz0cNqhe.svg`,import.meta.url).href,class:`w-10`})],-1),w(` `+M(s(be).title),1)]))]),v.value&&!s(t).sidebarCollapsed?(R(),f(`div`,vc,[l(`div`,yc,[l(`div`,null,[l(`p`,bc,[w(M(v.value.name)+` `,1),v.value.isMoon?(R(),p(s(Kn),{key:0,variant:`secondary`,class:`ml-1 text-xs`},{default:I(()=>[w(M(s(r)(`planet.moon`)),1)]),_:1})):L(``,!0)]),l(`p`,xc,` [`+M(v.value.position.galaxy)+`:`+M(v.value.position.system)+`:`+M(v.value.position.position)+`] `,1)]),l(`div`,Sc,[l(`div`,Cc,[l(`span`,wc,M(s(r)(`player.points`)),1),l(`span`,Tc,M(s(Ro)(s(t).player.points)),1)])]),O.value||v.value.isMoon?(R(),f(`div`,Ec,[v.value.isMoon?(R(),p(s(Wn),{key:0,onClick:ne,variant:`outline`,size:`sm`,class:`w-full text-xs h-7`},{default:I(()=>[w(M(s(r)(`planet.backToPlanet`)),1)]),_:1})):E.value?(R(),p(s(Wn),{key:1,onClick:A,variant:`outline`,size:`sm`,class:`w-full text-xs h-7`},{default:I(()=>[w(M(s(r)(`planet.switchToMoon`)),1)]),_:1})):L(``,!0)])):L(``,!0)])])):L(``,!0),l(`nav`,Dc,[(R(),f(u,null,N(g,e=>C(s(_e),{key:e.path,to:e.path},{default:I(({isActive:n})=>[C(s(Wn),{variant:n?`secondary`:`ghost`,class:_([`w-full transition-all`,s(t).sidebarCollapsed?`justify-center px-0`:`justify-start`]),title:s(t).sidebarCollapsed?e.name.value:void 0},{default:I(()=>[(R(),p(k(e.icon),{class:_([`h-4 w-4`,!s(t).sidebarCollapsed&&`mr-3`])},null,8,[`class`])),s(t).sidebarCollapsed?L(``,!0):(R(),f(`span`,Oc,M(e.name.value),1))]),_:2},1032,[`variant`,`class`,`title`])]),_:2},1032,[`to`])),64))]),l(`div`,kc,[C(s(Yn),null,{default:I(()=>[C(s(Zn),{"as-child":``},{default:I(()=>[C(s(Wn),{variant:`ghost`,class:`w-full`,size:`sm`},{default:I(()=>[C(s(br),{class:`h-4 w-4`}),s(t).sidebarCollapsed?L(``,!0):(R(),f(`span`,Ac,M(s(gt)[s(t).locale]),1))]),_:1})]),_:1}),C(s(Xn),{class:`w-48 p-2`,align:s(t).sidebarCollapsed?`start`:`center`},{default:I(()=>[l(`div`,jc,[(R(),f(u,null,N(a,e=>C(s(Wn),{key:e,onClick:n=>s(t).locale=e,variant:s(t).locale===e?`secondary`:`ghost`,class:`w-full justify-start`,size:`sm`},{default:I(()=>[w(M(s(gt)[e]),1)]),_:2},1032,[`onClick`,`variant`])),64))])]),_:1},8,[`align`])]),_:1})]),l(`div`,Mc,[C(s(Wn),{onClick:o[0]||=e=>n.value=!s(n),variant:`ghost`,class:`w-full`,size:`sm`},{default:I(()=>[s(n)?(R(),p(s(Ar),{key:0,class:`h-4 w-4`})):(R(),p(s(Cr),{key:1,class:`h-4 w-4`})),s(t).sidebarCollapsed?L(``,!0):(R(),f(`span`,Nc,M(s(n)?s(r)(`sidebar.lightMode`):s(r)(`sidebar.darkMode`)),1))]),_:1})]),l(`div`,Pc,[C(s(Wn),{onClick:j,variant:`ghost`,class:`w-full`,size:`sm`},{default:I(()=>[s(t).sidebarCollapsed?(R(),p(s(hr),{key:1,class:`h-4 w-4`})):(R(),p(s(mr),{key:0,class:`h-4 w-4`})),s(t).sidebarCollapsed?L(``,!0):(R(),f(`span`,Fc,M(s(r)(`sidebar.collapse`)),1))]),_:1})])],2),l(`div`,Ic,[v.value?(R(),f(`header`,Lc,[l(`div`,Rc,[l(`div`,zc,[C(s(Wn),{onClick:j,variant:`ghost`,size:`icon`,class:`lg:hidden h-8 w-8`},{default:I(()=>[(R(),p(k(s(t).sidebarCollapsed?s(Sr):s(Pr)),{class:`h-5 w-5`}))]),_:1})]),l(`div`,Bc,[(R(),f(u,null,N(T,e=>l(`div`,{key:e.key,class:`flex items-center gap-1.5 sm:gap-2 flex-shrink-0`},[C(Qn,{type:e.key,size:`md`},null,8,[`type`]),l(`div`,Vc,[e.key===`energy`?(R(),f(u,{key:0},[l(`p`,{class:_([`text-xs sm:text-sm font-medium truncate`,v.value.resources[e.key]>=0?`text-green-600 dark:text-green-400`:`text-red-600 dark:text-red-400`])},M(s(Ro)(v.value.resources[e.key])),3),l(`p`,Hc,M(s(Ro)(x.value||0))+` / `+M(s(Ro)(te.value||0)),1)],64)):(R(),f(u,{key:1},[l(`p`,{class:_([`text-xs sm:text-sm font-medium truncate`,s(zo)(v.value.resources[e.key],b.value?.[e.key]||1/0)])},M(s(Ro)(v.value.resources[e.key]))+` / `+M(s(Ro)(b.value?.[e.key]||0)),3),l(`p`,Uc,` +`+M(s(Ro)(y.value?.[e.key]||0))+`/`+M(s(r)(`resources.perHour`)),1)],64))])])),64))]),l(`div`,Wc,[v.value.buildQueue.length>0?(R(),f(`div`,Gc,[o[3]||=l(`div`,{class:`h-2 w-2 rounded-full bg-green-500 animate-pulse`},null,-1),l(`span`,Kc,M(s(r)(`queue.building`)),1)])):L(``,!0),s(t).player.researchQueue.length>0?(R(),f(`div`,qc,[o[4]||=l(`div`,{class:`h-2 w-2 rounded-full bg-blue-500 animate-pulse`},null,-1),l(`span`,Jc,M(s(r)(`queue.researching`)),1)])):L(``,!0)])])])):L(``,!0),v.value&&(v.value.buildQueue.length>0||s(t).player.researchQueue.length>0)?(R(),f(`div`,Yc,[l(`div`,Xc,[(R(!0),f(u,null,N(v.value.buildQueue,e=>(R(),f(`div`,{key:e.id,class:`space-y-1.5`},[l(`div`,Zc,[l(`div`,Qc,[o[5]||=l(`div`,{class:`h-2 w-2 rounded-full bg-green-500 animate-pulse flex-shrink-0`},null,-1),l(`span`,$c,M(re(e)),1),l(`span`,el,` → `+M(s(r)(`queue.level`))+` `+M(e.targetLevel),1)]),l(`div`,tl,[l(`span`,nl,M(s(Bo)(ie(e))),1),C(s(Wn),{onClick:t=>F(e.id),variant:`ghost`,size:`sm`,class:`h-5 sm:h-6 px-1.5 sm:px-2 text-[10px] sm:text-xs`},{default:I(()=>[w(M(s(r)(`queue.cancel`)),1)]),_:1},8,[`onClick`])])]),C(s(Jn),{"model-value":P(e),class:`h-1.5`},null,8,[`model-value`])]))),128)),(R(!0),f(u,null,N(s(t).player.researchQueue,e=>(R(),f(`div`,{key:e.id,class:`space-y-1.5`},[l(`div`,rl,[l(`div`,il,[o[6]||=l(`div`,{class:`h-2 w-2 rounded-full bg-blue-500 animate-pulse flex-shrink-0`},null,-1),l(`span`,al,M(re(e)),1),l(`span`,ol,` → `+M(s(r)(`queue.level`))+` `+M(e.targetLevel),1)]),l(`div`,sl,[l(`span`,cl,M(s(Bo)(ie(e))),1),C(s(Wn),{onClick:t=>oe(e.id),variant:`ghost`,size:`sm`,class:`h-5 sm:h-6 px-1.5 sm:px-2 text-[10px] sm:text-xs`},{default:I(()=>[w(M(s(r)(`queue.cancel`)),1)]),_:1},8,[`onClick`])])]),C(s(Jn),{"model-value":P(e),class:`h-1.5`},null,8,[`model-value`])]))),128))])])):L(``,!0),l(`main`,ll,[l(`div`,ul,[C(s(ve))])])]),C(ir,{ref_key:`confirmDialog`,ref:i},null,512),C(Lo)]))}}),[[`__scopeId`,`data-v-2b70a0a0`]]),fl=`modulepreload`,pl=function(e,t){return new URL(e,t).href},ml={};const hl=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}r=o(t.map(t=>{if(t=pl(t,n),t in ml)return;ml[t]=!0;let r=t.endsWith(`.css`),i=r?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${i}`))return;let o=document.createElement(`link`);if(o.rel=r?`stylesheet`:fl,r||(o.as=`script`),o.crossOrigin=``,o.href=t,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),r)return new Promise((e,n)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})};var gl=he({history:pe(`./`),routes:[{path:`/`,name:`overview`,component:()=>hl(()=>import(`./OverviewView-CmVFZWGR.js`),__vite__mapDeps([0,1,2,3,4,5]),import.meta.url)},{path:`/buildings`,name:`buildings`,component:()=>hl(()=>import(`./BuildingsView-DhLhA5iU.js`),__vite__mapDeps([6,1,2,3,7,4,5]),import.meta.url)},{path:`/research`,name:`research`,component:()=>hl(()=>import(`./ResearchView-BnXltulQ.js`),__vite__mapDeps([8,1,2,9,3,4,5,7,10]),import.meta.url)},{path:`/shipyard`,name:`shipyard`,component:()=>hl(()=>import(`./ShipyardView-DXEuisRD.js`),__vite__mapDeps([11,1,2,9,3,4,5,7,10,12]),import.meta.url)},{path:`/defense`,name:`defense`,component:()=>hl(()=>import(`./DefenseView-Dgqev78h.js`),__vite__mapDeps([13,1,2,9,3,4,5,7,10,12]),import.meta.url)},{path:`/fleet`,name:`fleet`,component:()=>hl(()=>import(`./FleetView-BtTh_NDj.js`),__vite__mapDeps([14,1,2,15,9,3,4,5,7,12]),import.meta.url)},{path:`/officers`,name:`officers`,component:()=>hl(()=>import(`./OfficersView-B0Yv-kWu.js`),__vite__mapDeps([16,1,2,3,7,4,5]),import.meta.url)},{path:`/battle-simulator`,name:`battle-simulator`,component:()=>hl(()=>import(`./BattleSimulatorView-DADwA9bi.js`),__vite__mapDeps([17,1,2,3,4,5]),import.meta.url)},{path:`/messages`,name:`messages`,component:()=>hl(()=>import(`./MessagesView-0qhXN5qt.js`),__vite__mapDeps([18,1,2,3,4,5]),import.meta.url)},{path:`/galaxy`,name:`galaxy`,component:()=>hl(()=>import(`./GalaxyView-BQhXx0XP.js`),__vite__mapDeps([19,1,2,15,3,7,4]),import.meta.url)},{path:`/settings`,name:`settings`,component:()=>hl(()=>import(`./SettingsView-VjOhq7qI.js`),__vite__mapDeps([20,1,2,3,4]),import.meta.url)}]}),_l=o(dl),vl=ge();vl.use(me),_l.use(vl),_l.use(gl),_l.mount(`#app`);export{ei as $,ss as A,pr as At,Vo as B,vt as Bt,xs as C,Fr as Ct,gs as D,Tr as Dt,_s as E,Or as Et,Jo as F,Jn as Ft,ua as G,Bo as H,be as Ht,Go as I,Kn as It,gi as J,la as K,Ko as L,Gn as Lt,Xo as M,ar as Mt,ts as N,ir as Nt,ms as O,wr as Ot,ns as P,Qn as Pt,Zr as Q,Uo as R,Wn as Rt,Ts as S,Lr as St,bs as T,Mr as Tt,zo as U,Ro as V,at as Vt,Ho as W,_i as X,Si as Y,ri as Z,$s as _,Wr as _t,nc as a,Yr as at,Es as b,Br as bt,lc as c,Z as ct,cc as d,q as dt,ti as et,sc as f,K as ft,qs as g,Gr as gt,Ks as h,Kr as ht,dc as i,Q as it,Zo as j,G as jt,ls as k,yr as kt,oc as l,Y as lt,Gs as m,qr as mt,tc as n,Qr as nt,ec as o,Xr as ot,fc as p,Jr as pt,hi as q,uc as r,X as rt,ac as s,$ as st,rc as t,$r as tt,ic as u,J as ut,Os as v,Ur as vt,hs as w,Nr as wt,Ss as x,zr as xt,Ds as y,Vr as yt,qo as z,W as zt};